|
@@ -410,12 +410,19 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
//如果是否备料=是,备料对应在制品的备料计划ID=(空),在制品状态=备料中
|
|
|
if (ObjectUtil.isNotEmpty(apsBlankOrderDo.getPreparematerialbatchno()) && apsBlankOrderDo.getPreparematerial().equals("否")) {
|
|
|
List<String> batchNumberList = Arrays.asList(apsBlankOrderDo.getPreparematerialbatchno().split(","));
|
|
|
- apsWorkInProgressInventoryService.update(new UpdateWrapper<ApsWorkInProgressInventoryDo>().lambda()
|
|
|
- .set(ApsWorkInProgressInventoryDo::getPlanmaterialid, null)
|
|
|
- .setSql("WORKINPROCESSSTATUS = IF(IF(PREVIOUSWORKINPROCESSSTATUS != '' && PREVIOUSWORKINPROCESSSTATUS is not null,PREVIOUSWORKINPROCESSSTATUS,'备料中') = '待加工','备料中',PREVIOUSWORKINPROCESSSTATUS)")
|
|
|
- .eq(ApsWorkInProgressInventoryDo::getDeleted, "0")
|
|
|
+ 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)
|
|
@@ -3097,11 +3104,19 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
// .set(ApsWorkInProgressInventoryDo::getWorkinprocessstatus, SaveConstans.WorkInProgressStatus.WAITING)
|
|
|
// .eq(ApsWorkInProgressInventoryDo::getBlankid, req.getId()));
|
|
|
List<String> batchNumberList = Arrays.asList(apsBlankOrderDo.getPreparematerialbatchno().split(","));
|
|
|
- apsWorkInProgressInventoryService.update(new UpdateWrapper<ApsWorkInProgressInventoryDo>().lambda()
|
|
|
- .set(ApsWorkInProgressInventoryDo::getPlanmaterialid, null)
|
|
|
- .setSql("WORKINPROCESSSTATUS = IF(IF(PREVIOUSWORKINPROCESSSTATUS != '' && PREVIOUSWORKINPROCESSSTATUS is not null,PREVIOUSWORKINPROCESSSTATUS,'备料中') = '待加工','备料中',PREVIOUSWORKINPROCESSSTATUS)")
|
|
|
- .eq(ApsWorkInProgressInventoryDo::getDeleted, "0")
|
|
|
+ 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)
|
|
@@ -4023,11 +4038,19 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
*/
|
|
|
//原批次号(修改前的值),对应的所有在制品的在制品状态=备料中,在制品的备料计划ID=(空)
|
|
|
if (ObjectUtil.isNotEmpty(delBatchNumberList)) {
|
|
|
- apsWorkInProgressInventoryService.update(new UpdateWrapper<ApsWorkInProgressInventoryDo>().lambda()
|
|
|
- .set(ApsWorkInProgressInventoryDo::getPlanmaterialid, null)
|
|
|
- .setSql("WORKINPROCESSSTATUS = IF(IF(PREVIOUSWORKINPROCESSSTATUS != '' && PREVIOUSWORKINPROCESSSTATUS is not null,PREVIOUSWORKINPROCESSSTATUS,'备料中') = '待加工','备料中',PREVIOUSWORKINPROCESSSTATUS)")
|
|
|
- .eq(ApsWorkInProgressInventoryDo::getDeleted, "0")
|
|
|
+ List<ApsWorkInProgressInventoryDo> apsWorkInProgressInventoryDos = apsWorkInProgressInventoryService.list(new LambdaQueryWrapper<ApsWorkInProgressInventoryDo>()
|
|
|
.in(ApsWorkInProgressInventoryDo::getBatchnumber, delBatchNumberList));
|
|
|
+ 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)
|