Browse Source

2025-10-27

订单排产(无限产能)优化
master
fengyuan_yang 3 months ago
parent
commit
3256bafa5f
  1. 96
      src/views/modules/schedule/com_schedule_order_expand.vue

96
src/views/modules/schedule/com_schedule_order_expand.vue

@ -536,6 +536,7 @@ export default {
resourceShiftList: [], resourceShiftList: [],
orderScheduleList: [], orderScheduleList: [],
scheduleDetailList: [], scheduleDetailList: [],
successScheduledList: [], //
dataListLoading: false, dataListLoading: false,
// //
carrierDialogVisible: false, // carrierDialogVisible: false, //
@ -1512,6 +1513,18 @@ export default {
this.$message.error(`${i+1}行:需求数量必须大于0`); this.$message.error(`${i+1}行:需求数量必须大于0`);
return; return;
} }
//
if(item.rowCount != null && item.rowCount < 0){
this.$message.error(`${i+1}行:排数不能为负数`);
return;
}
//
if(item.rollCount != null && item.rollCount < 0){
this.$message.error(`${i+1}行:卷数不能为负数`);
return;
}
} }
// //
@ -1539,8 +1552,22 @@ export default {
this.$message.error(`${i+1}行:需求数量必须大于0`); this.$message.error(`${i+1}行:需求数量必须大于0`);
return; return;
} }
//
if(item.rowCount != null && item.rowCount < 0){
this.$message.error(`${i+1}行:排数不能为负数`);
return;
}
//
if(item.rollCount != null && item.rollCount < 0){
this.$message.error(`${i+1}行:卷数不能为负数`);
return;
}
} }
//
this.successScheduledList = [];
// //
this.executeBatchSchedule(0, true); this.executeBatchSchedule(0, true);
}, },
@ -1593,11 +1620,49 @@ export default {
// //
return; return;
}else if(data.code == 201){ }else if(data.code == 201){
//
this.$message.warning(`${index+1}行:${data.msg}`);
//
this.$confirm(`${index+1}行:${data.msg},是否继续执行?`, '提示', {
confirmButtonText: '继续执行',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
//
scheduleData.checkFlag = false;
scheduleOrderWithExpand(scheduleData).then(({data: retryData}) => {
if(retryData.code == 0){
this.$message.success(`${index+1}行排产成功`);
//
this.successScheduledList.push({
orderNo: scheduleData.orderNo,
itemNo: scheduleData.itemNo,
resourceId: scheduleData.resourceId,
workCenterNo: scheduleData.workCenterNo
});
//
this.executeBatchSchedule(index + 1, closeAfterFinish); this.executeBatchSchedule(index + 1, closeAfterFinish);
}else{ }else{
//
this.$message.error(`${index+1}行排产失败:${retryData.msg}`);
//
return;
}
}).catch(error => {
this.$message.error(`${index+1}行排产异常`);
console.error(error);
});
}).catch(() => {
// 201
//
this.rollbackSuccessSchedules(index);
});
}else{
//
this.successScheduledList.push({
orderNo: scheduleData.orderNo,
itemNo: scheduleData.itemNo,
resourceId: scheduleData.resourceId,
workCenterNo: scheduleData.workCenterNo
});
//
this.executeBatchSchedule(index + 1, closeAfterFinish); this.executeBatchSchedule(index + 1, closeAfterFinish);
} }
}).catch(error => { }).catch(error => {
@ -1707,6 +1772,31 @@ export default {
}); });
}, },
/*回滚批量排产中已成功的记录*/
rollbackSuccessSchedules(currentIndex) {
//
//
//
this.$message.warning(`已取消批量排产,已成功排产 ${this.successScheduledList.length} 条记录保留`);
//
// currentIndex
this.scheduleDetailList = this.scheduleDetailList.slice(currentIndex);
//
this.successScheduledList = [];
//
this.refreshShopOrderData();
this.getOrderScheduleList();
//
if(this.scheduleDetailList.length > 0){
this.$message.warning(`已保留 ${this.scheduleDetailList.length} 条未执行的记录,请修改后继续操作`);
}
},
/*控制单行的背景颜色*/ /*控制单行的背景颜色*/
controlRowStyle({row, rowIndex}){ controlRowStyle({row, rowIndex}){
let colorStyle = row.colorStyle; let colorStyle = row.colorStyle;

Loading…
Cancel
Save