From cfd5403d09113e9b7a907867692c7bae85a44680 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Tue, 7 Feb 2023 13:49:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8D=95=E6=8D=AE=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/inout/IoOrderController.java | 35 +++++++++++++++++-- .../inout/IoOrderDetailCodeController.java | 4 +-- .../service/inout/IoCheckInoutService.java | 24 +++++++++++-- .../inout/IoOrderDetailCodeService.java | 3 ++ .../impl/IoOrderDetailCodeServiceImpl.java | 17 +++++++++ 5 files changed, 75 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java index 387d0bb80..dc4d68b39 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java @@ -1,20 +1,23 @@ package com.glxp.api.controller.inout; +import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; 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.constant.ConstantStatus; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.inout.IoCodeTempEntity; +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.AddOrderRequest; import com.glxp.api.req.inout.FilterOrderRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.inout.IoOrderResponse; import com.glxp.api.service.basic.IBasicBussinessTypeService; -import com.glxp.api.service.inout.IoCodeTempService; -import com.glxp.api.service.inout.IoOrderService; +import com.glxp.api.service.inout.*; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; @@ -37,6 +40,8 @@ public class IoOrderController { private IBasicBussinessTypeService basicBussinessTypeService; @Resource private IoCodeTempService codeTempService; + @Resource + private IoCheckInoutService checkInoutService; /** * 查询单据列表 @@ -65,6 +70,8 @@ public class IoOrderController { return ResultVOUtils.success(pageSimpleResponse); } + + //草稿保存 @AuthRuleAnnotation("") @PostMapping("warehouse/inout/saveOrderWeb") public BaseResponse saveOrderWeb(@RequestBody AddOrderRequest addOrderRequest) { @@ -86,7 +93,29 @@ public class IoOrderController { warehouseEntity.setDeptCode(orderEntity.getDeptCode()); warehouseEntity.setInvCode(orderEntity.getInvCode()); codeTempService.updateByOrderId(warehouseEntity); - return ResultVOUtils.success(); + return ResultVOUtils.success("保存成功!"); + } + + @Resource + IoOrderDetailBizService orderDetailBizService; + @Resource + IoOrderDetailCodeService orderDetailCodeService; + + //单据提交 + @AuthRuleAnnotation("") + @GetMapping("warehouse/inout/submitOrderWeb") + public BaseResponse submitOrderWeb(AddOrderRequest addOrderRequest) { + + //校验单据是否已完成 + List orderDetailBizEntities = orderDetailBizService.findByOrderId(addOrderRequest.getBillNo()); + List orderDetailCodeEntities = orderDetailCodeService.findByOrderId(addOrderRequest.getBillNo()); + String errMsg = checkInoutService.bizOrderCheck(orderDetailBizEntities, orderDetailCodeEntities); + if (StrUtil.isNotEmpty(errMsg)) { + return ResultVOUtils.error(500, "单据未校验完成,请检查后重新提交!"); + } + saveOrderWeb(addOrderRequest); + checkInoutService.check(addOrderRequest.getBillNo()); + return ResultVOUtils.success("提交成功!"); } diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailCodeController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailCodeController.java index 6124966e2..aab09deb9 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailCodeController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailCodeController.java @@ -33,8 +33,8 @@ public class IoOrderDetailCodeController { //获取新增扫码单据详情---临时接口查询 @AuthRuleAnnotation("") @GetMapping("udiwms/inout/order/draft/detailCode") - public BaseResponse getDraftsDetailCode() { - List orderEntityList = ioOrderDetailCodeDao.selectList(); + public BaseResponse getDraftsDetailCode(String orderId) { + List orderEntityList = ioOrderDetailCodeService.checkOrderList(orderId); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(100l); pageSimpleResponse.setList(orderEntityList); 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 9eb686fb7..fdb67a498 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java @@ -236,7 +236,8 @@ public class IoCheckInoutService { } //业务单正向校验 - public void bizOrderCheck(List orderDetailBizEntities, List orderDetailCodeEntities) { + public String bizOrderCheck(List orderDetailBizEntities, List orderDetailCodeEntities) { + String errMsg = ""; for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) { for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) { if (!bizEntity.isCheckSuccess() && !codeEntity.isCheckSuccess() && checkId(bizEntity, codeEntity) == null @@ -248,6 +249,7 @@ public class IoCheckInoutService { if (checkCount(bizEntity, codeEntity) == null) { bizEntity.setCheckSuccess(true); codeEntity.setCheckSuccess(true); + bizEntity.setScanCount(codeEntity.getReCount()); } else { bizEntity.setScanCount(codeEntity.getReCount()); bizEntity.setCheckSuccess(false); @@ -256,10 +258,17 @@ public class IoCheckInoutService { } } } + + for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) { + if (!bizEntity.isCheckSuccess()) { + errMsg = errMsg + bizEntity.getCoName() + ";"; + } + } + return errMsg; } //扫码单反向校验 - public void codeOrderCheck(List orderDetailCodeEntities, List orderDetailBizEntities) { + public String codeOrderCheck(List orderDetailCodeEntities, List orderDetailBizEntities) { for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) { for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) { if (!bizEntity.isCheckSuccess() && !codeEntity.isCheckSuccess() && checkId(bizEntity, codeEntity) == null @@ -271,7 +280,9 @@ public class IoCheckInoutService { if (checkCount(bizEntity, codeEntity) == null) { bizEntity.setCheckSuccess(true); codeEntity.setCheckSuccess(true); + codeEntity.setOrderCount(bizEntity.getCount()); } else { + codeEntity.setCheckSuccess(false); codeEntity.setOrderCount(bizEntity.getCount()); } break; @@ -279,6 +290,13 @@ public class IoCheckInoutService { } } + String errMsg = ""; + for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) { + if (!codeEntity.isCheckSuccess()) { + errMsg = errMsg + codeEntity.getCoName() + ";"; + } + } + return errMsg; } //二次校验 @@ -366,7 +384,7 @@ public class IoCheckInoutService { public String checkId(IoOrderDetailBizEntity bizEntity, IoOrderDetailCodeEntity codeEntity) { - if (bizEntity.getBindRlFk() == codeEntity.getBindRlFk()) { + if (bizEntity.getBindRlFk().longValue() == codeEntity.getBindRlFk().longValue()) { return null; } else { return "产品ID不匹配"; diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderDetailCodeService.java b/src/main/java/com/glxp/api/service/inout/IoOrderDetailCodeService.java index f4d3415d4..1bfd17f86 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderDetailCodeService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderDetailCodeService.java @@ -1,6 +1,7 @@ package com.glxp.api.service.inout; import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.entity.inout.IoOrderDetailBizEntity; import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.req.inout.FilterOrderDetailCodeRequest; import com.glxp.api.res.inout.IoOrderDetailCodeResponse; @@ -32,4 +33,6 @@ public interface IoOrderDetailCodeService { * @return */ BaseResponse deleteByOrderId(String orderId); + + public List checkOrderList(String orderId); } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java index 55543cc5b..d6517f3e3 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java @@ -7,9 +7,12 @@ 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.dao.inout.IoOrderDetailCodeDao; +import com.glxp.api.entity.inout.IoOrderDetailBizEntity; import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.req.inout.FilterOrderDetailCodeRequest; import com.glxp.api.res.inout.IoOrderDetailCodeResponse; +import com.glxp.api.service.inout.IoCheckInoutService; +import com.glxp.api.service.inout.IoOrderDetailBizService; import com.glxp.api.service.inout.IoOrderDetailCodeService; import org.springframework.stereotype.Service; @@ -63,4 +66,18 @@ public class IoOrderDetailCodeServiceImpl implements IoOrderDetailCodeService { return ResultVOUtils.success("删除成功"); } + + @Resource + IoOrderDetailBizService orderDetailBizService; + @Resource + IoCheckInoutService checkInoutService; + + @Override + public List checkOrderList(String orderId) { + + List orderDetailCodeEntities = findByOrderId(orderId); + List orderDetailBizEntities = orderDetailBizService.findByOrderId(orderId); + checkInoutService.codeOrderCheck(orderDetailCodeEntities, orderDetailBizEntities); + return orderDetailCodeEntities; + } }