From a7e9b2dab3b3662f41ffcf9a22e453aeaced379c Mon Sep 17 00:00:00 2001 From: zxy Date: Fri, 8 May 2026 15:48:02 +0800 Subject: [PATCH] =?UTF-8?q?feat(biz):=20=E4=BC=98=E5=8C=96=E6=9C=BA?= =?UTF-8?q?=E5=8F=B0=E5=92=8C=E5=B7=A5=E5=BA=8F=E5=8F=82=E6=95=B0=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../machineparam/MachineParamController.java | 18 +- .../machineparam/vo/MachineParamRespVO.java | 2 + .../admin/procparam/ProcParamController.java | 18 +- .../admin/procparam/vo/ProcParamRespVO.java | 19 +- .../dal/mysql/procparam/ProcParamMapper.java | 8 + .../machineparam/MachineParamServiceImpl.java | 2 + .../MachineParamDetailService.java | 2 + .../MachineParamDetailServiceImpl.java | 5 + .../procparam/ProcParamServiceImpl.java | 17 +- .../src/views/biz/machine/MachineSelect.vue | 6 +- .../biz/machineparam/MachineParamForm.vue | 117 ++++++--- .../src/views/biz/machineparam/index.vue | 44 ++-- .../src/views/biz/procparam/ProcParamForm.vue | 243 ++++++++++++------ .../src/views/biz/procparam/index.vue | 69 ++--- .../views/biz/usermachine/UserMachineForm.vue | 6 +- .../src/views/biz/usermachine/index.vue | 6 +- 16 files changed, 395 insertions(+), 187 deletions(-) diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/machineparam/MachineParamController.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/machineparam/MachineParamController.java index 071b728..603a186 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/machineparam/MachineParamController.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/machineparam/MachineParamController.java @@ -1,5 +1,6 @@ package com.ningxia.yunxi.chemmes.module.biz.controller.admin.machineparam; +import cn.hutool.core.collection.CollUtil; import com.ningxia.yunxi.chemmes.framework.common.pojo.CommonResult; import com.ningxia.yunxi.chemmes.framework.common.pojo.PageParam; import com.ningxia.yunxi.chemmes.framework.common.pojo.PageResult; @@ -14,6 +15,8 @@ import com.ningxia.yunxi.chemmes.module.biz.dal.dataobject.machineparam.MachineP import com.ningxia.yunxi.chemmes.module.biz.dal.dataobject.machineparamdetail.MachineParamDetailDO; import com.ningxia.yunxi.chemmes.module.biz.service.machineparam.MachineParamService; import com.ningxia.yunxi.chemmes.module.biz.service.machineparamdetail.MachineParamDetailService; +import com.ningxia.yunxi.chemmes.module.system.dal.dataobject.user.AdminUserDO; +import com.ningxia.yunxi.chemmes.module.system.service.user.AdminUserService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; @@ -42,6 +45,9 @@ public class MachineParamController { @Resource private MachineParamDetailService machineParamDetailService; + @Resource + private AdminUserService userService; + @PostMapping("/create") @Operation(summary = "创建机台工艺参数配置") @PreAuthorize("@ss.hasPermission('biz:machine-param:create')") @@ -83,7 +89,17 @@ public class MachineParamController { @PreAuthorize("@ss.hasPermission('biz:machine-param:query')") public CommonResult> getMachineParamPage(@Valid MachineParamPageReqVO pageReqVO) { PageResult pageResult = machineParamService.getMachineParamPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, MachineParamRespVO.class)); + PageResult voPageResult = BeanUtils.toBean(pageResult, MachineParamRespVO.class); + if (CollUtil.isNotEmpty(voPageResult.getList())) { + voPageResult.getList().forEach(item -> { + AdminUserDO userEntity = userService.getUser(Long.valueOf(item.getCreator())); + if (userEntity != null) { + item.setCreator(userEntity.getUsername()); + } + }); + } + + return success(voPageResult); } @GetMapping("/export-excel") diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/machineparam/vo/MachineParamRespVO.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/machineparam/vo/MachineParamRespVO.java index f5978d9..c88bd3f 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/machineparam/vo/MachineParamRespVO.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/machineparam/vo/MachineParamRespVO.java @@ -76,4 +76,6 @@ public class MachineParamRespVO { @Schema(description = "工艺参数明细列表") private List details; + private String creator; + } diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/procparam/ProcParamController.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/procparam/ProcParamController.java index 38273f5..867282f 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/procparam/ProcParamController.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/procparam/ProcParamController.java @@ -1,5 +1,6 @@ package com.ningxia.yunxi.chemmes.module.biz.controller.admin.procparam; +import cn.hutool.core.collection.CollUtil; import com.ningxia.yunxi.chemmes.framework.common.pojo.CommonResult; import com.ningxia.yunxi.chemmes.framework.common.pojo.PageParam; import com.ningxia.yunxi.chemmes.framework.common.pojo.PageResult; @@ -11,6 +12,8 @@ import com.ningxia.yunxi.chemmes.module.biz.controller.admin.procparam.vo.ProcPa import com.ningxia.yunxi.chemmes.module.biz.controller.admin.procparam.vo.ProcParamSaveReqVO; import com.ningxia.yunxi.chemmes.module.biz.dal.dataobject.procparam.ProcParamDO; import com.ningxia.yunxi.chemmes.module.biz.service.procparam.ProcParamService; +import com.ningxia.yunxi.chemmes.module.system.dal.dataobject.user.AdminUserDO; +import com.ningxia.yunxi.chemmes.module.system.service.user.AdminUserService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; @@ -36,6 +39,10 @@ public class ProcParamController { @Resource private ProcParamService procParamService; + + @Resource + private AdminUserService userService; + @PostMapping("/create") @Operation(summary = "创建工序工艺参数配置") @PreAuthorize("@ss.hasPermission('biz:proc-param:create')") @@ -74,7 +81,16 @@ public class ProcParamController { @PreAuthorize("@ss.hasPermission('biz:proc-param:query')") public CommonResult> getProcParamPage(@Valid ProcParamPageReqVO pageReqVO) { PageResult pageResult = procParamService.getProcParamPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, ProcParamRespVO.class)); + PageResult voPageResult = BeanUtils.toBean(pageResult, ProcParamRespVO.class); + if (CollUtil.isNotEmpty(voPageResult.getList())) { + voPageResult.getList().forEach(item -> { + AdminUserDO userEntity = userService.getUser(Long.valueOf(item.getCreator())); + if (userEntity != null) { + item.setCreator(userEntity.getUsername()); + } + }); + } + return success(voPageResult); } @GetMapping("/export-excel") diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/procparam/vo/ProcParamRespVO.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/procparam/vo/ProcParamRespVO.java index bb8c0e3..3f013a2 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/procparam/vo/ProcParamRespVO.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/procparam/vo/ProcParamRespVO.java @@ -1,14 +1,13 @@ package com.ningxia.yunxi.chemmes.module.biz.controller.admin.procparam.vo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import java.util.*; -import org.springframework.format.annotation.DateTimeFormat; -import java.time.LocalDateTime; -import com.alibaba.excel.annotation.*; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.ningxia.yunxi.chemmes.framework.excel.core.annotations.DictFormat; import com.ningxia.yunxi.chemmes.framework.excel.core.convert.DictConvert; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; @Schema(description = "管理后台 - 工序工艺参数配置 Response VO") @Data @@ -54,7 +53,9 @@ public class ProcParamRespVO { @Schema(description = "参数类别(1 温度 2压力 3 时间 4速度)", example = "1") @ExcelProperty(value = "参数类别(1 温度 2压力 3 时间 4速度)", converter = DictConvert.class) - @DictFormat("param_type") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 + @DictFormat("param_type") private String procParamType; -} \ No newline at end of file + private String creator; + +} diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/mysql/procparam/ProcParamMapper.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/mysql/procparam/ProcParamMapper.java index 738311f..20cf5f3 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/mysql/procparam/ProcParamMapper.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/mysql/procparam/ProcParamMapper.java @@ -1,5 +1,6 @@ package com.ningxia.yunxi.chemmes.module.biz.dal.mysql.procparam; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ningxia.yunxi.chemmes.framework.common.pojo.PageResult; import com.ningxia.yunxi.chemmes.framework.mybatis.core.mapper.BaseMapperX; import com.ningxia.yunxi.chemmes.framework.mybatis.core.query.LambdaQueryWrapperX; @@ -36,4 +37,11 @@ public interface ProcParamMapper extends BaseMapperX { .like(ProcParamDO::getProcCd, keyWord)) ); } + + default ProcParamDO selectByProcIdAndParamTypeAndParamName(Integer procId, String procParamType, String procParamName) { + return selectOne(new LambdaQueryWrapper() + .eq(ProcParamDO::getProcId, procId) + .eq(ProcParamDO::getProcParamType, procParamType) + .eq(ProcParamDO::getProcParamName, procParamName)); + } } diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/machineparam/MachineParamServiceImpl.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/machineparam/MachineParamServiceImpl.java index d2fc212..d415bbb 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/machineparam/MachineParamServiceImpl.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/machineparam/MachineParamServiceImpl.java @@ -51,11 +51,13 @@ public class MachineParamServiceImpl implements MachineParamService { } @Override + @Transactional public void deleteMachineParam(Integer id) { // 校验存在 validateMachineParamExists(id); // 删除 machineParamMapper.deleteById(id); + machineParamDetailService.deleteByMachineParamId(id); } private void validateMachineParamExists(Integer id) { diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/machineparamdetail/MachineParamDetailService.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/machineparamdetail/MachineParamDetailService.java index 706ce01..01593f0 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/machineparamdetail/MachineParamDetailService.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/machineparamdetail/MachineParamDetailService.java @@ -56,4 +56,6 @@ public interface MachineParamDetailService { void saveMachineParamDetails(Integer id, List details); List getListByMachineParamId(Integer id); + + void deleteByMachineParamId(Integer machineParamId); } diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/machineparamdetail/MachineParamDetailServiceImpl.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/machineparamdetail/MachineParamDetailServiceImpl.java index 3511898..fc8aafa 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/machineparamdetail/MachineParamDetailServiceImpl.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/machineparamdetail/MachineParamDetailServiceImpl.java @@ -81,5 +81,10 @@ public class MachineParamDetailServiceImpl implements MachineParamDetailService public List getListByMachineParamId(Integer machineParamId) { return machineParamDetailMapper.selectListByMachineParamId(machineParamId); } + + @Override + public void deleteByMachineParamId(Integer machineParamId) { + machineParamDetailMapper.deleteByMachineParamId(machineParamId); + } } diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/procparam/ProcParamServiceImpl.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/procparam/ProcParamServiceImpl.java index be19b35..6cab631 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/procparam/ProcParamServiceImpl.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/procparam/ProcParamServiceImpl.java @@ -12,6 +12,8 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import java.util.List; +import static com.ningxia.yunxi.chemmes.framework.common.exception.util.ServiceExceptionUtil.exception; + /** * 工序工艺参数配置 Service 实现类 * @@ -27,6 +29,7 @@ public class ProcParamServiceImpl implements ProcParamService { @Override public Integer createProcParam(ProcParamSaveReqVO createReqVO) { // 插入 + validateProcParamUnique(createReqVO); ProcParamDO procParam = BeanUtils.toBean(createReqVO, ProcParamDO.class); procParamMapper.insert(procParam); // 返回 @@ -37,6 +40,7 @@ public class ProcParamServiceImpl implements ProcParamService { public void updateProcParam(ProcParamSaveReqVO updateReqVO) { // 校验存在 validateProcParamExists(updateReqVO.getId()); + validateProcParamUnique(updateReqVO); // 更新 ProcParamDO updateObj = BeanUtils.toBean(updateReqVO, ProcParamDO.class); procParamMapper.updateById(updateObj); @@ -52,7 +56,18 @@ public class ProcParamServiceImpl implements ProcParamService { private void validateProcParamExists(Integer id) { if (procParamMapper.selectById(id) == null) { -// throw exception(PROC_PARAM_NOT_EXISTS); + throw exception("参数不存在"); + } + } + + private void validateProcParamUnique(ProcParamSaveReqVO saveReqVO) { + ProcParamDO existParam = procParamMapper.selectByProcIdAndParamTypeAndParamName( + saveReqVO.getProcId(), + saveReqVO.getProcParamType(), + saveReqVO.getProcParamName()); + + if (existParam != null && !existParam.getId().equals(saveReqVO.getId())) { + throw exception("同一工序下同一参数类别的参数名称不能重复"); } } diff --git a/mes-ui/mes-ui-admin-vue3/src/views/biz/machine/MachineSelect.vue b/mes-ui/mes-ui-admin-vue3/src/views/biz/machine/MachineSelect.vue index dcc08b0..c049f3e 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/biz/machine/MachineSelect.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/biz/machine/MachineSelect.vue @@ -14,8 +14,8 @@ - - + + \ No newline at end of file +/** 弹窗关闭时通知父组件 */ +watch(dialogVisible, (val) => { + if (!val) { + emit('close') + } +}) + +/** 组件挂载时初始化 */ +import { onMounted } from 'vue' +onMounted(() => { + initOptions() +}) + diff --git a/mes-ui/mes-ui-admin-vue3/src/views/biz/procparam/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/biz/procparam/index.vue index 7ab38f4..cb809e9 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/biz/procparam/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/biz/procparam/index.vue @@ -17,21 +17,7 @@ class="!w-240px" /> - - - - - + + + + + + 搜索 @@ -65,23 +66,9 @@ - - + - - - - - @@ -89,6 +76,20 @@ + + + + + + @@ -118,9 +119,9 @@ @pagination="getList" /> - + - +