|
@@ -112,18 +112,18 @@ public class ApsServiceImpl implements ApsService {
|
|
|
// 查询存在未锁定的作业坯料计划
|
|
|
// 插单重排会优先排插单再排程其它的订单
|
|
|
if("cd".equals(apsType) && apsBlankOrders != null && apsBlankOrders.size()>0){
|
|
|
- apsOrderSchedule(apsBlankOrders);
|
|
|
- List<ApsBlankOrderVo> fbNotLock = apsBlankOrderDao.getOrdersHasNotLockProcess(idStrs,tenantId);
|
|
|
- if (fbNotLock != null && fbNotLock.size() > 0) {
|
|
|
- apsOrderSchedule(fbNotLock);
|
|
|
+ for (ApsBlankOrderVo apsBlankOrder : apsBlankOrders) {
|
|
|
+ apsBlankOrder.setCdbs(1);
|
|
|
}
|
|
|
- }else{
|
|
|
- List<ApsBlankOrderVo> fbNotLock = apsBlankOrderDao.getOrdersHasNotLockProcess(idStrs,tenantId);
|
|
|
- if (fbNotLock != null && fbNotLock.size() > 0) {
|
|
|
- apsBlankOrders.addAll(fbNotLock);
|
|
|
+ }
|
|
|
+ List<ApsBlankOrderVo> fbNotLock = apsBlankOrderDao.getOrdersHasNotLockProcess(idStrs,tenantId);
|
|
|
+ if (fbNotLock != null && fbNotLock.size() > 0) {
|
|
|
+ for (ApsBlankOrderVo apsBlankOrderVo : fbNotLock) {
|
|
|
+ apsBlankOrderVo.setCdbs(2);
|
|
|
}
|
|
|
- apsOrderSchedule(apsBlankOrders);
|
|
|
+ apsBlankOrders.addAll(fbNotLock);
|
|
|
}
|
|
|
+ apsOrderSchedule(apsBlankOrders);
|
|
|
|
|
|
|
|
|
// 1卷排程
|
|
@@ -441,52 +441,57 @@ public class ApsServiceImpl implements ApsService {
|
|
|
BigDecimal singlerollweight2 = v2.getSinglerollweight();
|
|
|
|
|
|
int a = 0;
|
|
|
- // 合金
|
|
|
- if(alloy1.compareTo(alloy2) == 0){
|
|
|
- // 产品类型
|
|
|
- if(producttype1 == null || producttype2 == null || producttype1.compareTo(producttype2) == 0){
|
|
|
- // 宽度
|
|
|
- if(prowidth1.compareTo(prowidth2) == 0){
|
|
|
- // 厚度
|
|
|
- if(thickness1.compareTo(thickness2) == 0){
|
|
|
- // 合金状态
|
|
|
- if(alloystatus1 == null || alloystatus2 == null || alloystatus1.compareTo(alloystatus2) == 0){
|
|
|
- // 重量
|
|
|
- if(singlerollweight1.compareTo(singlerollweight2) == 0){
|
|
|
- // 按照订单排序
|
|
|
- if(v1.getProductionorderid().compareTo(v2.getProductionorderid()) == 0){
|
|
|
- // 卷数从大到小
|
|
|
- a = v2.getRollnum().compareTo(v1.getRollnum());
|
|
|
+ // 插单优先
|
|
|
+ if(v1.getCdbs().compareTo(v2.getCdbs()) == 0){
|
|
|
+ // 合金
|
|
|
+ if(alloy1.compareTo(alloy2) == 0){
|
|
|
+ // 产品类型
|
|
|
+ if(producttype1 == null || producttype2 == null || producttype1.compareTo(producttype2) == 0){
|
|
|
+ // 宽度
|
|
|
+ if(prowidth1.compareTo(prowidth2) == 0){
|
|
|
+ // 厚度
|
|
|
+ if(thickness1.compareTo(thickness2) == 0){
|
|
|
+ // 合金状态
|
|
|
+ if(alloystatus1 == null || alloystatus2 == null || alloystatus1.compareTo(alloystatus2) == 0){
|
|
|
+ // 重量
|
|
|
+ if(singlerollweight1.compareTo(singlerollweight2) == 0){
|
|
|
+ // 按照订单排序
|
|
|
+ if(v1.getProductionorderid().compareTo(v2.getProductionorderid()) == 0){
|
|
|
+ // 卷数从大到小
|
|
|
+ a = v2.getRollnum().compareTo(v1.getRollnum());
|
|
|
+ }else{
|
|
|
+ a = v1.getProductionorderid().compareTo(v2.getProductionorderid());
|
|
|
+ }
|
|
|
+ }else if(singlerollweight1.compareTo(singlerollweight2) > 0){
|
|
|
+ a = -1;
|
|
|
}else{
|
|
|
- a = v1.getProductionorderid().compareTo(v2.getProductionorderid());
|
|
|
+ a = 1;
|
|
|
}
|
|
|
- }else if(singlerollweight1.compareTo(singlerollweight2) > 0){
|
|
|
+ }else{
|
|
|
+ a = alloystatus1.compareTo(alloystatus2);
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ if(thickness1.compareTo(thickness2) > 0){
|
|
|
a = -1;
|
|
|
}else{
|
|
|
a = 1;
|
|
|
}
|
|
|
- }else{
|
|
|
- a = alloystatus1.compareTo(alloystatus2);
|
|
|
}
|
|
|
}else{
|
|
|
- if(thickness1.compareTo(thickness2) > 0){
|
|
|
+ if(prowidth1.compareTo(prowidth2) > 0){
|
|
|
a = -1;
|
|
|
}else{
|
|
|
a = 1;
|
|
|
}
|
|
|
}
|
|
|
}else{
|
|
|
- if(prowidth1.compareTo(prowidth2) > 0){
|
|
|
- a = -1;
|
|
|
- }else{
|
|
|
- a = 1;
|
|
|
- }
|
|
|
+ a = producttype1.compareTo(producttype2);
|
|
|
}
|
|
|
}else{
|
|
|
- a = producttype1.compareTo(producttype2);
|
|
|
+ a = alloy1.compareTo(alloy2);
|
|
|
}
|
|
|
}else{
|
|
|
- a = alloy1.compareTo(alloy2);
|
|
|
+ a = v1.getCdbs().compareTo(v2.getCdbs());
|
|
|
}
|
|
|
return a;
|
|
|
});
|
|
@@ -495,13 +500,16 @@ public class ApsServiceImpl implements ApsService {
|
|
|
apsBlankOrders.forEach((bo)->{
|
|
|
blankOrderIds.add(bo.getId());
|
|
|
});
|
|
|
- processOperationProcessEquService.update(new LambdaUpdateWrapper<ApsProcessOperationProcessEquDo>().set(ApsProcessOperationProcessEquDo::getLockmark,"n")
|
|
|
- .in(ApsProcessOperationProcessEquDo::getBlankid,blankOrderIds));
|
|
|
// 更新待排程的锁定的作业
|
|
|
if(blankOrderIds != null && blankOrderIds.size()>0){
|
|
|
String blankidStrs = CollUtil.join(blankOrderIds, "','");
|
|
|
blankidStrs = "'" + blankidStrs + "'";
|
|
|
apsBlankOrderDao.setLockMarkNullByToAps(blankidStrs);
|
|
|
+
|
|
|
+ // 更新排程明细数据锁定状态为否
|
|
|
+ /*processOperationProcessEquService.update(new LambdaUpdateWrapper<ApsProcessOperationProcessEquDo>().set(ApsProcessOperationProcessEquDo::getLockmark,"n")
|
|
|
+ .in(ApsProcessOperationProcessEquDo::getBlankid,blankOrderIds));*/
|
|
|
+ apsBlankOrderDao.setProDetailLockMark(blankidStrs);
|
|
|
}
|
|
|
// 排程
|
|
|
List<ProductionScheduleVo> productionScheduleVos = new ArrayList<>();
|