Commit dbe81dd1 authored by Tong Li's avatar Tong Li

bom

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