加上35051 销售出库上传医保

和3507 删除单据
hlfyyy
qiuyt 4 weeks ago
parent bedafc8a75
commit ccba15f941

@ -326,4 +326,12 @@ public interface BaseHttpClient {
* @return * @return
*/ */
BaseResponse sendGoodsB002(SendGoodsB002Request sendGoodsB002Request); BaseResponse sendGoodsB002(SendGoodsB002Request sendGoodsB002Request);
/**
*
* @param postOrderMedicalDeleteRequest
* @return
*/
BaseResponse orderMedicalDelete(PostOrderMedicalDeleteRequest postOrderMedicalDeleteRequest);
} }

@ -351,6 +351,10 @@ public abstract class CommonHttpClient implements BaseHttpClient {
return null; return null;
} }
@Override
public BaseResponse orderMedicalDelete(PostOrderMedicalDeleteRequest postOrderMedicalDeleteRequest) {
return null;
}

@ -94,12 +94,13 @@ public class HlfyyyClient extends CommonHttpClient {
private final String[] buyType_3501 = {}; private final String[] buyType_3501 = {};
private final String[] buyType_3502 = {"SC73650724355678"}; private final String[] buyType_3502 = {"SC73650724355678"};
// private final String[] buyType_3505 = {"QXCF001", "YPCF002"}; // private final String[] buyType_3505 = {"QXCF001", "YPCF002"};
private final String[] buyType_3505 = {}; private final String[] buyType_3505 = {};
private final String[] buyType_3506 = {}; private final String[] buyType_3506 = {};
private final String[] buyType_35051 = {"SC72249388338364","SC72197936495755"}; private final String[] buyType_35051 = {"SC72197936495755"};
@Value("${DSF_XML_SQL_TYPE:MySql}") @Value("${DSF_XML_SQL_TYPE:MySql}")
private String defXmlSqlType; private String defXmlSqlType;
@Resource @Resource
@ -685,24 +686,24 @@ public class HlfyyyClient extends CommonHttpClient {
// zaxzyyOrderRequest.setCorpId(basicCorpEntity.getThirdId()); // zaxzyyOrderRequest.setCorpId(basicCorpEntity.getThirdId());
zaxzyyOrderRequest.setCorpName(basicCorpEntity.getName()); zaxzyyOrderRequest.setCorpName(basicCorpEntity.getName());
LambdaQueryWrapper<VA001> wrapper = new LambdaQueryWrapper(); LambdaQueryWrapper<VA001> wrapper = new LambdaQueryWrapper();
wrapper.eq(VA001::getName,basicCorpEntity.getName()); wrapper.eq(VA001::getName, basicCorpEntity.getName());
wrapper.eq(VA001::getUnittype,"3"); wrapper.eq(VA001::getUnittype, "3");
// 补充数据 // 补充数据
va001 = va001Service.getOne(wrapper); va001 = va001Service.getOne(wrapper);
if(va001!=null){ if (va001 != null) {
zaxzyyOrderRequest.setCorpId(va001.getUnitid()); zaxzyyOrderRequest.setCorpId(va001.getUnitid());
}else { } else {
String msg = "查询单据对应的第三方往来单位信息异常111"; String msg = "查询单据对应的第三方往来单位信息异常111";
orderUploadLogService.updateLocalErr(orderEntity, msg); orderUploadLogService.updateLocalErr(orderEntity, msg);
log.error("----单据提交111-----"+ basicCorpEntity+"==="+ orderEntity.getBillNo() + msg); log.error("----单据提交111-----" + basicCorpEntity + "===" + orderEntity.getBillNo() + msg);
return ResultVOUtils.error(500, msg); return ResultVOUtils.error(500, msg);
} }
} else { } else {
String msg = "查询单据对应的第三方往来单位信息异常222"; String msg = "查询单据对应的第三方往来单位信息异常222";
orderUploadLogService.updateLocalErr(orderEntity, msg); orderUploadLogService.updateLocalErr(orderEntity, msg);
log.error("----单据提交222-----"+ orderEntity+"==="+ orderEntity.getBillNo() + msg); log.error("----单据提交222-----" + orderEntity + "===" + orderEntity.getBillNo() + msg);
return ResultVOUtils.error(500, msg); return ResultVOUtils.error(500, msg);
} }
@ -769,21 +770,21 @@ public class HlfyyyClient extends CommonHttpClient {
i.setInvoiceDate(fprq); i.setInvoiceDate(fprq);
} }
ZaxzyyOrderHlfyRequest zaxzyyOrderHlfyRequest = new ZaxzyyOrderHlfyRequest(); ZaxzyyOrderHlfyRequest zaxzyyOrderHlfyRequest = new ZaxzyyOrderHlfyRequest();
if(zaxzyyOrderRequest!=null ){ if (zaxzyyOrderRequest != null) {
zaxzyyOrderHlfyRequest =new ZaxzyyOrderHlfyRequest(); zaxzyyOrderHlfyRequest = new ZaxzyyOrderHlfyRequest();
BeanUtils.copyProperties(zaxzyyOrderRequest,zaxzyyOrderHlfyRequest,"item,items"); BeanUtils.copyProperties(zaxzyyOrderRequest, zaxzyyOrderHlfyRequest, "item,items");
List<UdiwmsOrderDetailHlfyRequest> udiwmsOrderDetailHlfyRequestArrayList = new ArrayList<>(); List<UdiwmsOrderDetailHlfyRequest> udiwmsOrderDetailHlfyRequestArrayList = new ArrayList<>();
for (UdiwmsOrderDetailRequest udiwmsOrderDetailRequest : zaxzyyOrderRequest.getItem()) { for (UdiwmsOrderDetailRequest udiwmsOrderDetailRequest : zaxzyyOrderRequest.getItem()) {
log.error("udiwmsOrderDetailRequest==="+udiwmsOrderDetailRequest); log.error("udiwmsOrderDetailRequest===" + udiwmsOrderDetailRequest);
// if(udiwmsOrderDetailRequest!= null){ // if(udiwmsOrderDetailRequest!= null){
// udiwmsOrderDetailRequest.setCodeList(new ArrayList<>()); // udiwmsOrderDetailRequest.setCodeList(new ArrayList<>());
// } // }
UdiwmsOrderDetailHlfyRequest udiwmsOrderDetailHlfyRequest = new UdiwmsOrderDetailHlfyRequest(); UdiwmsOrderDetailHlfyRequest udiwmsOrderDetailHlfyRequest = new UdiwmsOrderDetailHlfyRequest();
BeanUtils.copyProperties(udiwmsOrderDetailRequest,udiwmsOrderDetailHlfyRequest,"price,count,allowNoBatch"); BeanUtils.copyProperties(udiwmsOrderDetailRequest, udiwmsOrderDetailHlfyRequest, "price,count,allowNoBatch");
udiwmsOrderDetailHlfyRequest.setPrice(udiwmsOrderDetailRequest.getPrice().toString()); udiwmsOrderDetailHlfyRequest.setPrice(udiwmsOrderDetailRequest.getPrice().toString());
udiwmsOrderDetailHlfyRequest.setCount(udiwmsOrderDetailRequest.getCount()+""); udiwmsOrderDetailHlfyRequest.setCount(udiwmsOrderDetailRequest.getCount() + "");
udiwmsOrderDetailHlfyRequest.setAllowNoBatch(Boolean.toString(udiwmsOrderDetailRequest.isAllowNoBatch())); udiwmsOrderDetailHlfyRequest.setAllowNoBatch(Boolean.toString(udiwmsOrderDetailRequest.isAllowNoBatch()));
// // 判断生产日期失效日期 发票等数据如果没值就写死 // // 判断生产日期失效日期 发票等数据如果没值就写死
// if(StringUtils.isEmpty(udiwmsOrderDetailHlfyRequest.getInvoiceDate())){ // if(StringUtils.isEmpty(udiwmsOrderDetailHlfyRequest.getInvoiceDate())){
@ -799,16 +800,16 @@ public class HlfyyyClient extends CommonHttpClient {
// udiwmsOrderDetailHlfyRequest.setExpireDate("2099-01-01 00:00:00"); // udiwmsOrderDetailHlfyRequest.setExpireDate("2099-01-01 00:00:00");
// } // }
if(udiwmsOrderDetailRequest.getCodeList()!=null && udiwmsOrderDetailRequest.getCodeList().size() >0){ if (udiwmsOrderDetailRequest.getCodeList() != null && udiwmsOrderDetailRequest.getCodeList().size() > 0) {
List<UdiwmsOrderDetailHlfyRequest.CodeDetailEntity> list = new ArrayList<>(); List<UdiwmsOrderDetailHlfyRequest.CodeDetailEntity> list = new ArrayList<>();
for (UdiwmsOrderDetailRequest.CodeDetailEntity codeDetailEntity : udiwmsOrderDetailRequest.getCodeList()) { for (UdiwmsOrderDetailRequest.CodeDetailEntity codeDetailEntity : udiwmsOrderDetailRequest.getCodeList()) {
UdiwmsOrderDetailHlfyRequest.CodeDetailEntity codeDetailEntityNew = UdiwmsOrderDetailHlfyRequest.CodeDetailEntity codeDetailEntityNew =
new UdiwmsOrderDetailHlfyRequest.CodeDetailEntity new UdiwmsOrderDetailHlfyRequest.CodeDetailEntity
(codeDetailEntity.getCode(),codeDetailEntity.getNameCode(),codeDetailEntity.getCount()); (codeDetailEntity.getCode(), codeDetailEntity.getNameCode(), codeDetailEntity.getCount());
list.add(codeDetailEntityNew); list.add(codeDetailEntityNew);
} }
udiwmsOrderDetailHlfyRequest.setCodeList(list); udiwmsOrderDetailHlfyRequest.setCodeList(list);
}else { } else {
udiwmsOrderDetailHlfyRequest.setCodeList(new ArrayList<>()); udiwmsOrderDetailHlfyRequest.setCodeList(new ArrayList<>());
} }
udiwmsOrderDetailHlfyRequestArrayList.add(udiwmsOrderDetailHlfyRequest); udiwmsOrderDetailHlfyRequestArrayList.add(udiwmsOrderDetailHlfyRequest);
@ -1237,14 +1238,14 @@ public class HlfyyyClient extends CommonHttpClient {
// //
// } // }
// detailBizEntity.setCount(orderDetailCodeEntity.getReCount()); // detailBizEntity.setCount(orderDetailCodeEntity.getReCount());
UdiwmsOrderDetailRequest item = buildProductInfo(detailBizEntity); UdiwmsOrderDetailRequest item = buildProductInfo(detailBizEntity);
if (item != null) { if (item != null) {
//封装条码信息 //封装条码信息
submitOrderUtil.setCodeList(ioCodeEntities, detailBizEntity, item); submitOrderUtil.setCodeList(ioCodeEntities, detailBizEntity, item);
orderDetailRequests.add(item); orderDetailRequests.add(item);
} else { } else {
errMsg = detailBizEntity.getCoName() + "," + "第三方产品编码未关联"; errMsg = detailBizEntity.getCoName() + "," + "第三方产品编码未关联";
} }
} }
return errMsg; return errMsg;
} }
@ -1273,28 +1274,28 @@ public class HlfyyyClient extends CommonHttpClient {
// ThrProductsEntity thrProductsEntity = thrProductsDao.selectOne(new LambdaQueryWrapper<ThrProductsEntity>() // ThrProductsEntity thrProductsEntity = thrProductsDao.selectOne(new LambdaQueryWrapper<ThrProductsEntity>()
// .eq(ThrProductsEntity::getCode, thirdProductId).eq(ThrProductsEntity::getThirdSysFk, "thirdId1").last("limit 1")); // .eq(ThrProductsEntity::getCode, thirdProductId).eq(ThrProductsEntity::getThirdSysFk, "thirdId1").last("limit 1"));
if (thrProductsEntity == null) { if (thrProductsEntity == null) {
log.error("第三方产品编码未关联: "+detailBizEntity.getBindRlFk()+thirdId1); log.error("第三方产品编码未关联: " + detailBizEntity.getBindRlFk() + thirdId1);
return null; return null;
} }
//产品ID //产品ID
LambdaQueryWrapper<VA003> wrapper = new LambdaQueryWrapper(); LambdaQueryWrapper<VA003> wrapper = new LambdaQueryWrapper();
wrapper.eq(VA003::getYbbm,thirdId1); wrapper.eq(VA003::getYbbm, thirdId1);
wrapper.eq(VA003::getRemark, "Y"); wrapper.eq(VA003::getRemark, "Y");
VA003 va003 = va003Mapper.selectOne(wrapper); VA003 va003 = va003Mapper.selectOne(wrapper);
LambdaQueryWrapper<VA001> wrapperVa001 = new LambdaQueryWrapper(); LambdaQueryWrapper<VA001> wrapperVa001 = new LambdaQueryWrapper();
wrapperVa001.eq(VA001::getName,basicProducts.getManufactory()); wrapperVa001.eq(VA001::getName, basicProducts.getManufactory());
wrapperVa001.eq(VA001::getUnittype,"2"); wrapperVa001.eq(VA001::getUnittype, "2");
// 补充数据 // 补充数据
VA001 va001 = va001Service.getOne(wrapperVa001); VA001 va001 = va001Service.getOne(wrapperVa001);
if (va003 == null) { if (va003 == null) {
log.error("第三方产品未查到: "+thirdId1); log.error("第三方产品未查到: " + thirdId1);
return null; return null;
} }
if (va001 == null) { if (va001 == null) {
log.error("第三方生产厂家未查到: "+thirdId1); log.error("第三方生产厂家未查到: " + thirdId1);
return null; return null;
} }
item.setProductId(va003.getCode()); //产品ID item.setProductId(va003.getCode()); //产品ID
@ -1339,7 +1340,7 @@ public class HlfyyyClient extends CommonHttpClient {
uploadLog.setFromType(Constants.THIRD_ORDER_UPLOAD); uploadLog.setFromType(Constants.THIRD_ORDER_UPLOAD);
BaseResponse<String> baseResponseA = callInterface(zaZyRequest.getMsgHeader(), zaZyRequest.getMsgBody()); BaseResponse<String> baseResponseA = callInterface(zaZyRequest.getMsgHeader(), zaZyRequest.getMsgBody());
if (baseResponseA != null) { if (baseResponseA != null) {
try { try {
@ -1703,17 +1704,17 @@ public class HlfyyyClient extends CommonHttpClient {
String busType = ioCollectOrder.getBusType(); String busType = ioCollectOrder.getBusType();
if (matchBusType(busType, buyType_3501)) { if (matchBusType(busType, buyType_3501)) {
optionUploadCollectOrder3501(ioCollectOrder); optionUploadCollectOrder3501(ioCollectOrder);
} else if (matchBusType(busType, buyType_3502)) { } else if (matchBusType(busType, buyType_3502)) {
return optionUploadCollectOrder3502(ioCollectOrder); return optionUploadCollectOrder3502(ioCollectOrder);
} else if (matchBusType(busType, buyType_3505)) { } else if (matchBusType(busType, buyType_3505)) {
optionUploadCollectOrder3505(ioCollectOrder); optionUploadCollectOrder3505(ioCollectOrder);
} else if (matchBusType(busType, buyType_3506)) { } else if (matchBusType(busType, buyType_3506)) {
optionUploadCollectOrder3506(ioCollectOrder); optionUploadCollectOrder3506(ioCollectOrder);
}else if (matchBusType(busType, buyType_35051)) { } else if (matchBusType(busType, buyType_35051)) {
optionUploadCollectOrder35051(ioCollectOrder); return optionUploadCollectOrder35051(ioCollectOrder);
}else { } else {
return ResultVOUtils.error(500,"上传类型都未对上请检查单据类型"); return ResultVOUtils.error(500, "上传类型都未对上请检查单据类型");
} }
} }
} }
@ -2037,90 +2038,142 @@ public class HlfyyyClient extends CommonHttpClient {
} }
public BaseResponse optionUploadCollectOrder35051(IoCollectOrder ioCollectOrder) { public BaseResponse optionUploadCollectOrder35051(IoCollectOrder ioCollectOrder) {
List<CollectOrderBizResponse> bizList = ioCollectOrder.getCollectOrderBizResponseList();
String stoout_no = StringUtils.isBlank(ioCollectOrder.getBackupOrderRemark1()) ? ioCollectOrder.getBackupOrderRemark2() : ioCollectOrder.getBackupOrderRemark1(); if (CollUtil.isNotEmpty(bizList)) {
List<VInsurNationGoodsPhysic> vInsurNationGoodsPhysics = goodsPhysicMapper.selectList(new LambdaQueryWrapper<VInsurNationGoodsPhysic>().eq(VInsurNationGoodsPhysic::getSTOOUT_NO, stoout_no));
if (CollUtil.isNotEmpty(vInsurNationGoodsPhysics)) {
List<CollectOrderBizResponse> collectOrderBizResponseList = ioCollectOrder.getCollectOrderBizResponseList();
List<Xsck35051Request> xsck35051Requests = new ArrayList<>(); List<Xsck35051Request> xsck35051Requests = 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 (VInsurNationGoodsPhysic vInsurNationGoodsPhysic : vInsurNationGoodsPhysics) { // for (CollectOrderBizResponse item : collectOrderBizResponseList) {
if (vInsurNationGoodsPhysic.getFIXMEDINS_HILIST_ID().equals(itemCode)) { // if (item.getYbbm().equals(itemCode)) {
String[] codes = collectOrderBizResponse.getFinishUdiCode().split(","); String[] codes = item.getFinishUdiCode().split(",");
List<DrugInfoRequest> drugTraceList = new ArrayList<>();
// 遍历fruits数组 String nameCode = item.getNameCode();
for (String code : codes) { BasicProductsEntity basicProductsEntity = basicProductsDao.selectOne(
if (StrUtil.isNotBlank(code)) { new QueryWrapper<BasicProductsEntity>().eq("nameCode", nameCode).last("limit 1")
List<RelCodeDetail> relCodeDetailList = relCodeDetailService.getAllNext(code); );
if (relCodeDetailList != null && relCodeDetailList.size() > 0) { if (Objects.isNull(basicProductsEntity)) {
for (RelCodeDetail relCodeDetail : relCodeDetailList) { return ResultVOUtils.error(500, "产品为空请检查");
DrugInfoRequest request = new DrugInfoRequest(); }
request.setDrug_trac_codg(relCodeDetail.getCurCode()); 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());
} }
} }
Xsck35051Request xsck35051Request = Xsck35051Request.builder() // 级别为2的产品码不可能只有一个
.med_list_codg(vInsurNationGoodsPhysic.getMED_LIST_CODG()) if (packLevel > 1 && codeList.size() < 2) {
.fixmedins_hilist_id(vInsurNationGoodsPhysic.getFIXMEDINS_HILIST_ID()) return ResultVOUtils.error(500, "大包装码关联关系拉取不到请检查" + code);
.fixmedins_hilist_name(vInsurNationGoodsPhysic.getFIXMEDINS_HILIST_NAME()) }
.fixmedins_bchno(vInsurNationGoodsPhysic.getFIXMEDINS_BCHNO())
.prsc_dr_cert_type(vInsurNationGoodsPhysic.getPRSC_DR_CERT_TYPE())
.prsc_dr_certno(vInsurNationGoodsPhysic.getPRSC_DR_CERTNO())
.prsc_dr_name(vInsurNationGoodsPhysic.getPRSC_DR_NAME())
.phar_cert_type(vInsurNationGoodsPhysic.getPHAR_CERT_TYPE())
.phar_certno(vInsurNationGoodsPhysic.getPHAR_CERTNO())
.phar_name(vInsurNationGoodsPhysic.getPHAR_NAME())
.phar_prac_cert_no(vInsurNationGoodsPhysic.getPHAR_PRAC_CERT_NO())
.hi_feesetl_type(vInsurNationGoodsPhysic.getHI_FEESETL_TYPE())
.setl_id(vInsurNationGoodsPhysic.getSETL_ID())
.mdtrt_sn(vInsurNationGoodsPhysic.getMDTRT_SN())
.psn_no(vInsurNationGoodsPhysic.getPSN_NO())
.psn_cert_type(vInsurNationGoodsPhysic.getPSN_CERT_TYPE())
.certno(vInsurNationGoodsPhysic.getCERTNO())
.psn_name(vInsurNationGoodsPhysic.getPSN_NAME())
.manu_lotnum(vInsurNationGoodsPhysic.getMANU_LOTNUM())
.manu_date(vInsurNationGoodsPhysic.getMANU_DATE())
.expy_end(vInsurNationGoodsPhysic.getEXPY_END())
.rx_flag(vInsurNationGoodsPhysic.getRX_FLAG())
.trdn_flag(vInsurNationGoodsPhysic.getTRDN_FLAG())
.finl_trns_pric(vInsurNationGoodsPhysic.getFINL_TRNS_PRIC())
.rxno(vInsurNationGoodsPhysic.getRXNO())
.rx_circ_flag(vInsurNationGoodsPhysic.getRX_CIRC_FLAG())
.rtal_docno(vInsurNationGoodsPhysic.getRTAL_DOCNO())
.stoout_no(vInsurNationGoodsPhysic.getSTOOUT_NO())
.bchno(vInsurNationGoodsPhysic.getBCHNO())
.drug_prod_barc(vInsurNationGoodsPhysic.getRUG_PROD_BARC())
.shelf_posi(vInsurNationGoodsPhysic.getSHELF_POSI())
.sel_retn_cnt(vInsurNationGoodsPhysic.getSEL_RETN_CNT())
.sel_retn_time(vInsurNationGoodsPhysic.getSEL_RETN_TIME())
.sel_retn_opter_name(vInsurNationGoodsPhysic.getSEL_RETN_OPTER_NAME())
.memo(vInsurNationGoodsPhysic.getMEMO())
.mdtrt_setl_type(vInsurNationGoodsPhysic.getMDTRT_SETL_TYPE())
.drugtracinfo(drugTraceList).build();
xsck35051Requests.add(xsck35051Request);
} }
} }
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, "单据要传的码为空请检查");
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDate = sdf.format(ioCollectOrder.getBillTime());
//todo 处方药标志先写死 后面要商量怎么获得
String rxFlag ="1";
log.error("optionUploadCollectOrder35051===item==="+item);
Xsck35051Request xsck35051Request = Xsck35051Request.builder()
.med_list_codg(item.getYbbm())
.fixmedins_hilist_id(item.getNameCode())
.fixmedins_hilist_name(item.getCpmctymc())
.fixmedins_bchno(item.getOrderIdFk())
.prsc_dr_cert_type(null)
.prsc_dr_certno(null)
.prsc_dr_name(null)
.phar_cert_type(null)
.phar_certno(null)
.phar_name(null)
.phar_prac_cert_no(null)
.hi_feesetl_type(null)
.setl_id(null)
.mdtrt_sn(null)
.psn_no(null)
.psn_cert_type(null)
.certno(null)
.psn_name(null)
.manu_lotnum(item.getBatchNo())
.manu_date(DateUtil.timeTransition(item.getProductDate()))
.expy_end(DateUtil.timeTransition(item.getExpireDate()))
.rx_flag(rxFlag)
.trdn_flag(item.getTrdnFlag())
.finl_trns_pric(null)
.rxno(null)
.rx_circ_flag(null)
.rtal_docno(null)
.stoout_no(null)
.bchno(null)
.drug_prod_barc(null)
.shelf_posi(null)
.sel_retn_cnt(item.getCount())
.sel_retn_time(formattedDate)
.sel_retn_opter_name(ioCollectOrder.getCreateUser())
.memo(null)
.mdtrt_setl_type(null)
.drugtracinfo(drugTraceList).build();
xsck35051Requests.add(xsck35051Request);
// }
// }
} }
BaseXsck35051Request baseXsck35051Request = new BaseXsck35051Request(); BaseXsck35051Request baseXsck35051Request = new BaseXsck35051Request();
baseXsck35051Request.setSelinfoDetail(xsck35051Requests); baseXsck35051Request.setSelinfoDetail(xsck35051Requests);
String jsonStr = JSONUtil.toJsonStr(baseXsck35051Request); String jsonStr = JSONUtil.toJsonStr(baseXsck35051Request);
JSONObject dataJson = JSONObject.parseObject(jsonStr); JSONObject dataJson = JSONObject.parseObject(jsonStr);
return ybClient.ybPost("35051", dataJson); return ybClient.ybPost("35051", dataJson);
} else { } else {
return ResultVOUtils.error(500, "医保视图数据查不到,请核实"); return ResultVOUtils.error(500, "上传医保数据为空请核实");
} }
} }
@Override
public BaseResponse orderMedicalDelete(PostOrderMedicalDeleteRequest postOrderMedicalDeleteRequest) {
List<Xsck3507Request> xsck35057Requests = new ArrayList<>();
String invDataType=null;
if (matchBusType(postOrderMedicalDeleteRequest.getBusType(), buyType_3501)) {
invDataType="1";
} else if (matchBusType(postOrderMedicalDeleteRequest.getBusType(), buyType_3502)) {
invDataType="2";
} else if (matchBusType(postOrderMedicalDeleteRequest.getBusType(), buyType_3505)) {
invDataType="4";
} else if (matchBusType(postOrderMedicalDeleteRequest.getBusType(), buyType_3506)) {
invDataType="4";
} else if (matchBusType(postOrderMedicalDeleteRequest.getBusType(), buyType_35051)) {
invDataType="4";
}
Xsck3507Request xsck3507Request = Xsck3507Request.builder()
.med_list_codg(postOrderMedicalDeleteRequest.getBillNo())
.inv_data_type(invDataType).build();
xsck35057Requests.add(xsck3507Request);
BaseXsck3507Request baseXsck3507Request = new BaseXsck3507Request();
baseXsck3507Request.setGoodDetail(xsck35057Requests);
String jsonStr = JSONUtil.toJsonStr(baseXsck3507Request);
JSONObject dataJson = JSONObject.parseObject(jsonStr);
return ybClient.ybPost("3507A", dataJson);
}
public void optionUploadCollectOrder3501(IoCollectOrder ioCollectOrder) { public void optionUploadCollectOrder3501(IoCollectOrder ioCollectOrder) {
List<IoCollectOrderBiz> bizList = ioCollectOrder.getBizList(); List<IoCollectOrderBiz> bizList = ioCollectOrder.getBizList();
if (CollUtil.isNotEmpty(bizList)) { if (CollUtil.isNotEmpty(bizList)) {
@ -2182,61 +2235,61 @@ public class HlfyyyClient extends CommonHttpClient {
String itemCode = basicUdirelEntity.getMainId(); String itemCode = basicUdirelEntity.getMainId();
// for (CollectOrderBizResponse item : collectOrderBizResponseList) { // for (CollectOrderBizResponse item : collectOrderBizResponseList) {
// if (item.getYbbm().equals(itemCode)) { // if (item.getYbbm().equals(itemCode)) {
String[] codes = item.getFinishUdiCode().split(","); String[] codes = item.getFinishUdiCode().split(",");
String nameCode = item.getNameCode(); String nameCode = item.getNameCode();
BasicProductsEntity basicProductsEntity = basicProductsDao.selectOne( BasicProductsEntity basicProductsEntity = basicProductsDao.selectOne(
new QueryWrapper<BasicProductsEntity>().eq("nameCode",nameCode).last("limit 1") new QueryWrapper<BasicProductsEntity>().eq("nameCode", nameCode).last("limit 1")
); );
if(Objects.isNull(basicProductsEntity)){ if (Objects.isNull(basicProductsEntity)) {
return ResultVOUtils.error(500,"产品为空请检查"); return ResultVOUtils.error(500, "产品为空请检查");
} }
Integer packLevel = Integer.valueOf(basicProductsEntity.getPackLevel()); Integer packLevel = Integer.valueOf(basicProductsEntity.getPackLevel());
List<DrugInfoRequest> drugTraceList = new ArrayList<>(); List<DrugInfoRequest> drugTraceList = new ArrayList<>();
List<String> codeList = 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) { for (RelCodeDetail relCodeDetail : relCodeDetailList) {
codeList.add(relCodeDetail.getCurCode()); codeList.add(relCodeDetail.getCurCode());
}
}
// 级别为2的产品码不可能只有一个
if(packLevel >1 && codeList.size() <2){
return ResultVOUtils.error(500,"大包装码关联关系拉取不到请检查"+code);
}
} }
} }
Set<String> set = new HashSet(codeList); // 级别为2的产品码不可能只有一个
for (String code : set) { if (packLevel > 1 && codeList.size() < 2) {
DrugInfoRequest request = new DrugInfoRequest(); return ResultVOUtils.error(500, "大包装码关联关系拉取不到请检查" + code);
request.setDrug_trac_codg(code);
drugTraceList.add(request);
} }
}
}
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)){ if (CollUtil.isEmpty(drugTraceList)) {
return ResultVOUtils.error(500,"单据要传的码为空请检查"); 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())
.inv_chg_type("108") .inv_chg_type("108")
.fixmedins_hilist_id(item.getThrCode()) .fixmedins_hilist_id(item.getThrCode())
.fixmedins_hilist_name(item.getCpmctymc()) .fixmedins_hilist_name(item.getCpmctymc())
.fixmedins_bchno("0000") .fixmedins_bchno(item.getOrderIdFk())
.pric("0") .pric("0")
.cnt(item.getActCount()) .cnt(item.getActCount())
.rx_flag("1") .rx_flag("1")
.inv_chg_time(item.getUpdateTime()) .inv_chg_time(item.getUpdateTime())
.inv_chg_opter_name(ioCollectOrder.getCreateUser()) .inv_chg_opter_name(ioCollectOrder.getCreateUser())
.memo(item.getRemark()) .memo(item.getRemark())
.trdn_flag("0") .trdn_flag("0")
.drugtracinfo(drugTraceList).build(); .drugtracinfo(drugTraceList).build();
kcbg3502Requests.add(kcbg3502Request); kcbg3502Requests.add(kcbg3502Request);
// } // }
// } // }
} }
@ -2245,8 +2298,8 @@ public class HlfyyyClient extends CommonHttpClient {
String jsonStr = JSONUtil.toJsonStr(baseKcbg3502Request); String jsonStr = JSONUtil.toJsonStr(baseKcbg3502Request);
JSONObject dataJson = JSONObject.parseObject(jsonStr); JSONObject dataJson = JSONObject.parseObject(jsonStr);
return ybClient.ybPost("3502A", dataJson); return ybClient.ybPost("3502A", dataJson);
}else { } else {
return ResultVOUtils.error(500,"上传医保数据为空请核实"); return ResultVOUtils.error(500, "上传医保数据为空请核实");
} }
} }
@ -2628,7 +2681,7 @@ public class HlfyyyClient extends CommonHttpClient {
String xml = xmlResponse.body(); String xml = xmlResponse.body();
// 假设 XML 解析到的 JSON 字符串部分 // 假设 XML 解析到的 JSON 字符串部分
String jsonStr ="{" + xml.substring(xml.indexOf("{") + 1, xml.lastIndexOf("}")) + "}" ; String jsonStr = "{" + xml.substring(xml.indexOf("{") + 1, xml.lastIndexOf("}")) + "}";
log.error("上传his单据返回:" + jsonStr); log.error("上传his单据返回:" + jsonStr);
JSONObject jsonObject = JSON.parseObject(jsonStr); JSONObject jsonObject = JSON.parseObject(jsonStr);
@ -2649,4 +2702,4 @@ public class HlfyyyClient extends CommonHttpClient {
} }
} }

@ -8,6 +8,7 @@ import com.glxp.mipsdl.req.ctqyy.FilterThrHslbRequest;
import com.glxp.mipsdl.req.ctqyy.GetSickPrescribeRequest; import com.glxp.mipsdl.req.ctqyy.GetSickPrescribeRequest;
import com.glxp.mipsdl.req.ctqyy.GetSickRequest; import com.glxp.mipsdl.req.ctqyy.GetSickRequest;
import com.glxp.mipsdl.req.post.PostCollectOrderRequest; import com.glxp.mipsdl.req.post.PostCollectOrderRequest;
import com.glxp.mipsdl.req.post.PostOrderMedicalDeleteRequest;
import com.glxp.mipsdl.req.post.PostRelProductRequest; import com.glxp.mipsdl.req.post.PostRelProductRequest;
import com.glxp.mipsdl.req.pzh.USignRequest; import com.glxp.mipsdl.req.pzh.USignRequest;
import com.glxp.mipsdl.res.BaseResponse; import com.glxp.mipsdl.res.BaseResponse;
@ -364,4 +365,16 @@ public class UdiWmsController {
public BaseResponse getBuyType() { public BaseResponse getBuyType() {
return ClientProcessor.getHttpClient().getBuyType(); return ClientProcessor.getHttpClient().getBuyType();
} }
/**
*
*
* @param postOrderMedicalDeleteRequest
* @return
*/
@PostMapping("/udiwms/erp/orderMedicalDelete")
public BaseResponse orderMedicalDelete(@RequestBody PostOrderMedicalDeleteRequest postOrderMedicalDeleteRequest) {
return ClientProcessor.getHttpClient().orderMedicalDelete(postOrderMedicalDeleteRequest);
}
} }

@ -1,5 +1,6 @@
package com.glxp.mipsdl.entity.inout; package com.glxp.mipsdl.entity.inout;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
@ -127,4 +128,6 @@ public class CollectOrderBizResponse {
private Integer autoResCount; private Integer autoResCount;
private String replaceCode; private String replaceCode;
private String trdnFlag;
} }

@ -213,5 +213,6 @@ public class IoCollectOrder implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private List<IoCollectOrderBiz> bizList; private List<IoCollectOrderBiz> bizList;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }

@ -0,0 +1,14 @@
package com.glxp.mipsdl.req.post;
import lombok.Data;
@Data
public class PostOrderMedicalDeleteRequest {
private String thirdSys;
private String billNo;
private String busType;
}

@ -0,0 +1,10 @@
package com.glxp.mipsdl.req.yb;
import lombok.Data;
import java.util.List;
@Data
public class BaseXsck3507Request {
private List<Xsck3507Request> goodDetail;
}

@ -0,0 +1,33 @@
package com.glxp.mipsdl.req.yb;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
*
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Xsck3507Request {
/**
*
*/
private String med_list_codg;
/**
* 1-2-3-4-
*/
private String inv_data_type;
}

@ -86,7 +86,7 @@ public class YbClient {
){ ){
if(apiNo.equals("3505A") && "成功".equals(resp.getErrMsg())){ if((apiNo.equals("3505A") || apiNo.equals("35051")) && "成功".equals(resp.getErrMsg())){
return ResultVOUtils.success("【" + apiNo + "】上传医保成功"); return ResultVOUtils.success("【" + apiNo + "】上传医保成功");
}else if(apiNo.equals("3502A") && org.apache.commons.lang3.StringUtils.isEmpty(resp.getErrMsg())){ }else if(apiNo.equals("3502A") && org.apache.commons.lang3.StringUtils.isEmpty(resp.getErrMsg())){

@ -9,6 +9,8 @@ import lombok.extern.slf4j.Slf4j;
import java.lang.management.ManagementFactory; import java.lang.management.ManagementFactory;
import java.text.DateFormat; import java.text.DateFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
@Slf4j @Slf4j
@ -482,4 +484,19 @@ public class DateUtil {
String formattedDate = sdf.format(date); String formattedDate = sdf.format(date);
return formattedDate; return formattedDate;
} }
public static String timeTransition(String input) {
if(StrUtil.isEmpty(input)){
return null;
}
// 定义输入日期的格式
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyMMdd");
// 定义输出日期的格式
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
// 将输入字符串解析为 LocalDate 对象
LocalDate date = LocalDate.parse(input, inputFormatter);
// 将 LocalDate 对象格式化为目标字符串
String output = date.format(outputFormatter);
return output;
}
} }

Loading…
Cancel
Save