From 245347758e4bc31868200dbe42002e5f20619c76 Mon Sep 17 00:00:00 2001 From: yewj Date: Wed, 12 Mar 2025 10:13:13 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=91=E5=AE=A4=E4=B8=8A=E8=B4=A7=E8=BD=AC?= =?UTF-8?q?=E9=94=80=E5=94=AE=E5=87=BA=E5=BA=93=E6=89=A3=E5=BA=93=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../collect/IoCollectOriginController.java | 41 ++- .../collect/IoCollectOrderService.java | 10 +- .../api/service/inout/IoSplitCodeService.java | 267 ++++++------------ 3 files changed, 115 insertions(+), 203 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/collect/IoCollectOriginController.java b/src/main/java/com/glxp/api/controller/collect/IoCollectOriginController.java index 2a3669b7b..4bf589c93 100644 --- a/src/main/java/com/glxp/api/controller/collect/IoCollectOriginController.java +++ b/src/main/java/com/glxp/api/controller/collect/IoCollectOriginController.java @@ -2,12 +2,15 @@ package com.glxp.api.controller.collect; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.pagehelper.PageInfo; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.BusTypeConstant; +import com.glxp.api.constant.ConstantType; import com.glxp.api.controller.BaseController; import com.glxp.api.dao.basic.SysWorkplaceDocumentDao; +import com.glxp.api.entity.auth.SysWorkplace; import com.glxp.api.entity.collect.IoCollectOrder; import com.glxp.api.entity.collect.IoCollectOrderOrigin; import com.glxp.api.http.ErpBasicClient; @@ -23,6 +26,7 @@ import com.glxp.api.res.basic.SysWorkplaceDocumentResponse; import com.glxp.api.res.basic.UserWorkResponse; import com.glxp.api.res.collect.CollectOrderBizResponse; import com.glxp.api.res.collect.IoCollectOrderResponse; +import com.glxp.api.service.auth.SysWorkplaceService; import com.glxp.api.service.basic.BasicCollectUserService; import com.glxp.api.service.basic.SysWorkplaceDocumentService; import com.glxp.api.service.collect.IoCollectOrderBizOriginService; @@ -63,6 +67,9 @@ public class IoCollectOriginController extends BaseController { @Resource private IoCollectOrderService ioCollectOrderService; + @Resource + SysWorkplaceService sysWorkplaceService; + @PostMapping("/udiwms/basic/collect/origin/order/download") public BaseResponse downloadOrder(@RequestBody CollectOrderRequest collectOrderRequest) { return collectOriginService.downloadOrderV2(collectOrderRequest); @@ -80,11 +87,11 @@ public class IoCollectOriginController extends BaseController { getSickPrescribeRequest.setThirdSys("thirdId"); getSickPrescribeRequest.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode()); getSickPrescribeRequest.setFromType(collectOrderRequest.getFromType()); - if (StrUtil.isNotEmpty(collectOrderRequest.getStartTime())){ + if (StrUtil.isNotEmpty(collectOrderRequest.getStartTime())) { getSickPrescribeRequest.setStartTime(collectOrderRequest.getStartTime() + " 00:00:00"); } - if (StrUtil.isNotEmpty(collectOrderRequest.getEndTime())){ - getSickPrescribeRequest.setEndTime(collectOrderRequest.getEndTime()+ " 23:59:59"); + if (StrUtil.isNotEmpty(collectOrderRequest.getEndTime())) { + getSickPrescribeRequest.setEndTime(collectOrderRequest.getEndTime() + " 23:59:59"); } getSickPrescribeRequest.setKey(collectOrderRequest.getKeyWords()); getSickPrescribeRequest.setPage(collectOrderRequest.getPage()); @@ -101,11 +108,11 @@ public class IoCollectOriginController extends BaseController { getSickPrescribeRequest.setThirdSys("thirdId"); getSickPrescribeRequest.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode()); getSickPrescribeRequest.setFromType(collectOrderRequest.getFromType()); - if (StrUtil.isNotEmpty(collectOrderRequest.getStartTime())){ + if (StrUtil.isNotEmpty(collectOrderRequest.getStartTime())) { getSickPrescribeRequest.setStartTime(collectOrderRequest.getStartTime() + " 00:00:00"); } - if (StrUtil.isNotEmpty(collectOrderRequest.getEndTime())){ - getSickPrescribeRequest.setEndTime(collectOrderRequest.getEndTime()+ " 23:59:59"); + if (StrUtil.isNotEmpty(collectOrderRequest.getEndTime())) { + getSickPrescribeRequest.setEndTime(collectOrderRequest.getEndTime() + " 23:59:59"); } getSickPrescribeRequest.setKey(collectOrderRequest.getKeyWords()); getSickPrescribeRequest.setPage(collectOrderRequest.getPage()); @@ -122,12 +129,22 @@ public class IoCollectOriginController extends BaseController { filterOrderRequest.setProductType(null); filterOrderRequest.setLimit(collectOrderRequest.getLimit()); filterOrderRequest.setPage(collectOrderRequest.getPage()); - if (StrUtil.isNotEmpty(collectOrderRequest.getStartTime())){ + if (StrUtil.isNotEmpty(collectOrderRequest.getStartTime())) { filterOrderRequest.setStartTime(collectOrderRequest.getStartTime() + "00:00:00"); } - if (StrUtil.isNotEmpty(collectOrderRequest.getEndTime())){ - filterOrderRequest.setEndTime(collectOrderRequest.getEndTime()+ "23:59:59"); + if (StrUtil.isNotEmpty(collectOrderRequest.getEndTime())) { + filterOrderRequest.setEndTime(collectOrderRequest.getEndTime() + "23:59:59"); } + + if (collectOrderRequest.getBusType().equals(ConstantType.SPLIT_OUT)) { + List sysWorkplaceList = sysWorkplaceService.list(new LambdaQueryWrapper().eq(SysWorkplace::getJobMode, 1)); + if (CollUtil.isNotEmpty(sysWorkplaceList)) { + List workplaceCodes = sysWorkplaceList.stream().map(SysWorkplace::getWorkplaceId).collect(Collectors.toList()); + filterOrderRequest.setWorkplaceCodes(workplaceCodes); + filterOrderRequest.setStatus(7); + } + } + filterOrderRequest.setBillNo(collectOrderRequest.getBillNo()); filterOrderRequest.setFromCorp(collectOrderRequest.getFromCorpName()); filterOrderRequest.setAction(collectOrderRequest.getBusType()); @@ -142,11 +159,11 @@ public class IoCollectOriginController extends BaseController { filterThrOrderRequest.setBusType(collectOrderRequest.getBusType()); filterThrOrderRequest.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode()); filterThrOrderRequest.setFromType(collectOrderRequest.getFromType()); - if (StrUtil.isNotEmpty(collectOrderRequest.getStartTime())){ + if (StrUtil.isNotEmpty(collectOrderRequest.getStartTime())) { filterThrOrderRequest.setStartTime(collectOrderRequest.getStartTime() + "00:00:00"); } - if (StrUtil.isNotEmpty(collectOrderRequest.getEndTime())){ - filterThrOrderRequest.setEndTime(collectOrderRequest.getEndTime()+ "23:59:59"); + if (StrUtil.isNotEmpty(collectOrderRequest.getEndTime())) { + filterThrOrderRequest.setEndTime(collectOrderRequest.getEndTime() + "23:59:59"); } filterThrOrderRequest.setPage(collectOrderRequest.getPage()); filterThrOrderRequest.setKeyWords(collectOrderRequest.getKeyWords()); diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java index e9e79d2b9..ed5170612 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java @@ -293,9 +293,7 @@ public class IoCollectOrderService extends ServiceImpl findSplitCodes(Long relId, String batchNo, Long workPlaceCode) { - List ioSplitCodeEntities = splitCodeMapper.selectList(new LambdaQueryWrapper() - .eq(IoSplitCodeEntity::getRelId, relId) - .eq(StrUtil.isNotEmpty(batchNo), IoSplitCodeEntity::getBatchNo, batchNo) - .eq(workPlaceCode != null, IoSplitCodeEntity::getWorkPlaceCode, workPlaceCode) - .gt(IoSplitCodeEntity::getRemainCount, 0) - .in(IoSplitCodeEntity::getStatus, 1, 2).orderByAsc(IoSplitCodeEntity::getInBactchNo)); + List ioSplitCodeEntities = splitCodeMapper.selectList(new LambdaQueryWrapper().eq(IoSplitCodeEntity::getRelId, relId).eq(StrUtil.isNotEmpty(batchNo), IoSplitCodeEntity::getBatchNo, batchNo).eq(workPlaceCode != null, IoSplitCodeEntity::getWorkPlaceCode, workPlaceCode).gt(IoSplitCodeEntity::getRemainCount, 0).in(IoSplitCodeEntity::getStatus, 1, 2).orderByAsc(IoSplitCodeEntity::getInBactchNo)); return ioSplitCodeEntities; } public List findSplitCodes(String ybbm, String batchNo, Long workPlaceCode) { - List ioSplitCodeEntities = splitCodeMapper.selectList(new LambdaQueryWrapper() - .eq(StrUtil.isNotEmpty(batchNo), IoSplitCodeEntity::getBatchNo, batchNo) - .eq(workPlaceCode != null, IoSplitCodeEntity::getWorkPlaceCode, workPlaceCode) - .gt(IoSplitCodeEntity::getRemainCount, 0) - .in(IoSplitCodeEntity::getStatus, 1, 2).orderByAsc(IoSplitCodeEntity::getInBactchNo)); + List ioSplitCodeEntities = splitCodeMapper.selectList(new LambdaQueryWrapper().eq(StrUtil.isNotEmpty(batchNo), IoSplitCodeEntity::getBatchNo, batchNo).eq(workPlaceCode != null, IoSplitCodeEntity::getWorkPlaceCode, workPlaceCode).gt(IoSplitCodeEntity::getRemainCount, 0).in(IoSplitCodeEntity::getStatus, 1, 2).orderByAsc(IoSplitCodeEntity::getInBactchNo)); return ioSplitCodeEntities; } @@ -109,18 +100,13 @@ public class IoSplitCodeService extends ServiceImpl ioSplitCodeEntities = splitCodeMapper.selectList(new LambdaQueryWrapper() - .eq(IoSplitCodeEntity::getCode, code) - .eq(workPlaceCode != null, IoSplitCodeEntity::getWorkPlaceCode, workPlaceCode) - .in(IoSplitCodeEntity::getStatus, 1, 2).orderByAsc(IoSplitCodeEntity::getInBactchNo)); - if (CollUtil.isNotEmpty(ioSplitCodeEntities)) - return ioSplitCodeEntities.get(0); + List ioSplitCodeEntities = splitCodeMapper.selectList(new LambdaQueryWrapper().eq(IoSplitCodeEntity::getCode, code).eq(workPlaceCode != null, IoSplitCodeEntity::getWorkPlaceCode, workPlaceCode).in(IoSplitCodeEntity::getStatus, 1, 2).orderByAsc(IoSplitCodeEntity::getInBactchNo)); + if (CollUtil.isNotEmpty(ioSplitCodeEntities)) return ioSplitCodeEntities.get(0); return null; } public IoSplitCodeEntity findByCode(String code) { - return splitCodeMapper.selectOne(new LambdaQueryWrapper() - .eq(IoSplitCodeEntity::getCode, code).last("limit 1")); + return splitCodeMapper.selectOne(new LambdaQueryWrapper().eq(IoSplitCodeEntity::getCode, code).last("limit 1")); } public void splitRemove(IoCollectOrderBiz collectOrderBiz, IoCollectOrder collectOrder, Long putWorkPlaceCode, Boolean isAuto, String confirmSplitCode) { @@ -138,20 +124,7 @@ public class IoSplitCodeService extends ServiceImpl 0) { ioSplitCodeEntity.setRemainCount(count); unCount = 0; @@ -174,8 +147,7 @@ public class IoSplitCodeService extends ServiceImpl 0) { count = IntUtil.value(ioSplitCodeEntity.getRemainCount()) - unCount; - collectOrderCodeAutoService.save(IoCollectOrderCodeAuto.builder() - .codeIdFk(ioSplitCodeEntity.getId()) - .udiCode(ioSplitCodeEntity.getCode()) - .orderIdFk(collectOrder.getBillNo()) - .batchNo(ioSplitCodeEntity.getBatchNo()) - .productDate(ioSplitCodeEntity.getProduceDate()) - .expireDate(ioSplitCodeEntity.getExpireDate()) - .serialNo(ioSplitCodeEntity.getSerialNo()) - .relId(collectOrderBiz.getRelId()) - .bizIdFk(collectOrderBiz.getId()) - .fifoSplit(1) - .createTime(new Date()) - .updateTime(new Date()) - .build()); + collectOrderCodeAutoService.save(IoCollectOrderCodeAuto.builder().codeIdFk(ioSplitCodeEntity.getId()).udiCode(ioSplitCodeEntity.getCode()).orderIdFk(collectOrder.getBillNo()).batchNo(ioSplitCodeEntity.getBatchNo()).productDate(ioSplitCodeEntity.getProduceDate()).expireDate(ioSplitCodeEntity.getExpireDate()).serialNo(ioSplitCodeEntity.getSerialNo()).relId(collectOrderBiz.getRelId()).bizIdFk(collectOrderBiz.getId()).fifoSplit(1).createTime(new Date()).updateTime(new Date()).build()); if (count > 0) { ioSplitCodeEntity.setRemainCount(count); splitCodeMapper.updateById(ioSplitCodeEntity); @@ -217,8 +176,7 @@ public class IoSplitCodeService extends ServiceImpl 0) { collectOrderBiz.setTagStatus(2); collectOrderBiz.setTagMsg("预出库队列码数量不足,赋码失败!"); - if (isAuto) - throw new JsonException(500, "工位库存数量不足!"); + if (isAuto) throw new JsonException(500, "工位库存数量不足!"); else return; } else { collectOrderBiz.setTagStatus(3); @@ -239,8 +197,7 @@ public class IoSplitCodeService extends ServiceImpl collectOrderBizs = collectOrderBizService.listByBillNo(collectOrder.getBillNo()); //如果手动扫码判断该码是否在队列里,如果已在队列,则队列里剔除 @@ -271,11 +228,7 @@ public class IoSplitCodeService extends ServiceImpl 0) { List ioSplitFifoCodeEntities = splitFifoCodeService.findByRelId(putWorkPlaceCode, collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), queueCode); if (ioSplitFifoCodeEntities.size() < quotient) { - if (isAuto) - throw new JsonException(500, "提交失败,工位库存数量不足!"); + if (isAuto) throw new JsonException(500, "提交失败,工位库存数量不足!"); // else return; } if (ioSplitFifoCodeEntities.size() > 0) { - Integer indexFlag = ioSplitFifoCodeEntities.size() < quotient ?ioSplitFifoCodeEntities.size():quotient; + Integer indexFlag = ioSplitFifoCodeEntities.size() < quotient ? ioSplitFifoCodeEntities.size() : quotient; for (int i = 0; i < indexFlag; i++) { IoSplitFifoCodeEntity splitFifoCodeEntity = ioSplitFifoCodeEntities.get(i); collectOrderBiz.setUnTagCount(IntUtil.value(collectOrderBiz.getUnTagCount()) - IntUtil.value(udiRelevanceResponse.getBhxjsl())); - collectOrderCodeAutoService.save(IoCollectOrderCodeAuto.builder() - .codeIdFk(splitFifoCodeEntity.getId()) - .udiCode(splitFifoCodeEntity.getCode()) - .orderIdFk(collectOrder.getBillNo()) - .batchNo(splitFifoCodeEntity.getBatchNo()) - .productDate(splitFifoCodeEntity.getProduceDate()) - .expireDate(splitFifoCodeEntity.getExpireDate()) - .serialNo(splitFifoCodeEntity.getSerialNo()) - .relId(collectOrderBiz.getRelId()) - .bizIdFk(collectOrderBiz.getId()) - .fifoSplit(2) - .createTime(new Date()) - .updateTime(new Date()) - .build()); + collectOrderCodeAutoService.save(IoCollectOrderCodeAuto.builder().codeIdFk(splitFifoCodeEntity.getId()).udiCode(splitFifoCodeEntity.getCode()).orderIdFk(collectOrder.getBillNo()).batchNo(splitFifoCodeEntity.getBatchNo()).productDate(splitFifoCodeEntity.getProduceDate()).expireDate(splitFifoCodeEntity.getExpireDate()).serialNo(splitFifoCodeEntity.getSerialNo()).relId(collectOrderBiz.getRelId()).bizIdFk(collectOrderBiz.getId()).fifoSplit(2).createTime(new Date()).updateTime(new Date()).build()); splitFifoCodeService.removeById(splitFifoCodeEntity.getId()); IoSplitFifoInv splitFifoInv = splitFifoInvService.findByFifoCode(splitFifoCodeEntity); if (splitFifoInv != null) { @@ -422,6 +345,47 @@ public class IoSplitCodeService extends ServiceImpl collectOrderCodeMENs = collectOrderCodeManService.listByBillNo(collectOrder.getBillNo()); + for (IoCollectOrderCodeMan collectOrderCodeMan : collectOrderCodeMENs) { + IoSplitFifoCodeEntity splitFifoCodeEntity = splitFifoCodeService.findByCode(collectOrderCodeMan.getUdiCode(), workPlace); + if (splitFifoCodeEntity != null) { + collectOrderCodeMan.setRemoveFlag(true); + if (IntUtil.value(splitFifoCodeEntity.getScanCount()) - IntUtil.value(collectOrderCodeMan.getScanCount()) <= 0) { + splitFifoCodeService.removeById(splitFifoCodeEntity.getId()); + IoSplitFifoInv splitFifoInv = splitFifoInvService.findByFifoCode(splitFifoCodeEntity); + if (splitFifoInv != null) { + splitFifoInv.setOutCount(IntUtil.value(splitFifoInv.getOutCount()) + IntUtil.value(splitFifoCodeEntity.getTotalCount())); + splitFifoInv.setOutCodeCount(IntUtil.value(splitFifoInv.getOutCodeCount()) + IntUtil.value(splitFifoCodeEntity.getScanCount())); + splitFifoInv.setReCount(IntUtil.value(splitFifoInv.getInCount()) - IntUtil.value(splitFifoInv.getOutCount())); + splitFifoInv.setReCodeCount(IntUtil.value(splitFifoInv.getInCodeCount()) - IntUtil.value(splitFifoInv.getOutCodeCount())); + splitFifoInvService.updateById(splitFifoInv); + } + } else { + //队列码数量大于扫码数量更新数量(一般指无序列号) + FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest(); + filterUdiRelRequest.setId(collectOrderCodeMan.getRelId()); + filterUdiRelRequest.setPackLevel("1"); + UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectOneUdi(filterUdiRelRequest); + int removeCount = IntUtil.value(collectOrderCodeMan.getScanCount()) * udiRelevanceResponse.getBhxjsl(); + splitFifoCodeService.updateById(IoSplitFifoCodeEntity.builder().id(splitFifoCodeEntity.getId()).scanCount(IntUtil.value(splitFifoCodeEntity.getScanCount()) - IntUtil.value(collectOrderCodeMan.getScanCount())).totalCount(IntUtil.value(splitFifoCodeEntity.getTotalCount()) - removeCount).build()); + IoSplitFifoInv splitFifoInv = splitFifoInvService.findByFifoCode(splitFifoCodeEntity); + if (splitFifoInv != null) { + splitFifoInv.setOutCount(IntUtil.value(splitFifoInv.getOutCount()) + removeCount); + splitFifoInv.setOutCodeCount(IntUtil.value(splitFifoInv.getOutCodeCount()) + IntUtil.value(collectOrderCodeMan.getScanCount())); + splitFifoInv.setReCount(IntUtil.value(splitFifoInv.getInCount()) - IntUtil.value(splitFifoInv.getOutCount())); + splitFifoInv.setReCodeCount(IntUtil.value(splitFifoInv.getInCodeCount()) - IntUtil.value(splitFifoInv.getOutCodeCount())); + splitFifoInvService.updateById(splitFifoInv); + } + } + } + } + } + + @Resource IoCollectOrderService collectOrderService; @@ -434,8 +398,7 @@ public class IoSplitCodeService extends ServiceImpl { return code.getCode(); - }) - .collect(Collectors.toList()); + }).collect(Collectors.toList()); if (CollUtil.isNotEmpty(codeInfoList)) { confirmResponse.setNeedSplitConfirm(true); confirmResponse.setNeedSplitCodes(codeInfoList); @@ -516,20 +478,7 @@ public class IoSplitCodeService extends ServiceImpl findInvIdFk(IoCollectOrder collectOrder) { List ioSplitFifoInvRels = splitFifoInvRelService.findInvIdFk(collectOrder.getWorkPlaceCode(), collectOrder.getBusType()); if (CollUtil.isNotEmpty(ioSplitFifoInvRels)) { - return ioSplitFifoInvRels.stream() - .map(IoSplitFifoInvRel::getInvIdFk) - .collect(Collectors.toList()); - } else - return null; + return ioSplitFifoInvRels.stream().map(IoSplitFifoInvRel::getInvIdFk).collect(Collectors.toList()); + } else return null; } public List filterCode(List collectOrderCodes, IoCollectOrderBiz collectOrderBiz, UdiRelevanceResponse udiRelevanceResponse) { @@ -633,36 +579,26 @@ public class IoSplitCodeService extends ServiceImpl collectOrderBizs = collectOrderBizService.listByBillNo(collectOrder.getBillNo()); for (IoCollectOrderBiz collectOrderBiz : collectOrderBizs) { - List splitFifoCodeEntities = - splitFifoCodeService.findByRelId(putWorkPlaceCode, - collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), queueCode); - int total = splitFifoCodeEntities.stream() - .mapToInt(IoSplitFifoCodeEntity::getTotalCount) - .sum(); + List splitFifoCodeEntities = splitFifoCodeService.findByRelId(putWorkPlaceCode, collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), queueCode); + int total = splitFifoCodeEntities.stream().mapToInt(IoSplitFifoCodeEntity::getTotalCount).sum(); collectOrderBiz.setTempWorkPlaceCount(total); - List splitCodeEntities = splitCodeService.findSplitCodes(collectOrderBiz.getRelId() - , collectOrderBiz.getBatchNo(), putWorkPlaceCode); - int splitTotal = splitCodeEntities.stream() - .mapToInt(IoSplitCodeEntity::getRemainCount) - .sum(); + List splitCodeEntities = splitCodeService.findSplitCodes(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), putWorkPlaceCode); + int splitTotal = splitCodeEntities.stream().mapToInt(IoSplitCodeEntity::getRemainCount).sum(); collectOrderBiz.setTempSplitCount(splitTotal); total = total + splitTotal; if (total >= IntUtil.value(collectOrderBiz.getCount())) { collectOrderBiz.setAutoTagStatus(2); } else if (total > 0) { collectOrderBiz.setAutoTagStatus(3); - } else - collectOrderBiz.setAutoTagStatus(1); + } else collectOrderBiz.setAutoTagStatus(1); } ThreadUtil.execAsync(() -> { - ioCollectLedGroupService.openLed(collectOrderBizs); - } - ); + ioCollectLedGroupService.openLed(collectOrderBizs); + }); collectOrderBizService.updateBatchById(collectOrderBizs); } @@ -675,31 +611,22 @@ public class IoSplitCodeService extends ServiceImpl collectOrderBizs = collectOrderBizService.listByBillNo(collectOrder.getBillNo()); for (IoCollectOrderBiz collectOrderBiz : collectOrderBizs) { - List splitFifoCodeEntities = - splitFifoCodeService.findByCheckCode(putWorkPlaceCode, - collectOrderBiz.getYbbm(), collectOrderBiz.getBatchNo(), queueCode); - int total = splitFifoCodeEntities.stream() - .mapToInt(IoSplitFifoCodeEntity::getTotalCount) - .sum(); + List splitFifoCodeEntities = splitFifoCodeService.findByCheckCode(putWorkPlaceCode, collectOrderBiz.getYbbm(), collectOrderBiz.getBatchNo(), queueCode); + int total = splitFifoCodeEntities.stream().mapToInt(IoSplitFifoCodeEntity::getTotalCount).sum(); collectOrderBiz.setTempWorkPlaceCount(total); - List splitCodeEntities = splitCodeService.findSplitCodes(collectOrderBiz.getRelId() - , collectOrderBiz.getBatchNo(), putWorkPlaceCode); - int splitTotal = splitCodeEntities.stream() - .mapToInt(IoSplitCodeEntity::getRemainCount) - .sum(); + List splitCodeEntities = splitCodeService.findSplitCodes(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), putWorkPlaceCode); + int splitTotal = splitCodeEntities.stream().mapToInt(IoSplitCodeEntity::getRemainCount).sum(); collectOrderBiz.setTempSplitCount(splitTotal); total = total + splitTotal; if (total >= IntUtil.value(collectOrderBiz.getCount())) { collectOrderBiz.setAutoTagStatus(2); } else if (total > 0) { collectOrderBiz.setAutoTagStatus(3); - } else - collectOrderBiz.setAutoTagStatus(1); + } else collectOrderBiz.setAutoTagStatus(1); } collectOrderBizService.updateBatchById(collectOrderBizs); } @@ -731,20 +658,9 @@ public class IoSplitCodeService extends ServiceImpl splitFifoCodeEntities; if (StrUtil.isNotEmpty(confirmSplitCode)) { - splitFifoCodeEntities = splitFifoCodeService - .list(new LambdaQueryWrapper() - .eq(IoSplitFifoCodeEntity::getCode, confirmSplitCode) - .eq(putWorkPlaceCode != null, IoSplitFifoCodeEntity::getWorkPlaceCode, putWorkPlaceCode) - .orderByAsc(IoSplitFifoCodeEntity::getInBactchNo) - ); + splitFifoCodeEntities = splitFifoCodeService.list(new LambdaQueryWrapper().eq(IoSplitFifoCodeEntity::getCode, confirmSplitCode).eq(putWorkPlaceCode != null, IoSplitFifoCodeEntity::getWorkPlaceCode, putWorkPlaceCode).orderByAsc(IoSplitFifoCodeEntity::getInBactchNo)); } else { - splitFifoCodeEntities = splitFifoCodeService - .list(new LambdaQueryWrapper() - .eq(IoSplitFifoCodeEntity::getRelId, relId) - .eq(StrUtil.isNotEmpty(batchNo), IoSplitFifoCodeEntity::getBatchNo, batchNo) - .eq(putWorkPlaceCode != null, IoSplitFifoCodeEntity::getWorkPlaceCode, putWorkPlaceCode) - .orderByAsc(IoSplitFifoCodeEntity::getInBactchNo) - ); + splitFifoCodeEntities = splitFifoCodeService.list(new LambdaQueryWrapper().eq(IoSplitFifoCodeEntity::getRelId, relId).eq(StrUtil.isNotEmpty(batchNo), IoSplitFifoCodeEntity::getBatchNo, batchNo).eq(putWorkPlaceCode != null, IoSplitFifoCodeEntity::getWorkPlaceCode, putWorkPlaceCode).orderByAsc(IoSplitFifoCodeEntity::getInBactchNo)); } Integer count = 0; @@ -852,37 +768,12 @@ public class IoSplitCodeService extends ServiceImpl splitDesOrderDetails = new ArrayList<>(); List removeByIds = new ArrayList<>(); - collectOrder = IoSplitDesOrder.builder() - .id(IdUtil.getSnowflakeNextId()) - .billNo(gennerOrderUtils.createWdOrderNo(new OrderNoTypeBean(Constant.SPLIT_DES_ORDER, "yyyyMMdd"))) - .busType(null) - .workPlaceCode(null) - .createTime(new Date()) - .billTime(new Date()) - .remark(null) - .status(2) - .createUser("1") - .updateTime(new Date()) - .updateUser("1") - .build(); + collectOrder = IoSplitDesOrder.builder().id(IdUtil.getSnowflakeNextId()).billNo(gennerOrderUtils.createWdOrderNo(new OrderNoTypeBean(Constant.SPLIT_DES_ORDER, "yyyyMMdd"))).busType(null).workPlaceCode(null).createTime(new Date()).billTime(new Date()).remark(null).status(2).createUser("1").updateTime(new Date()).updateUser("1").build(); splitDesOrderService.save(collectOrder); ioSplitCodeEntities.forEach(splitCodeEntity -> { //损耗详细表 - IoSplitDesOrderDetail splitDesOrderDetail = IoSplitDesOrderDetail.builder() - .id(IdUtil.getSnowflakeNextId()) - .workPlaceCode(collectOrder.getWorkPlaceCode()) - .orderIdFk(collectOrder.getBillNo()) - .relId(splitCodeEntity.getRelId()) - .batchNo(splitCodeEntity.getBatchNo()) - .produceDate(splitCodeEntity.getProduceDate()) - .expireDate(splitCodeEntity.getExpireDate()) - .supId(splitCodeEntity.getSupId()) - .count(splitCodeEntity.getRemainCount()) - .reCount(splitCodeEntity.getRemainCount()) - .createTime(new Date()) - .updateTime(new Date()) - .remark("").build(); + IoSplitDesOrderDetail splitDesOrderDetail = IoSplitDesOrderDetail.builder().id(IdUtil.getSnowflakeNextId()).workPlaceCode(collectOrder.getWorkPlaceCode()).orderIdFk(collectOrder.getBillNo()).relId(splitCodeEntity.getRelId()).batchNo(splitCodeEntity.getBatchNo()).produceDate(splitCodeEntity.getProduceDate()).expireDate(splitCodeEntity.getExpireDate()).supId(splitCodeEntity.getSupId()).count(splitCodeEntity.getRemainCount()).reCount(splitCodeEntity.getRemainCount()).createTime(new Date()).updateTime(new Date()).remark("").build(); splitDesOrderDetails.add(splitDesOrderDetail); removeByIds.add(splitCodeEntity.getId()); });