From 7e2f3abca2f5bb83459f809b8e7195b361e0a372 Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Sat, 07 Oct 2023 12:00:30 +0800
Subject: [PATCH] ci:补充提交
---
screen-api/src/main/java/com/moral/api/controller/SysTestController.java | 296 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 271 insertions(+), 25 deletions(-)
diff --git a/screen-api/src/main/java/com/moral/api/controller/SysTestController.java b/screen-api/src/main/java/com/moral/api/controller/SysTestController.java
index aa0e1f3..d026f33 100644
--- a/screen-api/src/main/java/com/moral/api/controller/SysTestController.java
+++ b/screen-api/src/main/java/com/moral/api/controller/SysTestController.java
@@ -32,6 +32,7 @@
import java.awt.*;
import java.io.*;
import java.lang.reflect.Field;
+import java.math.BigDecimal;
import java.net.URLEncoder;
import java.util.*;
import java.util.List;
@@ -55,19 +56,21 @@
@GetMapping("resultWord")
public void adresultWordd(HttpServletResponse response,String time,String endTime) {
- // for(int i = 495;i<1095;i++){
- List<SysTest> listAll = sysTestService.listAll(time,endTime,null);
+ String ks = "2023-08-06";
+ for(int i =1;i<2;i++){
+ Date ksDate = DateUtils.convertDate(ks);
+ List<SysTest> listAll = sysTestService.listAll(ks,null,null);
if(CollectionUtils.isEmpty(listAll)){
return;
}
- /* Date endTime =listAll.get(0).getTime();
- String endTimeStr = DateUtils.dateToDateString(endTime,DateUtils.yyyyMMdd_EN);
+ String endTimeStr = DateUtils.dateToDateString(ksDate,DateUtils.yyyyMMdd_EN);
String fileName = "������������������.docx";
Map<String,Object> map = resultMap(listAll);
- downloadWord(fileName, map, response,"������������������"+endTimeStr+".docx");*/
- // time = DateUtils.dateToDateString(DateUtils.addDays(endTime,1),DateUtils.yyyy_MM_dd_EN);
- // }
+ downloadWord(fileName, map, response,"������������������"+endTimeStr+".docx");
+ ks = DateUtils.dateToDateString(DateUtils.addDays(ksDate,1),DateUtils.yyyy_MM_dd_EN);
+ }
}
+
@GetMapping("excelM")
public void excelM(HttpServletResponse response,String time,String endTime) {
@@ -113,9 +116,10 @@
@GetMapping("resultWordWeek")
public void resultWordWeek(HttpServletResponse response) {
- String ks = "2020-06-22";
+ String ks = "2023-06-19";
Date ksDate = DateUtils.convertDate(ks);
- for(int i = 0;i<157;i++){
+ int num = 157;
+ for(int i = 0;i<8;i++){
Date jsDate = DateUtils.addDays(ksDate,6);
String time = DateUtils.dateToDateString(ksDate,DateUtils.yyyy_MM_dd_EN);
String endTime = DateUtils.dateToDateString(jsDate,DateUtils.yyyy_MM_dd_EN);
@@ -126,17 +130,19 @@
String fileName = "������������������.docx";
String time1 = DateUtils.dateToDateString(ksDate,"yyyy.MM.dd");
String endTime1= DateUtils.dateToDateString(jsDate,"yyyy.MM.dd");
- Map<String,Object> map = resultWeekMap(listAll,i+1,time1+"-"+endTime1);
+ Map<String,Object> map = resultWeekMap(listAll,num,time1+"-"+endTime1);
downloadWord(fileName, map, response,"������������������"+time+".docx");
ksDate = DateUtils.addDays(ksDate,7);
+ num++;
}
}
@GetMapping("resultWordMonth")
public void resultWordMonth(HttpServletResponse response) {
- String ks = "2020-06-01";
- Date ksDate = DateUtils.convertDate(ks);
+ String ks = "2023-07-01";
+ Date ksDate = DateUtils.convertDate(ks);
+ for(int i = 0;i<1;i++){
Date jsDate = DateUtils.getLastDayOfCurrMonth(ksDate);;
String time = DateUtils.dateToDateString(ksDate,DateUtils.yyyy_MM_dd_EN);
String endTime = DateUtils.dateToDateString(jsDate,DateUtils.yyyy_MM_dd_EN);
@@ -144,12 +150,14 @@
if(CollectionUtils.isEmpty(listAll)){
return;
}
- String fileName = "������������������.docx";
- String time1 = DateUtils.dateToDateString(ksDate,"yyyy.MM.dd");
- String endTime1= DateUtils.dateToDateString(jsDate,"yyyy.MM.dd");
- Map<String,Object> map = resultWeekMap(listAll,1,time1+"-"+endTime1);
- downloadWord(fileName, map, response,"������������������"+time+".docx");
- //ksDate = DateUtils.addDays(ksDate,7);
+ List<SysTest> listDay = sysTestService.listAll(time,endTime,null);
+ String fileName = "������������������.docx";
+ String time1 = DateUtils.dateToDateString(ksDate,"yyyy���MM���");
+ Long days = DateUtils.getQuotByDays(DateUtils.dateToDateString(listDay.get(0).getTime()),DateUtils.dateToDateString(listDay.get(listDay.size()-1).getTime()));
+ Map<String,Object> map = resultWeekMap(listAll,time1,listDay,days.intValue());
+ downloadWord(fileName, map, response,"������������������"+time1+".docx");
+ ksDate = DateUtils.addMonths(ksDate,1);
+ }
}
@@ -157,7 +165,7 @@
String path = getPath(fileName);//��������� resources������
try {
//������������������
- OutputStream out = new FileOutputStream("E:\\home\\week\\" + newFileName);
+ OutputStream out = new FileOutputStream("E:\\home\\week1\\" + newFileName);
File rootFile = new File(ResourceUtils.getURL("classpath:").getPath());
File file= new File(rootFile, path);
XWPFDocument word = WordExportUtil.exportWord07(file.getPath(), params);
@@ -267,15 +275,245 @@
resultMap.put(name+"TV", StringUtils.isNotEmpty(s.getVoc())?s.getVoc():"--");
resultMap.put(name+"S", StringUtils.isNotEmpty(s.getSu())?s.getSu():"--");
}
- // String bodyName = stringButterStrWeek(listAll);
- HashMap<String, Integer> datas = new HashMap<>(3);
+ String bodyName = stringButterStrWeek(listAll);
+ /* HashMap<String, Integer> datas = new HashMap<>(3);
datas.put("������",10);
datas.put("������",20);
datas.put("������",40);
- ImageEntity imageEntity = pieChart("������",datas, 500, 300);
- resultMap.put("������������",imageEntity);
+ ImageEntity imageEntity = pieChart("������",datas, 500, 300);*/
+ resultMap.put("������������",bodyName);
return resultMap;
}
+ private Map<String,Object> resultWeekMap(List<SysTest> listAll,String weekTime,List<SysTest> listDay,int days){
+ Map<String,Object> resultMap = new HashMap<>();
+ resultMap.put("������",weekTime);
+ String name = "���";
+ for(SysTest s : listAll){
+ if(s.getName().contains("���")){
+ name = "���";
+ }else if(s.getName().contains("���")){
+ name = "���";
+ }else {
+ name = "���";
+ }
+ resultMap.put(name+"AQI", StringUtils.isNotEmpty(s.getAqi())?s.getAqi():"--");
+ resultMap.put(name+"PM10", StringUtils.isNotEmpty(s.getPm10())?s.getPm10():"--");
+ resultMap.put(name+"PM2", StringUtils.isNotEmpty(s.getPm25())?s.getPm25():"--");
+ resultMap.put(name+"SO2", StringUtils.isNotEmpty(s.getSo2())?s.getSo2():"--");
+ resultMap.put(name+"NO2", StringUtils.isNotEmpty(s.getNo2())?s.getNo2():"--");
+ resultMap.put(name+"CO", StringUtils.isNotEmpty(s.getCo())?s.getCo():"--");
+ resultMap.put(name+"O3", StringUtils.isNotEmpty(s.getO3())?s.getO3():"--");
+ resultMap.put(name+"TV", StringUtils.isNotEmpty(s.getVoc())?s.getVoc():"--");
+ resultMap.put(name+"S", StringUtils.isNotEmpty(s.getSu())?s.getSu():"--");
+ }
+ // String bodyName = stringButterStrWeek(listAll);
+ /*HashMap<String, Integer> datas = new HashMap<>(3);
+ datas.put("������",10);
+ datas.put("������",20);
+ datas.put("������",40);
+ ImageEntity imageEntity = pieChart("������",datas, 500, 300);*/
+ // resultMap.put("������������",imageEntity);
+ resultMap.putAll(month(listDay,days+1));
+ return resultMap;
+ }
+
+ private Map<String,Object> month(List<SysTest> listDay, int days){
+ Map<String,Object> map = new HashMap<>();
+ map.put("���������",0);
+ map.put("���������",0);
+ map.put("������",0);
+ map.put("������",0);
+ map.put("������",0);
+ map.put("������",0);
+ map.put("������",0);
+ map.put("������",0);
+ map.put("������",0);
+ map.put("������",0);
+ map.put("������",0);
+ map.put("������",0);
+ map.put("������",0);
+ map.put("������",0);
+ map.put("������",0);
+ map.put("������",0);
+ map.put("������",0);
+ map.put("������",0);
+ map.put("������",0);
+ map.put("������",0);
+
+ Map<String,Integer> map1 = new HashMap<>();
+ Map<String,Integer> map11 = new HashMap<>();
+ Map<String,Integer> map111 = new HashMap<>();
+ Map<String,Integer> map2 = new HashMap<>();
+ Map<String,Integer> map22 = new HashMap<>();
+ Map<String,Integer> map222 = new HashMap<>();
+ List<Integer> list1 = Arrays.asList(0,0);
+ List<Integer> list2 = Arrays.asList(0,0);
+ List<Integer> list3 = Arrays.asList(0,0);
+ String name = "���";
+ String levelName = "���";
+ for(SysTest s : listDay){
+ if(s.getName().contains("���")){
+ name = "���";
+ }else if(s.getName().contains("���")){
+ name = "���";
+ }else {
+ name = "���";
+ }
+ if(Double.parseDouble(s.getAqi()) <= 50){
+ levelName = "���";
+ }else if(Double.parseDouble(s.getAqi()) <= 100){
+ levelName = "���";
+ }else if(Double.parseDouble(s.getAqi()) <= 150){
+ levelName = "���";
+ }else if(Double.parseDouble(s.getAqi()) <= 200){
+ levelName = "���";
+ }else if(Double.parseDouble(s.getAqi()) <= 300){
+ levelName = "���";
+ }else {
+ levelName = "���";
+ }
+
+ if(StringUtils.isNotEmpty(s.getSu()) && s.getName().contains("���")){
+ s.setSu(s.getSu().equals("-")?"���":s.getSu());
+ if(map1.containsKey(s.getSu())){
+ map1.put(s.getSu(),map1.get(s.getSu())+1);
+ }else {
+ map1.put(s.getSu(),1);
+ }
+ }
+ if(StringUtils.isNotEmpty(s.getSu())&& s.getName().contains("���")){
+ s.setSu(s.getSu().equals("-")?"���":s.getSu());
+ if(map11.containsKey(s.getSu())){
+ map11.put(s.getSu(),map11.get(s.getSu())+1);
+ }else {
+ map11.put(s.getSu(),1);
+ }
+ }
+ if(StringUtils.isNotEmpty(s.getSu())&&s.getName().contains("���")){
+ s.setSu(s.getSu().equals("-")?"���":s.getSu());
+ if(map111.containsKey(s.getSu())){
+ map111.put(s.getSu(),map111.get(s.getSu())+1);
+ }else {
+ map111.put(s.getSu(),1);
+ }
+ }
+ if(Double.parseDouble(s.getAqi()) <= 100){
+ if(map.containsKey(name+"������")){
+ map.put(name+"������",Integer.parseInt(map.get(name+"������").toString())+1);
+ }else {
+ map.put(name+"������",1);
+ }
+ }else {
+ if(map.containsKey(name+"������")){
+ map.put(name+"������",Integer.parseInt(map.get(name+"������").toString())+1);
+ }else {
+ map.put(name+"������",1);
+ }
+ if(StringUtils.isNotEmpty(s.getSu())&& s.getName().contains("���") && s.getSu().contains("PM2.5")){
+ list1.set(0,list1.get(0)+1);
+ }else if(StringUtils.isNotEmpty(s.getSu())&& s.getName().contains("���") && s.getSu().contains("O3")){
+ list1.set(1,list1.get(1)+1);
+ }
+ if(StringUtils.isNotEmpty(s.getSu())&& s.getName().contains("���") && s.getSu().contains("PM2.5")){
+ list2.set(0,list2.get(0)+1);
+ }else if(StringUtils.isNotEmpty(s.getSu())&& s.getName().contains("���") && s.getSu().contains("O3")){
+ list2.set(1,list2.get(1)+1);
+ }
+ if(StringUtils.isNotEmpty(s.getSu())&& s.getName().contains("���") && s.getSu().contains("PM2.5")){
+ list3.set(0,list3.get(0)+1);
+ }else if(StringUtils.isNotEmpty(s.getSu())&& s.getName().contains("���") && s.getSu().contains("O3")){
+ list3.set(1,list3.get(1)+1);
+ }
+ }
+ if(map.containsKey(name+levelName)){
+ map.put(name+levelName,Integer.parseInt(map.get(name+levelName).toString())+1);
+ }else {
+ map.put(name+levelName,1);
+ }
+ String level = levelName;
+ if(level.equals("���")){
+ level = "������������";
+ }else if(level.equals("���")){
+ level = "������������";
+ }else if(level.equals("���")){
+ level = "������������";
+ }else if(level.equals("���")){
+ level = "������������";
+ }
+ if(s.getName().contains("���")){
+ if(map2.containsKey(levelName)){
+ map2.put(levelName,map2.get(levelName)+1);
+ }else {
+ map2.put(levelName,1);
+ }
+ }else if(s.getName().contains("���")){
+ if(map22.containsKey(levelName)){
+ map22.put(levelName,map22.get(levelName)+1);
+ }else {
+ map22.put(levelName,1);
+ }
+ }else if(s.getName().contains("���")){
+ if(map222.containsKey(levelName)){
+ map222.put(levelName,map222.get(levelName)+1);
+ }else {
+ map222.put(levelName,1);
+ }
+ }
+
+ }
+
+ BigDecimal zb1 = BigDecimal.valueOf(Integer.parseInt(map.get("���������").toString())*100).divide(BigDecimal.valueOf(days),2,BigDecimal.ROUND_HALF_UP);
+ map.put("���������������",zb1.toString()+"%");
+ BigDecimal zb2 = BigDecimal.valueOf(Integer.parseInt(map.get("���������").toString())*100).divide(BigDecimal.valueOf(days),2,BigDecimal.ROUND_HALF_UP);
+ map.put("���������������",zb2.toString()+"%");
+ BigDecimal zb3 = BigDecimal.valueOf(Integer.parseInt(map.get("���������").toString())*100).divide(BigDecimal.valueOf(days),2,BigDecimal.ROUND_HALF_UP);
+ map.put("���������������",zb3.toString()+"%");
+ ImageEntity imageEntity2 = pieChart("���������������������������������",map2, 500, 300);
+ map.put("���������������",imageEntity2);
+ ImageEntity imageEntity22 = pieChart("���������������������������������",map22, 500, 300);
+ map.put("���������������",imageEntity22);
+ ImageEntity imageEntity222 = pieChart("���������������������������������",map222, 500, 300);
+ map.put("���������������",imageEntity222);
+ ImageEntity imageEntity1 = pieChart("������������������������������",map1, 500, 300);
+ map.put("���������������",imageEntity1);
+ ImageEntity imageEntity11 = pieChart("������������������������������",map11, 500, 300);
+ map.put("���������������",imageEntity11);
+ ImageEntity imageEntity111 = pieChart("������������������������������",map111, 500, 300);
+ map.put("���������������",imageEntity111);
+ StringBuffer buffer = new StringBuffer();
+ if(!list1.get(0).equals(0)){
+ BigDecimal num = BigDecimal.valueOf(list1.get(0)*100).divide(BigDecimal.valueOf(Integer.parseInt(map.get("���������").toString())),2,BigDecimal.ROUND_HALF_UP);
+ buffer.append("PM2.5���������"+num+"%������");
+ }
+ if(!list1.get(1).equals(0)){
+ BigDecimal num = BigDecimal.valueOf(list1.get(1)*100).divide(BigDecimal.valueOf(Integer.parseInt(map.get("���������").toString())),2,BigDecimal.ROUND_HALF_UP);
+ buffer.append("O3���������"+num+"%������");
+ }
+
+ map.put("���������������",buffer.toString().length()>0?"������������������"+buffer.toString():new StringBuffer());
+ StringBuffer buffer1 = new StringBuffer();
+ if(!list2.get(0) .equals(0)){
+ BigDecimal num = BigDecimal.valueOf(list2.get(0)*100).divide(BigDecimal.valueOf(Integer.parseInt(map.get("���������").toString())),2,BigDecimal.ROUND_HALF_UP);
+ buffer1.append("PM2.5���������"+num+"%������");
+ }
+ if(!list2.get(1) .equals(0)){
+ BigDecimal num = BigDecimal.valueOf(list2.get(1)*100).divide(BigDecimal.valueOf(Integer.parseInt(map.get("���������").toString())),2,BigDecimal.ROUND_HALF_UP);
+ buffer1.append("O3���������"+num+"%������");
+ }
+ map.put("���������������",buffer1.toString().length()>0?"������������������"+buffer1.toString():new StringBuffer());
+ StringBuffer buffer2 = new StringBuffer();
+ if(!list3.get(0) .equals(0)){
+ BigDecimal num = BigDecimal.valueOf(list3.get(0)*100).divide(BigDecimal.valueOf(Integer.parseInt(map.get("���������").toString())),2,BigDecimal.ROUND_HALF_UP);
+ buffer2.append("PM2.5���������"+num+"%������");
+ }
+ if(!list3.get(1).equals(0)){
+ BigDecimal num = BigDecimal.valueOf(list3.get(1)*100).divide(BigDecimal.valueOf(Integer.parseInt(map.get("���������").toString())),2,BigDecimal.ROUND_HALF_UP);
+ buffer2.append("O3���������"+num+"%������");
+ }
+ map.put("���������������",buffer2.toString().length()>0?"������������������"+buffer2.toString():new StringBuffer());
+ return map;
+ }
+
private String stringButterStr(List<SysTest> listAll){
// 0 ������1 ������ 2���������3���������
@@ -568,15 +806,23 @@
ksDate = DateUtils.addMonths(ksDate,1);
}*/
+ String ks = "2023-06-22";
+ for(int i =1;i<46;i++){
+ Date ksDate = DateUtils.convertDate(ks);
+ System.out.println("���������"+DateUtils.dateToDateString(ksDate,DateUtils.yyyy_MM_dd_EN));
- String ks = "2020-06-22";
+ ks = DateUtils.dateToDateString(DateUtils.addDays(ksDate,1),DateUtils.yyyy_MM_dd_EN);
+ System.out.println("���������"+ks);
+ }
+
+ /*String ks = "2020-06-22";
Date ksDate = DateUtils.convertDate(ks);
for(int i = 0;i<157;i++){
Date jsDate = DateUtils.addDays(ksDate,6);
System.out.println("���������"+DateUtils.dateToDateString(ksDate,DateUtils.yyyy_MM_dd_EN));
System.out.println("���������"+DateUtils.dateToDateString(jsDate,DateUtils.yyyy_MM_dd_EN));
ksDate = DateUtils.addDays(ksDate,7);
- }
+ }*/
}
--
Gitblit v1.8.0