Commit af3fc8a6 authored by 刘林's avatar 刘林

Merge remote-tracking branch 'origin/develop_dl' into develop_dl

parents 5538a8ef c47d43d2
package com.yeejoin.equipmanage.common.entity; package com.yeejoin.equipmanage.common.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.equipmanage.common.entity.publics.BaseEntity; import com.yeejoin.equipmanage.common.entity.publics.BaseEntity;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
...@@ -20,6 +21,7 @@ import java.util.Date; ...@@ -20,6 +21,7 @@ import java.util.Date;
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Accessors(chain = true) @Accessors(chain = true)
@TableName("wl_car_mileage")
@ApiModel(value="WlCarMileage对象", description="车量里程表") @ApiModel(value="WlCarMileage对象", description="车量里程表")
public class WlCarMileage extends BaseEntity { public class WlCarMileage extends BaseEntity {
......
...@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; ...@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yeejoin.equipmanage.common.entity.Car; import com.yeejoin.equipmanage.common.entity.Car;
import com.yeejoin.equipmanage.common.entity.WlCarMileage; import com.yeejoin.equipmanage.common.entity.WlCarMileage;
import com.yeejoin.equipmanage.common.utils.CoordinateUtil; import com.yeejoin.equipmanage.common.utils.CoordinateUtil;
import com.yeejoin.equipmanage.common.utils.DateUtils;
import com.yeejoin.equipmanage.common.utils.HttpUtil; import com.yeejoin.equipmanage.common.utils.HttpUtil;
import com.yeejoin.equipmanage.controller.Coordinate; import com.yeejoin.equipmanage.controller.Coordinate;
import com.yeejoin.equipmanage.fegin.IotFeign; import com.yeejoin.equipmanage.fegin.IotFeign;
...@@ -45,6 +46,7 @@ import java.text.ParseException; ...@@ -45,6 +46,7 @@ import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* 车量里程表 服务实现类 * 车量里程表 服务实现类
...@@ -58,7 +60,8 @@ import java.util.*; ...@@ -58,7 +60,8 @@ import java.util.*;
@EnableAsync @EnableAsync
public class WlCarMileageServiceImpl extends ServiceImpl<WlCarMileageMapper, WlCarMileage> public class WlCarMileageServiceImpl extends ServiceImpl<WlCarMileageMapper, WlCarMileage>
implements IWlCarMileageService { implements IWlCarMileageService {
@Value("${car.max.speed:100}")
private Integer CAR_MAX_SPEED;
@Autowired @Autowired
IotFeign iotFeign; IotFeign iotFeign;
...@@ -241,19 +244,23 @@ public class WlCarMileageServiceImpl extends ServiceImpl<WlCarMileageMapper, WlC ...@@ -241,19 +244,23 @@ public class WlCarMileageServiceImpl extends ServiceImpl<WlCarMileageMapper, WlC
c.setTime(date); c.setTime(date);
c.add(Calendar.MONTH, 1); c.add(Calendar.MONTH, 1);
daylist.addAll(getDayByMonth(c.getTime())); daylist.addAll(getDayByMonth(c.getTime()));
List<Map<String, Object>> hasList = this.listMaps(new QueryWrapper<WlCarMileage>() // List<Map<String, Object>> hasList = this.listMaps(new QueryWrapper<WlCarMileage>()
.select("COUNT(1) AS count,date").lambda().eq(WlCarMileage::getIotCode, car.getIotCode()) // .select("COUNT(1) AS count,date").lambda().eq(WlCarMileage::getIotCode, car.getIotCode())
.between(WlCarMileage::getDate, daylist.get(0), daylist.get(daylist.size() - 1)) // .between(WlCarMileage::getDate, daylist.get(0), daylist.get(daylist.size() - 1))
.isNotNull(WlCarMileage::getEndTime) // .isNotNull(WlCarMileage::getEndTime)
.ge(WlCarMileage::getTravel, 0.5) // .ge(WlCarMileage::getTravel, 0.5)
.groupBy(WlCarMileage::getDate)); // .groupBy(WlCarMileage::getDate));
Map<String, Object> hasMap = new HashMap<>(); Map<String, Object> hasMap = new HashMap<>();
for (Map<String, Object> mapOne : hasList) { List<WlCarMileage> wlCarMileageList = this.list(new QueryWrapper<WlCarMileage>().eq("iot_code", car.getIotCode())
hasMap.put(String.valueOf(mapOne.get("date")), mapOne.get("count")); .between("date", daylist.get(0), daylist.get(daylist.size() - 1))
} .isNotNull("end_time")
.ge("travel", 0.5)
.groupBy("date"));
List<WlCarMileage> wlCarMileageListActiveData = wlCarMileageList.stream().filter(wlCarMileage -> (!ObjectUtils.isEmpty(wlCarMileage.getTakeTime()) && (!ObjectUtils.isEmpty(wlCarMileage.getTravel()) && (wlCarMileage.getTravel() / (wlCarMileage.getTakeTime() / 3600000)) < CAR_MAX_SPEED))).collect(Collectors.toList());
List<String> activeDateList = wlCarMileageListActiveData.stream().map(wlCarMileage -> String.valueOf(DateUtils.convertDateToString(wlCarMileage.getDate(),DateUtils.DATE_PATTERN))).collect(Collectors.toList());
for (String day : daylist) { for (String day : daylist) {
boolean has = false; boolean has = false;
if (hasMap.containsKey(day)) { if (activeDateList.contains(day)) {
has = true; has = true;
} }
map.put(day, has); map.put(day, has);
......
...@@ -5971,8 +5971,8 @@ ...@@ -5971,8 +5971,8 @@
<select id="selectCarStats" resultType="java.util.Map"> <select id="selectCarStats" resultType="java.util.Map">
SELECT SELECT
COUNT(*) AS totalCount, COUNT(*) AS totalCount,
SUM(CASE WHEN wc.equip_status = 1 then 1 else 0 end ) AS yellowCodeCount, IFNULL(SUM(CASE WHEN wc.equip_status = 1 then 1 else 0 end ), 0) AS yellowCodeCount,
SUM(CASE WHEN wc.equip_status = 2 then 1 else 0 end ) AS redCodeCount IFNULL(SUM(CASE WHEN wc.equip_status = 2 then 1 else 0 end ), 0) AS redCodeCount
FROM FROM
wl_car wc wl_car wc
LEFT JOIN wl_equipment wle ON wle.id = wc.equipment_id LEFT JOIN wl_equipment wle ON wle.id = wc.equipment_id
......
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