mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
优化生产开料,修改开料状态逻辑增强
This commit is contained in:
+23
-6
@@ -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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user