订单甘特修改

parent 7c9fa3db
......@@ -1988,6 +1988,7 @@ private GlobalParam InitGlobalParam()
*/
public List<com.aps.entity.Gantt.ProductGanttVO> convertToProductGanttVO1(Chromosome scheduleChromosome) {
List<com.aps.entity.Gantt.ProductGanttVO> productGanttVOList = new ArrayList<>();
List<Entry> allOperations = scheduleChromosome.getAllOperations();
// 按产品ID和工单ID分组基因
if (scheduleChromosome.getResult() != null) {
......@@ -1999,17 +2000,22 @@ private GlobalParam InitGlobalParam()
com.aps.entity.Gantt.ProductGanttVO productGanttVO = new com.aps.entity.Gantt.ProductGanttVO();
GAScheduleResult firstGene = genes.get(0);
productGanttVO.setId(firstGene.getOrderId());
productGanttVO.setProductName("产品"+firstGene.getProductId()); // 默认值,实际应从订单数据获取
productGanttVO.setProductName(firstGene.getProductName());
productGanttVO.setProductType(0);
productGanttVO.setProductId(firstGene.getProductId());
// 计算总数量(假设同一批次)
productGanttVO.setQuantity(firstGene.getQuantity());
productGanttVO.setCode("编号"+firstGene.getProductId()); // 默认值
productGanttVO.setShopId(firstGene.getMachineId()); // 默认值
productGanttVO.setShopName(firstGene.getMachineId()+"号线"); // 默认值
productGanttVO.setCode(firstGene.getProductCode());
// productGanttVO.setShopId(firstGene.getMachineId());
// productGanttVO.setShopName(firstGene.getMachineId()+"号线");
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()
......@@ -2031,35 +2037,51 @@ private GlobalParam InitGlobalParam()
for (int i = 0; i < genes.size(); 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();
taskVO.setId(String.valueOf(gene.getOperationId())); // 生成唯一ID
taskVO.setPlanId(String.valueOf(orderId));
taskVO.setProductType(0);
taskVO.setProductName("产品"+gene.getProductId());
taskVO.setProductId(String.valueOf(gene.getProductId()));
taskVO.setId(String.valueOf(gene.getOperationId()));
taskVO.setPlanId(gene.getOrderId());
taskVO.setPlanCode(gene.getOrderCode());
taskVO.setProductName(gene.getProductName());
taskVO.setProductId(gene.getProductId());
taskVO.setProductCode(gene.getProductCode());
taskVO.setQuantity(gene.getQuantity());
taskVO.setStart(scheduleChromosome.getBaseTime().plusSeconds(gene.getStartTime()));
taskVO.setEnd(scheduleChromosome.getBaseTime().plusSeconds(gene.getEndTime()));
taskVO.setSetup(gene.getPreTime()); // 默认值
taskVO.setTeardown(gene.getTeardownTime()); // 默认值
taskVO.setEquipChange(gene.getChangeOverTime()); // 默认值
taskVO.setEquipCooling(0); // 默认值
// taskVO.setEquipType("PTT-" + (i+1) + "-" + gene.getOperationName().toUpperCase().substring(0, Math.min(3, gene.getOperationName().length())));
// taskVO.setEquipName(gene.getOperationName());
taskVO.setDuration(calculateDuration(
scheduleChromosome.getBaseTime().plusMinutes(gene.getStartTime()),
scheduleChromosome.getBaseTime().plusMinutes(gene.getEndTime())));
taskVO.setEquipId(gene.getMachineId()); // 生成设备ID
taskVO.setSetup(gene.getPreTime());
taskVO.setTeardown(gene.getTeardownTime());
taskVO.setEquipChange(gene.getChangeOverTime());
taskVO.setEquipCooling(0);
taskVO.setLocked(gene.isIsLocked());
if (entry1 != null) {
taskVO.setSeq(Math.toIntExact(entry1.getTaskSeq()));
taskVO.setSeqName(entry1.getRoutingDetailName());
}
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.setShopName(gene.getMachineId()+"车间");
taskVO.setStatus(0);
// taskVO.setDetailId((long) gene.getProductId() * 1000 + gene.getOperationId());
// taskVO.setHeaderId(gene.getProductId());
taskVO.setHeaderName("工艺"+gene.getProductId());
// taskVO.setSeq(gene.getSequenceId());
// taskVO.setSeqName("工序名称"+gene.getSequenceId());
// taskVO.setAbsoluteStart(scheduleChromosome.getBaseTime().plusMinutes(gene.getStartTime()));
// taskVO.setAbsoluteEnd(scheduleChromosome.getBaseTime().plusMinutes(gene.getEndTime()));
if (entry1 != null) {
taskVO.setDetailId(entry1.getRoutingDetailId());
taskVO.setHeaderId(entry1.getRoutingId());
taskVO.setHeaderName(entry1.getRoutingName());
}
taskVO.setProcessingTime(gene.getProcessingTime());
taskVO.setAbsolutePreparationTime(gene.getTeardownTime());
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