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

phxyy
qiuyt 3 months ago
parent 71592d37ab
commit 93c41d15a8

@ -2182,46 +2182,73 @@ public class CtqyyClient extends CommonHttpClient {
public BaseResponse optionUploadCollectOrder3502(IoCollectOrder ioCollectOrder) {
// List<CollectOrderBizResponse> bizList = ioCollectOrder.getCollectOrderBizResponseList();
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());
for (CollectOrderBizResponse item : bizList) {
BasicUdirelEntity basicUdirelEntity = basicUdirelDao.selectById(item.getRelId());
String itemCode = basicUdirelEntity.getMainId();
for (CollectOrderBizResponse item : bizList) {
if (item.getYbbm().equals(itemCode)) {
String[] codes = collectOrderBizResponse.getFinishUdiCode().split(",");
List<DrugInfoRequest> drugTraceList = 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 (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<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) {
for (RelCodeDetail relCodeDetail : relCodeDetailList) {
codeList.add(relCodeDetail.getCurCode());
}
}
// 级别为2的产品码不可能只有一个
if(packLevel >1 && codeList.size() <2){
return ResultVOUtils.error(500,"大包装码关联关系拉取不到请检查"+code);
}
// TODO: 2024/9/10 字段未完全正确对应
Kcbg3502Request kcbg3502Request = Kcbg3502Request.builder()
.med_list_codg(item.getYbbm())
.inv_chg_type("108")
.fixmedins_hilist_id(item.getThrCode())
.fixmedins_hilist_name(item.getCpmctymc())
.fixmedins_bchno("0000")
.pric("0")
.cnt(item.getActCount())
.rx_flag("1")
.inv_chg_time(item.getUpdateTime())
.inv_chg_opter_name(ioCollectOrder.getCreateUser())
.memo(item.getRemark())
.trdn_flag("0")
.drugtracinfo(drugTraceList).build();
kcbg3502Requests.add(kcbg3502Request);
}
}
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("108")
.fixmedins_hilist_id(item.getThrCode())
.fixmedins_hilist_name(item.getCpmctymc())
.fixmedins_bchno("0000")
.pric("0")
.cnt(item.getActCount())
.rx_flag("1")
.inv_chg_time(item.getUpdateTime())
.inv_chg_opter_name(ioCollectOrder.getCreateUser())
.memo(item.getRemark())
.trdn_flag("0")
.drugtracinfo(drugTraceList).build();
kcbg3502Requests.add(kcbg3502Request);
// }
// }
}
BaseKcbg3502Request baseKcbg3502Request = new BaseKcbg3502Request();
baseKcbg3502Request.setInvinfoDetail(kcbg3502Requests);

@ -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;
}

@ -75,11 +75,13 @@ public class YbClient {
req.setInput(data);
req.setSignNo(thrYbSetup.getSignNo());
log.info("【" + apiNo + "】医保接口请求参数:" + JSONObject.toJSONString(req));
log.error("【" + apiNo + "】医保接口请求参数:" + JSONObject.toJSONString(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
&& org.apache.commons.lang3.StringUtils.isNotEmpty(resp.getAppid())
&& org.apache.commons.lang3.StringUtils.isNotEmpty(resp.getAppid())
&& "0".equals(resp.getInfCode())
&& org.apache.commons.lang3.StringUtils.isEmpty(resp.getErrMsg())

Loading…
Cancel
Save