sucheng 3 mesi fa
parent
commit
27be896883

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

@@ -4153,26 +4153,31 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                     if (!s.startsWith("*")) {
                         s = "*" + s;
                     }
+                    //加上*后查询是否存在线上批次号
+                    List<ApsWorkInProgressInventoryDo> apsWorkInProgressInventoryDos = apsWorkInProgressInventoryService.list(new QueryWrapper<ApsWorkInProgressInventoryDo>().lambda()
+                            .eq(ApsWorkInProgressInventoryDo::getDeleted, "0")
+                            .in(ApsWorkInProgressInventoryDo::getBatchnumber, s));
+                    if (apsWorkInProgressInventoryDos.isEmpty()) {
 
 //                    Integer count = this.baseMapper.selectCountWorkIn(s);
 //                    if (count > 0) {
 //                        return R.error("线下批次号" + s + "与其他线下批次号重复");
 //                    }
-                    //批次号"-"之前的值
-                    String startNum = s.split("-")[0];
-                    List<ApsBlankOrderDo> list = this.baseMapper.selectBlankByStartNum(startNum);
-                    if (!list.isEmpty()) {
-                        for (ApsBlankOrderDo blankOrderDo : list) {
-                            String[] batchs = blankOrderDo.getPreparematerialbatchno().split(",");
-                            for (String batch : batchs) {
-                                if (batch.startsWith(s + "-")
-                                        || batch.equals(s)
-                                        || s.startsWith(batch + "-")) {
-                                    return R.error("线下批次号" + s + "已经被坯料计划" + blankOrderDo.getBlanknumber() + "领料");
+                        //批次号"-"之前的值
+                        String startNum = s.split("-")[0];
+                        List<ApsBlankOrderDo> list = this.baseMapper.selectBlankByStartNum(startNum);
+                        if (!list.isEmpty()) {
+                            for (ApsBlankOrderDo blankOrderDo : list) {
+                                String[] batchs = blankOrderDo.getPreparematerialbatchno().split(",");
+                                for (String batch : batchs) {
+                                    if (batch.startsWith(s + "-")
+                                            || batch.equals(s)
+                                            || s.startsWith(batch + "-")) {
+                                        return R.error("线下批次号" + s + "已经被坯料计划" + blankOrderDo.getBlanknumber() + "领料");
+                                    }
                                 }
                             }
                         }
-                    }
 //                    //查询是否已被其他坯料计划领料
 //                    ApsBlankOrderDo blankOrderDo = this.baseMapper.countThisBatchNumber(s, req.getBlankId());
 //                    if (ObjectUtil.isNotEmpty(blankOrderDo)) {
@@ -4180,8 +4185,11 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
 //                    }
 
 
-                    offLineBatchNumberList.add(s);
-                    continue;
+                        offLineBatchNumberList.add(s);
+                        continue;
+                    } else {
+                        apsWorkInProgressInventoryDo = apsWorkInProgressInventoryDos.get(0);
+                    }
                 }
 
                 //如果在制品备料计划ID不为空,并且不等于该坯料计划ID,错误提示:该坯料已经被其他坯料计划领料