Commit f465ed23 authored by Tong Li's avatar Tong Li

Merge remote-tracking branch 'origin/tl'

parents e6d1ee93 dbe81dd1
......@@ -6,6 +6,7 @@ import com.aps.entity.Algorithm.IDAndChildID.GroupResult;
import com.aps.entity.Algorithm.IDAndChildID.NodeInfo;
import com.aps.entity.basic.*;
import com.aps.service.plan.MachineSchedulerService;
import com.aps.service.plan.PlanResultService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.context.annotation.ScopeMetadata;
......@@ -25,9 +26,12 @@ public class ScheduleOperationService {
private MaterialRequirementService materialRequirementService;
private PlanResultService planResultService;
public ScheduleOperationService(MaterialRequirementService _materialRequirementService) {
public ScheduleOperationService(MaterialRequirementService _materialRequirementService,PlanResultService _planResultService) {
materialRequirementService=_materialRequirementService;
planResultService=_planResultService;
}
/**
......@@ -1215,6 +1219,21 @@ if(targetOp.getSequence()>1) {
*/
public void redecode(Chromosome chromosome,LocalDateTime baseTime, GlobalParam globalParam)
{
List<Material> UseMaterials= materialRequirementService.GetMaterials(chromosome.getScenarioID());
chromosome.setMaterials(new ArrayList<>());
if(UseMaterials==null) {
if (chromosome.getMaterialIds() != null && chromosome.getMaterialIds().size() > 0) {
List<Material> Materials = planResultService.InitMaterial();
UseMaterials = Materials.stream()
.filter(t -> chromosome.getMaterialIds()
.contains(t.getId())).collect(Collectors.toList());
chromosome.setMaterials(UseMaterials);
}
}else {
chromosome.setMaterials(UseMaterials);
}
DelOrder(chromosome);
MachineSchedulerService machineScheduler = new MachineSchedulerService(baseTime);
......@@ -1254,6 +1273,7 @@ if(targetOp.getSequence()>1) {
// }
}
public void DelOrder(Chromosome chromosome) {
List<Entry> allOperations = chromosome.getAllOperations();
List<GlobalOperationInfo> globalOpList= chromosome.getGlobalOpList();
......
......@@ -260,7 +260,7 @@ public class PlanResultService {
// WriteScheduleSummary(chromosome);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService,this);
WriteScheduleSummary(chromosome);
ScheduleOperation.editMachineOption(chromosome,operation,newMachineId,globalParam);
WriteScheduleSummary(chromosome);
......@@ -351,7 +351,7 @@ public class PlanResultService {
.forEach(opInfo -> opInfo.setOp(operation));
}
GlobalParam globalParam=new GlobalParam();
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService,this);
ScheduleOperation.editMachineOption(chromosome,operation,operation.getSelectMachineID(),globalParam);
......@@ -383,7 +383,7 @@ public class PlanResultService {
public void UnlockStartTime(String sceneId, int opId) {
Chromosome chromosome = _sceneService.loadChromosomeFromFile(sceneId);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService,this);
ScheduleOperation.UnlockStartTime(chromosome, opId);
_sceneService.saveChromosomeToFile(chromosome, sceneId);
......@@ -392,7 +392,7 @@ public class PlanResultService {
public void unlockStartTime(Chromosome chromosome, int opId) {
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService,this);
ScheduleOperation.UnlockStartTime(chromosome, opId);
}
......@@ -430,7 +430,7 @@ public class PlanResultService {
*/
private Chromosome redecodeChromosome(Chromosome chromosome,String SceneId) {
GlobalParam globalParam = new GlobalParam();
ScheduleOperationService scheduleOperation = new ScheduleOperationService(materialRequirementService);
ScheduleOperationService scheduleOperation = new ScheduleOperationService(materialRequirementService,this);
scheduleOperation.redecode(chromosome, chromosome.getBaseTime(), globalParam);
// _sceneService.saveChromosomeToFile(chromosome, SceneId);
return chromosome;
......@@ -443,7 +443,7 @@ public class PlanResultService {
}
chromosome.setBaseTime(BaseTime);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService,this);
GlobalParam globalParam=new GlobalParam();
ScheduleOperation.redecode(chromosome,chromosome.getBaseTime(), globalParam);
......@@ -459,7 +459,7 @@ public class PlanResultService {
// WriteScheduleSummary(chromosome);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService,this);
// WriteScheduleSummary(chromosome);
ScheduleOperation.dragOperation(chromosome,opId,targetopId,isfront,newMachineId, globalParam);
// WriteScheduleSummary(chromosome);
......@@ -476,7 +476,7 @@ public class PlanResultService {
// WriteScheduleSummary(chromosome);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService,this);
// WriteScheduleSummary(chromosome);
ScheduleOperation.moveOperation(chromosome,opId, (int)ChronoUnit.SECONDS.between(chromosome.getBaseTime(), newStartTime),newMachineId, globalParam, lockStartTime);
// WriteScheduleSummary(chromosome);
......@@ -497,7 +497,7 @@ public class PlanResultService {
// WriteScheduleSummary(chromosome);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService,this);
// WriteScheduleSummary(chromosome);
ScheduleOperation.moveOperation(chromosome,opId, (int)ChronoUnit.SECONDS.between(chromosome.getBaseTime(), newStartTime),newMachineId, globalParam, lockStartTime);
// WriteScheduleSummary(chromosome);
......@@ -509,22 +509,10 @@ public class PlanResultService {
public void Redecode(String SceneId)
{
Chromosome chromosome= _sceneService.loadChromosomeFromFile(SceneId);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService,this);
// WriteScheduleSummary(chromosome);
List<Material> UseMaterials= materialRequirementService.GetMaterials(SceneId);
if(UseMaterials==null) {
if (chromosome.getMaterialIds() != null && chromosome.getMaterialIds().size() > 0) {
List<Material> Materials = InitMaterial();
UseMaterials = Materials.stream()
.filter(t -> chromosome.getMaterialIds()
.contains(t.getId())).collect(Collectors.toList());
chromosome.setMaterials(UseMaterials);
}
}else {
chromosome.setMaterials(UseMaterials);
}
GlobalParam globalParam=new GlobalParam();
ScheduleOperation.redecode(chromosome, chromosome.getBaseTime(), globalParam);
// WriteScheduleSummary(chromosome);
......@@ -540,7 +528,7 @@ public class PlanResultService {
//this.baseTime=param.getBaseTime();
// WriteScheduleSummary(chromosome);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService,this);
ScheduleOperation.SpiltOperation(chromosome,opId,splitCounts, globalParam);
WriteScheduleSummary(chromosome);
......@@ -557,7 +545,7 @@ public class PlanResultService {
//this.baseTime=param.getBaseTime();
// WriteScheduleSummary(chromosome);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService,this);
ScheduleOperation.DelOperation(chromosome,opId, globalParam);
// WriteScheduleSummary(chromosome);
......@@ -574,7 +562,7 @@ public class PlanResultService {
//this.baseTime=param.getBaseTime();
// WriteScheduleSummary(chromosome);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService,this);
ScheduleOperation.DelOrder(chromosome,orderId, globalParam);
// WriteScheduleSummary(chromosome);
......@@ -594,7 +582,7 @@ public class PlanResultService {
//this.baseTime=param.getBaseTime();
// WriteScheduleSummary(chromosome);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService,this);
ScheduleOperation.LockOperation(chromosome,opId,isLocked, globalParam);
//WriteScheduleSummary(chromosome);
......@@ -611,7 +599,7 @@ public class PlanResultService {
//this.baseTime=param.getBaseTime();
// WriteScheduleSummary(chromosome);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService,this);
ScheduleOperation.SpiltOrder(chromosome,orderId,splitCounts, globalParam);
WriteScheduleSummary(chromosome);
......@@ -627,7 +615,7 @@ public class PlanResultService {
//this.baseTime=param.getBaseTime();
// WriteScheduleSummary(chromosome);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService,this);
ScheduleOperation.MergeOrder(chromosome,sourceorderId,targetorderId, globalParam);
WriteScheduleSummary(chromosome);
......@@ -643,7 +631,7 @@ public class PlanResultService {
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService,this);
ScheduleOperation.AddMaintenanceWindow(chromosome,machineId,maintenanceWindow, globalParam);
// WriteScheduleSummary(chromosome);
......@@ -660,7 +648,7 @@ public class PlanResultService {
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService,this);
ScheduleOperation.DelMaintenanceWindow(chromosome,machineId,maintenanceId, globalParam);
// WriteScheduleSummary(chromosome);
......@@ -673,7 +661,7 @@ public class PlanResultService {
GlobalParam globalParam = new GlobalParam();
Chromosome chromosome = _sceneService.loadChromosomeFromFile(SceneId);
ScheduleOperationService ScheduleOperation = new ScheduleOperationService(materialRequirementService);
ScheduleOperationService ScheduleOperation = new ScheduleOperationService(materialRequirementService,this);
ScheduleOperation.DelMaintenanceWindowBatch(chromosome, machineId, maintenanceIds, globalParam);
// WriteScheduleSummary(chromosome);
......@@ -690,7 +678,7 @@ public class PlanResultService {
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService);
ScheduleOperationService ScheduleOperation=new ScheduleOperationService(materialRequirementService,this);
List<MaintenanceWindow> maintenanceWindowList= ScheduleOperation.GetMaintenanceWindow(chromosome,machineId);
// WriteScheduleSummary(chromosome);
......@@ -1208,7 +1196,7 @@ private GlobalParam InitGlobalParam()
}
private List<Material> InitMaterial() {
public List<Material> InitMaterial() {
List<Material> materials=new ArrayList<>();
FileHelper.writeLogFile("初始化物料-----------开始-------");
......
......@@ -49,12 +49,12 @@ public class PlanResultServiceTest {
// opids.add(7);
// planResultService.Move("27065EA0ECD14A81B7FAAFEF52273F93",opids,t,1265l,0);
// planResultService.Redecode("27065EA0ECD14A81B7FAAFEF52273F93");
planResultService.Redecode("00E0C5D3E4AD4F36B56C39395906618D");
// planResultService.Redecode("00E0C5D3E4AD4F36B56C39395906618D");
// planResultService.Drag("27065EA0ECD14A81B7FAAFEF52273F93",opids,6,false,0l);
// MaintenanceWindow maintenanceWindow=new MaintenanceWindow();
// maintenanceWindow.setStartTime(LocalDateTime.of(2025, 10, 21, 0, 0, 0));
// maintenanceWindow.setEndTime(LocalDateTime.of(2025, 10, 31, 0, 0, 0));
// planResultService.AddMaintenanceWindow("B6AE363FF5044DDF8DECE32D5FE0F7EA",1245l,maintenanceWindow);
MaintenanceWindow maintenanceWindow=new MaintenanceWindow();
maintenanceWindow.setStartTime(LocalDateTime.of(2026, 2, 4, 0, 0, 0));
maintenanceWindow.setEndTime(LocalDateTime.of(2025, 2, 5, 0, 0, 0));
planResultService.AddMaintenanceWindow("00E0C5D3E4AD4F36B56C39395906618D",2492l,maintenanceWindow);
// planResultService.DelOperation("B6AE363FF5044DDF8DECE32D5FE0F7EA",7);
// planResultService.SpiltOrder("A41D662EE0764D008173C5A0E42B15F6","5f9d5383-b89a-4a4f-8805-2f617c711968",new Double[]{500d, 500d});
......
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