From 0406c675e143bbb08284fd55381261afcc587afc Mon Sep 17 00:00:00 2001
From: chen.llin <1442464845@qq.comm>
Date: 星期日, 18 一月 2026 15:51:36 +0800
Subject: [PATCH] 月结增加明细

---
 src/main/java/com/zy/asrs/controller/MonthlySettleController.java |   54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 54 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MonthlySettleController.java b/src/main/java/com/zy/asrs/controller/MonthlySettleController.java
index a3c847a..74fb70f 100644
--- a/src/main/java/com/zy/asrs/controller/MonthlySettleController.java
+++ b/src/main/java/com/zy/asrs/controller/MonthlySettleController.java
@@ -4,15 +4,19 @@
 import com.core.annotations.ManagerAuth;
 import com.core.common.R;
 import com.zy.asrs.entity.MonthlySettle;
+import com.zy.asrs.entity.MonthlySettleDetail;
 import com.zy.asrs.entity.param.DateRangeParam;
 import com.zy.asrs.entity.param.MonthlySettleQueryParam;
+import com.zy.asrs.entity.result.MonthlySettleStatisticsVO;
 import com.zy.asrs.service.MonthlySettleService;
 import com.zy.common.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import java.text.SimpleDateFormat;
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 
 @RestController
 public class MonthlySettleController extends BaseController {
@@ -131,5 +135,55 @@
         return R.ok("鍒犻櫎鎴愬姛");
     }
 
+    /**
+     * 瀵煎嚭鏈堢粨鏄庣粏
+     */
+    @RequestMapping(value = "/monthlySettle/detail/export/{id}/auth")
+    @ManagerAuth(memo = "瀵煎嚭鏈堢粨鏄庣粏")
+    public R exportDetail(@PathVariable("id") Long id) {
+        // 鑾峰彇鏈堢粨缁熻淇℃伅
+        MonthlySettleStatisticsVO statistics = monthlySettleService.getSettleStatistics(id);
+        if (statistics == null) {
+            return R.error("鏈堢粨鏄庣粏涓嶅瓨鍦�");
+        }
+        
+        List<MonthlySettleDetail> details = statistics.getDetails() != null ? statistics.getDetails() : new ArrayList<>();
+        List<com.zy.asrs.entity.result.MonthlySettleDetailFlowVO> detailFlows = statistics.getDetailFlows() != null ? statistics.getDetailFlows() : new ArrayList<>();
+        
+        // 瀹氫箟鏄庣粏娴佹按瀵煎嚭瀛楁
+        List<String> flowFields = new ArrayList<>();
+        flowFields.add("orderNo");
+        flowFields.add("orderTime");
+        flowFields.add("pakinPakoutStatusName");
+        flowFields.add("matnr");
+        flowFields.add("maktx");
+        flowFields.add("batch");
+        flowFields.add("brand");
+        flowFields.add("specs");
+        flowFields.add("qty");
+        flowFields.add("unit");
+        
+        // 瀹氫箟姹囨�诲鍑哄瓧娈�
+        List<String> summaryFields = new ArrayList<>();
+        summaryFields.add("matnr");
+        summaryFields.add("maktx");
+        summaryFields.add("batch");
+        summaryFields.add("brand");
+        summaryFields.add("beginningQty");
+        summaryFields.add("endingQty");
+        summaryFields.add("diffQty");
+        summaryFields.add("inQty");
+        summaryFields.add("outQty");
+        
+        // 鏋勫缓杩斿洖鏁版嵁缁撴瀯锛氱涓�椤垫槸鏄庣粏娴佹按锛岀浜岄〉鏄眹鎬�
+        java.util.Map<String, Object> result = new java.util.HashMap<>();
+        result.put("detailFlows", exportSupport(detailFlows, flowFields));
+        result.put("details", exportSupport(details, summaryFields));
+        result.put("flowTitles", new String[]{"璁㈠崟缂栧彿", "涓氬姟鏃堕棿", "绫诲瀷", "鐗╂枡缂栫爜", "鐗╂枡鍚嶇О", "鎵规", "鍝佺墝", "瑙勬牸", "鏁伴噺", "鍗曚綅"});
+        result.put("summaryTitles", new String[]{"鐗╂枡缂栫爜", "鐗╂枡鍚嶇О", "鎵规", "鍝佺墝", "鏈熷垵搴撳瓨", "鏈熸湯搴撳瓨", "宸紓鏁伴噺", "鏈湡鍏ュ簱", "鏈湡鍑哄簱"});
+        
+        return R.ok(result);
+    }
+
 }
 

--
Gitblit v1.9.1