ソースを参照

aps-领料增加防止重复逻辑

sucheng 8 ヶ月 前
コミット
34091e766b

+ 17 - 7
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsBlankOrderServiceImpl.java

@@ -482,6 +482,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
 
     /**
      * 排程明细锁定、解锁
+     *
      * @param orderLockVo
      * @return
      */
@@ -495,12 +496,12 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
             return R.error("锁定状态必填");
         }
         // 作业明细锁定
-        if(orderLockVo.getId() != null && orderLockVo.getId().size()>0){
+        if (orderLockVo.getId() != null && orderLockVo.getId().size() > 0) {
             apsProcessOperationProcessEquService.update(new LambdaUpdateWrapper<ApsProcessOperationProcessEquDo>()
                     .in(ApsProcessOperationProcessEquDo::getId, orderLockVo.getId())
                     .set(ApsProcessOperationProcessEquDo::getLockmarkdetail, lockMark));
             // 查询作业明细的所属作业ID
-            List<ApsProcessOperationProcessEquDo> apsProcessOperationProcessEquDos = (List<ApsProcessOperationProcessEquDo>)apsProcessOperationProcessEquService.listByIds(orderLockVo.getId());
+            List<ApsProcessOperationProcessEquDo> apsProcessOperationProcessEquDos = (List<ApsProcessOperationProcessEquDo>) apsProcessOperationProcessEquService.listByIds(orderLockVo.getId());
             //  所有作业ID
             List<String> proids = apsProcessOperationProcessEquDos.stream().map(ApsProcessOperationProcessEquDo::getProcessid).collect(Collectors.toList());
             proids = proids.stream().distinct().collect(Collectors.toList());
@@ -510,15 +511,15 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
             List<String> notlockdetailproids = popes.stream().map(ApsProcessOperationProcessEquDo::getProcessid).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList());
             String retMsg = "";
             // 锁定
-            if(LOCKMARK_Y.equals(lockMark)){
+            if (LOCKMARK_Y.equals(lockMark)) {
                 List<String> yproids = null;
-                if(notlockdetailproids != null && notlockdetailproids.size()>0){
+                if (notlockdetailproids != null && notlockdetailproids.size() > 0) {
                     // 没有未锁定作业明细的作业ID
                     yproids = proids.stream().filter(v -> !notlockdetailproids.contains(v)).collect(Collectors.toList());
-                }else{
+                } else {
                     yproids = proids;
                 }
-                if(yproids != null && yproids.size()>0){
+                if (yproids != null && yproids.size() > 0) {
                     // 所有作业明细都是锁定状态则锁定作业
                     apsProcessOperationService.update(new LambdaUpdateWrapper<ApsProcessOperationDo>()
                             .in(ApsProcessOperationDo::getId, yproids)
@@ -528,7 +529,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
             }
             // 解锁
             else if (LOCKMARK_N.equals(lockMark)) {
-                if(notlockdetailproids != null && notlockdetailproids.size()>0){
+                if (notlockdetailproids != null && notlockdetailproids.size() > 0) {
                     // 存在作业明细是未锁定状态则解锁作业
                     apsProcessOperationService.update(new LambdaUpdateWrapper<ApsProcessOperationDo>()
                             .in(ApsProcessOperationDo::getId, notlockdetailproids)
@@ -3261,6 +3262,15 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
 
         List<ApsWorkInProgressInventoryDo> workInProgressInventoryDos = new LinkedList<>();
         if (ObjectUtil.isNotEmpty(addBatchNumberList)) {
+
+            //查询是否已被其他坯料计划领料
+            for (String batchNumber : addBatchNumberList) {
+                ApsBlankOrderDo blankOrderDo = this.baseMapper.countThisBatchNumber(batchNumber);
+                if (ObjectUtil.isNotEmpty(blankOrderDo)) {
+                    return R.error("该批次号" + batchNumber + "已被其他坯料计划" + blankOrderDo.getBlanknumber() + "领料");
+                }
+            }
+
             //查询新增的批次号
             workInProgressInventoryDos =
                     apsWorkInProgressInventoryService.list(new QueryWrapper<ApsWorkInProgressInventoryDo>().lambda()