From 4fe67c9dbda301a008ec1a66c25dffc497b17b07 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Fri, 21 Mar 2025 14:47:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9Ewebcad=E7=94=9F=E4=BA=A7?= =?UTF-8?q?=E5=8D=95=E5=AF=BC=E5=85=A5=EF=BC=9A1=E3=80=81=E7=A7=BB?= =?UTF-8?q?=E9=99=A4=E5=B0=81=E8=BE=B9=E6=9D=A1=E9=85=8D=E4=BB=B6=E5=AF=B9?= =?UTF-8?q?=E5=BA=94=E9=80=BB=E8=BE=91=EF=BC=9B2=E3=80=81=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=B0=81=E8=BE=B9=E6=9D=A1=E5=AE=BD=E5=BA=A6=E9=80=9A?= =?UTF-8?q?=E8=BF=87=E7=B3=BB=E7=BB=9F=E9=85=8D=E7=BD=AE=E5=8C=B9=E9=85=8D?= =?UTF-8?q?=E5=AE=BD=E5=BA=A6=E5=80=BC=E9=80=BB=E8=BE=91=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/plan/enums/ErrorCodeConstants.java | 5 +- .../webcad/vo/WebCadDataPartsReqVO.java | 21 +- .../WebCadOrderImportServiceImpl.java | 10 +- .../factory/WebCadOrderImportFactory.java | 179 ++++++++++++------ .../api/systemconfig/SystemConfigApi.java | 3 + .../dto/SystemConfigSealEdgeRespDTO.java | 34 ++++ .../api/systemconfig/SystemConfigApiImpl.java | 10 + 7 files changed, 197 insertions(+), 65 deletions(-) create mode 100644 cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/systemconfig/dto/SystemConfigSealEdgeRespDTO.java diff --git a/cf-module-prod-plan/cf-module-prod-plan-api/src/main/java/com/cf/imes/module/plan/enums/ErrorCodeConstants.java b/cf-module-prod-plan/cf-module-prod-plan-api/src/main/java/com/cf/imes/module/plan/enums/ErrorCodeConstants.java index 0ebe238cd..b36bf411e 100644 --- a/cf-module-prod-plan/cf-module-prod-plan-api/src/main/java/com/cf/imes/module/plan/enums/ErrorCodeConstants.java +++ b/cf-module-prod-plan/cf-module-prod-plan-api/src/main/java/com/cf/imes/module/plan/enums/ErrorCodeConstants.java @@ -15,6 +15,7 @@ public class ErrorCodeConstants { public static final ErrorCode WEBCAD_ORDER_IMPORT_ORGANID_EMPTY_ERROR = new ErrorCode(1_005_000_005, "导入失败:无法获取机构信息,请检查cadtoken是否配置正确"); public static final ErrorCode WEBCAD_ORDER_IMPORT_FAILED = new ErrorCode(1_005_000_006, "导入失败:请检查拆单数据"); public static final ErrorCode WEBCAD_ORDER_IMPORT_PLATE_NOT_EXIST_ERROR = new ErrorCode(1_005_000_007, "导入失败:板材对应失败,板材库中不存在对应板材【{}】"); - public static final ErrorCode WEBCAD_ORDER_IMPORT_SEAL_NOT_EXIST_ERROR = new ErrorCode(1_005_000_008, "导入失败:封边条对应失败,配件库中不存在对应封边条【{}】"); - public static final ErrorCode WEBCAD_ORDER_IMPORT_SAVEDATA_ERROR = new ErrorCode(1_005_000_009, "导入失败:数据保存异常,请检查拆单数据"); + public static final ErrorCode WEBCAD_ORDER_IMPORT_SAVEDATA_ERROR = new ErrorCode(1_005_000_008, "导入失败:数据保存异常,请检查拆单数据"); + public static final ErrorCode WEBCAD_ORDER_IMPORT_GET_ORG_SEALEDGE_ERROR = new ErrorCode(1_005_000_009, "导入失败:获取组织封边对应配置异常,请检查服务"); + public static final ErrorCode WEBCAD_ORDER_IMPORT_ORG_SEALEDGE_ANALYZE_ERROR = new ErrorCode(1_005_000_010, "导入失败:组织封边对应配置解析异常,请检查配置"); } diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataPartsReqVO.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataPartsReqVO.java index fddc9fffa..6a138de53 100644 --- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataPartsReqVO.java +++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataPartsReqVO.java @@ -58,16 +58,14 @@ public class WebCadDataPartsReqVO { private String remark; - private String goodsId; - - private String partId; - private Integer objectId; private Long imesPartsId; private List groupInfos = new ArrayList<>(); + private GroupDataDTO groupData; + @NoArgsConstructor @Data public static class GroupInfo { @@ -77,6 +75,21 @@ public class WebCadDataPartsReqVO { private Double height; private Double depth; } + + @NoArgsConstructor + @Data + public static class GroupDataDTO { + @JsonProperty("size") + private Integer size; + @JsonProperty("material") + private String material; + @JsonProperty("boardName") + private String boardName; + @JsonProperty("thickness") + private Integer thickness; + @JsonProperty("color") + private String color; + } } @NoArgsConstructor diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/WebCadOrderImportServiceImpl.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/WebCadOrderImportServiceImpl.java index 07245b3cc..ebcbeb5e9 100644 --- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/WebCadOrderImportServiceImpl.java +++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/WebCadOrderImportServiceImpl.java @@ -16,13 +16,13 @@ import com.cf.imes.module.plan.dal.mysql.orderBody.OrderBodyMapper; import com.cf.imes.module.plan.dal.mysql.orderGroup.OrderGroupMapper; import com.cf.imes.module.plan.dal.mysql.orderItem.OrderItemMapper; import com.cf.imes.module.plan.dal.mysql.orderParts.OrderPartsMapper; -import com.cf.imes.module.plan.dal.mysql.orderParts.PartsMapper; import com.cf.imes.module.plan.dal.mysql.plate.PlateGoodMapper; import com.cf.imes.module.plan.dal.mysql.plate.PlateMapper; import com.cf.imes.module.plan.dal.mysql.rawgoods.RawGoodsMapper; import com.cf.imes.module.plan.service.customplateno.CustomPlateNoGenerateService; import com.cf.imes.module.plan.service.order.OrderInputProcessor; import com.cf.imes.module.plan.service.orderImport.factory.WebCadOrderImportFactory; +import com.cf.imes.module.system.api.systemconfig.SystemConfigApi; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.jdbc.datasource.DataSourceTransactionManager; @@ -69,9 +69,6 @@ public class WebCadOrderImportServiceImpl implements WebCadOrderImportService { @Resource private OrderInputProcessor orderInputProcessor; - @Resource - private PartsMapper partsMapper; - @Resource private OrderPartsMapper orderPartsMapper; @@ -96,6 +93,9 @@ public class WebCadOrderImportServiceImpl implements WebCadOrderImportService { @Resource private DataSourceTransactionManager transactionManager; + @Resource + private SystemConfigApi systemConfigApi; + @Override @Transactional(rollbackFor = Exception.class) public void webCadOrderImport(WebCadDataReqVO webCadDataReqVO) { @@ -112,7 +112,7 @@ public class WebCadOrderImportServiceImpl implements WebCadOrderImportService { throw new ServiceException(ORDER_IMPORT_ORGAN_LOCK_ERROR); } WebCadOrderImportFactory webCadOrderImportFactory = new WebCadOrderImportFactory(organId, orderMapper, snowFlakeGenerator, orderBodyMapper, plateMapper, orderItemMapper, orderGroupMapper, - idWorker, orderInputProcessor, partsMapper, orderPartsMapper, goodsMapper, rawGoodsMapper, plateGoodMapper, customPlateNoGenerateService, transactionManager); + idWorker, orderInputProcessor, orderPartsMapper, goodsMapper, rawGoodsMapper, plateGoodMapper, customPlateNoGenerateService, transactionManager, systemConfigApi); webCadOrderImportFactory.analyzeTempData(webCadDataReqVO); } catch (ServiceException se) { throw se; diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/factory/WebCadOrderImportFactory.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/factory/WebCadOrderImportFactory.java index 1d24f487f..f5904aa4d 100644 --- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/factory/WebCadOrderImportFactory.java +++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/factory/WebCadOrderImportFactory.java @@ -6,10 +6,14 @@ import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.excel.util.ListUtils; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.cf.imes.framework.common.exception.ErrorCode; import com.cf.imes.framework.common.exception.ServiceException; import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil; +import com.cf.imes.framework.common.pojo.CommonResult; import com.cf.imes.framework.id.core.util.SnowflakeIdWorker3rd; import com.cf.imes.framework.mybatis.core.generator.SnowFlakeGenerator; import com.cf.imes.framework.mybatis.core.injector.BaseBatchMapper; @@ -30,7 +34,6 @@ import com.cf.imes.module.plan.dal.dataobject.orderBody.OrderBodyDO; import com.cf.imes.module.plan.dal.dataobject.orderGroup.OrderGroupDO; import com.cf.imes.module.plan.dal.dataobject.orderItem.OrderItemDO; import com.cf.imes.module.plan.dal.dataobject.orderParts.OrderPartsDO; -import com.cf.imes.module.plan.dal.dataobject.orderParts.PartsDO; import com.cf.imes.module.plan.dal.dataobject.ordermodel.OrderModelDO; import com.cf.imes.module.plan.dal.dataobject.plate.PlateDO; import com.cf.imes.module.plan.dal.dataobject.plate.PlateGoodDO; @@ -41,13 +44,15 @@ import com.cf.imes.module.plan.dal.mysql.orderBody.OrderBodyMapper; import com.cf.imes.module.plan.dal.mysql.orderGroup.OrderGroupMapper; import com.cf.imes.module.plan.dal.mysql.orderItem.OrderItemMapper; import com.cf.imes.module.plan.dal.mysql.orderParts.OrderPartsMapper; -import com.cf.imes.module.plan.dal.mysql.orderParts.PartsMapper; import com.cf.imes.module.plan.dal.mysql.plate.PlateGoodMapper; import com.cf.imes.module.plan.dal.mysql.plate.PlateMapper; import com.cf.imes.module.plan.dal.mysql.rawgoods.RawGoodsMapper; import com.cf.imes.module.plan.service.customplateno.CustomPlateNoGenerateService; import com.cf.imes.module.plan.service.customplateno.vo.CustomPlateNoGenerateConfigVO; import com.cf.imes.module.plan.service.order.OrderInputProcessor; +import com.cf.imes.module.system.api.systemconfig.SystemConfigApi; +import com.cf.imes.module.system.api.systemconfig.dto.SystemConfigRespDTO; +import com.cf.imes.module.system.api.systemconfig.dto.SystemConfigSealEdgeRespDTO; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.springframework.jdbc.datasource.DataSourceTransactionManager; @@ -56,6 +61,7 @@ import org.springframework.transaction.TransactionStatus; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; @@ -67,9 +73,10 @@ import java.util.concurrent.Executors; import java.util.concurrent.atomic.AtomicBoolean; import java.util.stream.Collectors; +import static com.cf.imes.module.plan.enums.ErrorCodeConstants.WEBCAD_ORDER_IMPORT_GET_ORG_SEALEDGE_ERROR; +import static com.cf.imes.module.plan.enums.ErrorCodeConstants.WEBCAD_ORDER_IMPORT_ORG_SEALEDGE_ANALYZE_ERROR; import static com.cf.imes.module.plan.enums.ErrorCodeConstants.WEBCAD_ORDER_IMPORT_PLATE_NOT_EXIST_ERROR; import static com.cf.imes.module.plan.enums.ErrorCodeConstants.WEBCAD_ORDER_IMPORT_SAVEDATA_ERROR; -import static com.cf.imes.module.plan.enums.ErrorCodeConstants.WEBCAD_ORDER_IMPORT_SEAL_NOT_EXIST_ERROR; import static com.cf.imes.module.plan.enums.ErrorCodeConstants.WEBCAD_ORDER_NOT_EXISTS_ERROR; import static com.cf.imes.module.plan.service.order.OrderInputProcessor.ORDER_PLATE_MODEL; @@ -102,7 +109,7 @@ public class WebCadOrderImportFactory { private OrderInputProcessor orderInputProcessor; - private PartsMapper partsMapper; + private SystemConfigApi systemConfigApi; private OrderPartsMapper orderPartsMapper; @@ -154,6 +161,7 @@ public class WebCadOrderImportFactory { private List orderModelDOS = ListUtils.newArrayListWithExpectedSize(BATCH_THRESHOLD_NUMBER); private List rawGoodsDOS = ListUtils.newArrayListWithExpectedSize(BATCH_THRESHOLD_NUMBER); private List goodsDOS = ListUtils.newArrayListWithExpectedSize(BATCH_THRESHOLD_NUMBER); + private List sealEdgeConfigList; private static String PART_CATEGORY_ONE = "封边条"; @@ -170,13 +178,13 @@ public class WebCadOrderImportFactory { OrderGroupMapper orderGroupMapper, SnowflakeIdWorker3rd idWorker, OrderInputProcessor orderInputProcessor, - PartsMapper partsMapper, OrderPartsMapper orderPartsMapper, GoodsMapper goodsMapper, RawGoodsMapper rawGoodsMapper, PlateGoodMapper plateGoodMapper, CustomPlateNoGenerateService customPlateNoGenerateService, - DataSourceTransactionManager transactionManager) { + DataSourceTransactionManager transactionManager, + SystemConfigApi systemConfigApi) { this.organId = organId; this.orderMapper = orderMapper; this.snowFlakeGenerator = snowFlakeGenerator; @@ -186,16 +194,17 @@ public class WebCadOrderImportFactory { this.orderGroupMapper = orderGroupMapper; this.idWorker = idWorker; this.orderInputProcessor = orderInputProcessor; - this.partsMapper = partsMapper; this.orderPartsMapper = orderPartsMapper; this.goodsMapper = goodsMapper; this.rawGoodsMapper = rawGoodsMapper; this.plateGoodMapper = plateGoodMapper; this.customPlateNoGenerateService = customPlateNoGenerateService; this.transactionManager = transactionManager; + this.systemConfigApi = systemConfigApi; operatorName = SecurityFrameworkUtils.getLoginUser().getNickname(); now = LocalDateTime.now(); batchId = (Long) snowFlakeGenerator.nextId(null); + sealEdgeConfigList = new ArrayList<>(); } public void analyzeTempData(WebCadDataReqVO webCadDataReqVO) { @@ -203,6 +212,9 @@ public class WebCadOrderImportFactory { // 获取自定义板编号配置 plateNoGenerateConfigVO = customPlateNoGenerateService.getPlateNoGenerateConfig(orderId); + // 获取系统配置-封边对应配置 + getOrgSealEdgeConfig(); + // 解析生产单信息 analyzeOrder(webCadDataReqVO.getOrders()); @@ -238,6 +250,42 @@ public class WebCadOrderImportFactory { } } + /** + * 获取组织封边条对应配置 + */ + private void getOrgSealEdgeConfig() { + CommonResult> orgSealEdgeConfig = systemConfigApi.getOrgSealEdgeConfig(); + boolean success = orgSealEdgeConfig.isSuccess(); + if (success) { + try { + List orgSealEdgeConfigCheckedData = orgSealEdgeConfig.getCheckedData(); + if (CollUtil.isNotEmpty(orgSealEdgeConfigCheckedData)) { + // 默认取第一条为配置 + SystemConfigRespDTO sealEdgeConfig = orgSealEdgeConfigCheckedData.get(0); + String setting = sealEdgeConfig.getSetting(); + // 封边对应配置转列表 + JSONArray jsonArray = JSON.parseArray(setting); + for (int i = 0; i < jsonArray.size(); i++) { + JSONObject jsonObject = jsonArray.getJSONObject(i); + String widthMin = jsonObject.getString("widthMin"); + String widthMax = jsonObject.getString("widthMax"); + String widthValue = jsonObject.getString("widthValue"); + + if (StringUtils.isNotEmpty(widthMin) && StringUtils.isNotEmpty(widthMax) && StringUtils.isNotEmpty(widthValue)) { + sealEdgeConfigList.add(new SystemConfigSealEdgeRespDTO(Integer.parseInt(widthMin), Integer.parseInt(widthMax), Integer.parseInt(widthValue))); + } + } + } + } catch (Exception e) { + ErrorCode webcadOrderImportOrgSealedgeAnalyzeError = WEBCAD_ORDER_IMPORT_ORG_SEALEDGE_ANALYZE_ERROR; + log.error(webcadOrderImportOrgSealedgeAnalyzeError.getMsg(), e); + throw ServiceExceptionUtil.exception(webcadOrderImportOrgSealedgeAnalyzeError); + } + } else { + throw ServiceExceptionUtil.exception(WEBCAD_ORDER_IMPORT_GET_ORG_SEALEDGE_ERROR); + } + } + /** * 解析生产单信息 * @@ -800,9 +848,6 @@ public class WebCadOrderImportFactory { return; } - // 配件对应列表 - matchLeftEdge(parts, blockObjectList); - // 解析orderParts analyzeOrderParts(blockObjectList); @@ -1018,38 +1063,31 @@ public class WebCadOrderImportFactory { String spec = part.getSpec(); String brand = part.getBrand(); String factory = part.getFactory(); + String color = null; + String material = null; if (PART_CATEGORY_ONE.equals(partType)) { - // 封边对应查询配件库中的封边条配件,使用配件库的model、spec、brand、factory - String sealPartId = part.getPartId(); - if (ObjectUtil.isNotNull(sealPartId)) { - PartsDO partsDO = partsMapper.selectById(sealPartId); - if (ObjectUtil.isNotNull(partsDO)) { - model = partsDO.getModel(); - spec = partsDO.getSpec(); - brand = partsDO.getBrand(); - factory = partsDO.getFactory(); - } else { - throw ServiceExceptionUtil.exception(WEBCAD_ORDER_IMPORT_SEAL_NOT_EXIST_ERROR, sealPartId); - } - } + WebCadDataPartsReqVO.BlockObjectListDTO.GroupDataDTO partGroupData = part.getGroupData(); + color = partGroupData.getColor(); + material = partGroupData.getMaterial(); + // 封边条宽度从系统配置中获取宽度对应 + sealEdgeWidthMatch(part); } String type = changePartType(partType, part.getIsComposite()); - String goodsId = part.getGoodsId(); - // todo orderId、color、remark、备注信息到es + // todo remark、备注信息到es OrderPartsDO orderPartsDO = OrderPartsDO.builder() .id(partId) .orderId(orderId) - .color(EMPTY_STRING) + .color(getEmpty(color)) .category(type) .type(type) - .goodsId(getEmpty(goodsId)) + .goodsId(EMPTY_STRING) .length(NumberUtil.parseDouble(part.getHeight())) .width(NumberUtil.parseDouble(part.getWidth())) .thickness(NumberUtil.parseDouble(part.getThickness())) .isComposite(part.getIsComposite()) .name(part.getName()) - .material(EMPTY_STRING) + .material(getEmpty(material)) .model(getEmpty(model)) .spec(getEmpty(spec)) .brand(getEmpty(brand)) @@ -1073,12 +1111,11 @@ public class WebCadOrderImportFactory { for (WebCadDataPartsReqVO.BlockObjectListDTO module : moduleCollect) { Long partId = (Long) snowFlakeGenerator.nextId(null); String type = changePartType(module.getType(), module.getIsComposite()); - String goodsId = module.getGoodsId(); // todo color、remark、备注信息到es OrderPartsDO orderPartsDO = OrderPartsDO.builder() .id(partId) .orderId(orderId) - .goodsId(StringUtils.isNotEmpty(goodsId) ? goodsId : EMPTY_STRING) + .goodsId(EMPTY_STRING) .color(EMPTY_STRING) .category(type) .type(type) @@ -1108,6 +1145,63 @@ public class WebCadOrderImportFactory { orderInfoBatchInsertWithinThreshold(orderPartsMapper, orderPartsDOS, true); } + + /** + * 封边条宽度匹配,获取厚度 + * + * @param part + */ + private void sealEdgeWidthMatch(WebCadDataPartsReqVO.BlockObjectListDTO part) { + // 从spec中解析宽度、厚度 + String spec = part.getSpec(); + Integer widthFromSpec = getWidthFromSpec(spec); + part.setThickness(getThicknessFromSpec(spec)); + if (ObjectUtil.isNull(widthFromSpec)) { + return; + } + for (SystemConfigSealEdgeRespDTO configSealEdgeRespDTO : sealEdgeConfigList) { + // 宽度处于配置范围,宽取值作为最终配件宽度 + if (widthFromSpec >= configSealEdgeRespDTO.getWidthMin() && widthFromSpec <= configSealEdgeRespDTO.getWidthMax()) { + part.setWidth(String.valueOf(configSealEdgeRespDTO.getWidthValue())); + break; + } + } + } + + /** + * 从规格中获取宽度,例:1mm-18mm + */ + private Integer getWidthFromSpec(String spec) { + if (StringUtils.isNotEmpty(spec)) { + String[] specSplit = spec.split("-"); + if (specSplit.length >= 2) { + String widthInSpec = specSplit[1]; + String[] widthSplit = widthInSpec.split("mm"); + if (widthSplit.length == 1) { + return Integer.parseInt(widthSplit[0]); + } + } + } + return null; + } + + /** + * 从规格中获取厚度,例:1mm-18mm + */ + private String getThicknessFromSpec(String spec) { + if (StringUtils.isNotEmpty(spec)) { + String[] specSplit = spec.split("-"); + if (specSplit.length >= 2) { + String widthInSpec = specSplit[0]; + String[] widthSplit = widthInSpec.split("mm"); + if (widthSplit.length == 1) { + return widthSplit[0]; + } + } + } + return null; + } + /** * value为空返回EMPTY_STRING * @@ -1118,30 +1212,6 @@ public class WebCadOrderImportFactory { return StringUtils.isNotEmpty(value) ? value : EMPTY_STRING; } - /** - * 配件对应 - * - * @param parts - * @param blockObjectList - */ - private void matchLeftEdge(WebCadDataPartsReqVO parts, List blockObjectList) { - List leftEdges = parts.getLeftEdges(); - if (CollUtil.isNotEmpty(leftEdges)) { - for (WebCadDataPartsReqVO.LeftEdgesDTO leftEdge : leftEdges) { - List objectIds = leftEdge.getObjectIds(); - if (CollUtil.isNotEmpty(objectIds)) { - for (Integer partIndex : objectIds) { - // partIndex序号对应配件 - WebCadDataPartsReqVO.BlockObjectListDTO part = blockObjectList.get(partIndex - 1); - // id、goodsId赋值到对应的cad配件上 - part.setGoodsId(leftEdge.getGoodsId()); - part.setPartId(leftEdge.getId()); - } - } - } - } - } - /** * 配件类型转换 * @@ -1304,5 +1374,6 @@ public class WebCadOrderImportFactory { orderModelDOS.clear(); roomBodyMap.clear(); bodyMap.clear(); + sealEdgeConfigList.clear(); } } diff --git a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/systemconfig/SystemConfigApi.java b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/systemconfig/SystemConfigApi.java index 0b728cb1a..29ac2b23b 100644 --- a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/systemconfig/SystemConfigApi.java +++ b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/systemconfig/SystemConfigApi.java @@ -55,4 +55,7 @@ public interface SystemConfigApi { @Operation(summary = "查询组织的混单是否开启") CommonResult getMultiColorConfigStatus(); + @GetMapping(PREFIX + "/organ/sealedge-config") + @Operation(summary = "获取组织下封边条对应配置") + CommonResult> getOrgSealEdgeConfig(); } diff --git a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/systemconfig/dto/SystemConfigSealEdgeRespDTO.java b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/systemconfig/dto/SystemConfigSealEdgeRespDTO.java new file mode 100644 index 000000000..6a4115535 --- /dev/null +++ b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/systemconfig/dto/SystemConfigSealEdgeRespDTO.java @@ -0,0 +1,34 @@ +package com.cf.imes.module.system.api.systemconfig.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * @author Gqr + * @since 2025/3/21 11:16 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class SystemConfigSealEdgeRespDTO implements Serializable { + + private static final long serialVersionUID = 4599625605797146076L; + + /** + * 宽最小值 + */ + private int widthMin; + + /** + * 宽最大值 + */ + private int widthMax; + + /** + * 宽取值a + */ + private int widthValue; +} diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/api/systemconfig/SystemConfigApiImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/api/systemconfig/SystemConfigApiImpl.java index d2a20b2ac..66a77a6fb 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/api/systemconfig/SystemConfigApiImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/api/systemconfig/SystemConfigApiImpl.java @@ -16,12 +16,14 @@ import com.cf.imes.module.system.dal.dataobject.systemconfig.SystemConfigDO; import com.cf.imes.module.system.dal.dataobject.systemconfig.SystemConfigDataDO; import com.cf.imes.module.system.dal.dataobject.systemconfig.SystemConfigProcessDO; import com.cf.imes.module.system.dal.dataobject.systemconfig.SystemConfigSchemeDO; +import com.cf.imes.module.system.dal.dataobject.systemconfig.SystemConfigSealedgeDO; import com.cf.imes.module.system.dal.mysql.label.LabelMapper; import com.cf.imes.module.system.dal.mysql.machine.MachineMapper; import com.cf.imes.module.system.dal.mysql.systemconfig.SystemConfigDataMapper; import com.cf.imes.module.system.dal.mysql.systemconfig.SystemConfigMapper; import com.cf.imes.module.system.dal.mysql.systemconfig.SystemConfigProcessMapper; import com.cf.imes.module.system.dal.mysql.systemconfig.SystemConfigSchemeMapper; +import com.cf.imes.module.system.dal.mysql.systemconfig.SystemConfigSealedgeMapper; import com.cf.imes.module.system.enums.config.SystemConfigTypeEnum; import com.cf.imes.module.system.service.systemconfig.SystemConfigService; import lombok.extern.slf4j.Slf4j; @@ -72,6 +74,9 @@ public class SystemConfigApiImpl implements SystemConfigApi { @Resource private SystemConfigDataMapper systemConfigDataMapper; + @Resource + private SystemConfigSealedgeMapper systemConfigSealedgeMapper; + @Override public CommonResult getOrgCustomPlateNoConfig() { return success(BeanUtils.toBean(systemConfigService.getOrgCustomPlateNoConfig(), SystemConfigRespDTO.class)); @@ -283,4 +288,9 @@ public class SystemConfigApiImpl implements SystemConfigApi { } } + + @Override + public CommonResult> getOrgSealEdgeConfig() { + return success(BeanUtils.toBean(systemConfigSealedgeMapper.selectSystemConfigList(SystemConfigTypeEnum.SEALEDGE.getType(), null), SystemConfigRespDTO.class)); + } }