Commit 5d00b320 authored by Tong Li's avatar Tong Li

遗传算法-物料缓存

parent 01233646
package com.aps.service.plan; package com.aps.service.plan;
import com.aps.common.util.*; import com.aps.common.util.*;
import com.aps.common.util.redis.RedisUtils;
import com.aps.controller.gantt.FileUploadController; import com.aps.controller.gantt.FileUploadController;
import com.aps.entity.*; import com.aps.entity.*;
import com.aps.entity.Algorithm.*; import com.aps.entity.Algorithm.*;
...@@ -77,7 +78,8 @@ public class PlanResultService { ...@@ -77,7 +78,8 @@ public class PlanResultService {
@Autowired @Autowired
private ConfigMapper configMapper; private ConfigMapper configMapper;
@Autowired
private RedisUtils redisUtils;
@Autowired @Autowired
private StrategyRuleService _strategyRuleService; private StrategyRuleService _strategyRuleService;
...@@ -924,6 +926,22 @@ private GlobalParam InitGlobalParam() ...@@ -924,6 +926,22 @@ private GlobalParam InitGlobalParam()
return cmaterials; return cmaterials;
} }
cmaterials= (List<Material>)redisUtils.get("material");
if(cmaterials!=null)
{
return cmaterials;
}
materials=getMaterials();
CommonCache.put("material",materials);
redisUtils.set("material",materials);
return materials;
}
private List<Material> getMaterials(){
List<Material> materials=new ArrayList<>();
LambdaQueryWrapper<MaterialInfo> MaterialInfoWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<MaterialInfo> MaterialInfoWrapper = new LambdaQueryWrapper<>();
MaterialInfoWrapper.eq(MaterialInfo::getIsdeleted,0); MaterialInfoWrapper.eq(MaterialInfo::getIsdeleted,0);
...@@ -955,58 +973,62 @@ private GlobalParam InitGlobalParam() ...@@ -955,58 +973,62 @@ private GlobalParam InitGlobalParam()
List<SjzPfWhStock> SjzPfWhStocklists= sjzPfWhStockMapper.selectList(SjzPfWhStockWrapper); List<SjzPfWhStock> SjzPfWhStocklists= sjzPfWhStockMapper.selectList(SjzPfWhStockWrapper);
materiallist.forEach(m -> { for (MaterialInfo m : materiallist)
Material material=new Material(); {
// materiallist.forEach(m -> {
Material material = new Material();
material.setId(m.getId()); material.setId(m.getId());
material.setMaterialType(m.getMaterialType()); material.setMaterialType(m.getMaterialType());
material.setMaterialTypeName(m.getMaterialTypeName()); material.setMaterialTypeName(m.getMaterialTypeName());
material.setCkeckLeadTime(m.getInspectDuration()); material.setCkeckLeadTime(m.getInspectDuration());
material.setPurchaseLeadTime(m.getPurchaseDuration()); material.setPurchaseLeadTime(m.getPurchaseDuration());
double stock= Stocklist.stream() double stock = Stocklist.stream()
.filter(t->t.getMaterialId().equals(m.getId())) .filter(t -> t.getMaterialId().equals(m.getId()))
.mapToDouble(Stock::getTotal) .mapToDouble(Stock::getTotal)
.sum(); .sum();
material.setCurrentStock(stock); material.setCurrentStock(stock);
List<MaterialSupply> materialSupplys=new ArrayList<>(); List<MaterialSupply> materialSupplys = new ArrayList<>();
if(m.getMaterialTypeName().equals("MP")) if(m.getMaterialTypeName()==null)
{ {
List<PurchaseReceipt> PurchaseReceipts= PurchaseReceiptlist.stream() continue;
.filter(t->t.getMaterialid()==m.getId()) }
if (m.getMaterialTypeName().equals("MP")) {
List<PurchaseReceipt> PurchaseReceipts = PurchaseReceiptlist.stream()
.filter(t -> t.getMaterialid() == m.getId())
.collect(Collectors.toList()); .collect(Collectors.toList());
if(PurchaseReceipts!=null) if (PurchaseReceipts != null&&PurchaseReceipts.size()>0) {
{
for (PurchaseReceipt mm:PurchaseReceipts) {//原材料待验 for (PurchaseReceipt mm : PurchaseReceipts) {//原材料待验
MaterialSupply ms=new MaterialSupply(); MaterialSupply ms = new MaterialSupply();
LocalDateTime dt = mm.getExp5() == null ? ParamValidator.parseDateTime(mm.getExp1(),"") : mm.getExp5(); LocalDateTime dt = mm.getExp5() == null ? ParamValidator.parseDateTime(mm.getExp1(), "") : mm.getExp5();
ms.setQuantity(mm.getFjl1Sl()); ms.setQuantity(mm.getFjl1Sl());
ms.setArrivalTime(dt); ms.setArrivalTime(dt);
materialSupplys.add(ms); materialSupplys.add(ms);
} }
} }
List<ErpPurchaseOrder> ErpPurchaseOrders= ErpPurchaseOrderlist.stream() List<ErpPurchaseOrder> ErpPurchaseOrders = ErpPurchaseOrderlist.stream()
.filter(t->t.getMaterialId()==m.getId()) .filter(t -> t.getMaterialId() == m.getId())
.collect(Collectors.toList()); .collect(Collectors.toList());
if(ErpPurchaseOrders!=null) if (ErpPurchaseOrders != null&&ErpPurchaseOrders.size()>0) {
{ for (ErpPurchaseOrder mm : ErpPurchaseOrders) {//原材料采购,可用时间要加上检验时间
for (ErpPurchaseOrder mm:ErpPurchaseOrders) {//原材料采购,可用时间要加上检验时间 MaterialSupply ms = new MaterialSupply();
MaterialSupply ms=new MaterialSupply();
LocalDateTime dt = mm.getArrivalDate().plusDays(m.getInspectDuration()); LocalDateTime dt = mm.getArrivalDate().plusDays(m.getInspectDuration());
ms.setQuantity(mm.getPurchaseQty()); ms.setQuantity(mm.getPurchaseQty());
ms.setArrivalTime(dt); ms.setArrivalTime(dt);
materialSupplys.add(ms); materialSupplys.add(ms);
} }
} }
}else { } else {
List<SjzPfWhStock> SjzPfWhStocks= SjzPfWhStocklists.stream() List<SjzPfWhStock> SjzPfWhStocks = SjzPfWhStocklists.stream()
.filter(t->t.getMaterialid()==m.getId()) .filter(t -> t.getMaterialid() == m.getId())
.collect(Collectors.toList()); .collect(Collectors.toList());
if(SjzPfWhStocks!=null) if (SjzPfWhStocks != null&&SjzPfWhStocks.size()>0) {
{ for (SjzPfWhStock mm : SjzPfWhStocks) {//原材料采购,可用时间要加上检验时间
for (SjzPfWhStock mm:SjzPfWhStocks) {//原材料采购,可用时间要加上检验时间 MaterialSupply ms = new MaterialSupply();
MaterialSupply ms=new MaterialSupply(); LocalDateTime dt = ParamValidator.parseDateTime(mm.getExp1(), "");
LocalDateTime dt =ParamValidator.parseDateTime( mm.getExp1(),"");
ms.setQuantity(mm.getFjl1Sl()); ms.setQuantity(mm.getFjl1Sl());
ms.setArrivalTime(dt); ms.setArrivalTime(dt);
materialSupplys.add(ms); materialSupplys.add(ms);
...@@ -1015,8 +1037,8 @@ private GlobalParam InitGlobalParam() ...@@ -1015,8 +1037,8 @@ private GlobalParam InitGlobalParam()
} }
material.setInTransit(materialSupplys); material.setInTransit(materialSupplys);
materials.add(material); materials.add(material);
}); // });
CommonCache.put("material",materials); }
return materials; return materials;
} }
......
...@@ -10,9 +10,9 @@ spring: ...@@ -10,9 +10,9 @@ spring:
pathmatch: pathmatch:
matching-strategy: ant_path_matcher # Spring Boot 2.6+ 需要这个配置 matching-strategy: ant_path_matcher # Spring Boot 2.6+ 需要这个配置
redis: redis:
host: 192.168.0.181 host: 39.100.88.40
port: 6380 port: 6379
timeout: 10000 timeout: 120000
database: 10 database: 10
password: redis@228! password: redis@228!
# Swagger 配置 # Swagger 配置
......
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