From 59a0078a8418393f38d82155ecc1612399135f37 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Thu, 11 May 2023 14:44:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=8C=89=E8=B4=A7=E4=BD=8D?= =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/glxp/api/constant/ConstantStatus.java | 6 + .../controller/auth/InvSpaceController.java | 15 + .../inout/IoCodeTempController.java | 285 +++++++++++------- .../controller/inv/InvPlaceController.java | 77 ++--- .../purchase/SupCertController.java | 6 +- .../glxp/api/dao/auth/InvWarehouseDao.java | 18 +- .../api/dao/inv/InvPreInProductDetailDao.java | 5 + .../api/dao/inv/InvPreProductDetailDao.java | 2 + .../glxp/api/dao/inv/InvProductDetailDao.java | 4 + .../basic/BasicBussinessTypeEntity.java | 3 +- .../glxp/api/entity/inout/IoCodeEntity.java | 10 + .../api/entity/inout/IoCodeTempEntity.java | 10 + .../glxp/api/entity/inout/IoOrderEntity.java | 8 + .../api/idc/service/impl/FileServiceImpl.java | 2 +- .../api/idc/service/impl/IdcServiceImpl.java | 2 +- .../api/req/auth/FilterInvSpaceRequest.java | 4 + .../req/basic/BussinessTypeSaveRequest.java | 1 + .../glxp/api/req/inout/AddOrderRequest.java | 2 + .../api/res/inv/InvPlaceDetailResponse.java | 5 + .../api/service/auth/InvWarehouseService.java | 2 + .../auth/impl/InvWarehouseServiceImpl.java | 10 +- .../impl/BasicBussinessTypeServiceImpl.java | 2 +- .../service/inout/IoCheckInoutService.java | 50 ++- .../api/service/inout/IoGenInvService.java | 3 + .../inv/InvPreProductDetailService.java | 3 + .../inv/InvPreinProductDetailService.java | 8 + .../service/inv/InvProductDetailService.java | 5 + .../service/inv/impl/InvPlaceServiceImpl.java | 28 +- .../InvPreInProductDetailServiceImpl.java | 42 +++ .../impl/InvPreProductDetailServiceImpl.java | 34 +++ .../inv/impl/InvProductDetailServiceImpl.java | 12 + .../mybatis/mapper/auth/InvWarehouseDao.xml | 6 - .../mybatis/mapper/inv/InvPlaceOrderDao.xml | 11 +- .../mapper/inv/InvPreInProductDetailDao.xml | 81 ++++- .../mapper/inv/InvPreProductDetailDao.xml | 40 +++ .../mapper/inv/invProductDetailDao.xml | 40 +++ 36 files changed, 635 insertions(+), 207 deletions(-) diff --git a/src/main/java/com/glxp/api/constant/ConstantStatus.java b/src/main/java/com/glxp/api/constant/ConstantStatus.java index cfd87c652..a45631d1a 100644 --- a/src/main/java/com/glxp/api/constant/ConstantStatus.java +++ b/src/main/java/com/glxp/api/constant/ConstantStatus.java @@ -316,4 +316,10 @@ public class ConstantStatus { public static final int SCAN_NO_PI = 2; //有业务单无三期拣货 public static final int SCAN_ALL_PI = 3; //有业务单拣货(有无三期) + //按货位出库 + public static final int SPACE_OUT_NULL = 0; //无,不按货位出库 + public static final int SPACE_OUT_SET = 1; //按指定货位出库 + public static final int SPACE_OUT_CODE = 2; //按条码默认货位出库 + + } diff --git a/src/main/java/com/glxp/api/controller/auth/InvSpaceController.java b/src/main/java/com/glxp/api/controller/auth/InvSpaceController.java index 4bb28ac86..22dee032f 100644 --- a/src/main/java/com/glxp/api/controller/auth/InvSpaceController.java +++ b/src/main/java/com/glxp/api/controller/auth/InvSpaceController.java @@ -5,12 +5,15 @@ import com.github.pagehelper.PageInfo; 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.auth.InvSpace; +import com.glxp.api.entity.auth.InvWarehouseEntity; import com.glxp.api.req.auth.FilterInvSpaceRequest; import com.glxp.api.req.system.DeleteRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.auth.InvSpaceResponse; import com.glxp.api.service.auth.InvSpaceService; +import com.glxp.api.service.auth.InvWarehouseService; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; @@ -30,9 +33,21 @@ public class InvSpaceController { @Resource private InvSpaceService invSpaceService; + @Resource + private InvWarehouseService invWarehouseService; @GetMapping("/spms/inv/space/filter") public BaseResponse filterList(FilterInvSpaceRequest filterInvSpaceRequest) { + if (StrUtil.isNotEmpty(filterInvSpaceRequest.getFilterType())) { + if (filterInvSpaceRequest.getFilterType().equals("preIn")) { + InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByOne(ConstantStatus.ACTION_TYPE_PREIN); + filterInvSpaceRequest.setInvWarehouseCode(invWarehouseEntity.getCode()); + } else if (filterInvSpaceRequest.getFilterType().equals("pre")) { + InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByOne(ConstantStatus.ACTION_TYPE_ADVANCE); + filterInvSpaceRequest.setInvWarehouseCode(invWarehouseEntity.getCode()); + } + } + List list = invSpaceService.filterList(filterInvSpaceRequest); PageInfo pageInfo = new PageInfo<>(list); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); 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 91f0402fb..d273d21e0 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -26,6 +26,7 @@ import com.glxp.api.entity.inout.*; import com.glxp.api.entity.inv.InvPreInProductDetailEntity; import com.glxp.api.entity.inv.InvPreProductDetailEntity; import com.glxp.api.entity.inv.InvPreinDetailEntity; +import com.glxp.api.entity.inv.InvProductDetailEntity; import com.glxp.api.entity.system.SystemParamConfigEntity; import com.glxp.api.req.basic.CompanyProductRelevanceRequest; import com.glxp.api.req.inout.AddEnterCodeRequest; @@ -37,6 +38,7 @@ import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.basic.UdiRlSupResponse; import com.glxp.api.res.inout.AddCodeResult; import com.glxp.api.res.inout.IoCodeTempResponse; +import com.glxp.api.res.inv.InvPlaceDetailResponse; import com.glxp.api.service.auth.InvWarehouseService; import com.glxp.api.service.basic.*; import com.glxp.api.service.inout.*; @@ -516,104 +518,12 @@ public class IoCodeTempController extends BaseController { } } } - } else { return ResultVOUtils.error(500, "未选择预验收入库单,请先选择预验收入库单!"); } - - } else if (bussinessTypeEntity.getBackPreinType() == 2) { //按货位出库 - if (StrUtil.isEmpty(addOrderRequest.getCheckPreInSpaceCode())) - return ResultVOUtils.error(500, "" + - "请选择预验收货位!"); - int preInCount = invPreinProductDetailService.findCountBySpaceCode(addOrderRequest.getCheckPreInSpaceCode(), code); - InvPreInProductDetailEntity invPreinDetailEntity = invPreinProductDetailService.findUseOneByCode(code); - if (preInCount <= 0) { - return ResultVOUtils.error(500, "预验收库存数量不足!"); - } else { - if (StrUtil.isNotEmpty(invPreinDetailEntity.getBatchNo()) && StrUtil.isNotEmpty(udiEntity.getBatchNo()) - && !invPreinDetailEntity.getBatchNo().equals(udiEntity.getBatchNo())) { - return ResultVOUtils.error(500, "当前批次号与预验收录入批次号不匹配!"); - } - if (StrUtil.isNotEmpty(orderId)) {//非首次添加 - if (StrUtil.isEmpty(udiEntity.getSerialNo())) {//该单据已有该产品 - //无序列号,则可能存在多个预验收入库单 - IoCodeTempEntity codeTempEntity = codeTempService.findByUnique(orderId, code); - if (codeTempEntity != null) { - if (preInCount < (codeTempEntity.getMyCount() + 1)) { - return ResultVOUtils.error(500, "超出预验收库存数量"); - } - } - } else { - if (preInCount < 1) { - return ResultVOUtils.error(500, "预验收库存数量不足"); - } - } - } - } - } - - /** - * else { //按库存出库 - * int preInCount = invPreinProductDetailService.findCountByCode(code); - * InvPreInProductDetailEntity invPreinDetailEntity = invPreinProductDetailService.findUseOneByCode(code); - * if (preInCount <= 0) { - * return ResultVOUtils.error(500, "预验收库存数量不足!"); - * } else { - * if (StrUtil.isNotEmpty(invPreinDetailEntity.getBatchNo()) && StrUtil.isNotEmpty(udiEntity.getBatchNo()) - * && !invPreinDetailEntity.getBatchNo().equals(udiEntity.getBatchNo())) { - * return ResultVOUtils.error(500, "当前批次号与预验收录入批次号不匹配!"); - * } - * if (StrUtil.isNotEmpty(orderId)) {//非首次添加 - * if (StrUtil.isEmpty(udiEntity.getSerialNo())) {//该单据已有该产品 - * //无序列号,则可能存在多个预验收入库单 - * IoCodeTempEntity codeTempEntity = codeTempService.findByUnique(orderId, code); - * if (codeTempEntity != null) { - * if (preInCount < (codeTempEntity.getMyCount() + 1)) { - * return ResultVOUtils.error(500, "超出预验收库存数量"); - * } - * } - * } else { - * if (preInCount < 1) { - * return ResultVOUtils.error(500, "预验收库存数量不足"); - * } - * } - * } - * } - * } - */ - - - } - // 是否检验寄售库存 - if (bussinessTypeEntity.isAdvancePreIn()) { - int preInCount = invPreProductDetailService.findCountByCode(code); - InvPreProductDetailEntity invPreinDetailEntity = invPreProductDetailService.findUseOneByCode(code); - if (preInCount <= 0) { - return ResultVOUtils.error(500, "寄售库存数量不足!"); - } else { - if (StrUtil.isNotEmpty(invPreinDetailEntity.getBatchNo()) && StrUtil.isNotEmpty(udiEntity.getBatchNo()) - && !invPreinDetailEntity.getBatchNo().equals(udiEntity.getBatchNo())) { - return ResultVOUtils.error(500, "当前批次号与预验收录入批次号不匹配!"); - } - if (StrUtil.isNotEmpty(orderId)) {//非首次添加 - if (StrUtil.isEmpty(udiEntity.getSerialNo())) {//该单据已有该产品 - //无序列号,则可能存在多个预验收入库单 - IoCodeTempEntity codeTempEntity = codeTempService.findByUnique(orderId, code); - if (codeTempEntity != null) { - if (preInCount < (codeTempEntity.getMyCount() + 1)) { - return ResultVOUtils.error(500, "超出寄售存数量"); - } - } - } else { - if (preInCount < 1) { - return ResultVOUtils.error(500, "寄售库存数量不足"); - } - } - } } } - if (addOrderRequest.getFromCorp() == null) { BasicCorpEntity basicCorpEntity = basicUnitMaintainService.selectByName(addOrderRequest.getFromCorp()); if (basicCorpEntity == null && bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT && bussinessTypeEntity.isGenUnit()) { @@ -655,7 +565,14 @@ public class IoCodeTempController extends BaseController { exitLocalEntity.setCount(exitLocalEntity.getMyCount() + 1); exitLocalEntity.setReCount(exitLocalEntity.getMyCount() * udiCalCountUtil.getActCount(udiRelevanceResponses.get(0))); - BaseResponse invRes = checkInv(bussinessTypeEntity, exitLocalEntity); + BaseResponse invRes = null; + if (bussinessTypeEntity.isScanPreIn()) { //校验预验收库存 + invRes = checkPreInInv(bussinessTypeEntity, exitLocalEntity); + } else if (bussinessTypeEntity.isAdvancePreIn()) { //校验寄售库存 + invRes = checkPreInv(bussinessTypeEntity, exitLocalEntity); + } else { + invRes = checkInv(bussinessTypeEntity, exitLocalEntity); + } if (invRes != null) { return invRes; } @@ -699,6 +616,9 @@ public class IoCodeTempController extends BaseController { codeEnttity.setSerialNo(udiEntity.getSerialNo()); codeEnttity.setDeptCode(invWarehouseEntity.getParentId()); codeEnttity.setInvCode(addOrderRequest.getInvCode()); + codeEnttity.setWarehouseCode(addOrderRequest.getCurSpaceCode()); + codeEnttity.setPreSpaceCode(addOrderRequest.getPreCurSpaceCode()); + codeEnttity.setPreInSpaceCode(addOrderRequest.getCheckPreInSpaceCode()); codeEnttity.setCount(1); String unitFk = null; if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) { @@ -799,11 +719,27 @@ public class IoCodeTempController extends BaseController { // if (DateUtil.) // } - BaseResponse invRes = checkInv(bussinessTypeEntity, codeEnttity); - if (invRes != null) { - deleteEmptyBillNo(orderEntity); - return invRes; + if (bussinessTypeEntity.isScanPreIn()) { //校验预验收库存 + BaseResponse invRes = checkPreInInv(bussinessTypeEntity, codeEnttity); + if (invRes != null) { + deleteEmptyBillNo(orderEntity); + return invRes; + } + } else if (bussinessTypeEntity.isAdvancePreIn()) { //校验寄售库存 + BaseResponse invRes = checkPreInv(bussinessTypeEntity, codeEnttity); + if (invRes != null) { + deleteEmptyBillNo(orderEntity); + return invRes; + } + } else { + BaseResponse invRes = checkInv(bussinessTypeEntity, codeEnttity); + if (invRes != null) { + deleteEmptyBillNo(orderEntity); + return invRes; + } } + + genDetaiEntity = codeEnttity; if (baseResponse == null) { baseResponse = checkSupId(bussinessTypeEntity, codeEnttity, unitFk); @@ -841,6 +777,119 @@ public class IoCodeTempController extends BaseController { return ResultVOUtils.success(addCodeResult); } + // 校验寄售库存 + public BaseResponse checkPreInv(BasicBussinessTypeEntity bussinessTypeEntity, IoCodeTempEntity codeTempEntity) { + + InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByOne(ConstantStatus.ACTION_TYPE_ADVANCE); + int count = 0; + if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_NULL) { + count = invPreProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), null, invWarehouseEntity.getCode(), null); + } else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_SET) { + count = invPreProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), null, invWarehouseEntity.getCode(), codeTempEntity.getPreSpaceCode()); + } else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_CODE) { + //按指定货位出库 + if (StrUtil.isEmpty(codeTempEntity.getPreSpaceCode())) { + List invProductDetailEntities = invPreProductDetailService.findByGroupCode(invWarehouseEntity.getCode(), codeTempEntity.getCode()); + if (CollUtil.isNotEmpty(invProductDetailEntities) && invProductDetailEntities.size() > 1) { + BaseResponse baseResponse = ResultVOUtils.error(511, "存在多个货位,请指定当前货位!"); + baseResponse.setData(invProductDetailEntities); + return baseResponse; + } else if (invProductDetailEntities.size() == 1) { + InvPlaceDetailResponse invPlaceDetailResponse = invProductDetailEntities.get(0); + count = invPlaceDetailResponse.getReCount(); + codeTempEntity.setPreSpaceCode(invPlaceDetailResponse.getInvSpaceCode()); + } else { + return ResultVOUtils.error(500, "添加失败,该产品未上架货位!"); + } + } else { + count = invPreProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), null, invWarehouseEntity.getCode(), codeTempEntity.getPreSpaceCode()); + } + } + + InvPreProductDetailEntity invPreinDetailEntity = invPreProductDetailService.findUseOneByCode(codeTempEntity.getCode()); + if (count <= 0) { + return ResultVOUtils.error(500, "寄售库存数量不足!"); + } else { + if (StrUtil.isNotEmpty(invPreinDetailEntity.getBatchNo()) && StrUtil.isNotEmpty(codeTempEntity.getBatchNo()) + && !invPreinDetailEntity.getBatchNo().equals(codeTempEntity.getBatchNo())) { + return ResultVOUtils.error(500, "当前批次号与预验收录入批次号不匹配!"); + } + if (StrUtil.isNotEmpty(codeTempEntity.getOrderId())) {//非首次添加 + if (StrUtil.isEmpty(codeTempEntity.getSerialNo())) {//该单据已有该产品 + //无序列号,则可能存在多个预验收入库单 + IoCodeTempEntity tempEntity = codeTempService.findByUnique(codeTempEntity.getOrderId(), codeTempEntity.getCode()); + if (tempEntity != null) { + if (count < (tempEntity.getMyCount() + 1)) { + return ResultVOUtils.error(500, "超出寄售库存数量"); + } + } + } else { + if (count < 1) { + return ResultVOUtils.error(500, "寄售库存数量不足"); + } + } + } + } + return null; + } + + // 校验预验收库存 + public BaseResponse checkPreInInv(BasicBussinessTypeEntity bussinessTypeEntity, IoCodeTempEntity codeTempEntity) { + + InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByOne(ConstantStatus.ACTION_TYPE_PREIN); + + int count = 0; + if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_NULL) { + count = invPreinProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), null, invWarehouseEntity.getCode(), null); + } else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_SET) { + count = invPreinProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), null, invWarehouseEntity.getCode(), codeTempEntity.getPreInSpaceCode()); + } else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_CODE) { + //按指定货位出库 + if (StrUtil.isEmpty(codeTempEntity.getPreSpaceCode())) { + List invProductDetailEntities = invPreinProductDetailService.findByGroupCode(invWarehouseEntity.getCode(), codeTempEntity.getCode()); + if (CollUtil.isNotEmpty(invProductDetailEntities) && invProductDetailEntities.size() > 1) { + BaseResponse baseResponse = ResultVOUtils.error(511, "存在多个货位,请指定当前货位!"); + baseResponse.setData(invProductDetailEntities); + return baseResponse; + } else if (invProductDetailEntities.size() == 1) { + InvPlaceDetailResponse invPlaceDetailResponse = invProductDetailEntities.get(0); + count = invPlaceDetailResponse.getReCount(); + codeTempEntity.setPreSpaceCode(invPlaceDetailResponse.getInvSpaceCode()); + } else { + return ResultVOUtils.error(500, "添加失败,该产品未上架货位!"); + } + } else { + count = invPreinProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), null, codeTempEntity.getInvCode(), codeTempEntity.getPreInSpaceCode()); + } + } + + InvPreInProductDetailEntity invPreinDetailEntity = invPreinProductDetailService.findUseOneByCode(codeTempEntity.getCode()); + if (count <= 0) { + return ResultVOUtils.error(500, "预验收库存数量不足!"); + } else { + if (StrUtil.isNotEmpty(invPreinDetailEntity.getBatchNo()) && StrUtil.isNotEmpty(codeTempEntity.getBatchNo()) + && !invPreinDetailEntity.getBatchNo().equals(codeTempEntity.getBatchNo())) { + return ResultVOUtils.error(500, "当前批次号与预验收录入批次号不匹配!"); + } + if (StrUtil.isNotEmpty(codeTempEntity.getOrderId())) {//非首次添加 + if (StrUtil.isEmpty(codeTempEntity.getSerialNo())) {//该单据已有该产品 + //无序列号,则可能存在多个预验收入库单 + IoCodeTempEntity tempEntity = codeTempService.findByUnique(codeTempEntity.getOrderId(), codeTempEntity.getCode()); + if (tempEntity != null) { + if (count < (tempEntity.getMyCount() + 1)) { + return ResultVOUtils.error(500, "超出预验收存数量"); + } + } + } else { + if (count < 1) { + return ResultVOUtils.error(500, "寄售预验收数量不足"); + } + } + } + } + return null; + } + //校验条码完整性 public BaseResponse checkOriginCode(UdiEntity udiEntity) { //校验条码的完整性 @@ -979,24 +1028,38 @@ public class IoCodeTempController extends BaseController { public BaseResponse checkInv(BasicBussinessTypeEntity bussinessTypeEntity, IoCodeTempEntity codeTempEntity) { if (bussinessTypeEntity.isVailInv() && bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { - if (bussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_ADVANCE) { -// int count = invPreProductDetailService.vailStockCount(code); //todo 寄售 -// if (count < 0) { -// return ResultVOUtils.error(500, "当前库存不足,不允许0库存出库"); -// } - } else { - int count = invProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), codeTempEntity.getDeptCode(), codeTempEntity.getInvCode(), null); - if (count <= 0) { - return ResultVOUtils.error(500, "当前库存不足,不允许0库存出库"); - } else { - //查询此单据已扫描的条码数量 - if (codeTempEntity.getMyReCount() > count) { - return ResultVOUtils.error(500, "当前库存不足,不允许0库存出库"); + int count = 0; + if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_NULL) { + count = invProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), codeTempEntity.getDeptCode(), codeTempEntity.getInvCode(), null); + } else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_SET) { + count = invProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), codeTempEntity.getDeptCode(), codeTempEntity.getInvCode(), codeTempEntity.getWarehouseCode()); + } else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_CODE) { + //按指定货位出库 + if (StrUtil.isEmpty(codeTempEntity.getWarehouseCode())) { + List invProductDetailEntities = invProductDetailService.findByGroupCode(codeTempEntity.getInvCode(), codeTempEntity.getCode()); + if (CollUtil.isNotEmpty(invProductDetailEntities) && invProductDetailEntities.size() > 1) { + BaseResponse baseResponse = ResultVOUtils.error(511, "存在多个货位,请指定当前货位!"); + baseResponse.setData(invProductDetailEntities); + return baseResponse; + } else if (invProductDetailEntities.size() == 1) { + InvPlaceDetailResponse invPlaceDetailResponse = invProductDetailEntities.get(0); + count = invPlaceDetailResponse.getReCount(); + } else { + return ResultVOUtils.error(500, "添加失败,该产品未上架货位!"); } + } else { + count = invProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), codeTempEntity.getDeptCode(), codeTempEntity.getInvCode(), codeTempEntity.getWarehouseCode()); + } + } + if (count <= 0) { + return ResultVOUtils.error(500, "当前库存不足"); + } else { + //查询此单据已扫描的条码数量 + if (codeTempEntity.getMyReCount() > count) { + return ResultVOUtils.error(500, "当前库存不足"); } } } - return null; } diff --git a/src/main/java/com/glxp/api/controller/inv/InvPlaceController.java b/src/main/java/com/glxp/api/controller/inv/InvPlaceController.java index 8b6e46867..40ff299f7 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvPlaceController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvPlaceController.java @@ -41,7 +41,6 @@ public class InvPlaceController { private InvPlaceOrderService invPlaceOrderService; - /** * 查询库存摆放记录 * @@ -61,7 +60,7 @@ public class InvPlaceController { * @return */ @PostMapping("/spms/inv/product/bindInvSpace") - public BaseResponse bindInvSpace(@RequestBody BindInvSpaceRequest bindInvSpaceRequest) { + public BaseResponse bindInvSpace(@RequestBody BindInvSpaceRequest bindInvSpaceRequest) { if (null == bindInvSpaceRequest) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } @@ -75,7 +74,7 @@ public class InvPlaceController { * @return */ @PostMapping("/spms/inv/product/bindInvOrderSpace") - public BaseResponse bindInvOrderSpace(@RequestBody BindInvSpaceRequest bindInvSpaceRequest) { + public BaseResponse bindInvOrderSpace(@RequestBody BindInvSpaceRequest bindInvSpaceRequest) { if (null == bindInvSpaceRequest) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } @@ -90,7 +89,7 @@ public class InvPlaceController { * @return */ @PostMapping("/spms/inv/product/bindCheckInvSpace") - public BaseResponse bindCheckInvSpace(@RequestBody BindInvSpaceRequest bindInvSpaceRequest) { + public BaseResponse bindCheckInvSpace(@RequestBody BindInvSpaceRequest bindInvSpaceRequest) { if (null == bindInvSpaceRequest) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } @@ -104,7 +103,7 @@ public class InvPlaceController { * @return */ @PostMapping("/spms/inv/product/unbindInvOrderSpace") - public BaseResponse unbindInvOrderSpace(@RequestBody BindInvSpaceRequest bindInvSpaceRequest) { + public BaseResponse unbindInvOrderSpace(@RequestBody BindInvSpaceRequest bindInvSpaceRequest) { if (null == bindInvSpaceRequest) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } @@ -148,20 +147,19 @@ public class InvPlaceController { */ @GetMapping("/spms/inv/product/getInvProductInfo") private BaseResponse getInvProductInfo(BindInvSpaceRequest bindInvSpaceRequest) { - List list = new ArrayList<>(); + List list = new ArrayList<>(); //判断有没有库存 - String msg=invPlaceService.checkCount(bindInvSpaceRequest); - if(StrUtil.isEmpty(msg)){ + String msg = invPlaceService.checkCount(bindInvSpaceRequest); + if (StrUtil.isEmpty(msg)) { //有库存做插入货位号 - return invPlaceOrderService.bindInvSpaceOne(bindInvSpaceRequest); - }else{ + return invPlaceOrderService.bindInvSpaceOne(bindInvSpaceRequest); + } else { return ResultVOUtils.error(500, msg); } } - /** * 按单号 * @@ -182,11 +180,11 @@ public class InvPlaceController { @GetMapping("/spms/inv/product/getCheckInvProductInfo") private BaseResponse getCheckInvProductInfo(BindInvSpaceRequest bindInvSpaceRequest) { //判断有没有库存 - String msg=invPlaceService.checkCount(bindInvSpaceRequest); - if(StrUtil.isEmpty(msg)){ + String msg = invPlaceService.checkCount(bindInvSpaceRequest); + if (StrUtil.isEmpty(msg)) { //有库存做插入货位号 return invPlaceOrderService.bindInvSpaceOne(bindInvSpaceRequest); - }else{ + } else { return ResultVOUtils.error(500, msg); } @@ -200,13 +198,13 @@ public class InvPlaceController { */ @GetMapping("/spms/inv/product/getInvProductOutInfo") private BaseResponse getInvProductOutInfo(BindInvSpaceRequest bindInvSpaceRequest) { - List list = new ArrayList<>(); + List list = new ArrayList<>(); //判断有没有库存 - String msg=invPlaceService.checkOutCount(bindInvSpaceRequest); - if(StrUtil.isEmpty(msg)){ + String msg = invPlaceService.checkOutCount(bindInvSpaceRequest); + if (StrUtil.isEmpty(msg)) { //有库存做插入货位号 return invPlaceOrderService.unbindInvSpaceOne(bindInvSpaceRequest); - }else{ + } else { return ResultVOUtils.error(500, msg); } @@ -247,23 +245,23 @@ public class InvPlaceController { */ @GetMapping("/spms/inv/product/selectPlaceList") public BaseResponse selectPlaceList(FilterInvPlaceRequest filterInvPlaceRequest) { - List invPlaceDetailResponseList=new ArrayStack(); - if(StrUtil.isNotBlank(filterInvPlaceRequest.getCode())){ - List list= Arrays.asList(filterInvPlaceRequest.getCode().split("#")); - if(list!=null && list.size()>=3){ - if(list.get(2) !=null && !list.get(2).equals("null")){ - //用产品查询 - filterInvPlaceRequest.setCode(list.get(2)); - invPlaceDetailResponseList= invPlaceOrderService.filterProductList(filterInvPlaceRequest); - }else if(list.get(0) !=null && list.get(1)!=null && !list.get(0).equals("null") && !list.get(1).equals("null") ){ - //用货位查询 - filterInvPlaceRequest.setInvCode(list.get(0)); - filterInvPlaceRequest.setInvSpaceCode(list.get(1)); - filterInvPlaceRequest.setCode(null); - invPlaceDetailResponseList= invPlaceOrderService.filterSpaceList(filterInvPlaceRequest); - }else{ - return ResultVOUtils.error(999,"扫码错误!"); - } + List invPlaceDetailResponseList = new ArrayStack(); + if (StrUtil.isNotBlank(filterInvPlaceRequest.getCode())) { + List list = Arrays.asList(filterInvPlaceRequest.getCode().split("#")); + if (list != null && list.size() >= 3) { + if (list.get(2) != null && !list.get(2).equals("null")) { + //用产品查询 + filterInvPlaceRequest.setCode(list.get(2)); + invPlaceDetailResponseList = invPlaceOrderService.filterProductList(filterInvPlaceRequest); + } else if (list.get(0) != null && list.get(1) != null && !list.get(0).equals("null") && !list.get(1).equals("null")) { + //用货位查询 + filterInvPlaceRequest.setInvCode(list.get(0)); + filterInvPlaceRequest.setInvSpaceCode(list.get(1)); + filterInvPlaceRequest.setCode(null); + invPlaceDetailResponseList = invPlaceOrderService.filterSpaceList(filterInvPlaceRequest); + } else { + return ResultVOUtils.error(999, "扫码错误!"); + } } } @@ -272,4 +270,13 @@ public class InvPlaceController { } + @GetMapping("/spms/inv/product/mutiPlace") + public BaseResponse selectMutiPlace(FilterInvPlaceRequest filterInvPlaceRequest) { + List invPlaceDetailResponseList = new ArrayStack(); + invPlaceDetailResponseList = invPlaceOrderService.filterSpaceList(filterInvPlaceRequest); + PageInfo pageInfo = new PageInfo<>(invPlaceDetailResponseList); + return ResultVOUtils.page(pageInfo); + } + + } diff --git a/src/main/java/com/glxp/api/controller/purchase/SupCertController.java b/src/main/java/com/glxp/api/controller/purchase/SupCertController.java index 0d09f5406..cc8714068 100644 --- a/src/main/java/com/glxp/api/controller/purchase/SupCertController.java +++ b/src/main/java/com/glxp/api/controller/purchase/SupCertController.java @@ -405,7 +405,7 @@ public class SupCertController { } String param = JSON.toJSONString(list); - JasperUtils.jasperReport(request, response, param, filePath + "/pdf/template/"+systemPDFTemplateEntity.getPath(), "pdf"); + JasperUtils.jasperReport(request, response, param, filePath + "/pdf/template/" + systemPDFTemplateEntity.getPath(), "pdf"); } /** @@ -520,7 +520,7 @@ public class SupCertController { } String param = JSON.toJSONString(list); - JasperUtils.jasperReport(request, response, param, filePath + "/pdf/template/"+systemPDFTemplateEntity.getPath(), "pdf"); + JasperUtils.jasperReport(request, response, param, filePath + "/pdf/template/" + systemPDFTemplateEntity.getPath(), "pdf"); } /** @@ -586,7 +586,7 @@ public class SupCertController { } String param = JSON.toJSONString(list); - JasperUtils.jasperReport(request, response, param, filePath + "/pdf/template/"+systemPDFTemplateEntity.getPath(), "pdf"); + JasperUtils.jasperReport(request, response, param, filePath + "/pdf/template/" + systemPDFTemplateEntity.getPath(), "pdf"); } //首营预览文件 diff --git a/src/main/java/com/glxp/api/dao/auth/InvWarehouseDao.java b/src/main/java/com/glxp/api/dao/auth/InvWarehouseDao.java index d411dd6ed..f035c081f 100644 --- a/src/main/java/com/glxp/api/dao/auth/InvWarehouseDao.java +++ b/src/main/java/com/glxp/api/dao/auth/InvWarehouseDao.java @@ -1,8 +1,8 @@ package com.glxp.api.dao.auth; import com.glxp.api.dao.BaseMapperPlus; +import com.glxp.api.entity.auth.DeptEntity; import com.glxp.api.entity.auth.InvWarehouseEntity; -import com.glxp.api.entity.thrsys.ThrBusTypeOriginEntity; import com.glxp.api.req.auth.FilterInvSubWarehouseRequest; import com.glxp.api.req.auth.FilterInvWarehouseRequest; import com.glxp.api.res.auth.InvSubWarehouseResponse; @@ -21,21 +21,18 @@ public interface InvWarehouseDao extends BaseMapperPlus getByWarePcode(@Param("parentCode") String parentCode); - boolean insertInvSubWarehouse(InvWarehouseEntity invWarehouseEntity); boolean updateInvSubWarehouse(InvWarehouseEntity invWarehouseEntity); void importInvSubWarehouse(@Param("invWarehouseEntities") List invSubWarehouseEntities); - boolean deleteById(String id); - boolean deleteByParentCode(@Param("code") String code); + InvWarehouseEntity getByWareId(@Param("id") String id); + + List getByWarePcode(@Param("parentCode") String parentCode); + /** * 根据parentId和分库名称统计仓库数量 * @@ -83,12 +80,10 @@ public interface InvWarehouseDao extends BaseMapperPlus filterSubInvList(FilterInvWarehouseRequest filterInvWarehouseRequest); - boolean updateTime(@Param("code") String code, @Param("updateTime") Date updateTime); - /** * 查询用户关联的仓库列表,只查询仓库编码,名称,父ID字段 * - * @param userId + * @param filterInvWarehouseRequest * @return */ List selectInvListByUser(FilterInvWarehouseRequest filterInvWarehouseRequest); @@ -105,4 +100,5 @@ public interface InvWarehouseDao extends BaseMapperPlus selectLowWarehouseAll(@Param("pcode") String pCode); + } diff --git a/src/main/java/com/glxp/api/dao/inv/InvPreInProductDetailDao.java b/src/main/java/com/glxp/api/dao/inv/InvPreInProductDetailDao.java index 332207111..f3545ec23 100644 --- a/src/main/java/com/glxp/api/dao/inv/InvPreInProductDetailDao.java +++ b/src/main/java/com/glxp/api/dao/inv/InvPreInProductDetailDao.java @@ -49,4 +49,9 @@ public interface InvPreInProductDetailDao extends BaseMapperPlus filterSpaceList(FilterInvPlaceRequest filterInvPlaceOrderRequest); + + List findByGroupCode(@Param("invCode") String invCode, @Param("code") String code); + + + List findBySpaceList(@Param("spaceList") List spaceList); } diff --git a/src/main/java/com/glxp/api/dao/inv/InvPreProductDetailDao.java b/src/main/java/com/glxp/api/dao/inv/InvPreProductDetailDao.java index 4adff783e..6219b6530 100644 --- a/src/main/java/com/glxp/api/dao/inv/InvPreProductDetailDao.java +++ b/src/main/java/com/glxp/api/dao/inv/InvPreProductDetailDao.java @@ -48,4 +48,6 @@ public interface InvPreProductDetailDao extends BaseMapperPlus filterSpaceList(FilterInvPlaceRequest filterInvPlaceOrderRequest); + + List findByGroupCode(@Param("invCode") String invCode, @Param("code") String code); } 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 7a61a9b6e..d86aa5fb8 100644 --- a/src/main/java/com/glxp/api/dao/inv/InvProductDetailDao.java +++ b/src/main/java/com/glxp/api/dao/inv/InvProductDetailDao.java @@ -101,4 +101,8 @@ public interface InvProductDetailDao extends BaseMapperPlus filterSpaceList(FilterInvPlaceRequest filterInvPlaceOrderRequest); + + List findByGroupCode(@Param("invCode") String invCode, @Param("code") String code); + + } diff --git a/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java b/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java index c26197542..1cb8ed369 100644 --- a/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java @@ -408,8 +408,9 @@ public class BasicBussinessTypeEntity { @TableField(value = "sortNum") private Integer sortNum; - //是否按货位出库 0:不按货位出库,1:按货位出库 + //是否按货位出库 0:无,1:按指定货位出库,2:默认货位出库 @TableField(value = "spaceOut") private int spaceOut; + } diff --git a/src/main/java/com/glxp/api/entity/inout/IoCodeEntity.java b/src/main/java/com/glxp/api/entity/inout/IoCodeEntity.java index 3a18cc87f..cee906719 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoCodeEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoCodeEntity.java @@ -124,6 +124,16 @@ public class IoCodeEntity implements Serializable { @TableField(value = "warehouseCode") private String warehouseCode; + /** + * 预验收,寄售所在货位编码 + */ + @TableField(value = "preSpaceCode") + private String preSpaceCode; + + @TableField(value = "preInSpaceCode") + private String preInSpaceCode; + + /** * 更新日期 */ diff --git a/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java b/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java index be79eea99..a073f5b2a 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java @@ -123,6 +123,15 @@ public class IoCodeTempEntity { @TableField(value = "warehouseCode") private String warehouseCode; + /** + * 预验收,寄售所在货位编码 + */ + @TableField(value = "preSpaceCode") + private String preSpaceCode; + + @TableField(value = "preInSpaceCode") + private String preInSpaceCode; + /** * 更新日期 */ @@ -135,6 +144,7 @@ public class IoCodeTempEntity { @TableField(value = "createTime") private Date createTime; + @TableField(exist = false) private int status; //条码校验状态 @TableField(exist = false) diff --git a/src/main/java/com/glxp/api/entity/inout/IoOrderEntity.java b/src/main/java/com/glxp/api/entity/inout/IoOrderEntity.java index b5eaaf711..9053fd966 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoOrderEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoOrderEntity.java @@ -257,5 +257,13 @@ public class IoOrderEntity { @TableField(value = "checkPreInSpaceCode") private String checkPreInSpaceCode; + // 当前货位 + @TableField(value = "curSpaceCode") + private String curSpaceCode; + + // 预验收、寄售当前货位 + @TableField(value = "preCurSpaceCode") + private String preCurSpaceCode; + } diff --git a/src/main/java/com/glxp/api/idc/service/impl/FileServiceImpl.java b/src/main/java/com/glxp/api/idc/service/impl/FileServiceImpl.java index 064542d71..6fdfcef27 100644 --- a/src/main/java/com/glxp/api/idc/service/impl/FileServiceImpl.java +++ b/src/main/java/com/glxp/api/idc/service/impl/FileServiceImpl.java @@ -53,7 +53,7 @@ public class FileServiceImpl implements FileService { private DbDao dbDao; @Resource private IdcService idcService; - private String imagePath = "register/file/image2/"; + private String imagePath = "register/image2/"; String pdfPath = "pdf/template/"; @Override diff --git a/src/main/java/com/glxp/api/idc/service/impl/IdcServiceImpl.java b/src/main/java/com/glxp/api/idc/service/impl/IdcServiceImpl.java index 844c53858..4ba7f3005 100644 --- a/src/main/java/com/glxp/api/idc/service/impl/IdcServiceImpl.java +++ b/src/main/java/com/glxp/api/idc/service/impl/IdcServiceImpl.java @@ -85,7 +85,7 @@ public class IdcServiceImpl implements IdcService { @Resource private ScheduledDao scheduledDao; - private String imagePath = "register/file/image2/"; + private String imagePath = "register/image2/"; /*获取拉取任务列表*/ @Override public BaseResponse taskList(HttpServletRequest request, Map params) { diff --git a/src/main/java/com/glxp/api/req/auth/FilterInvSpaceRequest.java b/src/main/java/com/glxp/api/req/auth/FilterInvSpaceRequest.java index f342cbca9..8d3c93c68 100644 --- a/src/main/java/com/glxp/api/req/auth/FilterInvSpaceRequest.java +++ b/src/main/java/com/glxp/api/req/auth/FilterInvSpaceRequest.java @@ -49,4 +49,8 @@ public class FilterInvSpaceRequest extends ListPageRequest { */ private String remark; + + // preIn:获取预验收货位,pre:获取寄售货位 + private String filterType; + } diff --git a/src/main/java/com/glxp/api/req/basic/BussinessTypeSaveRequest.java b/src/main/java/com/glxp/api/req/basic/BussinessTypeSaveRequest.java index 677a570ab..882419664 100644 --- a/src/main/java/com/glxp/api/req/basic/BussinessTypeSaveRequest.java +++ b/src/main/java/com/glxp/api/req/basic/BussinessTypeSaveRequest.java @@ -302,6 +302,7 @@ public class BussinessTypeSaveRequest { private Integer sortNum; private Boolean advancePreIn; + private int spaceOut; } diff --git a/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java b/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java index 2cc5f3e42..de5e4c36a 100644 --- a/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java +++ b/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java @@ -32,5 +32,7 @@ public class AddOrderRequest { // 预验收货位 private String checkPreInSpaceCode; + private String curSpaceCode; + private String preCurSpaceCode; private int fromVailPi; //是否需要校验三期;1:不需要,2:需要 } diff --git a/src/main/java/com/glxp/api/res/inv/InvPlaceDetailResponse.java b/src/main/java/com/glxp/api/res/inv/InvPlaceDetailResponse.java index 22697dc89..6e145416a 100644 --- a/src/main/java/com/glxp/api/res/inv/InvPlaceDetailResponse.java +++ b/src/main/java/com/glxp/api/res/inv/InvPlaceDetailResponse.java @@ -122,4 +122,9 @@ public class InvPlaceDetailResponse { private String cpmctymc; + + private int inCount; + private int outCount; + private int reCount; + } diff --git a/src/main/java/com/glxp/api/service/auth/InvWarehouseService.java b/src/main/java/com/glxp/api/service/auth/InvWarehouseService.java index f56ac300b..0250385db 100644 --- a/src/main/java/com/glxp/api/service/auth/InvWarehouseService.java +++ b/src/main/java/com/glxp/api/service/auth/InvWarehouseService.java @@ -19,6 +19,8 @@ public interface InvWarehouseService extends IService { InvWarehouseEntity findById(String id); + InvWarehouseEntity findByOne(Integer advanceType); + InvWarehouseEntity selectByThrCode(String code, String thirdSys); List filterInvSubWarehouse(FilterInvSubWarehouseRequest filterInvSubWarehouseRequest); diff --git a/src/main/java/com/glxp/api/service/auth/impl/InvWarehouseServiceImpl.java b/src/main/java/com/glxp/api/service/auth/impl/InvWarehouseServiceImpl.java index 1003b58cd..8c5bb189a 100644 --- a/src/main/java/com/glxp/api/service/auth/impl/InvWarehouseServiceImpl.java +++ b/src/main/java/com/glxp/api/service/auth/impl/InvWarehouseServiceImpl.java @@ -57,6 +57,14 @@ public class InvWarehouseServiceImpl extends ServiceImpl invWarehouseEntities = invWarehouseDao.selectList(new QueryWrapper().eq("advanceType", advanceType)); + if (CollUtil.isNotEmpty(invWarehouseEntities)) + return invWarehouseEntities.get(0); + return null; + } + @Override public InvWarehouseEntity selectByThrCode(String code, String thirdSys) { FilterInvSubWarehouseRequest filterInvSubWarehouseRequest = new FilterInvSubWarehouseRequest(); @@ -132,7 +140,7 @@ public class InvWarehouseServiceImpl extends ServiceImpl 0; } @Override diff --git a/src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java index 5cdcdf54d..79d9e52c6 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java +++ b/src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java @@ -256,7 +256,7 @@ public class BasicBussinessTypeServiceImpl extends ServiceImpl() .gt("spUse", 0).eq("enable", true).eq("corpType", ConstantStatus.CORP_TYPE_OUT).eq("actionType", 2) - .eq("inStock", true)); + .eq("inStock", true).eq("mainAction", ConstantType.TYPE_PUT)); default: break; 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 d51a888af..34127e5b7 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java @@ -14,6 +14,7 @@ import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.basic.UdiEntity; import com.glxp.api.entity.inout.*; import com.glxp.api.entity.inv.InvInnerOrderPdfTempEntity; +import com.glxp.api.entity.inv.InvPreInProductDetailEntity; import com.glxp.api.entity.inv.InvPreinDetailEntity; import com.glxp.api.res.inout.IoOrderCheckResultResponse; import com.glxp.api.res.inout.IoOrderDetailBizResponse; @@ -23,10 +24,7 @@ import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.inv.InvPreinDetailService; import com.glxp.api.service.inv.InvPreinOrderService; import com.glxp.api.service.inv.InvPreinProductDetailService; -import com.glxp.api.util.CustomUtil; -import com.glxp.api.util.GennerOrderUtils; -import com.glxp.api.util.JasperUtils; -import com.glxp.api.util.OrderNoTypeBean; +import com.glxp.api.util.*; import com.glxp.api.util.udi.FilterUdiUtils; import com.glxp.api.util.udi.UdiCalCountUtil; import net.sf.jasperreports.engine.JRException; @@ -39,6 +37,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.io.IOException; import java.util.*; +import java.util.stream.Collectors; /** * 校验出入库服务 @@ -866,16 +865,46 @@ public class IoCheckInoutService { } else { //按仓库货位退货 List backCodeList = new ArrayList<>(); + +// 1.获取所有货位 List codeList = codeService.findByOrderId(orderEntity.getBillNo()); + List spaceList = new ArrayList<>(); + Map> map = codeList.stream().collect(Collectors.groupingBy(t -> t.getPreInSpaceCode())); + for (Map.Entry> entry : map.entrySet()) { + spaceList.add(entry.getKey()); + } + +// 2.获取货位所有库存明细 + List invPreInProductDetailEntities = invPreinProductDetailService.findBySpaceList(spaceList); + +// 3.扣减数量得出需要退货条码 for (IoCodeEntity codeEntity : codeList) { - int count = invPreinProductDetailService.findCountBySpaceCode(codeEntity.getCode(), orderEntity.getCheckPreInSpaceCode()); - if (count > 0) { - codeEntity.setCount(count); - codeEntity.setReCount(udiCalCountUtil.getActCount(codeEntity.getNameCode())); - codeEntity.setWarehouseCode(orderEntity.getCheckPreInSpaceCode()); - backCodeList.add(codeEntity); + for (InvPreInProductDetailEntity invPreInProductDetailEntity : invPreInProductDetailEntities) { + if (codeEntity.getCode().equals(invPreInProductDetailEntity.getCode())) { + int reCount = IntUtil.value(invPreInProductDetailEntity.getReCount()) - IntUtil.value(codeEntity.getReCount()); + int count = IntUtil.value(invPreInProductDetailEntity.getCount()) - IntUtil.value(codeEntity.getCount()); + if (reCount >= 0) { + invPreInProductDetailEntity.setReCount(reCount); + invPreInProductDetailEntity.setCount(count); + break; + } else if (reCount < 0) { + codeEntity.setReCount(-reCount); + codeEntity.setCount(-count); + } + } } } + + for (InvPreInProductDetailEntity invPreInProductDetailEntity : invPreInProductDetailEntities) { + if (IntUtil.value(invPreInProductDetailEntity.getReCount()) > 0) { + IoCodeEntity ioCodeEntity = new IoCodeEntity(); + BeanUtils.copyProperties(invPreInProductDetailEntity, ioCodeEntity); + ioCodeEntity.setWarehouseCode(invPreInProductDetailEntity.getInvSpaceCode()); + backCodeList.add(ioCodeEntity); + } + } + +// 4.生成退货单 genBackOrder(orderEntity, backCodeList); } } @@ -916,6 +945,7 @@ public class IoCheckInoutService { outOrder.setInvCode(invWarehouseEntity.getCode()); outOrder.setDeptCode(invWarehouseEntity.getParentId()); outOrder.setFromCorp(codeEntity.getSupId()); + outOrder.setOrderType(2); outOrder.setCreateTime(new Date()); outOrder.setFromType(ConstantStatus.FROM_BACK); String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(basicBussinessTypeEntity.getPrefix()), "yyyyMMdd")); diff --git a/src/main/java/com/glxp/api/service/inout/IoGenInvService.java b/src/main/java/com/glxp/api/service/inout/IoGenInvService.java index 4ea310ae9..92b7fdc53 100644 --- a/src/main/java/com/glxp/api/service/inout/IoGenInvService.java +++ b/src/main/java/com/glxp/api/service/inout/IoGenInvService.java @@ -102,6 +102,7 @@ public class IoGenInvService { invProductDetailEntity.setRelId(codeEntity.getRelId()); invProductDetailEntity.setUpdateTime(new Date()); invProductDetailEntity.setId(null); + invProductDetailEntity.setInvSpaceCode(codeEntity.getWarehouseCode()); invProductDetailEntity.setPurchaseType(ConstantStatus.PRUCHASE_COMMON); if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { invProductDetailEntity.setInCount(invProductDetailEntity.getReCount()); @@ -173,6 +174,7 @@ public class IoGenInvService { invProductDetailEntity.setRelId(codeEntity.getRelId()); invProductDetailEntity.setUpdateTime(new Date()); invProductDetailEntity.setId(null); + invProductDetailEntity.setInvSpaceCode(codeEntity.getPreSpaceCode()); invProductDetailEntity.setPurchaseType(ConstantStatus.PRUCHASE_COMMON); if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { invProductDetailEntity.setInCount(invProductDetailEntity.getReCount()); @@ -255,6 +257,7 @@ public class IoGenInvService { invProductDetailEntity.setRelId(codeEntity.getRelId()); invProductDetailEntity.setUpdateTime(new Date()); invProductDetailEntity.setId(null); + invProductDetailEntity.setInvSpaceCode(codeEntity.getPreInSpaceCode()); invProductDetailEntity.setPurchaseType(ConstantStatus.PRUCHASE_COMMON); if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { invProductDetailEntity.setInCount(invProductDetailEntity.getReCount()); diff --git a/src/main/java/com/glxp/api/service/inv/InvPreProductDetailService.java b/src/main/java/com/glxp/api/service/inv/InvPreProductDetailService.java index 258f161e2..ee989d62d 100644 --- a/src/main/java/com/glxp/api/service/inv/InvPreProductDetailService.java +++ b/src/main/java/com/glxp/api/service/inv/InvPreProductDetailService.java @@ -5,6 +5,7 @@ import com.glxp.api.entity.inv.InvPreProductDetailEntity; import com.glxp.api.entity.inv.InvProductDetailEntity; import com.glxp.api.req.inv.FilterInvPreProductDetailRequest; import com.glxp.api.req.inv.FilterInvProductDetailRequest; +import com.glxp.api.res.inv.InvPlaceDetailResponse; import com.glxp.api.res.inv.InvPreProductDetailResponse; import java.util.List; @@ -54,5 +55,7 @@ public interface InvPreProductDetailService { InvPreProductDetailEntity findUseOneByCode(String code); + int vailStockCount(Long relId, String batchNo, String supId, String deptCode, String invCode, String invSpaceCode); + List findByGroupCode(String invCode, String code); } diff --git a/src/main/java/com/glxp/api/service/inv/InvPreinProductDetailService.java b/src/main/java/com/glxp/api/service/inv/InvPreinProductDetailService.java index ca8e83e48..4add3b16b 100644 --- a/src/main/java/com/glxp/api/service/inv/InvPreinProductDetailService.java +++ b/src/main/java/com/glxp/api/service/inv/InvPreinProductDetailService.java @@ -5,7 +5,9 @@ import com.glxp.api.entity.inv.InvPreProductDetailEntity; import com.glxp.api.entity.inv.InvPreinDetailEntity; import com.glxp.api.req.inv.FilterInvPreProductDetailRequest; import com.glxp.api.req.inv.FilterInvProductDetailRequest; +import com.glxp.api.res.inv.InvPlaceDetailResponse; import com.glxp.api.res.inv.InvPreProductDetailResponse; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -57,4 +59,10 @@ public interface InvPreinProductDetailService { int findCountBySpaceCode(String spaceCode, String code); InvPreInProductDetailEntity findUseOneByCode(String code); + + int vailStockCount(Long relId, String batchNo, String supId, String deptCode, String invCode, String invSpaceCode); + + List findByGroupCode(String invCode, String code); + + List findBySpaceList(List spaceList); } 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 da1b00c46..3782c9489 100644 --- a/src/main/java/com/glxp/api/service/inv/InvProductDetailService.java +++ b/src/main/java/com/glxp/api/service/inv/InvProductDetailService.java @@ -3,7 +3,9 @@ package com.glxp.api.service.inv; import com.glxp.api.entity.inv.InvPreinDetailEntity; import com.glxp.api.entity.inv.InvProductDetailEntity; import com.glxp.api.req.inv.FilterInvProductDetailRequest; +import com.glxp.api.res.inv.InvPlaceDetailResponse; import com.glxp.api.res.inv.InvProductDetailResponse; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -50,4 +52,7 @@ public interface InvProductDetailService { int vailStockCount(Long relId, String batchNo, String supId, String deptCode, String invCode, String invSpaceCode); + List findByGroupCode(String invCode, String code); + + } diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java index 8240ff78b..7ff8555d2 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java @@ -10,6 +10,7 @@ import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.Constant; import com.glxp.api.constant.ConstantStatus; +import com.glxp.api.constant.ConstantType; import com.glxp.api.dao.auth.InvSpaceDao; import com.glxp.api.dao.auth.InvWarehouseDao; import com.glxp.api.dao.inv.*; @@ -120,7 +121,7 @@ public class InvPlaceServiceImpl implements InvPlaceService { ew.clear(); - ew.eq("code", invPlaceOrderDetailEntity.getCode()); + ew.eq("code", invPlaceOrderDetailEntity.getCode()).eq("mainAction", ConstantType.TYPE_PUT); if (bindInvSpaceRequest.getType() == 3) { ew.eq("invSpaceCode", bindInvSpaceRequest.getChangeSpaceCode()); } else { @@ -184,7 +185,8 @@ public class InvPlaceServiceImpl implements InvPlaceService { ew.clear(); - ew.eq("code", invPlaceOrderDetailEntity.getCode()); + ew.eq("code", invPlaceOrderDetailEntity.getCode()).eq("mainAction", ConstantType.TYPE_PUT); + ; if (bindInvSpaceRequest.getType() == 3) { ew.eq("invSpaceCode", bindInvSpaceRequest.getChangeSpaceCode()); } else { @@ -244,7 +246,7 @@ public class InvPlaceServiceImpl implements InvPlaceService { ew.clear(); - ew.eq("code", invPlaceOrderDetailEntity.getCode()); + ew.eq("code", invPlaceOrderDetailEntity.getCode()).eq("mainAction", ConstantType.TYPE_PUT); if (bindInvSpaceRequest.getType() == 3) { ew.eq("invSpaceCode", bindInvSpaceRequest.getChangeSpaceCode()); } else { @@ -679,7 +681,7 @@ public class InvPlaceServiceImpl implements InvPlaceService { // String deptCode = invWarehouseDao.selectParentIdByCode(bindInvSpaceRequest.getInvCode()); InvWarehouseEntity invWarehouseEntity = invWarehouseDao.filterGroupInvSubAndcode(bindInvSpaceRequest.getInvCode()); List invPlaceOrderDetailEntityList = new ArrayList<>(); - int total=0; + int total = 0; if (bindInvSpaceRequest.getOutCount() > 0) { if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) { invPlaceOrderDetailEntityList = invPlaceOrderDetailDao.selectList(new QueryWrapper().eq("recordId", bindInvSpaceRequest.getOrderId())); @@ -885,7 +887,7 @@ public class InvPlaceServiceImpl implements InvPlaceService { ew.eq("invSpaceCode", bindInvSpaceRequest.getInvSpaceCode()); InvPreInProductDetailEntity invPreInProductDetailEntity = new InvPreInProductDetailEntity(); invPreInProductDetailEntity.setInvSpaceCode(""); - List invProductDetailEntityList=invPreInProductDetailDao.selectList(ew); + List invProductDetailEntityList = invPreInProductDetailDao.selectList(ew); //操作人ID String userId = customerService.getUserIdStr(); String recordId = gennerOrderUtils.createInvPlaceOrderNo(new OrderNoTypeBean(Constant.INV_PLACE_ORDER, "yyyyMMdd")); @@ -899,7 +901,7 @@ public class InvPlaceServiceImpl implements InvPlaceService { orderEntity.setUpdateTime(new Date()); invPlaceOrderDao.insert(orderEntity); for (InvPreInProductDetailEntity productDetailEntity : invProductDetailEntityList) { - for (int i=0;i ew1 = new QueryWrapper<>(); ew1.eq("recordId", recordId); @@ -908,7 +910,7 @@ public class InvPlaceServiceImpl implements InvPlaceService { if (invPlaceOrderDetailEntity != null) { invPlaceOrderDetailEntity.setCount(invPlaceOrderDetailEntity.getCount() + 1); invPlaceOrderDetailDao.updateById(invPlaceOrderDetailEntity); - }else{ + } else { invPlaceOrderDetailEntity = new InvPlaceOrderDetailEntity(); invPlaceOrderDetailEntity.setId(IdUtil.getSnowflakeNextId()); invPlaceOrderDetailEntity.setRecordId(recordId); @@ -937,7 +939,7 @@ public class InvPlaceServiceImpl implements InvPlaceService { ew.eq("invSpaceCode", bindInvSpaceRequest.getInvSpaceCode()); InvPreProductDetailEntity invPreProductDetailEntity = new InvPreProductDetailEntity(); invPreProductDetailEntity.setInvSpaceCode(""); - List invProductDetailEntityList=invPreProductDetailDao.selectList(ew); + List invProductDetailEntityList = invPreProductDetailDao.selectList(ew); //操作人ID String userId = customerService.getUserIdStr(); String recordId = gennerOrderUtils.createInvPlaceOrderNo(new OrderNoTypeBean(Constant.INV_PLACE_ORDER, "yyyyMMdd")); @@ -951,7 +953,7 @@ public class InvPlaceServiceImpl implements InvPlaceService { orderEntity.setUpdateTime(new Date()); invPlaceOrderDao.insert(orderEntity); for (InvPreProductDetailEntity productDetailEntity : invProductDetailEntityList) { - for (int i=0;i ew1 = new QueryWrapper<>(); ew1.eq("recordId", recordId); @@ -960,7 +962,7 @@ public class InvPlaceServiceImpl implements InvPlaceService { if (invPlaceOrderDetailEntity != null) { invPlaceOrderDetailEntity.setCount(invPlaceOrderDetailEntity.getCount() + 1); invPlaceOrderDetailDao.updateById(invPlaceOrderDetailEntity); - }else{ + } else { invPlaceOrderDetailEntity = new InvPlaceOrderDetailEntity(); invPlaceOrderDetailEntity.setId(IdUtil.getSnowflakeNextId()); invPlaceOrderDetailEntity.setRecordId(recordId); @@ -988,7 +990,7 @@ public class InvPlaceServiceImpl implements InvPlaceService { ew.eq("invSpaceCode", bindInvSpaceRequest.getInvSpaceCode()); InvProductDetailEntity invProductDetailEntity = new InvProductDetailEntity(); invProductDetailEntity.setInvSpaceCode(""); - List invProductDetailEntityList=invProductDetailDao.selectList(ew); + List invProductDetailEntityList = invProductDetailDao.selectList(ew); //操作人ID String userId = customerService.getUserIdStr(); String recordId = gennerOrderUtils.createInvPlaceOrderNo(new OrderNoTypeBean(Constant.INV_PLACE_ORDER, "yyyyMMdd")); @@ -1002,7 +1004,7 @@ public class InvPlaceServiceImpl implements InvPlaceService { orderEntity.setUpdateTime(new Date()); invPlaceOrderDao.insert(orderEntity); for (InvProductDetailEntity productDetailEntity : invProductDetailEntityList) { - for (int i=0;i ew1 = new QueryWrapper<>(); ew1.eq("recordId", recordId); @@ -1011,7 +1013,7 @@ public class InvPlaceServiceImpl implements InvPlaceService { if (invPlaceOrderDetailEntity != null) { invPlaceOrderDetailEntity.setCount(invPlaceOrderDetailEntity.getCount() + 1); invPlaceOrderDetailDao.updateById(invPlaceOrderDetailEntity); - }else{ + } else { invPlaceOrderDetailEntity = new InvPlaceOrderDetailEntity(); invPlaceOrderDetailEntity.setId(IdUtil.getSnowflakeNextId()); invPlaceOrderDetailEntity.setRecordId(recordId); diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPreInProductDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPreInProductDetailServiceImpl.java index 81a42e7ac..b141b0a1a 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvPreInProductDetailServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPreInProductDetailServiceImpl.java @@ -15,9 +15,11 @@ import com.glxp.api.entity.auth.InvSpace; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.entity.inv.InvPreInProductDetailEntity; +import com.glxp.api.entity.inv.InvPreProductDetailEntity; import com.glxp.api.entity.inv.InvPreinDetailEntity; import com.glxp.api.req.inv.FilterInvPreProductDetailRequest; import com.glxp.api.req.inv.FilterInvProductDetailRequest; +import com.glxp.api.res.inv.InvPlaceDetailResponse; import com.glxp.api.res.inv.InvPreProductDetailResponse; import com.glxp.api.service.auth.InvSpaceService; import com.glxp.api.service.inv.InvPreProductDetailService; @@ -209,4 +211,44 @@ public class InvPreInProductDetailServiceImpl implements InvPreinProductDetailSe } + @Override + public int vailStockCount(Long relId, String batchNo, String supId, String deptCode, String invCode, String invSpaceCode) { + if (relId == null) { + return 0; + } + List datas = + invPreInProductDetailDao.selectList(new QueryWrapper().eq("relId", relId).eq(StrUtil.isNotEmpty(batchNo), "batchNo", batchNo) + .isNull(StrUtil.isEmpty(batchNo), "batchNo").eq(StrUtil.isNotEmpty(supId), "supId", supId).eq(StrUtil.isNotEmpty(deptCode), "deptCode", deptCode).eq("invCode", invCode).eq(StrUtil.isNotEmpty(invSpaceCode), "invSpaceCode", invSpaceCode)); + + int count = 0; + if (CollUtil.isNotEmpty(datas)) { + for (InvPreInProductDetailEntity invProductDetailEntity : datas) { + if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_PUT)) + count = count + invProductDetailEntity.getReCount(); + else { + count = count - invProductDetailEntity.getReCount(); + } + } + } + return count; + } + + + @Override + public List findByGroupCode(String invCode, String code) { + if (StrUtil.isNotEmpty(invCode) && StrUtil.isNotEmpty(code)) { + List datas = + invPreInProductDetailDao.findByGroupCode(invCode, code); + return datas; + } + + return null; + } + + @Override + public List findBySpaceList(List spaceList) { + return invPreInProductDetailDao.findBySpaceList(spaceList); + } + + } diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPreProductDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPreProductDetailServiceImpl.java index 5a3d0c362..f3bde48a8 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvPreProductDetailServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPreProductDetailServiceImpl.java @@ -19,6 +19,7 @@ import com.glxp.api.entity.inv.InvProductDetailEntity; import com.glxp.api.req.inv.FilterInvPreProductDetailRequest; import com.glxp.api.req.inv.FilterInvProductDetailRequest; import com.glxp.api.req.system.DeleteRequest; +import com.glxp.api.res.inv.InvPlaceDetailResponse; import com.glxp.api.res.inv.InvPreProductDetailResponse; import com.glxp.api.service.auth.InvSpaceService; import com.glxp.api.service.inv.InvPreProductDetailService; @@ -185,4 +186,37 @@ public class InvPreProductDetailServiceImpl implements InvPreProductDetailServic return null; } + @Override + public int vailStockCount(Long relId, String batchNo, String supId, String deptCode, String invCode, String invSpaceCode) { + if (relId == null) { + return 0; + } + List datas = + invPreProductDetailDao.selectList(new QueryWrapper().eq("relId", relId).eq(StrUtil.isNotEmpty(batchNo), "batchNo", batchNo) + .isNull(StrUtil.isEmpty(batchNo), "batchNo").eq(StrUtil.isNotEmpty(supId), "supId", supId).eq(StrUtil.isNotEmpty(deptCode), "deptCode", deptCode).eq("invCode", invCode).eq(StrUtil.isNotEmpty(invSpaceCode), "invSpaceCode", invSpaceCode)); + + int count = 0; + if (CollUtil.isNotEmpty(datas)) { + for (InvPreProductDetailEntity invProductDetailEntity : datas) { + if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_PUT)) + count = count + invProductDetailEntity.getReCount(); + else { + count = count - invProductDetailEntity.getReCount(); + } + } + } + return count; + } + + + @Override + public List findByGroupCode(String invCode, String code) { + if (StrUtil.isNotEmpty(invCode) && StrUtil.isNotEmpty(code)) { + List datas = + invPreProductDetailDao.findByGroupCode(invCode, code); + return datas; + } + + return null; + } } 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 8d2ae7ccd..9c5fc31ea 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 @@ -15,6 +15,7 @@ import com.glxp.api.entity.basic.BasicBussinessTypeEntity; 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.InvPlaceDetailResponse; import com.glxp.api.res.inv.InvProductDetailResponse; import com.glxp.api.service.auth.InvSpaceService; import com.glxp.api.service.inv.InvProductDetailService; @@ -189,4 +190,15 @@ public class InvProductDetailServiceImpl implements InvProductDetailService { } return count; } + + @Override + public List findByGroupCode(String invCode, String code) { + if (StrUtil.isNotEmpty(invCode) && StrUtil.isNotEmpty(code)) { + List datas = + invProductDetailDao.findByGroupCode(invCode, code); + return datas; + } + + return null; + } } diff --git a/src/main/resources/mybatis/mapper/auth/InvWarehouseDao.xml b/src/main/resources/mybatis/mapper/auth/InvWarehouseDao.xml index dce43a467..f35969dd3 100644 --- a/src/main/resources/mybatis/mapper/auth/InvWarehouseDao.xml +++ b/src/main/resources/mybatis/mapper/auth/InvWarehouseDao.xml @@ -168,12 +168,6 @@ - - DELETE - FROM auth_warehouse - WHERE id = #{id} - - DELETE diff --git a/src/main/resources/mybatis/mapper/inv/InvPlaceOrderDao.xml b/src/main/resources/mybatis/mapper/inv/InvPlaceOrderDao.xml index 50948955f..127afac71 100644 --- a/src/main/resources/mybatis/mapper/inv/InvPlaceOrderDao.xml +++ b/src/main/resources/mybatis/mapper/inv/InvPlaceOrderDao.xml @@ -8,7 +8,7 @@ t2.invCode, t2.invSpaceCode, t.createUser, - t.count as count, + t2.count as count, (select employeeName from auth_user where id = t.createUser) operatorName, (select name from auth_warehouse where code = t2.invCode) invName, (select name from auth_space where code = t2.invSpaceCode) invSpaceName, @@ -28,9 +28,9 @@ bp.manufactory, bp.measname from inv_place_order t - right join inv_place_order_detail t2 on t.recordId = t2.recordId - left join basic_udirel bu on bu.id = t2.relId - left join basic_products bp on bp.uuid = bu.uuid + right join inv_place_order_detail t2 on t.recordId = t2.recordId + left join basic_udirel bu on bu.id = t2.relId + left join basic_products bp on bp.uuid = bu.uuid and t.recordId like concat('%', #{recordId}, '%') @@ -63,6 +63,5 @@ and bp.zczbhhzbapzbh like concat('%', #{zczbhhzbapzbh}, '%') - - \ No newline at end of file + diff --git a/src/main/resources/mybatis/mapper/inv/InvPreInProductDetailDao.xml b/src/main/resources/mybatis/mapper/inv/InvPreInProductDetailDao.xml index d45a0ff6e..b36eb89dd 100644 --- a/src/main/resources/mybatis/mapper/inv/InvPreInProductDetailDao.xml +++ b/src/main/resources/mybatis/mapper/inv/InvPreInProductDetailDao.xml @@ -223,13 +223,10 @@ + + + + + diff --git a/src/main/resources/mybatis/mapper/inv/InvPreProductDetailDao.xml b/src/main/resources/mybatis/mapper/inv/InvPreProductDetailDao.xml index 7db21a72f..256bcf903 100644 --- a/src/main/resources/mybatis/mapper/inv/InvPreProductDetailDao.xml +++ b/src/main/resources/mybatis/mapper/inv/InvPreProductDetailDao.xml @@ -266,4 +266,44 @@ CODE, invSpaceCode + + + diff --git a/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml b/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml index c5531fe10..4eb909818 100644 --- a/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml +++ b/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml @@ -204,6 +204,46 @@ group by pd.code + + + update inv_product_detail set invSpaceCode = #{invSpaceCode}