|
@@ -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());
|