| | |
| | | package com.moral.api.service.impl; |
| | | |
| | | |
| | | import com.moral.api.config.Interceptor.UserHelper; |
| | | import com.moral.api.entity.SysDictData; |
| | | import com.moral.api.exception.BusinessException; |
| | | import com.moral.api.mapper.*; |
| | | import com.moral.api.pojo.enums.SysDictTypeEnum; |
| | | import com.moral.api.pojo.vo.user.QxUser; |
| | | import com.moral.api.service.SysDictTypeService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.collections4.CollectionUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | import java.text.DecimalFormat; |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.Collections; |
| | | import java.util.Comparator; |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.Iterator; |
| | | 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.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | |
| | | */ |
| | | @Override |
| | | public Integer getDailyDustld(Map<String, Object> params,MultipartFile file ) { |
| | | |
| | | SysDictData listDict = sysDictTypeService.listOne(SysDictTypeEnum.SYS_SECOND_CRUISER.getValue(),"dustld"); |
| | | //获取jar包所在目录 |
| | | ApplicationHome applicationHome = new ApplicationHome(getClass()); |
| | | //在jar包所在目录下生成一个upload文件夹用来存储上传的图片 |
| | |
| | | ArrayList<Double> rsDouble = new ArrayList<>(); |
| | | for (String s : dust) { |
| | | double aDouble = Double.parseDouble(s); |
| | | |
| | | if (aDouble>=0 && aDouble<40 ){ |
| | | if(listDict.getDataValue().contains(",")){ |
| | | List<String> resultStr = Arrays.asList(listDict.getDataValue().split(",")); |
| | | if(resultStr.size() % 2 ==0){ |
| | | aDouble = numAvg(resultStr,BigDecimal.valueOf(aDouble)).doubleValue(); |
| | | } |
| | | }else { |
| | | BigDecimal dataValue = Objects.nonNull(listDict.getDataValue())?BigDecimal.valueOf(Double.parseDouble(listDict.getDataValue())):BigDecimal.ZERO; |
| | | aDouble = BigDecimal.valueOf(aDouble).add(dataValue).doubleValue(); |
| | | } |
| | | /*if (aDouble>=0 && aDouble<40 ){ |
| | | aDouble = aDouble + 170; |
| | | }else if (aDouble>=40 && aDouble<60){ |
| | | aDouble = aDouble + 130; |
| | |
| | | aDouble = aDouble + 30; |
| | | }else { |
| | | aDouble= aDouble+0; |
| | | } |
| | | }*/ |
| | | rsDouble.add(aDouble); |
| | | } |
| | | list.addAll(rsDouble); |
| | |
| | | private MaxRoadMapper maxRoadMapper; |
| | | @Autowired |
| | | private OrganizationMapper organizationMapper; |
| | | @Autowired |
| | | private SysDictTypeService sysDictTypeService; |
| | | |
| | | @Override |
| | | @Transactional |
| | | public Map<String, Object> dailyDustlds(Map<String, Object> params) { |
| | | |
| | | SysDictData list = sysDictTypeService.listOne(SysDictTypeEnum.SYS_SECOND_CRUISER.getValue(),"dustld"); |
| | | 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 flyLon1 = dust.get("flyLon").toString(); |
| | | if (latDouble1==latDouble && lonDouble1==lonDouble){ |
| | | Double dustld = Objects.nonNull(dust.get("dustld"))?Double.parseDouble(dust.get("dustld").toString()):0d; |
| | | |
| | | if (dustld>=0 && dustld<40 ){ |
| | | dustld = dustld + 170; |
| | | }else if (dustld>=40 && dustld<60){ |
| | | dustld = dustld + 130; |
| | | }else if (dustld>=60 && dustld<100 ){ |
| | | dustld = dustld + 110; |
| | | }else if (dustld>=100 && dustld<150){ |
| | | dustld = dustld + 70; |
| | | }else if (dustld>=150 && dustld<180){ |
| | | dustld = dustld + 30; |
| | | if(list.getDataValue().contains(",")){ |
| | | List<String> resultStr = Arrays.asList(list.getDataValue().split(",")); |
| | | if(resultStr.size() % 2 ==0){ |
| | | dustld = numAvg(resultStr,BigDecimal.valueOf(dustld)).doubleValue(); |
| | | } |
| | | }else { |
| | | BigDecimal dataValue = Objects.nonNull(list.getDataValue())?BigDecimal.valueOf(Double.parseDouble(list.getDataValue())):BigDecimal.ZERO; |
| | | dustld = BigDecimal.valueOf(dustld).add(dataValue).doubleValue(); |
| | | } |
| | | doubleArrayList.add(dustld); |
| | | break; |
| | |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | private BigDecimal numAvg(List<String> list , BigDecimal num){ |
| | | int nums = 1; |
| | | for (int i=0;i<list.size();i=i+2){ |
| | | if(num.compareTo(BigDecimal.valueOf(Double.parseDouble(list.get(i))))>= 0 ){ |
| | | return num.add(BigDecimal.valueOf(Double.parseDouble(list.get(i+1)))); |
| | | } |
| | | nums+=2; |
| | | } |
| | | return num; |
| | | } |
| | | } |