|
@@ -46,6 +46,7 @@ import java.util.stream.Collectors;
|
|
|
|
|
|
import static com.rongwei.bscommon.sys.service.impl.ApsProductionOrderServiceImpl.ERROR_MSG;
|
|
|
import static com.rongwei.bscommon.sys.utils.ApsUtils.addNewConflictsDesc;
|
|
|
+import static com.rongwei.bscommon.sys.utils.ApsUtils.removeConflictsDesc;
|
|
|
import static com.rongwei.safecommon.utils.SaveConstans.ForcedConflictsDescription.EXCEEDING_THE_PROMISED_DELIVERY_DEADLINE;
|
|
|
import static com.rongwei.safecommon.utils.SaveConstans.LockmarkType.LOCKMARK_N;
|
|
|
import static com.rongwei.safecommon.utils.SaveConstans.LockmarkType.LOCKMARK_Y;
|
|
@@ -2059,17 +2060,18 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
}
|
|
|
|
|
|
public R checkBlankOrder(CheckAndSaveOrUpdateBlankReq req, int j) {
|
|
|
+ //获取坯料计划内容
|
|
|
+ ApsBlankOrderDo apsBlankOrderDo = req.getApsBlankOrderDo();
|
|
|
|
|
|
//校验坯料计划的必填项
|
|
|
R checkRes = checkBlankMustWrite(req);
|
|
|
if (!checkRes.getCode().equals("200")) {
|
|
|
- return R.error("第" + j + "个坯料计划 " + checkRes.getMsg());
|
|
|
+ return R.error("坯料计划" + apsBlankOrderDo.getBlanknumber() + " " + checkRes.getMsg());
|
|
|
}
|
|
|
|
|
|
//获取校验等级
|
|
|
Integer checkLevel = req.getCheckLevel();
|
|
|
- //获取坯料计划内容
|
|
|
- ApsBlankOrderDo apsBlankOrderDo = req.getApsBlankOrderDo();
|
|
|
+
|
|
|
//获取当前用户信息
|
|
|
//获取当前用户的所属工厂
|
|
|
SysUserVo currentUser = CXCommonUtils.getCurrentUser();
|
|
@@ -2081,7 +2083,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
if (ObjectUtil.isNotEmpty(apsBlankOrderDo.getBlankappearance())
|
|
|
&& Arrays.asList(SaveConstans.BlankAppearanceType.ALUMINUM_PLATE, SaveConstans.BlankAppearanceType.ALUMINUM_INGOT).contains(apsBlankOrderDo.getBlankappearance())
|
|
|
&& ObjectUtil.isEmpty(apsBlankOrderDo.getProlength())) {
|
|
|
- return R.error("第" + j + "个坯料计划 坯料是铝板和铝锭时长度必填");
|
|
|
+ return R.error("坯料计划" + apsBlankOrderDo.getBlanknumber() + " 坯料是铝板和铝锭时长度必填");
|
|
|
}
|
|
|
// //如果坯料产品类型对应产品外观类型是铝板或板锭,并且坯料长度为空,则提示:坯料是铝板和板锭时长度必填
|
|
|
// if (ObjectUtil.isNotEmpty(apsBlankOrderDo.getProducttypeid())) {
|
|
@@ -2091,7 +2093,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
// if (ObjectUtil.isNotEmpty(pid) && (pid.equals(SaveConstans.ProductionType.BANDING_ID) || pid.equals(SaveConstans.ProductionType.LVBAN_ID))) {
|
|
|
// //坯料长度为空
|
|
|
// if (ObjectUtil.isEmpty(apsBlankOrderDo.getProlength())) {
|
|
|
-// return R.error("第" + j + "个坯料计划 坯料是铝板和板锭时长度必填");
|
|
|
+// return R.error("坯料计划" + apsBlankOrderDo.getBlanknumber() + " 坯料是铝板和板锭时长度必填");
|
|
|
// }
|
|
|
// }
|
|
|
// }
|
|
@@ -2108,13 +2110,13 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
return R.error("请填写所有坯料计划的承诺交货期");
|
|
|
}
|
|
|
if (ObjectUtil.isEmpty(apsBlankOrderDo.getScheduledateend())) {
|
|
|
- return R.error("第" + j + "个坯料计划 排程交货期-止不能为空");
|
|
|
+ return R.error("坯料计划" + apsBlankOrderDo.getBlanknumber() + " 排程交货期-止不能为空");
|
|
|
}
|
|
|
if (apsBlankOrderDo.getPromisedatestart().compareTo(apsBlankOrderDo.getScheduledatestart()) < 0) {
|
|
|
- return R.error("第" + j + "个坯料计划的承诺交货期-起不能早于排程交货期-起" + DateUtil.format(apsBlankOrderDo.getScheduledatestart(), "yyyy-MM-dd"));
|
|
|
+ return R.error("坯料计划" + apsBlankOrderDo.getBlanknumber() + "的承诺交货期-起不能早于排程交货期-起" + DateUtil.format(apsBlankOrderDo.getScheduledatestart(), "yyyy-MM-dd"));
|
|
|
}
|
|
|
if (apsBlankOrderDo.getPromisedateend().compareTo(apsBlankOrderDo.getScheduledateend()) < 0) {
|
|
|
- return R.error("第" + j + "个坯料计划的承诺交货期-止不能早于排程交货期-止" + DateUtil.format(apsBlankOrderDo.getScheduledateend(), "yyyy-MM-dd"));
|
|
|
+ return R.error("坯料计划" + apsBlankOrderDo.getBlanknumber() + "的承诺交货期-止不能早于排程交货期-止" + DateUtil.format(apsBlankOrderDo.getScheduledateend(), "yyyy-MM-dd"));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -2152,7 +2154,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
|
|
|
|
|
|
} else {
|
|
|
- return R.error("第" + j + "个坯料计划 工艺路线没有输出成品");
|
|
|
+ return R.error("坯料计划" + apsBlankOrderDo.getBlanknumber() + " 工艺路线没有输出成品");
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2175,10 +2177,10 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
// //如果输出单卷重<单卷重(起)或 输出单卷重>单卷重(止),错误提示:输出成品:{订单产品} 输出单卷重不符合订单要求
|
|
|
// if (apsProcessOutputProductDo.getOutputonerollweigth().compareTo(apsProductDetailDo.getSinglerollweightstart()) < 0
|
|
|
// || apsProcessOutputProductDo.getOutputonerollweigth().compareTo(apsProductDetailDo.getSinglerollweightend()) > 0) {
|
|
|
-// return R.error("第" + j + "个坯料计划 输出成品:" + apsProcessOutputProductDo.getProductname() + " 输出单卷重不符合订单要求");
|
|
|
+// return R.error("坯料计划" + apsBlankOrderDo.getBlanknumber() + " 输出成品:" + apsProcessOutputProductDo.getProductname() + " 输出单卷重不符合订单要求");
|
|
|
// }
|
|
|
} else {//如果对应订单产品明细的订单产品字段值不等于输出成品的订单产品字段值,错误提示:输出成品:{订单产品} 对应订单产品已修改或已删除,请重新选择订单产品
|
|
|
- return R.error("第" + j + "个坯料计划 输出成品:" + apsProcessOutputProductDo.getProductname() + " 对应订单产品已修改或已删除,请重新选择订单产品");
|
|
|
+ return R.error("坯料计划" + apsBlankOrderDo.getBlanknumber() + " 输出成品:" + apsProcessOutputProductDo.getProductname() + " 对应订单产品已修改或已删除,请重新选择订单产品");
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
@@ -2214,10 +2216,10 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
// }
|
|
|
//输出单卷重>坯料单卷重
|
|
|
if (outputWeight.compareTo(blankWeight) > 0) {
|
|
|
- return R.error("第" + j + "个坯料计划 输出成品:" + apsProcessOutputProductDo.getProductname() + " 输出单卷重不能超过坯料单卷重");
|
|
|
+ return R.error("坯料计划" + apsBlankOrderDo.getBlanknumber() + " 输出成品:" + apsProcessOutputProductDo.getProductname() + " 输出单卷重不能超过坯料单卷重");
|
|
|
}
|
|
|
} else {//不存在对应的产品明细
|
|
|
- return R.error("第" + j + "个坯料计划 输出成品:" + apsProcessOutputProductDo.getProductname() + " 对应订单产品已修改或已删除,请重新选择订单产品");
|
|
|
+ return R.error("坯料计划" + apsBlankOrderDo.getBlanknumber() + " 输出成品:" + apsProcessOutputProductDo.getProductname() + " 对应订单产品已修改或已删除,请重新选择订单产品");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -2231,18 +2233,18 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
haveProductDetail = true;
|
|
|
//计划输出订单重量 > 对应订单产品订单总数量;错误提示:输出成品 {订单产品} 计划输出订单重量 不能大于 订单总数量
|
|
|
// if (apsProcessOutputProductDo.getPlanoutputonerollweight().compareTo(apsProductDetailDo.getTotalordercount()) > 0) {
|
|
|
-// return R.error("第" + j + "个坯料计划 输出成品:" + apsProcessOutputProductDo.getProductname() + " 计划输出订单重量 不能大于 订单总数量");
|
|
|
+// return R.error("坯料计划" + apsBlankOrderDo.getBlanknumber() + " 输出成品:" + apsProcessOutputProductDo.getProductname() + " 计划输出订单重量 不能大于 订单总数量");
|
|
|
// }
|
|
|
}
|
|
|
}
|
|
|
if (!haveProductDetail && apsProcessOutputProductDo.getPlanoutputonerollweight().compareTo(new BigDecimal(0)) > 0) {
|
|
|
- return R.error("第" + j + "个坯料计划 输出成品:" + apsProcessOutputProductDo.getProductname() + " 已修改或已删除,并已开工,计划输出订单重量 不能大于 0");
|
|
|
+ return R.error("坯料计划" + apsBlankOrderDo.getBlanknumber() + " 输出成品:" + apsProcessOutputProductDo.getProductname() + " 已修改或已删除,并已开工,计划输出订单重量 不能大于 0");
|
|
|
}
|
|
|
|
|
|
//如果输出卷数不是坯料卷数的倍数,错误提示:“输出成品:{订单产品}输出卷数必须是坏料卷数的倍数”
|
|
|
if (ObjectUtil.isNotEmpty(apsProcessOutputProductDo.getPlanoutputorderroll()) && ObjectUtil.isNotEmpty(apsBlankOrderDo.getRollnum())) {
|
|
|
if (apsProcessOutputProductDo.getPlanoutputorderroll() % apsBlankOrderDo.getRollnum() != 0) {
|
|
|
- return R.error("第" + j + "个坯料计划 输出成品:" + apsProcessOutputProductDo.getProductname() + " 输出卷数必须是坯料卷数的倍数");
|
|
|
+ return R.error("坯料计划" + apsBlankOrderDo.getBlanknumber() + " 输出成品:" + apsProcessOutputProductDo.getProductname() + " 输出卷数必须是坯料卷数的倍数");
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2250,7 +2252,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
if (ObjectUtil.isNotEmpty(apsProcessOutputProductDo.getBlankappearance())
|
|
|
&& Arrays.asList(SaveConstans.BlankAppearanceType.ALUMINUM_PLATE, SaveConstans.BlankAppearanceType.ALUMINUM_INGOT).contains(apsProcessOutputProductDo.getBlankappearance())
|
|
|
&& ObjectUtil.isEmpty(apsProcessOutputProductDo.getProlength())) {
|
|
|
- return R.error("第" + j + "个坯料计划 输出成品:" + apsProcessOutputProductDo.getProductname() + " 是板锭和铝板时长度必填");
|
|
|
+ return R.error("坯料计划" + apsBlankOrderDo.getBlanknumber() + " 输出成品:" + apsProcessOutputProductDo.getProductname() + " 是板锭和铝板时长度必填");
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2262,10 +2264,10 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
*/
|
|
|
for (ApsProcessOutputProductDo apsProcessOutputProductDo : apsProcessOutputProductDoList) {
|
|
|
if (!apsProcessOutputProductDo.getBlanktype().equals(apsBlankOrderDo.getBlanktype())) {
|
|
|
- return R.error("第" + j + "个坯料计划 输出成品:" + apsProcessOutputProductDo.getProductname() + " 坯料类型" + apsBlankOrderDo.getBlanktype() + "与订单产品的技术要求的坯料类型" + apsProcessOutputProductDo.getBlanktype() + "不同,不可作为该坯料的输出成品");
|
|
|
+ return R.error("坯料计划" + apsBlankOrderDo.getBlanknumber() + " 输出成品:" + apsProcessOutputProductDo.getProductname() + " 坯料类型" + apsBlankOrderDo.getBlanktype() + "与订单产品的技术要求的坯料类型" + apsProcessOutputProductDo.getBlanktype() + "不同,不可作为该坯料的输出成品");
|
|
|
}
|
|
|
if (!apsProcessOutputProductDo.getBlankproducttype().equals(apsBlankOrderDo.getProducttype())) {
|
|
|
- return R.error("第" + j + "个坯料计划 输出成品:" + apsProcessOutputProductDo.getProductname() + " 坯料需求的产品类型" + apsBlankOrderDo.getProducttype() + "与订单产品的技术要求的坯料产品类型" + apsProcessOutputProductDo.getBlankproducttype() + "不同,不可作为该坯料的输出成品");
|
|
|
+ return R.error("坯料计划" + apsBlankOrderDo.getBlanknumber() + " 输出成品:" + apsProcessOutputProductDo.getProductname() + " 坯料需求的产品类型" + apsBlankOrderDo.getProducttype() + "与订单产品的技术要求的坯料产品类型" + apsProcessOutputProductDo.getBlankproducttype() + "不同,不可作为该坯料的输出成品");
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2292,7 +2294,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
}
|
|
|
if (endCheckOutputDesList.size() > 0) {
|
|
|
String join = String.join(",", endCheckOutputDesList);
|
|
|
- return R.error("第" + j + "个坯料计划 以下坯料输出成品重复:" + join);
|
|
|
+ return R.error("坯料计划" + apsBlankOrderDo.getBlanknumber() + " 以下坯料输出成品重复:" + join);
|
|
|
}
|
|
|
|
|
|
//如果坯料输出成品的计划输出订单重量合计>坯料的总重量,错误提示:坯料输出成品的计划输出订单重量合计不能大于坯料的总重量
|
|
@@ -2305,14 +2307,14 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
//坯料的总重量
|
|
|
BigDecimal totalweight = apsBlankOrderDo.getTotalweight();
|
|
|
if (planAll.compareTo(totalweight) > 0) {//如果坯料输出成品的计划输出订单重量合计>坯料的总重量
|
|
|
- return R.error("第" + j + "个坯料计划 坯料输出成品的计划输出订单重量合计不能大于坯料的总重量");
|
|
|
+ return R.error("坯料计划" + apsBlankOrderDo.getBlanknumber() + " 坯料输出成品的计划输出订单重量合计不能大于坯料的总重量");
|
|
|
}
|
|
|
|
|
|
|
|
|
//提交工艺路线的校验
|
|
|
if (checkLevel == 2) {
|
|
|
if (!apsBlankOrderDo.getBlankoutmaterspecification().equals(apsBlankOrderDo.getProcessoutmaterspecification())) {
|
|
|
- return R.error("第" + j + "个坯料计划 工艺路线输出物料规格" + apsBlankOrderDo.getProcessoutmaterspecification() + "与坯料输出物料规格" + apsBlankOrderDo.getBlankoutmaterspecification() + "不一致");
|
|
|
+ return R.error("坯料计划" + apsBlankOrderDo.getBlanknumber() + " 工艺路线输出物料规格" + apsBlankOrderDo.getProcessoutmaterspecification() + "与坯料输出物料规格" + apsBlankOrderDo.getBlankoutmaterspecification() + "不一致");
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2321,7 +2323,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
//============校验工艺路线=============
|
|
|
//如果坯料需求的坯料输出成品字段值不等于坯料需求的工艺输出成品字段值,错误提示:工艺路线输出成品与坯料输出成品不一致
|
|
|
if (!apsBlankOrderDo.getOutputfinishproduct().equals(apsBlankOrderDo.getOutputmaterial())) {
|
|
|
- return R.error("第" + j + "个坯料计划 工艺路线输出成品" + apsBlankOrderDo.getOutputmaterial() + "与坯料输出成品" + apsBlankOrderDo.getOutputfinishproduct() + "不一致");
|
|
|
+ return R.error("坯料计划" + apsBlankOrderDo.getBlanknumber() + " 工艺路线输出成品" + apsBlankOrderDo.getOutputmaterial() + "与坯料输出成品" + apsBlankOrderDo.getOutputfinishproduct() + "不一致");
|
|
|
}
|
|
|
}
|
|
|
if (checkLevel == 2 || checkLevel == 3) {
|
|
@@ -2334,7 +2336,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
//没有前道工序作业ID
|
|
|
if (ObjectUtil.isEmpty(processOperationDo.getPreviousprocessid())) {
|
|
|
if (processOperationDo.getIfblankprocess().equals("是")) {
|
|
|
- return R.error("第" + j + "个坯料计划 备料工艺路线首道工序作业不应该包含坯料工序:" + processOperationDo.getProcess());
|
|
|
+ return R.error("坯料计划" + apsBlankOrderDo.getBlanknumber() + " 备料工艺路线首道工序作业不应该包含坯料工序:" + processOperationDo.getProcess());
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
@@ -2346,7 +2348,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
if (checkLevel == 2) {
|
|
|
List<ApsProcessOperationDo> processOperationDos = apsProcessOperationService.list(new QueryWrapper<ApsProcessOperationDo>().lambda().eq(ApsProcessOperationDo::getBlankid, apsBlankOrderDo.getId()));
|
|
|
if (processOperationDos.size() <= 0) {
|
|
|
- return R.error("第" + j + "个坯料计划 请选择工艺路线");
|
|
|
+ return R.error("坯料计划" + apsBlankOrderDo.getBlanknumber() + " 请选择工艺路线");
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2359,7 +2361,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
}
|
|
|
R r = apsProcessOperationService.checkOperation(params);
|
|
|
if (!(r.getCode().equals("200"))) {
|
|
|
- return R.error("第" + j + "个坯料计划 " + r.getMsg());
|
|
|
+ return R.error("坯料计划" + apsBlankOrderDo.getBlanknumber() + " " + r.getMsg());
|
|
|
}
|
|
|
}
|
|
|
return R.ok();
|
|
@@ -2711,10 +2713,12 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
apsBlankOrderDo = this.getById(id);
|
|
|
}
|
|
|
if (apsBlankOrderDo == null) {
|
|
|
- log.error("无法获取到坯料计划信息");
|
|
|
+ logger.error("无法获取到坯料计划信息");
|
|
|
throw new CustomException("无法获取到坯料计划信息");
|
|
|
}
|
|
|
+ logger.debug("开始更新坯料计划:{}对应的交货期没", apsBlankOrderDo.getId());
|
|
|
List<UpdateBlankDeliveryDateVo> blankDeliveryDate = this.getBaseMapper().getBlankDeliveryDate(apsBlankOrderDo.getId());
|
|
|
+ logger.debug("获取当前坯料计划的相关的计划完工时间:{}",blankDeliveryDate);
|
|
|
if (blankDeliveryDate.isEmpty()) {
|
|
|
return;
|
|
|
}
|
|
@@ -2725,38 +2729,72 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
Date startDate = timeAddHour(blankDeliveryDate.get(0).getPlanenddate(), blankDeliveryDate.get(0).getDeliverytime());
|
|
|
//排程交货期-止
|
|
|
Date endDate = timeAddHour(blankDeliveryDate.get(1).getPlanenddate(), blankDeliveryDate.get(0).getDeliverytime());
|
|
|
+ logger.debug("坯料计划新的排程交货期为:{}-{},旧的为{}-{}", startDate, endDate, apsBlankOrderDo.getScheduledatestart(),
|
|
|
+ apsBlankOrderDo.getScheduledateend());
|
|
|
+ Date newStartDate = apsBlankOrderDo.getPromisedatestart();
|
|
|
+ Date newEndDate = apsBlankOrderDo.getPromisedateend();
|
|
|
+ if (newStartDate == null) {
|
|
|
+ newStartDate = timeAddHour(startDate, 48);
|
|
|
+ }
|
|
|
+ if (newEndDate == null) {
|
|
|
+ newEndDate = timeAddHour(endDate, 48);
|
|
|
+ }
|
|
|
// 更新数据
|
|
|
this.update(new LambdaUpdateWrapper<ApsBlankOrderDo>().eq(ApsBlankOrderDo::getId, apsBlankOrderDo.getId())
|
|
|
.set(BaseDo::getDeleted, 0)
|
|
|
.set(ApsBlankOrderDo::getScheduledatestart, startDate)
|
|
|
- .set(ApsBlankOrderDo::getScheduledateend, startDate)
|
|
|
- .set(apsBlankOrderDo.getPromisedatestart() == null, ApsBlankOrderDo::getPromisedatestart, timeAddHour(startDate, 48))
|
|
|
- .set(apsBlankOrderDo.getPromisedateend() == null, ApsBlankOrderDo::getPromisedateend, timeAddHour(endDate, 48)));
|
|
|
- apsBlankOrderDo.setPromisedatestart(timeAddHour(startDate, 48));
|
|
|
- apsBlankOrderDo.setPromisedateend(timeAddHour(endDate, 48));
|
|
|
+ .set(ApsBlankOrderDo::getScheduledateend, endDate)
|
|
|
+ .set(ApsBlankOrderDo::getPromisedatestart, newStartDate)
|
|
|
+ .set(ApsBlankOrderDo::getPromisedateend, newEndDate));
|
|
|
+ logger.debug("坯料计划新的承诺交货日期:{}-{},旧的为{}-{}", newStartDate,newEndDate,
|
|
|
+ apsBlankOrderDo.getPromisedatestart(), apsBlankOrderDo.getPromisedateend());
|
|
|
+
|
|
|
+
|
|
|
List<String> updateIds = new ArrayList<>();
|
|
|
- if (startDate.compareTo(apsBlankOrderDo.getPromisedatestart()) > 0) {
|
|
|
+ List<String> removeIds = new ArrayList<>();
|
|
|
+ if (startDate.compareTo(newStartDate) > 0) {
|
|
|
updateIds.add(blankDeliveryDate.get(0).getId());
|
|
|
+ }else{
|
|
|
+ removeIds.add(blankDeliveryDate.get(0).getId());
|
|
|
}
|
|
|
- if (endDate.compareTo(apsBlankOrderDo.getPromisedateend()) > 0) {
|
|
|
+ if (endDate.compareTo(newEndDate) > 0) {
|
|
|
updateIds.add(blankDeliveryDate.get(1).getId());
|
|
|
+ }else{
|
|
|
+ removeIds.add(blankDeliveryDate.get(1).getId());
|
|
|
}
|
|
|
- if (updateIds.isEmpty()) {
|
|
|
- return;
|
|
|
+
|
|
|
+ if (!updateIds.isEmpty()) {
|
|
|
+ List<ApsProcessOperationProcessEquDo> equDos = apsProcessOperationProcessEquService.getBaseMapper().selectBatchIds(updateIds);
|
|
|
+ logger.debug("记录冲突信息超出承诺交货期:{}", equDos);
|
|
|
+ equDos.forEach(data -> {
|
|
|
+ data.setConflictdes(addNewConflictsDesc(data.getConflictdes(), EXCEEDING_THE_PROMISED_DELIVERY_DEADLINE));
|
|
|
+ if (StringUtils.isBlank(data.getConflictdes()) && StringUtils.isBlank(data.getSoftconflictdes())) {
|
|
|
+ data.setHasconflict("n");
|
|
|
+ } else {
|
|
|
+ data.setHasconflict("y");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if (!equDos.isEmpty()) {
|
|
|
+ apsProcessOperationProcessEquService.updateBatchById(equDos);
|
|
|
+ }
|
|
|
}
|
|
|
- List<ApsProcessOperationProcessEquBackupDo> equBackupDos = apsProcessOperationProcessEquBackupDao.selectBatchIds(updateIds);
|
|
|
- equBackupDos.forEach(data -> {
|
|
|
- data.setConflictdes(addNewConflictsDesc(data.getConflictdes(), EXCEEDING_THE_PROMISED_DELIVERY_DEADLINE));
|
|
|
- if (StringUtils.isBlank(data.getConflictdes()) && StringUtils.isBlank(data.getSoftconflictdes())) {
|
|
|
- data.setHasconflict("n");
|
|
|
- } else {
|
|
|
- data.setHasconflict("y");
|
|
|
+ if(!removeIds.isEmpty()){
|
|
|
+ List<ApsProcessOperationProcessEquDo> equDos = apsProcessOperationProcessEquService.getBaseMapper().selectBatchIds(removeIds);
|
|
|
+ logger.debug("记录冲突信息超出承诺交货期:{}", equDos);
|
|
|
+ equDos.forEach(data -> {
|
|
|
+ data.setConflictdes(removeConflictsDesc(data.getConflictdes(), EXCEEDING_THE_PROMISED_DELIVERY_DEADLINE));
|
|
|
+ if (StringUtils.isBlank(data.getConflictdes()) && StringUtils.isBlank(data.getSoftconflictdes())) {
|
|
|
+ data.setHasconflict("n");
|
|
|
+ } else {
|
|
|
+ data.setHasconflict("y");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if (!equDos.isEmpty()) {
|
|
|
+ apsProcessOperationProcessEquService.updateBatchById(equDos);
|
|
|
}
|
|
|
- });
|
|
|
- if (!equBackupDos.isEmpty()) {
|
|
|
- apsProcessOperationProcessEquBackupService.updateBatchById(equBackupDos);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
}
|
|
|
|
|
|
public Date timeAddHour(Date date, int hour) {
|