From 3b0d22d0e082bee73dc4bfc3773f74513669433d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Tue, 25 Jul 2023 18:04:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E6=8D=AEbug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/inout/IoCodeTempController.java | 15 +++++++++++---- .../com/glxp/api/dao/inv/InvProductDetailDao.java | 2 +- .../glxp/api/service/inout/IoCodeTempService.java | 2 ++ .../service/inout/impl/IoCodeTempServiceImpl.java | 8 ++++++++ .../api/service/inv/InvProductDetailService.java | 2 +- .../inv/impl/InvProductDetailServiceImpl.java | 4 ++-- .../mybatis/mapper/inout/IoCodeTempDao.xml | 5 ++++- .../mybatis/mapper/inv/invProductDetailDao.xml | 3 +++ 8 files changed, 32 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java index cc237bb62..3be4c29e7 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -1039,7 +1039,7 @@ public class IoCodeTempController extends BaseController { } else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_CODE) { //按指定货位出库 if (StrUtil.isEmpty(codeTempEntity.getWarehouseCode())) { - List invProductDetailEntities = invProductDetailService.findByGroupCode(codeTempEntity.getInvCode(), codeTempEntity.getCode()); + List invProductDetailEntities = invProductDetailService.findByGroupCode(codeTempEntity.getInvCode(), codeTempEntity.getCode(),true); if (CollUtil.isNotEmpty(invProductDetailEntities) && invProductDetailEntities.size() > 1) { BaseResponse baseResponse = ResultVOUtils.error(511, "存在多个货位,请指定当前货位!"); baseResponse.setData(invProductDetailEntities); @@ -1061,9 +1061,16 @@ public class IoCodeTempController extends BaseController { return ResultVOUtils.error(500, "当前库存不足"); } else { //查询此单据已扫描的条码数量 - int exitCount = IntUtil.value(codeTempService.selectExitCount(codeTempEntity.getOrderId(), codeTempEntity.getBatchNo(), codeTempEntity.getRelId(), codeTempEntity.getSupId())); - if ((codeTempEntity.getMyReCount() + exitCount) > count) { - return ResultVOUtils.error(500, "当前库存不足"); + if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_CODE){ + int exitCount = IntUtil.value(codeTempService.selectExitCount(codeTempEntity.getOrderId(), codeTempEntity.getCode())); + if ((codeTempEntity.getMyReCount() + exitCount) > count) { + return ResultVOUtils.error(500, "当前库存不足"); + } + }else{ + int exitCount = IntUtil.value(codeTempService.selectExitCount(codeTempEntity.getOrderId(), codeTempEntity.getBatchNo(), codeTempEntity.getRelId(), codeTempEntity.getSupId())); + if ((codeTempEntity.getMyReCount() + exitCount) > count) { + return ResultVOUtils.error(500, "当前库存不足"); + } } } } diff --git a/src/main/java/com/glxp/api/dao/inv/InvProductDetailDao.java b/src/main/java/com/glxp/api/dao/inv/InvProductDetailDao.java index a5c680ad7..21d874d9b 100644 --- a/src/main/java/com/glxp/api/dao/inv/InvProductDetailDao.java +++ b/src/main/java/com/glxp/api/dao/inv/InvProductDetailDao.java @@ -102,7 +102,7 @@ public interface InvProductDetailDao extends BaseMapperPlus filterSpaceList(FilterInvPlaceRequest filterInvPlaceOrderRequest); - List findByGroupCode(@Param("invCode") String invCode, @Param("code") String code); + List findByGroupCode(@Param("invCode") String invCode, @Param("code") String code,@Param("isCheckSpace") Boolean isCheckSpace); } diff --git a/src/main/java/com/glxp/api/service/inout/IoCodeTempService.java b/src/main/java/com/glxp/api/service/inout/IoCodeTempService.java index 7eacccda2..97d2fe1fd 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCodeTempService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCodeTempService.java @@ -46,5 +46,7 @@ public interface IoCodeTempService { Integer selectExitCount(String orderId, String bacthNo, Long relId, String supId); + Integer selectExitCount(String orderId, String code); + Boolean checkTempCode(IoCodeTempEntity ioCodeTempEntity); } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoCodeTempServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoCodeTempServiceImpl.java index 203a38007..e6548f5c0 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoCodeTempServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoCodeTempServiceImpl.java @@ -113,6 +113,14 @@ public class IoCodeTempServiceImpl implements IoCodeTempService { return ioCodeTempDao.selectExitCount(filterCodeRequest); } + @Override + public Integer selectExitCount(String orderId, String code) { + FilterCodeRequest filterCodeRequest = new FilterCodeRequest(); + filterCodeRequest.setOrderId(orderId); + filterCodeRequest.setCode(code); + return ioCodeTempDao.selectExitCount(filterCodeRequest); + } + @Override public Boolean checkTempCode(IoCodeTempEntity ioCodeTempEntity) { diff --git a/src/main/java/com/glxp/api/service/inv/InvProductDetailService.java b/src/main/java/com/glxp/api/service/inv/InvProductDetailService.java index 8df8d8b05..42a0a0243 100644 --- a/src/main/java/com/glxp/api/service/inv/InvProductDetailService.java +++ b/src/main/java/com/glxp/api/service/inv/InvProductDetailService.java @@ -54,7 +54,7 @@ public interface InvProductDetailService { int vailStockCountByCode(String deptCode, String invCode, String invSpaceCode, String code); - List findByGroupCode(String invCode, String code); + List findByGroupCode(String invCode, String code , Boolean isCheckSpace); } 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 1d0cb931c..601ae48ff 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 @@ -221,10 +221,10 @@ public class InvProductDetailServiceImpl implements InvProductDetailService { } @Override - public List findByGroupCode(String invCode, String code) { + public List findByGroupCode(String invCode, String code,Boolean isCheckSpace) { if (StrUtil.isNotEmpty(invCode) && StrUtil.isNotEmpty(code)) { List datas = - invProductDetailDao.findByGroupCode(invCode, code); + invProductDetailDao.findByGroupCode(invCode, code,isCheckSpace); return datas; } diff --git a/src/main/resources/mybatis/mapper/inout/IoCodeTempDao.xml b/src/main/resources/mybatis/mapper/inout/IoCodeTempDao.xml index ddd54ed62..29410d251 100644 --- a/src/main/resources/mybatis/mapper/inout/IoCodeTempDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoCodeTempDao.xml @@ -28,7 +28,10 @@ from io_code_temp - relId = #{relId} + AND relId = #{relId} + + + AND code = #{code} AND batchNo = #{batchNo} diff --git a/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml b/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml index 5211a5d5a..910ce68d8 100644 --- a/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml +++ b/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml @@ -252,6 +252,9 @@ AND pd.code = #{code} + + AND (pd.invSpaceCode is not null or pd.invSpaceCode !='') + group by pd.invSpaceCode