|
@@ -431,7 +431,8 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
SysUserVo currentUser = CXCommonUtils.getCurrentUser();
|
|
|
String tenantId = currentUser.getOrganizationDoList().get(0).getFullpid().split(",")[1];
|
|
|
|
|
|
- List<ApsBlankOrderVo> notLockOrders = apsBlankOrderDao.getNotLockOrders(tenantId);
|
|
|
+// List<ApsBlankOrderVo> notLockOrders = apsBlankOrderDao.getNotLockOrders(tenantId);
|
|
|
+ List<ApsBlankOrderVo> notLockOrders = new ArrayList<>();
|
|
|
blankOrderAps(notLockOrders);
|
|
|
//更新生产状态为“待发布”(20)
|
|
|
updateProductStatusByOrderIds(notLockOrders);
|
|
@@ -566,12 +567,18 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
processOperationProcessEquService.saveBatch(apsProcessOperationProcessEquDos);
|
|
|
// 回写订单排程交货期
|
|
|
Map<String, Date> orderDeliveryTime = new HashMap<>();
|
|
|
+ // 坯料计划ID集合
|
|
|
+ List<ApsBlankOrderDo> blankIds = new ArrayList<>();
|
|
|
for (ProductionProcesses process : lastProcess) {
|
|
|
List<ProduceOrder> produceOrder = process.getProduceOrder();
|
|
|
if (produceOrder != null && produceOrder.size() > 0) {
|
|
|
for (ProduceOrder order : produceOrder) {
|
|
|
Date endDate = Date.from(process.getEndTime().atZone(ZoneId.systemDefault()).toInstant());
|
|
|
ApsBlankOrderDo blankOrder = this.getById(order.getId());
|
|
|
+ ApsBlankOrderDo updateBlank = new ApsBlankOrderDo();
|
|
|
+ updateBlank.setId(order.getId());
|
|
|
+ updateBlank.setSchedulingstatus(TO_BE_PUBLISHED);
|
|
|
+ blankIds.add(updateBlank);
|
|
|
if (orderDeliveryTime.containsKey(blankOrder.getProductionorderid())) {
|
|
|
// 对比取最大值
|
|
|
if (endDate.compareTo(orderDeliveryTime.get(blankOrder.getProductionorderid())) > 0) {
|
|
@@ -598,7 +605,10 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
apsProductionOrderService.updateById(apsProductionOrderDo);
|
|
|
});
|
|
|
}
|
|
|
-
|
|
|
+ // 坯料计划状态更新
|
|
|
+ if(blankIds != null && blankIds.size()>0){
|
|
|
+ this.updateBatchById(blankIds);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
backupProcessOperation(apsProcessOperationProcessEquDos, productionScheduleRetVo.getProcesses());
|
|
@@ -676,6 +686,9 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
} else {
|
|
|
throw new CustomException("排程参数缺失");
|
|
|
}
|
|
|
+ // 洗炉合金配置数据设置
|
|
|
+ List<WashingMetal> washingMetalConfig = apsBlankOrderDao.getWashingMetalConfig();
|
|
|
+ productionScheduleVo.setClosealloynames(washingMetalConfig);
|
|
|
|
|
|
// 所有设备
|
|
|
List<AspCheckItemsDo> eqs = aspCheckItemsService.list(new LambdaQueryWrapper<>());
|
|
@@ -1001,10 +1014,10 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
aspCheckItemUse.put(aspCheckItemsDo.getId(), 0);
|
|
|
// 退火炉套筒间隙扣除
|
|
|
if (apsScheduleConfig != null) {
|
|
|
- if(aspCheckItemsDo.getEquipmentwidth() == null){
|
|
|
- throw new CustomException("退火炉的宽度没有维护");
|
|
|
+ if(aspCheckItemsDo.getEquipmentlength() == null){
|
|
|
+ throw new CustomException("退火炉的长度没有维护");
|
|
|
}
|
|
|
- aspCheckItemsDo.setEquipmentwidth(aspCheckItemsDo.getEquipmentwidth().subtract(apsScheduleConfig.getLooseness()));
|
|
|
+ aspCheckItemsDo.setEquipmentlength(aspCheckItemsDo.getEquipmentlength().subtract(apsScheduleConfig.getLooseness()));
|
|
|
}
|
|
|
}
|
|
|
for (ApsProcessOperationVo processOperationM : processOperationMs) {
|
|
@@ -1027,7 +1040,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
// 选择的设备要在可选设备的范围内
|
|
|
if (processOperationM.getCanchoosedeviceid().contains(aspCheckItemsDos.get(i).getId())) {
|
|
|
// 单卷宽度不能超过设备宽度并且单卷重不能超过设备的承重
|
|
|
- if (processOperationM.getProwidth().compareTo(aspCheckItemsDos.get(i).getEquipmentwidth()) < 0
|
|
|
+ if (processOperationM.getProwidth().compareTo(aspCheckItemsDos.get(i).getEquipmentlength()) < 0
|
|
|
&& processOperationM.getSinglerollweight().compareTo(aspCheckItemsDos.get(i).getEquipmentbearing()) < 0) {
|
|
|
// 获取使用次数最小的可选设备
|
|
|
if (aspCheckItem == null) {
|
|
@@ -1047,11 +1060,11 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
// 选择的设备要在可选设备的范围内
|
|
|
if (processOperationM.getCanchoosedeviceid().contains(aspCheckItem.getId())) {
|
|
|
// 单卷宽度不能超过设备宽度并且单卷重不能超过设备的承重
|
|
|
- if (processOperationM.getProwidth().compareTo(aspCheckItem.getEquipmentwidth()) < 0
|
|
|
+ if (processOperationM.getProwidth().compareTo(aspCheckItem.getEquipmentlength()) < 0
|
|
|
&& processOperationM.getSinglerollweight().compareTo(aspCheckItem.getEquipmentbearing()) < 0) {
|
|
|
for (int n = 1; n <= lastnum; n++) {
|
|
|
// 宽度余量
|
|
|
- if (aspCheckItem.getEquipmentwidth().compareTo(processOperationM.getProwidth().multiply(new BigDecimal(n))) < 0) {
|
|
|
+ if (aspCheckItem.getEquipmentlength().compareTo(processOperationM.getProwidth().multiply(new BigDecimal(n))) < 0) {
|
|
|
break;
|
|
|
}
|
|
|
// 重量余量
|
|
@@ -1196,7 +1209,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
Integer sy = 0;
|
|
|
for (int j = 1; j <= processOperationM.getPlanprocessrall(); j++) {
|
|
|
// 宽度余量
|
|
|
- if (aspCheckItem.getEquipmentwidth().subtract(totalWidth).compareTo(processOperationM.getProwidth().multiply(new BigDecimal(j))) < 0) {
|
|
|
+ if (aspCheckItem.getEquipmentlength().subtract(totalWidth).compareTo(processOperationM.getProwidth().multiply(new BigDecimal(j))) < 0) {
|
|
|
break;
|
|
|
}
|
|
|
// 重量余量
|