自动化立体仓库 - WMS系统
zhangchao
2024-11-04 59f80df1e377e8775969ca4acadfa2eadd6e37ae
src/main/java/com/zy/asrs/controller/ReportDownloadController.java
@@ -7,10 +7,7 @@
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
import com.zy.asrs.entity.AgvWrkMastLog;
import com.zy.asrs.entity.ViewInOutBean;
import com.zy.asrs.entity.ViewWorkCountInView;
import com.zy.asrs.entity.ViewWorkInBean;
import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.ReportQueryMapper;
import com.zy.asrs.service.AgvWrkMastLogService;
import com.zy.common.web.BaseController;
@@ -18,6 +15,7 @@
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import javax.xml.soap.SAAJResult;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.HashMap;
@@ -44,8 +42,7 @@
     * @since 2.1.1
     */
    @GetMapping("/countIn")
    public void download1(HttpServletResponse response,
                          @RequestParam Map<String, Object> param) throws IOException {
    public void download1(HttpServletResponse response, @RequestParam Map<String, Object> param) throws IOException {
        try {
            response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
            response.setCharacterEncoding("utf-8");
@@ -53,8 +50,7 @@
            String fileName = URLEncoder.encode("日入库汇总", "UTF-8").replaceAll("\\+", "%20");
            response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
            // 这里需要设置不关闭流
            EasyExcel.write(response.getOutputStream(), ViewWorkCountInView.class).autoCloseStream(Boolean.FALSE).sheet("sheet1")
                    .doWrite(getInData(param));
            EasyExcel.write(response.getOutputStream(), ViewWorkCountInView.class).autoCloseStream(Boolean.FALSE).sheet("sheet1").doWrite(getInData(param));
        } catch (Exception e) {
            // 重置response
            response.reset();
@@ -88,17 +84,16 @@
     * @since 2.1.1
     */
    @RequestMapping("/countOut")
    public void download2(HttpServletResponse response,
                          @RequestParam Map<String, Object> param) throws IOException {
    public void download2(HttpServletResponse response, @RequestParam Map<String, Object> param) throws IOException {
        try {
            response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
            response.setCharacterEncoding("utf-8");
            // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
            String fileName = URLEncoder.encode("日出库汇总", "UTF-8").replaceAll("\\+", "%20");
            response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
            List<ViewWorkCountInView> outData = getOutData(param);
            // 这里需要设置不关闭流
            EasyExcel.write(response.getOutputStream(), ViewWorkCountInView.class).autoCloseStream(Boolean.FALSE).sheet("sheet1")
                    .doWrite(getOutData(param));
            EasyExcel.write(response.getOutputStream(), ViewWorkCountInView.class).autoCloseStream(Boolean.FALSE).sheet("sheet1").doWrite(outData);
        } catch (Exception e) {
            // 重置response
            response.reset();
@@ -121,7 +116,7 @@
            startTime = split[0].split(" ")[0].replace("-", ".");
            endTime = split[1].split(" ")[0].replace("-", ".");
        }
        List<ViewWorkCountInView> allCountIn = reportQueryMapper.selectWorkCountOut(Integer.valueOf((String) param.get("pageNumber")), Integer.valueOf((String) param.get("pageSize")), (String) param.get("matnr"), startTime, endTime);
        List<ViewWorkCountInView> allCountIn = reportQueryMapper.selectWorkCountOut(null,null, (String) param.get("matnr"), startTime, endTime);
        return allCountIn;
    }
@@ -133,8 +128,7 @@
     * @since 2.1.1
     */
    @RequestMapping("/wrkMastLog")
    public void wrkMastLog(HttpServletResponse response,
                           @RequestParam Map<String, Object> param) throws IOException {
    public void wrkMastLog(HttpServletResponse response, @RequestParam Map<String, Object> param) throws IOException {
        try {
            response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
            response.setCharacterEncoding("utf-8");
@@ -142,8 +136,7 @@
            String fileName = URLEncoder.encode("工作档维护日志", "UTF-8").replaceAll("\\+", "%20");
            response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
            // 这里需要设置不关闭流
            EasyExcel.write(response.getOutputStream(), ViewWorkCountInView.class).autoCloseStream(Boolean.FALSE).sheet("sheet1")
                    .doWrite(getWrkMastLogData(param));
            EasyExcel.write(response.getOutputStream(), ViewWorkCountInView.class).autoCloseStream(Boolean.FALSE).sheet("sheet1").doWrite(getWrkMastLogData(param));
        } catch (Exception e) {
            // 重置response
            response.reset();
@@ -189,8 +182,7 @@
     * @since 2.1.1
     */
    @RequestMapping("/out")
    public void out(HttpServletResponse response,
                          @RequestParam ViewWorkInBean bean) throws IOException {
    public void out(HttpServletResponse response, @RequestParam(required = false) ViewWorkInBean bean) throws IOException {
        try {
            response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
            response.setCharacterEncoding("utf-8");
@@ -199,8 +191,7 @@
            response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
            List<ViewWorkInBean> list = reportQueryMapper.queryViewWorkOutList(bean);
            // 这里需要设置不关闭流
            EasyExcel.write(response.getOutputStream(), ViewWorkCountInView.class).autoCloseStream(Boolean.FALSE).sheet("sheet1")
                    .doWrite(list);
            EasyExcel.write(response.getOutputStream(), ViewWorkInBean.class).autoCloseStream(Boolean.FALSE).sheet("sheet1").doWrite(list);
        } catch (Exception e) {
            // 重置response
            response.reset();
@@ -220,8 +211,7 @@
     * @since 2.1.1
     */
    @RequestMapping("/in")
    public void in(HttpServletResponse response,
                    @RequestParam ViewWorkInBean bean) throws IOException {
    public void in(HttpServletResponse response, @RequestParam(required = false) ViewWorkInBean bean) throws IOException {
        try {
            response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
            response.setCharacterEncoding("utf-8");
@@ -229,9 +219,9 @@
            String fileName = URLEncoder.encode("日入库明细统计", "UTF-8").replaceAll("\\+", "%20");
            response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
            List<ViewWorkInBean> list = reportQueryMapper.queryViewWorkInList(bean);
            String s = "1";
            // 这里需要设置不关闭流
            EasyExcel.write(response.getOutputStream(), ViewWorkCountInView.class).autoCloseStream(Boolean.FALSE).sheet("sheet1")
                    .doWrite(list);
            EasyExcel.write(response.getOutputStream(), ViewWorkInBean.class).autoCloseStream(Boolean.FALSE).sheet("sheet1").doWrite(list);
        } catch (Exception e) {
            // 重置response
            response.reset();