Jelajahi Sumber

aps-解锁订单时,先将已发布坯料计划取消发布

sucheng 1 bulan lalu
induk
melakukan
f4649a01a6

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

@@ -617,6 +617,18 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
             // 解锁
             else if (LOCKMARK_N.equals(lockMark)) {
                 if (notlockdetailproids != null && notlockdetailproids.size() > 0) {
+                    //解锁之前将对应已发布的坯料计划取消发布
+                    List<ApsProcessOperationDo> apsProcessOperationDos = apsProcessOperationService.listByIds(notlockdetailproids).stream().collect(Collectors.toList());
+                    Set<String> blankIds = apsProcessOperationDos.stream().map(ApsProcessOperationDo::getBlankid).collect(Collectors.toSet());
+                    List<ApsBlankOrderDo> apsBlankOrderDoList = apsBlankOrderService.list(new LambdaQueryWrapper<ApsBlankOrderDo>()
+                            .in(ApsBlankOrderDo::getId, blankIds)
+                            .eq(ApsBlankOrderDo::getProductstatus, "30")//待开工
+                    );
+                    if (!apsBlankOrderDoList.isEmpty()){
+                        List<String> needCancelBlankIdList = apsBlankOrderDoList.stream().map(ApsBlankOrderDo::getId).collect(Collectors.toList());
+                        //撤回发布
+                        apsBlankOrderService.publishCancel(needCancelBlankIdList);
+                    }
                     // 存在作业明细是未锁定状态则解锁作业
                     apsProcessOperationService.update(new LambdaUpdateWrapper<ApsProcessOperationDo>()
                             .in(ApsProcessOperationDo::getId, notlockdetailproids)