添加小板查询更改,柜体删除逻辑更改,修改开料状态逻辑更改

This commit is contained in:
liuzhaotian
2025-01-16 12:32:40 +08:00
parent 1cede97b42
commit 87c4a3ecce
11 changed files with 183 additions and 122 deletions
@@ -28,7 +28,8 @@ public class ErrorCodeConstants {
public static final ErrorCode ORDER_NOT_EXISTS = new ErrorCode(1_001_109_000, "生产单不存在");
public static final ErrorCode ORDER_NOT_CANCEL = new ErrorCode(1_001_109_000, "生产单以进入生产状态,无法作废");
public static final ErrorCode ORDER_PLAN_ERROR = new ErrorCode(1_001_109_001, "选中删除对象有已开料板件,请联系管理员修改开料状态后再删除!");
public static final ErrorCode ORDER_ERROR = new ErrorCode(1_001_109_002, "当前生产单柜体,房间已全部删除!");
public static final ErrorCode PLATE_IS_PLAN = new ErrorCode(1_001_109_002, "删除对象中有已排单板件,请将该对象从排单中移除后再选择删除!");
public static final ErrorCode ORDER_ERROR = new ErrorCode(1_001_109_003, "当前生产单柜体,房间已全部删除!");
// ========== 生产单 TODO 补充编号 ==========
public static final ErrorCode MODULE_NOT_EXISTS = new ErrorCode(1_001_110_000, "模块不存在");
@@ -46,18 +46,4 @@ public class PlanSaveReqVO {
private List<OrderPlateIds> deleteOrderPlateIds;
// @Schema(description = "排单类型:1 混单排单,2 生产单排单", requiredMode = Schema.RequiredMode.REQUIRED)
// @NotNull(message = "排单类型:1 混单排单,2 生产单排单不能为空", groups = CreateGroup.class)
// @PlanTypeValid
// private Integer type;
// @Schema(description = "板材过滤条件")
// @Size(max = 7,message = "板材过滤条件数量不正确")
// private List<String> filter;
}
@@ -53,7 +53,7 @@ public class NoPlanPlatePageReqVO extends PageParam {
@Schema(description = "板名称")
private String name;
private String plateName;
@Schema(description = "长 小范围")
@@ -1399,7 +1399,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
Date date = new Date();
Long goodsNum = null;
long goodsNum = 0L;
List<String> planNo = new ArrayList<>();
@@ -1425,20 +1425,22 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
if(OrderPlateCutStatusEnum.NOCUTTING.getStatus().equals(cutedType)){
// 开料的大板数量
Long cutedBoardNumber = Optional.ofNullable(optimizeBoardModelDO.getCutedBoardNumber()).orElseThrow(()-> new ServiceException(UPDATE_NO_PLAN_PLATE_DATA_ERROR));
long cutedBoardNumber = Optional.ofNullable(optimizeBoardModelDO.getCutedBoardNumber()).orElse(0L);
// 开料的小板数量
Long cutedBlockNumber = Optional.ofNullable(optimizeBoardModelDO.getCutedBlockNumber()).orElseThrow(()-> new ServiceException(UPDATE_NO_PLAN_PLATE_DATA_ERROR));
long cutedBlockNumber = Optional.ofNullable(optimizeBoardModelDO.getCutedBlockNumber()).orElse(0L);
cutedBoardNumber -= goodsNo.size();
if(cutedBoardNumber != 0L && cutedBlockNumber != 0L) {
cutedBlockNumber -= planNo.size();
cutedBoardNumber -= goodsNo.size();
goodsNum = cutedBoardNumber;
cutedBlockNumber -= planNo.size();
objectObjectHashMap.put("cutedBoardNumber", cutedBoardNumber);
objectObjectHashMap.put("cutedBlockNumber", cutedBlockNumber);
goodsNum = cutedBoardNumber;
objectObjectHashMap.put("cutedBoardNumber", cutedBoardNumber);
objectObjectHashMap.put("cutedBlockNumber", cutedBlockNumber);
}
}
@@ -35,7 +35,6 @@ import com.cf.imes.module.executor.dal.dataobject.ordermodel.OrderModelDO;
import com.cf.imes.module.executor.dal.dataobject.ordermodel.OrderPlateList;
import com.cf.imes.module.executor.dal.dataobject.pack.OrderPackageDO;
import com.cf.imes.module.executor.dal.dataobject.plan.PlanDO;
import com.cf.imes.module.executor.dal.dataobject.planitem.PlanItemDO;
import com.cf.imes.module.executor.dal.dataobject.plate.PlateDO;
import com.cf.imes.module.executor.dal.dataobject.plate.PlateGoodDO;
import com.cf.imes.module.executor.dal.dataobject.rawgoods.RawGoodsDO;
@@ -74,7 +73,6 @@ import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URLEncoder;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.*;
@@ -295,8 +293,8 @@ public class OrderServiceImpl implements OrderService {
@Transactional(rollbackFor = Exception.class)
public void updateDeleteBody(Long orderId, Set<Long> roomIds, Long bodyId, Integer status) { // 要删除传1,还原传0
// 判断生产单的状态和生产单柜体对应的板是否已开料
List<Long> planIds = validateOrderStatus(orderId, roomIds, bodyId, getUserOrganId());
// 判断生产单的状态和生产单柜体对应的板是否已经排单
validateOrderStatus(orderId, roomIds, bodyId, getUserOrganId());
List<Long> bodyIds = validateOrderBodyExists(orderId, bodyId, getUserOrganId(), roomIds, OrderDeletedEnum.NOT_DELETED.getStatus());
@@ -312,14 +310,14 @@ public class OrderServiceImpl implements OrderService {
if (!plateDOList.isEmpty()) {
// 删除小板,大板,包裹,排单信息
// 删除小板,大板,包裹,目前只要小板排单,就不能删除小板信息
OrderServiceImpl o = (OrderServiceImpl) AopContext.currentProxy();
o.updateDeletePlate(plateDOList, orderId, bodyIds, planIds);
o.updateDeletePlate(plateDOList, orderId, bodyIds);
}
// 删除配件信息
List<Long> partsList = orderPartsMapper.selectPartsIdListByBodyId(bodyIds, getUserOrganId(), orderId); // 配件
List<Long> partsList = orderPartsMapper.selectPartsIdListByBodyId(bodyIds, getUserOrganId(), orderId);
if (!partsList.isEmpty()){
// // 判断是否含有重复的配件
@@ -1059,7 +1057,7 @@ public class OrderServiceImpl implements OrderService {
}
// 判断生产单状态是否符合(如果已开料,不允许删除)
private List<Long> validateOrderStatus(Long orderId,Set<Long> roomIds, Long bodyId, Long organId) {
private void validateOrderStatus(Long orderId,Set<Long> roomIds, Long bodyId, Long organId) {
// 校验存在
OrderDO orderDO = orderMapper.selectOrderOne(orderId, organId);
if (orderDO == null)
@@ -1073,23 +1071,24 @@ public class OrderServiceImpl implements OrderService {
// 判断小板是否已开料,已开料不允许删除
List<Long> planIds = orderItemMapper.selectOrderPlanList(orderId,roomIds,bodyId,organId);
if(!planIds.isEmpty()) {
AssertUtils.empty(planIds, PLATE_IS_PLAN);
List<PlanDO> planDOS = planMapper.selectPlanStatus(planIds, organId);
// if(CollUtil.isNotEmpty(planIds)) {
//
// List<PlanDO> planDOS = planMapper.selectPlanStatus(planIds, organId);
//
// AssertUtils.empty(planDOS, ORDER_PLAN_ERROR);
//
// }
AssertUtils.empty(planDOS, ORDER_PLAN_ERROR);
}
return planIds;
}
// 删除小板,大板,包裹,排单信息
// 删除小板,大板,包裹
@Transactional(rollbackFor = Exception.class)
public void updateDeletePlate(List<PlateDO> plateDOList, Long orderId ,List<Long> bodyIds,List<Long> planIds) {
public void updateDeletePlate(List<PlateDO> plateDOList, Long orderId ,List<Long> bodyIds) {
List<Long> plateIds = plateDOList.stream().map(PlateDO::getId).toList();
@@ -1099,12 +1098,6 @@ public class OrderServiceImpl implements OrderService {
// 删除小板的信息 和 排单小板关联表中的小板信息
plateMapper.updateDeletedPlate(plateIds, getUserOrganId(), orderId);
planItemMapper.delete(new LambdaQueryWrapperX<PlanItemDO>()
.eq(PlanItemDO::getOrganId, getUserOrganId())
.eq(PlanItemDO::getOrderId,orderId)
.in(PlanItemDO::getPlateId, plateIds)
.in(PlanItemDO::getPlanId, planIds));
// 删除包裹,只需删除,无需还原
List<Long> packIds = orderItemMapper.selectPackId(orderId,bodyIds, getUserOrganId()).stream().map(OrderItemDO::getPackageId).distinct().toList();
@@ -1145,20 +1138,28 @@ public class OrderServiceImpl implements OrderService {
}
if (!planIds.isEmpty()) {
// 判断删除的柜体对应的板材是否和排单板材一样
List<GoodsDO> goodsDOS = goodsMapper.selectPlanGoodsListByPlanIdList(null,planIds, getUserOrganId());
// 一样,同时删除排单的信息
if (goodsDOS.isEmpty()) {
planService.deletePlan(planIds);
} else {
// 只要有排单,不管删除的柜体的板材数和排单数一样,都要删除排单对应的优化数据(不用这种写法进行删除时,有时会报错,原因目前还没找到)
esUtils.deleteEsDocument("planId",planIds,ORDER_REMAIN_PLATE_MODEL);
}
}
// if (CollUtil.isNotEmpty(planIds)) {
//
// planItemMapper.delete(new LambdaQueryWrapperX<PlanItemDO>()
// .eq(PlanItemDO::getOrganId, getUserOrganId())
// .eq(PlanItemDO::getOrderId, orderId)
// .in(PlanItemDO::getPlateId, plateIds)
// .in(PlanItemDO::getPlanId, planIds));
//
// // 删除小板信息需要确认:优化画图的信息是否都在 余料的那个字段里
//
// // 判断删除的柜体对应的板材是否和排单板材一样
// List<GoodsDO> goodsDOS = goodsMapper.selectPlanGoodsListByPlanIdList(null,planIds, getUserOrganId());
//
// // 一样,同时删除排单的信息
// if (goodsDOS.isEmpty()) {
// planService.deletePlan(planIds);
// } else {
// // 只要有排单,不管删除的柜体的板材数和排单数一样,都要删除排单对应的优化数据(不用这种写法进行删除时,有时会报错,原因目前还没找到)
// esUtils.deleteEsDocument("planId",planIds,ORDER_REMAIN_PLATE_MODEL);
// }
//
// }
}
@@ -1185,55 +1186,55 @@ public class OrderServiceImpl implements OrderService {
}
// 当大板对应的小板已经排单时,新建相同类型的大板,并将其他未排单的小板对应的大板ID修改为新的大板ID
List<GoodsDO> goodsDOList = goodsMapper.selectNoPlanGoodsList(orderId, goodsIds, getUserOrganId());
List<GoodsDO> goodsList = BeanUtils.toBean(goodsDOList, GoodsDO.class);
if (!goodsDOList.isEmpty()) {
// 新增的大板信息
List<GoodsDO> list = goodsDOList.stream()
.peek(m -> {
m.setId(null);
m.setPlanId(0L);
m.setCreateTime(LocalDateTime.now());
m.setUpdateTime(LocalDateTime.now());
})
.toList();
goodsMapper.insertBatch(list);
// 构建新的数据集,保存新的大板ID和旧的大板ID,大板的实际ID关联这两个信息
List<OrderGoodsIds> orderGoodsIds = BeanUtils.toBean(list, OrderGoodsIds.class);
List<OrderGoodsIds> orderGoodsIdsList = new ArrayList<>();
for (GoodsDO goodsDO : goodsList) {
orderGoodsIdsList.addAll(orderGoodsIds.stream()
.filter(f -> f.getGoodsId().equals(goodsDO.getGoodsId()))
.map(m -> m.setOldId(goodsDO.getId())).toList());
}
// 需要修改的小板为未排单的部分,无论其是否删除,都需要修改,但只需修改大板ID即可,其他信息无需修改
List<PlateDO> plateDOS = plateMapper.selectNoPlanPlate(orderId, goodsIds, getUserOrganId());
List<PlateDO> plateList = new ArrayList<>();
for (OrderGoodsIds ids : orderGoodsIdsList) {
plateList.addAll(plateDOS.stream()
.filter(f -> f.getGoodsId().equals(ids.getOldId()))
.peek(m -> {
m.setGoodsId(ids.getId());
})
.toList());
}
plateMapper.updateBatch(plateList);
}
// // 当大板对应的小板已经排单时,新建相同类型的大板,并将其他未排单的小板对应的大板ID修改为新的大板ID
// List<GoodsDO> goodsDOList = goodsMapper.selectNoPlanGoodsList(orderId, goodsIds, getUserOrganId());
//
// List<GoodsDO> goodsList = BeanUtils.toBean(goodsDOList, GoodsDO.class);
//
// if (!goodsDOList.isEmpty()) {
//
// // 新增的大板信息
// List<GoodsDO> list = goodsDOList.stream()
// .peek(m -> {
// m.setId(null);
// m.setPlanId(0L);
// m.setCreateTime(LocalDateTime.now());
// m.setUpdateTime(LocalDateTime.now());
// })
// .toList();
//
// goodsMapper.insertBatch(list);
//
// // 构建新的数据集,保存新的大板ID和旧的大板ID,大板的实际ID关联这两个信息
// List<OrderGoodsIds> orderGoodsIds = BeanUtils.toBean(list, OrderGoodsIds.class);
//
// List<OrderGoodsIds> orderGoodsIdsList = new ArrayList<>();
//
// for (GoodsDO goodsDO : goodsList) {
// orderGoodsIdsList.addAll(orderGoodsIds.stream()
// .filter(f -> f.getGoodsId().equals(goodsDO.getGoodsId()))
// .map(m -> m.setOldId(goodsDO.getId())).toList());
//
// }
//
// // 需要修改的小板为未排单的部分,无论其是否删除,都需要修改,但只需修改大板ID即可,其他信息无需修改
// List<PlateDO> plateDOS = plateMapper.selectNoPlanPlate(orderId, goodsIds, getUserOrganId());
//
// List<PlateDO> plateList = new ArrayList<>();
//
// for (OrderGoodsIds ids : orderGoodsIdsList) {
//
// plateList.addAll(plateDOS.stream()
// .filter(f -> f.getGoodsId().equals(ids.getOldId()))
// .peek(m -> {
// m.setGoodsId(ids.getId());
// })
// .toList());
// }
//
// plateMapper.updateBatch(plateList);
//
// }
}
@@ -22,6 +22,7 @@ import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils;
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderRespVO;
import com.cf.imes.module.executor.controller.admin.plan.bo.OrderRoomBodyList;
import com.cf.imes.module.executor.controller.admin.plan.saveOptimize.PlatePlaceInfo;
import com.cf.imes.module.executor.controller.admin.plan.saveOptimize.RemainBoardInfo;
import com.cf.imes.module.executor.controller.admin.plan.vo.*;
import com.cf.imes.module.executor.controller.admin.plate.vo.OrderPlateIds;
import com.cf.imes.module.executor.dal.dataobject.goods.GoodsDO;
@@ -44,7 +45,6 @@ import com.cf.imes.module.executor.enums.OrderStatusEnum;
import com.cf.imes.module.executor.util.elasticsearch.EsUtils;
import com.cf.imes.module.system.api.systemconfig.SystemConfigApi;
import com.cf.imes.module.system.api.systemconfig.dto.SystemConfigRespDTO;
import com.fasterxml.jackson.core.type.TypeReference;
import lombok.extern.slf4j.Slf4j;
import org.springframework.aop.framework.AopContext;
import org.springframework.stereotype.Service;
@@ -63,7 +63,7 @@ import java.util.stream.Stream;
import static com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants.DATA_DATA_ERROR;
import static com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants.ES_DATA_ERROR;
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.cf.imes.framework.common.util.json.JsonUtils.parseObject;
import static com.cf.imes.framework.common.util.json.JsonUtils.parseArray;
import static com.cf.imes.framework.common.util.json.JsonUtils.toJsonString;
import static com.cf.imes.framework.common.util.string.SearchUtil.insertSeparator;
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
@@ -274,11 +274,10 @@ public class PlanServiceImpl implements PlanService {
}
List<PlateDO> plateDOS = plateMapper.selectBatchIds(plateIds);
List<PlateDO> plateDOList = plateDOS.stream().filter(f -> f.getIsOptimized().equals(true)).toList();
List<PlanItemDO> plateList = planItemMapper.selectIsPlanPlateList(orderIds, plateIds, getUserOrganId());
AssertUtils.empty(plateDOList,CREAT_PLAN_PLATE_DATA_ERROR);
AssertUtils.empty(plateList,CREAT_PLAN_PLATE_DATA_ERROR);
List<OrderDO> orderDOList = orderMapper.selectBatchIds(orderIds);
@@ -1058,6 +1057,16 @@ public class PlanServiceImpl implements PlanService {
List<PlanDO> planDOS = validatePlanExists(deletePlanIds);
List<Long> processIds = new ArrayList<>();
planDOS.forEach(f->{
if (f.getStatus().equals(PlanStatusEnum.OPENED.getStatus())) {
throw exception(PLAN_PLATE_IS_ALL_CUT,f.getId());
}
processIds.add(Optional.ofNullable(f.getProcessId()).orElseThrow(() -> exception(PLAN_PROCESS_CONFIG_IS_NULL,f.getId())));
});
Integer processSize = systemConfigApi.getProcessSizeByIds(processIds).getCheckedData();
for (PlanDO planDO : planDOS) {
if (planDO.getStatus().equals(PlanStatusEnum.OPENED.getStatus())) {
throw exception(PLAN_PLATE_IS_ALL_CUT,planDO.getId());
@@ -1087,7 +1096,7 @@ public class PlanServiceImpl implements PlanService {
// 删除优化生产中未开料的小板的优化数据
List<OptimizeBoardModelDO> optimizeBoardModelDOS = esUtils.getEsDocument(FIELD_PLANID, 1L, 10, ORDER_REMAIN_PLATE_MODEL, OptimizeBoardModelDO.class);
List<OptimizeBoardModelDO> optimizeBoardModelDOS = esUtils.getEsDocument(FIELD_PLANID, deletePlanIds, processSize, ORDER_REMAIN_PLATE_MODEL, OptimizeBoardModelDO.class);
if(CollUtil.isNotEmpty(optimizeBoardModelDOS)){
@@ -1096,17 +1105,33 @@ public class PlanServiceImpl implements PlanService {
optimizeBoardModelDOS.forEach(f->{
List<PlatePlaceInfo> asJsonObject = parseObject(f.getBlockPlaceInfo(), new TypeReference<>() {});
String blockPlaceInfo = Optional.ofNullable(f.getBlockPlaceInfo()).orElseThrow(() -> new ServiceException(ORDER_PLAN_OPTIMIZE_ERROR));
String remainBoardInfo = Optional.ofNullable(f.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.contains(fi.getBo()))
.toList();
String blockPlaceInfo = toJsonString(platePlaceInfos);
f.setBlockPlaceInfo(blockPlaceInfo);
f.setBlockPlaceInfo(toJsonString(platePlaceInfos));
f.setPlaceBlockNumber((long) platePlaceInfos.size());
List<RemainBoardInfo> remainBoardInfos = new ArrayList<>(parseArray(remainBoardInfo, RemainBoardInfo.class));
remainBoardInfos.forEach(r->{
r.getPlaceBoardList().forEach(p->{
p.setBlocks(p.getBlocks().stream()
.filter(bl->!plateNo.contains(bl.getBlockId()))
.toList());
});
});
f.setRemainBoardInfo(toJsonString(remainBoardInfos));
});
try {
@@ -307,7 +307,7 @@ public class PlateServiceImpl implements PlateService {
.inIfPresent("op.goods_id",pageReqVO.getGoodsIdList())
.likeIfPresent("o.id", pageReqVO.getOrderId() != null ? pageReqVO.getOrderId() : null)
.likeIfPresent("op.id",pageReqVO.getPlateId())
.likeIfPresent("op.name",pageReqVO.getName())
.likeIfPresent("op.name",pageReqVO.getPlateName())
.likeIfPresent("op.plate_no",pageReqVO.getPlateNo())
.likeIfPresent("op.custom_plate_no",pageReqVO.getCustomPlateNo())
.likeIfPresent("og.material",pageReqVO.getMaterial())
@@ -365,6 +365,8 @@
#{roomIds}
</foreach>
</if>
and opi.plan_id is not null
</where>
@@ -37,6 +37,9 @@ public interface SystemConfigApi {
@Operation(summary = "获取排单下的加工方案组的配置信息")
CommonResult<List<SystemConfigRespDTO>> getProcessByIds(@RequestParam("processIds") List<Long> processIds);
@GetMapping(PREFIX + "/organ/process-config-size")
@Operation(summary = "获取方案组对应的配置数量")
CommonResult<Integer> getProcessSizeByIds(@RequestParam("processIds") List<Long> processIds);
@GetMapping(PREFIX + "/organ/default-process-config")
@Operation(summary = "获取默认的加工方案组的配置信息")
@@ -343,6 +343,8 @@ public class ErrorCodeConstants {
public static final ErrorCode PLAN_PLATE_OPTIMIZE_DATA_ERROR = new ErrorCode(1_002_041_037, "当前排单对应的优化数据异常,请重新进行优化");
public static final ErrorCode THIS_ORDER_PLATE_DATA_ERROR = new ErrorCode(1_002_041_038, "当前选择的生产单数据为空,请检查生产单信息或者重新导入生产单");
public static final ErrorCode THIS_PLAN_PLATE_DATA_ERROR = new ErrorCode(1_002_041_039, "当前排单对应的板材数据为空,请重新进行排单或检查生产单对应的板材信息");
public static final ErrorCode PLAN_PROCESS_CONFIG_IS_NULL = new ErrorCode(1_002_041_040, "排单:{} 对应的方案组为空,请进行配置");
public static final ErrorCode PLAN_PROCESS_CONFIG_ALL_IS_NULL = new ErrorCode(1_002_041_041, "当前所选排单对应的方案组配置均为空,请重新进行方案组配置");
@@ -26,10 +26,12 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.cf.imes.framework.common.pojo.CommonResult.success;
import static com.cf.imes.framework.common.util.json.JsonUtils.*;
import static com.cf.imes.framework.common.util.json.JsonUtils.parseArray;
import static com.cf.imes.framework.common.util.json.JsonUtils.unzipString;
import static com.cf.imes.module.system.enums.ErrorCodeConstants.*;
/**
@@ -82,6 +84,43 @@ public class SystemConfigApiImpl implements SystemConfigApi {
return success(BeanUtils.toBean(systemConfigDOS,SystemConfigRespDTO.class));
}
@Override
public CommonResult<Integer> getProcessSizeByIds(List<Long> processIds) {
List<SystemConfigDO> systemConfigDOS = systemConfigMapper.selectList(new LambdaQueryWrapperX<SystemConfigDO>()
.eq(SystemConfigDO::getOrganId, OrganContextHolder.getOrganId())
.in(SystemConfigDO::getId, processIds)
.select(SystemConfigDO::getId,SystemConfigDO::getSetting));
if(CollUtil.isEmpty(systemConfigDOS)){
throw exception(PLAN_PROCESS_CONFIG_ALL_IS_NULL);
}
AtomicReference<Integer> processSize = new AtomicReference<>(0);
systemConfigDOS.forEach(f->{
try {
List<ProcessSchemeConfig> processSchemeConfigs = parseArray(f.getSetting(), ProcessSchemeConfig.class);
processSize.updateAndGet(v -> v + processSchemeConfigs.size());
}catch (Exception e){
log.error(e.getMessage());
throw exception(SYSTEM_PROCESS_SCHEME_CONFIG_FIELD_ERROR);
}
});
if(processSize.get() == 0){
throw exception(PLAN_PROCESS_CONFIG_ALL_IS_NULL);
}
return success(processSize.get());
}
@Override
public CommonResult<SystemConfigRespDTO> getDefaultProcessConfig() {