Commit 6140340a authored by Tong Li's avatar Tong Li

bom

parent 8fa4eff6
...@@ -521,6 +521,8 @@ public class MaterialRequirementService { ...@@ -521,6 +521,8 @@ public class MaterialRequirementService {
.collect(Collectors.toMap(Map.Entry::getKey, e -> 0)); .collect(Collectors.toMap(Map.Entry::getKey, e -> 0));
List<Integer> operationSequencing=chromosome.getOperationSequencing(); List<Integer> operationSequencing=chromosome.getOperationSequencing();
orders.forEach(t->clearFinishOrder(t));
for (Integer groupId : operationSequencing) for (Integer groupId : operationSequencing)
{ {
...@@ -566,7 +568,13 @@ public class MaterialRequirementService { ...@@ -566,7 +568,13 @@ public class MaterialRequirementService {
return allRequirements; return allRequirements;
} }
private void clearFinishOrder (Order order)
{
if (order.getFinishOrderId() == null) {
order.setFinishOrderId(new ArrayList<>());
order.setTargetFinishedOperationId(new ArrayList<>());
}
}
/** /**
* 构建订单BOM * 构建订单BOM
...@@ -922,10 +930,20 @@ if(headers1==null) ...@@ -922,10 +930,20 @@ if(headers1==null)
List<OrderMaterialRequirement> MaterialRequirements= operation.getMaterialRequirements(); List<OrderMaterialRequirement> MaterialRequirements= operation.getMaterialRequirements();
List<Order> orders=chromosome.getOrders(); List<Order> orders=chromosome.getOrders();
if(operation.getTargetFinishedOperationId()!=null)
{
operation.getTargetFinishedOperationId().clear();
}
if(operation.getDependentOnOrderIds()!=null)
{
operation.getDependentOnOrderIds().clear();
}
if (MaterialRequirements != null&&MaterialRequirements.size()>0) { if (MaterialRequirements != null&&MaterialRequirements.size()>0) {
for (OrderMaterialRequirement orderMaterial : MaterialRequirements) { for (OrderMaterialRequirement orderMaterial : MaterialRequirements) {
orderMaterial.getProductOrderID().clear();
double allneeded = orderMaterial.getRequiredQuantity(); double allneeded = orderMaterial.getRequiredQuantity();
double needed = allneeded; double needed = allneeded;
...@@ -1297,13 +1315,12 @@ if(headers1==null) ...@@ -1297,13 +1315,12 @@ if(headers1==null)
List<Integer> orderids= orderMaterial.getProductOrderID(); List<Integer> orderids= orderMaterial.getProductOrderID();
if(orderids!=null&&orderids.size()>0) { if(orderids!=null&&orderids.size()>0) {
if((allneeded - needed)>0)
{
for (Integer orderid : orderids) { for (Integer orderid : orderids) {
coder.ClearorderOperationResult(chromosome, orderid); coder.ClearorderOperationResult(chromosome, orderid);
coder.EditorderOperation(chromosome, orderid, needed); coder.EditorderOperation(chromosome, orderid, needed);
} }
}
}else { }else {
List<MaterialPurchase> materialPurchaseList=material.getMaterialPurchases(); List<MaterialPurchase> materialPurchaseList=material.getMaterialPurchases();
if(materialPurchaseList!=null&&materialPurchaseList.size()>0) { if(materialPurchaseList!=null&&materialPurchaseList.size()>0) {
...@@ -1529,6 +1546,10 @@ if(headers1==null) ...@@ -1529,6 +1546,10 @@ if(headers1==null)
} }
return materials; return materials;
} }
public void SetMaterials(String sceneId,List<Material> useMaterials) {
redisUtils.set(sceneId + materialsCacheKey, useMaterials);
GlobalCacheUtil.put(sceneId + materialsCacheKey, useMaterials, cachetimeout, TimeUnit.MINUTES);
}
private List<Equipinfo> GetEquipinfos() { private List<Equipinfo> GetEquipinfos() {
List<Equipinfo> equipinfoList=(List<Equipinfo>)GlobalCacheUtil.get("equipinfo"); List<Equipinfo> equipinfoList=(List<Equipinfo>)GlobalCacheUtil.get("equipinfo");
......
...@@ -227,6 +227,7 @@ public class RoutingDataService { ...@@ -227,6 +227,7 @@ public class RoutingDataService {
.filter(t -> t.getOrderId().equals(op.getOrderId())) .filter(t -> t.getOrderId().equals(op.getOrderId()))
.findFirst().orElse(null); .findFirst().orElse(null);
if (order != null) { if (order != null) {
entry.setOrderCode(order.getOrderCode());
entry.setProductId(order.getMaterialId()); entry.setProductId(order.getMaterialId());
entry.setProductCode(order.getMaterialCode()); entry.setProductCode(order.getMaterialCode());
entry.setProductName(order.getMaterialName()); entry.setProductName(order.getMaterialName());
......
...@@ -1229,6 +1229,7 @@ if(targetOp.getSequence()>1) { ...@@ -1229,6 +1229,7 @@ if(targetOp.getSequence()>1) {
.filter(t -> chromosome.getMaterialIds() .filter(t -> chromosome.getMaterialIds()
.contains(t.getId())).collect(Collectors.toList()); .contains(t.getId())).collect(Collectors.toList());
chromosome.setMaterials(UseMaterials); chromosome.setMaterials(UseMaterials);
materialRequirementService.SetMaterials(chromosome.getScenarioID(),UseMaterials);
} }
}else { }else {
chromosome.setMaterials(UseMaterials); chromosome.setMaterials(UseMaterials);
......
...@@ -39,7 +39,7 @@ public class PlanResultServiceTest { ...@@ -39,7 +39,7 @@ public class PlanResultServiceTest {
// TestSortService sortService=new TestSortService(); // TestSortService sortService=new TestSortService();
// sortService.test1(); // sortService.test1();
// nsgaiiUtils.Test(); // nsgaiiUtils.Test();
// planResultService.execute2("921BC266191E4812A105E406BF91E812"); // planResultService.execute2("5475E00B844847ACB6DC20227967BA2F");
// planResultService.execute2("00E0C5D3E4AD4F36B56C39395906618D"); // planResultService.execute2("00E0C5D3E4AD4F36B56C39395906618D");
// planResultService.execute2("726D4C1A712B4B1393175BD44B775B66"); // planResultService.execute2("726D4C1A712B4B1393175BD44B775B66");
......
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