|
|
|
รบกวนสอบถามวิธีเขียนโค้ดของโจทย์(จัดตารางเวลา)แบบนี้หน่อยค่ะ |
|
|
|
|
|
|
|
ตามรูปนะคะ คือต้องการดึงค่าที่น้อยที่สุดของแต่ละ column ออกมา แต่ต้องมีค่ามากกว่า 0
เช่น ดึงค่าที่น้อยที่สุดของ CT3 = 220 ในที่นี้มี 2 ตัว เลือกดึงตัวไหนก่อนก็ได้
สมมุติว่า ดึง 54001/001 ออกมา ก็ให้เก็บค่าไว้ใน datatable ของ CT3 เป็นเวลาทำงาน Time = 220
จากนั้นให้ลบ row ที่ถูกเลือกไปแล้วคือ 54001/001 ออกจาก datatable ในรูป
แล้วไปเลือกค่าน้อยที่สุดของ column ถัดไป ทำแบบเดียวกัน จนครบทุก column
ในที่นี้ก็จะได้ Order 54001/001 , CT3 , Time = 220
Order 54001/002 , CT4 , Time = 220
Order 54002/100 , CT5 , Time = 360
Order 54002/102 , CT6 , Time = 532
จากนั้นให้เอาเวลาที่ใช้ Time ไปบวกกับเวลาเริ่มต้นคือ StratTime = 0 แล้วเก็บเป็นเวลาที่เสร็จ CompleteTime = StratTime + Time
ของทุกๆ order แล้วเอา CompleteTime = NewStartTime จากนั้นเช็คดูว่า NewStartTime ของ CT ไหนน้อยที่สุด ก็กลับไปทำแบบแรก
คือ ดึงค่าที่น้อยที่สุดของ CT นั้นออกมา เก็บค่า Time แล้วเอาไปหา CompleteTime ทำแบบนี้ไปเรื่อยๆ จนครบทุก Order
พอทำครบทุก order แล้วให้แสดงค่าออกมาเป็น datagridview ค่ะ
Tag : .NET, Ms SQL Server 2008, Win (Windows App), VB.NET
|
|
|
|
|
|
Date :
2012-01-27 13:52:27 |
By :
No |
View :
1048 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แก้ไขนะคะ ยกตัวอย่างผิด
54001/001 CT3 Time = 220
54002/100 CT4 Time = 180
54001/002 CT5 Time = 440
54002/102 CT6 Time = 532
|
|
|
|
|
Date :
2012-01-27 13:56:09 |
By :
No |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|