|
@@ -41,6 +41,8 @@ public class MaterialInfoServiceImpl implements IMaterialInfoService
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
private TaskDetailsMapper taskDetailsMapper;
|
|
private TaskDetailsMapper taskDetailsMapper;
|
|
|
|
+ @Autowired
|
|
|
|
+ MaterialRetentionLogMapper retentionLogMapper;
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
private ProductionTasksMapper productionTasksMapper;
|
|
private ProductionTasksMapper productionTasksMapper;
|
|
@@ -338,20 +340,19 @@ public class MaterialInfoServiceImpl implements IMaterialInfoService
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public List<MaterialInfo> realTimeComputing() {
|
|
|
|
|
|
+ public List<MaterialInfo> realTimeComputing(MaterialInfo materialInfo) {
|
|
//同步更新车间仓物料信息系
|
|
//同步更新车间仓物料信息系
|
|
System.out.println("更新车间仓物料信息");
|
|
System.out.println("更新车间仓物料信息");
|
|
//查询当前车间仓物料信息
|
|
//查询当前车间仓物料信息
|
|
- MaterialInfo materialInfo=new MaterialInfo();
|
|
|
|
materialInfo.setCkNumber("CK005");
|
|
materialInfo.setCkNumber("CK005");
|
|
List<MaterialInfo> materialInfos = materialInfoMapper.selectMaterialInfoList(materialInfo);
|
|
List<MaterialInfo> materialInfos = materialInfoMapper.selectMaterialInfoList(materialInfo);
|
|
//扣料记录查询
|
|
//扣料记录查询
|
|
- Materialtransactionlog materialtransactionlog=new Materialtransactionlog();
|
|
|
|
- List<Materialtransactionlog> materialtransactionlogs = materialtransactionlogMapper.selectMaterialtransactionlogListSun(materialtransactionlog);
|
|
|
|
|
|
+ MaterialRetentionLog materialtransactionlog=new MaterialRetentionLog();
|
|
|
|
+ List<MaterialRetentionLog> retentionLogs = retentionLogMapper.selectMaterialRetentionLogList(materialtransactionlog);
|
|
//合并
|
|
//合并
|
|
- Map<String, Materialtransactionlog> materialLogMap = materialtransactionlogs.stream()
|
|
|
|
|
|
+ Map<String, MaterialRetentionLog> materialLogMap = retentionLogs.stream()
|
|
.collect(Collectors.toMap(
|
|
.collect(Collectors.toMap(
|
|
- Materialtransactionlog::getMaterialCode,
|
|
|
|
|
|
+ MaterialRetentionLog::getMaterialCode,
|
|
log -> log,
|
|
log -> log,
|
|
(existing, replacement) -> existing // 或者选择其他合并策略
|
|
(existing, replacement) -> existing // 或者选择其他合并策略
|
|
));
|
|
));
|
|
@@ -359,14 +360,16 @@ public class MaterialInfoServiceImpl implements IMaterialInfoService
|
|
//对比计算
|
|
//对比计算
|
|
List<MaterialInfo> items = materialInfos.stream().map(item -> {
|
|
List<MaterialInfo> items = materialInfos.stream().map(item -> {
|
|
//拿到当前相同的母粒
|
|
//拿到当前相同的母粒
|
|
- Materialtransactionlog materialtransactionlog1 = materialLogMap.get(item.getMaterialCode());
|
|
|
|
- Optional<Materialtransactionlog> optionalObj = Optional.ofNullable(materialtransactionlog1);
|
|
|
|
|
|
+ MaterialRetentionLog materialtransactionlog1 = materialLogMap.get(item.getMaterialCode());
|
|
|
|
+ //material_retention_log
|
|
|
|
+ Optional<MaterialRetentionLog> optionalObj = Optional.ofNullable(materialtransactionlog1);
|
|
|
|
+ System.out.println(optionalObj.isPresent());
|
|
//判断是否从Map里拿到了扣料记录
|
|
//判断是否从Map里拿到了扣料记录
|
|
if (optionalObj.isPresent()) {
|
|
if (optionalObj.isPresent()) {
|
|
System.out.println("对象不为空");
|
|
System.out.println("对象不为空");
|
|
//设置新的数量
|
|
//设置新的数量
|
|
BigDecimal bigDecimal1 = new BigDecimal(item.getStockQuantity());
|
|
BigDecimal bigDecimal1 = new BigDecimal(item.getStockQuantity());
|
|
- BigDecimal bigDecimal2 = new BigDecimal(materialtransactionlog1.getQuantity());
|
|
|
|
|
|
+ BigDecimal bigDecimal2 = new BigDecimal(materialtransactionlog1.getActualQuantityIssued());
|
|
//相减计算
|
|
//相减计算
|
|
BigDecimal subtract = bigDecimal1.subtract(bigDecimal2);//计算的新的数量
|
|
BigDecimal subtract = bigDecimal1.subtract(bigDecimal2);//计算的新的数量
|
|
item.setStockQuantity(subtract.doubleValue());
|
|
item.setStockQuantity(subtract.doubleValue());
|
|
@@ -375,5 +378,4 @@ public class MaterialInfoServiceImpl implements IMaterialInfoService
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
return items;
|
|
return items;
|
|
}
|
|
}
|
|
-
|
|
|
|
}
|
|
}
|