From a7b199f6bd7c1640f0451f9e2b77f7b116a27fa9 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Thu, 2 Mar 2023 10:54:08 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=82=A3=E8=80=85?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E6=BA=AF=E6=BA=90=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inout/IoOrderDetailResultController.java | 19 +++---- .../inv/InvSickTraceController.java | 52 +++++++++++++++++++ .../api/req/inv/FilterSickTraceRequest.java | 9 ++++ .../glxp/api/res/inout/IoCodeResponse.java | 6 +++ .../mybatis/mapper/inout/IoCodeDao.xml | 26 +++++----- 5 files changed, 88 insertions(+), 24 deletions(-) create mode 100644 src/main/java/com/glxp/api/controller/inv/InvSickTraceController.java create mode 100644 src/main/java/com/glxp/api/req/inv/FilterSickTraceRequest.java diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java index 6e806dc48..8af6002f4 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java @@ -8,9 +8,12 @@ import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.inout.IoOrderEntity; +import com.glxp.api.req.inout.FilterCodeRequest; import com.glxp.api.req.inout.FilterOrderDetailResultRequest; +import com.glxp.api.res.inout.IoCodeResponse; import com.glxp.api.res.inout.IoOrderDetailResultResponse; import com.glxp.api.service.basic.IBasicBussinessTypeService; +import com.glxp.api.service.inout.IoCodeService; import com.glxp.api.service.inout.IoOrderDetailResultService; import com.glxp.api.service.inout.IoOrderService; import org.springframework.validation.BindingResult; @@ -31,6 +34,8 @@ public class IoOrderDetailResultController { private IoOrderDetailResultService orderDetailResultService; @Resource IBasicBussinessTypeService basicBussinessTypeService; + @Resource + IoCodeService codeService; /** * 查询单据扫码明细列表 @@ -59,21 +64,11 @@ public class IoOrderDetailResultController { if (StrUtil.isEmpty(filterErpOrderRequest.getOrderIdFk())) { return ResultVOUtils.error(500, "单据号不能为空!"); } + IoOrderEntity orderEntity = orderService.findByBillNo(filterErpOrderRequest.getOrderIdFk()); + BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction()); filterErpOrderRequest.setPage(null); filterErpOrderRequest.setLimit(null); - - IoOrderEntity orderEntity = orderService.findByBillNo(filterErpOrderRequest.getOrderIdFk()); List list = orderDetailResultService.filterList(filterErpOrderRequest); - - - - - BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction()); - if ((bussinessTypeEntity.getOrderVisibleType() == 1 && orderEntity.getStatus() == 4) || filterErpOrderRequest.getShowType() == 1) { - //todo使用关联查 -// erpOrderEntities = transferSerList(erpOrderEntities, filterErpOrderRequest.getOrderId()); - } - return ResultVOUtils.success(list); } diff --git a/src/main/java/com/glxp/api/controller/inv/InvSickTraceController.java b/src/main/java/com/glxp/api/controller/inv/InvSickTraceController.java new file mode 100644 index 000000000..0b3a00145 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/inv/InvSickTraceController.java @@ -0,0 +1,52 @@ +package com.glxp.api.controller.inv; + +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageInfo; +import com.glxp.api.annotation.AuthRuleAnnotation; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.entity.basic.BasicCorpEntity; +import com.glxp.api.req.inout.FilterOrderRequest; +import com.glxp.api.req.inv.FilterSickTraceRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.inout.IoOrderResponse; +import com.glxp.api.service.basic.BasicCorpService; +import com.glxp.api.service.inout.IoOrderService; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +@RestController +public class InvSickTraceController { + + @Resource + IoOrderService orderService; + @Resource + BasicCorpService basicCorpService; + + + @AuthRuleAnnotation("") + @GetMapping("spms/inv/sick/order/trace") + public BaseResponse filterSickTrace(FilterSickTraceRequest filterSickTraceRequest) { + + if (StrUtil.isEmpty(filterSickTraceRequest.getSickAd())) { + return ResultVOUtils.error(500, "病人住院号不能为空!"); + } + BasicCorpEntity basicCorpEntity = basicCorpService.selectByName(filterSickTraceRequest.getSickAd()); + if (basicCorpEntity == null) { + return ResultVOUtils.error(500, "未查询到病人信息"); + } + + FilterOrderRequest orderFilterRequest = new FilterOrderRequest(); + orderFilterRequest.setFromCorp(basicCorpEntity.getErpId()); + List orderEntityList = orderService.filterList(orderFilterRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(orderEntityList); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(orderEntityList); + return ResultVOUtils.success(pageSimpleResponse); + } +} diff --git a/src/main/java/com/glxp/api/req/inv/FilterSickTraceRequest.java b/src/main/java/com/glxp/api/req/inv/FilterSickTraceRequest.java new file mode 100644 index 000000000..f82cf263b --- /dev/null +++ b/src/main/java/com/glxp/api/req/inv/FilterSickTraceRequest.java @@ -0,0 +1,9 @@ +package com.glxp.api.req.inv; + +import lombok.Data; + +@Data +public class FilterSickTraceRequest { + + private String sickAd; //病人住院号 +} diff --git a/src/main/java/com/glxp/api/res/inout/IoCodeResponse.java b/src/main/java/com/glxp/api/res/inout/IoCodeResponse.java index 96aff7f70..6472ee4a8 100644 --- a/src/main/java/com/glxp/api/res/inout/IoCodeResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoCodeResponse.java @@ -142,4 +142,10 @@ public class IoCodeResponse { * 货位名称 */ private String warehouseName; + + + private String ggxh; + private String ylqxzcrbarmc; + private String zczbhhzbapzbh; + private String manufactory; } diff --git a/src/main/resources/mybatis/mapper/inout/IoCodeDao.xml b/src/main/resources/mybatis/mapper/inout/IoCodeDao.xml index 449119b43..07c4936ad 100644 --- a/src/main/resources/mybatis/mapper/inout/IoCodeDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoCodeDao.xml @@ -50,18 +50,20 @@ - \ No newline at end of file + From 8e077d72e5532c64ebf2c70a297800a04340f41e Mon Sep 17 00:00:00 2001 From: x_z Date: Thu, 2 Mar 2023 11:19:15 +0800 Subject: [PATCH 2/5] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E4=B8=89=E6=9C=9F?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C=E5=BC=82=E5=B8=B8=E4=BF=A1=E6=81=AF=E6=9C=AA?= =?UTF-8?q?=E5=A1=AB=E5=85=85=E5=88=B0=E5=8D=95=E6=8D=AE=E9=97=AE=E9=A2=98?= =?UTF-8?q?=202.=E4=BF=AE=E5=A4=8D=E5=BD=95=E5=85=A5=E4=BA=A7=E5=93=81?= =?UTF-8?q?=E6=97=B6=E4=BD=BF=E7=94=A8UDI=E7=A0=81=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E4=B8=8D=E5=88=B0=E6=95=B0=E6=8D=AE=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/glxp/api/controller/basic/UdiRlSupController.java | 4 +++- .../java/com/glxp/api/service/inout/IoAddInoutService.java | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/basic/UdiRlSupController.java b/src/main/java/com/glxp/api/controller/basic/UdiRlSupController.java index 54f60e64d..b00266c81 100644 --- a/src/main/java/com/glxp/api/controller/basic/UdiRlSupController.java +++ b/src/main/java/com/glxp/api/controller/basic/UdiRlSupController.java @@ -68,8 +68,10 @@ public class UdiRlSupController { if (StrUtil.isNotEmpty(companyProductRelevanceRequest.getUdiCode())) { UdiEntity udiEntity = FilterUdiUtils.getUdi(companyProductRelevanceRequest.getUdiCode()); - if (udiEntity != null) + if (udiEntity != null) { companyProductRelevanceRequest.setNameCode(udiEntity.getUdi()); + companyProductRelevanceRequest.setUnionCode(udiEntity.getUdi()); + } } //如果输入DI标识,精确找到不同层级对应的产品信息 if (StrUtil.isNotEmpty(companyProductRelevanceRequest.getUnionCode())) { diff --git a/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java b/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java index a301cc605..50722ef92 100644 --- a/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java @@ -147,7 +147,7 @@ public class IoAddInoutService { //三期校验 String checkOriginMsg = checkOriginCode(warehouseEntity); if (StrUtil.isNotEmpty(checkOriginMsg)) { - orderEntity.setErrMsg("checkOriginMsg"); + orderEntity.setErrMsg(checkOriginMsg); orderEntity.setStatus(ConstantStatus.ORDER_STATS_ERROR); orderEntity.setUpdateTime(new Date()); orderService.update(orderEntity); From 702c655810562a3523369de7fbdc3cb61270729c Mon Sep 17 00:00:00 2001 From: anthonywj Date: Thu, 2 Mar 2023 13:53:27 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E5=BE=85=E6=A0=A1=E9=AA=8C=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inout/IoOrderDetailResultController.java | 25 ++- .../res/inout/IoOrderCheckResultResponse.java | 171 ++++++++++++++++++ .../service/inout/IoCheckInoutService.java | 65 ++++++- 3 files changed, 254 insertions(+), 7 deletions(-) create mode 100644 src/main/java/com/glxp/api/res/inout/IoOrderCheckResultResponse.java diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java index 8af6002f4..cc3d5e37d 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java @@ -7,15 +7,15 @@ import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; +import com.glxp.api.entity.inout.IoOrderDetailBizEntity; +import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.req.inout.FilterCodeRequest; import com.glxp.api.req.inout.FilterOrderDetailResultRequest; import com.glxp.api.res.inout.IoCodeResponse; import com.glxp.api.res.inout.IoOrderDetailResultResponse; import com.glxp.api.service.basic.IBasicBussinessTypeService; -import com.glxp.api.service.inout.IoCodeService; -import com.glxp.api.service.inout.IoOrderDetailResultService; -import com.glxp.api.service.inout.IoOrderService; +import com.glxp.api.service.inout.*; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @@ -72,4 +72,23 @@ public class IoOrderDetailResultController { return ResultVOUtils.success(list); } + + @Resource + IoOrderDetailBizService orderDetailBizService; + @Resource + IoOrderDetailCodeService orderDetailCodeService; + @Resource + IoCheckInoutService checkInoutService; + + @AuthRuleAnnotation("") + @GetMapping("/udiwms/inout/wditCheck/filterList") + public BaseResponse waitCheckList(FilterOrderDetailResultRequest orderDetailResultRequest) { + + List orderDetailBizEntities = orderDetailBizService.findByOrderId(orderDetailResultRequest.getOrderIdFk()); + List orderDetailCodeEntities = orderDetailCodeService.findByOrderId(orderDetailResultRequest.getOrderIdFk()); + + return ResultVOUtils.success(checkInoutService.combineCheck(orderDetailBizEntities, orderDetailCodeEntities)); + } + + } diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderCheckResultResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderCheckResultResponse.java new file mode 100644 index 000000000..963b44b9a --- /dev/null +++ b/src/main/java/com/glxp/api/res/inout/IoOrderCheckResultResponse.java @@ -0,0 +1,171 @@ +package com.glxp.api.res.inout; + +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class IoOrderCheckResultResponse { + + private Integer id; + + /** + * 订单号外键 + */ + private String orderIdFk; + + /** + * 耗材字典ID外键 + */ + private Long bindRlFk; + + /** + * DI信息UUID外键 + */ + private String uuidFk; + + /** + * DI + */ + private String nameCode; + + /** + * 批次号 + */ + private String bBatchNo; + + /** + * 生产日期 + */ + private String bProductDate; + + /** + * 失效日期 + */ + private String bExpireDate; + + + /** + * 批次号 + */ + private String sBatchNo; + + /** + * 生产日期 + */ + private String sProductDate; + + /** + * 失效日期 + */ + private String sExpireDate; + + /** + * 产品通用名称 + */ + private String coName; + + /** + * 注册证号 + */ + private String certCode; + + /** + * 医疗器械注册备案证号 + */ + private String ylqxzcrbarmc; + + /** + * 生产企业 + */ + private String manufacturer; + + /** + * 计量单位 + */ + private String measname; + + /** + * 规格型号 + */ + private String spec; + + /** + * 价格 + */ + private BigDecimal price; + + /** + * 销售清单号 + */ + private String secSalesListNo; + + /** + * 发票第一票 + */ + private String firstSalesInvNo; + + /** + * 发票第二票 + */ + private String secSalesInvNo; + + /** + * 发票有效期 + */ + private String invoiceDate; + + /** + * 供应商ID外键 + */ + private String supId; + + /** + * 绑定供应商状态 + */ + private String bindSupStatus; + + /** + * 单据数量 + */ + private int count; + + /** + * 备注 + */ + private String remark; + + /** + * 扩展字段1 + */ + private String remark1; + + /** + * 扩展字段2 + */ + private String remark2; + + /** + * 扩展字段3 + */ + private String remark3; + + /** + * 扩展字段4 + */ + private String remark4; + + /** + * 扩展字段5 + */ + private String remark5; + + private String bindRlIds; + + + private boolean checkSuccess; + + private int scanCount; + + +} diff --git a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java index 2c64a917d..6229c1aa4 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java @@ -2,11 +2,13 @@ package com.glxp.api.service.inout; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; +import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.ConstantStatus; import com.glxp.api.constant.ConstantType; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.inout.*; import com.glxp.api.entity.inv.InvPreinDetailEntity; +import com.glxp.api.res.inout.IoOrderCheckResultResponse; import com.glxp.api.res.inout.IoOrderDetailBizResponse; import com.glxp.api.res.inout.IoOrderDetailCodeResponse; import com.glxp.api.service.basic.IBasicBussinessTypeService; @@ -17,10 +19,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 校验出入库服务 @@ -405,6 +404,64 @@ public class IoCheckInoutService { return errMsg; } + //单据合并校验 + public List combineCheck(List orderDetailBizEntities, List orderDetailCodeEntities) { + + List orderCheckResultResponses = new ArrayList<>(); + + for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) { + boolean isPass = false; + for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) { + if (!codeEntity.isCheckSuccess() && checkId(bizEntity, codeEntity) == null + && checkBatchNo(bizEntity, codeEntity) == null + ) { + //将产品ID,批次号匹配的合并,添加到列表 + IoOrderCheckResultResponse ioOrderCheckResultResponse = new IoOrderCheckResultResponse(); + BeanUtils.copyProperties(bizEntity, ioOrderCheckResultResponse); + ioOrderCheckResultResponse.setBBatchNo(bizEntity.getBatchNo()); + ioOrderCheckResultResponse.setBProductDate(bizEntity.getProductDate()); + ioOrderCheckResultResponse.setBExpireDate(bizEntity.getExpireDate()); + + ioOrderCheckResultResponse.setSBatchNo(codeEntity.getBatchNo()); + ioOrderCheckResultResponse.setSProductDate(codeEntity.getProductDate()); + ioOrderCheckResultResponse.setSExpireDate(codeEntity.getExpireDate()); + + bizEntity.setCheckSuccess(true); + codeEntity.setCheckSuccess(true); + bizEntity.setScanCount(codeEntity.getReCount()); + isPass = true; + orderCheckResultResponses.add(ioOrderCheckResultResponse); + break; + } + } + if (!isPass) { + //将未与扫码单 + IoOrderCheckResultResponse ioOrderCheckResultResponse = new IoOrderCheckResultResponse(); + BeanUtils.copyProperties(bizEntity, ioOrderCheckResultResponse); + ioOrderCheckResultResponse.setBBatchNo(bizEntity.getBatchNo()); + ioOrderCheckResultResponse.setBProductDate(bizEntity.getProductDate()); + ioOrderCheckResultResponse.setBExpireDate(bizEntity.getExpireDate()); + bizEntity.setScanCount(0); + ioOrderCheckResultResponse.setCheckSuccess(false); + orderCheckResultResponses.add(ioOrderCheckResultResponse); + } + } + for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) { + if (!codeEntity.isCheckSuccess()) { + IoOrderCheckResultResponse ioOrderCheckResultResponse = new IoOrderCheckResultResponse(); + BeanUtils.copyProperties(codeEntity, ioOrderCheckResultResponse); + ioOrderCheckResultResponse.setSBatchNo(codeEntity.getBatchNo()); + ioOrderCheckResultResponse.setSProductDate(codeEntity.getProductDate()); + ioOrderCheckResultResponse.setSExpireDate(codeEntity.getExpireDate()); + ioOrderCheckResultResponse.setCount(0); + orderCheckResultResponses.add(ioOrderCheckResultResponse); + } + } + + + return orderCheckResultResponses; + } + //扫码单反向校验 public String codeOrderCheck(List orderDetailCodeEntities, List orderDetailBizEntities) { From 5e915fd4f0f37da6a43f965c042e2deb18b3a172 Mon Sep 17 00:00:00 2001 From: x_z Date: Thu, 2 Mar 2023 14:46:32 +0800 Subject: [PATCH 4/5] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=8A=9F=E8=83=BD=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/inv/InvProductController.java | 13 ++++++++ .../com/glxp/api/dao/basic/UdiProductDao.java | 8 ++++- .../glxp/api/res/inout/IoOrderResponse.java | 5 +++ .../inv/impl/InvProductDetailServiceImpl.java | 32 ++++++++++++++----- .../mybatis/mapper/basic/UdiProductDao.xml | 3 ++ .../mybatis/mapper/inv/invProductDao.xml | 2 +- 6 files changed, 53 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/inv/InvProductController.java b/src/main/java/com/glxp/api/controller/inv/InvProductController.java index 15e8d7c7b..af464169f 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvProductController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvProductController.java @@ -21,6 +21,7 @@ import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.auth.WarehouseUserService; import com.glxp.api.service.inv.InvProductDetailService; import com.glxp.api.service.inv.InvProductService; +import com.glxp.api.util.DateUtil; import com.glxp.api.util.udi.FilterUdiUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.BindingResult; @@ -100,6 +101,18 @@ public class InvProductController { }); } + //根据单据日期排序 + list.sort((o1, o2) -> { + long o1OrderTime = DateUtil.parseDate(o1.getOrderTime()).getTime(); + long o2OrderTime = DateUtil.parseDate(o2.getOrderTime()).getTime(); + if (o1OrderTime > o2OrderTime) { + return 1; + } else if (o1OrderTime < o2OrderTime) { + return -1; + } + return 0; + }); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(list); diff --git a/src/main/java/com/glxp/api/dao/basic/UdiProductDao.java b/src/main/java/com/glxp/api/dao/basic/UdiProductDao.java index 523d76e3f..e6d22a4d9 100644 --- a/src/main/java/com/glxp/api/dao/basic/UdiProductDao.java +++ b/src/main/java/com/glxp/api/dao/basic/UdiProductDao.java @@ -53,5 +53,11 @@ public interface UdiProductDao { */ void importUdiInfo(@Param("udiInfoEntities") List udiInfoEntities); - + /** + * 查询包装层级 + * + * @param nameCode + * @return + */ + Integer selectPackLevel(@Param("nameCode") String nameCode); } diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java index ac7c8cdf8..5ef70d95c 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java @@ -216,6 +216,11 @@ public class IoOrderResponse { */ private Integer exportStatus; + /** + * 校验信息 + */ + private String errMsg; + public String getFromName() { diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvProductDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvProductDetailServiceImpl.java index 3c162f23a..3dc23192f 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvProductDetailServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvProductDetailServiceImpl.java @@ -6,17 +6,16 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; import com.glxp.api.constant.ConstantType; import com.glxp.api.dao.basic.BasicBussinessTypeDao; +import com.glxp.api.dao.basic.UdiProductDao; import com.glxp.api.dao.inout.IoOrderDao; import com.glxp.api.dao.inv.InvProductDetailDao; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; -import com.glxp.api.entity.basic.UdiEntity; import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.entity.inv.InvProductDetailEntity; import com.glxp.api.req.inv.FilterInvProductDetailRequest; import com.glxp.api.res.inv.InvProductDetailResponse; import com.glxp.api.service.inv.InvProductDetailService; import com.glxp.api.util.DateUtil; -import com.glxp.api.util.udi.FilterUdiUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -34,6 +33,8 @@ public class InvProductDetailServiceImpl implements InvProductDetailService { private BasicBussinessTypeDao bussinessTypeDao; @Resource private IoOrderDao orderDao; + @Resource + private UdiProductDao udiProductDao; @Override @@ -113,14 +114,29 @@ public class InvProductDetailServiceImpl implements InvProductDetailService { @Override public void setOrderInfo(InvProductDetailResponse response) { + //查询DI层级,根据DI层级设置数量取值 + Integer packLevel = udiProductDao.selectPackLevel(response.getNameCode()); //设置出入库中文及出入库数量 - if (response.getMainAction().equals(ConstantType.TYPE_OUT)) { - response.setMainActionStr("出库"); - response.setOutCount(response.getCount()); + if (null != packLevel && packLevel != 1) { + //多级包装 + if (response.getMainAction().equals(ConstantType.TYPE_OUT)) { + response.setMainActionStr("出库"); + response.setOutCount(response.getReCount()); + } else { + response.setMainActionStr("入库"); + response.setInCount(response.getReCount()); + } } else { - response.setMainActionStr("入库"); - response.setInCount(response.getCount()); + //单层包装 + if (response.getMainAction().equals(ConstantType.TYPE_OUT)) { + response.setMainActionStr("出库"); + response.setOutCount(response.getCount()); + } else { + response.setMainActionStr("入库"); + response.setInCount(response.getCount()); + } } + //设置单据类型名称 BasicBussinessTypeEntity busType = bussinessTypeDao.selectOne(new QueryWrapper().select("name").eq("action", response.getAction())); response.setActionName(busType.getName()); @@ -137,7 +153,7 @@ public class InvProductDetailServiceImpl implements InvProductDetailService { } List datas = invProductDetailDao.selectList(new QueryWrapper().eq("relId", relId).eq(StrUtil.isNotEmpty(batchNo), "batchNo", batchNo) - .isNull(StrUtil.isEmpty(batchNo), "batchNo").eq(StrUtil.isNotEmpty(supId),"supId", supId).eq("deptCode", deptCode).eq("invCode", invCode).eq(StrUtil.isNotEmpty(invSpaceCode), "invSpaceCode", invSpaceCode)); + .isNull(StrUtil.isEmpty(batchNo), "batchNo").eq(StrUtil.isNotEmpty(supId), "supId", supId).eq("deptCode", deptCode).eq("invCode", invCode).eq(StrUtil.isNotEmpty(invSpaceCode), "invSpaceCode", invSpaceCode)); int count = 0; if (CollUtil.isNotEmpty(datas)) { diff --git a/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml b/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml index 512523f9a..b7fa62766 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml @@ -392,4 +392,7 @@ + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/inv/invProductDao.xml b/src/main/resources/mybatis/mapper/inv/invProductDao.xml index 1381932bf..38719ddf0 100644 --- a/src/main/resources/mybatis/mapper/inv/invProductDao.xml +++ b/src/main/resources/mybatis/mapper/inv/invProductDao.xml @@ -79,7 +79,7 @@ - group by ip.relIdFk + group by ip.relIdFk, ip.batchNo order by ip.updateTime desc From e72352d7f00ec1b2aa33e6be79e06a7de3e81fa0 Mon Sep 17 00:00:00 2001 From: wangwei <1610949092@qq.com> Date: Thu, 2 Mar 2023 15:09:20 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BB=93=E5=BA=93bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/glxp/api/controller/thrsys/ThrDeptController.java | 3 ++- .../java/com/glxp/api/dao/thrsys/ThrInvWarehouseDao.java | 2 ++ .../api/req/thrsys/FilterThrSubInvWarehouseRequest.java | 1 + .../glxp/api/service/thrsys/ThrInvWarehouseService.java | 1 + .../service/thrsys/impl/ThrInvWarehouseServiceImpl.java | 5 +++++ .../mybatis/mapper/thrsys/ThrInvWarehouseDao.xml | 8 ++++++++ 6 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/glxp/api/controller/thrsys/ThrDeptController.java b/src/main/java/com/glxp/api/controller/thrsys/ThrDeptController.java index 2ae525b16..097c711ce 100644 --- a/src/main/java/com/glxp/api/controller/thrsys/ThrDeptController.java +++ b/src/main/java/com/glxp/api/controller/thrsys/ThrDeptController.java @@ -155,7 +155,8 @@ public class ThrDeptController { // return ResultVOUtils.error(500, "请先关联仓库对应的第三方仓库,再关联分库!"); // } // filterThrSubInvWarehouseRequest.setParentId((String) thirdId); - List thrInvWarehouseEntities = thrInvWarehouseService.filterThrInvWarehouse(filterThrSubInvWarehouseRequest); + filterThrSubInvWarehouseRequest.setStatus(0); + List thrInvWarehouseEntities = thrInvWarehouseService.selectByThrDeptCode(filterThrSubInvWarehouseRequest); PageInfo pageInfo; pageInfo = new PageInfo<>(thrInvWarehouseEntities); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); diff --git a/src/main/java/com/glxp/api/dao/thrsys/ThrInvWarehouseDao.java b/src/main/java/com/glxp/api/dao/thrsys/ThrInvWarehouseDao.java index 39c74ca23..df1b16eda 100644 --- a/src/main/java/com/glxp/api/dao/thrsys/ThrInvWarehouseDao.java +++ b/src/main/java/com/glxp/api/dao/thrsys/ThrInvWarehouseDao.java @@ -16,6 +16,8 @@ public interface ThrInvWarehouseDao { List selectByPid(String pid); + List selectByThrDeptCode(FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest); + boolean insertThrInvWarehouse(ThrInvWarehouseEntity thrInvWarehouseEntity); boolean insertThrInvWarehouses(@Param("thrInvWarehouseEntitys") List thrInvWarehouseEntitys); diff --git a/src/main/java/com/glxp/api/req/thrsys/FilterThrSubInvWarehouseRequest.java b/src/main/java/com/glxp/api/req/thrsys/FilterThrSubInvWarehouseRequest.java index 2c9b5b51f..a728f1932 100644 --- a/src/main/java/com/glxp/api/req/thrsys/FilterThrSubInvWarehouseRequest.java +++ b/src/main/java/com/glxp/api/req/thrsys/FilterThrSubInvWarehouseRequest.java @@ -11,5 +11,6 @@ public class FilterThrSubInvWarehouseRequest extends ListPageRequest { private String name; private String parentId; private String thirdSysFk; + private Integer status; } diff --git a/src/main/java/com/glxp/api/service/thrsys/ThrInvWarehouseService.java b/src/main/java/com/glxp/api/service/thrsys/ThrInvWarehouseService.java index 362674b0f..073a23ba3 100644 --- a/src/main/java/com/glxp/api/service/thrsys/ThrInvWarehouseService.java +++ b/src/main/java/com/glxp/api/service/thrsys/ThrInvWarehouseService.java @@ -15,6 +15,7 @@ public interface ThrInvWarehouseService { List filterThrInvWarehouse(FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest); List selectByPid(String pid); + List selectByThrDeptCode( FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest); boolean insertThrInvWarehouse(ThrInvWarehouseEntity thrInvWarehouseEntity); diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvWarehouseServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvWarehouseServiceImpl.java index 37230d554..b03d8e96c 100644 --- a/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvWarehouseServiceImpl.java +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvWarehouseServiceImpl.java @@ -63,6 +63,11 @@ public class ThrInvWarehouseServiceImpl implements ThrInvWarehouseService { return thrInvWarehouseDao.selectByPid(pid); } + @Override + public List selectByThrDeptCode(FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest) { + return thrInvWarehouseDao.selectByThrDeptCode(filterThrSubInvWarehouseRequest); + } + @Override public boolean insertThrInvWarehouse(ThrInvWarehouseEntity thrInvWarehouseEntity) { return thrInvWarehouseDao.insertThrInvWarehouse(thrInvWarehouseEntity); diff --git a/src/main/resources/mybatis/mapper/thrsys/ThrInvWarehouseDao.xml b/src/main/resources/mybatis/mapper/thrsys/ThrInvWarehouseDao.xml index 924e5a476..fa340e07e 100644 --- a/src/main/resources/mybatis/mapper/thrsys/ThrInvWarehouseDao.xml +++ b/src/main/resources/mybatis/mapper/thrsys/ThrInvWarehouseDao.xml @@ -39,6 +39,14 @@ WHERE parentId = #{pid} + + +