From 301d2d28ef14751580d76ebafb05f1318b8e31aa Mon Sep 17 00:00:00 2001 From: zxy Date: Wed, 6 May 2026 10:41:08 +0800 Subject: [PATCH] =?UTF-8?q?refactor(biz):=20=E9=87=8D=E6=9E=84=E6=A3=80?= =?UTF-8?q?=E9=AA=8C=E9=A1=B9=E7=9B=AE=E3=80=81=E5=AE=A2=E6=88=B7=E3=80=81?= =?UTF-8?q?=E6=9C=BA=E5=8F=B0=E3=80=81=E5=B7=A5=E5=BA=8F=E5=92=8C=E4=BA=A7?= =?UTF-8?q?=E7=BA=BF=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../exception/util/ServiceExceptionUtil.java | 5 + .../module/biz/enums/ErrorCodeConstants.java | 3 + .../admin/checkitem/CheckItemController.java | 188 +++++++++--------- .../checkitem/vo/CheckItemPageReqVO.java | 13 +- .../admin/checkitem/vo/CheckItemRespVO.java | 15 +- .../checkitem/vo/CheckItemSaveReqVO.java | 107 +++++----- .../admin/customer/CustomerController.java | 188 +++++++++--------- .../admin/customer/vo/CustomerPageReqVO.java | 6 +- .../admin/customer/vo/CustomerRespVO.java | 15 +- .../admin/machine/MachineController.java | 168 +++++++--------- .../controller/admin/proc/ProcController.java | 177 ++++++++--------- .../controller/admin/proc/vo/ProcRespVO.java | 17 +- .../admin/proline/ProLineController.java | 176 ++++++++-------- .../biz/dal/mysql/machine/MachineMapper.java | 13 +- .../module/biz/dal/mysql/proc/ProcMapper.java | 22 +- .../biz/dal/mysql/proline/ProLineMapper.java | 22 +- .../service/machine/MachineServiceImpl.java | 27 ++- .../module/biz/service/proc/ProcService.java | 114 ++++++----- .../biz/service/proc/ProcServiceImpl.java | 29 ++- .../biz/service/proline/ProLineService.java | 112 ++++++----- .../service/proline/ProLineServiceImpl.java | 24 +++ .../src/api/biz/proc/index.ts | 5 + .../src/api/biz/proline/index.ts | 5 + .../src/views/biz/machine/MachineForm.vue | 84 ++++++-- .../src/views/biz/machine/index.vue | 93 ++++++--- .../src/views/biz/proc/ProcForm.vue | 28 +-- .../src/views/biz/proc/index.vue | 54 ++--- .../src/views/biz/proline/ProLineForm.vue | 26 +-- .../src/views/biz/proline/index.vue | 53 ++--- 29 files changed, 939 insertions(+), 850 deletions(-) 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 ef329f5..95ff4f2 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 @@ -55,6 +55,11 @@ public class ServiceExceptionUtil { return exception0(errorCode.getCode(), messagePattern, params); } + public static ServiceException exception(String message) { + String messagePattern = MESSAGES.getOrDefault(400, message); + return exception0(400, messagePattern); + } + /** * 创建指定编号的 ServiceException 的异常 * diff --git a/mes-module-chemmes/mes-module-chemmes-api/src/main/java/com/ningxia/yunxi/chemmes/module/biz/enums/ErrorCodeConstants.java b/mes-module-chemmes/mes-module-chemmes-api/src/main/java/com/ningxia/yunxi/chemmes/module/biz/enums/ErrorCodeConstants.java index 629a229..698d596 100644 --- a/mes-module-chemmes/mes-module-chemmes-api/src/main/java/com/ningxia/yunxi/chemmes/module/biz/enums/ErrorCodeConstants.java +++ b/mes-module-chemmes/mes-module-chemmes-api/src/main/java/com/ningxia/yunxi/chemmes/module/biz/enums/ErrorCodeConstants.java @@ -64,4 +64,7 @@ public interface ErrorCodeConstants { /********************需求信息*************************/ ErrorCode REGION_BIND_NOT_EXISTS = new ErrorCode(1_008_0001,"区域绑定信息不存在"); + + ErrorCode PROC_CODE_DUPLICATE = new ErrorCode(1_001_023, "工序编码不能重复"); + ErrorCode PROC_LINE_CODE_DUPLICATE = new ErrorCode(1_001_023, "产线编码不能重复"); } diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/checkitem/CheckItemController.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/checkitem/CheckItemController.java index 78d07d6..304be75 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/checkitem/CheckItemController.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/checkitem/CheckItemController.java @@ -1,95 +1,93 @@ -package com.ningxia.yunxi.chemmes.module.biz.controller.admin.checkitem; - -import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; - -import javax.validation.constraints.*; -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import com.ningxia.yunxi.chemmes.framework.common.pojo.PageParam; -import com.ningxia.yunxi.chemmes.framework.common.pojo.PageResult; -import com.ningxia.yunxi.chemmes.framework.common.pojo.CommonResult; -import com.ningxia.yunxi.chemmes.framework.common.util.object.BeanUtils; -import static com.ningxia.yunxi.chemmes.framework.common.pojo.CommonResult.success; - -import com.ningxia.yunxi.chemmes.framework.excel.core.util.ExcelUtils; - -import com.ningxia.yunxi.chemmes.framework.operatelog.core.annotations.OperateLog; -import static com.ningxia.yunxi.chemmes.framework.operatelog.core.enums.OperateTypeEnum.*; - -import com.ningxia.yunxi.chemmes.module.biz.controller.admin.checkitem.vo.*; -import com.ningxia.yunxi.chemmes.module.biz.dal.dataobject.checkitem.CheckItemDO; -import com.ningxia.yunxi.chemmes.module.biz.service.checkitem.CheckItemService; - -@Tag(name = "管理后台 - 检验项目") -@RestController -@RequestMapping("/biz/check-item") -@Validated -public class CheckItemController { - - @Resource - private CheckItemService checkItemService; - - @PostMapping("/create") - @Operation(summary = "创建检验项目") - @PreAuthorize("@ss.hasPermission('biz:check-item:create')") - public CommonResult createCheckItem(@Valid @RequestBody CheckItemSaveReqVO createReqVO) { - return success(checkItemService.createCheckItem(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新检验项目") - @PreAuthorize("@ss.hasPermission('biz:check-item:update')") - public CommonResult updateCheckItem(@Valid @RequestBody CheckItemSaveReqVO updateReqVO) { - checkItemService.updateCheckItem(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除检验项目") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('biz:check-item:delete')") - public CommonResult deleteCheckItem(@RequestParam("id") Integer id) { - checkItemService.deleteCheckItem(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得检验项目") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('biz:check-item:query')") - public CommonResult getCheckItem(@RequestParam("id") Integer id) { - CheckItemDO checkItem = checkItemService.getCheckItem(id); - return success(BeanUtils.toBean(checkItem, CheckItemRespVO.class)); - } - - @GetMapping("/page") - @Operation(summary = "获得检验项目分页") - @PreAuthorize("@ss.hasPermission('biz:check-item:query')") - public CommonResult> getCheckItemPage(@Valid CheckItemPageReqVO pageReqVO) { - PageResult pageResult = checkItemService.getCheckItemPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, CheckItemRespVO.class)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出检验项目 Excel") - @PreAuthorize("@ss.hasPermission('biz:check-item:export')") - @OperateLog(type = EXPORT) - public void exportCheckItemExcel(@Valid CheckItemPageReqVO pageReqVO, - HttpServletResponse response) throws IOException { - pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = checkItemService.getCheckItemPage(pageReqVO).getList(); - // 导出 Excel - ExcelUtils.write(response, "检验项目.xls", "数据", CheckItemRespVO.class, - BeanUtils.toBean(list, CheckItemRespVO.class)); - } - -} \ No newline at end of file +package com.ningxia.yunxi.chemmes.module.biz.controller.admin.checkitem; + +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; +import com.ningxia.yunxi.chemmes.framework.common.util.object.BeanUtils; +import com.ningxia.yunxi.chemmes.framework.excel.core.util.ExcelUtils; +import com.ningxia.yunxi.chemmes.framework.operatelog.core.annotations.OperateLog; +import com.ningxia.yunxi.chemmes.module.biz.controller.admin.checkitem.vo.CheckItemPageReqVO; +import com.ningxia.yunxi.chemmes.module.biz.controller.admin.checkitem.vo.CheckItemRespVO; +import com.ningxia.yunxi.chemmes.module.biz.controller.admin.checkitem.vo.CheckItemSaveReqVO; +import com.ningxia.yunxi.chemmes.module.biz.dal.dataobject.checkitem.CheckItemDO; +import com.ningxia.yunxi.chemmes.module.biz.service.checkitem.CheckItemService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.List; + +import static com.ningxia.yunxi.chemmes.framework.common.pojo.CommonResult.success; +import static com.ningxia.yunxi.chemmes.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 检验项目") +@RestController +@RequestMapping("/biz/check-item") +@Validated +public class CheckItemController { + + @Resource + private CheckItemService checkItemService; + + @PostMapping("/create") + @Operation(summary = "创建检验项目") + @PreAuthorize("@ss.hasPermission('biz:check-item:create')") + public CommonResult createCheckItem(@Valid @RequestBody CheckItemSaveReqVO createReqVO) { + return success(checkItemService.createCheckItem(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新检验项目") + @PreAuthorize("@ss.hasPermission('biz:check-item:update')") + public CommonResult updateCheckItem(@Valid @RequestBody CheckItemSaveReqVO updateReqVO) { + checkItemService.updateCheckItem(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除检验项目") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('biz:check-item:delete')") + public CommonResult deleteCheckItem(@RequestParam("id") Integer id) { + checkItemService.deleteCheckItem(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得检验项目") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('biz:check-item:query')") + public CommonResult getCheckItem(@RequestParam("id") Integer id) { + CheckItemDO checkItem = checkItemService.getCheckItem(id); + return success(BeanUtils.toBean(checkItem, CheckItemRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得检验项目分页") + @PreAuthorize("@ss.hasPermission('biz:check-item:query')") + public CommonResult> getCheckItemPage(@Valid CheckItemPageReqVO pageReqVO) { + PageResult pageResult = checkItemService.getCheckItemPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, CheckItemRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出检验项目 Excel") + @PreAuthorize("@ss.hasPermission('biz:check-item:export')") + @OperateLog(type = EXPORT) + public void exportCheckItemExcel(@Valid CheckItemPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = checkItemService.getCheckItemPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "检验项目.xls", "数据", CheckItemRespVO.class, + BeanUtils.toBean(list, CheckItemRespVO.class)); + } + +} diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/checkitem/vo/CheckItemPageReqVO.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/checkitem/vo/CheckItemPageReqVO.java index 0bf23bd..257f030 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/checkitem/vo/CheckItemPageReqVO.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/checkitem/vo/CheckItemPageReqVO.java @@ -1,13 +1,10 @@ package com.ningxia.yunxi.chemmes.module.biz.controller.admin.checkitem.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 @@ -51,4 +48,4 @@ public class CheckItemPageReqVO extends PageParam { @Schema(description = "打印是否取平均值") private String printAvgValues; -} \ No newline at end of file +} diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/checkitem/vo/CheckItemRespVO.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/checkitem/vo/CheckItemRespVO.java index 8dac314..3a0806f 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/checkitem/vo/CheckItemRespVO.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/checkitem/vo/CheckItemRespVO.java @@ -1,14 +1,13 @@ package com.ningxia.yunxi.chemmes.module.biz.controller.admin.checkitem.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 @@ -78,4 +77,4 @@ public class CheckItemRespVO { @ExcelProperty("打印是否取平均值") private String printAvgValues; -} \ No newline at end of file +} diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/checkitem/vo/CheckItemSaveReqVO.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/checkitem/vo/CheckItemSaveReqVO.java index a7c29f8..29f5d4b 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/checkitem/vo/CheckItemSaveReqVO.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/checkitem/vo/CheckItemSaveReqVO.java @@ -1,55 +1,52 @@ -package com.ningxia.yunxi.chemmes.module.biz.controller.admin.checkitem.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import javax.validation.constraints.*; -import java.util.*; - -@Schema(description = "管理后台 - 检验项目新增/修改 Request VO") -@Data -public class CheckItemSaveReqVO { - - @Schema(description = "自增字段", requiredMode = Schema.RequiredMode.REQUIRED, example = "27034") - private Integer id; - - @Schema(description = "检验项编号") - private String itemNo; - - @Schema(description = "检验项名称", example = "李四") - private String itemName; - - @Schema(description = "性质,1 表示定性,2 表示定量") - private String nature; - - @Schema(description = "单位", example = "张三") - private String unitName; - - @Schema(description = "检验方法") - private String checkMethod; - - @Schema(description = "备注", example = "你说的对") - private String remark; - - @Schema(description = "适用类型,1表示原材料 2表示半成品 3表示成品", example = "1") - private String itemType; - - @Schema(description = "检验大类") - private String itemClass; - - @Schema(description = "检验值类型( I -数字 T- 文本)", example = "1") - private String itemValueType; - - @Schema(description = "绑定输入文本(符合,不符合)") - private String itemContent; - - @Schema(description = "检验值数量") - private Integer testNum; - - @Schema(description = "小数位数") - private Integer floatNum; - - @Schema(description = "打印是否取平均值") - private String printAvgValues; - -} \ No newline at end of file +package com.ningxia.yunxi.chemmes.module.biz.controller.admin.checkitem.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +@Schema(description = "管理后台 - 检验项目新增/修改 Request VO") +@Data +public class CheckItemSaveReqVO { + + @Schema(description = "自增字段", requiredMode = Schema.RequiredMode.REQUIRED, example = "27034") + private Integer id; + + @Schema(description = "检验项编号") + private String itemNo; + + @Schema(description = "检验项名称", example = "李四") + private String itemName; + + @Schema(description = "性质,1 表示定性,2 表示定量") + private String nature; + + @Schema(description = "单位", example = "张三") + private String unitName; + + @Schema(description = "检验方法") + private String checkMethod; + + @Schema(description = "备注", example = "你说的对") + private String remark; + + @Schema(description = "适用类型,1表示原材料 2表示半成品 3表示成品", example = "1") + private String itemType; + + @Schema(description = "检验大类") + private String itemClass; + + @Schema(description = "检验值类型( I -数字 T- 文本)", example = "1") + private String itemValueType; + + @Schema(description = "绑定输入文本(符合,不符合)") + private String itemContent; + + @Schema(description = "检验值数量") + private Integer testNum; + + @Schema(description = "小数位数") + private Integer floatNum; + + @Schema(description = "打印是否取平均值") + private String printAvgValues; + +} diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/customer/CustomerController.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/customer/CustomerController.java index 00aad12..5d13010 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/customer/CustomerController.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/customer/CustomerController.java @@ -1,95 +1,93 @@ -package com.ningxia.yunxi.chemmes.module.biz.controller.admin.customer; - -import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; - -import javax.validation.constraints.*; -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import com.ningxia.yunxi.chemmes.framework.common.pojo.PageParam; -import com.ningxia.yunxi.chemmes.framework.common.pojo.PageResult; -import com.ningxia.yunxi.chemmes.framework.common.pojo.CommonResult; -import com.ningxia.yunxi.chemmes.framework.common.util.object.BeanUtils; -import static com.ningxia.yunxi.chemmes.framework.common.pojo.CommonResult.success; - -import com.ningxia.yunxi.chemmes.framework.excel.core.util.ExcelUtils; - -import com.ningxia.yunxi.chemmes.framework.operatelog.core.annotations.OperateLog; -import static com.ningxia.yunxi.chemmes.framework.operatelog.core.enums.OperateTypeEnum.*; - -import com.ningxia.yunxi.chemmes.module.biz.controller.admin.customer.vo.*; -import com.ningxia.yunxi.chemmes.module.biz.dal.dataobject.customer.CustomerDO; -import com.ningxia.yunxi.chemmes.module.biz.service.customer.CustomerService; - -@Tag(name = "管理后台 - 客户主数据") -@RestController -@RequestMapping("/biz/customer") -@Validated -public class CustomerController { - - @Resource - private CustomerService customerService; - - @PostMapping("/create") - @Operation(summary = "创建客户主数据") - @PreAuthorize("@ss.hasPermission('biz:customer:create')") - public CommonResult createCustomer(@Valid @RequestBody CustomerSaveReqVO createReqVO) { - return success(customerService.createCustomer(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新客户主数据") - @PreAuthorize("@ss.hasPermission('biz:customer:update')") - public CommonResult updateCustomer(@Valid @RequestBody CustomerSaveReqVO updateReqVO) { - customerService.updateCustomer(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除客户主数据") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('biz:customer:delete')") - public CommonResult deleteCustomer(@RequestParam("id") Integer id) { - customerService.deleteCustomer(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得客户主数据") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('biz:customer:query')") - public CommonResult getCustomer(@RequestParam("id") Integer id) { - CustomerDO customer = customerService.getCustomer(id); - return success(BeanUtils.toBean(customer, CustomerRespVO.class)); - } - - @GetMapping("/page") - @Operation(summary = "获得客户主数据分页") - @PreAuthorize("@ss.hasPermission('biz:customer:query')") - public CommonResult> getCustomerPage(@Valid CustomerPageReqVO pageReqVO) { - PageResult pageResult = customerService.getCustomerPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, CustomerRespVO.class)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出客户主数据 Excel") - @PreAuthorize("@ss.hasPermission('biz:customer:export')") - @OperateLog(type = EXPORT) - public void exportCustomerExcel(@Valid CustomerPageReqVO pageReqVO, - HttpServletResponse response) throws IOException { - pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = customerService.getCustomerPage(pageReqVO).getList(); - // 导出 Excel - ExcelUtils.write(response, "客户主数据.xls", "数据", CustomerRespVO.class, - BeanUtils.toBean(list, CustomerRespVO.class)); - } - -} \ No newline at end of file +package com.ningxia.yunxi.chemmes.module.biz.controller.admin.customer; + +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; +import com.ningxia.yunxi.chemmes.framework.common.util.object.BeanUtils; +import com.ningxia.yunxi.chemmes.framework.excel.core.util.ExcelUtils; +import com.ningxia.yunxi.chemmes.framework.operatelog.core.annotations.OperateLog; +import com.ningxia.yunxi.chemmes.module.biz.controller.admin.customer.vo.CustomerPageReqVO; +import com.ningxia.yunxi.chemmes.module.biz.controller.admin.customer.vo.CustomerRespVO; +import com.ningxia.yunxi.chemmes.module.biz.controller.admin.customer.vo.CustomerSaveReqVO; +import com.ningxia.yunxi.chemmes.module.biz.dal.dataobject.customer.CustomerDO; +import com.ningxia.yunxi.chemmes.module.biz.service.customer.CustomerService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.List; + +import static com.ningxia.yunxi.chemmes.framework.common.pojo.CommonResult.success; +import static com.ningxia.yunxi.chemmes.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 客户主数据") +@RestController +@RequestMapping("/biz/customer") +@Validated +public class CustomerController { + + @Resource + private CustomerService customerService; + + @PostMapping("/create") + @Operation(summary = "创建客户主数据") + @PreAuthorize("@ss.hasPermission('biz:customer:create')") + public CommonResult createCustomer(@Valid @RequestBody CustomerSaveReqVO createReqVO) { + return success(customerService.createCustomer(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新客户主数据") + @PreAuthorize("@ss.hasPermission('biz:customer:update')") + public CommonResult updateCustomer(@Valid @RequestBody CustomerSaveReqVO updateReqVO) { + customerService.updateCustomer(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除客户主数据") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('biz:customer:delete')") + public CommonResult deleteCustomer(@RequestParam("id") Integer id) { + customerService.deleteCustomer(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得客户主数据") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('biz:customer:query')") + public CommonResult getCustomer(@RequestParam("id") Integer id) { + CustomerDO customer = customerService.getCustomer(id); + return success(BeanUtils.toBean(customer, CustomerRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得客户主数据分页") + @PreAuthorize("@ss.hasPermission('biz:customer:query')") + public CommonResult> getCustomerPage(@Valid CustomerPageReqVO pageReqVO) { + PageResult pageResult = customerService.getCustomerPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, CustomerRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出客户主数据 Excel") + @PreAuthorize("@ss.hasPermission('biz:customer:export')") + @OperateLog(type = EXPORT) + public void exportCustomerExcel(@Valid CustomerPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = customerService.getCustomerPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "客户主数据.xls", "数据", CustomerRespVO.class, + BeanUtils.toBean(list, CustomerRespVO.class)); + } + +} diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/customer/vo/CustomerPageReqVO.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/customer/vo/CustomerPageReqVO.java index 4733e44..941f0a2 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/customer/vo/CustomerPageReqVO.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/customer/vo/CustomerPageReqVO.java @@ -1,13 +1,9 @@ package com.ningxia.yunxi.chemmes.module.biz.controller.admin.customer.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; @Schema(description = "管理后台 - 客户主数据分页 Request VO") @Data @@ -27,4 +23,4 @@ public class CustomerPageReqVO extends PageParam { @Schema(description = "启用状态(1:启用2:未启用)", example = "2") private String enabledStatus; -} \ No newline at end of file +} diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/customer/vo/CustomerRespVO.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/customer/vo/CustomerRespVO.java index afcc9a1..b52d1f6 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/customer/vo/CustomerRespVO.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/customer/vo/CustomerRespVO.java @@ -1,14 +1,13 @@ package com.ningxia.yunxi.chemmes.module.biz.controller.admin.customer.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 @@ -113,4 +112,4 @@ public class CustomerRespVO { @DictFormat("system_status") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 private String enabledStatus; -} \ No newline at end of file +} diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/machine/MachineController.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/machine/MachineController.java index 389cddd..60018ae 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/machine/MachineController.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/machine/MachineController.java @@ -1,95 +1,73 @@ -package com.ningxia.yunxi.chemmes.module.biz.controller.admin.machine; - -import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; - -import javax.validation.constraints.*; -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import com.ningxia.yunxi.chemmes.framework.common.pojo.PageParam; -import com.ningxia.yunxi.chemmes.framework.common.pojo.PageResult; -import com.ningxia.yunxi.chemmes.framework.common.pojo.CommonResult; -import com.ningxia.yunxi.chemmes.framework.common.util.object.BeanUtils; -import static com.ningxia.yunxi.chemmes.framework.common.pojo.CommonResult.success; - -import com.ningxia.yunxi.chemmes.framework.excel.core.util.ExcelUtils; - -import com.ningxia.yunxi.chemmes.framework.operatelog.core.annotations.OperateLog; -import static com.ningxia.yunxi.chemmes.framework.operatelog.core.enums.OperateTypeEnum.*; - -import com.ningxia.yunxi.chemmes.module.biz.controller.admin.machine.vo.*; -import com.ningxia.yunxi.chemmes.module.biz.dal.dataobject.machine.MachineDO; -import com.ningxia.yunxi.chemmes.module.biz.service.machine.MachineService; - -@Tag(name = "管理后台 - 机台主数据") -@RestController -@RequestMapping("/biz/machine") -@Validated -public class MachineController { - - @Resource - private MachineService machineService; - - @PostMapping("/create") - @Operation(summary = "创建机台主数据") - @PreAuthorize("@ss.hasPermission('biz:machine:create')") - public CommonResult createMachine(@Valid @RequestBody MachineSaveReqVO createReqVO) { - return success(machineService.createMachine(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新机台主数据") - @PreAuthorize("@ss.hasPermission('biz:machine:update')") - public CommonResult updateMachine(@Valid @RequestBody MachineSaveReqVO updateReqVO) { - machineService.updateMachine(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除机台主数据") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('biz:machine:delete')") - public CommonResult deleteMachine(@RequestParam("id") Integer id) { - machineService.deleteMachine(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得机台主数据") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('biz:machine:query')") - public CommonResult getMachine(@RequestParam("id") Integer id) { - MachineDO machine = machineService.getMachine(id); - return success(BeanUtils.toBean(machine, MachineRespVO.class)); - } - - @GetMapping("/page") - @Operation(summary = "获得机台主数据分页") - @PreAuthorize("@ss.hasPermission('biz:machine:query')") - public CommonResult> getMachinePage(@Valid MachinePageReqVO pageReqVO) { - PageResult pageResult = machineService.getMachinePage(pageReqVO); - return success(BeanUtils.toBean(pageResult, MachineRespVO.class)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出机台主数据 Excel") - @PreAuthorize("@ss.hasPermission('biz:machine:export')") - @OperateLog(type = EXPORT) - public void exportMachineExcel(@Valid MachinePageReqVO pageReqVO, - HttpServletResponse response) throws IOException { - pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = machineService.getMachinePage(pageReqVO).getList(); - // 导出 Excel - ExcelUtils.write(response, "机台主数据.xls", "数据", MachineRespVO.class, - BeanUtils.toBean(list, MachineRespVO.class)); - } - -} \ No newline at end of file +package com.ningxia.yunxi.chemmes.module.biz.controller.admin.machine; + +import com.ningxia.yunxi.chemmes.framework.common.pojo.CommonResult; +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.machine.vo.MachinePageReqVO; +import com.ningxia.yunxi.chemmes.module.biz.controller.admin.machine.vo.MachineRespVO; +import com.ningxia.yunxi.chemmes.module.biz.controller.admin.machine.vo.MachineSaveReqVO; +import com.ningxia.yunxi.chemmes.module.biz.dal.dataobject.machine.MachineDO; +import com.ningxia.yunxi.chemmes.module.biz.service.machine.MachineService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + +import static com.ningxia.yunxi.chemmes.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 机台主数据") +@RestController +@RequestMapping("/biz/machine") +@Validated +public class MachineController { + + @Resource + private MachineService machineService; + + @PostMapping("/create") + @Operation(summary = "创建机台主数据") + @PreAuthorize("@ss.hasPermission('biz:machine:create')") + public CommonResult createMachine(@Valid @RequestBody MachineSaveReqVO createReqVO) { + return success(machineService.createMachine(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新机台主数据") + @PreAuthorize("@ss.hasPermission('biz:machine:update')") + public CommonResult updateMachine(@Valid @RequestBody MachineSaveReqVO updateReqVO) { + machineService.updateMachine(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除机台主数据") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('biz:machine:delete')") + public CommonResult deleteMachine(@RequestParam("id") Integer id) { + machineService.deleteMachine(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得机台主数据") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('biz:machine:query')") + public CommonResult getMachine(@RequestParam("id") Integer id) { + MachineDO machine = machineService.getMachine(id); + return success(BeanUtils.toBean(machine, MachineRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得机台主数据分页") + @PreAuthorize("@ss.hasPermission('biz:machine:query')") + public CommonResult> getMachinePage(@Valid MachinePageReqVO pageReqVO) { + PageResult pageResult = machineService.getMachinePage(pageReqVO); + return success(BeanUtils.toBean(pageResult, MachineRespVO.class)); + } + +} diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/proc/ProcController.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/proc/ProcController.java index dc091dc..73c7369 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/proc/ProcController.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/proc/ProcController.java @@ -1,95 +1,82 @@ -package com.ningxia.yunxi.chemmes.module.biz.controller.admin.proc; - -import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; - -import javax.validation.constraints.*; -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import com.ningxia.yunxi.chemmes.framework.common.pojo.PageParam; -import com.ningxia.yunxi.chemmes.framework.common.pojo.PageResult; -import com.ningxia.yunxi.chemmes.framework.common.pojo.CommonResult; -import com.ningxia.yunxi.chemmes.framework.common.util.object.BeanUtils; -import static com.ningxia.yunxi.chemmes.framework.common.pojo.CommonResult.success; - -import com.ningxia.yunxi.chemmes.framework.excel.core.util.ExcelUtils; - -import com.ningxia.yunxi.chemmes.framework.operatelog.core.annotations.OperateLog; -import static com.ningxia.yunxi.chemmes.framework.operatelog.core.enums.OperateTypeEnum.*; - -import com.ningxia.yunxi.chemmes.module.biz.controller.admin.proc.vo.*; -import com.ningxia.yunxi.chemmes.module.biz.dal.dataobject.proc.ProcDO; -import com.ningxia.yunxi.chemmes.module.biz.service.proc.ProcService; - -@Tag(name = "管理后台 - 工序主数据") -@RestController -@RequestMapping("/biz/proc") -@Validated -public class ProcController { - - @Resource - private ProcService procService; - - @PostMapping("/create") - @Operation(summary = "创建工序主数据") - @PreAuthorize("@ss.hasPermission('biz:proc:create')") - public CommonResult createProc(@Valid @RequestBody ProcSaveReqVO createReqVO) { - return success(procService.createProc(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新工序主数据") - @PreAuthorize("@ss.hasPermission('biz:proc:update')") - public CommonResult updateProc(@Valid @RequestBody ProcSaveReqVO updateReqVO) { - procService.updateProc(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除工序主数据") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('biz:proc:delete')") - public CommonResult deleteProc(@RequestParam("id") Integer id) { - procService.deleteProc(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得工序主数据") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('biz:proc:query')") - public CommonResult getProc(@RequestParam("id") Integer id) { - ProcDO proc = procService.getProc(id); - return success(BeanUtils.toBean(proc, ProcRespVO.class)); - } - - @GetMapping("/page") - @Operation(summary = "获得工序主数据分页") - @PreAuthorize("@ss.hasPermission('biz:proc:query')") - public CommonResult> getProcPage(@Valid ProcPageReqVO pageReqVO) { - PageResult pageResult = procService.getProcPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, ProcRespVO.class)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出工序主数据 Excel") - @PreAuthorize("@ss.hasPermission('biz:proc:export')") - @OperateLog(type = EXPORT) - public void exportProcExcel(@Valid ProcPageReqVO pageReqVO, - HttpServletResponse response) throws IOException { - pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = procService.getProcPage(pageReqVO).getList(); - // 导出 Excel - ExcelUtils.write(response, "工序主数据.xls", "数据", ProcRespVO.class, - BeanUtils.toBean(list, ProcRespVO.class)); - } - -} \ No newline at end of file +package com.ningxia.yunxi.chemmes.module.biz.controller.admin.proc; + +import com.ningxia.yunxi.chemmes.framework.common.pojo.CommonResult; +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.proc.vo.ProcPageReqVO; +import com.ningxia.yunxi.chemmes.module.biz.controller.admin.proc.vo.ProcRespVO; +import com.ningxia.yunxi.chemmes.module.biz.controller.admin.proc.vo.ProcSaveReqVO; +import com.ningxia.yunxi.chemmes.module.biz.dal.dataobject.proc.ProcDO; +import com.ningxia.yunxi.chemmes.module.biz.service.proc.ProcService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; + +import static com.ningxia.yunxi.chemmes.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 工序主数据") +@RestController +@RequestMapping("/biz/proc") +@Validated +public class ProcController { + + @Resource + private ProcService procService; + + @PostMapping("/create") + @Operation(summary = "创建工序主数据") + @PreAuthorize("@ss.hasPermission('biz:proc:create')") + public CommonResult createProc(@Valid @RequestBody ProcSaveReqVO createReqVO) { + return success(procService.createProc(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新工序主数据") + @PreAuthorize("@ss.hasPermission('biz:proc:update')") + public CommonResult updateProc(@Valid @RequestBody ProcSaveReqVO updateReqVO) { + procService.updateProc(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除工序主数据") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('biz:proc:delete')") + public CommonResult deleteProc(@RequestParam("id") Integer id) { + procService.deleteProc(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得工序主数据") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('biz:proc:query')") + public CommonResult getProc(@RequestParam("id") Integer id) { + ProcDO proc = procService.getProc(id); + return success(BeanUtils.toBean(proc, ProcRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得工序主数据分页") + @PreAuthorize("@ss.hasPermission('biz:proc:query')") + public CommonResult> getProcPage(@Valid ProcPageReqVO pageReqVO) { + PageResult pageResult = procService.getProcPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ProcRespVO.class)); + } + + // 下拉框 + @GetMapping("/dropdown") + @Operation(summary = "获得工序主数据下拉框选项") + @PreAuthorize("@ss.hasPermission('biz:proc:query')") + public CommonResult> getProcDropdown(@RequestParam(value = "keyWord", required = false, defaultValue = "") String keyWord) { + return success(procService.getProcDropdown(keyWord)); + } + +} diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/proc/vo/ProcRespVO.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/proc/vo/ProcRespVO.java index cdccf16..2c64ce9 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/proc/vo/ProcRespVO.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/proc/vo/ProcRespVO.java @@ -1,14 +1,13 @@ package com.ningxia.yunxi.chemmes.module.biz.controller.admin.proc.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 @@ -33,11 +32,11 @@ public class ProcRespVO { @Schema(description = "状态(1启用 2 未启用)", example = "2") @ExcelProperty(value = "状态(1启用 2 未启用)", converter = DictConvert.class) - @DictFormat("system_status") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 + @DictFormat("system_status") private Integer enabledStatus; @Schema(description = "备注", example = "你猜") @ExcelProperty("备注") private String remark; -} \ No newline at end of file +} diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/proline/ProLineController.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/proline/ProLineController.java index a995150..4c49b09 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/proline/ProLineController.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/proline/ProLineController.java @@ -1,95 +1,81 @@ -package com.ningxia.yunxi.chemmes.module.biz.controller.admin.proline; - -import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; - -import javax.validation.constraints.*; -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import com.ningxia.yunxi.chemmes.framework.common.pojo.PageParam; -import com.ningxia.yunxi.chemmes.framework.common.pojo.PageResult; -import com.ningxia.yunxi.chemmes.framework.common.pojo.CommonResult; -import com.ningxia.yunxi.chemmes.framework.common.util.object.BeanUtils; -import static com.ningxia.yunxi.chemmes.framework.common.pojo.CommonResult.success; - -import com.ningxia.yunxi.chemmes.framework.excel.core.util.ExcelUtils; - -import com.ningxia.yunxi.chemmes.framework.operatelog.core.annotations.OperateLog; -import static com.ningxia.yunxi.chemmes.framework.operatelog.core.enums.OperateTypeEnum.*; - -import com.ningxia.yunxi.chemmes.module.biz.controller.admin.proline.vo.*; -import com.ningxia.yunxi.chemmes.module.biz.dal.dataobject.proline.ProLineDO; -import com.ningxia.yunxi.chemmes.module.biz.service.proline.ProLineService; - -@Tag(name = "管理后台 - 产线主数据") -@RestController -@RequestMapping("/biz/pro-line") -@Validated -public class ProLineController { - - @Resource - private ProLineService proLineService; - - @PostMapping("/create") - @Operation(summary = "创建产线主数据") - @PreAuthorize("@ss.hasPermission('biz:pro-line:create')") - public CommonResult createProLine(@Valid @RequestBody ProLineSaveReqVO createReqVO) { - return success(proLineService.createProLine(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新产线主数据") - @PreAuthorize("@ss.hasPermission('biz:pro-line:update')") - public CommonResult updateProLine(@Valid @RequestBody ProLineSaveReqVO updateReqVO) { - proLineService.updateProLine(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除产线主数据") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('biz:pro-line:delete')") - public CommonResult deleteProLine(@RequestParam("id") Integer id) { - proLineService.deleteProLine(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得产线主数据") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('biz:pro-line:query')") - public CommonResult getProLine(@RequestParam("id") Integer id) { - ProLineDO proLine = proLineService.getProLine(id); - return success(BeanUtils.toBean(proLine, ProLineRespVO.class)); - } - - @GetMapping("/page") - @Operation(summary = "获得产线主数据分页") - @PreAuthorize("@ss.hasPermission('biz:pro-line:query')") - public CommonResult> getProLinePage(@Valid ProLinePageReqVO pageReqVO) { - PageResult pageResult = proLineService.getProLinePage(pageReqVO); - return success(BeanUtils.toBean(pageResult, ProLineRespVO.class)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出产线主数据 Excel") - @PreAuthorize("@ss.hasPermission('biz:pro-line:export')") - @OperateLog(type = EXPORT) - public void exportProLineExcel(@Valid ProLinePageReqVO pageReqVO, - HttpServletResponse response) throws IOException { - pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = proLineService.getProLinePage(pageReqVO).getList(); - // 导出 Excel - ExcelUtils.write(response, "产线主数据.xls", "数据", ProLineRespVO.class, - BeanUtils.toBean(list, ProLineRespVO.class)); - } - -} \ No newline at end of file +package com.ningxia.yunxi.chemmes.module.biz.controller.admin.proline; + +import com.ningxia.yunxi.chemmes.framework.common.pojo.CommonResult; +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.proline.vo.ProLinePageReqVO; +import com.ningxia.yunxi.chemmes.module.biz.controller.admin.proline.vo.ProLineRespVO; +import com.ningxia.yunxi.chemmes.module.biz.controller.admin.proline.vo.ProLineSaveReqVO; +import com.ningxia.yunxi.chemmes.module.biz.dal.dataobject.proline.ProLineDO; +import com.ningxia.yunxi.chemmes.module.biz.service.proline.ProLineService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; + +import static com.ningxia.yunxi.chemmes.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 产线主数据") +@RestController +@RequestMapping("/biz/pro-line") +@Validated +public class ProLineController { + + @Resource + private ProLineService proLineService; + + @PostMapping("/create") + @Operation(summary = "创建产线主数据") + @PreAuthorize("@ss.hasPermission('biz:pro-line:create')") + public CommonResult createProLine(@Valid @RequestBody ProLineSaveReqVO createReqVO) { + return success(proLineService.createProLine(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新产线主数据") + @PreAuthorize("@ss.hasPermission('biz:pro-line:update')") + public CommonResult updateProLine(@Valid @RequestBody ProLineSaveReqVO updateReqVO) { + proLineService.updateProLine(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除产线主数据") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('biz:pro-line:delete')") + public CommonResult deleteProLine(@RequestParam("id") Integer id) { + proLineService.deleteProLine(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得产线主数据") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('biz:pro-line:query')") + public CommonResult getProLine(@RequestParam("id") Integer id) { + ProLineDO proLine = proLineService.getProLine(id); + return success(BeanUtils.toBean(proLine, ProLineRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得产线主数据分页") + @PreAuthorize("@ss.hasPermission('biz:pro-line:query')") + public CommonResult> getProLinePage(@Valid ProLinePageReqVO pageReqVO) { + PageResult pageResult = proLineService.getProLinePage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ProLineRespVO.class)); + } + + @GetMapping("/dropdown") + @Operation(summary = "获得产线主数据下拉选择") + public CommonResult> getProLineDropdown(@RequestParam(value = "keyWord", required = false, defaultValue = "") String keyWord) { + List proLineDOS = proLineService.getProLineDropdown(keyWord); + return success(BeanUtils.toBean(proLineDOS, ProLineRespVO.class)); + } + +} diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/mysql/machine/MachineMapper.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/mysql/machine/MachineMapper.java index a47354b..7716e40 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/mysql/machine/MachineMapper.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/mysql/machine/MachineMapper.java @@ -1,13 +1,11 @@ package com.ningxia.yunxi.chemmes.module.biz.dal.mysql.machine; -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.machine.vo.MachinePageReqVO; import com.ningxia.yunxi.chemmes.module.biz.dal.dataobject.machine.MachineDO; import org.apache.ibatis.annotations.Mapper; -import com.ningxia.yunxi.chemmes.module.biz.controller.admin.machine.vo.*; /** * 机台主数据 Mapper @@ -23,4 +21,9 @@ public interface MachineMapper extends BaseMapperX { .orderByDesc(MachineDO::getId)); } -} \ No newline at end of file + default MachineDO selectByMachineCd(String code) { + return selectOne(new LambdaQueryWrapperX() + .eqIfPresent(MachineDO::getMachineCd, code)); + } + +} diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/mysql/proc/ProcMapper.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/mysql/proc/ProcMapper.java index 895181f..3431ce3 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/mysql/proc/ProcMapper.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/mysql/proc/ProcMapper.java @@ -1,13 +1,13 @@ package com.ningxia.yunxi.chemmes.module.biz.dal.mysql.proc; -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.proc.vo.ProcPageReqVO; import com.ningxia.yunxi.chemmes.module.biz.dal.dataobject.proc.ProcDO; import org.apache.ibatis.annotations.Mapper; -import com.ningxia.yunxi.chemmes.module.biz.controller.admin.proc.vo.*; + +import java.util.List; /** * 工序主数据 Mapper @@ -23,4 +23,16 @@ public interface ProcMapper extends BaseMapperX { .orderByDesc(ProcDO::getId)); } -} \ No newline at end of file + default List selectList(String keyWord) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(ProcDO::getEnabledStatus, 0) + // keyWord 模糊匹配 根据名称和编码 + .and(wrapper -> wrapper.like(ProcDO::getProcCd, keyWord) + .or() + .like(ProcDO::getProcName, keyWord)) + .orderByDesc(ProcDO::getId)); + } + + default ProcDO selectByProcCd(String procCd) { + return selectOne(ProcDO::getProcCd, procCd); + }} diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/mysql/proline/ProLineMapper.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/mysql/proline/ProLineMapper.java index 1656d8a..ffdb7c2 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/mysql/proline/ProLineMapper.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/mysql/proline/ProLineMapper.java @@ -1,13 +1,13 @@ package com.ningxia.yunxi.chemmes.module.biz.dal.mysql.proline; -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.proline.vo.ProLinePageReqVO; import com.ningxia.yunxi.chemmes.module.biz.dal.dataobject.proline.ProLineDO; import org.apache.ibatis.annotations.Mapper; -import com.ningxia.yunxi.chemmes.module.biz.controller.admin.proline.vo.*; + +import java.util.List; /** * 产线主数据 Mapper @@ -23,4 +23,16 @@ public interface ProLineMapper extends BaseMapperX { .orderByDesc(ProLineDO::getId)); } -} \ No newline at end of file + default List selectList(String keyWork) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(ProLineDO::getEnabledStatus, 0) + .and(wrapper -> wrapper.like(ProLineDO::getProLineCd, keyWork) + .or() + .like(ProLineDO::getProLineName, keyWork)) + .orderByDesc(ProLineDO::getId)); + } + + default ProLineDO selectByProcLineCd(String procLineCd) { + return selectOne(ProLineDO::getProLineCd, procLineCd); + } +} diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/machine/MachineServiceImpl.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/machine/MachineServiceImpl.java index 064be41..f07cbe9 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/machine/MachineServiceImpl.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/machine/MachineServiceImpl.java @@ -11,6 +11,8 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import static com.ningxia.yunxi.chemmes.framework.common.exception.util.ServiceExceptionUtil.exception; + /** * 机台主数据 Service 实现类 * @@ -25,6 +27,8 @@ public class MachineServiceImpl implements MachineService { @Override public Integer createMachine(MachineSaveReqVO createReqVO) { + // 校验存在 + validateMachineUnique(createReqVO); // 插入 MachineDO machine = BeanUtils.toBean(createReqVO, MachineDO.class); machineMapper.insert(machine); @@ -34,8 +38,9 @@ public class MachineServiceImpl implements MachineService { @Override public void updateMachine(MachineSaveReqVO updateReqVO) { - // 校验存在 - validateMachineExists(updateReqVO.getId()); + // 校验 + validateProcExists(updateReqVO.getId()); + validateMachineUnique(updateReqVO); // 更新 MachineDO updateObj = BeanUtils.toBean(updateReqVO, MachineDO.class); machineMapper.updateById(updateObj); @@ -44,14 +49,24 @@ public class MachineServiceImpl implements MachineService { @Override public void deleteMachine(Integer id) { // 校验存在 - validateMachineExists(id); + validateProcExists(id); // 删除 machineMapper.deleteById(id); } - private void validateMachineExists(Integer id) { - if (machineMapper.selectById(id) == null) { -// throw exception(MACHINE_NOT_EXISTS); + + private void validateProcExists(Integer id) { + MachineDO machineDO = machineMapper.selectById(id); + if (machineDO == null) { + throw exception("数据不存在"); + } + } + + private void validateMachineUnique(MachineSaveReqVO machineSaveReqVO) { + // 校验编码是否存在 + MachineDO machineDO = machineMapper.selectByMachineCd(machineSaveReqVO.getMachineCd()); + if (machineDO != null && !machineDO.getId().equals(machineSaveReqVO.getId())) { + throw exception("机台编码已存在"); } } diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/proc/ProcService.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/proc/ProcService.java index 1fc1601..d7220e3 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/proc/ProcService.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/proc/ProcService.java @@ -1,55 +1,59 @@ -package com.ningxia.yunxi.chemmes.module.biz.service.proc; - -import java.util.*; -import javax.validation.*; -import com.ningxia.yunxi.chemmes.module.biz.controller.admin.proc.vo.*; -import com.ningxia.yunxi.chemmes.module.biz.dal.dataobject.proc.ProcDO; -import com.ningxia.yunxi.chemmes.framework.common.pojo.PageResult; -import com.ningxia.yunxi.chemmes.framework.common.pojo.PageParam; - -/** - * 工序主数据 Service 接口 - * - * @author 管理员 - */ -public interface ProcService { - - /** - * 创建工序主数据 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Integer createProc(@Valid ProcSaveReqVO createReqVO); - - /** - * 更新工序主数据 - * - * @param updateReqVO 更新信息 - */ - void updateProc(@Valid ProcSaveReqVO updateReqVO); - - /** - * 删除工序主数据 - * - * @param id 编号 - */ - void deleteProc(Integer id); - - /** - * 获得工序主数据 - * - * @param id 编号 - * @return 工序主数据 - */ - ProcDO getProc(Integer id); - - /** - * 获得工序主数据分页 - * - * @param pageReqVO 分页查询 - * @return 工序主数据分页 - */ - PageResult getProcPage(ProcPageReqVO pageReqVO); - -} \ No newline at end of file +package com.ningxia.yunxi.chemmes.module.biz.service.proc; + +import com.ningxia.yunxi.chemmes.framework.common.pojo.PageResult; +import com.ningxia.yunxi.chemmes.module.biz.controller.admin.proc.vo.ProcPageReqVO; +import com.ningxia.yunxi.chemmes.module.biz.controller.admin.proc.vo.ProcRespVO; +import com.ningxia.yunxi.chemmes.module.biz.controller.admin.proc.vo.ProcSaveReqVO; +import com.ningxia.yunxi.chemmes.module.biz.dal.dataobject.proc.ProcDO; + +import javax.validation.Valid; +import java.util.List; + +/** + * 工序主数据 Service 接口 + * + * @author 管理员 + */ +public interface ProcService { + + /** + * 创建工序主数据 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Integer createProc(@Valid ProcSaveReqVO createReqVO); + + /** + * 更新工序主数据 + * + * @param updateReqVO 更新信息 + */ + void updateProc(@Valid ProcSaveReqVO updateReqVO); + + /** + * 删除工序主数据 + * + * @param id 编号 + */ + void deleteProc(Integer id); + + /** + * 获得工序主数据 + * + * @param id 编号 + * @return 工序主数据 + */ + ProcDO getProc(Integer id); + + /** + * 获得工序主数据分页 + * + * @param pageReqVO 分页查询 + * @return 工序主数据分页 + */ + PageResult getProcPage(ProcPageReqVO pageReqVO); + + List getProcDropdown(String keyWord); + +} diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/proc/ProcServiceImpl.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/proc/ProcServiceImpl.java index 9df48b0..0573bb8 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/proc/ProcServiceImpl.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/proc/ProcServiceImpl.java @@ -3,6 +3,7 @@ package com.ningxia.yunxi.chemmes.module.biz.service.proc; 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.proc.vo.ProcPageReqVO; +import com.ningxia.yunxi.chemmes.module.biz.controller.admin.proc.vo.ProcRespVO; import com.ningxia.yunxi.chemmes.module.biz.controller.admin.proc.vo.ProcSaveReqVO; import com.ningxia.yunxi.chemmes.module.biz.dal.dataobject.proc.ProcDO; import com.ningxia.yunxi.chemmes.module.biz.dal.mysql.proc.ProcMapper; @@ -10,6 +11,10 @@ import org.springframework.stereotype.Service; 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; +import static com.ningxia.yunxi.chemmes.module.biz.enums.ErrorCodeConstants.PROC_CODE_DUPLICATE; /** * 工序主数据 Service 实现类 @@ -25,6 +30,7 @@ public class ProcServiceImpl implements ProcService { @Override public Integer createProc(ProcSaveReqVO createReqVO) { + validateProcCodeUnique(null, createReqVO.getProcCd()); // 插入 ProcDO proc = BeanUtils.toBean(createReqVO, ProcDO.class); procMapper.insert(proc); @@ -36,11 +42,26 @@ public class ProcServiceImpl implements ProcService { public void updateProc(ProcSaveReqVO updateReqVO) { // 校验存在 validateProcExists(updateReqVO.getId()); + validateProcCodeUnique(updateReqVO.getId(), updateReqVO.getProcCd()); // 更新 ProcDO updateObj = BeanUtils.toBean(updateReqVO, ProcDO.class); procMapper.updateById(updateObj); } + private void validateProcCodeUnique(Integer id, String procCd) { + ProcDO proc = procMapper.selectByProcCd(procCd); + if (proc == null) { + return; + } + if (id == null) { + throw exception(PROC_CODE_DUPLICATE); + } + if (!proc.getId().equals(id)) { + throw exception(PROC_CODE_DUPLICATE); + } + } + + @Override public void deleteProc(Integer id) { // 校验存在 @@ -51,7 +72,7 @@ public class ProcServiceImpl implements ProcService { private void validateProcExists(Integer id) { if (procMapper.selectById(id) == null) { -// throw exception(PROC_NOT_EXISTS); + throw exception("数据不存在"); } } @@ -65,4 +86,10 @@ public class ProcServiceImpl implements ProcService { return procMapper.selectPage(pageReqVO); } + @Override + public List getProcDropdown(String keyWord) { + List procDOS = procMapper.selectList(keyWord); + return BeanUtils.toBean(procDOS, ProcRespVO.class); + + } } diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/proline/ProLineService.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/proline/ProLineService.java index b96d986..8229316 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/proline/ProLineService.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/proline/ProLineService.java @@ -1,55 +1,57 @@ -package com.ningxia.yunxi.chemmes.module.biz.service.proline; - -import java.util.*; -import javax.validation.*; -import com.ningxia.yunxi.chemmes.module.biz.controller.admin.proline.vo.*; -import com.ningxia.yunxi.chemmes.module.biz.dal.dataobject.proline.ProLineDO; -import com.ningxia.yunxi.chemmes.framework.common.pojo.PageResult; -import com.ningxia.yunxi.chemmes.framework.common.pojo.PageParam; - -/** - * 产线主数据 Service 接口 - * - * @author 管理员 - */ -public interface ProLineService { - - /** - * 创建产线主数据 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Integer createProLine(@Valid ProLineSaveReqVO createReqVO); - - /** - * 更新产线主数据 - * - * @param updateReqVO 更新信息 - */ - void updateProLine(@Valid ProLineSaveReqVO updateReqVO); - - /** - * 删除产线主数据 - * - * @param id 编号 - */ - void deleteProLine(Integer id); - - /** - * 获得产线主数据 - * - * @param id 编号 - * @return 产线主数据 - */ - ProLineDO getProLine(Integer id); - - /** - * 获得产线主数据分页 - * - * @param pageReqVO 分页查询 - * @return 产线主数据分页 - */ - PageResult getProLinePage(ProLinePageReqVO pageReqVO); - -} \ No newline at end of file +package com.ningxia.yunxi.chemmes.module.biz.service.proline; + +import com.ningxia.yunxi.chemmes.framework.common.pojo.PageResult; +import com.ningxia.yunxi.chemmes.module.biz.controller.admin.proline.vo.ProLinePageReqVO; +import com.ningxia.yunxi.chemmes.module.biz.controller.admin.proline.vo.ProLineSaveReqVO; +import com.ningxia.yunxi.chemmes.module.biz.dal.dataobject.proline.ProLineDO; + +import javax.validation.Valid; +import java.util.List; + +/** + * 产线主数据 Service 接口 + * + * @author 管理员 + */ +public interface ProLineService { + + /** + * 创建产线主数据 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Integer createProLine(@Valid ProLineSaveReqVO createReqVO); + + /** + * 更新产线主数据 + * + * @param updateReqVO 更新信息 + */ + void updateProLine(@Valid ProLineSaveReqVO updateReqVO); + + /** + * 删除产线主数据 + * + * @param id 编号 + */ + void deleteProLine(Integer id); + + /** + * 获得产线主数据 + * + * @param id 编号 + * @return 产线主数据 + */ + ProLineDO getProLine(Integer id); + + /** + * 获得产线主数据分页 + * + * @param pageReqVO 分页查询 + * @return 产线主数据分页 + */ + PageResult getProLinePage(ProLinePageReqVO pageReqVO); + + List getProLineDropdown(String keyWord); +} diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/proline/ProLineServiceImpl.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/proline/ProLineServiceImpl.java index 36b86a3..60a0ff6 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/proline/ProLineServiceImpl.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/proline/ProLineServiceImpl.java @@ -10,6 +10,10 @@ import org.springframework.stereotype.Service; 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; +import static com.ningxia.yunxi.chemmes.module.biz.enums.ErrorCodeConstants.PROC_LINE_CODE_DUPLICATE; /** * 产线主数据 Service 实现类 @@ -25,6 +29,7 @@ public class ProLineServiceImpl implements ProLineService { @Override public Integer createProLine(ProLineSaveReqVO createReqVO) { + validateProcCodeUnique(null, createReqVO.getProLineCd()); // 插入 ProLineDO proLine = BeanUtils.toBean(createReqVO, ProLineDO.class); proLineMapper.insert(proLine); @@ -36,11 +41,26 @@ public class ProLineServiceImpl implements ProLineService { public void updateProLine(ProLineSaveReqVO updateReqVO) { // 校验存在 validateProLineExists(updateReqVO.getId()); + validateProcCodeUnique(updateReqVO.getId(), updateReqVO.getProLineCd()); + // 更新 ProLineDO updateObj = BeanUtils.toBean(updateReqVO, ProLineDO.class); proLineMapper.updateById(updateObj); } + private void validateProcCodeUnique(Integer id, String procLineCd) { + ProLineDO lineDO = proLineMapper.selectByProcLineCd(procLineCd); + if (lineDO == null) { + return; + } + if (id == null) { + throw exception(PROC_LINE_CODE_DUPLICATE); + } + if (!lineDO.getId().equals(id)) { + throw exception(PROC_LINE_CODE_DUPLICATE); + } + } + @Override public void deleteProLine(Integer id) { // 校验存在 @@ -65,4 +85,8 @@ public class ProLineServiceImpl implements ProLineService { return proLineMapper.selectPage(pageReqVO); } + @Override + public List getProLineDropdown(String keyWord) { + return proLineMapper.selectList(keyWord); + } } diff --git a/mes-ui/mes-ui-admin-vue3/src/api/biz/proc/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/biz/proc/index.ts index ecdfa8f..003a6b5 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/biz/proc/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/biz/proc/index.ts @@ -36,4 +36,9 @@ export const deleteProc = async (id: number) => { // 导出工序主数据 Excel export const exportProc = async (params) => { return await request.download({ url: `/biz/proc/export-excel`, params }) +} + +// 获取工序下拉列表 +export const getProcDropdown = async (params) => { + return await request.get({ url: `/biz/proc/dropdown`, params }) } \ No newline at end of file diff --git a/mes-ui/mes-ui-admin-vue3/src/api/biz/proline/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/biz/proline/index.ts index fd47195..7856173 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/biz/proline/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/biz/proline/index.ts @@ -36,4 +36,9 @@ export const deleteProLine = async (id: number) => { // 导出产线主数据 Excel export const exportProLine = async (params) => { return await request.download({ url: `/biz/pro-line/export-excel`, params }) +} + +// 获取产线下拉列表 +export const getProLineDropdown = async (params) => { + return await request.get({ url: `/biz/pro-line/dropdown`, params }) } \ No newline at end of file diff --git a/mes-ui/mes-ui-admin-vue3/src/views/biz/machine/MachineForm.vue b/mes-ui/mes-ui-admin-vue3/src/views/biz/machine/MachineForm.vue index 1a0b4db..c7e944c 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/biz/machine/MachineForm.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/biz/machine/MachineForm.vue @@ -1,5 +1,6 @@