Commit 66c9f6bf authored by wujiang's avatar wujiang

提交

parent dfb04f22
......@@ -33,6 +33,6 @@ public interface IWlCarMileageService extends IService<WlCarMileage> {
//根据iot编码查询是否有未结束里程
Boolean getUncompleteMileagByIotCode(String iotCode);
Double getTotalTravelByIotCodeAndDate(String date,String iotCode);
Map<String,Double> getTotalTravelByIotCodeAndDate(String date);
Map<String,Double> getTotalTravelByIotCodeAndDateProd(String StartDate,String endDate);
}
......@@ -1648,14 +1648,15 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS
list = list.stream().filter(car -> car.getBizOrgName().contains(keyWord)).collect(Collectors.toList());
}
if (list.size() > 0) {
Map<String,Double> map = iWlCarMileageService.getTotalTravelByIotCodeAndDate(date);
for (int i = 0; i < list.size(); i++) {
MileageDto mileageDto = new MileageDto();
Car car = list.get(i);
Double totalTravel = iWlCarMileageService.getTotalTravelByIotCodeAndDate(date, car.getIotCode());
mileageDto.setCarNum(car.getCarNum());
mileageDto.setCarCode(car.getRemark());
mileageDto.setBizOrgName(car.getBizOrgName());
mileageDto.setIotCode(date + "::" + car.getIotCode());
Double totalTravel = map.get(car.getIotCode());
if (totalTravel != null) {
// mileageDto.setTotalTravel((totalTravel / carMaxTravel) * 100);
mileageDto.setTotalTravel(totalTravel);
......@@ -1687,10 +1688,10 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS
list = list.stream().filter(car -> car.getBizOrgName().contains(keyWord)).collect(Collectors.toList());
}
if (list.size() > 0) {
Map<String,Double> map = iWlCarMileageService.getTotalTravelByIotCodeAndDate(date);
for (int i = 0; i < list.size(); i++) {
CarExportDto carExportDto = new CarExportDto();
Car car = list.get(i);
Double totalTravel = iWlCarMileageService.getTotalTravelByIotCodeAndDate(date, car.getIotCode());
carExportDto.setCode(car.getRemark());
carExportDto.setCarNumber(car.getCarNum());
carExportDto.setDriver(car.getDriver());
......@@ -1698,6 +1699,7 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS
carExportDto.setOrgName(car.getBizOrgName());
carExportDto.setStandard(car.getStandard());
carExportDto.setDisplacement(car.getDisplacement());
Double totalTravel=map.get(car.getIotCode());
if (totalTravel != null) {
carExportDto.setTotalTravel(String.format("%.1f", totalTravel) + "KM");
carExportDto.setTotalTravelValue(String.format("%.1f", totalTravel));
......@@ -1728,7 +1730,8 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS
calendar.set(Calendar.MONTH, Integer.parseInt(dates[1]));
for (int i = 0; i < calendar.getActualMaximum(Calendar.DATE); i++) {
String dateStr = i < 9 ? dates[1] + "-0" + (i + 1) : dates[1] + "-" + (i + 1);
Double totalTravel = iWlCarMileageService.getTotalTravelByIotCodeAndDate(dateStr, datas[1]);
Map<String,Double> rmap = iWlCarMileageService.getTotalTravelByIotCodeAndDate(dateStr);
Double totalTravel = rmap.get(datas[1]);
if (totalTravel == null) {
totalTravel = 0.0;
}
......
......@@ -535,25 +535,26 @@ public class WlCarMileageServiceImpl extends ServiceImpl<WlCarMileageMapper, WlC
}
@Override
public Double getTotalTravelByIotCodeAndDate(String date, String iotCode) {
public Map<String,Double> getTotalTravelByIotCodeAndDate(String date) {
if (StringUtils.isEmpty(date)) {
date = DateUtil.format(new Date(), "yyyy-MM");
}
Double totalTravel = 0.0;
LambdaQueryWrapper<WlCarMileage> wrapper = new LambdaQueryWrapper<WlCarMileage>();
wrapper.eq(WlCarMileage::getIotCode, iotCode);
wrapper.ge(WlCarMileage::getTravel, 0.5);
wrapper.isNotNull(WlCarMileage::getEndTime);
wrapper.isNotNull(WlCarMileage::getStartTime);
wrapper.like(WlCarMileage::getStartTime, date);
List<WlCarMileage> list = this.list(wrapper);
for (WlCarMileage wl : list) {
//判断当前车辆全程是否异常,如果时速小于阈值 则对数据进行返回 否则不予返回
if (!org.springframework.util.ObjectUtils.isEmpty(wl.getTakeTime()) && !org.springframework.util.ObjectUtils.isEmpty(wl.getTravel()) && ((wl.getTravel() / (wl.getTakeTime() / 3600000.0)) < CAR_MAX_SPEED)) {
totalTravel += wl.getTravel();
}
QueryWrapper<WlCarMileage> wrapper = new QueryWrapper<WlCarMileage>();
wrapper.select("sum(travel) AS travel","iot_code AS iotCode");
// wrapper.lambda().eq(WlCarMileage::getIotCode, iotCode);
wrapper.lambda().ge(WlCarMileage::getTravel, 0.5);
wrapper.lambda().isNotNull(WlCarMileage::getEndTime);
wrapper.lambda().isNotNull(WlCarMileage::getStartTime);
wrapper.lambda().like(WlCarMileage::getStartTime, date);
wrapper.lambda().groupBy(WlCarMileage::getIotCode);
List<Map<String,Object>> list = this.baseMapper.selectMaps(wrapper);
Map<String,Double> rmap = new HashMap<>();
for(Map<String,Object> map : list)
{
rmap.put(String.valueOf(map.get("iotCode")),Double.valueOf(String.valueOf(map.get("travel"))));
}
return totalTravel;
return rmap;
}
@Override
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment