From 0932aa99d471d657456420856e6c7b32fa4797b0 Mon Sep 17 00:00:00 2001 From: cjl <276999030@qq.com> Date: Fri, 04 Aug 2023 11:02:21 +0800 Subject: [PATCH] test:测试提交 --- screen-api/src/main/resources/application-dev.yml | 2 screen-api/src/main/resources/word/空气质量月报.docx | 0 screen-api/src/main/java/com/moral/api/controller/SysTestController.java | 258 +++++++++++++++++++++++++++++++++++++++++++++++++-- screen-api/src/main/resources/application-cjl.yml | 2 4 files changed, 250 insertions(+), 12 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..de0360f 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; @@ -134,9 +135,10 @@ @GetMapping("resultWordMonth") public void resultWordMonth(HttpServletResponse response) { + String ks = "2020-06-01"; Date ksDate = DateUtils.convertDate(ks); - + for(int i = 0;i<37;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 +146,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 +161,7 @@ String path = getPath(fileName);//��������� resources������ try { //������������������ - OutputStream out = new FileOutputStream("E:\\home\\week\\" + newFileName); + OutputStream out = new FileOutputStream("E:\\home\\mon\\" + newFileName); File rootFile = new File(ResourceUtils.getURL("classpath:").getPath()); File file= new File(rootFile, path); XWPFDocument word = WordExportUtil.exportWord07(file.getPath(), params); @@ -276,6 +280,236 @@ resultMap.put("������������",imageEntity); 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��������� @@ -559,24 +793,24 @@ } public static void main(String[] args) { - /*String ks = "2020-06-01"; + String ks = "2020-06-01"; Date ksDate = DateUtils.convertDate(ks); for(int i = 0;i<37;i++){ Date jsDate = DateUtils.getLastDayOfCurrMonth(ksDate); System.out.println("���������"+DateUtils.dateToDateString(ksDate,DateUtils.yyyy_MM_dd_EN)); System.out.println("���������"+DateUtils.dateToDateString(jsDate,DateUtils.yyyy_MM_dd_EN)); ksDate = DateUtils.addMonths(ksDate,1); - }*/ + } - String ks = "2020-06-22"; + /*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); - } + }*/ } diff --git a/screen-api/src/main/resources/application-cjl.yml b/screen-api/src/main/resources/application-cjl.yml index 0eb8c80..3f6305d 100644 --- a/screen-api/src/main/resources/application-cjl.yml +++ b/screen-api/src/main/resources/application-cjl.yml @@ -16,6 +16,8 @@ include: bulletin, specialCity, announcement application: name: screen-api + main: + allow-bean-definition-overriding: true redis: host: r-bp1xdlb9wfc6zt0msppd13.redis.rds.aliyuncs.com port: 6379 diff --git a/screen-api/src/main/resources/application-dev.yml b/screen-api/src/main/resources/application-dev.yml index 8619aca..e8df1b7 100644 --- a/screen-api/src/main/resources/application-dev.yml +++ b/screen-api/src/main/resources/application-dev.yml @@ -16,6 +16,8 @@ include: bulletin, specialCity, announcement application: name: screen-api + main: + allow-bean-definition-overriding: true redis: host: r-bp1xdlb9wfc6zt0msp05.redis.rds.aliyuncs.com port: 6379 diff --git "a/screen-api/src/main/resources/word/\347\251\272\346\260\224\350\264\250\351\207\217\346\234\210\346\212\245.docx" "b/screen-api/src/main/resources/word/\347\251\272\346\260\224\350\264\250\351\207\217\346\234\210\346\212\245.docx" new file mode 100644 index 0000000..1be882d --- /dev/null +++ "b/screen-api/src/main/resources/word/\347\251\272\346\260\224\350\264\250\351\207\217\346\234\210\346\212\245.docx" Binary files differ -- Gitblit v1.8.0