From 56e0ee5012e8587005b8559250c15744eae97492 Mon Sep 17 00:00:00 2001 From: chenhc <2369838784@qq.com> Date: Tue, 15 Oct 2024 10:29:17 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=8E=9F=E5=A7=8B?= =?UTF-8?q?=E5=8D=95=E6=8D=AE=E4=B8=8B=E8=BD=BD=E6=9C=AC=E5=9C=B0=E5=8D=95?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../collect/IoCollectOriginController.java | 25 +++- .../api/service/collect/DownloadFactory.java | 4 + .../collect/IoCollectOrderService.java | 120 +++++++++++++++++- 3 files changed, 141 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/collect/IoCollectOriginController.java b/src/main/java/com/glxp/api/controller/collect/IoCollectOriginController.java index 90a5f6734..5fff486f0 100644 --- a/src/main/java/com/glxp/api/controller/collect/IoCollectOriginController.java +++ b/src/main/java/com/glxp/api/controller/collect/IoCollectOriginController.java @@ -16,6 +16,7 @@ import com.glxp.api.req.basic.GetSickPrescribeRequest; import com.glxp.api.req.basic.WorkBindBusTypeRequest; import com.glxp.api.req.collect.CollectOrderBizRequest; import com.glxp.api.req.collect.CollectOrderRequest; +import com.glxp.api.req.inout.FilterOrderRequest; import com.glxp.api.req.thrsys.FilterThrOrderRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.basic.SysWorkplaceDocumentResponse; @@ -24,10 +25,7 @@ import com.glxp.api.res.collect.CollectOrderBizResponse; import com.glxp.api.res.collect.IoCollectOrderResponse; import com.glxp.api.service.basic.BasicCollectUserService; import com.glxp.api.service.basic.SysWorkplaceDocumentService; -import com.glxp.api.service.collect.DownloadFactory; -import com.glxp.api.service.collect.IoCollectOrderBizOriginService; -import com.glxp.api.service.collect.IoCollectOrderOriginService; -import com.glxp.api.service.collect.IoCollectOriginService; +import com.glxp.api.service.collect.*; import com.glxp.api.util.IntUtil; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -62,6 +60,8 @@ public class IoCollectOriginController extends BaseController { SysWorkplaceDocumentService sysWorkplaceDocumentService; @Resource private ErpBasicClient erpBasicClient; + @Resource + private IoCollectOrderService ioCollectOrderService; @PostMapping("/udiwms/basic/collect/origin/order/download") public BaseResponse downloadOrder(@RequestBody CollectOrderRequest collectOrderRequest) { @@ -107,7 +107,22 @@ public class IoCollectOriginController extends BaseController { BaseResponse> baseResponse = erpBasicClient.getPrescribeQx(getSickPrescribeRequest); return baseResponse; - } else { + }else if (busType.contains("SC")) { + FilterOrderRequest filterOrderRequest = new FilterOrderRequest(); + filterOrderRequest.setStatus(7); + filterOrderRequest.setAction(busType); + filterOrderRequest.setProductType(null); + filterOrderRequest.setLimit(collectOrderRequest.getLimit()); + filterOrderRequest.setPage(collectOrderRequest.getPage()); + filterOrderRequest.setStartTime(collectOrderRequest.getStartTime()); + filterOrderRequest.setEndTime(collectOrderRequest.getEndTime()); + filterOrderRequest.setBillNo(collectOrderRequest.getBillNo()); + filterOrderRequest.setFromCorp(collectOrderRequest.getFromCorpName()); + filterOrderRequest.setAction(collectOrderRequest.getBusType()); + filterOrderRequest.setKeyWords(collectOrderRequest.getKeyWords()); + BaseResponse> baseResponse = ioCollectOrderService.selectImportUdi(filterOrderRequest); + return baseResponse; + }else { FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest(); filterThrOrderRequest.setLimit(collectOrderRequest.getLimit()); filterThrOrderRequest.setBillNo(collectOrderRequest.getBillNo()); diff --git a/src/main/java/com/glxp/api/service/collect/DownloadFactory.java b/src/main/java/com/glxp/api/service/collect/DownloadFactory.java index 228e74473..d914bbc85 100644 --- a/src/main/java/com/glxp/api/service/collect/DownloadFactory.java +++ b/src/main/java/com/glxp/api/service/collect/DownloadFactory.java @@ -22,6 +22,8 @@ public class DownloadFactory { @Resource private ThrOrderDownload thrOrderDownload; + @Resource + private IoCollectOrderService ioCollectOrderService; /** * 第三方单据类型 @@ -38,6 +40,8 @@ public class DownloadFactory { return ypcf002Download.downloadOrder(collectOrderRequest); }else if (busType.equals(BusTypeConstant.QXCF001.getBusType())) { return qxcf001Download.downloadOrder(collectOrderRequest); + }else if (busType.contains("SC")) { + return ioCollectOrderService.importUdi(collectOrderRequest); } else { return thrOrderDownload.downloadOrder(collectOrderRequest); } diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java index 6e13e0577..306704dd7 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java @@ -14,6 +14,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.Constant; @@ -49,6 +50,7 @@ import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.collect.CollectOrderBizResponse; import com.glxp.api.res.collect.IoCollectOrderResponse; import com.glxp.api.res.inout.IoOrderResponse; +import com.glxp.api.res.inout.IoStatOrderResponse; import com.glxp.api.res.thrsys.ThrInvProductResponse; import com.glxp.api.service.auth.SysWorkplaceService; import com.glxp.api.service.basic.*; @@ -254,26 +256,47 @@ public class IoCollectOrderService extends ServiceImpl list = orderService.filterList(filterOrderRequest); for (IoOrderResponse ioOrderEntity : list) { - if (collectOrderMapper.exists(new LambdaQueryWrapper().eq(IoCollectOrder::getBillNo, ioOrderEntity.getBillNo()))) { continue; } SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByBusType(ioOrderEntity.getAction()); if (sysWorkplaceDocumentEntity == null) continue; + String mainAction = ioOrderEntity.getMainAction(); + String fromCorpName = ""; + String shipperName = ""; + if (mainAction.equals(ConstantType.TYPE_PUT)){ + shipperName = ioOrderEntity.getFromName(); + fromCorpName = ioOrderEntity.getDeptName(); + }else { + shipperName = ioOrderEntity.getDeptName(); + fromCorpName = ioOrderEntity.getFromName(); + } IoCollectOrder collectOrder = IoCollectOrder.builder() .billNo(ioOrderEntity.getBillNo()) .fromType("UDI系统") .busType(ioOrderEntity.getAction()) .fromCorp(ioOrderEntity.getFromName()) + .fromCorpName(fromCorpName) .billTime(ioOrderEntity.getCreateTime()) + .shipperName(shipperName) .createTime(ioOrderEntity.getCreateTime()) .createUser(ioOrderEntity.getCreateUser()) .updateTime(new Date()) @@ -285,8 +308,13 @@ public class IoCollectOrderService extends ServiceImpl orderDetailBizEntities = orderDetailBizService.findByOrderId(ioOrderEntity.getBillNo()); List collectOrderBizs = new ArrayList<>(); + List collectOrderOriginBizs = new ArrayList<>(); for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) { UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByRelId(bizEntity.getBindRlFk() + ""); IoCollectOrderBiz collectOrderBiz = IoCollectOrderBiz.builder().orderIdFk(collectOrder.getBillNo()) @@ -310,14 +338,100 @@ public class IoCollectOrderService extends ServiceImpl> selectImportUdi(FilterOrderRequest filterOrderRequest) { + + List ioCollectOrders = new ArrayList<>(); + List list = orderService.filterList(filterOrderRequest); + PageInfo pageInfo = new PageInfo<>(list); + + for (IoOrderResponse ioOrderEntity : list) { + if (collectOrderMapper.exists(new LambdaQueryWrapper().eq(IoCollectOrder::getBillNo, ioOrderEntity.getBillNo()))) { + continue; + } + SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByBusType(ioOrderEntity.getAction()); + if (sysWorkplaceDocumentEntity == null) + continue; + String mainAction = ioOrderEntity.getMainAction(); + String fromCorpName = ""; + String shipperName = ""; + if (mainAction.equals(ConstantType.TYPE_PUT)){ + shipperName = ioOrderEntity.getFromName(); + fromCorpName = ioOrderEntity.getDeptName(); + }else { + shipperName = ioOrderEntity.getDeptName(); + fromCorpName = ioOrderEntity.getFromName(); + } + IoCollectOrder collectOrder = IoCollectOrder.builder() + .billNo(ioOrderEntity.getBillNo()) + .fromType("UDI系统") + .busType(ioOrderEntity.getAction()) + .fromCorp(ioOrderEntity.getFromName()) + .fromCorpName(fromCorpName) + .billTime(ioOrderEntity.getCreateTime()) + .shipperName(shipperName) + .createTime(ioOrderEntity.getCreateTime()) + .createUser(ioOrderEntity.getCreateUser()) + .updateTime(new Date()) + .orderCirType(sysWorkplaceDocumentEntity.getOrderCirType()) + .splitStatus(0) + .tagStatus(0) + .build(); + if (collectOrder.getWorkPlaceCode() != null) { + collectOrder.setTagStatus(1); + } + List orderDetailBizEntities = orderDetailBizService.findByOrderId(ioOrderEntity.getBillNo()); + List collectOrderBizs = new ArrayList<>(); + for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) { + UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByRelId(bizEntity.getBindRlFk() + ""); + IoCollectOrderBiz collectOrderBiz = IoCollectOrderBiz.builder().orderIdFk(collectOrder.getBillNo()) + .relId(bizEntity.getBindRlFk()) + .thrCode(udiRelevanceResponse.getMainId()) + .ybbm(udiRelevanceResponse.getYbbm()) + .payFeeCode(udiRelevanceResponse.getPayFeeCode()) + .cpmctymc(bizEntity.getCoName()) + .nameCode(bizEntity.getNameCode()) + .ggxh(bizEntity.getSpec()) + .batchNo(bizEntity.getBatchNo()) + .productDate(bizEntity.getProductDate()) + .expireDate(bizEntity.getExpireDate()) + .count(bizEntity.getCount()) + .measureUnit(bizEntity.getMeasname()) + .tagStatus(1) + .unTagCount(bizEntity.getCount()).build(); + + if (IntUtil.value(udiRelevanceResponse.getProductsType()) == 2) { + collectOrderBiz.setGgxh(udiRelevanceResponse.getBzgg()); + collectOrderBiz.setMeasureUnit(udiRelevanceResponse.getPrepnUnit()); + } + collectOrderBizs.add(collectOrderBiz); + } + collectOrder.setBizList(collectOrderBizs); + ioCollectOrders.add(collectOrder); } + + PageInfo pageInfoReturn = new PageInfo<>(ioCollectOrders); + BeanUtils.copyProperties(pageInfo,pageInfoReturn); + pageInfoReturn.setList(ioCollectOrders); + return ResultVOUtils.success(pageInfoReturn); } + public void importPrescribe(List basicSkPrescribeEntities) { //下载处方 if (CollUtil.isEmpty(basicSkPrescribeEntities))