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

phxyy
qiuyt 6 months ago
parent 71592d37ab
commit 93c41d15a8

@ -2182,46 +2182,73 @@ 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) { for (CollectOrderBizResponse item : bizList) {
BasicUdirelEntity basicUdirelEntity = basicUdirelDao.selectById(collectOrderBizResponse.getRelId()); BasicUdirelEntity basicUdirelEntity = basicUdirelDao.selectById(item.getRelId());
String itemCode = basicUdirelEntity.getMainId(); String itemCode = basicUdirelEntity.getMainId();
for (CollectOrderBizResponse item : bizList) { // for (CollectOrderBizResponse item : collectOrderBizResponseList) {
if (item.getYbbm().equals(itemCode)) { // if (item.getYbbm().equals(itemCode)) {
String[] codes = collectOrderBizResponse.getFinishUdiCode().split(","); String[] codes = item.getFinishUdiCode().split(",");
List<DrugInfoRequest> drugTraceList = new ArrayList<>(); String nameCode = item.getNameCode();
// 遍历fruits数组 BasicProductsEntity basicProductsEntity = basicProductsDao.selectOne(
for (String code : codes) { new QueryWrapper<BasicProductsEntity>().eq("nameCode",nameCode).last("limit 1")
if (StrUtil.isNotBlank(code)) { );
List<RelCodeDetail> relCodeDetailList = relCodeDetailService.getAllNext(code); if(Objects.isNull(basicProductsEntity)){
if (relCodeDetailList != null && relCodeDetailList.size() > 0) { return ResultVOUtils.error(500,"产品为空请检查");
DrugInfoRequest request = new DrugInfoRequest(); }
request.setDrug_trac_codg(code); Integer packLevel = Integer.valueOf(basicProductsEntity.getPackLevel());
drugTraceList.add(request); 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 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,11 +75,13 @@ 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())
&& org.apache.commons.lang3.StringUtils.isEmpty(resp.getErrMsg()) && org.apache.commons.lang3.StringUtils.isEmpty(resp.getErrMsg())

Loading…
Cancel
Save