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

bom

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