From 73a9ce282d4c4368394161f5f39a8c5fa36beb7d Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Wed, 30 Aug 2023 16:13:04 +0800 Subject: [PATCH] chore:测试提交 --- screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java | 86 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 86 insertions(+), 0 deletions(-) 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 ecff651..ec8164a 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 @@ -8,6 +8,8 @@ import org.springframework.util.ObjectUtils; import org.springframework.web.multipart.MultipartFile; +import java.io.Serializable; +import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -20,6 +22,8 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.Objects; +import java.util.Set; import java.util.UUID; import java.util.stream.Collectors; @@ -29,13 +33,17 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.moral.api.entity.Dustld; +import com.moral.api.entity.ManageCoordinate; import com.moral.api.mapper.DustldMapper; import com.moral.api.mapper.HistorySecondCruiserMapper; +import com.moral.api.mapper.ManageCoordinateMapper; +import com.moral.api.pojo.dto.historySecondCruiser.DustldDTO; import com.moral.api.pojo.dust.DustForm; import com.moral.api.pojo.dust.TimeForm; import com.moral.api.service.DustldService; import com.moral.util.DateUtils; import com.moral.util.FileUtils; +import com.moral.util.TokenUtils; @Service @Slf4j @@ -259,6 +267,84 @@ return map; } + @Autowired + private ManageCoordinateMapper manageCoordinateMapper; + + @Override + public Map<String, Object> dailyDustlds(List<MultipartFile> file,Map<String, Object> params) { + 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 substring1 = time1.substring(5, 14); + String time2 = params.get("time2").toString(); + String substring2 = time2.substring(5, 14); + HashMap<String, Object> rsMap = new HashMap<>(); + List<Map<String, Object>> dusts = historySecondCruiserMapper.getDusts(params); + 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; + for (String string : strings) { + DustForm dustForm = new DustForm(); + ArrayList<Double> doubleArrayList = new ArrayList<>(); + List<DustldDTO> dustldDTOS = collect.get(string); + for (DustldDTO dustldDTO : dustldDTOS) { + String flyLat = dustldDTO.getFlyLat(); + String flyLon = dustldDTO.getFlyLon(); + for (Map<String, Object> dust : dusts) { + String flyLat1 = Objects.nonNull(dust.get("flyLat")) ? dust.get("flyLat").toString() :"0"; + String flyLon1 = Objects.nonNull(dust.get("flyLon")) ? dust.get("flyLon").toString() :"0"; +// String flyLon1 = dust.get("flyLon").toString(); + if (flyLat1.equals(flyLat) && flyLon1.equals(flyLon)){ + Double dustld = Objects.nonNull(dust.get("dustld"))?Double.parseDouble(dust.get("dustld").toString()):0d; + + if (dustld>=0 && dustld<40 ){ + dustld = dustld + 170; + } + if (dustld>=40 && dustld<60 ){ + dustld = dustld + 130; + } + if (dustld>=60 && dustld<100 ){ + dustld = dustld + 110; + } + if (dustld>=100 && dustld<150 ){ + dustld = dustld + 70; + } + if (dustld>=150 && dustld<180 ){ + dustld = dustld + 30; + } + doubleArrayList.add(dustld); + break; + } + } + } + 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); + + list1.add(dustForm); + }else { + list2.add(dustForm); + } + } + //������ + list1.sort(Comparator.comparing(DustForm::getValue).reversed()); + list2.sort(Comparator.comparing(DustForm::getValue).reversed()); + rsMap.put("list1",list1); + rsMap.put("list2",list2); + rsMap.put("data",builder); + rsMap.put("list3",""); + rsMap.put("time",substring1+"-"+substring2); + return rsMap; + } + /** * ��������������������� * @param id -- Gitblit v1.8.0