优化生产修改开料状态,删除排单逻辑更改

This commit is contained in:
liuzhaotian
2025-02-07 17:10:38 +08:00
parent e414b7782b
commit e1b87d6e08
4 changed files with 21 additions and 76 deletions
@@ -12,7 +12,7 @@ import java.util.List;
@Data
public class PlanSaveReqVO {
@Schema(description = "ID")
@Schema(description = "ID-新增和移除小板时不传")
// @NotNull(message = "排单数据异常,请重新操作",groups = UpdateGroup.class)
@Max(value = 0x7fffffffffffffffL,message = "排单号异常,无法更新排单数据")
private Long id;
@@ -1495,6 +1495,11 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
private void updatePlateData(List<Long> orderIds, List<String> planNo, Integer cutedType) {
if(CollUtil.isEmpty(planNo)){
return;
}
List<PlateDO> plateDOS = plateMapper.selectPlateByPlateNo(orderIds, planNo, getUserOrganId());
AssertUtils.notEmpty(plateDOS, THIS_PLAN_PLATE_DATA_ERROR);
@@ -437,28 +437,22 @@ public class PlanServiceImpl implements PlanService {
esUtils.deleteEsDocument(FIELD_PLANID,planIds,PLAN_PROCESS_SCHEME_OPTIMIZE_MODEL);
// 查询删除排单对应的生产单是否还有进行了其他排单
List<Long> orderIdList = planItemMapper.selectOrderPlateList(orderIds, getUserOrganId());
// 查询删除的小板对应的生产单信息,如果生产单的小板全部改成了未优化,修改状态
List<PlateDO> plateIsOptimizedList = plateMapper.selectPlateIsOptimized(orderIds, getUserOrganId());
List<Long> diff = Stream.concat(
orderIdList.stream().filter(str -> !orderIds.contains(str)),
orderIds.stream().filter(str -> !orderIdList.contains(str)))
.toList();
if(CollUtil.isNotEmpty(plateIsOptimizedList)){
List<Long> orderIdList = plateIsOptimizedList.stream().map(PlateDO::getOrderId).distinct().toList();
if (CollUtil.isNotEmpty(diff)) {
List<Long> diff = Stream.concat(
orderIdList.stream().filter(str -> !orderIds.contains(str)),
orderIds.stream().filter(str -> !orderIdList.contains(str)))
.toList();
List<OrderDO> orderList = orderMapper.selectBatchIds(diff);
if(CollUtil.isNotEmpty(diff)){
List<OrderDO> orderList = orderMapper.selectBatchIds(diff);
orderList.forEach(f->f.setStatus(OrderStatusEnum.NEW_ORDER.getStatus()));
orderMapper.updateBatch(orderList);
}
orderList.forEach(f -> f.setStatus(OrderStatusEnum.NEW_ORDER.getStatus()));
orderMapper.updateBatch(orderList);
}
@@ -1218,11 +1212,12 @@ public class PlanServiceImpl implements PlanService {
// 查询删除的小板对应的生产单信息,如果生产单的小板全部改成了未优化,修改状态
List<PlateDO> plateIsOptimizedList = plateMapper.selectPlateIsOptimized(deleteOrderIds, getUserOrganId());
// List<PlateDO> plateIsOptimizedList = plateMapper.selectPlateIsOptimized(deleteOrderIds, getUserOrganId());
// if(CollUtil.isNotEmpty(plateIsOptimizedList)){
// List<Long> orderIds = plateIsOptimizedList.stream().map(PlateDO::getOrderId).distinct().toList();
if(CollUtil.isNotEmpty(plateIsOptimizedList)){
List<Long> orderIds = plateIsOptimizedList.stream().map(PlateDO::getOrderId).distinct().toList();
List<Long> orderIds = planItemMapper.selectOrderPlateList(deleteOrderIds, getUserOrganId());
List<Long> diff = Stream.concat(
orderIds.stream().filter(str -> !deleteOrderIds.contains(str)),
@@ -1238,7 +1233,7 @@ public class PlanServiceImpl implements PlanService {
orderMapper.updateBatch(orderList);
}
}
// }
}
@@ -222,61 +222,6 @@ public class PlateServiceImpl implements PlateService {
.eq(PlanItemDO::getPlanId, planId));
// if(Boolean.TRUE.equals(plateDO.getIsOptimized())) {
//
// List<OptimizeBoardModelDO> optimizeBoardModelDOS = esUtils.getEsDocument("planId","planConfigId", planId, planConfigId, ORDER_REMAIN_PLATE_MODEL, OptimizeBoardModelDO.class);
//
//
// if (CollUtil.isNotEmpty(optimizeBoardModelDOS)) {
//
// OptimizeBoardModelDO optimizeBoardModelDO = optimizeBoardModelDOS.get(0);
//
// String plateNo = plateDO.getPlateNo();
//
// String blockPlaceInfo = Optional.ofNullable(optimizeBoardModelDO.getBlockPlaceInfo()).orElseThrow(() -> new ServiceException(ORDER_PLAN_OPTIMIZE_ERROR));
//
// String remainBoardInfo = Optional.ofNullable(optimizeBoardModelDO.getRemainBoardInfo()).orElseThrow(() -> new ServiceException(ORDER_PLAN_OPTIMIZE_ERROR));
//
// List<PlatePlaceInfo> asJsonObject = new ArrayList<>(parseArray(blockPlaceInfo,PlatePlaceInfo.class));
//
// List<PlatePlaceInfo> platePlaceInfos = asJsonObject.stream()
// .filter(fi -> !plateNo.equals(fi.getBo()))
// .toList();
//
//
// List<RemainBoardInfo> remainBoardInfos = new ArrayList<>(parseArray(remainBoardInfo, RemainBoardInfo.class));
//
// remainBoardInfos.forEach(r->{
// r.getPlaceBoardList().forEach(p->{
// p.setBlocks(p.getBlocks().stream()
// .filter(bl->!plateNo.equals(bl.getBlockId()))
// .toList());
// });
// });
//
// Date date = new Date();
//
// Map<String, Object> updateData = new HashMap<>();
//
// updateData.put("blockPlaceInfo", toJsonString(platePlaceInfos));
// updateData.put("placeBlockNumber", (long) platePlaceInfos.size());
// updateData.put("remainBoardInfo", toJsonString(remainBoardInfos));
// updateData.put("updateTime", simpleDateFormat.format(date));
//
// try {
// esDocumentService.updateById(ORDER_REMAIN_PLATE_MODEL, optimizeBoardModelDO.getId(), HashMap.class, updateData);
//
// }catch (Exception e){
// log.error(e.getMessage());
// throw new ServiceException(ES_DATA_ERROR);
// }
//
//
// }
// }
}
private void validatePlateExists(Long id) {