上传采购单3502 湖里优化逻辑复制过来

phxyy
qiuyt 6 months ago
parent 71592d37ab
commit 93c41d15a8

@ -2182,28 +2182,55 @@ public class CtqyyClient extends CommonHttpClient {
public BaseResponse optionUploadCollectOrder3502(IoCollectOrder ioCollectOrder) { public BaseResponse optionUploadCollectOrder3502(IoCollectOrder ioCollectOrder) {
// List<CollectOrderBizResponse> bizList = ioCollectOrder.getCollectOrderBizResponseList();
List<CollectOrderBizResponse> bizList = ioCollectOrder.getCollectOrderBizResponseList(); List<CollectOrderBizResponse> bizList = ioCollectOrder.getCollectOrderBizResponseList();
if (CollUtil.isNotEmpty(bizList)) { if (CollUtil.isNotEmpty(bizList)) {
List<CollectOrderBizResponse> collectOrderBizResponseList = ioCollectOrder.getCollectOrderBizResponseList();
List<Kcbg3502Request> kcbg3502Requests = new ArrayList<>(); List<Kcbg3502Request> kcbg3502Requests = new ArrayList<>();
for (CollectOrderBizResponse collectOrderBizResponse : collectOrderBizResponseList) {
BasicUdirelEntity basicUdirelEntity = basicUdirelDao.selectById(collectOrderBizResponse.getRelId());
String itemCode = basicUdirelEntity.getMainId();
for (CollectOrderBizResponse item : bizList) { for (CollectOrderBizResponse item : bizList) {
if (item.getYbbm().equals(itemCode)) { BasicUdirelEntity basicUdirelEntity = basicUdirelDao.selectById(item.getRelId());
String[] codes = collectOrderBizResponse.getFinishUdiCode().split(","); String itemCode = basicUdirelEntity.getMainId();
// for (CollectOrderBizResponse item : collectOrderBizResponseList) {
// if (item.getYbbm().equals(itemCode)) {
String[] codes = item.getFinishUdiCode().split(",");
String nameCode = item.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<DrugInfoRequest> drugTraceList = new ArrayList<>();
List<String> codeList = new ArrayList<>();
// 遍历fruits数组 // 遍历fruits数组
for (String code : codes) { for (String code : codes) {
if (StrUtil.isNotBlank(code)) { if (StrUtil.isNotBlank(code)) {
List<RelCodeDetail> relCodeDetailList = relCodeDetailService.getAllNext(code); List<RelCodeDetail> relCodeDetailList = relCodeDetailService.getAllNext(code);
if (relCodeDetailList != null && relCodeDetailList.size() > 0) { if (relCodeDetailList != null && relCodeDetailList.size() > 0) {
for (RelCodeDetail relCodeDetail : relCodeDetailList) {
codeList.add(relCodeDetail.getCurCode());
}
}
// 级别为2的产品码不可能只有一个
if(packLevel >1 && codeList.size() <2){
return ResultVOUtils.error(500,"大包装码关联关系拉取不到请检查"+code);
}
}
}
Set<String> set = new HashSet(codeList);
for (String code : set) {
DrugInfoRequest request = new DrugInfoRequest(); DrugInfoRequest request = new DrugInfoRequest();
request.setDrug_trac_codg(code); request.setDrug_trac_codg(code);
drugTraceList.add(request); drugTraceList.add(request);
} }
if(CollUtil.isEmpty(drugTraceList)){
return ResultVOUtils.error(500,"单据要传的码为空请检查");
} }
}
// TODO: 2024/9/10 字段未完全正确对应 // TODO: 2024/9/10 字段未完全正确对应
Kcbg3502Request kcbg3502Request = Kcbg3502Request.builder() Kcbg3502Request kcbg3502Request = Kcbg3502Request.builder()
.med_list_codg(item.getYbbm()) .med_list_codg(item.getYbbm())
@ -2220,8 +2247,8 @@ public class CtqyyClient extends CommonHttpClient {
.trdn_flag("0") .trdn_flag("0")
.drugtracinfo(drugTraceList).build(); .drugtracinfo(drugTraceList).build();
kcbg3502Requests.add(kcbg3502Request); kcbg3502Requests.add(kcbg3502Request);
} // }
} // }
} }
BaseKcbg3502Request baseKcbg3502Request = new BaseKcbg3502Request(); BaseKcbg3502Request baseKcbg3502Request = new BaseKcbg3502Request();
baseKcbg3502Request.setInvinfoDetail(kcbg3502Requests); baseKcbg3502Request.setInvinfoDetail(kcbg3502Requests);

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

@ -75,9 +75,11 @@ public class YbClient {
req.setInput(data); req.setInput(data);
req.setSignNo(thrYbSetup.getSignNo()); req.setSignNo(thrYbSetup.getSignNo());
log.info("【" + apiNo + "】医保接口请求参数:" + JSONObject.toJSONString(req)); log.error("【" + apiNo + "】医保接口请求参数:" + JSONObject.toJSONString(req));
ChsMedicalResponse resp = client.execute(req); ChsMedicalResponse resp = client.execute(req);
log.info("【" + apiNo + "】医保接口返回结果:" + JSONObject.toJSONString(resp)); log.error("【" + apiNo + "】医保接口返回结果:" + JSONObject.toJSONString(resp));
// ChsMedicalResponse resp = new ChsMedicalResponse();
if(resp.getIsSuccess() == true if(resp.getIsSuccess() == true
&& org.apache.commons.lang3.StringUtils.isNotEmpty(resp.getAppid()) && org.apache.commons.lang3.StringUtils.isNotEmpty(resp.getAppid())
&& "0".equals(resp.getInfCode()) && "0".equals(resp.getInfCode())

Loading…
Cancel
Save