From 87733eb3623593da247c051593d64b8ff9e1d3a4 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 06 十一月 2026 19:00:39 +0800
Subject: [PATCH] feat(crm,mes): 扩展客户字段与重构批次号生成逻辑
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/seedquality/MesQcSeedQualityController.java | 94 ++++++++++++++++++++++++++++++++++++++++------
1 files changed, 81 insertions(+), 13 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/seedquality/MesQcSeedQualityController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/seedquality/MesQcSeedQualityController.java
index 8e6c366..771a109 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/seedquality/MesQcSeedQualityController.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/seedquality/MesQcSeedQualityController.java
@@ -3,6 +3,7 @@
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedQualityBatchRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedQualityPageReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedQualityRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedQualitySubmitReqVO;
@@ -11,7 +12,9 @@
import cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedQualityBatchApprovalReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedQualityBatchRetestReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedQualityScopeRetestReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedReturnQualitySubmitReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedIndicatorRangeSaveReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedIndicatorRangeRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedQualityActionRespVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.pro.bagcode.MesProBagCodeDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.qc.seedquality.MesQcSeedQualityActionDO;
@@ -41,27 +44,56 @@
@Resource private MesQcSeedIndicatorRangeService rangeService;
@Resource private MesProBagCodeMapper bagCodeMapper;
@Resource private AdminUserApi adminUserApi;
- @GetMapping("/ranges") @Operation(summary = "鑾峰緱绉嶅瓙璐ㄦ鍚堟牸鑼冨洿")
+ @GetMapping("/ranges") @Operation(summary = "鑾峰緱浜у搧璐ㄦ椤归厤缃�")
@PreAuthorize("@ss.hasAnyPermissions('mes:qc-seed-quality:submit', 'mes:qc-seed-quality:retest', 'mes:qc-seed-range:query')")
- public CommonResult<java.util.List<cn.iocoder.yudao.module.mes.dal.dataobject.qc.seedquality.MesQcSeedIndicatorRangeDO>> ranges() {
- return success(rangeService.getRanges());
+ public CommonResult<List<MesQcSeedIndicatorRangeRespVO>> ranges(@RequestParam(required = false) Long itemId,
+ @RequestParam(required = false) String keyword,
+ @RequestParam(required = false) Integer status) {
+ return success(BeanUtils.toBean(rangeService.getRanges(itemId, keyword, status), MesQcSeedIndicatorRangeRespVO.class));
}
- @PutMapping("/ranges") @Operation(summary = "閰嶇疆绉嶅瓙璐ㄦ鍚堟牸鑼冨洿")
+ @GetMapping("/ranges/effective") @Operation(summary = "鑾峰緱浜у搧鐢熸晥鐨勮川妫�椤�")
+ @PreAuthorize("@ss.hasAnyPermissions('mes:qc-seed-quality:submit', 'mes:qc-seed-quality:retest', 'mes:qc-seed-range:query')")
+ public CommonResult<List<MesQcSeedIndicatorRangeRespVO>> effectiveRanges(@RequestParam Long itemId) {
+ return success(BeanUtils.toBean(rangeService.getEffectiveRanges(itemId), MesQcSeedIndicatorRangeRespVO.class));
+ }
+
+ @PostMapping("/ranges") @Operation(summary = "鏂板浜у搧璐ㄦ椤�")
@PreAuthorize("@ss.hasPermission('mes:qc-seed-range:update')")
- public CommonResult<Boolean> saveRanges(@Valid @RequestBody MesQcSeedIndicatorRangeSaveReqVO reqVO) {
- rangeService.saveRanges(reqVO);
+ public CommonResult<Long> createRange(@Valid @RequestBody MesQcSeedIndicatorRangeSaveReqVO reqVO) {
+ return success(rangeService.create(reqVO));
+ }
+
+ @PutMapping("/ranges/{id}") @Operation(summary = "淇敼浜у搧璐ㄦ椤�")
+ @PreAuthorize("@ss.hasPermission('mes:qc-seed-range:update')")
+ public CommonResult<Boolean> updateRange(@PathVariable Long id, @Valid @RequestBody MesQcSeedIndicatorRangeSaveReqVO reqVO) {
+ rangeService.update(id, reqVO);
return success(true);
+ }
+
+ @DeleteMapping("/ranges/{id}") @Operation(summary = "鍒犻櫎浜у搧璐ㄦ椤�")
+ @PreAuthorize("@ss.hasPermission('mes:qc-seed-range:update')")
+ public CommonResult<Boolean> deleteRange(@PathVariable Long id) {
+ rangeService.delete(id);
+ return success(true);
+ }
+
+ @PostMapping("/ranges/copy-default") @Operation(summary = "澶嶅埗閫氱敤榛樿璐ㄦ椤瑰埌浜у搧")
+ @PreAuthorize("@ss.hasPermission('mes:qc-seed-range:update')")
+ public CommonResult<Integer> copyDefaultRanges(@RequestParam Long itemId) {
+ return success(rangeService.copyDefaults(itemId));
}
@GetMapping("/resolve")
@Operation(summary = "瑙f瀽寰呰川妫�琚嬬爜鍙婄‘璁よ琚嬭川妫�缁撴灉")
@PreAuthorize("@ss.hasAnyPermissions('mes:qc-seed-quality:submit', 'mes:qc-seed-quality:retest', 'mes:qc-seed-quality:process-approve', 'mes:qc-seed-quality:company-approve')")
- public CommonResult<java.util.Map<String, Object>> resolve(@RequestParam String code, @RequestParam(defaultValue = "BAG") String scanType) {
- return success(service.resolveScan(code, scanType));
+ public CommonResult<java.util.Map<String, Object>> resolve(@RequestParam String code, @RequestParam(defaultValue = "BAG") String scanType,
+ @RequestParam(defaultValue = "1") Integer qcLine) {
+ return success(service.resolveScan(code, scanType, qcLine));
}
@GetMapping("/page")
@Operation(summary = "鑾峰緱绉嶅瓙璐ㄦ璁板綍鍒嗛〉")
- @PreAuthorize("@ss.hasPermission('mes:qc-seed-quality:query')")
+ @PreAuthorize("@ss.hasAnyPermissions('mes:qc-seed-quality:query', 'mes:qc-seed-quality:submit', "
+ + "'mes:qc-seed-quality:retest', 'mes:qc-seed-quality:process-approve', 'mes:qc-seed-quality:company-approve')")
public CommonResult<PageResult<MesQcSeedQualityRespVO>> getQualityPage(@Valid MesQcSeedQualityPageReqVO pageReqVO) {
PageResult<MesQcSeedQualityRespVO> page = BeanUtils.toBean(
service.getQualityPage(pageReqVO), MesQcSeedQualityRespVO.class);
@@ -78,13 +110,22 @@
return success(page);
}
- @GetMapping("/indicators") @Operation(summary = "鑾峰緱绉嶅瓙璐ㄦ鏈�鏂版寚鏍�")
+ @GetMapping("/batch-page")
+ @Operation(summary = "鑾峰緱绉嶅瓙璐ㄦ璁板綍鎸夌敓浜ф壒娆″垎缁勫垎椤�")
@PreAuthorize("@ss.hasPermission('mes:qc-seed-quality:query')")
+ public CommonResult<PageResult<MesQcSeedQualityBatchRespVO>> getQualityBatchPage(@Valid MesQcSeedQualityPageReqVO pageReqVO) {
+ return success(service.getQualityBatchPage(pageReqVO));
+ }
+
+ @GetMapping("/indicators") @Operation(summary = "鑾峰緱绉嶅瓙璐ㄦ鏈�鏂版寚鏍�")
+ @PreAuthorize("@ss.hasAnyPermissions('mes:qc-seed-quality:query', 'mes:qc-seed-quality:submit', "
+ + "'mes:qc-seed-quality:retest', 'mes:qc-seed-quality:process-approve', 'mes:qc-seed-quality:company-approve')")
public CommonResult<java.util.List<cn.iocoder.yudao.module.mes.dal.dataobject.qc.seedquality.MesQcSeedQualityIndicatorDO>> indicators(@RequestParam Long id) {
return success(service.getIndicatorsByQualityId(id));
}
@GetMapping("/actions") @Operation(summary = "鑾峰緱绉嶅瓙璐ㄦ娴佺▼鐣欑棔")
- @PreAuthorize("@ss.hasPermission('mes:qc-seed-quality:query')")
+ @PreAuthorize("@ss.hasAnyPermissions('mes:qc-seed-quality:query', 'mes:qc-seed-quality:submit', "
+ + "'mes:qc-seed-quality:retest', 'mes:qc-seed-quality:process-approve', 'mes:qc-seed-quality:company-approve')")
public CommonResult<List<MesQcSeedQualityActionRespVO>> actions(@RequestParam Long id) {
List<MesQcSeedQualityActionDO> actions = service.getActions(id);
Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(actions.stream()
@@ -106,6 +147,13 @@
return success(service.submitGroup(reqVO));
}
+ @PostMapping("/retry-bpm") @Operation(summary = "閲嶆柊鍙戣捣璐ㄦ BPM 瀹℃壒")
+ @PreAuthorize("@ss.hasPermission('mes:qc-seed-quality:process-approve')")
+ public CommonResult<Boolean> retryBpm(@RequestParam Long id) {
+ service.retryBpmProcess(id);
+ return success(true);
+ }
+
@PostMapping("/retest") @Operation(summary = "绉嶅瓙璐ㄦ澶嶆")
@PreAuthorize("@ss.hasPermission('mes:qc-seed-quality:retest')")
public CommonResult<Boolean> retest(@RequestParam Long id, @Valid @RequestBody MesQcSeedQualityRetestReqVO reqVO) {
@@ -122,8 +170,9 @@
@GetMapping("/retest-scope/resolve") @Operation(summary = "鎸夋墭鐩樼爜鎴栫敓浜ф壒娆$爜瑙f瀽寰呮壒閲忚川妫�璁板綍")
@PreAuthorize("@ss.hasAnyPermissions('mes:qc-seed-quality:submit', 'mes:qc-seed-quality:retest', 'mes:qc-seed-quality:process-approve', 'mes:qc-seed-quality:company-approve')")
- public CommonResult<java.util.Map<String, Object>> resolveRetestScope(@RequestParam String code, @RequestParam String scanType) {
- return success(service.resolveRetestScope(code, scanType));
+ public CommonResult<java.util.Map<String, Object>> resolveRetestScope(@RequestParam String code, @RequestParam String scanType,
+ @RequestParam(defaultValue = "1") Integer qcLine) {
+ return success(service.resolveRetestScope(code, scanType, qcLine));
}
@PostMapping("/retest-scope") @Operation(summary = "鎸夋墭鐩樼爜鎴栫敓浜ф壒娆$爜鎵归噺澶嶆鎴栭噸鏂板垵妫�")
@@ -157,4 +206,23 @@
service.companyApproveBatch(reqVO.getIds(), reqVO.getApproved(), reqVO.getOpinion());
return success(true);
}
+
+ @GetMapping("/return/resolve") @Operation(summary = "瑙f瀽缁忛攢鍟嗛��璐у崟寰呰川妫�淇℃伅")
+ @PreAuthorize("@ss.hasAnyPermissions('mes:qc-seed-quality:submit', 'mes:qc-seed-quality:retest', 'mes:qc-seed-quality:process-approve')")
+ public CommonResult<Map<String, Object>> resolveReturnQuality(@RequestParam Long returnSalesId) {
+ return success(service.resolveReturnQuality(returnSalesId));
+ }
+
+ @PostMapping("/return/submit") @Operation(summary = "鎻愪氦缁忛攢鍟嗛��璐ц川妫�")
+ @PreAuthorize("@ss.hasPermission('mes:qc-seed-quality:submit')")
+ public CommonResult<Long> submitReturnQuality(@Valid @RequestBody MesQcSeedReturnQualitySubmitReqVO reqVO) {
+ return success(service.submitReturnQuality(reqVO));
+ }
+
+ @PostMapping("/return/approve") @Operation(summary = "缁忛攢鍟嗛��璐ц川妫�閿�鍞儴瀹℃壒")
+ @PreAuthorize("@ss.hasPermission('mes:qc-seed-quality:process-approve')")
+ public CommonResult<Boolean> returnApprove(@Valid @RequestBody MesQcSeedQualityApprovalReqVO reqVO) {
+ service.returnApprove(reqVO.getId(), reqVO.getApproved(), reqVO.getOpinion());
+ return success(true);
+ }
}
--
Gitblit v1.9.3