|
@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.google.common.collect.Lists;
|
|
|
import com.rongwei.bscommon.sys.dao.*;
|
|
|
import com.rongwei.bscommon.sys.fegin.RwApsServer;
|
|
|
import com.rongwei.bscommon.sys.service.*;
|
|
@@ -69,7 +70,8 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
private ApsProductionOrderDao apsProcessOperationDao;
|
|
|
@Autowired
|
|
|
private ApsProductDetailService apsProductDetailService;
|
|
|
-
|
|
|
+ @Autowired
|
|
|
+ private ApsProductDetailDao apsProductDetailDao;
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void test() {
|
|
@@ -99,7 +101,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
// 校验取消的订单中是否存在已加工的工序作业
|
|
|
List<String> startWorkOrderNo = apsProcessOperationDao.getStartWorkById(apsProductionOrderIds);
|
|
|
if (!startWorkOrderNo.isEmpty()){
|
|
|
- throw new CustomException(CollUtil.join(startWorkOrderNo, ",")+" 以上订单存在已开工的坯料计划!");
|
|
|
+ throw new CustomException(CollUtil.join(startWorkOrderNo, ",")+" 以上客户所对应的订单存在已开工的坯料计划,不可以取消排程=!");
|
|
|
}
|
|
|
List<String> blankids = blankOrderDos.stream().map(ApsBlankOrderDo::getId).collect(Collectors.toList());
|
|
|
// 删除工序作业和工序作业明备份数据
|
|
@@ -109,8 +111,6 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
apsProcessOperationService.remove(new LambdaQueryWrapper<ApsProcessOperationDo>().in(ApsProcessOperationDo::getBlankid,blankids));
|
|
|
// 清空作业明细
|
|
|
processOperationProcessEquService.remove(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>().in(ApsProcessOperationProcessEquDo::getBlankid, blankids));
|
|
|
- // 更新坯料计划状态
|
|
|
-
|
|
|
// 更新订单的排程状态
|
|
|
List<ApsProductionOrderDo> productionOrderDos = new ArrayList<>();
|
|
|
for (String apsProductionOrderId : apsProductionOrderIds) {
|
|
@@ -118,22 +118,15 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
productionOrderDo.setId(apsProductionOrderId);
|
|
|
productionOrderDo.setSchedulstatus(SaveConstans.SchedulstatusTyep.SCHEDULSTATUS_TOSCHEDULE);
|
|
|
productionOrderDo.setScheduledeliverydate(null);
|
|
|
+ productionOrderDo.setProductionstatus(TO_BE_SCHEDULED);
|
|
|
productionOrderDos.add(productionOrderDo);
|
|
|
}
|
|
|
- if (productionOrderDos != null && productionOrderDos.size() > 0) {
|
|
|
- apsProductionOrderService.updateBatchById(productionOrderDos);
|
|
|
- }
|
|
|
- // 更新坯料计划的锁定状态
|
|
|
- List<ApsBlankOrderDo> updateBlanks = blankids.stream().map(str -> {
|
|
|
- ApsBlankOrderDo blankOrderDo = new ApsBlankOrderDo();
|
|
|
- blankOrderDo.setId(str);
|
|
|
- blankOrderDo.setLockmark(SaveConstans.LockmarkType.LOCKMARK_N);
|
|
|
- blankOrderDo.setProductstatus(TO_BE_SCHEDULED);
|
|
|
- return blankOrderDo;
|
|
|
- }).collect(Collectors.toList());
|
|
|
- this.updateBatchById(updateBlanks);
|
|
|
-
|
|
|
-
|
|
|
+ // 更新生产订单的状态
|
|
|
+ apsProductionOrderService.updateBatchById(productionOrderDos);
|
|
|
+ // 更新坯料计划的状态
|
|
|
+ this.baseMapper.cancelSchedulingUpdate(blankids);
|
|
|
+ // 更新坯料计划产品明细的的生产状态
|
|
|
+ apsProductDetailDao.updateProductstatus(apsProductionOrderIds);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -332,6 +325,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+
|
|
|
backupProcessOperation(apsProcessOperationProcessEquDos, productionScheduleRetVo.getProcesses());
|
|
|
}
|
|
|
|
|
@@ -355,10 +349,17 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
apsProcessOperationBackupDao.deletedByBlankId(blankIdList);
|
|
|
apsProcessOperationProcessEquBackupDao.deletedByBlankId(blankIdList);
|
|
|
//增加备份
|
|
|
- apsProcessOperationBackupDao.processOperationBackup(apsProcessOperationIds,
|
|
|
- currentUser == null ? null : currentUser.getId(), currentUser == null ? null : currentUser.getName());
|
|
|
- apsProcessOperationProcessEquBackupDao.processOperationEquBackup(apsProcessOperationProcessEquDos,
|
|
|
- currentUser == null ? null : currentUser.getId(), currentUser == null ? null : currentUser.getName());
|
|
|
+ List<List<String>> partition1 = Lists.partition(apsProcessOperationIds, 500);
|
|
|
+ partition1.forEach(data->{
|
|
|
+ apsProcessOperationBackupDao.processOperationBackup(apsProcessOperationIds,
|
|
|
+ currentUser == null ? null : currentUser.getId(), currentUser == null ? null : currentUser.getName());
|
|
|
+ });
|
|
|
+ List<List<ApsProcessOperationProcessEquDo>> partition = Lists.partition(apsProcessOperationProcessEquDos, 100);
|
|
|
+ partition.forEach(data->{
|
|
|
+ apsProcessOperationProcessEquBackupDao.processOperationEquBackup(apsProcessOperationProcessEquDos,
|
|
|
+ currentUser == null ? null : currentUser.getId(), currentUser == null ? null : currentUser.getName());
|
|
|
+ });
|
|
|
+
|
|
|
}
|
|
|
|
|
|
/**
|