From 03965438c47dc6620bf5bf9ebb7ae97e805b4aae Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 15 十月 2026 15:44:44 +0800
Subject: [PATCH] fix(crm,mes): 客户转化统计漏行、归档台账分页与排序
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderController.java | 34 +++++++++++-----------------------
1 files changed, 11 insertions(+), 23 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderController.java
index b6233cd..4093e34 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderController.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderController.java
@@ -18,7 +18,6 @@
import cn.iocoder.yudao.module.mes.dal.dataobject.pro.task.MesProTaskDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderProcessDO;
-import cn.iocoder.yudao.module.mes.enums.pro.MesProWorkOrderProductionStatusEnum;
import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService;
import cn.iocoder.yudao.module.mes.service.md.unitmeasure.MesMdUnitMeasureService;
import cn.iocoder.yudao.module.mes.service.pro.process.MesProProcessService;
@@ -111,6 +110,13 @@
public CommonResult<PageResult<MesProWorkOrderRespVO>> getWorkOrderPage(@Valid MesProWorkOrderPageReqVO pageReqVO) {
PageResult<MesProWorkOrderDO> pageResult = workOrderService.getWorkOrderPage(pageReqVO);
return success(new PageResult<>(buildWorkOrderRespVOList(pageResult.getList()), pageResult.getTotal()));
+ }
+
+ @GetMapping("/approve-process-list")
+ @Operation(summary = "鑾峰彇瀹℃壒鎶ュ伐鐨勬祦绋嬪畾涔夊垪琛�")
+ @PreAuthorize("@ss.hasPermission('mes:pro-work-order:query')")
+ public CommonResult<List<Map<String, Object>>> getWorkOrderApproveProcessDefinitionList() {
+ return success(workOrderService.getWorkOrderApproveProcessDefinitionList());
}
@GetMapping("/schedule-page")
@@ -230,14 +236,12 @@
vo.setCompletionProgress(produced.compareTo(BigDecimal.ZERO) > 0 ? new BigDecimal("100.00") : BigDecimal.ZERO);
}
- // 璁$畻杩涘害鍜岀姸鎬�
+ // 璁$畻宸ュ簭杩涘害
List<MesProWorkOrderProcessDO> processes = woProcessMap.getOrDefault(vo.getId(), Collections.emptyList());
List<MesProTaskDO> tasks = woTaskMap.getOrDefault(vo.getId(), Collections.emptyList());
-
+
List<MesProWorkOrderProcessProgressVO> progressList = new ArrayList<>();
- boolean allCompleted = !processes.isEmpty();
- boolean anyStarted = false;
-
+
Map<Long, List<MesProTaskDO>> processTaskMap = convertMultiMap(tasks, MesProTaskDO::getProcessId);
for (MesProWorkOrderProcessDO process : processes) {
@@ -256,25 +260,9 @@
progressVO.setProgress(totalProduced.compareTo(BigDecimal.ZERO) > 0 ? new BigDecimal("100.00") : BigDecimal.ZERO);
}
progressList.add(progressVO);
-
- if (totalProduced.compareTo(BigDecimal.ZERO) > 0) {
- anyStarted = true;
- }
- if (totalQty.compareTo(BigDecimal.ZERO) == 0 || totalProduced.compareTo(totalQty) < 0) {
- allCompleted = false;
- }
}
-
+
vo.setProcessProgressList(progressList);
- if (processes.isEmpty()) {
- vo.setProductionStatus(MesProWorkOrderProductionStatusEnum.WAITING.getStatus()); // 寰呯敓浜�
- } else if (allCompleted) {
- vo.setProductionStatus(MesProWorkOrderProductionStatusEnum.FINISHED.getStatus()); // 鐢熶骇瀹屾垚
- } else if (anyStarted) {
- vo.setProductionStatus(MesProWorkOrderProductionStatusEnum.PRODUCING.getStatus()); // 鐢熶骇涓�
- } else {
- vo.setProductionStatus(MesProWorkOrderProductionStatusEnum.WAITING.getStatus()); // 寰呯敓浜�
- }
});
}
--
Gitblit v1.9.3