diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/assemblyconfig/AssemblyConfigController.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/assemblyconfig/AssemblyConfigController.java index edcb7832d..5bbb22a3b 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/assemblyconfig/AssemblyConfigController.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/assemblyconfig/AssemblyConfigController.java @@ -3,9 +3,11 @@ package com.cf.imes.module.system.controller.admin.assemblyconfig; import com.cf.imes.framework.common.pojo.CommonResult; import com.cf.imes.module.system.controller.admin.assemblyconfig.vo.AssemblyConfigImportReqVO; import com.cf.imes.module.system.controller.admin.assemblyconfig.vo.AssemblyConfigListRespVO; +import com.cf.imes.module.system.controller.admin.assemblyconfig.vo.AssemblyConfigRespVO; import com.cf.imes.module.system.controller.admin.assemblyconfig.vo.AssemblyConfigSaveReqVO; import com.cf.imes.module.system.service.assemblyconfig.AssemblyConfigService; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; import jakarta.validation.Valid; @@ -44,13 +46,21 @@ public class AssemblyConfigController { } @GetMapping("/list") - @Operation(summary = "查询装配设置") + @Operation(summary = "查询组织装配设置列表") public CommonResult> getAssemblyConfigList() { return CommonResult.success(assemblyConfigService.getOrgAssemblyConfigList()); } + @GetMapping("/{configId}") + @Operation(summary = "查询装配设置") + @Parameter(name = "configId", description = "装配设置编号", required = true) + public CommonResult getAssemblyConfig(@PathVariable Long configId) { + return CommonResult.success(assemblyConfigService.getAssemblyConfig(configId)); + } + @PostMapping("/{configId}") @Operation(summary = "待选部件转加工部件") + @Parameter(name = "configId", description = "装配设置编号", required = true) public CommonResult doConfig(@PathVariable Long configId) { assemblyConfigService.doConfig(configId); return CommonResult.success(true); @@ -58,6 +68,7 @@ public class AssemblyConfigController { @PostMapping("/cover/{configId}") @Operation(summary = "覆盖原有加工部件") + @Parameter(name = "configId", description = "装配设置编号", required = true) public CommonResult coverConfig(@PathVariable Long configId) { assemblyConfigService.coverConfig(configId); return CommonResult.success(true); @@ -65,13 +76,16 @@ public class AssemblyConfigController { @PostMapping("/new/{configId}") @Operation(summary = "新增加工部件") - public CommonResult newConfig(@PathVariable Long configId, @RequestParam("name") String name) { + @Parameter(name = "configId", description = "装配设置编号", required = true) + @Parameter(name = "name", description = "新装配设置名称", required = true) + public CommonResult newConfig(@PathVariable Long configId, @RequestParam(value = "name") String name) { assemblyConfigService.newConfig(configId, name); return CommonResult.success(true); } @PostMapping("/configured/remove/{configId}") @Operation(summary = "删除已配置的加工部件,恢复到待选") + @Parameter(name = "configId", description = "装配设置编号", required = true) public CommonResult removeConfigured(@PathVariable Long configId) { assemblyConfigService.removeConfigured(configId); return CommonResult.success(true); diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/assemblyconfig/vo/AssemblyConfigListRespVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/assemblyconfig/vo/AssemblyConfigListRespVO.java index 90e0ef06d..32f91a3f2 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/assemblyconfig/vo/AssemblyConfigListRespVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/assemblyconfig/vo/AssemblyConfigListRespVO.java @@ -1,5 +1,6 @@ package com.cf.imes.module.system.controller.admin.assemblyconfig.vo; +import com.fasterxml.jackson.annotation.JsonInclude; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Builder; import lombok.Data; @@ -13,6 +14,7 @@ import lombok.Data; @Data @Builder @Schema(description = "管理后台 - 装配设置 - 列表 Response VO") +@JsonInclude(JsonInclude.Include.NON_NULL) public class AssemblyConfigListRespVO { @Schema(description = "装配设置ID") private Long id; diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/assemblyconfig/vo/AssemblyConfigRespVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/assemblyconfig/vo/AssemblyConfigRespVO.java new file mode 100644 index 000000000..54ad91b13 --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/assemblyconfig/vo/AssemblyConfigRespVO.java @@ -0,0 +1,27 @@ +package com.cf.imes.module.system.controller.admin.assemblyconfig.vo; + +import com.fasterxml.jackson.annotation.JsonInclude; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Builder; +import lombok.Data; + +/** + * + * + * @author Gqr + * @since 2026/2/27 16:11 + */ +@Data +@Builder +@Schema(description = "管理后台 - 装配设置 Response VO") +@JsonInclude(JsonInclude.Include.NON_NULL) +public class AssemblyConfigRespVO { + @Schema(description = "主键", example = "1024") + private Long id; + + @Schema(description = "装备设置名称", example = "张三") + private String componentName; + + @Schema(description = "描述", example = "描述") + private AssemblyConfigStructureVO structure; +} diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/assemblyconfig/vo/AssemblyConfigSaveReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/assemblyconfig/vo/AssemblyConfigSaveReqVO.java index 5df748a07..c62aabc57 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/assemblyconfig/vo/AssemblyConfigSaveReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/assemblyconfig/vo/AssemblyConfigSaveReqVO.java @@ -19,5 +19,5 @@ public class AssemblyConfigSaveReqVO { @Schema(description = "装备设置树形结构", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "{assembly.config.save.structure.config.notNull}") - private AssemblyConfigSaveStructureReqVO config; + private AssemblyConfigSaveStructureVO config; } \ No newline at end of file diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/assemblyconfig/vo/AssemblyConfigSaveStructureReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/assemblyconfig/vo/AssemblyConfigSaveStructureVO.java similarity index 83% rename from cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/assemblyconfig/vo/AssemblyConfigSaveStructureReqVO.java rename to cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/assemblyconfig/vo/AssemblyConfigSaveStructureVO.java index 7f1241be1..28922adb4 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/assemblyconfig/vo/AssemblyConfigSaveStructureReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/assemblyconfig/vo/AssemblyConfigSaveStructureVO.java @@ -12,8 +12,8 @@ import java.util.List; * @since 2026/2/26 17:15 */ @Data -@Schema(description = "管理后台 - 装配设置保存树形结构 Request VO") -public class AssemblyConfigSaveStructureReqVO { +@Schema(description = "管理后台 - 装配设置保存树形结构 VO") +public class AssemblyConfigSaveStructureVO { @Schema(description = "部件名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "门") private String name; @@ -21,5 +21,5 @@ public class AssemblyConfigSaveStructureReqVO { private boolean process; @Schema(description = "子部件列表") - private List children; + private List children; } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/assemblyconfig/AssemblyConfigService.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/assemblyconfig/AssemblyConfigService.java index 31409c875..3f4282dec 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/assemblyconfig/AssemblyConfigService.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/assemblyconfig/AssemblyConfigService.java @@ -2,6 +2,7 @@ package com.cf.imes.module.system.service.assemblyconfig; import com.cf.imes.module.system.controller.admin.assemblyconfig.vo.AssemblyConfigImportReqVO; import com.cf.imes.module.system.controller.admin.assemblyconfig.vo.AssemblyConfigListRespVO; +import com.cf.imes.module.system.controller.admin.assemblyconfig.vo.AssemblyConfigRespVO; import com.cf.imes.module.system.controller.admin.assemblyconfig.vo.AssemblyConfigSaveReqVO; import java.util.List; @@ -27,6 +28,14 @@ public interface AssemblyConfigService { */ List getOrgAssemblyConfigList(); + /** + * 获取装配设置 + * + * @param configId + * @return + */ + AssemblyConfigRespVO getAssemblyConfig(Long configId); + /** * 待选部件转加工部件 * diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/assemblyconfig/AssemblyConfigServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/assemblyconfig/AssemblyConfigServiceImpl.java index c03b50070..da2fae9d0 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/assemblyconfig/AssemblyConfigServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/assemblyconfig/AssemblyConfigServiceImpl.java @@ -3,6 +3,7 @@ package com.cf.imes.module.system.service.assemblyconfig; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.crypto.digest.DigestUtil; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.cf.imes.framework.common.enums.DeletedCodeEnum; @@ -16,8 +17,9 @@ import com.cf.imes.module.executor.api.ordercomponent.dto.OrderComponentListReqD import com.cf.imes.module.executor.api.ordercomponent.dto.OrderComponentListRespDTO; import com.cf.imes.module.system.controller.admin.assemblyconfig.vo.AssemblyConfigImportReqVO; import com.cf.imes.module.system.controller.admin.assemblyconfig.vo.AssemblyConfigListRespVO; +import com.cf.imes.module.system.controller.admin.assemblyconfig.vo.AssemblyConfigRespVO; import com.cf.imes.module.system.controller.admin.assemblyconfig.vo.AssemblyConfigSaveReqVO; -import com.cf.imes.module.system.controller.admin.assemblyconfig.vo.AssemblyConfigSaveStructureReqVO; +import com.cf.imes.module.system.controller.admin.assemblyconfig.vo.AssemblyConfigSaveStructureVO; import com.cf.imes.module.system.controller.admin.assemblyconfig.vo.AssemblyConfigStructureVO; import com.cf.imes.module.system.dal.dataobject.assemblyconfig.AssemblyConfigDO; import com.cf.imes.module.system.dal.mysql.assemblyconfig.AssemblyConfigMapper; @@ -236,6 +238,26 @@ public class AssemblyConfigServiceImpl implements AssemblyConfigService { return BeanUtil.copyToList(list, AssemblyConfigListRespVO.class); } + @Override + public AssemblyConfigRespVO getAssemblyConfig(Long configId) { + Long organId = SecurityFrameworkUtils.getUserOrganId(); + + // 1、校验本身 + AssemblyConfigDO assemblyConfigDO = getById(configId, organId); + + // 2、只有已配置才能查看 + AssertUtils.notEquals(assemblyConfigDO.getStatus(), AssemblyConfigStatusEnum.CONFIGURED.getStatus(), ASSEMBLY_CONFIG_NOT_EXIST); + + // 3、解压结构 + AssemblyConfigStructureVO structure = JSON.parseObject(JsonUtils.unzipString(assemblyConfigDO.getStructureJson()), AssemblyConfigStructureVO.class); + + return AssemblyConfigRespVO.builder() + .id(assemblyConfigDO.getId()) + .componentName(assemblyConfigDO.getComponentName()) + .structure(structure) + .build(); + } + /** * 查询部件设置 * @@ -368,7 +390,7 @@ public class AssemblyConfigServiceImpl implements AssemblyConfigService { AssemblyConfigDO assemblyConfigDO = getById(reqVO.getId(), organId); // 2、更新hash和json - AssemblyConfigSaveStructureReqVO config = reqVO.getConfig(); + AssemblyConfigSaveStructureVO config = reqVO.getConfig(); AssemblyConfigStructureVO structureVO = BeanUtil.toBean(config, AssemblyConfigStructureVO.class); computeHashRecursively(structureVO);