From cc2e35bac3aca6d98b337a0b306c279f036ce989 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Fri, 15 Sep 2023 11:26:14 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/wb' into qa --- screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java | 22 ++----- screen-api/src/main/java/com/moral/api/controller/CruiserController.java | 100 +++++++++++++++++++-------------- screen-api/src/main/java/com/moral/api/service/impl/UAVServiceImpl.java | 4 + screen-api/src/main/resources/mapper/HistorySecondCruiserMapper.xml | 4 screen-api/src/main/resources/word/尘负荷监测报告.docx | 0 5 files changed, 70 insertions(+), 60 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/controller/CruiserController.java b/screen-api/src/main/java/com/moral/api/controller/CruiserController.java index 40b248a..1ae8f5f 100644 --- a/screen-api/src/main/java/com/moral/api/controller/CruiserController.java +++ b/screen-api/src/main/java/com/moral/api/controller/CruiserController.java @@ -6,7 +6,6 @@ import com.deepoove.poi.data.TextRenderData; import com.moral.api.pojo.dto.historySecondCruiser.HistorySecondCruiserResultDTO; -import cn.afterturn.easypoi.exception.word.WordExportException; import cn.afterturn.easypoi.word.WordExportUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -20,6 +19,7 @@ import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; @@ -32,12 +32,13 @@ import java.net.URLEncoder; import java.text.ParseException; import java.util.ArrayList; -import java.util.Arrays; + import java.util.HashMap; + import java.util.List; import java.util.Map; -import javax.servlet.ServletOutputStream; + import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -242,17 +243,20 @@ * @return */ @PostMapping("dailyDustlds") - public ResultMessage dailyDustlds(HttpServletRequest request) throws IOException { -// List<MultipartFile> files = ((MultipartHttpServletRequest) request).getFiles("files"); - Map<String, Object> params = WebUtils.getParametersStartingWith(request, null); + public ResultMessage dailyDustlds(@RequestBody Map<String,Object> params, HttpServletResponse response) throws IOException { +// Map<String, Object> params = WebUtils.getParametersStartingWith(request, null); + if (!params.containsKey("mac") || !params.containsKey("startTime") || !params.containsKey("endTime")){ + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + } Map<String, Object> map = dustldService.dailyDustlds(null,params); - test(map); + test(map,response); if (ObjectUtils.isEmpty(map)){ return ResultMessage.fail(ResponseCodeEnum.TARGET_IS_NULL.getCode(), ResponseCodeEnum.TARGET_IS_NULL.getMsg()); } - return new ResultMessage(ResponseCodeEnum.SUCCESS.getCode(),ResponseCodeEnum.SUCCESS.getMsg(),map); +// return new ResultMessage(ResponseCodeEnum.SUCCESS.getCode(),ResponseCodeEnum.SUCCESS.getMsg(),map); + return ResultMessage.ok(); } @@ -315,46 +319,58 @@ } - public void test( Map<String, Object> params) throws IOException { + public void test( Map<String, Object> params,HttpServletResponse response) throws IOException { // String path="D:\\���������������������.docx"; String path = getPath("���������������������.docx"); - //��������������������������� - File rootFile = new File(ResourceUtils.getURL("classpath:").getPath()); - File file= new File(rootFile, path); - //������������������������ - XWPFTemplate compile = XWPFTemplate.compile(file.getPath()); - //������������������������������������������������������{{}}������������������������,map������������key������������������������������������������ - HashMap<String, Object> map = new HashMap<>(); - //������������������������ - RowRenderData header1 = RowRenderData.build(new TextRenderData("6495ED", "������"), new TextRenderData("6495ED", "������"),new TextRenderData("6495ED", "���������������������/������������")); - RowRenderData header2 = RowRenderData.build(new TextRenderData("6495ED", "������"), new TextRenderData("6495ED", "������"),new TextRenderData("6495ED", "���������������������/������������")); + try { + //��������������������������� + File rootFile = new File(ResourceUtils.getURL("classpath:").getPath()); + File file= new File(rootFile, path); + //������������������������ + XWPFTemplate compile = XWPFTemplate.compile(file.getPath()); + //������������������������������������������������������{{}}������������������������,map������������key������������������������������������������ + HashMap<String, Object> map = new HashMap<>(); + //������������������������ + RowRenderData header1 = RowRenderData.build(new TextRenderData("6495ED", "������"), new TextRenderData("6495ED", "������"),new TextRenderData("6495ED", "���������������������/������������")); - //���������������������������������������������������������list������������������������������foreach������������������ - List<DustForm> list1 = (List<DustForm>) params.get("list1"); - List<DustForm> list2 = (List<DustForm>) params.get("list2"); - ArrayList<RowRenderData> rsList1 = new ArrayList<>(); - ArrayList<RowRenderData> rsList2 = new ArrayList<>(); + //���������������������������������������������������������list������������������������������foreach������������������ + List<DustForm> list1 = (List<DustForm>) params.get("list1"); - for (int i = 0; i < list1.size(); i++) { - DustForm dustForm = list1.get(i); - RowRenderData row0 = RowRenderData.build(i+1+"",dustForm.getRoad(), dustForm.getValue()+""); - rsList1.add(row0); - } - for (int i = 0; i < list2.size(); i++) { - DustForm dustForm = list2.get(i); - RowRenderData row0 = RowRenderData.build(i+1+"",dustForm.getRoad(), dustForm.getValue()+""); - rsList2.add(row0); + ArrayList<Map<String, Object>> mapArrayList = (ArrayList<Map<String, Object>>) params.get("list3"); + ArrayList<RowRenderData> rsList1 = new ArrayList<>(); + ArrayList<RowRenderData> rsList3 = new ArrayList<>(); + + for (int i = 0; i < list1.size(); i++) { + DustForm dustForm = list1.get(i); + RowRenderData row0 = RowRenderData.build(i+1+"",dustForm.getRoad(), dustForm.getValue()+""); + rsList1.add(row0); + } + + for (int i = 0; i < mapArrayList.size(); i++) { + Map<String, Object> map1 = mapArrayList.get(i); + RowRenderData row = RowRenderData.build(i + 1 + "", map1.get("road").toString(), map1.get("value1").toString(), map1.get("value2").toString(), map1.get("value3").toString()); + rsList3.add(row); + } + + map.put("table1", new MiniTableRenderData(header1, rsList1)); + map.put("table3", new MiniTableRenderData(rsList3)); + map.put("data",params.get("data").toString()); + map.put("time",params.get("time").toString()); + map.put("date1",params.get("date1").toString()); + map.put("date2",params.get("date2").toString()); + + + compile.render(map); + +// compile.writeToFile("G:\\home\\mon1\\" + "���������������������"+params.get("time").toString()+".docx"); + +// FileOutputStream out = new FileOutputStream("���������������������" + params.get("time").toString() + ".docx"); + compile.write(response.getOutputStream()); + compile.close(); + } catch (IOException e) { + log.error ("������������������������������������������", e); } - map.put("table1", new MiniTableRenderData(header1, rsList1)); - map.put("table2", new MiniTableRenderData(header2, rsList2)); - map.put("data",params.get("data").toString()); - map.put("time",params.get("time").toString()); - - compile.render(map); -// compile.write(new FileOutptStream("���������������������"+paramsu.get("time").toString()+".docx")); - compile.writeToFile("G:\\home\\mon1\\" + "���������������������"+params.get("time").toString()+".docx"); - compile.close(); } diff --git a/screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java index ef50870..dd304f4 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java @@ -282,10 +282,10 @@ Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfo(); Map<String, Object> orgInfo = (Map<String, Object>) userInfo.get("organization"); Integer orgId = (Integer) orgInfo.get("id"); - String time1 = params.get("time1").toString(); + String time1 = params.get("startTime").toString(); String dateString1 = DateUtils.stringToDateString(time1, DateUtils.yyyy_MM_dd_HH_mm_ss_EN, DateUtils.yyyy_MM_dd_HH_mm_CN); String rsTime1 = dateString1.substring(5, 14); - String time2 = params.get("time2").toString(); + String time2 = params.get("endTime").toString(); String dateString2 = DateUtils.stringToDateString(time2, DateUtils.yyyy_MM_dd_HH_mm_ss_EN, DateUtils.yyyy_MM_dd_HH_mm_CN); String rsTime2 = dateString2.substring(5, 14); HashMap<String, Object> rsMap = new HashMap<>(); @@ -293,7 +293,7 @@ Map<String, List<DustldDTO>> collect = manageCoordinateMapper.CompareTo(orgId).stream().collect(Collectors.groupingBy(o -> o.getName())); Set<String> strings = collect.keySet(); ArrayList<DustForm> list1 = new ArrayList<>(); - ArrayList<DustForm> list2 = new ArrayList<>(); + //��������������������� StringBuilder builder = new StringBuilder(); int i = 1; @@ -338,15 +338,14 @@ if (ObjectUtils.isEmpty(doubleArrayList)){ continue; } - Double ListAva = doubleArrayList.stream() .collect(Collectors.averagingDouble(Double::doubleValue)); double rsAvg = new BigDecimal(ListAva/1000).setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue(); dustForm.setRoad(string); dustForm.setValue(rsAvg); + list1.add(dustForm); if (rsAvg>=0.3){ builder.append("("+i+")"+string); i++; - list1.add(dustForm); //������������������ QueryWrapper<MaxRoad> wrapper = new QueryWrapper<>(); wrapper.eq("name",string); @@ -359,18 +358,14 @@ maxRoad.setTime(DateUtils.getDate(time1,DateUtils.yyyy_MM_dd_EN)); maxRoadMapper.insert(maxRoad); } - - }else { - list2.add(dustForm); } } long timestamp2 = System.currentTimeMillis(); log.info(timestamp2-timestamp+""); //������ list1.sort(Comparator.comparing(DustForm::getValue).reversed()); - list2.sort(Comparator.comparing(DustForm::getValue).reversed()); rsMap.put("list1",list1); - rsMap.put("list2",list2); + //������������������������������ ArrayList<Map<String, Object>> list3 = new ArrayList<>(); @@ -384,12 +379,9 @@ wrapper2.eq("time",maxRoads.get(0).getTime()); List<MaxRoad> maxRoads1 = maxRoadMapper.selectList(wrapper2); - //������������ - ArrayList<DustForm> dustForms = new ArrayList<>(); - dustForms.addAll(list1); - dustForms.addAll(list2); + //������������������������������ for (MaxRoad road : maxRoads1) { - for (DustForm dustForm : dustForms) { + for (DustForm dustForm : list1) { if (road.getName().equals(dustForm.getRoad())){ HashMap<String, Object> map = new HashMap<>(); map.put("road",road.getName()); diff --git a/screen-api/src/main/java/com/moral/api/service/impl/UAVServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/UAVServiceImpl.java index 97054b4..b45f922 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/UAVServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/UAVServiceImpl.java @@ -49,7 +49,9 @@ UAVGetBD uavGetBD = new UAVGetBD(); String value = historySecondUav.getValue(); JSONObject jsonObject = JSONObject.parseObject(value); - + if (!jsonObject.containsKey("flyhig")|| !jsonObject.containsKey("flylat")){ + continue; + } String flylon = jsonObject.get("flylon").toString(); String flylat = jsonObject.get("flylat").toString(); //WGS84 ��� ������������ diff --git a/screen-api/src/main/resources/mapper/HistorySecondCruiserMapper.xml b/screen-api/src/main/resources/mapper/HistorySecondCruiserMapper.xml index 3a96058..f69bdb2 100644 --- a/screen-api/src/main/resources/mapper/HistorySecondCruiserMapper.xml +++ b/screen-api/src/main/resources/mapper/HistorySecondCruiserMapper.xml @@ -75,7 +75,7 @@ `time` FROM `history_second_cruiser` WHERE mac = #{mac} - AND `time` <![CDATA[>=]]> #{time1} - AND `time` <![CDATA[<=]]> #{time2} + AND `time` <![CDATA[>=]]> #{startTime} + AND `time` <![CDATA[<=]]> #{endTime} </select> </mapper> \ No newline at end of file diff --git "a/screen-api/src/main/resources/word/\345\260\230\350\264\237\350\215\267\347\233\221\346\265\213\346\212\245\345\221\212.docx" "b/screen-api/src/main/resources/word/\345\260\230\350\264\237\350\215\267\347\233\221\346\265\213\346\212\245\345\221\212.docx" new file mode 100644 index 0000000..282bede --- /dev/null +++ "b/screen-api/src/main/resources/word/\345\260\230\350\264\237\350\215\267\347\233\221\346\265\213\346\212\245\345\221\212.docx" Binary files differ -- Gitblit v1.8.0