From beb074bf390cdd09b1c8089e395db5f421efc34c Mon Sep 17 00:00:00 2001
From: Fancy <Fancy.fx@outlook.com>
Date: 星期三, 23 十月 2024 10:58:53 +0800
Subject: [PATCH] 优化代码
---
pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/schedule/ScheduleCtrl.java | 97 +++++++++++++++++++++++++++++++++---------------
1 files changed, 66 insertions(+), 31 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 d583cb9..33834e1 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,22 +1,26 @@
package com.dy.pmsProduct.schedule;
-import com.alibaba.excel.converters.Converter;
+import cn.hutool.json.JSONObject;
+import com.alibaba.excel.EasyExcel;
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;
/**
* 鎺掔彮
@@ -25,8 +29,8 @@
@RestController
@RequestMapping(path="schedule")
public class ScheduleCtrl {
- private static final String fileName = "鎺掔彮淇℃伅" ;
- private static final String sheetName = "鎺掔彮淇℃伅" ;
+ private String fileName = "鎺掔彮淇℃伅" ;
+ private String sheetName = "鎺掔彮淇℃伅" ;
private ScheduleSv sv;
@Autowired
public void setScheduleSv(ScheduleSv scheduleSv) {
@@ -34,7 +38,7 @@
}
@PostMapping(path="save")
- @SsoPowerAop(power = "-1")
+ @SsoPowerAop(power = "10200009")
@Log("淇濆瓨鎺掔彮")
public BaseResponse<Boolean> save(@RequestBody @Valid PrSchedule schedule){
int count = sv.save(schedule);
@@ -51,7 +55,7 @@
* @return
*/
@PostMapping(path="update")
- @SsoPowerAop(power = "-1")
+ @SsoPowerAop(power = "10200009")
@Log("鏇存柊鎺掔彮")
public BaseResponse<Boolean> update(@RequestBody @Valid PrSchedule schedule){
int count = sv.update(schedule);
@@ -68,18 +72,18 @@
* @return
*/
@PostMapping(path="selectPlan")
- @SsoPowerAop(power = "-1")
+ @SsoPowerAop(power = "10200008")
@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鏌ヨ
* @return
*/
@GetMapping(path="one")
- @SsoPowerAop(power = "-1")
+ @SsoPowerAop(power = "10200008")
@Log("鏍规嵁ID鏌ヨ鎺掔彮")
public BaseResponse<PrSchedule> one(Long id){
PrSchedule schedule=sv.selectById(id);
@@ -92,35 +96,66 @@
* @return
*/
@PostMapping(path="some")
- @SsoPowerAop(power = "-1")
+ @SsoPowerAop(power = "10200008")
@Log("鍒嗛〉鏌ヨ鎺掔彮")
- public BaseResponse<QueryResultVo<List<PrSchedule>>> some(@RequestBody com.dy.pmsProduct.schedule.QueryVo vo){
+ public BaseResponse<QueryResultVo<List<PrSchedule>>> some(@RequestBody QueryVo vo){
QueryResultVo<List<PrSchedule>> list = sv.selectSome(vo) ;
return BaseResponseUtils.buildSuccess(list);
+ }
+ /**
+ * 鏍规嵁ID鏌ヨ
+ * @return
+ */
+ @GetMapping(path="getUserList")
+ @SsoPowerAop(power = "10200008")
+ @Log("鏌ヨ绯荤粺涓搷浣滀汉鍛樹俊鎭�")
+ public BaseResponse<List<BaUser>> getUserList(){
+ List<BaUser> userList = sv.selectById();
+ return BaseResponseUtils.buildSuccess(userList);
}
@PostMapping(path="export")
- @SsoPowerAop(power = "-1")
+ @SsoPowerAop(power = "10200009")
@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.parallelStream().forEach(sch -> {
- sch.relList.forEach(rel -> {
- ExcelVo vo = new ExcelVo();
- 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);
+ });
+ }
});
- });
- QrCodeUtil.downloadExcel(response, fileName,sheetName,list);
+ }
+
+ 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);
+ }
+
+ /**
+ * 鏌ヨ鎵�鏈�,瑙﹀睆绔娇鐢ㄤ笉楠岃瘉token
+ * @param queryVo
+ * @return
+ */
+ @PostMapping(path="selectAll")
+ public BaseResponse<List<PrSchedule>> selectAll(@RequestBody QueryVo queryVo) {
+ return BaseResponseUtils.buildSuccess(sv.selectAll(queryVo));
}
}
--
Gitblit v1.8.0