Browse Source

Merge remote-tracking branch 'origin/master'

xiahan 1 year ago
parent
commit
5d39318da4

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

@@ -304,7 +304,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
 
         // 更新坯料计划的生产状态为已发布
         boolean bool2 = this.update(new LambdaUpdateWrapper<ApsBlankOrderDo>().eq(ApsBlankOrderDo::getId, blankOrderId)
-                        .set(ApsBlankOrderDo::getDeliverydate,deliveryDate)
+                .set(ApsBlankOrderDo::getDeliverydate, deliveryDate)
                 .set(ApsBlankOrderDo::getLockmark, LOCKMARK_N));
 
         // 解锁订单所有作业状态=待开工的作业明细(是否锁定=否)
@@ -487,11 +487,12 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
 
     /**
      * 排程结果操作
+     *
      * @param productionScheduleRetVo
      */
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public void apsAfter(ProductionScheduleRetVo productionScheduleRetVo,List<ApsBlankOrderVo> apsBlankOrders){
+    public void apsAfter(ProductionScheduleRetVo productionScheduleRetVo, List<ApsBlankOrderVo> apsBlankOrders) {
         // 先删除所有作业的明细
         List<String> blankids = apsBlankOrders.stream().map(v -> v.getId()).collect(Collectors.toList());
         processOperationProcessEquService.remove(new LambdaUpdateWrapper<ApsProcessOperationProcessEquDo>().in(ApsProcessOperationProcessEquDo::getBlankid, blankids));
@@ -607,7 +608,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                 });
             }
             // 坯料计划状态更新
-            if(blankIds != null && blankIds.size()>0){
+            if (blankIds != null && blankIds.size() > 0) {
                 this.updateBatchById(blankIds);
             }
         }
@@ -747,14 +748,14 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                                     // 查询设备锁定的已排程的时间段
                                     List<ApsProcessOperationProcessEquDo> processEqus = processOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
                                             .eq(ApsProcessOperationProcessEquDo::getProcessdeviceid, equIds)
-                                            .notIn(ApsProcessOperationProcessEquDo::getBlankid,blankids)
+                                            .notIn(ApsProcessOperationProcessEquDo::getBlankid, blankids)
                                             .ge(ApsProcessOperationProcessEquDo::getPlanstartdate, productionScheduleVo.getApsPlanStartDate())
                                             .orderByAsc(ApsProcessOperationProcessEquDo::getPlanstartdate)
                                     );
                                     // 查询当前设备最后一个生产任务、连续生产需要考虑使用
                                     List<ApsProcessOperationProcessEquDo> lastpros = processOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
                                             .eq(ApsProcessOperationProcessEquDo::getProcessdeviceid, equIds)
-                                            .notIn(ApsProcessOperationProcessEquDo::getBlankid,blankids)
+                                            .notIn(ApsProcessOperationProcessEquDo::getBlankid, blankids)
                                             .gt(ApsProcessOperationProcessEquDo::getPlanstartdate, productionScheduleVo.getApsPlanStartDate())
                                             .orderByDesc(ApsProcessOperationProcessEquDo::getPlanstartdate)
                                     );
@@ -1015,7 +1016,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                 aspCheckItemUse.put(aspCheckItemsDo.getId(), 0);
                 // 退火炉套筒间隙扣除
                 if (apsScheduleConfig != null) {
-                    if(aspCheckItemsDo.getEquipmentlength() == null){
+                    if (aspCheckItemsDo.getEquipmentlength() == null) {
                         throw new CustomException("退火炉的长度没有维护");
                     }
                     aspCheckItemsDo.setEquipmentlength(aspCheckItemsDo.getEquipmentlength().subtract(apsScheduleConfig.getLooseness()));
@@ -1608,6 +1609,25 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                 }
             }
         }
+        //==============校验交期==================
+        /**
+         * 如果有评审日志,并且变更内容为空,则错误提示:请填写变更内容(暂未实现)
+         * 如果有任一坯料计划的承诺交货期-起或止为空,错误提示:请填写所有坯料计划的承诺交货期
+         * 如果有坯料计划的承诺交货期-止 < 排程交货期,错误提示:第{几}个坯料计划的承诺交货期-止不能早于排程交货期{排程交货期}
+         */
+        if (req.getCheckDevice()) {
+            if (ObjectUtil.isEmpty(apsBlankOrderDo.getPromisedateend())) {
+                return R.error("请填写所有坯料计划的承诺交货期-止");
+            }
+            if (ObjectUtil.isEmpty(apsBlankOrderDo.getScheduledateend())) {
+                return R.error("第" + j + "个坯料计划 排程交货期-止不能为空");
+            }
+            if (apsBlankOrderDo.getPromisedateend().compareTo(apsBlankOrderDo.getScheduledateend()) < 0) {
+                return R.error("第" + j + "个坯料计划的承诺交货期-止不能早于排程交货期-止" + DateUtil.format(apsBlankOrderDo.getScheduledateend(), "yyyy-MM-dd"));
+            }
+        }
+
+
         //==============拼接工艺路线输出成品==============
         //查询坯料计划对应工艺路线的输出成品
         List<String> processOutputList = this.baseMapper.selectProcessByBlankId(apsBlankOrderDo.getId());

+ 13 - 13
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProductionOrderServiceImpl.java

@@ -172,18 +172,18 @@ public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrde
                 return R.error("请先解决冲突再发布");
             }
 
-            //============校验承诺交期============
-            //如果承诺交货期为空,错误提示:请填写订单{订单号}{客户简称}的承诺交货期
-            if (ObjectUtil.isEmpty(apsProductionOrderDo.getPromisedeliverydate())) {
-                return R.error("请填写订单" + apsProductionOrderDo.getOrderno() + apsProductionOrderDo.getCustomname() + "的承诺交货期");
-            }
-            if (ObjectUtil.isEmpty(apsProductionOrderDo.getScheduledeliverydate())) {
-                return R.error("排程交货期不能为空");
-            }
-            //如果承诺交货期<排程交货期,错误提示:承诺交货期不能早于排程交货期{排程交货期}
-            if (apsProductionOrderDo.getPromisedeliverydate().compareTo(apsProductionOrderDo.getScheduledeliverydate()) < 0) {
-                return R.error("承诺交货期不能早于排程交货期" + DateUtil.format(apsProductionOrderDo.getScheduledeliverydate(), "yyyy-MM-dd"));
-            }
+//            //============校验承诺交期============
+//            //如果承诺交货期为空,错误提示:请填写订单{订单号}{客户简称}的承诺交货期
+//            if (ObjectUtil.isEmpty(apsProductionOrderDo.getPromisedeliverydate())) {
+//                return R.error("请填写订单" + apsProductionOrderDo.getOrderno() + apsProductionOrderDo.getCustomname() + "的承诺交货期");
+//            }
+//            if (ObjectUtil.isEmpty(apsProductionOrderDo.getScheduledeliverydate())) {
+//                return R.error("排程交货期不能为空");
+//            }
+//            //如果承诺交货期<排程交货期,错误提示:承诺交货期不能早于排程交货期{排程交货期}
+//            if (apsProductionOrderDo.getPromisedeliverydate().compareTo(apsProductionOrderDo.getScheduledeliverydate()) < 0) {
+//                return R.error("承诺交货期不能早于排程交货期" + DateUtil.format(apsProductionOrderDo.getScheduledeliverydate(), "yyyy-MM-dd"));
+//            }
         }
 
         //============校验计划输出订单总重量==============
@@ -282,7 +282,7 @@ public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrde
             }
         }
 
-        if (checkSchedule) {
+        if (req.getIsNeedPublish()) {
             //=============发布排程================
             List<String> productOrderIdList = new LinkedList<>();
             productOrderIdList.add(apsProductionOrderDo.getId());

+ 1 - 1
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/vo/ApsBlankOrderVo.java

@@ -8,7 +8,7 @@ import java.util.Date;
 @Data
 public class ApsBlankOrderVo extends ApsBlankOrderDo {
 
-    private Date deliverydate;
+//    private Date deliverydate;
 
     private Integer deliverytime;
 

+ 3 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/vo/CheckAndSaveOrUpdateOrderReq.java

@@ -31,4 +31,7 @@ public class CheckAndSaveOrUpdateOrderReq {
 
     //是否需要保存
     private Boolean isNeedSave = true;
+
+    //是否需要发布
+    private Boolean isNeedPublish = false;
 }