Merge remote-tracking branch 'origin/wb' into qa
| | |
| | | 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; |
| | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import javax.servlet.ServletOutputStream; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | |
| | | 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(); |
| | | } |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.boot.system.ApplicationHome; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.ObjectUtils; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | |
| | | private MaxRoadMapper maxRoadMapper; |
| | | |
| | | @Override |
| | | @Transactional |
| | | public Map<String, Object> dailyDustlds(List<MultipartFile> file,Map<String, Object> params) { |
| | | |
| | | Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfo(); |
| | |
| | | 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); |
| | | if (rsAvg>=0.3){ |
| | | builder.append("("+i+")"+string); |
| | | i++; |
| | | list1.add(dustForm); |
| | | //添加高值路段 |
| | | QueryWrapper<MaxRoad> wrapper = new QueryWrapper<>(); |
| | |
| | | wrapper.lt("time",DateUtils.getDate(time1,DateUtils.yyyy_MM_dd_EN)); |
| | | wrapper.orderByDesc("time"); |
| | | |
| | | MaxRoad maxRoad = maxRoadMapper.selectOne(wrapper); |
| | | String dateString3 = DateUtils.dateToDateString(maxRoad.getTime(), DateUtils.yyyy_MM_dd_CN); |
| | | List<MaxRoad> maxRoads = maxRoadMapper.selectList(wrapper); |
| | | String dateString3 = DateUtils.dateToDateString(maxRoads.get(0).getTime(), DateUtils.yyyy_MM_dd_CN); |
| | | QueryWrapper<MaxRoad> wrapper2 = new QueryWrapper<>(); |
| | | wrapper2.eq("time",maxRoad.getTime()); |
| | | List<MaxRoad> maxRoads = maxRoadMapper.selectList(wrapper2); |
| | | 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 : maxRoads) { |
| | | for (MaxRoad road : maxRoads1) { |
| | | for (DustForm dustForm : dustForms) { |
| | | if (road.getName().equals(dustForm.getRoad())){ |
| | | HashMap<String, Object> map = new HashMap<>(); |
| | |
| | | public interface HistoryAqiService extends IService<HistoryAqi> { |
| | | |
| | | //aqi数据按国控站接入 |
| | | void insertHistoryAqi(); |
| | | void insertHistoryAqi(String time1); |
| | | |
| | | HistoryAqi getHistoryApiByTimeAndGuid(String guid,String time); |
| | | |
| | |
| | | //国控站aqi数据来自阿里云市场,大中华地区空气质量API--单站点接口 |
| | | @Override |
| | | @Transactional |
| | | public void insertHistoryAqi() { |
| | | public void insertHistoryAqi(String dateTime) { |
| | | //设置请求头 |
| | | HttpHeaders headers = new HttpHeaders(); |
| | | headers.set("Authorization", "APPCODE 31b6ea8f804a4472be3b633cfee44849"); |
| | |
| | | QueryWrapper<GovMonitorPoint> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.select("guid").eq("is_delete", Constants.NOT_DELETE); |
| | | //获取所有国控,省控,县控站点 |
| | | String time1 = "2023-08-27 17:50:00"; |
| | | String time1 = StringUtils.isNotEmpty(dateTime)?dateTime:DateUtils.dateToDateString(new Date(),DateUtils.yyyy_MM_dd_EN); |
| | | |
| | | List<GovMonitorPoint> govMonitorPoints = govMonitorPointService.list(queryWrapper); |
| | | Date time = DateUtils.dataToTimeStampTime(DateUtils.convertDate(time1), DateUtils.yyyy_MM_dd_HH_EN); |
| | | String timeStr = DateUtils.dateToDateString(time, DateUtils.yyyy_MM_dd_HH_mm_ss_EN); |
| | | // String timeStr = DateUtils.dateToDateString(DateUtils.addHours(time, -1), DateUtils.yyyy_MM_dd_HH_mm_ss_EN); |
| | | |
| | | //String timeStr = DateUtils.dateToDateString(time, DateUtils.yyyy_MM_dd_HH_mm_ss_EN); |
| | | String timeStr = DateUtils.dateToDateString(DateUtils.addHours(time, -1), DateUtils.yyyy_MM_dd_HH_mm_ss_EN); |
| | | |
| | | List<HistoryAqi> historyAqis = new ArrayList<>(); |
| | | |
| | |
| | | if (!ObjectUtils.isEmpty(o3)) { |
| | | value.put(Constants.SENSOR_CODE_O3, o3); |
| | | } |
| | | |
| | | |
| | | //aqi数据存入redis |
| | | redisTemplate.opsForHash().put(RedisConstants.AQI_DATA, guid, value); |
| | | |
| | | // historyAqiMapper.insert(historyAqi); |
| | | |
| | | |
| | | }else { |
| | | ResponseEntity<String> response; |
| | | try { |
| | |
| | | historyAqi.setTime(DateUtils.addHours(time, -1)); |
| | | //存入数据库 |
| | | historyAqi.setValue(JSONObject.toJSONString(map)); |
| | | |
| | | historyAqis.add(historyAqi); |
| | | |
| | | Map<String, Object> value = new HashMap<>(); |
| | |
| | | if (!ObjectUtils.isEmpty(o3)) { |
| | | value.put(Constants.SENSOR_CODE_O3, o3); |
| | | } |
| | | |
| | | //aqi数据存入redis |
| | | redisTemplate.opsForHash().put(RedisConstants.AQI_DATA, guid, value); |
| | | // historyAqiMapper.insert(historyAqi); |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | XxlJobHelper.log("数据不存在"); |
| | | } |
| | | //存入数据库 |
| | | // historyAqiMapper.insertHistoryAqi(historyAqis); |
| | | historyAqiMapper.insertHistoryAqi(historyAqis); |
| | | } |
| | | |
| | | @Override |
| | |
| | | */ |
| | | @PostMapping("interCruiserRoad") |
| | | public ResultMessage interCruiserRoad(@RequestBody Map<String,Object> params){ |
| | | if (!params.containsKey("startPoint") || !params.containsKey("endPoint")) { |
| | | if (!params.containsKey("startPoint") || !params.containsKey("mac")) { |
| | | return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); |
| | | } |
| | | Integer integer = manageCoordinateService.interCoordinate(params); |
| | |
| | | * @return |
| | | */ |
| | | @GetMapping("selectCruiserRoad") |
| | | public ResultMessage selectCruiser(){ |
| | | List<ManageCoordinate> manageCoordinates = manageCoordinateService.selectCoordinate(); |
| | | if (ObjectUtils.isEmpty(manageCoordinates)){ |
| | | return ResultMessage.fail(ResponseCodeEnum.TARGET_IS_NULL.getCode(), |
| | | ResponseCodeEnum.TARGET_IS_NULL.getMsg()); |
| | | } |
| | | public ResultMessage selectCruiser(String name,String mac){ |
| | | List<ManageCoordinate> manageCoordinates = manageCoordinateService.selectCoordinate(name,mac); |
| | | return ResultMessage.ok(manageCoordinates); |
| | | } |
| | | } |
| | |
| | | void deleteCoordinate(Integer id); |
| | | |
| | | |
| | | List<ManageCoordinate> selectCoordinate(); |
| | | List<ManageCoordinate> selectCoordinate(String name,String mac); |
| | | |
| | | } |
| | |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.ObjectUtils; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | |
| | | */ |
| | | @Override |
| | | public Integer interCoordinate(Map<String, Object> params) { |
| | | // String mac = params.get("mac").toString(); |
| | | String mac ="p5dnd7a0243625"; |
| | | String mac = params.get("mac").toString(); |
| | | QueryWrapper<SpecialDevice> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("mac",mac); |
| | | wrapper.eq("is_delete","0"); |
| | | SpecialDevice specialDevice = specialDeviceMapper.selectOne(wrapper); |
| | | String startPoint = params.get("startPoint").toString(); |
| | | String endPoint = params.get("endPoint").toString(); |
| | | QueryWrapper<ManageCoordinate> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("start_point",startPoint); |
| | | queryWrapper.eq("end_point",endPoint); |
| | | Integer integer = manageCoordinateMapper.selectCount(queryWrapper); |
| | | if (integer>=1){ |
| | | return null; |
| | |
| | | manageCoordinate.setCreateTime(new Date()); |
| | | manageCoordinate.setUpdateTime(new Date()); |
| | | manageCoordinate.setStartPoint(startPoint); |
| | | manageCoordinate.setEndPoint(endPoint); |
| | | manageCoordinate.setIsDel(0); |
| | | manageCoordinate.setOrganizationId(specialDevice.getOrganizationId()); |
| | | int code = manageCoordinateMapper.insert(manageCoordinate); |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<ManageCoordinate> selectCoordinate() { |
| | | public List<ManageCoordinate> selectCoordinate(String name,String mac) { |
| | | |
| | | QueryWrapper<ManageCoordinate> queryWrapper = new QueryWrapper<>(); |
| | | |
| | | if (!ObjectUtils.isEmpty(name)){ |
| | | queryWrapper.like("start_point",name); |
| | | } |
| | | if(!ObjectUtils.isEmpty(mac)){ |
| | | QueryWrapper<SpecialDevice> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("mac",mac); |
| | | wrapper.eq("is_delete","0"); |
| | | SpecialDevice specialDevice = specialDeviceMapper.selectOne(wrapper); |
| | | queryWrapper.eq("organization_id",specialDevice.getOrganizationId()); |
| | | } |
| | | queryWrapper.eq("is_del",0); |
| | | queryWrapper.orderByDesc("coordinate_id"); |
| | | List<ManageCoordinate> manageCoordinates = manageCoordinateMapper.selectList(queryWrapper); |
| | | return manageCoordinates; |
| | | } |