| | |
| | | // 换型时间 |
| | | MinutesTest(time) { |
| | | const t = new Date(time) |
| | | // console.log(t.getMinutes(), 800) |
| | | // console.log(typeof parseFloat(this.formBottom.times), 'typeof') |
| | | t.setMinutes(t.getMinutes() + this.formBottom.times * 1) |
| | | const now = |
| | | t.getFullYear() + |
| | |
| | | t.getMinutes().toString().padStart(2, '0') + |
| | | ':' + |
| | | t.getSeconds().toString().padStart(2, '0') |
| | | // console.log('now', now) |
| | | return now |
| | | }, |
| | | // 插入产能时间段 |
| | |
| | | let all_num = this.formBottom.meter |
| | | let flag1 = 0 |
| | | const mod = this.schedulingData[0].mod |
| | | console.log(this.schedulingData, 998) |
| | | // let nowTime = this.schedulingData[0].AdvaDevicRhythm*all_num |
| | | // console.log(this.schedulingData, 31) |
| | | // console.log(JSON.stringify(this.schedulingData), 31) |
| | |
| | | |
| | | let capacity_arr = [] // 要排程的数组 |
| | | this.schedulingData[i].gtArray.sort((a, b) => new Date(a.end).getTime() - new Date(b.end).getTime()) |
| | | console.log(this.schedulingData) |
| | | |
| | | end_arr = this.schedulingData[i].gtArray.filter(item => item.type === 'h_schedule') |
| | | nend_arr = this.schedulingData[i].gtArray.filter(item => item.type === 'capacity') |
| | | end_arr = this.schedulingData[i].gtArray.filter(item => item.type === 'h_schedule') // 已排程数组 |
| | | nend_arr = this.schedulingData[i].gtArray.filter(item => item.type === 'capacity') // 容量 |
| | | |
| | | // end_arr.sort((a, b) => new Date(b.end).getTime() - new Date(a.end).getTime()) |
| | | |
| | | console.log(end_arr, nend_arr, 770) |
| | | console.log(JSON.stringify(end_arr), 771) |
| | | console.log(JSON.stringify(nend_arr), 772) |
| | | |
| | | if (end_arr && end_arr.length > 0) { |
| | | capacity_arr = nend_arr.map(item => { |
| | |
| | | new Date(item.end).getTime() >= new Date(it.end).getTime() |
| | | }) |
| | | |
| | | console.log(schedule, '王老吉') |
| | | if (schedule && schedule.length > 0) { |
| | | item.start = this.MinutesTest(schedule[0]['end']) |
| | | console.log('有进来吗') |
| | | console.log(schedule[schedule.length - 1]['end']) |
| | | item.start = this.MinutesTest(schedule[schedule.length - 1]['end']) |
| | | } |
| | | |
| | | const schedule1 = end_arr.filter(schedule => { |
| | |
| | | if (end_arr != '') { |
| | | (id_obj.id = end_arr[0].id), (id_obj.start_time = end_arr[0].end) |
| | | } |
| | | console.log(capacity_arr, 997) |
| | | for (const w in capacity_arr) { |
| | | let end_time = '' |
| | | let mistiming = '' |
| | |
| | | if ( |
| | | id_obj.start_time !== '' && |
| | | flag1 === 0 && |
| | | new Date(id_obj.start_time) >= new Date(capacity_arr[w].start) |
| | | new Date(id_obj.start_time).getTime() >= new Date(capacity_arr[w].start).getTime() |
| | | ) { |
| | | console.log('加多宝', id_obj.start_time) |
| | | |
| | | data.start = this.MinutesTest(id_obj.start_time) |
| | | flag1 = 1 |
| | | } else { |
| | |
| | | // console.log(nend_arr, 673) |
| | | // console.log(JSON.stringify(nend_arr), 673) |
| | | |
| | | // end_arr = JSON.parse(JSON.stringify(end_arr.sort((a, b) => new Date(b.end) - new Date(a.end)))) |
| | | |
| | | capacity_arr = JSON.parse(JSON.stringify(nend_arr)) // 容量 |
| | | |
| | | // end_arr.forEach(item => { |
| | | // for (let i = 0; i < capacity_arr.length; i++) { |
| | | // if (new Date(capacity_arr[i].start).getTime() === new Date(item.start).getTime() && item.id === capacity_arr[i].id) { |
| | | // console.log(i, capacity_arr[i], '哇哈哈') |
| | | // capacity_arr.splice(i, 1) |
| | | // break |
| | | // } |
| | | // } |
| | | // }) |
| | | |
| | | // 获取可排程的时间 以便接着往后排程 遍历结束要得到的是 当前日期可排容量 |
| | | end_arr.forEach((item, index) => { // 已排程的数组 |
| | |
| | | // console.log(nend_arr, 299) |
| | | |
| | | // debugger |
| | | // 当某个容量存在三个不同的工单时 下面这个if逻辑存在问题 |
| | | |
| | | // 下面逻辑很重要 |
| | | if (schedule_arr && schedule_arr.length > 0) { |
| | | const scheduleCan = schedule_arr.map(item => { |
| | | const temp = nend_arr.filter(it => { |
| | | if (it.id === item.id) { |
| | | console.log('执行了!', item.id, item.end) |
| | | return (new Date(item.start).getTime() === new Date(it.start).getTime() && |
| | | return (new Date(item.start).getTime() >= new Date(it.start).getTime() && |
| | | new Date(item.end).getTime() < new Date(it.end).getTime()) |
| | | // || |
| | | // || |
| | | // (new Date(item.start).getTime() > new Date(it.start).getTime() && |
| | | // new Date(item.end).getTime() < new Date(it.end).getTime()) |
| | | } |
| | | })[0] |
| | | // console.log('李白', temp) |
| | | // console.log('李白', item.end) |
| | | temp.start = this.MinutesTest(item.end) |
| | | |
| | | return temp |
| | | }) |
| | | |
| | | const newSchedule = JSON.parse(JSON.stringify(scheduleCan)) |
| | | |
| | | console.log(newSchedule, 'newSchedule') |
| | | capacity_arr.forEach(item => { |
| | | newSchedule.forEach(it => { |
| | | if (item.id === it.id && new Date(item.start).getTime() < new Date(it.start).getTime()) { |
| | |
| | | if (end_arr != '') { |
| | | (id_obj.id = end_arr[0].id), (id_obj.start_time = end_arr[0].end) |
| | | } |
| | | // console.log(capacity_arr, 999) |
| | | // console.log(JSON.stringify(capacity_arr), 999) |
| | | |
| | | for (const w in capacity_arr) { |
| | | let end_time |
| | | let mistiming |
| | |
| | | ) { |
| | | if (data.id === id_obj.id) { |
| | | data.start = this.MinutesTest(id_obj.start_time) |
| | | // console.log(data.start, 999) |
| | | |
| | | // flag1 =1 |
| | | } else { |
| | | data.start = capacity_arr[w].start |