物料需求

parent bf350b40
...@@ -81,7 +81,7 @@ public class LanuchController { ...@@ -81,7 +81,7 @@ public class LanuchController {
// 在这里可以添加时间格式转换逻辑 // 在这里可以添加时间格式转换逻辑
// 根据不同格式解析时间字符串 // 根据不同格式解析时间字符串
Chromosome scheduleChromosomes = planResultService.schedule(sceneId); Chromosome scheduleChromosomes = planResultService.execute2(sceneId);
return R.ok("运算完成"); return R.ok("运算完成");
} }
......
...@@ -34,7 +34,7 @@ public class MaintenanceWindowController { ...@@ -34,7 +34,7 @@ public class MaintenanceWindowController {
mediaType = "application/json", mediaType = "application/json",
examples = @io.swagger.v3.oas.annotations.media.ExampleObject( examples = @io.swagger.v3.oas.annotations.media.ExampleObject(
name = "添加维护窗口示例", name = "添加维护窗口示例",
value = "{\n \"sceneId\": \"B571EF6682DB463AB2977B1055A74112\",\n \"machineId\": 3402,\n \"maintenanceWindow\": {\n \"id\": \"maintenance-001\",\n \"startTime\": \"2025-11-03T07:36:00.000Z\",\n \"endTime\": \"2025-11-03T09:36:00.000Z\",\n \"reason\": \"定期维护\"\n }\n}" value = "{\n \"sceneId\": \"B571EF6682DB463AB2977B1055A74112\",\n \"machineId\": 3402,\n \"maintenanceWindow\": {\n \"startTime\": \"2025-11-03T07:36:00.000Z\",\n \"endTime\": \"2025-11-03T09:36:00.000Z\",\n \"reason\": \"定期维护\"\n }\n}"
) )
) )
) )
...@@ -69,6 +69,29 @@ public class MaintenanceWindowController { ...@@ -69,6 +69,29 @@ public class MaintenanceWindowController {
return R.ok("删除成功"); return R.ok("删除成功");
} }
@PostMapping("/batchDelete")
@Operation(summary = "批量删除维护窗口", description = "批量删除指定机器的维护窗口",
requestBody = @io.swagger.v3.oas.annotations.parameters.RequestBody(
description = "批量删除维护窗口请求参数",
content = @io.swagger.v3.oas.annotations.media.Content(
mediaType = "application/json",
examples = @io.swagger.v3.oas.annotations.media.ExampleObject(
name = "批量删除维护窗口示例",
value = "{\n \"sceneId\": \"scene001\",\n \"machineId\": 1,\n \"maintenanceIds\": [\"maint001\", \"maint002\", \"maint003\"]\n}"
)
)
)
)
public R<String> delMaintenanceWindowBatch(@RequestBody Map<String, Object> params) {
String sceneId = ParamValidator.getString(params, "sceneId", "场景ID");
Long machineId = ParamValidator.getLong(params, "machineId", "机器ID");
List<String> maintenanceIds = (List<String>) params.get("maintenanceIds");
Chromosome result = planResultService.DelMaintenanceWindowBatch(sceneId, machineId, maintenanceIds);
return R.ok("批量删除成功");
}
@PostMapping("/get") @PostMapping("/get")
@Operation(summary = "获取维护窗口", description = "获取指定机器的维护窗口列表", @Operation(summary = "获取维护窗口", description = "获取指定机器的维护窗口列表",
requestBody = @io.swagger.v3.oas.annotations.parameters.RequestBody( requestBody = @io.swagger.v3.oas.annotations.parameters.RequestBody(
......
...@@ -6,6 +6,8 @@ import com.aps.entity.basic.Machine; ...@@ -6,6 +6,8 @@ import com.aps.entity.basic.Machine;
import com.aps.entity.basic.Order; import com.aps.entity.basic.Order;
import lombok.Data; import lombok.Data;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
......
package com.aps.entity.Algorithm; package com.aps.entity.Algorithm;
import com.aps.entity.basic.MaterialType; import com.aps.entity.basic.MaterialType;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
...@@ -16,7 +17,7 @@ public class OrderMaterialRequirement { ...@@ -16,7 +17,7 @@ public class OrderMaterialRequirement {
private String orderId; private String orderId;
private int operationId; private int operationId;
private String childorderId; private String childOrderId;
private String materialId; private String materialId;
private String materialCode; private String materialCode;
private String materialName; private String materialName;
...@@ -55,6 +56,7 @@ public class OrderMaterialRequirement { ...@@ -55,6 +56,7 @@ public class OrderMaterialRequirement {
/** /**
* 层级 * 层级
*/ */
@TableField(exist = false)
private int level; private int level;
/** /**
...@@ -80,12 +82,13 @@ public class OrderMaterialRequirement { ...@@ -80,12 +82,13 @@ public class OrderMaterialRequirement {
/** /**
* 创建或使用的半成品订单ID * 创建或使用的半成品订单ID
*/ */
@TableField(exist = false)
private List<Integer> productOrderID=new ArrayList<>(); private List<Integer> productOrderID=new ArrayList<>();
/** /**
* 检验周期 * 检验周期
*/ */
private Long CkeckLeadTime; private Long checkLeadTime;
@TableField(exist = false)
private List<OrderMaterialRequirement> replaceMaterial=new ArrayList<>(); private List<OrderMaterialRequirement> replaceMaterial=new ArrayList<>();
} }
package com.aps.entity.basic; package com.aps.entity.basic;
import com.aps.entity.Algorithm.OperationDependency; import com.aps.entity.Algorithm.OperationDependency;
import com.aps.entity.RoutingDiscreteParam; import com.aps.entity.RoutingDiscreteParam;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
...@@ -35,6 +37,8 @@ public class Entry { ...@@ -35,6 +37,8 @@ public class Entry {
*/ */
public String SceneId ; public String SceneId ;
private Integer routingId; private Integer routingId;
private String routingCode;
private String routingName;
private Long routingDetailId; private Long routingDetailId;
private Long taskSeq; private Long taskSeq;
private String routingDetailName; private String routingDetailName;
......
package com.aps.mapper;
import com.aps.entity.Algorithm.OrderMaterialRequirement;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 订单物料需求表 Mapper 接口
* </p>
*
* @author MyBatis-Plus
* @since 2026-01-05
*/
public interface OrderMaterialRequirementMapper extends BaseMapper<OrderMaterialRequirement> {
}
...@@ -386,17 +386,7 @@ if(finishedOrder==null||finishedOrder.size()==0) ...@@ -386,17 +386,7 @@ if(finishedOrder==null||finishedOrder.size()==0)
.orElse(null); .orElse(null);
if (lastGeneOnMachine != null) { if (lastGeneOnMachine != null) {
// 设备上已有任务,当前任务必须在设备可用后开始
// 设备可用时间 = 前一个任务的主处理结束时间(后处理不占用设备)
int machineAvailableTime = lastGeneOnMachine.getEndTime(); int machineAvailableTime = lastGeneOnMachine.getEndTime();
if (setupTime > 0) { if (setupTime > 0) {
if (_globalParam.is_smoothSetup()) { if (_globalParam.is_smoothSetup()) {
...@@ -513,6 +503,8 @@ if(finishedOrder==null||finishedOrder.size()==0) ...@@ -513,6 +503,8 @@ if(finishedOrder==null||finishedOrder.size()==0)
result.setProcessingTime(processingTimeTotal); result.setProcessingTime(processingTimeTotal);
result.setGeneDetails(geneDetails); result.setGeneDetails(geneDetails);
// System.out.println("huanxingshijian="+result.getChangeOverTime()+"-------------------"+result.getOrderId()+"--------"+result.getExecId()+"---------"+prev.getOrderId()+"--------"+prev.getExecId());
chromosome.getResult().add(result); chromosome.getResult().add(result);
return endTime; return endTime;
} }
...@@ -625,9 +617,9 @@ if(finishedOrder==null||finishedOrder.size()==0) ...@@ -625,9 +617,9 @@ if(finishedOrder==null||finishedOrder.size()==0)
.collect(Collectors.toList()); .collect(Collectors.toList());
if (!oe.isEmpty()) { if (!oe.isEmpty()) {
int CkeckLeadTime=0; int CkeckLeadTime=0;
if(sf.getCkeckLeadTime()!=null) if(sf.getCheckLeadTime()!=null)
{ {
CkeckLeadTime=(int) (sf.getCkeckLeadTime()*24*60); CkeckLeadTime=(int) (sf.getCheckLeadTime()*24*60);
} }
sfTime1 = oe.stream().mapToInt(GAScheduleResult::getEndTime).max().orElse(0) sfTime1 = oe.stream().mapToInt(GAScheduleResult::getEndTime).max().orElse(0)
+CkeckLeadTime; +CkeckLeadTime;
...@@ -850,9 +842,9 @@ if(finishedOrder==null||finishedOrder.size()==0) ...@@ -850,9 +842,9 @@ if(finishedOrder==null||finishedOrder.size()==0)
DiscreteParameterMatrixService service = SpringContextUtil.getBean(DiscreteParameterMatrixService.class); DiscreteParameterMatrixService service = SpringContextUtil.getBean(DiscreteParameterMatrixService.class);
if (service != null) { if (service != null) {
double discreteParameterMatrixValue = service.getDiscreteParameterMatrixValue(prev, operation); double discreteParameterMatrixValue = service.getDiscreteParameterMatrixValue( operation,prev);
setupTime = (int) discreteParameterMatrixValue; setupTime = (int) discreteParameterMatrixValue;
operation.setChangeLineTime(discreteParameterMatrixValue);
if (operation.getOrderId()=="a0e61488-0647-4f8e-a27c-cfed9cbbba52"){ if (operation.getOrderId()=="a0e61488-0647-4f8e-a27c-cfed9cbbba52"){
...@@ -865,7 +857,7 @@ if(finishedOrder==null||finishedOrder.size()==0) ...@@ -865,7 +857,7 @@ if(finishedOrder==null||finishedOrder.size()==0)
} }
operation.setChangeLineTime(setupTime);
System.out.println("换型时间111"+setupTime); System.out.println("换型时间111"+setupTime);
......
...@@ -648,7 +648,7 @@ if(routingIds.size()==0) ...@@ -648,7 +648,7 @@ if(routingIds.size()==0)
OrderMaterialRequirement orderMaterial = new OrderMaterialRequirement(); OrderMaterialRequirement orderMaterial = new OrderMaterialRequirement();
orderMaterial.setOrderId(orderId); orderMaterial.setOrderId(orderId);
orderMaterial.setOperationId(operation.getId()); orderMaterial.setOperationId(operation.getId());
orderMaterial.setChildorderId(StringUtils.isBlank(childorderId) ? orderId : childorderId); orderMaterial.setChildOrderId(StringUtils.isBlank(childorderId) ? orderId : childorderId);
orderMaterial.setRequiredQuantity(allneeded); orderMaterial.setRequiredQuantity(allneeded);
if (material == null) { if (material == null) {
material = _materials.stream() material = _materials.stream()
...@@ -665,7 +665,7 @@ if(routingIds.size()==0) ...@@ -665,7 +665,7 @@ if(routingIds.size()==0)
orderMaterial.setMaterialName(material.getName()); orderMaterial.setMaterialName(material.getName());
orderMaterial.setMaterialTypeName(material.getMaterialTypeName()); orderMaterial.setMaterialTypeName(material.getMaterialTypeName());
orderMaterial.setMaterialId(material.getId()); orderMaterial.setMaterialId(material.getId());
orderMaterial.setCkeckLeadTime(material.getCkeckLeadTime()); orderMaterial.setCheckLeadTime(material.getCkeckLeadTime());
// 扣减现有库存 // 扣减现有库存
......
...@@ -550,7 +550,8 @@ public class RoutingDataService { ...@@ -550,7 +550,8 @@ public class RoutingDataService {
.collect(Collectors.toList()); .collect(Collectors.toList());
for (EquipMaintainTask equipMaintainTask : EquipMaintainTasks1) { for (EquipMaintainTask equipMaintainTask : EquipMaintainTasks1) {
MaintenanceWindow maintenanceWindow=new MaintenanceWindow(); MaintenanceWindow maintenanceWindow=new MaintenanceWindow();
maintenanceWindow.setId(equipMaintainTask.getId().toString()); // maintenanceWindow.setId(equipMaintainTask.getId().toString());
maintenanceWindow.setId(UUID.randomUUID().toString());
maintenanceWindow.setStartTime(equipMaintainTask.getPlanStartTime()); maintenanceWindow.setStartTime(equipMaintainTask.getPlanStartTime());
maintenanceWindow.setEndTime(equipMaintainTask.getPlanFinishTime()); maintenanceWindow.setEndTime(equipMaintainTask.getPlanFinishTime());
maintenanceWindow.setEquipCode(equipMaintainTask.getEquipCode()); maintenanceWindow.setEquipCode(equipMaintainTask.getEquipCode());
...@@ -632,7 +633,10 @@ public class RoutingDataService { ...@@ -632,7 +633,10 @@ public class RoutingDataService {
.collect(Collectors.toList()); .collect(Collectors.toList());
for (EquipMaintainTask equipMaintainTask : EquipMaintainTasks1) { for (EquipMaintainTask equipMaintainTask : EquipMaintainTasks1) {
MaintenanceWindow maintenanceWindow=new MaintenanceWindow(); MaintenanceWindow maintenanceWindow=new MaintenanceWindow();
maintenanceWindow.setId(equipMaintainTask.getId().toString());
maintenanceWindow.setId(UUID.randomUUID().toString());
// maintenanceWindow.setId(equipMaintainTask.getId().toString());
maintenanceWindow.setStartTime(equipMaintainTask.getPlanStartTime()); maintenanceWindow.setStartTime(equipMaintainTask.getPlanStartTime());
maintenanceWindow.setEndTime(equipMaintainTask.getPlanFinishTime()); maintenanceWindow.setEndTime(equipMaintainTask.getPlanFinishTime());
maintenanceWindow.setEquipCode(equipMaintainTask.getEquipCode()); maintenanceWindow.setEquipCode(equipMaintainTask.getEquipCode());
......
...@@ -155,6 +155,11 @@ Integer newMachineId1=newMachineId.intValue(); ...@@ -155,6 +155,11 @@ Integer newMachineId1=newMachineId.intValue();
.findFirst().orElse(null); .findFirst().orElse(null);
if(machine!=null) if(machine!=null)
{ {
// 检查时间是否与现有维护窗口重复
if (isTimeOverlap(machine.getMaintenanceWindows(), maintenanceWindow)) {
throw new RuntimeException("维修时间已存在");
}
maintenanceWindow.setEquipCode(machine.getCode()); maintenanceWindow.setEquipCode(machine.getCode());
maintenanceWindow.setEquipName(machine.getName()); maintenanceWindow.setEquipName(machine.getName());
...@@ -175,6 +180,27 @@ Integer newMachineId1=newMachineId.intValue(); ...@@ -175,6 +180,27 @@ Integer newMachineId1=newMachineId.intValue();
} }
/**
* 检查新维护窗口是否与现有维护窗口时间重叠
* @param existingWindows 现有维护窗口列表
* @param newWindow 新维护窗口
* @return 如果时间重叠返回true,否则返回false
*/
private boolean isTimeOverlap(List<MaintenanceWindow> existingWindows, MaintenanceWindow newWindow) {
if (existingWindows == null || existingWindows.isEmpty()) {
return false;
}
for (MaintenanceWindow existingWindow : existingWindows) {
// 检查时间是否重叠:新窗口开始时间 < 现有窗口结束时间 && 新窗口结束时间 > 现有窗口开始时间
if (newWindow.getStartTime().isEqual(existingWindow.getEndTime()) &&
newWindow.getEndTime().isEqual(existingWindow.getStartTime())) {
return true;
}
}
return false;
}
public List<MaintenanceWindow> GetMaintenanceWindow(Chromosome chromosome,Long machineId) { public List<MaintenanceWindow> GetMaintenanceWindow(Chromosome chromosome,Long machineId) {
if(machineId==0) if(machineId==0)
...@@ -214,11 +240,15 @@ Integer newMachineId1=newMachineId.intValue(); ...@@ -214,11 +240,15 @@ Integer newMachineId1=newMachineId.intValue();
.filter(i -> maintenanceId.equals(maintenanceWindows.get(i).getId())) .filter(i -> maintenanceId.equals(maintenanceWindows.get(i).getId()))
.findFirst(); .findFirst();
machine.getMaintenanceWindows().remove(index); if (index.isPresent()) {
machine.getMaintenanceWindows().remove(index.getAsInt());
MachineSchedulerService machineScheduler = new MachineSchedulerService( MachineSchedulerService machineScheduler = new MachineSchedulerService(
chromosome.getBaseTime()); chromosome.getBaseTime());
MachineTimeline machineTimeline = machineScheduler.getOrCreateTimeline(machine); MachineTimeline machineTimeline = machineScheduler.getOrCreateTimeline(machine);
machine.setAvailability(machineTimeline.getSegments()); machine.setAvailability(machineTimeline.getSegments());
} else {
throw new RuntimeException("未找到维护窗口");
}
}else { }else {
...@@ -229,6 +259,43 @@ Integer newMachineId1=newMachineId.intValue(); ...@@ -229,6 +259,43 @@ Integer newMachineId1=newMachineId.intValue();
} }
/**
* 批量删除维护窗口
* @param chromosome 染色体对象
* @param machineId 机器ID
* @param maintenanceIds 要删除的维护窗口ID列表
* @param globalParam 全局参数
*/
public void DelMaintenanceWindowBatch(Chromosome chromosome, Long machineId, List<String> maintenanceIds, GlobalParam globalParam) {
Machine machine = chromosome.getInitMachines().stream().filter(t -> t.getId() == machineId)
.findFirst().orElse(null);
if (machine != null) {
List<MaintenanceWindow> maintenanceWindows = machine.getMaintenanceWindows();
if (maintenanceWindows != null && maintenanceIds != null && !maintenanceIds.isEmpty()) {
// 过滤出存在的维护窗口ID
List<String> existingIds = maintenanceIds.stream()
.filter(id -> maintenanceWindows.stream().anyMatch(window -> id.equals(window.getId())))
.collect(Collectors.toList());
if (existingIds.size() != maintenanceIds.size()) {
throw new RuntimeException("部分维护窗口未找到");
}
// 根据ID批量删除维护窗口
maintenanceWindows.removeIf(window -> maintenanceIds.contains(window.getId()));
MachineSchedulerService machineScheduler = new MachineSchedulerService(
chromosome.getBaseTime());
MachineTimeline machineTimeline = machineScheduler.getOrCreateTimeline(machine);
machine.setAvailability(machineTimeline.getSegments());
}
} else {
throw new RuntimeException("未找到设备");
}
redecode(chromosome, chromosome.getBaseTime(), globalParam);
}
public void SpiltOperation(Chromosome chromosome, int opId,Double[] splitCounts, GlobalParam globalParam) public void SpiltOperation(Chromosome chromosome, int opId,Double[] splitCounts, GlobalParam globalParam)
{ {
List<Entry> allOperations = chromosome.getAllOperations(); List<Entry> allOperations = chromosome.getAllOperations();
......
package com.aps.service;
import com.aps.entity.Algorithm.OrderMaterialRequirement;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 订单物料需求表 服务类
* </p>
*
* @author MyBatis-Plus
* @since 2026-01-05
*/
public interface OrderMaterialRequirementService extends IService<OrderMaterialRequirement> {
}
...@@ -6,6 +6,7 @@ import com.aps.common.util.SnowFlackIdWorker; ...@@ -6,6 +6,7 @@ import com.aps.common.util.SnowFlackIdWorker;
import com.aps.entity.*; import com.aps.entity.*;
import com.aps.entity.Algorithm.Chromosome; import com.aps.entity.Algorithm.Chromosome;
import com.aps.entity.Algorithm.GAScheduleResult; import com.aps.entity.Algorithm.GAScheduleResult;
import com.aps.entity.Algorithm.OrderMaterialRequirement;
import com.aps.entity.basic.Entry; import com.aps.entity.basic.Entry;
import com.aps.entity.basic.Order; import com.aps.entity.basic.Order;
import com.aps.mapper.RoutingDetailMapper; import com.aps.mapper.RoutingDetailMapper;
...@@ -85,6 +86,9 @@ public class LanuchServiceImpl implements LanuchService { ...@@ -85,6 +86,9 @@ public class LanuchServiceImpl implements LanuchService {
Equiptype1Service equiptype1Service; Equiptype1Service equiptype1Service;
@Autowired @Autowired
PlanResourceService planResourceService; PlanResourceService planResourceService;
@Autowired
OrderMaterialRequirementService orderMaterialRequirementService;
/** /**
* 生成场景数据 * 生成场景数据
* *
...@@ -246,7 +250,7 @@ public class LanuchServiceImpl implements LanuchService { ...@@ -246,7 +250,7 @@ public class LanuchServiceImpl implements LanuchService {
mesOrder.setTaskType(prodLaunchOrder.getFinishOrderId() != null ? "半成品" : "成品"); mesOrder.setTaskType(prodLaunchOrder.getFinishOrderId() != null ? "半成品" : "成品");
mesOrderList.add(mesOrder); mesOrderList.add(mesOrder);
} }
mesOrderService.remove(new LambdaQueryWrapper<>());
boolean saved = mesOrderService.saveBatch(mesOrderList); boolean saved = mesOrderService.saveBatch(mesOrderList);
if (saved) { if (saved) {
...@@ -288,14 +292,27 @@ public class LanuchServiceImpl implements LanuchService { ...@@ -288,14 +292,27 @@ public class LanuchServiceImpl implements LanuchService {
dispatches.add(dispatch); dispatches.add(dispatch);
} }
dispatchService.remove(new LambdaQueryWrapper<>());
// 批量保存到数据库 // 批量保存到数据库
boolean savedDispatch = dispatchService.saveOrUpdateBatch(dispatches); boolean savedDispatch = dispatchService.saveOrUpdateBatch(dispatches);
List<OrderMaterialRequirement> orderMaterials = chromosome.getOrderMaterials();
// 先删除表中所有数据
orderMaterialRequirementService.remove(new LambdaQueryWrapper<>());
// 再批量插入新数据
orderMaterialRequirementService.saveBatch(orderMaterials);
if (savedDispatch) { if (savedDispatch) {
return R.ok("计划下发成功,共处理 " + dispatches.size() + " 条记录"); return R.ok("计划下发成功,共处理 " + dispatches.size() + " 条记录");
} else { } else {
throw new RuntimeException("保存到数据库失败"); throw new RuntimeException("保存到数据库失败");
} }
} }
/** /**
......
package com.aps.service.impl;
import com.aps.entity.Algorithm.OrderMaterialRequirement;
import com.aps.entity.ProdLaunchOrder;
import com.aps.mapper.OrderMaterialRequirementMapper;
import com.aps.mapper.ProdLaunchOrderMapper;
import com.aps.service.OrderMaterialRequirementService;
import com.aps.service.ProdLaunchOrderService;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 订单物料需求表 服务类
* </p>
*
* @author MyBatis-Plus
* @since 2026-01-05
*/
@Service
public class OrderMaterialRequirementServiceImpl extends ServiceImpl<OrderMaterialRequirementMapper, OrderMaterialRequirement> implements OrderMaterialRequirementService {
}
...@@ -558,6 +558,19 @@ order.setDueDate(LocalDateTime.of(2025, 12, 1,0,0,0)); ...@@ -558,6 +558,19 @@ order.setDueDate(LocalDateTime.of(2025, 12, 1,0,0,0));
return chromosome; return chromosome;
} }
public Chromosome DelMaintenanceWindowBatch(String SceneId, Long machineId, List<String> maintenanceIds) {
GlobalParam globalParam = new GlobalParam();
Chromosome chromosome = _sceneService.loadChromosomeFromFile(SceneId);
ScheduleOperationService ScheduleOperation = new ScheduleOperationService();
ScheduleOperation.DelMaintenanceWindowBatch(chromosome, machineId, maintenanceIds, globalParam);
// WriteScheduleSummary(chromosome);
_sceneService.saveChromosomeToFile(chromosome, SceneId);
return chromosome;
}
public List<MaintenanceWindow> GetMaintenanceWindow(String SceneId, Long machineId, MaintenanceWindow maintenanceWindow) { public List<MaintenanceWindow> GetMaintenanceWindow(String SceneId, Long machineId, MaintenanceWindow maintenanceWindow) {
...@@ -1504,7 +1517,7 @@ private GlobalParam InitGlobalParam() ...@@ -1504,7 +1517,7 @@ private GlobalParam InitGlobalParam()
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(888); // 默认值 taskVO.setEquipCooling(0); // 默认值
taskVO.setEquipType(resourceGanttVO.getType()); taskVO.setEquipType(resourceGanttVO.getType());
taskVO.setEquipName(resourceGanttVO.getName()); taskVO.setEquipName(resourceGanttVO.getName());
taskVO.setLocked(gene.isIsLocked()); // 默认值 taskVO.setLocked(gene.isIsLocked()); // 默认值
...@@ -1517,7 +1530,7 @@ private GlobalParam InitGlobalParam() ...@@ -1517,7 +1530,7 @@ private GlobalParam InitGlobalParam()
// scheduleChromosome.getBaseTime().plusMinutes(gene.getStartTime()), // scheduleChromosome.getBaseTime().plusMinutes(gene.getStartTime()),
// scheduleChromosome.getBaseTime().plusMinutes(gene.getEndTime()))); // 计算持续时间 // scheduleChromosome.getBaseTime().plusMinutes(gene.getEndTime()))); // 计算持续时间
taskVO.setDuration(888); // taskVO.setDuration(0); //
taskVO.setEquipId(machine.getId()); taskVO.setEquipId(machine.getId());
taskVO.setShopId(machine.getId()); taskVO.setShopId(machine.getId());
taskVO.setShopName(resourceGanttVO.getShopName()); taskVO.setShopName(resourceGanttVO.getShopName());
...@@ -1721,7 +1734,7 @@ private GlobalParam InitGlobalParam() ...@@ -1721,7 +1734,7 @@ private GlobalParam InitGlobalParam()
.collect(Collectors.toList()); .collect(Collectors.toList());
for (EquipMaintainTask equipMaintainTask : EquipMaintainTasks1) { for (EquipMaintainTask equipMaintainTask : EquipMaintainTasks1) {
MaintenanceWindow maintenanceWindow=new MaintenanceWindow(); MaintenanceWindow maintenanceWindow=new MaintenanceWindow();
maintenanceWindow.setId(equipMaintainTask.getId().toString()); maintenanceWindow.setId(UUID.randomUUID().toString());
maintenanceWindow.setStartTime(equipMaintainTask.getPlanStartTime()); maintenanceWindow.setStartTime(equipMaintainTask.getPlanStartTime());
maintenanceWindow.setEndTime(equipMaintainTask.getPlanFinishTime()); maintenanceWindow.setEndTime(equipMaintainTask.getPlanFinishTime());
maintenanceWindow.setReason(""); maintenanceWindow.setReason("");
......
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