From a77b79d76907fa6a804ad0c66e372dd34e277ccd Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期一, 22 一月 2024 17:31:56 +0800
Subject: [PATCH] # 导出更新
---
src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java | 3
src/main/java/com/zy/asrs/controller/AgvLocDetlController.java | 45 ++++++-----
src/main/java/com/zy/asrs/controller/LocDetlController.java | 47 ++++++-----
src/main/webapp/static/js/locDetlStatis/locDetlStatis.js | 42 +++++++++-
src/main/webapp/static/js/agvLocDetlStatis/locDetlStatis.js | 42 +++++++++-
src/main/resources/mapper/LocDetlMapper.xml | 5 +
6 files changed, 132 insertions(+), 52 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/AgvLocDetlController.java b/src/main/java/com/zy/asrs/controller/AgvLocDetlController.java
index 61564ce..f98d3f4 100644
--- a/src/main/java/com/zy/asrs/controller/AgvLocDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvLocDetlController.java
@@ -1,7 +1,5 @@
package com.zy.asrs.controller;
-import com.alibaba.excel.EasyExcel;
-import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
@@ -21,9 +19,7 @@
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
-import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
-import java.net.URLEncoder;
import java.util.List;
import java.util.Map;
@@ -100,23 +96,32 @@
return R.ok(sum);
}
+// @RequestMapping(value = "/locDetl/statis/export")
+// public void statisExport(HttpServletResponse response) throws IOException {
+// List<AgvLocDetl> excel = agvLocDetlService.getStockStatisExcel();
+// for (AgvLocDetl locDetl : excel) {
+// Mat mat = matService.selectByMatnr(locDetl.getMatnr());
+// if (mat != null) {
+// locDetl.sync(mat);
+// }
+// }
+// response.setContentType("application/vnd.ms-excel");
+// response.setCharacterEncoding("utf-8");
+// String fileName = URLEncoder.encode("搴撳瓨鏄庣粏缁熻鎶ヨ〃", "UTF-8");
+// response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
+// EasyExcel.write(response.getOutputStream(), AgvLocDetl.class)
+// .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
+// .sheet("琛�1")
+// .doWrite(excel);
+// }
+
+
@RequestMapping(value = "/locDetl/statis/export")
- public void statisExport(HttpServletResponse response) throws IOException {
- List<AgvLocDetl> excel = agvLocDetlService.getStockStatisExcel();
- for (AgvLocDetl locDetl : excel) {
- Mat mat = matService.selectByMatnr(locDetl.getMatnr());
- if (mat != null) {
- locDetl.sync(mat);
- }
- }
- response.setContentType("application/vnd.ms-excel");
- response.setCharacterEncoding("utf-8");
- String fileName = URLEncoder.encode("搴撳瓨鏄庣粏缁熻鎶ヨ〃", "UTF-8");
- response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
- EasyExcel.write(response.getOutputStream(), AgvLocDetl.class)
- .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
- .sheet("琛�1")
- .doWrite(excel);
+ @ManagerAuth(memo = "搴撲綅鏄庣粏瀵煎嚭")
+ public synchronized R statisExport(@RequestBody JSONObject param){
+ List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+ List<AgvLocDetl> stockStatisExcel = agvLocDetlService.getStockStatisExcel();
+ return R.ok(exportSupport(stockStatisExcel, fields));
}
@RequestMapping(value = "/locDetl/export/auth")
diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java
index cf08cdd..3ab417a 100644
--- a/src/main/java/com/zy/asrs/controller/LocDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -1,7 +1,5 @@
package com.zy.asrs.controller;
-import com.alibaba.excel.EasyExcel;
-import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
@@ -21,9 +19,6 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.net.URLEncoder;
import java.util.*;
@RestController
@@ -256,24 +251,32 @@
@Autowired
private LocDetlMapper LocDetlMapper;
+// @RequestMapping(value = "/locDetl/statis/export")
+//// @ManagerAuth
+// public void statisExport(HttpServletResponse response) throws IOException {
+// List<LocDetl> excel = LocDetlMapper.getStockStatisExcel();
+// for (LocDetl locDetl : excel) {
+// Mat mat = matService.selectByMatnr(locDetl.getMatnr());
+// if (mat != null) {
+// locDetl.sync(mat);
+// }
+// }
+// response.setContentType("application/vnd.ms-excel");
+// response.setCharacterEncoding("utf-8");
+// String fileName = URLEncoder.encode("搴撳瓨鏄庣粏缁熻鎶ヨ〃", "UTF-8");
+// response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
+// EasyExcel.write(response.getOutputStream(), LocDetl.class)
+// .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
+// .sheet("琛�1")
+// .doWrite(excel);
+// }
+
@RequestMapping(value = "/locDetl/statis/export")
-// @ManagerAuth
- public void statisExport(HttpServletResponse response) throws IOException {
- List<LocDetl> excel = LocDetlMapper.getStockStatisExcel();
- for (LocDetl locDetl : excel) {
- Mat mat = matService.selectByMatnr(locDetl.getMatnr());
- if (mat != null) {
- locDetl.sync(mat);
- }
- }
- response.setContentType("application/vnd.ms-excel");
- response.setCharacterEncoding("utf-8");
- String fileName = URLEncoder.encode("搴撳瓨鏄庣粏缁熻鎶ヨ〃", "UTF-8");
- response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
- EasyExcel.write(response.getOutputStream(), LocDetl.class)
- .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
- .sheet("琛�1")
- .doWrite(excel);
+ @ManagerAuth(memo = "搴撲綅鏄庣粏瀵煎嚭")
+ public synchronized R statisExport(@RequestBody JSONObject param){
+ List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+ List<LocDetl> stockStatisExcel = LocDetlMapper.getStockStatisExcel();
+ return R.ok(exportSupport(stockStatisExcel, fields));
}
/**
diff --git a/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java
index defa219..dad9fa8 100644
--- a/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java
@@ -28,10 +28,11 @@
@Select("select\n" +
" ROW_NUMBER() over (order by sum(a.anfme) desc) as row\n" +
" , a.matnr\n" +
+ " , a.maktx, a.specs, a.model\n " +
" , sum(a.anfme) as anfme\n" +
" from agv_loc_detl a\n" +
" where 1=1\n" +
- " group by a.matnr")
+ " group by a.matnr, a.maktx, a.specs, a.model")
List<AgvLocDetl> getStockStatisExcel();
@Select("SELECT SUM(anfme) FROM agv_loc_detl WHERE loc_no = #{locNo}")
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 8e6b7de..2139ca6 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -180,9 +180,12 @@
ROW_NUMBER() over (order by sum(a.anfme) desc) as row
, a.matnr
, sum(a.anfme) as anfme
+ , a.maktx
+ , a.specs
+ , model
from asr_loc_detl a
where 1=1
- group by a.matnr
+ group by a.matnr,a.maktx,a.specs,model
</select>
<select id="selectPakoutByRule" resultMap="BaseResultMap">
diff --git a/src/main/webapp/static/js/agvLocDetlStatis/locDetlStatis.js b/src/main/webapp/static/js/agvLocDetlStatis/locDetlStatis.js
index 310f691..b9255a6 100644
--- a/src/main/webapp/static/js/agvLocDetlStatis/locDetlStatis.js
+++ b/src/main/webapp/static/js/agvLocDetlStatis/locDetlStatis.js
@@ -109,10 +109,44 @@
var checkStatus = table.checkStatus(obj.config.id);
switch(obj.event) {
case 'exportAll':
- layer.closeAll();
- layer.load(1, {shade: [0.1,'#fff']});
- location.href = baseUrl + "/agv/locDetl/statis/export";
- layer.closeAll('loading');
+ layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
+ var titles=[];
+ var fields=[];
+ obj.config.cols[0].map(function (col) {
+ if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
+ titles.push(col.title);
+ fields.push(col.field);
+ }
+ });
+ var exportData = {};
+ $.each($('#search-box [name]').serializeArray(), function() {
+ exportData[this.name] = this.value;
+ });
+ var param = {
+ 'locDetl': exportData,
+ 'fields': fields
+ };
+ var loadIndex = layer.msg('姝e湪瀵煎嚭...', {icon: 16, shade: 0.01, time: false});
+ $.ajax({
+ url: baseUrl+"/agv/locDetl/statis/export",
+ headers: {'token': localStorage.getItem('token')},
+ data: JSON.stringify(param),
+ dataType:'json',
+ contentType:'application/json;charset=UTF-8',
+ method: 'POST',
+ success: function (res) {
+ layer.close(loadIndex);
+ layer.closeAll();
+ if (res.code === 200) {
+ table.exportFile(titles,res.data,'xls');
+ } else if (res.code === 403) {
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg)
+ }
+ }
+ });
+ });
break;
case 'exportData':
layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
diff --git a/src/main/webapp/static/js/locDetlStatis/locDetlStatis.js b/src/main/webapp/static/js/locDetlStatis/locDetlStatis.js
index c359044..9e80d36 100644
--- a/src/main/webapp/static/js/locDetlStatis/locDetlStatis.js
+++ b/src/main/webapp/static/js/locDetlStatis/locDetlStatis.js
@@ -108,10 +108,44 @@
var checkStatus = table.checkStatus(obj.config.id);
switch(obj.event) {
case 'exportAll':
- layer.closeAll();
- layer.load(1, {shade: [0.1,'#fff']});
- location.href = baseUrl + "/locDetl/statis/export";
- layer.closeAll('loading');
+ layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
+ var titles=[];
+ var fields=[];
+ obj.config.cols[0].map(function (col) {
+ if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
+ titles.push(col.title);
+ fields.push(col.field);
+ }
+ });
+ var exportData = {};
+ $.each($('#search-box [name]').serializeArray(), function() {
+ exportData[this.name] = this.value;
+ });
+ var param = {
+ 'locDetl': exportData,
+ 'fields': fields
+ };
+ var loadIndex = layer.msg('姝e湪瀵煎嚭...', {icon: 16, shade: 0.01, time: false});
+ $.ajax({
+ url: baseUrl+"/locDetl/statis/export",
+ headers: {'token': localStorage.getItem('token')},
+ data: JSON.stringify(param),
+ dataType:'json',
+ contentType:'application/json;charset=UTF-8',
+ method: 'POST',
+ success: function (res) {
+ layer.close(loadIndex);
+ layer.closeAll();
+ if (res.code === 200) {
+ table.exportFile(titles,res.data,'xls');
+ } else if (res.code === 403) {
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg)
+ }
+ }
+ });
+ });
break;
case 'exportData':
layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
--
Gitblit v1.9.1