diff --git a/mes-framework/mes-common/src/main/java/com/ningxia/yunxi/chemmes/framework/common/exception/util/ServiceExceptionUtil.java b/mes-framework/mes-common/src/main/java/com/ningxia/yunxi/chemmes/framework/common/exception/util/ServiceExceptionUtil.java index 95ff4f2..fb09118 100644 --- a/mes-framework/mes-common/src/main/java/com/ningxia/yunxi/chemmes/framework/common/exception/util/ServiceExceptionUtil.java +++ b/mes-framework/mes-common/src/main/java/com/ningxia/yunxi/chemmes/framework/common/exception/util/ServiceExceptionUtil.java @@ -56,8 +56,8 @@ public class ServiceExceptionUtil { } public static ServiceException exception(String message) { - String messagePattern = MESSAGES.getOrDefault(400, message); - return exception0(400, messagePattern); + String messagePattern = MESSAGES.getOrDefault(GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR.getCode(), message); + return exception0(GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR.getCode(), messagePattern); } /** diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/machineparam/vo/MachineParamPageReqVO.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/machineparam/vo/MachineParamPageReqVO.java index 05f1092..82cf6e8 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/machineparam/vo/MachineParamPageReqVO.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/machineparam/vo/MachineParamPageReqVO.java @@ -1,13 +1,10 @@ package com.ningxia.yunxi.chemmes.module.biz.controller.admin.machineparam.vo; -import lombok.*; -import java.util.*; -import io.swagger.v3.oas.annotations.media.Schema; import com.ningxia.yunxi.chemmes.framework.common.pojo.PageParam; -import org.springframework.format.annotation.DateTimeFormat; -import java.time.LocalDateTime; - -import static com.ningxia.yunxi.chemmes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; @Schema(description = "管理后台 - 机台工艺参数配置分页 Request VO") @Data @@ -24,4 +21,6 @@ public class MachineParamPageReqVO extends PageParam { @Schema(description = "机台名称", example = "李四") private String machineName; -} \ No newline at end of file + private String spec; + +} 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 c88bd3f..11240b8 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 @@ -73,6 +73,8 @@ public class MachineParamRespVO { @ExcelProperty("机台id") private Integer machineId; + private String collectCycle; + @Schema(description = "工艺参数明细列表") private List details; diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/machineparam/vo/MachineParamSaveReqVO.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/machineparam/vo/MachineParamSaveReqVO.java index d04b2eb..373f2ee 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/machineparam/vo/MachineParamSaveReqVO.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/machineparam/vo/MachineParamSaveReqVO.java @@ -49,6 +49,9 @@ public class MachineParamSaveReqVO { @Schema(description = "机台id", example = "10661") private Integer machineId; + @Schema(description = "采集周期", example = "10") + private Integer collectCycle; + private List details; } diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/material/MaterialController.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/material/MaterialController.java index 975d3d3..d2c8b18 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/material/MaterialController.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/material/MaterialController.java @@ -82,19 +82,30 @@ public class MaterialController { @PreAuthorize("@ss.hasPermission('biz:material:export')") @OperateLog(type = EXPORT) public void exportMaterialExcel(@Valid MaterialPageReqVO pageReqVO, - HttpServletResponse response) throws IOException { + HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); List list = materialService.getMaterialPage(pageReqVO).getList(); // 导出 Excel ExcelUtils.write(response, "物料主数据.xls", "数据", MaterialRespVO.class, - BeanUtils.toBean(list, MaterialRespVO.class)); + BeanUtils.toBean(list, MaterialRespVO.class)); } + // 物料下拉框 @GetMapping("/dropdown") @Operation(summary = "获得物料主数据下拉框") @PreAuthorize("@ss.hasPermission('biz:material:query')") - public CommonResult> getMaterialDropdown(@RequestParam(value = "keyWord", required = false, defaultValue = "") String keyWord) { - return success(BeanUtils.toBean(materialService.getMaterialDropdown(keyWord), MaterialRespVO.class)); + public CommonResult> getMaterialDropdown(@RequestParam(value = "keyWord", required = false, defaultValue = "") String keyWord, + @RequestParam(value = "matType", required = false, defaultValue = "") String type) { + return success(BeanUtils.toBean(materialService.getMaterialDropdown(keyWord, type), MaterialRespVO.class)); + } + + // 规格型号下拉框 + @GetMapping("/spec/dropdown") + @Operation(summary = "获得规格型号下拉框") + @PreAuthorize("@ss.hasPermission('biz:material:query')") + public CommonResult> getMaterialSpecificationDropdown(@RequestParam(value = "keyWord", required = false, defaultValue = "") String keyWord, + @RequestParam(value = "matType", required = false, defaultValue = "") String type) { + return success(BeanUtils.toBean(materialService.getMaterialSpecDropdown(keyWord, type), MaterialRespVO.class)); } } diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/dataobject/machineparam/MachineParamDO.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/dataobject/machineparam/MachineParamDO.java index 882f31e..da71c52 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/dataobject/machineparam/MachineParamDO.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/dataobject/machineparam/MachineParamDO.java @@ -1,11 +1,10 @@ package com.ningxia.yunxi.chemmes.module.biz.dal.dataobject.machineparam; -import lombok.*; -import java.util.*; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import com.ningxia.yunxi.chemmes.framework.mybatis.core.dataobject.BaseDO; +import lombok.*; /** * 机台工艺参数配置 DO @@ -34,7 +33,7 @@ public class MachineParamDO extends BaseDO { /** * 状态(1启用 2 未启用) * - * 枚举 {@link TODO system_status 对应的类} + * 枚举 */ private Integer enabledStatus; /** @@ -78,4 +77,6 @@ public class MachineParamDO extends BaseDO { */ private Integer machineId; -} \ No newline at end of file + private Integer collectCycle; + +} diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/mysql/machineparam/MachineParamMapper.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/mysql/machineparam/MachineParamMapper.java index 8d4e929..0dc8eb2 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/mysql/machineparam/MachineParamMapper.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/mysql/machineparam/MachineParamMapper.java @@ -1,13 +1,11 @@ package com.ningxia.yunxi.chemmes.module.biz.dal.mysql.machineparam; -import java.util.*; - import com.ningxia.yunxi.chemmes.framework.common.pojo.PageResult; -import com.ningxia.yunxi.chemmes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.ningxia.yunxi.chemmes.framework.mybatis.core.mapper.BaseMapperX; +import com.ningxia.yunxi.chemmes.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.ningxia.yunxi.chemmes.module.biz.controller.admin.machineparam.vo.MachineParamPageReqVO; import com.ningxia.yunxi.chemmes.module.biz.dal.dataobject.machineparam.MachineParamDO; import org.apache.ibatis.annotations.Mapper; -import com.ningxia.yunxi.chemmes.module.biz.controller.admin.machineparam.vo.*; /** * 机台工艺参数配置 Mapper @@ -22,7 +20,13 @@ public interface MachineParamMapper extends BaseMapperX { .eqIfPresent(MachineParamDO::getEnabledStatus, reqVO.getEnabledStatus()) .likeIfPresent(MachineParamDO::getMatName, reqVO.getMatName()) .likeIfPresent(MachineParamDO::getMachineName, reqVO.getMachineName()) + .likeIfPresent(MachineParamDO::getSpec, reqVO.getSpec()) .orderByDesc(MachineParamDO::getId)); } -} \ No newline at end of file + default Long selectByMachineNameAndMatName(String machineName, String matName) { + return selectCount(new LambdaQueryWrapperX() + .eq(MachineParamDO::getMachineName, machineName) + .eq(MachineParamDO::getMatName, matName)); + } +} diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/mysql/material/MaterialMapper.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/mysql/material/MaterialMapper.java index f0e39d6..fca6953 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/mysql/material/MaterialMapper.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/mysql/material/MaterialMapper.java @@ -26,9 +26,10 @@ public interface MaterialMapper extends BaseMapperX { .orderByDesc(MaterialDO::getId)); } - default List selectMaterialDropdown(String keyWord) { + default List selectMaterialDropdown(String keyWord, String matType) { return selectList(new LambdaQueryWrapperX() .eq(MaterialDO::getEnabledStatus, 0) + .eqIfPresent(MaterialDO::getMatType, matType) .and( wrapper -> wrapper .like(MaterialDO::getMatCode, keyWord) @@ -37,4 +38,12 @@ public interface MaterialMapper extends BaseMapperX { ) ); } + + default List selectMaterialSpecDropdown(String keyWord, String type) { + return selectList(new LambdaQueryWrapperX() + .eq(MaterialDO::getEnabledStatus, 0) + .eqIfPresent(MaterialDO::getMatType, type) + .like(MaterialDO::getSpec, keyWord) + ); + } } diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/mysql/usermachine/UserMachineMapper.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/mysql/usermachine/UserMachineMapper.java index ded3433..14d9cff 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/mysql/usermachine/UserMachineMapper.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/mysql/usermachine/UserMachineMapper.java @@ -19,7 +19,7 @@ public interface UserMachineMapper extends BaseMapperX { default PageResult selectPage(UserMachinePageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(UserMachineDO::getEnabledStatus, reqVO.getEnabledStatus()) - .eqIfPresent(UserMachineDO::getUserNo, reqVO.getUserNo()) + .likeIfPresent(UserMachineDO::getUserNo, reqVO.getUserNo()) .eqIfPresent(UserMachineDO::getClassGroup, reqVO.getClassGroup()) .orderByDesc(UserMachineDO::getId)); } 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 d415bbb..12b4047 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 @@ -13,6 +13,8 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import static com.ningxia.yunxi.chemmes.framework.common.exception.util.ServiceExceptionUtil.exception; + /** * 机台工艺参数配置 Service 实现类 * @@ -31,6 +33,8 @@ public class MachineParamServiceImpl implements MachineParamService { @Override @Transactional(rollbackFor = Exception.class) public Integer createMachineParam(MachineParamSaveReqVO createReqVO) { + // 机台(具体机台)+ 产品名称(具体产品名称)工艺参数已配置,请确认! + validateMachineParamUnique(createReqVO); // 插入 MachineParamDO machineParam = BeanUtils.toBean(createReqVO, MachineParamDO.class); machineParamMapper.insert(machineParam); @@ -40,10 +44,21 @@ public class MachineParamServiceImpl implements MachineParamService { return machineParam.getId(); } + private void validateMachineParamUnique(MachineParamSaveReqVO createReqVO) { + Long count = machineParamMapper.selectByMachineNameAndMatName(createReqVO.getMachineName(), createReqVO.getMatName()); + if (count > 0 && createReqVO.getId() == null) { + throw exception("机台(" + createReqVO.getMachineName() + ") + 产品名称(" + createReqVO.getMatName() + ") 工艺参数已配置,请确认!"); + } + } + @Override public void updateMachineParam(MachineParamSaveReqVO updateReqVO) { // 校验存在 - validateMachineParamExists(updateReqVO.getId()); + if (machineParamMapper.selectById(updateReqVO.getId()) == null) { + throw exception("机台(" + updateReqVO.getMachineName() + ") + 产品名称(" + updateReqVO.getMatName() + ") 工艺参数配置不存在,请刷新界面!"); + } + validateMachineParamUnique(updateReqVO); + // 更新 MachineParamDO updateObj = BeanUtils.toBean(updateReqVO, MachineParamDO.class); machineParamMapper.updateById(updateObj); @@ -62,13 +77,17 @@ public class MachineParamServiceImpl implements MachineParamService { private void validateMachineParamExists(Integer id) { if (machineParamMapper.selectById(id) == null) { -// throw exception(MACHINE_PARAM_NOT_EXISTS); + throw exception("该机台工艺参数配置不存在"); } } @Override public MachineParamDO getMachineParam(Integer id) { - return machineParamMapper.selectById(id); + MachineParamDO machineParamDO = machineParamMapper.selectById(id); + if (machineParamDO == null) { + throw exception("该机台工艺参数配置不存在,请确认!"); + } + return machineParamDO; } @Override diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/material/MaterialService.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/material/MaterialService.java index 24e5035..54b87cb 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/material/MaterialService.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/material/MaterialService.java @@ -53,5 +53,7 @@ public interface MaterialService { */ PageResult getMaterialPage(MaterialPageReqVO pageReqVO); - List getMaterialDropdown(String keyWord); + List getMaterialDropdown(String keyWord, String matType); + + List getMaterialSpecDropdown(String keyWord, String type); } diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/material/MaterialServiceImpl.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/material/MaterialServiceImpl.java index c338ccd..d0d95f8 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/material/MaterialServiceImpl.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/material/MaterialServiceImpl.java @@ -3,7 +3,6 @@ package com.ningxia.yunxi.chemmes.module.biz.service.material; import com.ningxia.yunxi.chemmes.framework.common.pojo.PageResult; import com.ningxia.yunxi.chemmes.framework.common.util.object.BeanUtils; import com.ningxia.yunxi.chemmes.module.biz.controller.admin.material.vo.MaterialPageReqVO; -import com.ningxia.yunxi.chemmes.module.biz.controller.admin.material.vo.MaterialRespVO; import com.ningxia.yunxi.chemmes.module.biz.controller.admin.material.vo.MaterialSaveReqVO; import com.ningxia.yunxi.chemmes.module.biz.dal.dataobject.material.MaterialDO; import com.ningxia.yunxi.chemmes.module.biz.dal.mysql.material.MaterialMapper; @@ -13,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 实现类 * @@ -53,7 +54,7 @@ public class MaterialServiceImpl implements MaterialService { private void validateMaterialExists(Integer id) { if (materialMapper.selectById(id) == null) { -// throw exception(MATERIAL_NOT_EXISTS); + throw exception("数据不存在"); } } @@ -68,7 +69,11 @@ public class MaterialServiceImpl implements MaterialService { } @Override - public List getMaterialDropdown(String keyWord) { - return materialMapper.selectMaterialDropdown(keyWord); + public List getMaterialDropdown(String keyWord, String matType) { + return materialMapper.selectMaterialDropdown(keyWord, matType); + } + @Override + public List getMaterialSpecDropdown(String keyWord, String type) { + return materialMapper.selectMaterialSpecDropdown(keyWord, type); } } diff --git a/mes-ui/mes-ui-admin-vue3/src/api/biz/material/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/biz/material/index.ts index 420a5ae..105d2f8 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/biz/material/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/biz/material/index.ts @@ -49,3 +49,8 @@ export const exportMaterial = async (params) => { export const getMaterialDropdown = async (params) => { return await request.get({ url: `/biz/material/dropdown`, params }) } + +// 获取规格型号下拉列表 +export const getSpecDropdown = async (params) => { + return await request.get({ url: `/biz/material/spec/dropdown`, params }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/config/axios/service.ts b/mes-ui/mes-ui-admin-vue3/src/config/axios/service.ts index b264bf2..a7298e4 100644 --- a/mes-ui/mes-ui-admin-vue3/src/config/axios/service.ts +++ b/mes-ui/mes-ui-admin-vue3/src/config/axios/service.ts @@ -167,7 +167,8 @@ service.interceptors.response.use( }) } } else if (code === 500) { - ElMessage.error(t('后端请求错误,原因:'+msg)) + // ElMessage.error(t('后端请求错误,原因:'+msg)) + ElMessage.error(t(msg)) return Promise.reject(new Error(msg)) } else if (code === 901) { ElMessage.error({ diff --git a/mes-ui/mes-ui-admin-vue3/src/views/biz/machineparam/MachineParamDetail.vue b/mes-ui/mes-ui-admin-vue3/src/views/biz/machineparam/MachineParamDetail.vue new file mode 100644 index 0000000..581bc99 --- /dev/null +++ b/mes-ui/mes-ui-admin-vue3/src/views/biz/machineparam/MachineParamDetail.vue @@ -0,0 +1,199 @@ + + + + + diff --git a/mes-ui/mes-ui-admin-vue3/src/views/biz/machineparam/MachineParamForm.vue b/mes-ui/mes-ui-admin-vue3/src/views/biz/machineparam/MachineParamForm.vue index c9157bc..68c23e6 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/biz/machineparam/MachineParamForm.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/biz/machineparam/MachineParamForm.vue @@ -4,7 +4,7 @@ ref="formRef" :model="formData" :rules="formRules" - label-width="100px" + label-width="110px" v-loading="formLoading" > @@ -65,7 +65,11 @@ - + + + + + @@ -118,7 +122,7 @@ /> - + - + - +