|
@@ -3117,31 +3117,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
ApsUtils.checkSchedulingByBlankId(null, req.getId());
|
|
|
ApsBlankOrderDo apsBlankOrderDo = this.getById(req.getId());
|
|
|
|
|
|
- //如果是否备料=是,备料对应在制品的备料计划ID=(空),在制品状态=备料中
|
|
|
- if (ObjectUtil.isNotEmpty(apsBlankOrderDo.getPreparematerialbatchno())) {
|
|
|
-// apsWorkInProgressInventoryService.update(new UpdateWrapper<ApsWorkInProgressInventoryDo>().lambda()
|
|
|
-// .set(ApsWorkInProgressInventoryDo::getPlanmaterialid, "")
|
|
|
-// .set(ApsWorkInProgressInventoryDo::getWorkinprocessstatus, SaveConstans.WorkInProgressStatus.WAITING)
|
|
|
-// .eq(ApsWorkInProgressInventoryDo::getBlankid, req.getId()));
|
|
|
- List<String> batchNumberList = Arrays.asList(apsBlankOrderDo.getPreparematerialbatchno().split(","));
|
|
|
- List<ApsWorkInProgressInventoryDo> apsWorkInProgressInventoryDos = apsWorkInProgressInventoryService.list(new LambdaQueryWrapper<ApsWorkInProgressInventoryDo>()
|
|
|
- .in(ApsWorkInProgressInventoryDo::getBatchnumber, batchNumberList));
|
|
|
- List<String> workInProgressIds = apsWorkInProgressInventoryDos.stream().filter(item -> StringUtils.isNotBlank(item.getPreviousworkinprocessstatus()))
|
|
|
- .map(ApsWorkInProgressInventoryDo::getId)
|
|
|
- .distinct()
|
|
|
- .collect(Collectors.toList());
|
|
|
- if (!workInProgressIds.isEmpty()) {
|
|
|
- apsWorkInProgressInventoryService.update(new UpdateWrapper<ApsWorkInProgressInventoryDo>().lambda()
|
|
|
- .set(ApsWorkInProgressInventoryDo::getPlanmaterialid, null)
|
|
|
- .setSql("WORKINPROCESSSTATUS = IF(PREVIOUSWORKINPROCESSSTATUS = '待加工','备料中',PREVIOUSWORKINPROCESSSTATUS)")
|
|
|
- .eq(ApsWorkInProgressInventoryDo::getDeleted, "0")
|
|
|
- .in(ApsWorkInProgressInventoryDo::getId, workInProgressIds));
|
|
|
- }
|
|
|
- //更新坯料计划该字段为空
|
|
|
- apsBlankOrderService.update(new UpdateWrapper<ApsBlankOrderDo>().lambda()
|
|
|
- .set(ApsBlankOrderDo::getPreparematerialbatchno, null)
|
|
|
- .eq(ApsBlankOrderDo::getId, apsBlankOrderDo.getId()));
|
|
|
- }
|
|
|
+
|
|
|
removeBlankOrderAndChild(apsBlankOrderDo);
|
|
|
|
|
|
//物理删除相关的工序作业备份
|
|
@@ -3175,10 +3151,22 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
this.removeById(req.getId());
|
|
|
|
|
|
//如果是备料,删除计划后,备料的计划ID设置为空
|
|
|
- if (req.getPreparematerial().equals("是")) {
|
|
|
- ApsWorkInProgressInventoryDo needUpdate = new ApsWorkInProgressInventoryDo();
|
|
|
- needUpdate.setPlanmaterialid("");
|
|
|
- apsWorkInProgressInventoryService.update(needUpdate, new QueryWrapper<ApsWorkInProgressInventoryDo>().lambda().eq(ApsWorkInProgressInventoryDo::getPlanmaterialid, req.getId()));
|
|
|
+ //如果是否备料=是,备料对应在制品的备料计划ID=(空),在制品状态=备料中
|
|
|
+ if (ObjectUtil.isNotEmpty(req.getPreparematerialbatchno())) {
|
|
|
+ List<String> batchNumberList = Arrays.asList(req.getPreparematerialbatchno().split(","));
|
|
|
+ List<ApsWorkInProgressInventoryDo> apsWorkInProgressInventoryDos = apsWorkInProgressInventoryService.list(new LambdaQueryWrapper<ApsWorkInProgressInventoryDo>()
|
|
|
+ .in(ApsWorkInProgressInventoryDo::getBatchnumber, batchNumberList));
|
|
|
+ List<String> workInProgressIds = apsWorkInProgressInventoryDos.stream().filter(item -> StringUtils.isNotBlank(item.getPreviousworkinprocessstatus()))
|
|
|
+ .map(ApsWorkInProgressInventoryDo::getId)
|
|
|
+ .distinct()
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (!workInProgressIds.isEmpty()) {
|
|
|
+ apsWorkInProgressInventoryService.update(new UpdateWrapper<ApsWorkInProgressInventoryDo>().lambda()
|
|
|
+ .set(ApsWorkInProgressInventoryDo::getPlanmaterialid, null)
|
|
|
+ .setSql("WORKINPROCESSSTATUS = IF(PREVIOUSWORKINPROCESSSTATUS = '待加工','备料中',PREVIOUSWORKINPROCESSSTATUS)")
|
|
|
+ .eq(ApsWorkInProgressInventoryDo::getDeleted, "0")
|
|
|
+ .in(ApsWorkInProgressInventoryDo::getId, workInProgressIds));
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//逻辑删除坯料计划输出成品
|