|
@@ -197,13 +197,13 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
List<ApsProcessOperationProcessEquDo> processOperationProcessEquDos = processOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
|
|
|
.in(ApsProcessOperationProcessEquDo::getBlankid, blankIds)
|
|
|
.eq(BaseDo::getDeleted, "0"));
|
|
|
- if(processOperationProcessEquDos.isEmpty()){
|
|
|
+ if (processOperationProcessEquDos.isEmpty()) {
|
|
|
log.error("当前坯料计划不存在工序作业明细");
|
|
|
return R.error("无法根据坯料计划找到工序作业明细");
|
|
|
}
|
|
|
// 判断是否存在强制冲突不为空的数据
|
|
|
boolean b = processOperationProcessEquDos.stream().anyMatch(info -> StringUtils.isNotBlank(info.getConflictdes()));
|
|
|
- if(b){
|
|
|
+ if (b) {
|
|
|
log.error("存在强制冲突无法发布");
|
|
|
return R.error("请先解决冲突在发布");
|
|
|
}
|
|
@@ -483,13 +483,13 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
// 当前等路人所属工厂
|
|
|
SysUserVo currentUser = CXCommonUtils.getCurrentUser();
|
|
|
String tenantId = currentUser.getOrganizationDoList().get(0).getFullpid().split(",")[1];
|
|
|
- if(StringUtils.isBlank(tenantId)){
|
|
|
+ if (StringUtils.isBlank(tenantId)) {
|
|
|
throw new CustomException("所属工厂不能为空");
|
|
|
}
|
|
|
assert apsBlankOrders != null : "排程订单不能为空";
|
|
|
// 按照所属工厂加锁
|
|
|
RLock rLock = redissonClient.getLock(tenantId);
|
|
|
- try{
|
|
|
+ try {
|
|
|
// 加锁最大1小时
|
|
|
rLock.lock(1, TimeUnit.HOURS);
|
|
|
// 合并待发布未锁定的订单一起排程
|
|
@@ -497,7 +497,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
String idStrs = CollUtil.join(hasIds, "','");
|
|
|
idStrs = "'" + idStrs + "'";
|
|
|
// 查询存在未锁定的作业坯料计划
|
|
|
- List<ApsBlankOrderVo> fbNotLock = apsBlankOrderDao.getFbNotLock(idStrs,tenantId);
|
|
|
+ List<ApsBlankOrderVo> fbNotLock = apsBlankOrderDao.getFbNotLock(idStrs, tenantId);
|
|
|
if (fbNotLock != null && fbNotLock.size() > 0) {
|
|
|
apsBlankOrders.addAll(fbNotLock);
|
|
|
}
|
|
@@ -513,7 +513,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
logger.info("排程数据:" + JSONUtil.toJsonStr(productionScheduleVo, jsonConfig));
|
|
|
// APS平台排程接口调用
|
|
|
ProductionScheduleRetVo productionScheduleRetVo = rwApsServer.productionSchedule(productionScheduleVo);
|
|
|
- if(!"200".equals(productionScheduleRetVo.getCode())){
|
|
|
+ if (!"200".equals(productionScheduleRetVo.getCode())) {
|
|
|
throw new CustomException(productionScheduleRetVo.getMsg());
|
|
|
}
|
|
|
// 排程结果保存
|
|
@@ -625,9 +625,9 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
}
|
|
|
|
|
|
backupProcessOperation(apsProcessOperationProcessEquDos, productionScheduleRetVo.getProcesses());
|
|
|
- }catch (Exception e){
|
|
|
+ } catch (Exception e) {
|
|
|
throw e;
|
|
|
- }finally {
|
|
|
+ } finally {
|
|
|
rLock.unlock();
|
|
|
}
|
|
|
}
|
|
@@ -1263,9 +1263,9 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
.in(ApsProcessOperationProcessEquDo::getBlankid, blankids));
|
|
|
// 更新生产订单的状态
|
|
|
apsProductionOrderService.update(new LambdaUpdateWrapper<ApsProductionOrderDo>()
|
|
|
- .in(ApsProductionOrderDo::getId,apsProductionOrderIds)
|
|
|
+ .in(ApsProductionOrderDo::getId, apsProductionOrderIds)
|
|
|
.set(ApsProductionOrderDo::getScheduledeliverydate, null)
|
|
|
- .set(ApsProductionOrderDo::getProductionstatus,TO_BE_SCHEDULED));
|
|
|
+ .set(ApsProductionOrderDo::getProductionstatus, TO_BE_SCHEDULED));
|
|
|
// 更新坯料计划的状态
|
|
|
this.baseMapper.cancelSchedulingUpdate(blankids);
|
|
|
//获取坯料计划用到的产品明细ID
|
|
@@ -1669,10 +1669,18 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
List<ApsBlankOrderDo> list = this.list(new QueryWrapper<ApsBlankOrderDo>().lambda().eq(ApsBlankOrderDo::getProductionorderid, apsBlankOrderDo.getProductionorderid()));
|
|
|
if (ObjectUtil.isNotEmpty(list)) {
|
|
|
commonUpdateProductionStatusReq.setBlankId(list.get(0).getId());
|
|
|
+ apsProcessOperationProcessEquService.updateProductionStatus(commonUpdateProductionStatusReq);
|
|
|
} else {
|
|
|
- commonUpdateProductionStatusReq.setOrderId(apsBlankOrderDo.getProductionorderid());
|
|
|
+ //更新订单生产状态为“待排程10”
|
|
|
+ apsProductionOrderService.update(new LambdaUpdateWrapper<ApsProductionOrderDo>()
|
|
|
+ .eq(ApsProductionOrderDo::getId, apsBlankOrderDo.getProductionorderid())
|
|
|
+ .set(ApsProductionOrderDo::getProductionstatus, TO_BE_SCHEDULED));
|
|
|
+ //更新订单的产品明细的生产状态为“待排程10”
|
|
|
+ apsProductDetailService.update(new LambdaUpdateWrapper<ApsProductDetailDo>()
|
|
|
+ .eq(ApsProductDetailDo::getMainid, apsBlankOrderDo.getProductionorderid())
|
|
|
+ .set(ApsProductDetailDo::getProductstatus, TO_BE_SCHEDULED));
|
|
|
}
|
|
|
- apsProcessOperationProcessEquService.updateProductionStatus(commonUpdateProductionStatusReq);
|
|
|
+
|
|
|
|
|
|
return R.ok();
|
|
|
}
|