订单甘特修改

parent 7c9fa3db
...@@ -1988,6 +1988,7 @@ private GlobalParam InitGlobalParam() ...@@ -1988,6 +1988,7 @@ private GlobalParam InitGlobalParam()
*/ */
public List<com.aps.entity.Gantt.ProductGanttVO> convertToProductGanttVO1(Chromosome scheduleChromosome) { public List<com.aps.entity.Gantt.ProductGanttVO> convertToProductGanttVO1(Chromosome scheduleChromosome) {
List<com.aps.entity.Gantt.ProductGanttVO> productGanttVOList = new ArrayList<>(); List<com.aps.entity.Gantt.ProductGanttVO> productGanttVOList = new ArrayList<>();
List<Entry> allOperations = scheduleChromosome.getAllOperations();
// 按产品ID和工单ID分组基因 // 按产品ID和工单ID分组基因
if (scheduleChromosome.getResult() != null) { if (scheduleChromosome.getResult() != null) {
...@@ -1999,17 +2000,22 @@ private GlobalParam InitGlobalParam() ...@@ -1999,17 +2000,22 @@ private GlobalParam InitGlobalParam()
com.aps.entity.Gantt.ProductGanttVO productGanttVO = new com.aps.entity.Gantt.ProductGanttVO(); com.aps.entity.Gantt.ProductGanttVO productGanttVO = new com.aps.entity.Gantt.ProductGanttVO();
GAScheduleResult firstGene = genes.get(0); GAScheduleResult firstGene = genes.get(0);
productGanttVO.setId(firstGene.getOrderId()); productGanttVO.setId(firstGene.getOrderId());
productGanttVO.setProductName("产品"+firstGene.getProductId()); // 默认值,实际应从订单数据获取 productGanttVO.setProductName(firstGene.getProductName());
productGanttVO.setProductType(0); productGanttVO.setProductType(0);
productGanttVO.setProductId(firstGene.getProductId()); productGanttVO.setProductId(firstGene.getProductId());
// 计算总数量(假设同一批次) // 计算总数量(假设同一批次)
productGanttVO.setQuantity(firstGene.getQuantity()); productGanttVO.setQuantity(firstGene.getQuantity());
productGanttVO.setCode("编号"+firstGene.getProductId()); // 默认值 productGanttVO.setCode(firstGene.getProductCode());
productGanttVO.setShopId(firstGene.getMachineId()); // 默认值 // productGanttVO.setShopId(firstGene.getMachineId());
productGanttVO.setShopName(firstGene.getMachineId()+"号线"); // 默认值 // productGanttVO.setShopName(firstGene.getMachineId()+"号线");
productGanttVO.setStatus("已发布"); productGanttVO.setStatus("已发布");
// productGanttVO.setHeaderId(firstGene.getProductId());
productGanttVO.setHeaderName("工艺"+firstGene.getProductId()); // 默认值 Entry entry = allOperations.stream()
.filter(t -> t.getId() == firstGene.getOperationId()).findFirst().orElse(null);
if (entry != null) {
productGanttVO.setHeaderId(entry.getRoutingId());
productGanttVO.setHeaderName(entry.getRoutingName());
}
// 计算开始和结束时间 // 计算开始和结束时间
int minStartTime = genes.stream() int minStartTime = genes.stream()
...@@ -2031,35 +2037,51 @@ private GlobalParam InitGlobalParam() ...@@ -2031,35 +2037,51 @@ private GlobalParam InitGlobalParam()
for (int i = 0; i < genes.size(); i++) { for (int i = 0; i < genes.size(); i++) {
GAScheduleResult gene = genes.get(i); GAScheduleResult gene = genes.get(i);
Entry entry1 = allOperations.stream()
.filter(t -> t.getId() == gene.getOperationId()).findFirst().orElse(null);
com.aps.entity.Gantt.TaskVO taskVO = new com.aps.entity.Gantt.TaskVO(); com.aps.entity.Gantt.TaskVO taskVO = new com.aps.entity.Gantt.TaskVO();
taskVO.setId(String.valueOf(gene.getOperationId())); // 生成唯一ID taskVO.setId(String.valueOf(gene.getOperationId()));
taskVO.setPlanId(String.valueOf(orderId)); taskVO.setPlanId(gene.getOrderId());
taskVO.setProductType(0); taskVO.setPlanCode(gene.getOrderCode());
taskVO.setProductName("产品"+gene.getProductId()); taskVO.setProductName(gene.getProductName());
taskVO.setProductId(String.valueOf(gene.getProductId())); taskVO.setProductId(gene.getProductId());
taskVO.setProductCode(gene.getProductCode());
taskVO.setQuantity(gene.getQuantity()); taskVO.setQuantity(gene.getQuantity());
taskVO.setStart(scheduleChromosome.getBaseTime().plusSeconds(gene.getStartTime())); taskVO.setStart(scheduleChromosome.getBaseTime().plusSeconds(gene.getStartTime()));
taskVO.setEnd(scheduleChromosome.getBaseTime().plusSeconds(gene.getEndTime())); taskVO.setEnd(scheduleChromosome.getBaseTime().plusSeconds(gene.getEndTime()));
taskVO.setSetup(gene.getPreTime()); // 默认值 taskVO.setSetup(gene.getPreTime());
taskVO.setTeardown(gene.getTeardownTime()); // 默认值 taskVO.setTeardown(gene.getTeardownTime());
taskVO.setEquipChange(gene.getChangeOverTime()); // 默认值 taskVO.setEquipChange(gene.getChangeOverTime());
taskVO.setEquipCooling(0); // 默认值 taskVO.setEquipCooling(0);
// taskVO.setEquipType("PTT-" + (i+1) + "-" + gene.getOperationName().toUpperCase().substring(0, Math.min(3, gene.getOperationName().length()))); taskVO.setLocked(gene.isIsLocked());
// taskVO.setEquipName(gene.getOperationName());
taskVO.setDuration(calculateDuration( if (entry1 != null) {
scheduleChromosome.getBaseTime().plusMinutes(gene.getStartTime()), taskVO.setSeq(Math.toIntExact(entry1.getTaskSeq()));
scheduleChromosome.getBaseTime().plusMinutes(gene.getEndTime()))); taskVO.setSeqName(entry1.getRoutingDetailName());
taskVO.setEquipId(gene.getMachineId()); // 生成设备ID }
if (gene.getDesignatedStartTime()>0) {
taskVO.setDesignatedStartTime(scheduleChromosome.getBaseTime().plusSeconds(gene.getDesignatedStartTime()));
} else {
taskVO.setDesignatedStartTime(null);
}
taskVO.setDuration(0);
taskVO.setEquipId(gene.getMachineId());
taskVO.setShopId(gene.getMachineId()); taskVO.setShopId(gene.getMachineId());
taskVO.setShopName(gene.getMachineId()+"车间"); taskVO.setShopName(gene.getMachineId()+"车间");
taskVO.setStatus(0); taskVO.setStatus(0);
// taskVO.setDetailId((long) gene.getProductId() * 1000 + gene.getOperationId());
// taskVO.setHeaderId(gene.getProductId()); if (entry1 != null) {
taskVO.setHeaderName("工艺"+gene.getProductId()); taskVO.setDetailId(entry1.getRoutingDetailId());
// taskVO.setSeq(gene.getSequenceId()); taskVO.setHeaderId(entry1.getRoutingId());
// taskVO.setSeqName("工序名称"+gene.getSequenceId()); taskVO.setHeaderName(entry1.getRoutingName());
// taskVO.setAbsoluteStart(scheduleChromosome.getBaseTime().plusMinutes(gene.getStartTime())); }
// taskVO.setAbsoluteEnd(scheduleChromosome.getBaseTime().plusMinutes(gene.getEndTime()));
taskVO.setProcessingTime(gene.getProcessingTime());
taskVO.setAbsolutePreparationTime(gene.getTeardownTime());
taskVOList.add(taskVO); taskVOList.add(taskVO);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment