From d3a6477aec05a3d5a98a94507ea9946a5bc35744 Mon Sep 17 00:00:00 2001 From: zane Date: Thu, 5 Sep 2024 11:41:45 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BD=AC=E6=8D=A2=E4=B8=BA=E5=8D=95=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../glxp/mipsdl/client/ctqyy/CtqyyClient.java | 175 +++++++++++++++--- .../glxp/mipsdl/dao/basic/BasicUdirelDao.java | 3 + .../base/UdiwmsBasicSkPrescribeRequest.java | 7 + .../res/udiwms/UdiRelevanceResponse.java | 2 + .../mapper/master/basic/BasicUdirelDao.xml | 73 ++++++++ 5 files changed, 231 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/glxp/mipsdl/client/ctqyy/CtqyyClient.java b/src/main/java/com/glxp/mipsdl/client/ctqyy/CtqyyClient.java index c2478ef..9e92b87 100644 --- a/src/main/java/com/glxp/mipsdl/client/ctqyy/CtqyyClient.java +++ b/src/main/java/com/glxp/mipsdl/client/ctqyy/CtqyyClient.java @@ -1374,6 +1374,93 @@ public class CtqyyClient extends CommonHttpClient { //补充其他查询条件 IPage page = vYpzsPresInfoMapper .selectPage(new Page(udiwmsBasicSkPrescribeRequest.getPage(), udiwmsBasicSkPrescribeRequest.getLimit()), wrapper); +// List presInfoEntities = page.getRecords(); +// if (CollUtil.isNotEmpty(presInfoEntities)) { +// //数据处理以basic_sk_prescribe,basic_sk_prescribe_item 主子返回 +// Map> groupedByPrescribeNumber = presInfoEntities.stream() +// .collect(Collectors.groupingBy(VYpzsPresInfo::getPRESCRIBE_NUMBER)); +// List basicSkPrescribeResponses = new ArrayList<>(); +// List finalBasicSkPrescribeResponses = basicSkPrescribeResponses; +// groupedByPrescribeNumber.forEach((key, value) -> { +// VYpzsPresInfo presInfoEntity = value.get(0); +// BasicSkPrescribeResponse basicSkPrescribeResponse = new BasicSkPrescribeResponse(); +// basicSkPrescribeResponse.setSickCode(presInfoEntity.getSICK_ID()); +// basicSkPrescribeResponse.setCode(presInfoEntity.getPRESCRIBE_NUMBER()); +// basicSkPrescribeResponse.setStooutNo(presInfoEntity.getSTOOUT_NO()); +// basicSkPrescribeResponse.setAddr("YPCF002"); +// DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); +// LocalDateTime dateTime = LocalDateTime.parse(presInfoEntity.getLAY_TIME(), formatter); +// basicSkPrescribeResponse.setPrescribeDate(dateTime); +// List itemList = new ArrayList<>(); +// value.forEach(entity -> +// { +// BasicSkPrescribeItemEntity basicSkPrescribeItemEntity = new BasicSkPrescribeItemEntity(); +// basicSkPrescribeItemEntity.setItemCode(entity.getPHYSIC_CODE()); +// BasicUdirelEntity basicUdirelEntity = basicUdirelDao.selectOne(new LambdaQueryWrapper().eq(BasicUdirelEntity::getMainId, entity.getPHYSIC_CODE())); +// if (basicUdirelEntity != null) { +// basicSkPrescribeItemEntity.setRelId(basicUdirelEntity.getId()); +// } +// basicSkPrescribeItemEntity.setItemName(entity.getPHYSIC_NAME()); +// basicSkPrescribeItemEntity.setGgxh(entity.getPACK_SPEC()); +// basicSkPrescribeItemEntity.setMeasureCount(entity.getLAY_PHYSIC_QUANTITY()); +// basicSkPrescribeItemEntity.setMeasureUnit(entity.getPHYSIC_UNIT()); +// itemList.add(basicSkPrescribeItemEntity); +// }); +// basicSkPrescribeResponse.setItemList(itemList); +// finalBasicSkPrescribeResponses.add(basicSkPrescribeResponse); +// }); +// PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); +// pageSimpleResponse.setTotal(page.getTotal()); +// pageSimpleResponse.setList(basicSkPrescribeResponses); +// return ResultVOUtils.success(pageSimpleResponse); +// } else { +// return ResultVOUtils.error(500, "下载失败!"); +// } + return this.ioCollectOrder(udiwmsBasicSkPrescribeRequest,page); + + } + + + /** + * 采购计划拉取视图 + * + * @param udiwmsThrOrderRequest + * @return + */ + @Override + public BaseResponse getThrOrders(UdiwmsThrOrderRequest udiwmsThrOrderRequest) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //补充其他查询条件 + IPage page = vYpzsPlanInfoMapper.selectPage(new Page(udiwmsThrOrderRequest.getPage(), udiwmsThrOrderRequest.getLimit()), wrapper); + List planInfoEntities = page.getRecords(); + List thrOrderResponses = null; + if (CollUtil.isNotEmpty(planInfoEntities)) { + //数据处理以thr_order,thr_order_detail 主子返回 + thrOrderResponses = planInfoEntities.stream().map(plan -> { + ThrOrderResponse thrOrderResponse = new ThrOrderResponse(); + List detailList = new ArrayList<>(); + ThrOrderDetailEntity detail = new ThrOrderDetailEntity(); + //TODO 封装数据 + + + detailList.add(detail); + thrOrderResponse.setDetailList(detailList); + return thrOrderResponse; + }).collect(Collectors.toList()); + } + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(page.getTotal()); + pageSimpleResponse.setList(thrOrderResponses); + return ResultVOUtils.success(pageSimpleResponse); + } + + + /** + * 中间表 + * @param udiwmsBasicSkPrescribeRequest + * @return + */ + private BaseResponse basicSkPrescribe(UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest,IPage page){ List presInfoEntities = page.getRecords(); if (CollUtil.isNotEmpty(presInfoEntities)) { //数据处理以basic_sk_prescribe,basic_sk_prescribe_item 主子返回 @@ -1416,41 +1503,71 @@ public class CtqyyClient extends CommonHttpClient { } else { return ResultVOUtils.error(500, "下载失败!"); } - } - /** - * 采购计划拉取视图 - * - * @param udiwmsThrOrderRequest + * 单据 + * @param udiwmsBasicSkPrescribeRequest * @return */ - @Override - public BaseResponse getThrOrders(UdiwmsThrOrderRequest udiwmsThrOrderRequest) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - //补充其他查询条件 - IPage page = vYpzsPlanInfoMapper.selectPage(new Page(udiwmsThrOrderRequest.getPage(), udiwmsThrOrderRequest.getLimit()), wrapper); - List planInfoEntities = page.getRecords(); - List thrOrderResponses = null; - if (CollUtil.isNotEmpty(planInfoEntities)) { - //数据处理以thr_order,thr_order_detail 主子返回 - thrOrderResponses = planInfoEntities.stream().map(plan -> { - ThrOrderResponse thrOrderResponse = new ThrOrderResponse(); - List detailList = new ArrayList<>(); - ThrOrderDetailEntity detail = new ThrOrderDetailEntity(); - //TODO 封装数据 - - - detailList.add(detail); - thrOrderResponse.setDetailList(detailList); - return thrOrderResponse; - }).collect(Collectors.toList()); + private BaseResponse ioCollectOrder(UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest,IPage page){ + List presInfoEntities = page.getRecords(); + if (CollUtil.isNotEmpty(presInfoEntities)) { + //数据处理以io_collect_order,io_collect_order_biz 主子返回 + Map> groupedByPrescribeNumber = presInfoEntities.stream() + .collect(Collectors.groupingBy(VYpzsPresInfo::getPRESCRIBE_NUMBER)); + List ioCollectOrders = new ArrayList<>(); + groupedByPrescribeNumber.forEach((key, value) -> { + VYpzsPresInfo presInfoEntity = value.get(0); + IoCollectOrder ioCollectOrder = new IoCollectOrder(); + ioCollectOrder.setBillNo(presInfoEntity.getPRESCRIBE_NUMBER()); + ioCollectOrder.setBusType(udiwmsBasicSkPrescribeRequest.getDocumentTypeCode()); + ioCollectOrder.setFromType("HIS系统"); + ioCollectOrder.setFromCorp(presInfoEntity.getSICK_ID()); + ioCollectOrder.setWorkPlaceCode(Long.valueOf(udiwmsBasicSkPrescribeRequest.getWorkPlaceCode())); + Date date = DateUtil.parseDate(presInfoEntity.getLAY_TIME()); + ioCollectOrder.setBillTime(date); + ioCollectOrder.setCreateTime(new Date()); + ioCollectOrder.setCreateUser(udiwmsBasicSkPrescribeRequest.getCreateUser()); + ioCollectOrder.setBackupOrderRemark1(presInfoEntity.getSTOOUT_NO()); + ioCollectOrder.setUpdateTime(new Date()); + ioCollectOrder.setOrderCirType(udiwmsBasicSkPrescribeRequest.getOrderCirType()); + ioCollectOrder.setSplitStatus(0); + ioCollectOrder.setTagStatus(0); + List detailList = new ArrayList<>(); + value.forEach(entity -> + { + CollectOrderBizResponse collectOrderBizResponse = new CollectOrderBizResponse(); + BasicUdirelEntity basicUdirel = new BasicUdirelEntity(); + basicUdirel.setMainId(entity.getPHYSIC_CODE()); + UdiRelevanceResponse udiRelevanceResponse = basicUdirelDao.selectOneUdi(basicUdirel); + if (udiRelevanceResponse != null) { + collectOrderBizResponse.setRelId(udiRelevanceResponse.getId()); + collectOrderBizResponse.setYbbm(udiRelevanceResponse.getYbbm()); + collectOrderBizResponse.setPayFeeCode(udiRelevanceResponse.getPayFeeCode()); + collectOrderBizResponse.setNameCode(udiRelevanceResponse.getNameCode()); + } + collectOrderBizResponse.setThrCode(entity.getPHYSIC_CODE()); + collectOrderBizResponse.setCpmctymc(entity.getPHYSIC_NAME()); + collectOrderBizResponse.setGgxh(entity.getPACK_SPEC()); + collectOrderBizResponse.setBatchNo(""); + collectOrderBizResponse.setCount(Integer.parseInt(entity.getLAY_PHYSIC_QUANTITY())); + collectOrderBizResponse.setMeasureUnit(entity.getPHYSIC_UNIT()); + collectOrderBizResponse.setTagStatus(1); + collectOrderBizResponse.setUnTagCount(0); + detailList.add(collectOrderBizResponse); + }); + ioCollectOrder.setCollectOrderBizResponseList(detailList); + ioCollectOrders.add(ioCollectOrder); + }); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(page.getTotal()); + pageSimpleResponse.setList(ioCollectOrders); + return ResultVOUtils.success(pageSimpleResponse); + } else { + return ResultVOUtils.error(500, "下载失败!"); } - PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); - pageSimpleResponse.setTotal(page.getTotal()); - pageSimpleResponse.setList(thrOrderResponses); - return ResultVOUtils.success(pageSimpleResponse); } + } diff --git a/src/main/java/com/glxp/mipsdl/dao/basic/BasicUdirelDao.java b/src/main/java/com/glxp/mipsdl/dao/basic/BasicUdirelDao.java index 1600814..33f0004 100644 --- a/src/main/java/com/glxp/mipsdl/dao/basic/BasicUdirelDao.java +++ b/src/main/java/com/glxp/mipsdl/dao/basic/BasicUdirelDao.java @@ -2,10 +2,13 @@ package com.glxp.mipsdl.dao.basic; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.glxp.mipsdl.entity.basic.BasicUdirelEntity; +import com.glxp.mipsdl.res.udiwms.UdiRelevanceResponse; import org.apache.ibatis.annotations.Mapper; @Mapper public interface BasicUdirelDao extends BaseMapper { public BasicUdirelEntity selectByNameCode(String nameCode); + + UdiRelevanceResponse selectOneUdi(BasicUdirelEntity basicUdirel); } diff --git a/src/main/java/com/glxp/mipsdl/req/base/UdiwmsBasicSkPrescribeRequest.java b/src/main/java/com/glxp/mipsdl/req/base/UdiwmsBasicSkPrescribeRequest.java index 149a1c0..b3ce867 100644 --- a/src/main/java/com/glxp/mipsdl/req/base/UdiwmsBasicSkPrescribeRequest.java +++ b/src/main/java/com/glxp/mipsdl/req/base/UdiwmsBasicSkPrescribeRequest.java @@ -114,5 +114,12 @@ public class UdiwmsBasicSkPrescribeRequest extends ListPageRequest { private String stooutNo; + /** + * 单据流通方式: 1:配送流通; 2:出库使用 + */ + private Integer orderCirType; + + //单据编码 + private String documentTypeCode; } diff --git a/src/main/java/com/glxp/mipsdl/res/udiwms/UdiRelevanceResponse.java b/src/main/java/com/glxp/mipsdl/res/udiwms/UdiRelevanceResponse.java index 44a5485..cf6ca32 100644 --- a/src/main/java/com/glxp/mipsdl/res/udiwms/UdiRelevanceResponse.java +++ b/src/main/java/com/glxp/mipsdl/res/udiwms/UdiRelevanceResponse.java @@ -127,6 +127,8 @@ public class UdiRelevanceResponse { private Integer count; private Long deId; + private String payFeeCode; + private Integer bpcrid; diff --git a/src/main/resources/mybatis/mapper/master/basic/BasicUdirelDao.xml b/src/main/resources/mybatis/mapper/master/basic/BasicUdirelDao.xml index b9b58a4..04f6623 100644 --- a/src/main/resources/mybatis/mapper/master/basic/BasicUdirelDao.xml +++ b/src/main/resources/mybatis/mapper/master/basic/BasicUdirelDao.xml @@ -42,4 +42,77 @@ where basic_products.nameCode = #{nameCode} limit 1 + +