From 12154b85ab2f49c6159201fc1166b4a8c01fe623 Mon Sep 17 00:00:00 2001 From: yewj Date: Wed, 19 Feb 2025 10:54:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=B7=A5=E4=BD=8D=E5=89=94?= =?UTF-8?q?=E9=99=A4=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IoCollectOrderCodeAutoController.java | 15 ++-- .../collect/IoFifoDesOrderController.java | 4 + .../inout/IoCodeTempController.java | 36 +++++--- .../glxp/api/req/inout/FilterCodeRequest.java | 5 ++ .../service/inout/IoSplitFifoInvService.java | 84 ++++++++----------- 5 files changed, 75 insertions(+), 69 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderCodeAutoController.java b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderCodeAutoController.java index c9e610788..c00005d56 100644 --- a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderCodeAutoController.java +++ b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderCodeAutoController.java @@ -48,8 +48,7 @@ public class IoCollectOrderCodeAutoController extends BaseController { * @return */ @GetMapping("/udiwms/ioSplit/collect/auto/code/filter") - public BaseResponse filterByCode(IoSplitCodeRequest splitCodeRequest, - BindingResult bindingResult) { + public BaseResponse filterByCode(IoSplitCodeRequest splitCodeRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } @@ -67,8 +66,7 @@ public class IoCollectOrderCodeAutoController extends BaseController { * @return */ @GetMapping("/udiwms/ioSplit/collect/auto/order/filter") - public BaseResponse filterByBillNo(CollectOrderCodeAutoRequest collectOrderCodeAutoRequest, - BindingResult bindingResult) { + public BaseResponse filterByBillNo(CollectOrderCodeAutoRequest collectOrderCodeAutoRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } @@ -89,8 +87,7 @@ public class IoCollectOrderCodeAutoController extends BaseController { * @return */ @GetMapping("/udiwms/ioSplit/collect/auto/order/result") - public BaseResponse filterResultByBillNo(CollectOrderBizRequest collectOrderBizRequest, - BindingResult bindingResult) { + public BaseResponse filterResultByBillNo(CollectOrderBizRequest collectOrderBizRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } @@ -101,8 +98,7 @@ public class IoCollectOrderCodeAutoController extends BaseController { CollectOrderBizResponse collectOrderBizResponse = new CollectOrderBizResponse(); BeanUtils.copyProperties(collectOrderBiz, collectOrderBizResponse); for (IoCollectOrderCodeAuto collectOrderCodeAuto : collectOrderCodeAutos) { - if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId()) && - (StrUtil.isNotEmpty(collectOrderCodeAuto.getBatchNo()) && StrUtil.emptyIfNull(collectOrderBiz.getBatchNo()).equals(collectOrderCodeAuto.getBatchNo()))) { + if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId()) && (StrUtil.isNotEmpty(collectOrderCodeAuto.getBatchNo()) && StrUtil.emptyIfNull(collectOrderBiz.getBatchNo()).equals(collectOrderCodeAuto.getBatchNo()))) { collectOrderBizResponse.setUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getUdiCode()) + "," + collectOrderCodeAuto.getUdiCode()); } else if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId())) { collectOrderBizResponse.setUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getUdiCode()) + "," + collectOrderCodeAuto.getUdiCode()); @@ -127,8 +123,7 @@ public class IoCollectOrderCodeAutoController extends BaseController { * @return */ @GetMapping("/udiwms/ioSplit/collect/code/filter") - public BaseResponse filterByTagCode(CollectOrderCodeAutoRequest collectOrderCodeAutoRequest, - BindingResult bindingResult) { + public BaseResponse filterByTagCode(CollectOrderCodeAutoRequest collectOrderCodeAutoRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } diff --git a/src/main/java/com/glxp/api/controller/collect/IoFifoDesOrderController.java b/src/main/java/com/glxp/api/controller/collect/IoFifoDesOrderController.java index ada9650c7..9a71d942f 100644 --- a/src/main/java/com/glxp/api/controller/collect/IoFifoDesOrderController.java +++ b/src/main/java/com/glxp/api/controller/collect/IoFifoDesOrderController.java @@ -165,4 +165,8 @@ public class IoFifoDesOrderController extends BaseController { return ResultVOUtils.success("损耗出库成功"); } + + + + } 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 da8996e5c..83d2cc4c3 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -8,6 +8,7 @@ import com.glxp.api.entity.auth.SysWorkplace; import com.glxp.api.entity.basic.*; import com.glxp.api.entity.collect.*; import com.glxp.api.exception.JsonException; +import com.glxp.api.req.collect.AddInvDesDetaiRequest; import com.glxp.api.req.collect.CollectOrderBizRequest; import com.glxp.api.req.collect.CollectOrderRequest; import com.glxp.api.res.collect.CollectOrderBizResponse; @@ -600,7 +601,7 @@ public class IoCodeTempController extends BaseController { } if (IntUtil.value(udiEntity.getProductType()) == 2) { try { - baseResponse = addDrugOrder(addOrderRequest, udiEntity, code,groupNumber); + baseResponse = addDrugOrder(addOrderRequest, udiEntity, code, groupNumber); } catch (JsonException e) { if (e.getCode() == 507) { baseResponse = ResultVOUtils.error(e.getCode(), e.getMessage()); @@ -692,7 +693,7 @@ public class IoCodeTempController extends BaseController { } if (IntUtil.value(udiEntity.getProductType()) == 2) { Integer groupNumber = getMaxGroupNumber() == null ? 1 : getMaxGroupNumber() + 1; - return addDrugOrder(addOrderRequest, udiEntity, code,groupNumber); + return addDrugOrder(addOrderRequest, udiEntity, code, groupNumber); } else { return addMaterOrder(addOrderRequest, udiEntity, code); } @@ -1363,9 +1364,8 @@ public class IoCodeTempController extends BaseController { RelCodeBatchService relCodeBatchService; - -// @Transactional(rollbackFor = Exception.class) - public BaseResponse addDrugOrder(AddOrderRequest addOrderRequest, UdiEntity udiEntity, String code,Integer groupNumber) { + // @Transactional(rollbackFor = Exception.class) + public BaseResponse addDrugOrder(AddOrderRequest addOrderRequest, UdiEntity udiEntity, String code, Integer groupNumber) { AddCodeResult addCodeResult = new AddCodeResult(); BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(addOrderRequest.getAction()); InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(addOrderRequest.getInvCode()); @@ -1942,14 +1942,12 @@ public class IoCodeTempController extends BaseController { } - - public Integer getMaxGroupNumber(){ + public Integer getMaxGroupNumber() { Integer groupNumber = codeTempService.selectMaxGroupNumber(); return groupNumber; } - public void updateRelCode(BasicBussinessTypeEntity bussinessTypeEntity, String code) { if (!(bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_OUT) || bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_RETURN))) relCodeBatchService.threadUpdateIoCodeTempEntity(code); @@ -2014,7 +2012,7 @@ public class IoCodeTempController extends BaseController { addOrderRequest.setBillNo(ioOrderEntity.getBillNo()); } Integer groupNumber = getMaxGroupNumber() == null ? 1 : getMaxGroupNumber() + 1; - return addDrugOrder(addOrderRequest, udiEntity, code,groupNumber); + return addDrugOrder(addOrderRequest, udiEntity, code, groupNumber); } public void checkPrice(IoCodeTempEntity codeTempEntity, BasicBussinessTypeEntity bussinessTypeEntity, String @@ -3036,7 +3034,7 @@ public class IoCodeTempController extends BaseController { addOrderRequest.setCode(code); if (IntUtil.value(udiEntity.getProductType()) == 2) { try { - baseResponse = addDrugOrder(addOrderRequest, udiEntity, code,groupNumber); + baseResponse = addDrugOrder(addOrderRequest, udiEntity, code, groupNumber); } catch (JsonException e) { if (e.getCode() == 507) { baseResponse = ResultVOUtils.error(e.getCode(), e.getMessage()); @@ -3094,7 +3092,6 @@ public class IoCodeTempController extends BaseController { for (IoCodeTempResponse ioSplitCodeResponse : list) { if (StrUtil.isEmpty(ioSplitCodeResponse.getGgxh())) { ioSplitCodeResponse.setGgxh(ioSplitCodeResponse.getBzgg()); - } } // if (list.size() == 0 || list == null) { @@ -3107,4 +3104,21 @@ public class IoCodeTempController extends BaseController { return ResultVOUtils.success(pageSimpleResponse); } + /** + * 工位剔除 + * + * @param bindingResult + * @return + */ + @PostMapping("/udiwms/warehouse/inout/removeCodes") + public BaseResponse removeCodes(@RequestBody FilterCodeRequest filterCodeRequest, + BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + ioSplitFifoInvService.removeByCodes(filterCodeRequest.getCodeList(), filterCodeRequest.getWorkPlaceCode()); + return ResultVOUtils.success("损耗出库成功"); + } + + } diff --git a/src/main/java/com/glxp/api/req/inout/FilterCodeRequest.java b/src/main/java/com/glxp/api/req/inout/FilterCodeRequest.java index ba87f48c2..e34c1853b 100644 --- a/src/main/java/com/glxp/api/req/inout/FilterCodeRequest.java +++ b/src/main/java/com/glxp/api/req/inout/FilterCodeRequest.java @@ -72,4 +72,9 @@ public class FilterCodeRequest extends ListPageRequest { * 追溯码集合 */ private List codeList; + + /** + * 空位库存队列删除 + */ + private Long workPlaceCode; } diff --git a/src/main/java/com/glxp/api/service/inout/IoSplitFifoInvService.java b/src/main/java/com/glxp/api/service/inout/IoSplitFifoInvService.java index 1544d9f33..538cd8f56 100644 --- a/src/main/java/com/glxp/api/service/inout/IoSplitFifoInvService.java +++ b/src/main/java/com/glxp/api/service/inout/IoSplitFifoInvService.java @@ -122,30 +122,7 @@ public class IoSplitFifoInvService extends ServiceImpl filteredQueues = queues.stream() - .filter(queue -> { - IoSplitFifoInv one = getOne( - new LambdaQueryWrapper() - .eq(IoSplitFifoInv::getWorkPlaceQueueCode, queue.getCode()) - ); - return one == null; // 只保留那些没有匹配的槽位 - }) - .sorted((queue1, queue2) -> queue1.getCode().compareTo(queue2.getCode())) - .collect(Collectors.toList()); + List filteredQueues = queues.stream().filter(queue -> { + IoSplitFifoInv one = getOne(new LambdaQueryWrapper().eq(IoSplitFifoInv::getWorkPlaceQueueCode, queue.getCode())); + return one == null; // 只保留那些没有匹配的槽位 + }).sorted((queue1, queue2) -> queue1.getCode().compareTo(queue2.getCode())).collect(Collectors.toList()); if (filteredQueues.size() > 0) { //还有剩余的槽位 可分配 SysWorkplaceQueue sysWorkplaceQueue = filteredQueues.get(0); @@ -248,8 +219,7 @@ public class IoSplitFifoInvService extends ServiceImpl codes, Long workPlaceCode) { + List splitCodeEntities = new ArrayList<>(); + for (String code : codes) { + IoSplitFifoCodeEntity ioSplitFifoCodeEntity = splitFifoCodeService.findByCode(code, workPlaceCode); + if (ioSplitFifoCodeEntity == null) { + throw new JsonException(500, "工位队列不存在!"); + } + splitCodeEntities.add(ioSplitFifoCodeEntity); + } + if (CollUtil.isNotEmpty(splitCodeEntities)) { + splitFifoCodeService.removeBatchByIds(splitCodeEntities); + for (IoSplitFifoCodeEntity ioSplitFifoCodeEntity : splitCodeEntities) { + IoSplitFifoInv splitFifoInv = findByFifoCode(ioSplitFifoCodeEntity); + if (splitFifoInv != null) { + splitFifoInv.setOutCount(IntUtil.value(splitFifoInv.getOutCount()) + IntUtil.value(ioSplitFifoCodeEntity.getTotalCount())); + splitFifoInv.setOutCodeCount(IntUtil.value(splitFifoInv.getOutCodeCount()) + 1); + splitFifoInv.setReCount(IntUtil.value(splitFifoInv.getInCount()) - IntUtil.value(splitFifoInv.getOutCount())); + splitFifoInv.setReCodeCount(IntUtil.value(splitFifoInv.getInCodeCount()) - IntUtil.value(splitFifoInv.getOutCodeCount())); + splitFifoInv.setAvailableCount(IntUtil.value(splitFifoInv.getInCount()) - IntUtil.value(splitFifoInv.getOutCount()) - IntUtil.value(splitFifoInv.getLockCount())); + updateById(splitFifoInv); + } + } + } + + } + public IoSplitFifoInv findByFifoCode(IoSplitFifoCodeEntity ioSplitFifoCodeEntity) { // Boolean isOnlyInv = sysWorkplaceDocumentService.isOnlyInv(ioSplitFifoCodeEntity.getWorkPlaceCode(), ioSplitFifoCodeEntity.getBusType()); - IoSplitFifoInv splitFifoInv = getOne(new LambdaQueryWrapper() - .eq(IoSplitFifoInv::getRelId, ioSplitFifoCodeEntity.getRelId()) - .eq(IoSplitFifoInv::getWorkPlaceCode, ioSplitFifoCodeEntity.getWorkPlaceCode()) - .eq(StrUtil.isNotEmpty(ioSplitFifoCodeEntity.getBatchNo()), IoSplitFifoInv::getBatchNo, ioSplitFifoCodeEntity.getBatchNo()) - .eq(ioSplitFifoCodeEntity.getSupId() != null, IoSplitFifoInv::getSupId, ioSplitFifoCodeEntity.getSupId()).last("limit 1")); + IoSplitFifoInv splitFifoInv = getOne(new LambdaQueryWrapper().eq(IoSplitFifoInv::getRelId, ioSplitFifoCodeEntity.getRelId()).eq(IoSplitFifoInv::getWorkPlaceCode, ioSplitFifoCodeEntity.getWorkPlaceCode()).eq(StrUtil.isNotEmpty(ioSplitFifoCodeEntity.getBatchNo()), IoSplitFifoInv::getBatchNo, ioSplitFifoCodeEntity.getBatchNo()).eq(ioSplitFifoCodeEntity.getSupId() != null, IoSplitFifoInv::getSupId, ioSplitFifoCodeEntity.getSupId()).last("limit 1")); // .eq(StrUtil.isNotEmpty(ioSplitFifoCodeEntity.getBusType()) && isOnlyInv, IoSplitFifoInv::getBusType, ioSplitFifoCodeEntity.getBusType()) return splitFifoInv; } @@ -337,7 +330,7 @@ public class IoSplitFifoInvService extends ServiceImpl