From d39e4f7d839167c16425086dfa2f8747bccfdff9 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 05 十一月 2026 17:39:01 +0800
Subject: [PATCH] feat: 打通销售采购财务闭环并完成累计业务优化

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/task/MesProTaskController.java |   21 ++++++++++++++++-----
 1 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/task/MesProTaskController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/task/MesProTaskController.java
index 50eeb52..dabd072 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/task/MesProTaskController.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/task/MesProTaskController.java
@@ -73,6 +73,22 @@
 public class MesProTaskController {
 
     @Resource
+    private cn.iocoder.yudao.module.mes.dal.mysql.pro.task.MesProTaskMapper pendingCountMapper;
+
+    @GetMapping("/unfinished-workstation-counts")
+    @Operation(summary = "鑾峰緱鍚勫伐浣滅珯鏈畬鎴愪换鍔℃暟閲�")
+    public CommonResult<List<cn.iocoder.yudao.module.mes.controller.admin.pro.task.vo.MesProWorkstationPendingCountVO>> getPendingWorkstationCounts() {
+        Long userId = cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId();
+        Long assigneeId = userId != null && !permissionApi.hasAnyRoles(userId,
+                cn.iocoder.yudao.module.system.enums.permission.RoleCodeEnum.SUPER_ADMIN.getCode()) ? userId : null;
+        return success(pendingCountMapper.selectPendingCounts(assigneeId,
+                cn.iocoder.yudao.module.mes.enums.pro.MesProTaskStatusEnum.PREPARE.getStatus(),
+                cn.iocoder.yudao.module.mes.enums.pro.MesProTaskStatusEnum.PRODUCING.getStatus(),
+                cn.iocoder.yudao.module.mes.enums.pro.MesProTaskStatusEnum.PARTIAL_FINISHED.getStatus(),
+                cn.iocoder.yudao.module.mes.enums.pro.MesProTaskStatusEnum.PAUSED.getStatus()));
+    }
+
+    @Resource
     private cn.iocoder.yudao.module.mes.service.pro.task.schedule.MesProBatchScheduleService batchScheduleService;
 
     @PostMapping("/auto-schedule/preview")
@@ -137,7 +153,6 @@
             @Parameter(name = "workstationId", description = "宸ヤ綔绔欑紪鍙�", required = true),
             @Parameter(name = "quantity", description = "鎺掍骇鏁伴噺", required = true)
     })
-    @PreAuthorize("@ss.hasPermission('mes:pro-task:query')")
     public CommonResult<java.util.Map<String, Object>> calculateDuration(
             @RequestParam("workstationId") Long workstationId,
             @RequestParam("quantity") BigDecimal quantity) {
@@ -190,7 +205,6 @@
     @GetMapping("/get")
     @Operation(summary = "鑾峰緱鐢熶骇浠诲姟")
     @Parameter(name = "id", description = "缂栧彿", required = true, example = "1024")
-    @PreAuthorize("@ss.hasPermission('mes:pro-task:query')")
     public CommonResult<MesProTaskRespVO> getTask(@RequestParam("id") Long id) {
         MesProTaskDO task = taskService.getTask(id);
         if (task == null) {
@@ -201,7 +215,6 @@
 
     @GetMapping("/page")
     @Operation(summary = "鑾峰緱鐢熶骇浠诲姟鍒嗛〉")
-    @PreAuthorize("@ss.hasPermission('mes:pro-task:query')")
     public CommonResult<PageResult<MesProTaskRespVO>> getTaskPage(@Valid MesProTaskPageReqVO pageReqVO) {
         PageResult<MesProTaskDO> pageResult = taskService.getTaskPage(pageReqVO);
         return success(new PageResult<>(buildTaskRespVOList(pageResult.getList()), pageResult.getTotal()));
@@ -209,7 +222,6 @@
 
     @GetMapping("/pending-feedback-page")
     @Operation(summary = "鑾峰緱寰呮姤宸ュ彴璐﹀垎椤�", description = "宸叉帓浜т笖浠嶆湁寰呮姤宸ユ暟閲忕殑浠诲姟锛堢姸鎬�=杩涜涓級")
-    @PreAuthorize("@ss.hasPermission('mes:pro-task:query')")
     public CommonResult<PageResult<MesProTaskRespVO>> getPendingFeedbackPage(@Valid MesProTaskPageReqVO pageReqVO) {
         Long loginUserId = cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId();
         // 濡傛灉褰撳墠鐧诲綍浜轰笉鏄秴绾х鐞嗗憳锛屽垯浠呮煡璇㈠垎閰嶇粰鑷繁鐨勭敓浜у伐鍗�
@@ -250,7 +262,6 @@
 
     @GetMapping("/gantt-list")
     @Operation(summary = "鑾峰緱鐢樼壒鍥句换鍔″垪琛�", description = "鍚庣缁勮宸ュ崟=project + 浠诲姟=task 鍒楄〃")
-    @PreAuthorize("@ss.hasPermission('mes:pro-task:query')")
     public CommonResult<List<GanttDataRespVO>> listGanttTaskList(@Valid MesProWorkOrderPageReqVO reqVO) {
         // 1.1 鏌ヨ鍖归厤鐨勫伐鍗曪紙涓嶅垎椤碉級
         reqVO.setPageSize(PageParam.PAGE_SIZE_NONE);

--
Gitblit v1.9.3