From c0a718538ba8661f235d524ed335cbf7b1919962 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期四, 23 十月 2025 14:29:33 +0800
Subject: [PATCH] 出库导出excel
---
src/main/java/com/zy/system/controller/SaasLogController.java | 140 ++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 133 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/zy/system/controller/SaasLogController.java b/src/main/java/com/zy/system/controller/SaasLogController.java
index 538364d..c3ab13e 100644
--- a/src/main/java/com/zy/system/controller/SaasLogController.java
+++ b/src/main/java/com/zy/system/controller/SaasLogController.java
@@ -1,18 +1,15 @@
package com.zy.system.controller;
-import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
-import com.core.common.DateUtils;
-import com.zy.system.entity.SaasLog;
-import com.zy.system.service.SaasLogService;
import com.core.annotations.ManagerAuth;
-import com.core.common.BaseRes;
-import com.core.common.Cools;
-import com.core.common.R;
+import com.core.common.*;
import com.zy.common.web.BaseController;
+import com.zy.system.entity.SaasLog;
+import com.zy.system.mapper.SaasLogMapper;
+import com.zy.system.service.SaasLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -23,6 +20,9 @@
@Autowired
private SaasLogService saasLogService;
+
+ @Autowired
+ private SaasLogMapper saasLogMapper;
@RequestMapping(value = "/saasLog/{id}/auth")
@ManagerAuth
@@ -45,6 +45,132 @@
return R.ok(saasLogService.selectPage(new Page<>(curr, limit), wrapper));
}
+ @RequestMapping(value = "/saasLogSummary/list/auth")
+ @ManagerAuth
+ public R saasLogSummarylist(@RequestParam Map<String, Object> param){
+ String io_time = (String) param.get("io_time");
+ Date sDate = null;
+ Date eDate = null;
+ if(!Cools.isEmpty(io_time) && io_time.contains(RANGE_TIME_LINK)) {
+ String[] dates = io_time.split(RANGE_TIME_LINK);
+ sDate = DateUtils.convert(dates[0]);
+ eDate = DateUtils.convert(dates[1]);
+ }
+ String type = (String) param.get("type");
+ String owner = (String) param.get("owner");
+
+ ArrayList<SaasLog> list = saasLogMapper.selectListSummary(sDate,eDate,type,owner);
+ double sum = list.stream().mapToDouble(SaasLog::getAnfme).sum();
+ ListIterator<SaasLog> saasLogListIterator = list.listIterator();
+ String a = null;
+ while (saasLogListIterator.hasNext()){
+ SaasLog next = saasLogListIterator.next();
+
+ if (!next.getOwner().equals(a)){
+ if (a != null) {
+
+ ArrayList<SaasLog> list1 = saasLogMapper.selectListSummaryBySubtotal(a,sDate,eDate,type);
+ for (SaasLog saasLog : list1) {
+ saasLogListIterator.previous();
+ saasLog.setMatnr("灏忚");
+ saasLogListIterator.add(saasLog);
+ saasLogListIterator.next();
+ }
+ saasLogListIterator.previous();
+ SaasLog saasLog1 = new SaasLog();
+ saasLog1.setOwner(a);
+ saasLog1.setMatnr("鍚堣");
+ saasLog1.setAnfme(list1.stream().mapToDouble(SaasLog::getAnfme).sum());
+ saasLogListIterator.add(saasLog1);
+ saasLogListIterator.next();
+ }
+
+ a = next.getOwner();
+ }
+ }
+ ArrayList<SaasLog> list1 = saasLogMapper.selectListSummaryBySubtotal(a,sDate,eDate,type);
+ for (SaasLog saasLog : list1) {
+ saasLog.setMatnr("灏忚");
+ saasLogListIterator.add(saasLog);
+ }
+ SaasLog saasLog1 = new SaasLog();
+ saasLog1.setOwner(a);
+ saasLog1.setMatnr("鍚堣");
+ saasLog1.setAnfme(list1.stream().mapToDouble(SaasLog::getAnfme).sum());
+ saasLogListIterator.add(saasLog1);
+
+ SaasLog saasLog = new SaasLog();
+ saasLog.setOwner("鎬昏");
+ saasLog.setAnfme(sum);
+ list.add(saasLog);
+
+ return R.ok(list);
+ }
+
+ @RequestMapping(value = "/saasLogSummary/export/auth")
+ @ManagerAuth
+ public R summaryExport(@RequestBody JSONObject param){
+ List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+ Map<String, Object> map = excludeTrash(param.getJSONObject("saasLog"));
+ String io_time = (String) map.get("io_time");
+ Date sDate = null;
+ Date eDate = null;
+ if(!Cools.isEmpty(io_time) && io_time.contains(RANGE_TIME_LINK)) {
+ String[] dates = io_time.split(RANGE_TIME_LINK);
+ sDate = DateUtils.convert(dates[0]);
+ eDate = DateUtils.convert(dates[1]);
+ }
+ String type = (String) map.get("type");
+ String owner = (String) map.get("owner");
+
+ ArrayList<SaasLog> list = saasLogMapper.selectListSummary(sDate,eDate,type,owner);
+ double sum = list.stream().mapToDouble(SaasLog::getAnfme).sum();
+ ListIterator<SaasLog> saasLogListIterator = list.listIterator();
+ String a = null;
+ while (saasLogListIterator.hasNext()){
+ SaasLog next = saasLogListIterator.next();
+
+ if (!next.getOwner().equals(a)){
+ if (a != null) {
+
+ ArrayList<SaasLog> list1 = saasLogMapper.selectListSummaryBySubtotal(a,sDate,eDate,type);
+ for (SaasLog saasLog : list1) {
+ saasLogListIterator.previous();
+ saasLog.setMatnr("灏忚");
+ saasLogListIterator.add(saasLog);
+ saasLogListIterator.next();
+ }
+ saasLogListIterator.previous();
+ SaasLog saasLog1 = new SaasLog();
+ saasLog1.setOwner(a);
+ saasLog1.setMatnr("鍚堣");
+ saasLog1.setAnfme(list1.stream().mapToDouble(SaasLog::getAnfme).sum());
+ saasLogListIterator.add(saasLog1);
+ saasLogListIterator.next();
+ }
+
+ a = next.getOwner();
+ }
+ }
+ ArrayList<SaasLog> list1 = saasLogMapper.selectListSummaryBySubtotal(a,sDate,eDate,type);
+ for (SaasLog saasLog : list1) {
+ saasLog.setMatnr("灏忚");
+ saasLogListIterator.add(saasLog);
+ }
+ SaasLog saasLog1 = new SaasLog();
+ saasLog1.setOwner(a);
+ saasLog1.setMatnr("鍚堣");
+ saasLog1.setAnfme(list1.stream().mapToDouble(SaasLog::getAnfme).sum());
+ saasLogListIterator.add(saasLog1);
+
+ SaasLog saasLog = new SaasLog();
+ saasLog.setOwner("鎬昏");
+ saasLog.setAnfme(sum);
+ list.add(saasLog);
+
+ return R.ok(exportSupport(list, fields));
+ }
+
private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
for (Map.Entry<String, Object> entry : map.entrySet()){
String val = String.valueOf(entry.getValue());
--
Gitblit v1.9.1