湖里妇幼上传更新

hlfyyy
qiuyt 6 months ago
parent fa46767d9d
commit 6b942bbe4e

@ -36,7 +36,6 @@ import com.glxp.mipsdl.entity.auth.AuthWarehouseEntity;
import com.glxp.mipsdl.entity.basic.*;
import com.glxp.mipsdl.entity.ctqyy.*;
import com.glxp.mipsdl.entity.inout.*;
import com.glxp.mipsdl.entity.system.UdiEntity;
import com.glxp.mipsdl.entity.thrsys.*;
import com.glxp.mipsdl.http.HttpClient;
import com.glxp.mipsdl.req.base.*;
@ -49,7 +48,6 @@ import com.glxp.mipsdl.req.zzzyy.ZzzyyRequest;
import com.glxp.mipsdl.res.BaseResponse;
import com.glxp.mipsdl.res.PageSimpleResponse;
import com.glxp.mipsdl.res.ctqyy.CtBaseResponse;
import com.glxp.mipsdl.res.ctqyy.ThrOrderResponse;
import com.glxp.mipsdl.res.udiwms.*;
import com.glxp.mipsdl.service.auth.AuthWarehouseService;
import com.glxp.mipsdl.service.basic.RelCodeDetailService;
@ -70,8 +68,6 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
@ -2212,7 +2208,7 @@ public class CtqyyClient extends CommonHttpClient {
}
}
BaseKcbg3502Request baseKcbg3502Request = new BaseKcbg3502Request();
baseKcbg3502Request.setSelinfoDetail(kcbg3502Requests);
baseKcbg3502Request.setInvinfoDetail(kcbg3502Requests);
String jsonStr = JSONUtil.toJsonStr(baseKcbg3502Request);
JSONObject dataJson = JSONObject.parseObject(jsonStr);
ybClient.ybPost("3502A", dataJson);

@ -3,13 +3,10 @@ package com.glxp.mipsdl.client.hlfyyy;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.exceptions.ExceptionUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ReflectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
@ -20,7 +17,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.databind.JsonNode;
import com.glxp.mipsdl.client.CommonHttpClient;
import com.glxp.mipsdl.client.hlfyyy.entity.InvCodeResultEntity;
@ -45,7 +41,6 @@ import com.glxp.mipsdl.entity.hlfyyy.*;
import com.glxp.mipsdl.entity.inout.*;
import com.glxp.mipsdl.entity.system.ThrYbSetupMapper;
import com.glxp.mipsdl.entity.thrsys.ThrCorpEntity;
import com.glxp.mipsdl.entity.thrsys.ThrInvWarehouseEntity;
import com.glxp.mipsdl.entity.thrsys.ThrProductsEntity;
import com.glxp.mipsdl.entity.thrsys.ThrSystemBusApiEntity;
import com.glxp.mipsdl.http.HttpClient;
@ -76,11 +71,6 @@ import com.glxp.mipsdl.thirddao.ctqyy.*;
import com.glxp.mipsdl.thirddao.hlfyyy.*;
import com.glxp.mipsdl.util.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;
import org.apache.ibatis.mapping.ParameterMode;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
@ -89,8 +79,6 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.xml.namespace.QName;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Field;
import java.math.BigDecimal;
import java.net.URLEncoder;
@ -103,7 +91,7 @@ import java.util.stream.Collectors;
@Service(value = "100015HttpClient")
public class HlfyyyClient extends CommonHttpClient {
private final String[] buyType_3501 = {"24"};
private final String[] buyType_3502 = {"7", "6", "5", "4", "1", "16", "12", "28", "35"};
private final String[] buyType_3502 = {"SC73650724355678","7", "6", "5", "4", "1", "16", "12", "28", "35"};
private final String[] buyType_3505 = {"QXCF001", "YPCF002"};
private final String[] buyType_3506 = {"YPTH001"};
@Value("${DSF_XML_SQL_TYPE:MySql}")
@ -1697,7 +1685,7 @@ public class HlfyyyClient extends CommonHttpClient {
if (matchBusType(busType, buyType_3501)) {
optionUploadCollectOrder3501(ioCollectOrder);
} else if (matchBusType(busType, buyType_3502)) {
optionUploadCollectOrder3502(ioCollectOrder);
return optionUploadCollectOrder3502(ioCollectOrder);
} else if (matchBusType(busType, buyType_3505)) {
optionUploadCollectOrder3505(ioCollectOrder);
} else if (matchBusType(busType, buyType_3506)) {
@ -2075,39 +2063,65 @@ public class HlfyyyClient extends CommonHttpClient {
}
public void optionUploadCollectOrder3502(IoCollectOrder ioCollectOrder) {
List<IoCollectOrderBiz> bizList = ioCollectOrder.getBizList();
public BaseResponse optionUploadCollectOrder3502(IoCollectOrder ioCollectOrder) {
List<CollectOrderBizResponse> bizList = ioCollectOrder.getCollectOrderBizResponseList();
if (CollUtil.isNotEmpty(bizList)) {
List<CollectOrderBizResponse> collectOrderBizResponseList = ioCollectOrder.getCollectOrderBizResponseList();
List<Kcbg3502Request> kcbg3502Requests = new ArrayList<>();
for (CollectOrderBizResponse collectOrderBizResponse : collectOrderBizResponseList) {
BasicUdirelEntity basicUdirelEntity = basicUdirelDao.selectById(collectOrderBizResponse.getRelId());
String itemCode = basicUdirelEntity.getMainId();
for (IoCollectOrderBiz item : bizList) {
if (item.getNameCode().equals(itemCode)) {
for (CollectOrderBizResponse item : bizList) {
if (item.getYbbm().equals(itemCode)) {
String[] codes = collectOrderBizResponse.getFinishUdiCode().split(",");
String nameCode = collectOrderBizResponse.getNameCode();
BasicProductsEntity basicProductsEntity = basicProductsDao.selectOne(
new QueryWrapper<BasicProductsEntity>().eq("nameCode",nameCode).last("limit 1")
);
if(Objects.isNull(basicProductsEntity)){
return ResultVOUtils.error(500,"产品为空请检查");
}
Integer packLevel = Integer.valueOf(basicProductsEntity.getPackLevel());
List<DrugInfoRequest> drugTraceList = new ArrayList<>();
List<String> codeList = new ArrayList<>();
// 遍历fruits数组
for (String code : codes) {
if (StrUtil.isNotBlank(code)) {
List<RelCodeDetail> relCodeDetailList = relCodeDetailService.getAllNext(code);
if (relCodeDetailList != null && relCodeDetailList.size() > 0) {
DrugInfoRequest request = new DrugInfoRequest();
request.setDrug_trac_codg(code);
drugTraceList.add(request);
for (RelCodeDetail relCodeDetail : relCodeDetailList) {
codeList.add(relCodeDetail.getCurCode());
}
}
// 级别为2的产品码不可能只有一个
if(packLevel >1 && codeList.size() <2){
return ResultVOUtils.error(500,"大包装码关联关系拉取不到请检查");
}
}
}
Set<String> set = new HashSet(codeList);
for (String code : set) {
DrugInfoRequest request = new DrugInfoRequest();
request.setDrug_trac_codg(code);
drugTraceList.add(request);
}
if(CollUtil.isEmpty(drugTraceList)){
return ResultVOUtils.error(500,"单据要传的码为空请检查");
}
// TODO: 2024/9/10 字段未完全正确对应
Kcbg3502Request kcbg3502Request = Kcbg3502Request.builder()
.med_list_codg(item.getYbbm())
.inv_chg_type(item.getRemark7())
.inv_chg_type("108")
.fixmedins_hilist_id(item.getThrCode())
.fixmedins_hilist_name(item.getCpmctymc())
.fixmedins_bchno(item.getRemark5())
.pric(item.getRemark1())
.fixmedins_bchno("0000")
.pric("0")
.cnt(item.getActCount())
.rx_flag(item.getRemark6())
.rx_flag("1")
.inv_chg_time(item.getUpdateTime())
.inv_chg_opter_name(ioCollectOrder.getCreateUser())
.memo(item.getRemark())
@ -2118,13 +2132,16 @@ public class HlfyyyClient extends CommonHttpClient {
}
}
BaseKcbg3502Request baseKcbg3502Request = new BaseKcbg3502Request();
baseKcbg3502Request.setSelinfoDetail(kcbg3502Requests);
baseKcbg3502Request.setInvinfoDetail(kcbg3502Requests);
String jsonStr = JSONUtil.toJsonStr(baseKcbg3502Request);
JSONObject dataJson = JSONObject.parseObject(jsonStr);
ybClient.ybPostScyh("3502A", dataJson);
return ybClient.ybPost("3502A", dataJson);
}else {
return ResultVOUtils.error(500,"上传医保数据为空请核实");
}
}
public void optionUploadCollectOrder3506(IoCollectOrder ioCollectOrder) {
// List<IoCollectOrderBiz> bizList = ioCollectOrder.getBizList();
List<CollectOrderBizResponse> collectOrderBizResponseList = ioCollectOrder.getCollectOrderBizResponseList();

@ -6,13 +6,10 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ReflectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONConfig;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.alibaba.fastjson.serializer.SerializeConfig;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -1978,7 +1975,7 @@ public class ScpwxyyClient extends CommonHttpClient {
}
}
BaseKcbg3502Request baseKcbg3502Request = new BaseKcbg3502Request();
baseKcbg3502Request.setSelinfoDetail(kcbg3502Requests);
baseKcbg3502Request.setInvinfoDetail(kcbg3502Requests);
String jsonStr = JSONUtil.toJsonStr(baseKcbg3502Request);
JSONObject dataJson = JSONObject.parseObject(jsonStr);
ybClient.ybPostScyh("3502A", dataJson);

@ -1960,7 +1960,7 @@ public class YxfyyyClient extends CommonHttpClient {
}
}
BaseKcbg3502Request baseKcbg3502Request = new BaseKcbg3502Request();
baseKcbg3502Request.setSelinfoDetail(kcbg3502Requests);
baseKcbg3502Request.setInvinfoDetail(kcbg3502Requests);
String jsonStr = JSONUtil.toJsonStr(baseKcbg3502Request);
JSONObject dataJson = JSONObject.parseObject(jsonStr);
ybClient.ybPost("3502A", dataJson);

@ -6,5 +6,5 @@ import java.util.List;
@Data
public class BaseKcbg3502Request {
private List<Kcbg3502Request> selinfoDetail;
private List<Kcbg3502Request> invinfoDetail;
}

@ -21,17 +21,22 @@ public class RelCodeDetailService extends ServiceImpl<RelCodeDetailMapper, RelCo
* @return
*/
public List<RelCodeDetail> getAllNext(String code) {
RelCodeDetail relCodeDetail = this.baseMapper.selectOne(
new LambdaQueryWrapper<RelCodeDetail>().eq(RelCodeDetail::getCurCode, code)
);
if(Objects.isNull(relCodeDetail)){
relCodeDetail = new RelCodeDetail();
relCodeDetail.setCurCode(code);
}
// RelCodeDetail relCodeDetail = this.baseMapper.selectOne(
// new LambdaQueryWrapper<RelCodeDetail>().eq(RelCodeDetail::getCurCode, code)
// );
// if(Objects.isNull(relCodeDetail)){
// relCodeDetail = new RelCodeDetail();
// relCodeDetail.setCurCode(code);
// }
List<RelCodeDetail> list = new ArrayList<>();
list.add(relCodeDetail);
// list.add(relCodeDetail);
fetchAllChildren(code, list);
if (CollUtil.isEmpty(list)) {
RelCodeDetail relCodeDetail = new RelCodeDetail();
relCodeDetail.setCurCode(code);
list.add(relCodeDetail);
}
return list;
}

@ -47,9 +47,9 @@ public class YbClient {
* @param data
* @return
*/
public ChsMedicalResponse ybPost(String apiNo, JSONObject data) {
public BaseResponse ybPost(String apiNo, JSONObject data) {
log.info("[" + apiNo + "]医保接口请求参数:" + data);
// log.info("[" + apiNo + "]医保接口请求参数:" + data);
ThrYbSetup thrYbSetup = thrYbSetupService.getSetUp();
if (thrYbSetup == null)
throw new RuntimeException("未配置医保接口");
@ -75,13 +75,27 @@ public class YbClient {
req.setInput(data);
req.setSignNo(thrYbSetup.getSignNo());
log.info("【" + apiNo + "】医保接口请求参数:" + JSONObject.toJSONString(req));
ChsMedicalResponse resp = client.execute(req);
return resp;
} catch (ZephyrApiException e) {
e.printStackTrace();
log.error("【" + apiNo + "】医保接口请求参数:" + JSONObject.toJSONString(req));
// ChsMedicalResponse resp = client.execute(req);
// log.error("【" + apiNo + "】医保接口返回结果:" + JSONObject.toJSONString(resp));
ChsMedicalResponse resp = new ChsMedicalResponse();
log.error("aaaa");
if(resp.getIsSuccess() == true
&& org.apache.commons.lang3.StringUtils.isNotEmpty(resp.getAppid())
&& "0".equals(resp.getInfCode())
&& org.apache.commons.lang3.StringUtils.isEmpty(resp.getErrMsg())
){
return ResultVOUtils.success("【" + apiNo + "】上传医保成功");
}
return ResultVOUtils.error(500,"【" + apiNo + "】上传医保失败==="+resp.getErrMsg());
} catch (Exception e) {
return ResultVOUtils.error(500,"【" + apiNo + "】上传医保失败"+e.getMessage());
}
return null;
}
/**

Loading…
Cancel
Save