From 7b8b2456bb15aa733b8599fce2ada5d9549ba881 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期四, 11 六月 2026 13:21:20 +0800
Subject: [PATCH] 销售台账,工艺路线配置设置是否完成;导出工艺路线
---
src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java | 69 +++++++++++++++++++++++++++++++++-
1 files changed, 67 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
index f74c85c..8b374f5 100644
--- a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
+++ b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
@@ -23,9 +23,11 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
+import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileNotFoundException;
import java.io.IOException;
@@ -171,6 +173,20 @@
}
/**
+ * 瀵煎嚭鍞悗鍙拌处宸ヨ壓璺嚎
+ */
+ @Log(title = "閿�鍞彴璐﹀伐鑹鸿矾绾�", businessType = BusinessType.EXPORT)
+ @PostMapping("/exportProcessRoute")
+ @ApiOperation("瀵煎嚭鍞悗鍙拌处宸ヨ壓璺嚎")
+ public void exportProcessRoute(HttpServletResponse response,
+ HttpServletRequest request,
+ @RequestParam(value = "completedTimeStart", required = false) String completedTimeStart,
+ @RequestParam(value = "completedTimeEnd", required = false) String completedTimeEnd) {
+ List<Long> salesLedgerIds = parseSalesLedgerIds(request);
+ salesLedgerService.exportProcessRoute(response, salesLedgerIds, completedTimeStart, completedTimeEnd);
+ }
+
+ /**
* 瀵煎嚭寮�绁ㄧ櫥璁板垪琛�
*/
@Log(title = "瀵煎嚭寮�绁ㄧ櫥璁板垪琛�", businessType = BusinessType.EXPORT)
@@ -198,8 +214,8 @@
*/
@PostMapping("/saleProcessBind")
@ApiOperation("閿�鍞鍗曠粦瀹氬伐鑹鸿矾绾�")
- public AjaxResult saleProcessBind(@RequestBody SalesLedgerProcessRoute salesLedgerProcessRoute) {
- salesLedgerService.saleProcessBind(salesLedgerProcessRoute);
+ public AjaxResult saleProcessBind(@RequestBody SalesLedgerProcessRouteDto salesLedgerProcessRouteDto) {
+ salesLedgerService.saleProcessBind(salesLedgerProcessRouteDto);
return AjaxResult.success();
}
@@ -443,4 +459,53 @@
excelUtil.importTemplateExcel(response, "鏈嚭搴撳鍏ユā鏉夸笅杞�");
}
+ private List<Long> parseSalesLedgerIds(HttpServletRequest request) {
+ if (request == null) {
+ return Collections.emptyList();
+ }
+
+ List<Long> ids = new ArrayList<>();
+ Map<String, String[]> parameterMap = request.getParameterMap();
+ if (parameterMap == null || parameterMap.isEmpty()) {
+ return ids;
+ }
+
+ String directValue = request.getParameter("salesLedgerIds");
+ if (StringUtils.hasText(directValue)) {
+ for (String value : directValue.split(",")) {
+ addParsedLong(ids, value);
+ }
+ }
+
+ for (Map.Entry<String, String[]> entry : parameterMap.entrySet()) {
+ String key = entry.getKey();
+ if (!StringUtils.hasText(key)) {
+ continue;
+ }
+ if (!"salesLedgerIds".equals(key) && !key.startsWith("salesLedgerIds[")) {
+ continue;
+ }
+ String[] values = entry.getValue();
+ if (values == null) {
+ continue;
+ }
+ for (String value : values) {
+ addParsedLong(ids, value);
+ }
+ }
+
+ return ids.stream().filter(Objects::nonNull).distinct().collect(Collectors.toList());
+ }
+
+ private void addParsedLong(List<Long> target, String value) {
+ if (target == null || !StringUtils.hasText(value)) {
+ return;
+ }
+ try {
+ target.add(Long.valueOf(value.trim()));
+ } catch (Exception ignored) {
+ // ignore invalid id values
+ }
+ }
+
}
--
Gitblit v1.9.3