From 1fad32a23555c03946cbf45b530b384fa2049a53 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Fri, 27 Feb 2026 16:05:14 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=96=B0=E5=A2=9E=E8=A3=85=E9=85=8D?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E6=8E=A5=E5=8F=A3=E3=80=81=E5=A4=9A=E8=AF=AD?= =?UTF-8?q?=E8=A8=80=E6=95=B4=E7=90=86=EF=BC=9B2=E3=80=81=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E9=83=A8=E4=BB=B6cadinfo=E6=8E=A5=E5=8F=A3=E9=83=A8?= =?UTF-8?q?=E4=BB=B6=E8=8C=83=E5=9B=B4=E6=9F=A5=E8=AF=A2=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/util/Assert/AssertUtils.java | 6 + .../api/ordercomponent/OrderComponentApi.java | 29 ++ .../dto/OrderComponentListReqDTO.java | 22 + .../dto/OrderComponentListRespDTO.java | 30 ++ .../ordercomponent/OrderComponentApiImpl.java | 31 ++ .../vo/OrderComponentRespVO.java | 3 + .../plate/vo/OrderViewPlatePageRespVO.java | 18 + .../orderItem/OrderBodyViewPlatesPageDO.java | 30 ++ .../ordercomponent/OrderComponentService.java | 8 + .../OrderComponentServiceImpl.java | 25 +- .../mapper/orderItem/OrderItemMapper.xml | 9 +- .../system/enums/ErrorCodeConstants.java | 8 + .../AssemblyConfigController.java | 86 ++++ .../vo/AssemblyConfigImportReqVO.java | 23 ++ .../vo/AssemblyConfigListRespVO.java | 28 ++ .../vo/AssemblyConfigSaveReqVO.java | 23 ++ .../vo/AssemblyConfigSaveStructureReqVO.java | 25 ++ .../vo/AssemblyConfigStructureVO.java | 46 +++ .../assemblyconfig/AssemblyConfigDO.java | 63 +++ .../customplateno/CustomPlateNoSeqDO.java | 2 +- .../assemblyconfig/AssemblyConfigMapper.java | 15 + .../AssemblyConfigStatusEnum.java | 26 ++ .../rpc/config/RpcConfiguration.java | 4 +- .../assemblyconfig/AssemblyConfigService.java | 65 +++ .../AssemblyConfigServiceImpl.java | 386 ++++++++++++++++++ .../src/main/resources/message.properties | 7 +- .../src/main/resources/message_cht.properties | 7 +- .../src/main/resources/message_en.properties | 7 +- .../resources/message_errorcode.properties | 2 +- .../message_errorcode_cht.properties | 2 +- .../resources/message_errorcode_en.properties | 2 +- 31 files changed, 1017 insertions(+), 21 deletions(-) create mode 100644 cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/api/ordercomponent/OrderComponentApi.java create mode 100644 cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/api/ordercomponent/dto/OrderComponentListReqDTO.java create mode 100644 cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/api/ordercomponent/dto/OrderComponentListRespDTO.java create mode 100644 cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/api/ordercomponent/OrderComponentApiImpl.java create mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/assemblyconfig/AssemblyConfigController.java create mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/assemblyconfig/vo/AssemblyConfigImportReqVO.java create mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/assemblyconfig/vo/AssemblyConfigListRespVO.java create mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/assemblyconfig/vo/AssemblyConfigSaveReqVO.java create mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/assemblyconfig/vo/AssemblyConfigSaveStructureReqVO.java create mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/assemblyconfig/vo/AssemblyConfigStructureVO.java create mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/assemblyconfig/AssemblyConfigDO.java create mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/assemblyconfig/AssemblyConfigMapper.java create mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/enums/assemblyconfig/AssemblyConfigStatusEnum.java create mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/assemblyconfig/AssemblyConfigService.java create mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/assemblyconfig/AssemblyConfigServiceImpl.java diff --git a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/util/Assert/AssertUtils.java b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/util/Assert/AssertUtils.java index baf71a9cd..90d6103bf 100644 --- a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/util/Assert/AssertUtils.java +++ b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/util/Assert/AssertUtils.java @@ -108,4 +108,10 @@ public class AssertUtils { throw new ServiceException(errorCode); } } + + public static void isTrue(boolean expression, ErrorCode errorCode, Object... params) { + if (expression) { + throw new ServiceException(errorCode, params); + } + } } diff --git a/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/api/ordercomponent/OrderComponentApi.java b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/api/ordercomponent/OrderComponentApi.java new file mode 100644 index 000000000..6647bc48a --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/api/ordercomponent/OrderComponentApi.java @@ -0,0 +1,29 @@ +package com.cf.imes.module.executor.api.ordercomponent; + +import com.cf.imes.framework.common.pojo.CommonResult; +import com.cf.imes.module.executor.api.ordercomponent.dto.OrderComponentListReqDTO; +import com.cf.imes.module.executor.api.ordercomponent.dto.OrderComponentListRespDTO; +import com.cf.imes.module.executor.enums.ApiConstants; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + +/** + * + * + * @author Gqr + * @since 2026/2/25 16:06 + */ +@FeignClient(name = ApiConstants.NAME) +@Tag(name = "RPC 服务 - 部件管理") +public interface OrderComponentApi { + String PREFIX = ApiConstants.PREFIX + "/order/component"; + + @PostMapping(PREFIX + "/list") + @Operation(summary = "获取生产单下的部件列表") + CommonResult> getOrderComponentList(@RequestBody OrderComponentListReqDTO dto); +} \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/api/ordercomponent/dto/OrderComponentListReqDTO.java b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/api/ordercomponent/dto/OrderComponentListReqDTO.java new file mode 100644 index 000000000..c4e21045b --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/api/ordercomponent/dto/OrderComponentListReqDTO.java @@ -0,0 +1,22 @@ +package com.cf.imes.module.executor.api.ordercomponent.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * + * + * @author Gqr + * @since 2026/2/25 16:18 + */ +@Schema(description = "RPC 服务 - 部件管理 - 生产单部件列表查询 - Request DTO") +@Data +public class OrderComponentListReqDTO implements Serializable { + private static final long serialVersionUID = -5691595836226548840L; + + @Schema(description = "生产单编号列表", requiredMode = Schema.RequiredMode.REQUIRED, example = "[1,2,3,4]") + private List orderIds; +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/api/ordercomponent/dto/OrderComponentListRespDTO.java b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/api/ordercomponent/dto/OrderComponentListRespDTO.java new file mode 100644 index 000000000..0695de4f7 --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/api/ordercomponent/dto/OrderComponentListRespDTO.java @@ -0,0 +1,30 @@ +package com.cf.imes.module.executor.api.ordercomponent.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * + * + * @author Gqr + * @since 2026/2/25 16:18 + */ +@Schema(description = "RPC 服务 - 部件管理 - 生产单部件列表查询 - Response DTO") +@Data +public class OrderComponentListRespDTO implements Serializable { + private static final long serialVersionUID = -5691595836226548840L; + + @Schema(description = "父ID") + private Long pid; + + @Schema(description = "部件Id") + private Long id; + + @Schema(description = "部件名") + private String name; + + private List children; +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/api/ordercomponent/OrderComponentApiImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/api/ordercomponent/OrderComponentApiImpl.java new file mode 100644 index 000000000..4374e9adf --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/api/ordercomponent/OrderComponentApiImpl.java @@ -0,0 +1,31 @@ +package com.cf.imes.module.executor.api.ordercomponent; + +import cn.hutool.core.bean.BeanUtil; +import com.cf.imes.framework.common.pojo.CommonResult; +import com.cf.imes.module.executor.api.ordercomponent.dto.OrderComponentListReqDTO; +import com.cf.imes.module.executor.api.ordercomponent.dto.OrderComponentListRespDTO; +import com.cf.imes.module.executor.controller.admin.ordercomponent.vo.OrderComponentRespVO; +import com.cf.imes.module.executor.service.ordercomponent.OrderComponentService; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * + * + * @author Gqr + * @since 2026/2/25 16:26 + */ +@RestController // 提供 RESTful API 接口,给 Feign 调用 +public class OrderComponentApiImpl implements OrderComponentApi { + + @Resource + private OrderComponentService orderComponentService; + + @Override + public CommonResult> getOrderComponentList(OrderComponentListReqDTO dto) { + List orderComponentListOnOrders = orderComponentService.getOrderComponentListOnOrders(dto.getOrderIds()); + return CommonResult.success(BeanUtil.copyToList(orderComponentListOnOrders, OrderComponentListRespDTO.class)); + } +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/ordercomponent/vo/OrderComponentRespVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/ordercomponent/vo/OrderComponentRespVO.java index 8f5f1b3a2..483b08acc 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/ordercomponent/vo/OrderComponentRespVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/ordercomponent/vo/OrderComponentRespVO.java @@ -22,4 +22,7 @@ public class OrderComponentRespVO { @Schema(description = "CAD图纸文件哈希值") private String fileHash; + + @Schema(description = "加工状态") + private Integer processStatus; } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/vo/OrderViewPlatePageRespVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/vo/OrderViewPlatePageRespVO.java index 9f585bdb9..63b87647a 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/vo/OrderViewPlatePageRespVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/vo/OrderViewPlatePageRespVO.java @@ -66,4 +66,22 @@ public class OrderViewPlatePageRespVO { @Schema(description = "CAD设计板编号") private String customNumber; + + @Schema(description = "面积") + private BigDecimal area; + + @Schema(description = "纹理") + private Integer texture; + + @Schema(description = "是否造型") + private Boolean isSculpt; + + @Schema(description = "是否异形") + private Boolean isSpecialShaped; + + @Schema(description = "是否排孔") + private Boolean isRowHole; + + @Schema(description = "备注") + private String remark; } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/orderItem/OrderBodyViewPlatesPageDO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/orderItem/OrderBodyViewPlatesPageDO.java index 194fac0cf..46da0d7ff 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/orderItem/OrderBodyViewPlatesPageDO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/orderItem/OrderBodyViewPlatesPageDO.java @@ -96,4 +96,34 @@ public class OrderBodyViewPlatesPageDO { * cad图纸文件id */ private Long cadViewFileId; + + /** + * 面积 + */ + private BigDecimal area; + + /** + * 纹理 + */ + private Integer texture; + + /** + * 是否造型 + */ + private Boolean isSculpt; + + /** + * 是否异形 + */ + private Boolean isSpecialShaped; + + /** + * 是否排孔 + */ + private Boolean isRowHole; + + /** + * 备注 + */ + private String remark; } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/ordercomponent/OrderComponentService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/ordercomponent/OrderComponentService.java index 43f1fa423..4ba8a93b5 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/ordercomponent/OrderComponentService.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/ordercomponent/OrderComponentService.java @@ -67,4 +67,12 @@ public interface OrderComponentService { * @param id */ void restoreOrderComponent(Long orderId, Long id); + + /** + * 查询订单列表下所有部件 + * + * @param orderIds + * @return + */ + List getOrderComponentListOnOrders(List orderIds); } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/ordercomponent/OrderComponentServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/ordercomponent/OrderComponentServiceImpl.java index 947877c4b..06da8dcbf 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/ordercomponent/OrderComponentServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/ordercomponent/OrderComponentServiceImpl.java @@ -256,9 +256,12 @@ public class OrderComponentServiceImpl implements OrderComponentService { .in(OrderComponentDO::getTopId, topIds) .eq(OrderComponentDO::getOrderId, orderId) .eqIfPresent(OrderComponentDO::getDeleted, pageReqVO.isDeleted()) - .select(OrderComponentDO::getId, OrderComponentDO::getCadViewFileId)); + .select(OrderComponentDO::getId, OrderComponentDO::getCadViewFileId, OrderComponentDO::getPid)); + Set queryComponentIds = new HashSet<>(); if (CollUtil.isNotEmpty(orderComponentDOS)) { - componentIds = orderComponentDOS.stream().map(OrderComponentDO::getId).collect(Collectors.toSet()); + for (OrderComponentDO co : componentDOS) { + queryComponentIds.addAll(getChildrenIds(co, orderComponentDOS)); + } } else { return Collections.emptyList(); } @@ -573,13 +576,13 @@ public class OrderComponentServiceImpl implements OrderComponentService { return needDeleteIds; } -// @Override -// public List getOrderComponentListOnOrders(List orderIds) { -// List orderComponentDOS = orderComponentMapper.selectList(new LambdaQueryWrapper() -// .in(OrderComponentDO::getOrderId, orderIds) -// .eq(OrderComponentDO::getDeleted, false) -// .eq(OrderComponentDO::getOrganId, SecurityFrameworkUtils.getUserOrganId()) -// .select(OrderComponentDO::getId, OrderComponentDO::getName, OrderComponentDO::getPid)); -// return BeanUtil.copyToList(orderComponentDOS, OrderComponentRespVO.class); -// } + @Override + public List getOrderComponentListOnOrders(List orderIds) { + List orderComponentDOS = orderComponentMapper.selectList(new LambdaQueryWrapper() + .in(OrderComponentDO::getOrderId, orderIds) + .eq(OrderComponentDO::getDeleted, false) + .eq(OrderComponentDO::getOrganId, SecurityFrameworkUtils.getUserOrganId()) + .select(OrderComponentDO::getId, OrderComponentDO::getName, OrderComponentDO::getPid)); + return BeanUtil.copyToList(orderComponentDOS, OrderComponentRespVO.class); + } } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderItem/OrderItemMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderItem/OrderItemMapper.xml index ccd096864..e27399d41 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderItem/OrderItemMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderItem/OrderItemMapper.xml @@ -536,9 +536,14 @@