|
@@ -87,6 +87,12 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
private ApsWorkInProgressInventoryService apsWorkInProgressInventoryService;
|
|
|
@Autowired
|
|
|
private ApsProcessOutputProductService apsProcessOutputProductService;
|
|
|
+ @Autowired
|
|
|
+ private ApsProcessOperationOutMaterService apsProcessOperationOutMaterService;
|
|
|
+ @Autowired
|
|
|
+ private ApsProcessOperationEquService apsProcessOperationEquService;
|
|
|
+ @Autowired
|
|
|
+ private ApsProcessOperationProcessEquService apsProcessOperationProcessEquService;
|
|
|
|
|
|
|
|
|
@Override
|
|
@@ -119,7 +125,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());
|
|
|
//清除排程备份和状态修改
|
|
@@ -138,7 +144,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
// 校验取消的订单中是否存在已加工的工序作业
|
|
|
List<String> startWorkOrderNo = apsProcessOperationDao.getStartWorkByBlankId(apsBlankIds);
|
|
|
if (!startWorkOrderNo.isEmpty()) {
|
|
|
- throw new CustomException(CollUtil.join(startWorkOrderNo, ",") + " 以上客户所对应的订单存在已开工的坯料计划,不可以取消排程=!");
|
|
|
+ throw new CustomException(CollUtil.join(startWorkOrderNo, ",") + " 以上客户所对应的订单存在已开工的坯料计划,不可以取消排程!");
|
|
|
}
|
|
|
//获取订单ID
|
|
|
List<ApsBlankOrderDo> blankOrderDoList = this.list(new QueryWrapper<ApsBlankOrderDo>().lambda().in(ApsBlankOrderDo::getId, apsBlankIds));
|
|
@@ -1582,4 +1588,54 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
}
|
|
|
return R.ok();
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public R removeBlankOrder(ApsBlankOrderDo req) {
|
|
|
+ if (ObjectUtil.isEmpty(req.getId())) {
|
|
|
+ return R.error("坯料Id不能为空");
|
|
|
+ }
|
|
|
+ ApsBlankOrderDo apsBlankOrderDo = this.getById(req.getId());
|
|
|
+ //删除坯料计划
|
|
|
+ this.removeById(req.getId());
|
|
|
+
|
|
|
+ //如果是备料,删除计划后,备料的计划ID设置为空
|
|
|
+ if (apsBlankOrderDo.getPreparematerial().equals("是")) {
|
|
|
+ ApsWorkInProgressInventoryDo needUpdate = new ApsWorkInProgressInventoryDo();
|
|
|
+ needUpdate.setPlanmaterialid("");
|
|
|
+ apsWorkInProgressInventoryService.update(needUpdate, new QueryWrapper<ApsWorkInProgressInventoryDo>().lambda().eq(ApsWorkInProgressInventoryDo::getPlanmaterialid, req.getId()));
|
|
|
+ }
|
|
|
+
|
|
|
+ //逻辑删除坯料计划输出成品
|
|
|
+ apsProcessOutputProductService.remove(new QueryWrapper<ApsProcessOutputProductDo>().lambda().eq(ApsProcessOutputProductDo::getBlankid, req.getId()));
|
|
|
+
|
|
|
+ //逻辑删除坯料计划工序作业
|
|
|
+ apsProcessOperationService.remove(new QueryWrapper<ApsProcessOperationDo>().lambda().eq(ApsProcessOperationDo::getBlankid, req.getId()));
|
|
|
+
|
|
|
+ //逻辑删除坯料计划工序作业-输出物料
|
|
|
+ apsProcessOperationOutMaterService.remove(new QueryWrapper<ApsProcessOperationOutMaterDo>().lambda().eq(ApsProcessOperationOutMaterDo::getBlankid, req.getId()));
|
|
|
+
|
|
|
+ //逻辑删除坯料计划工序作业-可选设备
|
|
|
+ apsProcessOperationEquService.remove(new QueryWrapper<ApsProcessOperationEquDo>().lambda().eq(ApsProcessOperationEquDo::getBlankid, req.getId()));
|
|
|
+
|
|
|
+ //逻辑删除坯料计划的工艺路线
|
|
|
+ this.baseMapper.removeMindMappingByBlankId(req.getId());
|
|
|
+
|
|
|
+ //物理删除相关的工序作业备份
|
|
|
+ this.baseMapper.deleteProcessBackupByBlankId(req.getId());
|
|
|
+ //物理删除相关的作业明细备份
|
|
|
+ this.baseMapper.deleteProcessEquBackupByBlankId(req.getId());
|
|
|
+
|
|
|
+ //查询此订单的其他任一一个坯料计划的Id,重新更新订单的状态
|
|
|
+ CommonUpdateProductionStatusReq commonUpdateProductionStatusReq = new CommonUpdateProductionStatusReq();
|
|
|
+ ApsBlankOrderDo one = this.getOne(new QueryWrapper<ApsBlankOrderDo>().lambda().eq(ApsBlankOrderDo::getProductionorderid, apsBlankOrderDo.getProductionorderid()));
|
|
|
+ if (ObjectUtil.isNotEmpty(one)) {
|
|
|
+ commonUpdateProductionStatusReq.setBlankId(one.getId());
|
|
|
+ } else {
|
|
|
+ commonUpdateProductionStatusReq.setOrderId(apsBlankOrderDo.getProductionorderid());
|
|
|
+ }
|
|
|
+ apsProcessOperationProcessEquService.updateProductionStatus(commonUpdateProductionStatusReq);
|
|
|
+
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
}
|