|
@@ -7,6 +7,7 @@ import com.github.zuihou.business.aps.instance.manager.iface.AssignManagerIface;
|
|
|
import org.apache.commons.logging.Log;
|
|
|
import org.apache.commons.logging.LogFactory;
|
|
|
|
|
|
+import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.TreeSet;
|
|
|
|
|
@@ -51,7 +52,10 @@ public class AssignManager implements AssignManagerIface {
|
|
|
if (machine.getQueueList().size() == 0) {
|
|
|
// 计划开始为最早开始
|
|
|
operation.setStart(operation.getEarlyStart());
|
|
|
- operation.setFinish(DateUtil.offsetMinute(new DateTime(DateUtil.current(false)),new Long(candidateProcess.getDuration()).intValue()).getTime());
|
|
|
+ operation.setFinish(DateUtil.offsetMinute(new DateTime(operation.getStart()),new Long(candidateProcess.getDuration()).intValue()).getTime());
|
|
|
+ operation.setExpectStartTime(DateUtil.format(new Date(operation.getStart()),"yyyy-MM-dd HH:mm:ss"));
|
|
|
+ operation.setExpectEndTime(DateUtil.format(new Date(operation.getFinish()),"yyyy-MM-dd HH:mm:ss"));
|
|
|
+
|
|
|
} else {
|
|
|
findMachineSpace(operation, candidateProcess, machine,instance.getCalcBeginDate(), insert);
|
|
|
}
|
|
@@ -120,6 +124,10 @@ public class AssignManager implements AssignManagerIface {
|
|
|
finish = start + workTime;
|
|
|
operation.setStart(start);
|
|
|
operation.setFinish(finish);
|
|
|
+
|
|
|
+ operation.setExpectStartTime(DateUtil.format(new Date(operation.getStart()),"yyyy-MM-dd HH:mm:ss"));
|
|
|
+ operation.setExpectEndTime(DateUtil.format(new Date(operation.getFinish()),"yyyy-MM-dd HH:mm:ss"));
|
|
|
+
|
|
|
return true;
|
|
|
}
|
|
|
if (latterOp.getStart() < operation.getFinish()) {
|
|
@@ -129,6 +137,10 @@ public class AssignManager implements AssignManagerIface {
|
|
|
if (latterOp.getStart() - start >= workTime) {
|
|
|
operation.setStart(start);
|
|
|
operation.setFinish(start + workTime);
|
|
|
+
|
|
|
+ operation.setExpectStartTime(DateUtil.format(new Date(operation.getStart()),"yyyy-MM-dd HH:mm:ss"));
|
|
|
+ operation.setExpectEndTime(DateUtil.format(new Date(operation.getFinish()),"yyyy-MM-dd HH:mm:ss"));
|
|
|
+
|
|
|
return true;
|
|
|
} else {
|
|
|
return false;
|
|
@@ -154,6 +166,11 @@ public class AssignManager implements AssignManagerIface {
|
|
|
Operation latterOp = null;
|
|
|
tempOp.setStart(earlyStart);
|
|
|
tempOp.setFinish(earlyFinish);
|
|
|
+
|
|
|
+ tempOp.setExpectStartTime(DateUtil.format(new Date(tempOp.getStart()),"yyyy-MM-dd HH:mm:ss"));
|
|
|
+ tempOp.setExpectEndTime(DateUtil.format(new Date(tempOp.getFinish()),"yyyy-MM-dd HH:mm:ss"));
|
|
|
+
|
|
|
+
|
|
|
int findIndex = 0;
|
|
|
// 只有需要插空时才寻找空隙
|
|
|
if (insert) {
|
|
@@ -163,6 +180,11 @@ public class AssignManager implements AssignManagerIface {
|
|
|
Operation virOp = new Operation();
|
|
|
virOp.setStart(calcBeginDate);
|
|
|
virOp.setFinish(calcBeginDate);
|
|
|
+
|
|
|
+ virOp.setExpectStartTime(DateUtil.format(new Date(virOp.getStart()),"yyyy-MM-dd HH:mm:ss"));
|
|
|
+ virOp.setExpectEndTime(DateUtil.format(new Date(virOp.getFinish()),"yyyy-MM-dd HH:mm:ss"));
|
|
|
+
|
|
|
+
|
|
|
formerOp = virOp;
|
|
|
latterOp = machine.getQueueList().first();
|
|
|
}
|
|
@@ -170,11 +192,19 @@ public class AssignManager implements AssignManagerIface {
|
|
|
if (!findSpace) {
|
|
|
tempOp.setStart(latterOp.getFinish() > earlyStart ? latterOp.getFinish() : earlyStart);
|
|
|
tempOp.setFinish(DateUtil.offsetMinute(new DateTime(tempOp.getStart()),new Double(candidateProcess.getDuration()).intValue()).getTime());
|
|
|
+
|
|
|
+ tempOp.setExpectStartTime(DateUtil.format(new Date(tempOp.getStart()),"yyyy-MM-dd HH:mm:ss"));
|
|
|
+ tempOp.setExpectEndTime(DateUtil.format(new Date(tempOp.getFinish()),"yyyy-MM-dd HH:mm:ss"));
|
|
|
+
|
|
|
+
|
|
|
formerOp = latterOp;
|
|
|
latterOp = machine.getQueueList().higher(latterOp);
|
|
|
} else {
|
|
|
operation.setStart(tempOp.getStart());
|
|
|
operation.setFinish(DateUtil.offsetMinute(new DateTime(operation.getStart()),new Double(candidateProcess.getDuration()).intValue()).getTime());
|
|
|
+ operation.setExpectStartTime(DateUtil.format(new Date(operation.getStart()),"yyyy-MM-dd HH:mm:ss"));
|
|
|
+ operation.setExpectEndTime(DateUtil.format(new Date(operation.getFinish()),"yyyy-MM-dd HH:mm:ss"));
|
|
|
+
|
|
|
}
|
|
|
findIndex++;
|
|
|
}
|
|
@@ -185,6 +215,9 @@ public class AssignManager implements AssignManagerIface {
|
|
|
: operation.getEarlyStart();
|
|
|
operation.setStart(startTime);
|
|
|
operation.setFinish(DateUtil.offsetMinute(new DateTime(startTime),new Double(candidateProcess.getDuration()).intValue()).getTime());
|
|
|
+ operation.setExpectStartTime(DateUtil.format(new Date(operation.getStart()),"yyyy-MM-dd HH:mm:ss"));
|
|
|
+ operation.setExpectEndTime(DateUtil.format(new Date(operation.getFinish()),"yyyy-MM-dd HH:mm:ss"));
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|