优化生产开料,修改开料状态逻辑增强

This commit is contained in:
liuzhaotian
2024-11-28 11:42:33 +08:00
parent af1a5cc033
commit 56a7299787
@@ -48,6 +48,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.*;
@@ -109,6 +110,8 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
private static final String ES_SELECT_DATA_ERROR = "优化生产ES文档查询异常: ";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@Override
public List<PlateOptimize> getPlateListByPlanId(Long planId) {
return planMapper.selectPlateListByPlanId(planId,getUserOrganId());
@@ -144,6 +147,8 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
AssertUtils.notEmpty(planDO,PLAN_NOT_EXISTS);
Date date = new Date();
// todo 目前只解决了非混单的情况,混单情况待解决
List<OptimizeBoardModelDO> optimizeBoardModelDOS = buildBoardByPlanId(planId, ORDER_REMAIN_PLATE_MODEL, 10);
@@ -182,9 +187,9 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
}
for (Long goods : goodsNo) {
plateNo.addAll(outputList.stream().filter(f -> f.getBi().equals(goods)).map(BlockPlaceInfo::getBo).distinct().toList());
}
goodsNo.forEach(g->
plateNo.addAll(outputList.stream().filter(f -> f.getBi().equals(g)).map(BlockPlaceInfo::getBo).distinct().toList())
);
List<PlateDO> plateDOS = plateMapper.selectPlateByPlateNo(plateNo.stream().distinct().toList(), getUserOrganId());
@@ -217,6 +222,10 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
long cutedBoardNumber = cutedBoardList.size();
if(CollUtil.isEmpty(cutedBoardList)){
cutedBoardNumber = 0;
}
// 将需要更新更新的数据更新到原数据中
cutedBoardInfo.setCutedBoardNumber(cutedBoardNumber);
cutedBoardInfo.setCutedBoardList(cutedBoardList);
@@ -225,6 +234,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
// 更新开料相关的数据
HashMap<String, Object> objectObjectHashMap = new HashMap<>();
objectObjectHashMap.put("cutedBoardInfo",cutedBoardInfo);
objectObjectHashMap.put("updateTime",simpleDateFormat.format(date));
try {
@@ -293,6 +303,8 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
return;
}
Date date = new Date();
PlanDO planDO = planMapper.selectById(planId);
AssertUtils.notEmpty(planDO,PLAN_NOT_EXISTS);
@@ -326,6 +338,9 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
// 减去取消开料的大板数量
cutedBoardNumber -= goodsNo.size();
if(CollUtil.isEmpty(cutedBoardList)){
cutedBoardNumber = 0;
}
// 将需要更新更新的数据更新到原数据中
cutedBoardInfo.setCutedBoardNumber(cutedBoardNumber);
@@ -335,6 +350,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
// 更新开料相关的数据
HashMap<String, Object> objectObjectHashMap = new HashMap<>();
objectObjectHashMap.put("cutedBoardInfo", cutedBoardInfo);
objectObjectHashMap.put("updateTime",simpleDateFormat.format(date));
try {
@@ -377,9 +393,10 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
List<String> plateNo = new ArrayList<>();
for (Long aLong : goodsNo) {
plateNo.addAll(asJsonObject.stream().filter(f->f.getBi().equals(aLong)).map(PlatePlaceInfo::getBo).toList());
}
goodsNo.forEach(g->{
plateNo.addAll(asJsonObject.stream().filter(f->f.getBi().equals(g)).map(PlatePlaceInfo::getBo).toList());
});
List<Long> orderIds = plateMapper.selectPlateByPlateNo(plateNo, getUserOrganId()).stream().map(PlateDO::getOrderId).toList();