Commit 45ee5031 authored by Tong Li's avatar Tong Li

修改字段

parent f5e8c691
......@@ -21,7 +21,7 @@ import java.util.List;
@Data
public class Entry {
public Entry() {
PrevEntryIds=new ArrayList<OperationDependency>();
prevEntryIds=new ArrayList<OperationDependency>();
}
/**
......@@ -57,29 +57,29 @@ public class Entry {
/**
* 工单ID
*/
public String ExecId ;
private String execId ;
/**
* 工单ID
*/
public String MainId;
private String mainId;
/**
* 离散参数
*/
public List<RoutingDiscreteParam> DiscreteParameter ;
private List<RoutingDiscreteParam> discreteParameter ;
/**
* 基因编号
*/
public double Priority=1;
private double priority=1;
/**
* 数量
*/
public double Quantity;
private double quantity;
/**
* 工序顺序
*/
public int Sequence;
private int sequence;
/**
* 可选设备列表
*/
......@@ -93,22 +93,22 @@ public class Entry {
/**
* 前工单ID
*/
public List<OperationDependency> PrevEntryIds ;//前工序
private List<OperationDependency> prevEntryIds ;//前工序
/**
* 后工单ID
*/
public List<OperationDependency> NextEntryIds ;//后工序
private List<OperationDependency> nextEntryIds ;//后工序
/**
* 数据状态 1 拆分 2 新建
*/
public Integer state ;
private Integer state ;
/**
* 是否可中断,间缝插针
*/
public Long IsInterrupt = 1l;
private Long isInterrupt = 1l;
/**
* 所需物料
......@@ -121,26 +121,26 @@ public class Entry {
* 设备资源组
*/
public Long EquipTypeID ;
private Long equipTypeID ;
/// <summary>
/// 当前工序依赖的前置工序ID(半成品工序→成品工序)
/// </summary>
public List<Integer> DependentOnOrderIds =new ArrayList<>();
private List<Integer> dependentOnOrderIds =new ArrayList<>();
/// <summary>
/// 关联的成品工序ID(核心:明确该半成品服务于哪个成品工序)
/// </summary>
public List<Integer> TargetFinishedOperationId;
private List<Integer> targetFinishedOperationId;
public boolean newCreate = false;
private boolean newCreate = false;
/// <summary>
/// 半成品最晚完工时间(即成品工序开始时间-1天)
/// </summary>
public LocalDateTime LatestCompletionTime ;
private LocalDateTime latestCompletionTime ;
private String equipTypeName;//资源组名称
......
......@@ -566,13 +566,13 @@ if(finishedOrder==null||finishedOrder.size()==0)
if(setupTime==0)
{
geneDetails = machineCalculator.getNextAvailableTime(machine, earliestStartTime, -1,
processingTimeTotal, machineTasks, operation.IsInterrupt!=1, true,processingTime, operation.getQuantity(), true);
processingTimeTotal, machineTasks, operation.getIsInterrupt()!=1, true,processingTime, operation.getQuantity(), true);
}else {
CopyOnWriteArrayList<TimeSegment> AvailableTimeSegment = (CopyOnWriteArrayList<TimeSegment>) reslte.get(6);
Map<Integer,Object> result = machineCalculator.CreateScheduleResult(machine, processingTimeTotal, earliestStartTime,
AvailableTimeSegment, processingTime, operation.getQuantity(), operation.IsInterrupt != 1, setupTime, _globalParam.is_smoothChangeOverInWeek(), setupStartTime);
AvailableTimeSegment, processingTime, operation.getQuantity(), operation.getIsInterrupt() != 1, setupTime, _globalParam.is_smoothChangeOverInWeek(), setupStartTime);
......@@ -582,7 +582,7 @@ if(finishedOrder==null||finishedOrder.size()==0)
}
}else {
geneDetails = machineCalculator.getNextAvailableTime(machine, earliestStartTime, -1,
processingTimeTotal, machineTasks, operation.IsInterrupt!=1, true,processingTime, operation.getQuantity(), true);
processingTimeTotal, machineTasks, operation.getIsInterrupt()!=1, true,processingTime, operation.getQuantity(), true);
}
......@@ -1270,7 +1270,7 @@ if(MaterialRequirements==null||MaterialRequirements.size()==0)
{
CopyOnWriteArrayList<TimeSegment> AvailableTimeSegment = machineCalculator.getMachineAvailableTime(machine, earliestStartTime+setupTime,
processingTimeTotal, null, operation.IsInterrupt!=1);
processingTimeTotal, null, operation.getIsInterrupt()!=1);
if(AvailableTimeSegment!=null) {
reslte.put(6, AvailableTimeSegment);
......@@ -1294,7 +1294,7 @@ if(MaterialRequirements==null||MaterialRequirements.size()==0)
//如果是前提供任务是相同的则跳出
CopyOnWriteArrayList<TimeSegment> AvailableTimeSegment = machineCalculator.getMachineAvailableTime(machine, earliestStartTime,
processingTimeTotal+setupTime, null, operation.IsInterrupt!=1);
processingTimeTotal+setupTime, null, operation.getIsInterrupt()!=1);
if(AvailableTimeSegment!=null) {
reslte.put(6, AvailableTimeSegment);
......@@ -1337,7 +1337,7 @@ if(MaterialRequirements==null||MaterialRequirements.size()==0)
if(lastGeneOnMachine.getEndTime()>earliestStartTime)
{
CopyOnWriteArrayList<TimeSegment> AvailableTimeSegment = machineCalculator.getMachineAvailableTime(machine, earliestStartTime,
processingTimeTotal, machineTasks, operation.IsInterrupt!=1);
processingTimeTotal, machineTasks, operation.getIsInterrupt()!=1);
if(AvailableTimeSegment!=null) {
reslte.put(6,AvailableTimeSegment);
......@@ -1359,7 +1359,7 @@ if(MaterialRequirements==null||MaterialRequirements.size()==0)
}
}else {
CopyOnWriteArrayList<TimeSegment> AvailableTimeSegment = machineCalculator.getMachineAvailableTime(machine, earliestStartTime,
processingTimeTotal, machineTasks, operation.IsInterrupt!=1);
processingTimeTotal, machineTasks, operation.getIsInterrupt()!=1);
if(AvailableTimeSegment!=null) {
reslte.put(6, AvailableTimeSegment);
int start = (int) ChronoUnit.SECONDS.between(baseTime, AvailableTimeSegment.get(0).getStart());
......
......@@ -177,10 +177,10 @@ public class MaterialRequirementService {
{
throw new RuntimeException("配套数据有问题,需求数量为空,请检查数据,"+component.getMaterialNumber());
}
double allneeded = component.getSpentQty().doubleValue()/ component.getMainQty().doubleValue() * operation.Quantity;
double allneeded = component.getSpentQty().doubleValue()/ component.getMainQty().doubleValue() * operation.getQuantity();
OrderMaterialRequirement orderMaterialRequirement = CreateMaterialRequirement(material, orderId, "", operation,
allneeded,component.getSpentQty().doubleValue(), component.getMainQty().doubleValue(),operation.Quantity);
allneeded,component.getSpentQty().doubleValue(), component.getMainQty().doubleValue(),operation.getQuantity());
orderMaterialRequirement.setBomId(component.getStrId());
if (!material.getMaterialTypeName().equals("MP") && isIsCheckSf) {
materialIds.add(materialId);//半成品ID
......
......@@ -76,7 +76,7 @@ int newStartTime=0;
int GroupId=targetOp1.getGroupId();
OptionalInt OperationIndex = IntStream.range(0, OperationSequencing.size())
.filter(i -> OperationSequencing.get(i).equals(GroupId)) // 过滤出值为1的索引
.skip(targetOp1.Sequence-1) // 跳过第一个匹配项
.skip(targetOp1.getSequence()-1) // 跳过第一个匹配项
.findFirst(); // 取第二个匹配项
targetopIndex1=OperationIndex.getAsInt();
if(isfront)
......@@ -121,7 +121,7 @@ int newStartTime=0;
if(targetopId!=0) {
OptionalInt OperationIndex = IntStream.range(0, OperationSequencing.size())
.filter(i -> OperationSequencing.get(i).equals(targetOp.getGroupId())) // 过滤出值为1的索引
.skip(targetOp.Sequence - 1) // 跳过第一个匹配项
.skip(targetOp.getSequence() - 1) // 跳过第一个匹配项
.findFirst(); // 取第二个匹配项
int targetOpIndex = OperationIndex.getAsInt();
opsIndexs.add(targetOpIndex);
......@@ -135,7 +135,7 @@ int newStartTime=0;
for (Entry targetOp4:targetOp2s) {
OptionalInt OperationIndex1 = IntStream.range(0, OperationSequencing.size())
.filter(i -> OperationSequencing.get(i).equals(targetOp.getGroupId())) // 过滤出值为1的索引
.skip(targetOp4.Sequence - 1) // 跳过第一个匹配项
.skip(targetOp4.getSequence() - 1) // 跳过第一个匹配项
.findFirst(); // 取第二个匹配项
int targetOpIndex2 = OperationIndex1.getAsInt();
if(targetOpIndex2<targetopIndex1)//后面的工序位置比目标位置靠前
......@@ -190,7 +190,7 @@ int newStartTime=0;
int GroupId=targetOp1.getGroupId();
OptionalInt OperationIndex = IntStream.range(0, OperationSequencing.size())
.filter(i -> OperationSequencing.get(i).equals(GroupId)) // 过滤出值为1的索引
.skip(targetOp1.Sequence-1) // 跳过第一个匹配项
.skip(targetOp1.getSequence()-1) // 跳过第一个匹配项
.findFirst(); // 取第二个匹配项
int targetOpIndex= OperationIndex.getAsInt();
if(!isfront)
......@@ -629,7 +629,7 @@ if(targetOp.getSequence()>1) {
String newId = UUID.randomUUID().toString().replace("-", "");
if (i == 0) {
newids.put(targetOp.ExecId, splitCounts[i]);
newids.put(targetOp.getExecId(), splitCounts[i]);
} else {
newids.put(newId, splitCounts[i]);
// 添加新节点
......@@ -656,7 +656,7 @@ if(targetOp.getSequence()>1) {
List<Integer> OperationSequencing= chromosome.getOperationSequencing();
OptionalInt OperationIndex = IntStream.range(0, OperationSequencing.size())
.filter(i -> OperationSequencing.get(i).equals(targetOp.getGroupId())) // 过滤出值为1的索引
.skip(targetOp.Sequence-1) // 跳过第一个匹配项
.skip(targetOp.getSequence()-1) // 跳过第一个匹配项
.findFirst(); // 取第二个匹配项
int targetOpIndex= OperationIndex.getAsInt()+1;
for (NodeInfo nodeInfo : nodeInfoList) {
......@@ -913,7 +913,7 @@ if(targetOp.getSequence()>1) {
OptionalInt OperationIndex = IntStream.range(0, OperationSequencing.size())
.filter(i -> OperationSequencing.get(i).equals(entry.getGroupId())) // 过滤出值为1的索引
.skip(entry.Sequence-1) // 跳过第一个匹配项
.skip(entry.getSequence()-1) // 跳过第一个匹配项
.findFirst();
int targetOpIndex= OperationIndex.getAsInt()+1;
for (int i = maxgroupId; i < OperatRels.size(); i++) {
......@@ -1089,7 +1089,7 @@ if(targetOp.getSequence()>1) {
//拆分的工序数量补齐到其他的
Entry main = entrys.stream().
filter(t -> t.MainId.equals(entry.getMainId()) &&t.getId()!=entry.getId())
filter(t -> t.getMainId().equals(entry.getMainId()) &&t.getId()!=entry.getId())
.findFirst()
.orElse(null);
if (main != null) {
......
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