Ver código fonte

aps-坯料计划-输出成品增加输出单卷重的校验

sucheng 1 ano atrás
pai
commit
ab6e97b210

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

@@ -501,7 +501,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
             idStrs = "'" + idStrs + "'";
             // 查询存在未锁定的作业坯料计划
 //            List<ApsBlankOrderVo> fbNotLock = apsBlankOrderDao.getFbNotLock(idStrs,tenantId);
-            List<ApsBlankOrderVo> fbNotLock = apsBlankOrderDao.getOrdersHasNotLockProcess(idStrs,tenantId);
+            List<ApsBlankOrderVo> fbNotLock = apsBlankOrderDao.getOrdersHasNotLockProcess(idStrs, tenantId);
             if (fbNotLock != null && fbNotLock.size() > 0) {
                 apsBlankOrders.addAll(fbNotLock);
             }
@@ -716,7 +716,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
         // 排程计划工序任务集合
         List<ProductionProcesses> processesList = new ArrayList<>();
         // 坯料计划ID和所属工序作业ID对应关系
-        Map<String,List<String>> blankProcessIds = new HashMap<>();
+        Map<String, List<String>> blankProcessIds = new HashMap<>();
         // 待合并生产的订单工序
         List<ApsProcessOperationVo> processOperationMs = new ArrayList<>();
         if (apsBlankOrders != null && apsBlankOrders.size() > 0) {
@@ -729,7 +729,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                 List<ApsProcessOperationDo> operationDos = apsProcessOperationService.list(new LambdaQueryWrapper<ApsProcessOperationDo>()
                         .eq(ApsProcessOperationDo::getBlankid, apsBlankOrderVo.getId()));
                 // 锁定的合并工序缓存
-                Map<String,ProductionProcesses> lockHbPp = new HashMap<>();
+                Map<String, ProductionProcesses> lockHbPp = new HashMap<>();
                 // 转换工序模型数据
                 for (ApsProcessOperationDo operationDo : operationDos) {
                     processIdss.add(operationDo.getId());
@@ -830,8 +830,8 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                                         // 设备日历不可用时间段
                                         List<ApsEquipmentCalendarDo> equipmentCalendarDos = apsEquipmentCalendarService.list(
                                                 new LambdaQueryWrapper<ApsEquipmentCalendarDo>().ge(ApsEquipmentCalendarDo::getSdstarttime, productionScheduleVo.getApsPlanStartDate())
-                                                        .eq(ApsEquipmentCalendarDo::getProcessdeviceid,equipment.getBsEquipmentId()));
-                                        if(equipmentCalendarDos != null && equipmentCalendarDos.size()>0){
+                                                        .eq(ApsEquipmentCalendarDo::getProcessdeviceid, equipment.getBsEquipmentId()));
+                                        if (equipmentCalendarDos != null && equipmentCalendarDos.size() > 0) {
                                             for (ApsEquipmentCalendarDo equipmentCalendarDo : equipmentCalendarDos) {
                                                 EquipmentRunTime er = new EquipmentRunTime();
                                                 er.setStartRunTime(equipmentCalendarDo.getSdstarttime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
@@ -850,14 +850,14 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
 
                     if (SaveConstans.ProcessWay.PROCESS_WAY_MERGE.equals(productprocess)) {
                         // 锁定的作业
-                        if(LOCKMARK_Y.equals(operationDo.getLockmark())){
+                        if (LOCKMARK_Y.equals(operationDo.getLockmark())) {
 //                            List<ApsProcessOperationProcessEquDo> popes = processOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
 //                                    .eq(ApsProcessOperationProcessEquDo::getProcessid, operationDo.getId()));
                             List<ApsProcessOperationProcessEquDo> popes = apsBlankOrderDao.getGroupProcessOperationProcessEqus(operationDo.getId());
-                            if(popes != null && popes.size()>0){
+                            if (popes != null && popes.size() > 0) {
                                 for (ApsProcessOperationProcessEquDo pope : popes) {
                                     // 已存在的合并工序则添加上下道工序
-                                    if(lockHbPp.containsKey(pope.getProcessdeviceid())){
+                                    if (lockHbPp.containsKey(pope.getProcessdeviceid())) {
                                         ProductionProcesses processes1 = lockHbPp.get(pope.getProcessdeviceid());
                                         // 上道工序
                                         if (StringUtils.isNotBlank(operationDo.getPreviousprocessid())) {
@@ -875,7 +875,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                                         }
                                     }
                                     // 不存在此合并工序则新增一个合并作业
-                                    else{
+                                    else {
                                         ProductionProcesses processeshb = new ProductionProcesses();
                                         // 模型ID
                                         processeshb.setId(SecurityUtil.getUUID());
@@ -915,12 +915,12 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                                             processes.setNextProcessesIds(nexts);
                                         }
 
-                                        lockHbPp.put(pope.getProcessdeviceid(),processes);
+                                        lockHbPp.put(pope.getProcessdeviceid(), processes);
                                         processesList.add(processes);
                                     }
                                 }
                             }
-                        }else{
+                        } else {
                             // 合并生产工序
                             ApsProcessOperationVo processOperationVo = new ApsProcessOperationVo();
                             BeanUtil.copyProperties(operationDo, processOperationVo);
@@ -977,10 +977,10 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                         processes.setPrepressworkmin(operationDo.getPrepressworkmin() == null ? null : operationDo.getPrepressworkmin().intValue());
                         processes.setCutfinishmin(operationDo.getCutfinishmin() == null ? null : operationDo.getCutfinishmin().intValue());
                         // 锁定的作业加上锁定标识
-                        if(LOCKMARK_Y.equals(operationDo.getLockmark())){
+                        if (LOCKMARK_Y.equals(operationDo.getLockmark())) {
                             ApsProcessOperationProcessEquDo processEquServiceOne = processOperationProcessEquService.getOne(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
                                     .eq(ApsProcessOperationProcessEquDo::getProcessid, operationDo.getId()));
-                            if(processEquServiceOne != null){
+                            if (processEquServiceOne != null) {
                                 processes.setIfLock(true);
                                 processes.setEquipmentId(processEquServiceOne.getProcessdeviceid());
                                 List<String> opeqs = new ArrayList<>();
@@ -994,7 +994,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                     }
                 }
 
-                blankProcessIds.put(apsBlankOrderVo.getId(),processIdss);
+                blankProcessIds.put(apsBlankOrderVo.getId(), processIdss);
             }
         }
         // 合并生产工序
@@ -1497,10 +1497,19 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                     if (apsBlankOrderDo.getNumberunit().equals(SaveConstans.CountUnit.TON)) {
                         blankWeight = apsBlankOrderDo.getSinglerollweight().multiply(new BigDecimal(1000));
                     }
+                    //校验 输出单卷重 必须小于等于坯料单卷重,必须大于等于单卷重(起),必须小于等于单卷重(止)
                     //输出单卷重>坯料单卷重
                     if (outputWeight.compareTo(blankWeight) > 0) {
                         return R.error("输出成品:" + apsProcessOutputProductDo.getProductname() + " 输出单卷重不能超过坯料单卷重");
                     }
+                    //输出单卷重<单卷重(起)
+                    if (outputWeight.compareTo(apsProcessOutputProductDo.getOnerollweigthstart()) < 0) {
+                        return R.error("输出成品:" + apsProcessOutputProductDo.getProductname() + " 输出单卷重必须大于等于单卷重(起)");
+                    }
+                    //输出单卷重>单卷重(止)
+                    if (outputWeight.compareTo(apsProcessOutputProductDo.getOnerollweigthend()) > 0) {
+                        return R.error("输出成品:" + apsProcessOutputProductDo.getProductname() + " 输出单卷重必须小于等于单卷重(止)");
+                    }
                 } else {//不存在对应的产品明细
                     return R.error("输出成品:" + apsProcessOutputProductDo.getProductname() + " 对应订单产品已修改或已删除,请重新选择订单产品");
                 }

+ 10 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProcessOutputProductDo.java

@@ -167,5 +167,15 @@ public class ApsProcessOutputProductDo extends BaseDo {
      */
     private BigDecimal prolength;
 
+    /**
+     * 产品类型ID
+     */
+    private String producttypeid;
+
+    /**
+     * 输出卷径(mm)
+     */
+    private BigDecimal rolloutputdiameter;
+
     private static final long serialVersionUID = 1L;
 }