diff --git a/src/main/java/com/glxp/mipsdl/client/ctqyy/CtqyyClient.java b/src/main/java/com/glxp/mipsdl/client/ctqyy/CtqyyClient.java index 7c06a35..40d1206 100644 --- a/src/main/java/com/glxp/mipsdl/client/ctqyy/CtqyyClient.java +++ b/src/main/java/com/glxp/mipsdl/client/ctqyy/CtqyyClient.java @@ -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); diff --git a/src/main/java/com/glxp/mipsdl/client/hlfyyy/HlfyyyClient.java b/src/main/java/com/glxp/mipsdl/client/hlfyyy/HlfyyyClient.java index eb757a2..be69f53 100644 --- a/src/main/java/com/glxp/mipsdl/client/hlfyyy/HlfyyyClient.java +++ b/src/main/java/com/glxp/mipsdl/client/hlfyyy/HlfyyyClient.java @@ -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 bizList = ioCollectOrder.getBizList(); + public BaseResponse optionUploadCollectOrder3502(IoCollectOrder ioCollectOrder) { + List bizList = ioCollectOrder.getCollectOrderBizResponseList(); if (CollUtil.isNotEmpty(bizList)) { List collectOrderBizResponseList = ioCollectOrder.getCollectOrderBizResponseList(); List 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().eq("nameCode",nameCode).last("limit 1") + ); + if(Objects.isNull(basicProductsEntity)){ + return ResultVOUtils.error(500,"产品为空请检查"); + } + Integer packLevel = Integer.valueOf(basicProductsEntity.getPackLevel()); List drugTraceList = new ArrayList<>(); + List codeList = new ArrayList<>(); // 遍历fruits数组 for (String code : codes) { if (StrUtil.isNotBlank(code)) { List 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 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 bizList = ioCollectOrder.getBizList(); List collectOrderBizResponseList = ioCollectOrder.getCollectOrderBizResponseList(); diff --git a/src/main/java/com/glxp/mipsdl/client/scpwxyy/ScpwxyyClient.java b/src/main/java/com/glxp/mipsdl/client/scpwxyy/ScpwxyyClient.java index 43478b0..8ff377d 100644 --- a/src/main/java/com/glxp/mipsdl/client/scpwxyy/ScpwxyyClient.java +++ b/src/main/java/com/glxp/mipsdl/client/scpwxyy/ScpwxyyClient.java @@ -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); diff --git a/src/main/java/com/glxp/mipsdl/client/yxfuyy/YxfyyyClient.java b/src/main/java/com/glxp/mipsdl/client/yxfuyy/YxfyyyClient.java index 29f75ce..7ae7234 100644 --- a/src/main/java/com/glxp/mipsdl/client/yxfuyy/YxfyyyClient.java +++ b/src/main/java/com/glxp/mipsdl/client/yxfuyy/YxfyyyClient.java @@ -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); diff --git a/src/main/java/com/glxp/mipsdl/req/yb/BaseKcbg3502Request.java b/src/main/java/com/glxp/mipsdl/req/yb/BaseKcbg3502Request.java index d98aec3..c1fb1ed 100644 --- a/src/main/java/com/glxp/mipsdl/req/yb/BaseKcbg3502Request.java +++ b/src/main/java/com/glxp/mipsdl/req/yb/BaseKcbg3502Request.java @@ -6,5 +6,5 @@ import java.util.List; @Data public class BaseKcbg3502Request { - private List selinfoDetail; + private List invinfoDetail; } diff --git a/src/main/java/com/glxp/mipsdl/service/basic/RelCodeDetailService.java b/src/main/java/com/glxp/mipsdl/service/basic/RelCodeDetailService.java index 372f8ca..f2951bb 100644 --- a/src/main/java/com/glxp/mipsdl/service/basic/RelCodeDetailService.java +++ b/src/main/java/com/glxp/mipsdl/service/basic/RelCodeDetailService.java @@ -21,17 +21,22 @@ public class RelCodeDetailService extends ServiceImpl getAllNext(String code) { - RelCodeDetail relCodeDetail = this.baseMapper.selectOne( - new LambdaQueryWrapper().eq(RelCodeDetail::getCurCode, code) - ); - if(Objects.isNull(relCodeDetail)){ - relCodeDetail = new RelCodeDetail(); - relCodeDetail.setCurCode(code); - } +// RelCodeDetail relCodeDetail = this.baseMapper.selectOne( +// new LambdaQueryWrapper().eq(RelCodeDetail::getCurCode, code) +// ); +// if(Objects.isNull(relCodeDetail)){ +// relCodeDetail = new RelCodeDetail(); +// relCodeDetail.setCurCode(code); +// } List 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; } diff --git a/src/main/java/com/glxp/mipsdl/service/yb/YbClient.java b/src/main/java/com/glxp/mipsdl/service/yb/YbClient.java index 0fd02e8..a0f8467 100644 --- a/src/main/java/com/glxp/mipsdl/service/yb/YbClient.java +++ b/src/main/java/com/glxp/mipsdl/service/yb/YbClient.java @@ -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; } /**