From 3f6229dcb3e1aa75c7882729c04e45bfc382e08a Mon Sep 17 00:00:00 2001
From: 刘小明 <liuxm_a@163.com>
Date: 星期四, 29 八月 2024 16:43:22 +0800
Subject: [PATCH] 优化查询任务计划列表接口(id以string格式传给前端)

---
 pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/schedule/ScheduleCtrl.java |   81 +++++++++++++++++++++++-----------------
 1 files changed, 47 insertions(+), 34 deletions(-)

diff --git a/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/schedule/ScheduleCtrl.java b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/schedule/ScheduleCtrl.java
index 962f7d2..20ccf5f 100644
--- a/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/schedule/ScheduleCtrl.java
+++ b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/schedule/ScheduleCtrl.java
@@ -1,24 +1,26 @@
 package com.dy.pmsProduct.schedule;
 
+import cn.hutool.json.JSONObject;
 import com.alibaba.excel.EasyExcel;
-import com.alibaba.excel.converters.Converter;
 import com.dy.common.aop.SsoPowerAop;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.common.webUtil.QueryResultVo;
 import com.dy.pmsGlobal.aop.Log;
+import com.dy.pmsGlobal.pojoBa.BaUser;
 import com.dy.pmsGlobal.pojoPr.PrSchedule;
-import com.dy.pmsGlobal.util.QrCodeUtil;
 import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.Valid;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.io.IOException;
 import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Map;
 
 /**
  * 鎺掔彮
@@ -27,7 +29,8 @@
 @RestController
 @RequestMapping(path="schedule")
 public class ScheduleCtrl {
-
+    private String fileName = "鎺掔彮淇℃伅" ;
+    private String sheetName = "鎺掔彮淇℃伅" ;
     private ScheduleSv sv;
     @Autowired
     public void setScheduleSv(ScheduleSv scheduleSv) {
@@ -71,9 +74,9 @@
     @PostMapping(path="selectPlan")
     @SsoPowerAop(power = "-1")
     @Log("鏌ヨ浠诲姟璁″垝鍒楄〃")
-    public BaseResponse<List<Map<String,Object>>> selectPlan(@RequestBody QueryVo vo){
-        List<Map<String,Object>> list = sv.selectPlan(vo) ;
-        return BaseResponseUtils.buildSuccess(list);
+    public BaseResponse<List<JSONObject>> selectPlan(@RequestBody QueryVo vo){
+        List<JSONObject> array = sv.selectPlan(vo) ;
+        return BaseResponseUtils.buildSuccess(array);
     }
     /**
      * 鏍规嵁ID鏌ヨ
@@ -99,40 +102,50 @@
         QueryResultVo<List<PrSchedule>> list = sv.selectSome(vo) ;
         return BaseResponseUtils.buildSuccess(list);
     }
+    /**
+     * 鏍规嵁ID鏌ヨ
+     * @return
+     */
+    @GetMapping(path="getUserList")
+    @SsoPowerAop(power = "-1")
+    @Log("鏌ヨ绯荤粺涓搷浣滀汉鍛樹俊鎭�")
+    public BaseResponse<List<BaUser>> getUserList(){
+        List<BaUser> userList = sv.selectById();
+        return BaseResponseUtils.buildSuccess(userList);
+    }
 
-    private String fileName = "鎺掔彮淇℃伅" ;
-    private String sheetName = "鎺掔彮淇℃伅" ;
+
     @PostMapping(path="export")
     @SsoPowerAop(power = "-1")
     @Log("瀵煎嚭鎺掔彮")
-    public void exportSchedule(@RequestBody QueryVo queryVo, HttpServletResponse response){
-        List<Converter> list = new ArrayList<>() ;
+    public void exportSchedule(@RequestBody QueryVo queryVo, HttpServletResponse response) throws IOException {
+        List<ExcelVo> list = new ArrayList<>();
 
         List<PrSchedule> schList = sv.selectAll(queryVo);
-        schList.forEach(sch -> {
-            sch.relList.forEach(rel -> {
-                ExcelVo vo = new ExcelVo();
-                vo.id = sch.id.toString();
-                vo.userName = sch.userName;
-                vo.scheduleDate = sch.scheduleDate;
-                vo.dt = sch.dt;
-                vo.planName = rel.planName;
-                vo.nodeName = rel.nodeName;
-                vo.stationName = rel.stationName;
-                vo.workDetails = rel.workDetails;
-                list.add(vo);
+        if (CollectionUtils.isNotEmpty(schList)) {
+            schList.forEach(sch -> {
+                if (CollectionUtils.isNotEmpty(sch.relList)) {
+                    sch.relList.forEach(rel -> {
+                        ExcelVo vo = new ExcelVo();
+                        vo.id = sch.id.toString();
+                        vo.userName = sch.userName;
+                        vo.scheduleDate = sch.scheduleDate;
+                        vo.dt = sch.dt;
+                        vo.planName = rel.planName;
+                        vo.nodeName = rel.nodeName;
+                        vo.stationName = rel.stationName;
+                        vo.workDetails = rel.workDetails;
+                        list.add(vo);
+                    });
+                }
             });
-        });
-
-        try{
-            response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
-            response.setCharacterEncoding("utf-8");
-            fileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
-            response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
-            EasyExcel.write(response.getOutputStream(), list.get(0).getClass()).sheet(sheetName)
-                    .registerWriteHandler(new CustomCellWriteHandler()).doWrite(list);
-        }catch (Exception e){
-            log.error("瀵煎嚭鎺掔彮淇℃伅寮傚父", e);
         }
+
+        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
+        response.setCharacterEncoding("utf-8");
+        fileName = URLEncoder.encode(fileName, StandardCharsets.UTF_8).replaceAll("\\+", "%20");
+        response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
+        EasyExcel.write(response.getOutputStream(), list.get(0).getClass()).sheet(sheetName)
+                .registerWriteHandler(new CustomCellWriteHandler()).doWrite(list);
     }
 }

--
Gitblit v1.8.0