Browse Source

交调数据增加周查询

develop
lau572 1 week ago
parent
commit
a8c33e6fb4
  1. 56
      zc-business/src/main/java/com/zc/business/controller/DcTrafficSurveyDataController.java
  2. 33
      zc-business/src/main/java/com/zc/business/domain/DcTrafficVolumeCarTypeData.java
  3. 34
      zc-business/src/main/java/com/zc/business/domain/DcTrafficVolumeData.java
  4. 33
      zc-business/src/main/java/com/zc/business/domain/DcTrafficVolumeDirectionCarTypeData.java
  5. 34
      zc-business/src/main/java/com/zc/business/domain/DcTrafficVolumeDirectionData.java
  6. 174
      zc-business/src/main/java/com/zc/business/domain/export/DcTrafficVolumeCarTypeDataByWeek.java
  7. 317
      zc-business/src/main/java/com/zc/business/domain/export/DcTrafficVolumeDataByWeek.java
  8. 278
      zc-business/src/main/java/com/zc/business/domain/export/DcTrafficVolumeDirectionCarTypeDataByWeek.java
  9. 564
      zc-business/src/main/java/com/zc/business/domain/export/DcTrafficVolumeDirectionDataByWeek.java
  10. 1
      zc-business/src/main/java/com/zc/business/mapper/DcTrafficSurveyDataMapper.java
  11. 481
      zc-business/src/main/java/com/zc/business/service/impl/DcTrafficSurveyDataServiceImpl.java
  12. 39
      zc-business/src/main/resources/mapper/business/DcTrafficSurveyDataMapper.xml

56
zc-business/src/main/java/com/zc/business/controller/DcTrafficSurveyDataController.java

@ -21,6 +21,10 @@ import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.system.domain.SysLogininfor;
import com.zc.business.constant.RedisKeyConstants;
import com.zc.business.domain.*;
import com.zc.business.domain.export.DcTrafficVolumeCarTypeDataByWeek;
import com.zc.business.domain.export.DcTrafficVolumeDataByWeek;
import com.zc.business.domain.export.DcTrafficVolumeDirectionCarTypeDataByWeek;
import com.zc.business.domain.export.DcTrafficVolumeDirectionDataByWeek;
import com.zc.business.enums.UniversalEnum;
import com.zc.common.core.httpclient.exception.HttpException;
import io.swagger.v3.oas.annotations.Parameter;
@ -425,6 +429,15 @@ public class DcTrafficSurveyDataController extends BaseController
cell.setCellValue("合计");
cell.setCellStyle(headerStyle);
if (dcTrafficSurveyData.getType().equals("week")){
cell = row.createCell(i + 3);
cell.setCellValue("周平均");
cell.setCellStyle(headerStyle);
cell = row.createCell(i + 4);
cell.setCellValue("日均");
cell.setCellStyle(headerStyle);
}
for (int j = 0; j < rowList.size(); j++) {
Row subHeaderRow = sheet.createRow(j+1);
@ -444,6 +457,15 @@ public class DcTrafficSurveyDataController extends BaseController
cell = subHeaderRow.createCell(k+2);
cell.setCellValue(rowList.get(j).get("total").toString());
cell.setCellStyle(dataStyle);
if (dcTrafficSurveyData.getType().equals("week")){
cell = subHeaderRow.createCell(k+3);
cell.setCellValue(rowList.get(j).get("avgWeek").toString());
cell.setCellStyle(dataStyle);
cell = subHeaderRow.createCell(k+4);
cell.setCellValue(rowList.get(j).get("avgDay").toString());
cell.setCellStyle(dataStyle);
}
}
@ -513,23 +535,57 @@ public class DcTrafficSurveyDataController extends BaseController
AjaxResult ajaxResult = dcTrafficSurveyDataService.selectComprehensiveData(dcTrafficSurveyDataQueryParams);
if (ajaxResult.get("code").equals(UniversalEnum.TWO_HUNDRED.getNumber())) {
if (dcTrafficSurveyDataQueryParams.getDataType().equals("1")){
if (dcTrafficSurveyDataQueryParams.getDirection().equals("2") && dcTrafficSurveyDataQueryParams.getCarType().equals("1")) {
List<DcTrafficVolumeData> dcTrafficVolumeData = (List<DcTrafficVolumeData>) ajaxResult.get("data");
if (dcTrafficSurveyDataQueryParams.getType().equals("5")){
ExcelUtil<DcTrafficVolumeDataByWeek> util = new ExcelUtil<>(DcTrafficVolumeDataByWeek.class);
List<DcTrafficVolumeDataByWeek> exportList = dcTrafficVolumeData.stream()
.map(DcTrafficVolumeDataByWeek::new)
.collect(Collectors.toList());
util.exportExcel(response, exportList, "站点查询");
} else {
ExcelUtil<DcTrafficVolumeData> util = new ExcelUtil<>(DcTrafficVolumeData.class);
util.exportExcel(response, dcTrafficVolumeData, "站点查询");
}
} else if (dcTrafficSurveyDataQueryParams.getDirection().equals("2") && dcTrafficSurveyDataQueryParams.getCarType().equals("2")) {
List<DcTrafficVolumeCarTypeData> dcTrafficVolumeData = (List<DcTrafficVolumeCarTypeData>) ajaxResult.get("data");
if (dcTrafficSurveyDataQueryParams.getType().equals("5")) {
ExcelUtil<DcTrafficVolumeCarTypeDataByWeek> util = new ExcelUtil<>(DcTrafficVolumeCarTypeDataByWeek.class);
List<DcTrafficVolumeCarTypeDataByWeek> exportList = dcTrafficVolumeData.stream()
.map(DcTrafficVolumeCarTypeDataByWeek::new)
.collect(Collectors.toList());
util.exportExcel(response, exportList, "站点查询");
} else {
ExcelUtil<DcTrafficVolumeCarTypeData> util = new ExcelUtil<>(DcTrafficVolumeCarTypeData.class);
util.exportExcel(response, dcTrafficVolumeData, "站点查询");
}
} else if (dcTrafficSurveyDataQueryParams.getDirection().equals("1") && dcTrafficSurveyDataQueryParams.getCarType().equals("1")) {
List<DcTrafficVolumeDirectionData> dcTrafficVolumeData = (List<DcTrafficVolumeDirectionData>) ajaxResult.get("data");
if (dcTrafficSurveyDataQueryParams.getType().equals("5")) {
ExcelUtil<DcTrafficVolumeDirectionDataByWeek> util = new ExcelUtil<>(DcTrafficVolumeDirectionDataByWeek.class);
List<DcTrafficVolumeDirectionDataByWeek> exportList = dcTrafficVolumeData.stream()
.map(DcTrafficVolumeDirectionDataByWeek::new)
.collect(Collectors.toList());
util.exportExcel(response, exportList, "站点查询");
} else {
ExcelUtil<DcTrafficVolumeDirectionData> util = new ExcelUtil<>(DcTrafficVolumeDirectionData.class);
util.exportExcel(response, dcTrafficVolumeData, "站点查询");
}
} else if (dcTrafficSurveyDataQueryParams.getDirection().equals("1") && dcTrafficSurveyDataQueryParams.getCarType().equals("2")) {
List<DcTrafficVolumeDirectionCarTypeData> dcTrafficVolumeData = (List<DcTrafficVolumeDirectionCarTypeData>) ajaxResult.get("data");
if (dcTrafficSurveyDataQueryParams.getType().equals("5")) {
ExcelUtil<DcTrafficVolumeDirectionCarTypeDataByWeek> util = new ExcelUtil<>(DcTrafficVolumeDirectionCarTypeDataByWeek.class);
List<DcTrafficVolumeDirectionCarTypeDataByWeek> exportList = dcTrafficVolumeData.stream()
.map(DcTrafficVolumeDirectionCarTypeDataByWeek::new)
.collect(Collectors.toList());
util.exportExcel(response, exportList, "站点查询");
} else {
ExcelUtil<DcTrafficVolumeDirectionCarTypeData> util = new ExcelUtil<>(DcTrafficVolumeDirectionCarTypeData.class);
util.exportExcel(response, dcTrafficVolumeData, "站点查询");
}
}
} else {
if (dcTrafficSurveyDataQueryParams.getDirection().equals("2") && dcTrafficSurveyDataQueryParams.getCarType().equals("1")) {
List<DcTrafficSpeedData> dcTrafficSpeedData = (List<DcTrafficSpeedData>) ajaxResult.get("data");

33
zc-business/src/main/java/com/zc/business/domain/DcTrafficVolumeCarTypeData.java

@ -46,6 +46,15 @@ public class DcTrafficVolumeCarTypeData extends BaseEntity
@Excel(name = "合计")
private Integer trafficVolume;
/** 周日均 */
private Integer avgDailyTrafficVolume;
/** 同比增长率 */
private String yoyGrowthRate;
/** 环比增长率 */
private String momGrowthRate;
public Long getId() {
return id;
}
@ -118,6 +127,30 @@ public class DcTrafficVolumeCarTypeData extends BaseEntity
this.goodsCarRatio = goodsCarRatio;
}
public Integer getAvgDailyTrafficVolume() {
return avgDailyTrafficVolume;
}
public void setAvgDailyTrafficVolume(Integer avgDailyTrafficVolume) {
this.avgDailyTrafficVolume = avgDailyTrafficVolume;
}
public String getYoyGrowthRate() {
return yoyGrowthRate;
}
public void setYoyGrowthRate(String yoyGrowthRate) {
this.yoyGrowthRate = yoyGrowthRate;
}
public String getMomGrowthRate() {
return momGrowthRate;
}
public void setMomGrowthRate(String momGrowthRate) {
this.momGrowthRate = momGrowthRate;
}
public DcTrafficVolumeCarTypeData(){}
public DcTrafficVolumeCarTypeData(Integer initData){

34
zc-business/src/main/java/com/zc/business/domain/DcTrafficVolumeData.java

@ -92,6 +92,16 @@ public class DcTrafficVolumeData extends BaseEntity
// @Excel(name = "拖拉机")
private Integer tractorTrafficVolume;
/** 周日均 */
// @Excel(name = "周日均")
private Integer avgDailyTrafficVolume;
/** 同比增长率 */
private String yoyGrowthRate;
/** 环比增长率 */
private String momGrowthRate;
/** 合计 */
@Excel(name = "合计")
private Integer trafficVolume;
@ -256,6 +266,30 @@ public class DcTrafficVolumeData extends BaseEntity
this.extraLargeTrucksTrafficVolumeRatio = extraLargeTrucksTrafficVolumeRatio;
}
public Integer getAvgDailyTrafficVolume() {
return avgDailyTrafficVolume;
}
public void setAvgDailyTrafficVolume(Integer avgDailyTrafficVolume) {
this.avgDailyTrafficVolume = avgDailyTrafficVolume;
}
public String getYoyGrowthRate() {
return yoyGrowthRate;
}
public void setYoyGrowthRate(String yoyGrowthRate) {
this.yoyGrowthRate = yoyGrowthRate;
}
public String getMomGrowthRate() {
return momGrowthRate;
}
public void setMomGrowthRate(String momGrowthRate) {
this.momGrowthRate = momGrowthRate;
}
public DcTrafficVolumeData(){}
public DcTrafficVolumeData(Integer initData){

33
zc-business/src/main/java/com/zc/business/domain/DcTrafficVolumeDirectionCarTypeData.java

@ -78,6 +78,15 @@ public class DcTrafficVolumeDirectionCarTypeData extends BaseEntity
@Excel(name = "总计车流量")
private Integer allTrafficVolume;
/** 周日均 */
private Integer avgDailyTrafficVolume;
/** 同比增长率 */
private String yoyGrowthRate;
/** 环比增长率 */
private String momGrowthRate;
public Long getId() {
return id;
}
@ -214,6 +223,30 @@ public class DcTrafficVolumeDirectionCarTypeData extends BaseEntity
this.trafficVolumeRatioJN = trafficVolumeRatioJN;
}
public Integer getAvgDailyTrafficVolume() {
return avgDailyTrafficVolume;
}
public void setAvgDailyTrafficVolume(Integer avgDailyTrafficVolume) {
this.avgDailyTrafficVolume = avgDailyTrafficVolume;
}
public String getYoyGrowthRate() {
return yoyGrowthRate;
}
public void setYoyGrowthRate(String yoyGrowthRate) {
this.yoyGrowthRate = yoyGrowthRate;
}
public String getMomGrowthRate() {
return momGrowthRate;
}
public void setMomGrowthRate(String momGrowthRate) {
this.momGrowthRate = momGrowthRate;
}
public DcTrafficVolumeDirectionCarTypeData(){}
public DcTrafficVolumeDirectionCarTypeData(Integer initData){

34
zc-business/src/main/java/com/zc/business/domain/DcTrafficVolumeDirectionData.java

@ -166,6 +166,15 @@ public class DcTrafficVolumeDirectionData extends BaseEntity
@Excel(name = "总计车流量")
private Integer allTrafficVolume;
/** 周日均 */
private Integer avgDailyTrafficVolume;
/** 同比增长率 */
private String yoyGrowthRate;
/** 环比增长率 */
private String momGrowthRate;
public Long getId() {
return id;
}
@ -478,6 +487,30 @@ public class DcTrafficVolumeDirectionData extends BaseEntity
this.trafficVolumeRatioJN = trafficVolumeRatioJN;
}
public Integer getAvgDailyTrafficVolume() {
return avgDailyTrafficVolume;
}
public void setAvgDailyTrafficVolume(Integer avgDailyTrafficVolume) {
this.avgDailyTrafficVolume = avgDailyTrafficVolume;
}
public String getYoyGrowthRate() {
return yoyGrowthRate;
}
public void setYoyGrowthRate(String yoyGrowthRate) {
this.yoyGrowthRate = yoyGrowthRate;
}
public String getMomGrowthRate() {
return momGrowthRate;
}
public void setMomGrowthRate(String momGrowthRate) {
this.momGrowthRate = momGrowthRate;
}
public DcTrafficVolumeDirectionData(){}
public DcTrafficVolumeDirectionData(Integer initData){
@ -502,5 +535,6 @@ public class DcTrafficVolumeDirectionData extends BaseEntity
this.trafficVolumeJN = initData;
this.trafficVolumeHZ = initData;
this.allTrafficVolume = initData;
this.avgDailyTrafficVolume = initData;
}
}

174
zc-business/src/main/java/com/zc/business/domain/export/DcTrafficVolumeCarTypeDataByWeek.java

@ -0,0 +1,174 @@
package com.zc.business.domain.export;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.zc.business.domain.DcTrafficVolumeCarTypeData;
/**
* 一类交调数据对象 dc_traffic_survey_data
*
* @author liuwenge
* @date 2024-10-29
*/
public class DcTrafficVolumeCarTypeDataByWeek extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Long id;
/** 物联设备主键 */
private String iotDeviceId;
/** 方向 */
private String direction;
/** 时间 */
@Excel(name = "时间")
private String time;
/** 客车 */
@Excel(name = "客车")
private Integer bus;
/** 客车占比 */
@Excel(name = "客车占比")
private String busRatio;
/** 货车交通量 */
@Excel(name = "货车")
private Integer goodsCar;
/** 货车占比 */
@Excel(name = "货车占比")
private String goodsCarRatio;
/** 合计 */
@Excel(name = "合计")
private Integer trafficVolume;
/** 周日均 */
@Excel(name = "周日均")
private Integer avgDailyTrafficVolume;
/** 同比增长率 */
@Excel(name = "同比增长率")
private String yoyGrowthRate;
/** 环比增长率 */
@Excel(name = "环比增长率")
private String momGrowthRate;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getIotDeviceId() {
return iotDeviceId;
}
public void setIotDeviceId(String iotDeviceId) {
this.iotDeviceId = iotDeviceId;
}
public String getDirection() {
return direction;
}
public void setDirection(String direction) {
this.direction = direction;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public Integer getBus() {
return bus;
}
public void setBus(Integer bus) {
this.bus = bus;
}
public Integer getGoodsCar() {
return goodsCar;
}
public void setGoodsCar(Integer goodsCar) {
this.goodsCar = goodsCar;
}
public Integer getTrafficVolume() {
return trafficVolume;
}
public void setTrafficVolume(Integer trafficVolume) {
this.trafficVolume = trafficVolume;
}
public String getBusRatio() {
return busRatio;
}
public void setBusRatio(String busRatio) {
this.busRatio = busRatio;
}
public String getGoodsCarRatio() {
return goodsCarRatio;
}
public void setGoodsCarRatio(String goodsCarRatio) {
this.goodsCarRatio = goodsCarRatio;
}
public Integer getAvgDailyTrafficVolume() {
return avgDailyTrafficVolume;
}
public void setAvgDailyTrafficVolume(Integer avgDailyTrafficVolume) {
this.avgDailyTrafficVolume = avgDailyTrafficVolume;
}
public String getYoyGrowthRate() {
return yoyGrowthRate;
}
public void setYoyGrowthRate(String yoyGrowthRate) {
this.yoyGrowthRate = yoyGrowthRate;
}
public String getMomGrowthRate() {
return momGrowthRate;
}
public void setMomGrowthRate(String momGrowthRate) {
this.momGrowthRate = momGrowthRate;
}
public DcTrafficVolumeCarTypeDataByWeek(){}
public DcTrafficVolumeCarTypeDataByWeek(DcTrafficVolumeCarTypeData initData){
this.id = initData.getId();
this.iotDeviceId = initData.getIotDeviceId();
this.direction = initData.getDirection();
this.time = initData.getTime();
this.bus = initData.getBus();
this.busRatio = initData.getBusRatio();
this.goodsCar = initData.getGoodsCar();
this.goodsCarRatio = initData.getGoodsCarRatio();
this.trafficVolume = initData.getTrafficVolume();
this.avgDailyTrafficVolume = initData.getAvgDailyTrafficVolume();
this.yoyGrowthRate = initData.getYoyGrowthRate();
this.momGrowthRate = initData.getMomGrowthRate();
}
}

317
zc-business/src/main/java/com/zc/business/domain/export/DcTrafficVolumeDataByWeek.java

@ -0,0 +1,317 @@
package com.zc.business.domain.export;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.zc.business.domain.DcTrafficVolumeData;
/**
* 一类交调数据对象 dc_traffic_survey_data
*
* @author liuwenge
* @date 2024-10-29
*/
public class DcTrafficVolumeDataByWeek extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Long id;
/** 物联设备主键 */
private String iotDeviceId;
/** 方向 */
private String direction;
/** 时间 */
@Excel(name = "时间")
private String time;
/** 中小客车交通量 */
@Excel(name = "中小客车")
private Integer trafficNumberOfInAndSmall;
/** 中小客车占比 */
@Excel(name = "中小客车占比")
private String trafficNumberOfInAndSmallRatio;
/** 大客车交通量 */
@Excel(name = "大客车")
private Integer busTrafficVolume;
/** 大客车占比 */
@Excel(name = "大客车占比")
private String busTrafficVolumeRatio;
/** 小型货车交通量 */
@Excel(name = "小型货车")
private Integer trafficVolumeOfSmallTrucks;
/** 小型货车占比 */
@Excel(name = "小型货车占比")
private String trafficVolumeOfSmallTrucksRatio;
/** 中型货车交通量 */
@Excel(name = "中型货车")
private Integer mediumTruckTrafficVolume;
/** 中型货车占比 */
@Excel(name = "中型货车占比")
private String mediumTruckTrafficVolumeRatio;
/** 大型货车交通量 */
@Excel(name = "大型货车")
private Integer largeTruckTrafficVolume;
/** 大型货车占比 */
@Excel(name = "大型货车占比")
private String largeTruckTrafficVolumeRatio;
/** 特大型货车交通量 */
@Excel(name = "特大型货车")
private Integer extraLargeTrucksTrafficVolume;
/** 特大型货车占比 */
@Excel(name = "特大型货车占比")
private String extraLargeTrucksTrafficVolumeRatio;
/** 集装箱车交通量 */
// @Excel(name = "集装箱车")
private Integer containerTruckTrafficVolume;
/** 摩托车交通量 */
// @Excel(name = "摩托车")
private Integer motorcycleTrafficVolume;
/** 拖拉机交通量 */
// @Excel(name = "拖拉机")
private Integer tractorTrafficVolume;
/** 合计 */
@Excel(name = "合计")
private Integer trafficVolume;
/** 周日均 */
@Excel(name = "周日均")
private Integer avgDailyTrafficVolume;
/** 同比增长率 */
@Excel(name = "同比增长率")
private String yoyGrowthRate;
/** 环比增长率 */
@Excel(name = "环比增长率")
private String momGrowthRate;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getIotDeviceId() {
return iotDeviceId;
}
public void setIotDeviceId(String iotDeviceId) {
this.iotDeviceId = iotDeviceId;
}
public String getDirection() {
return direction;
}
public void setDirection(String direction) {
this.direction = direction;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public Integer getTrafficNumberOfInAndSmall() {
return trafficNumberOfInAndSmall;
}
public void setTrafficNumberOfInAndSmall(Integer trafficNumberOfInAndSmall) {
this.trafficNumberOfInAndSmall = trafficNumberOfInAndSmall;
}
public Integer getBusTrafficVolume() {
return busTrafficVolume;
}
public void setBusTrafficVolume(Integer busTrafficVolume) {
this.busTrafficVolume = busTrafficVolume;
}
public Integer getTrafficVolumeOfSmallTrucks() {
return trafficVolumeOfSmallTrucks;
}
public void setTrafficVolumeOfSmallTrucks(Integer trafficVolumeOfSmallTrucks) {
this.trafficVolumeOfSmallTrucks = trafficVolumeOfSmallTrucks;
}
public Integer getMediumTruckTrafficVolume() {
return mediumTruckTrafficVolume;
}
public void setMediumTruckTrafficVolume(Integer mediumTruckTrafficVolume) {
this.mediumTruckTrafficVolume = mediumTruckTrafficVolume;
}
public Integer getLargeTruckTrafficVolume() {
return largeTruckTrafficVolume;
}
public void setLargeTruckTrafficVolume(Integer largeTruckTrafficVolume) {
this.largeTruckTrafficVolume = largeTruckTrafficVolume;
}
public Integer getExtraLargeTrucksTrafficVolume() {
return extraLargeTrucksTrafficVolume;
}
public void setExtraLargeTrucksTrafficVolume(Integer extraLargeTrucksTrafficVolume) {
this.extraLargeTrucksTrafficVolume = extraLargeTrucksTrafficVolume;
}
public Integer getContainerTruckTrafficVolume() {
return containerTruckTrafficVolume;
}
public void setContainerTruckTrafficVolume(Integer containerTruckTrafficVolume) {
this.containerTruckTrafficVolume = containerTruckTrafficVolume;
}
public Integer getMotorcycleTrafficVolume() {
return motorcycleTrafficVolume;
}
public void setMotorcycleTrafficVolume(Integer motorcycleTrafficVolume) {
this.motorcycleTrafficVolume = motorcycleTrafficVolume;
}
public Integer getTractorTrafficVolume() {
return tractorTrafficVolume;
}
public void setTractorTrafficVolume(Integer tractorTrafficVolume) {
this.tractorTrafficVolume = tractorTrafficVolume;
}
public Integer getTrafficVolume() {
return trafficVolume;
}
public void setTrafficVolume(Integer trafficVolume) {
this.trafficVolume = trafficVolume;
}
public String getTrafficNumberOfInAndSmallRatio() {
return trafficNumberOfInAndSmallRatio;
}
public void setTrafficNumberOfInAndSmallRatio(String trafficNumberOfInAndSmallRatio) {
this.trafficNumberOfInAndSmallRatio = trafficNumberOfInAndSmallRatio;
}
public String getBusTrafficVolumeRatio() {
return busTrafficVolumeRatio;
}
public void setBusTrafficVolumeRatio(String busTrafficVolumeRatio) {
this.busTrafficVolumeRatio = busTrafficVolumeRatio;
}
public String getTrafficVolumeOfSmallTrucksRatio() {
return trafficVolumeOfSmallTrucksRatio;
}
public void setTrafficVolumeOfSmallTrucksRatio(String trafficVolumeOfSmallTrucksRatio) {
this.trafficVolumeOfSmallTrucksRatio = trafficVolumeOfSmallTrucksRatio;
}
public String getMediumTruckTrafficVolumeRatio() {
return mediumTruckTrafficVolumeRatio;
}
public void setMediumTruckTrafficVolumeRatio(String mediumTruckTrafficVolumeRatio) {
this.mediumTruckTrafficVolumeRatio = mediumTruckTrafficVolumeRatio;
}
public String getLargeTruckTrafficVolumeRatio() {
return largeTruckTrafficVolumeRatio;
}
public void setLargeTruckTrafficVolumeRatio(String largeTruckTrafficVolumeRatio) {
this.largeTruckTrafficVolumeRatio = largeTruckTrafficVolumeRatio;
}
public String getExtraLargeTrucksTrafficVolumeRatio() {
return extraLargeTrucksTrafficVolumeRatio;
}
public void setExtraLargeTrucksTrafficVolumeRatio(String extraLargeTrucksTrafficVolumeRatio) {
this.extraLargeTrucksTrafficVolumeRatio = extraLargeTrucksTrafficVolumeRatio;
}
public Integer getAvgDailyTrafficVolume() {
return avgDailyTrafficVolume;
}
public void setAvgDailyTrafficVolume(Integer avgDailyTrafficVolume) {
this.avgDailyTrafficVolume = avgDailyTrafficVolume;
}
public String getYoyGrowthRate() {
return yoyGrowthRate;
}
public void setYoyGrowthRate(String yoyGrowthRate) {
this.yoyGrowthRate = yoyGrowthRate;
}
public String getMomGrowthRate() {
return momGrowthRate;
}
public void setMomGrowthRate(String momGrowthRate) {
this.momGrowthRate = momGrowthRate;
}
public DcTrafficVolumeDataByWeek(){}
public DcTrafficVolumeDataByWeek(DcTrafficVolumeData initData){
this.id = initData.getId();
this.iotDeviceId = initData.getIotDeviceId();
this.direction = initData.getDirection();
this.time = initData.getTime();
this.trafficNumberOfInAndSmall = initData.getTrafficNumberOfInAndSmall();
this.trafficNumberOfInAndSmallRatio = initData.getTrafficNumberOfInAndSmallRatio();
this.busTrafficVolume = initData.getBusTrafficVolume();
this.busTrafficVolumeRatio = initData.getBusTrafficVolumeRatio();
this.trafficVolumeOfSmallTrucks = initData.getTrafficVolumeOfSmallTrucks();
this.trafficVolumeOfSmallTrucksRatio = initData.getTrafficVolumeOfSmallTrucksRatio();
this.mediumTruckTrafficVolume = initData.getMediumTruckTrafficVolume();
this.mediumTruckTrafficVolumeRatio = initData.getMediumTruckTrafficVolumeRatio();
this.largeTruckTrafficVolume = initData.getLargeTruckTrafficVolume();
this.largeTruckTrafficVolumeRatio = initData.getLargeTruckTrafficVolumeRatio();
this.extraLargeTrucksTrafficVolume = initData.getExtraLargeTrucksTrafficVolume();
this.extraLargeTrucksTrafficVolumeRatio = initData.getExtraLargeTrucksTrafficVolumeRatio();
this.containerTruckTrafficVolume = initData.getContainerTruckTrafficVolume();
this.motorcycleTrafficVolume = initData.getMotorcycleTrafficVolume();
this.tractorTrafficVolume = initData.getTractorTrafficVolume();
this.trafficVolume = initData.getTrafficVolume();
this.avgDailyTrafficVolume = initData.getAvgDailyTrafficVolume();
this.yoyGrowthRate = initData.getYoyGrowthRate();
this.momGrowthRate = initData.getMomGrowthRate();
}
}

278
zc-business/src/main/java/com/zc/business/domain/export/DcTrafficVolumeDirectionCarTypeDataByWeek.java

@ -0,0 +1,278 @@
package com.zc.business.domain.export;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.zc.business.domain.DcTrafficVolumeDirectionCarTypeData;
/**
* 一类交调数据对象(区分方向) dc_traffic_survey_data
*
* @author liuwenge
* @date 2024-10-29
*/
public class DcTrafficVolumeDirectionCarTypeDataByWeek extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Long id;
/** 物联设备主键 */
private String iotDeviceId;
/** 方向 */
private String direction;
/** 时间 */
@Excel(name = "时间")
private String time;
/** 菏泽客车交通量 */
@Excel(name = "客车-菏泽")
private Integer busHZ;
/** 菏泽客车交通量 */
@Excel(name = "客车占比-菏泽")
private String busRatioHZ;
/** 济南客车交通量 */
@Excel(name = "客车-济南")
private Integer busJN;
/** 济南客车交通量 */
@Excel(name = "客车占比-济南")
private String busRatioJN;
/** 菏泽货车交通量 */
@Excel(name = "货车-菏泽")
private Integer goodsCarHZ;
/** 菏泽货车交通量 */
@Excel(name = "货车占比-菏泽")
private String goodsCarRatioHZ;
/** 济南货车交通量 */
@Excel(name = "货车-济南")
private Integer goodsCarJN;
/** 济南货车交通量 */
@Excel(name = "货车占比-济南")
private String goodsCarRatioJN;
/** 合计 */
@Excel(name = "合计-菏泽")
private Integer trafficVolumeHZ;
/** 合计 */
@Excel(name = "合计占比-菏泽")
private String trafficVolumeRatioHZ;
/** 合计 */
@Excel(name = "合计-济南")
private Integer trafficVolumeJN;
/** 合计 */
@Excel(name = "合计占比-济南")
private String trafficVolumeRatioJN;
/** 总计车流量 */
@Excel(name = "总计车流量")
private Integer allTrafficVolume;
/** 周日均 */
@Excel(name = "周日均")
private Integer avgDailyTrafficVolume;
/** 同比增长率 */
@Excel(name = "同比增长率")
private String yoyGrowthRate;
/** 环比增长率 */
@Excel(name = "环比增长率")
private String momGrowthRate;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getIotDeviceId() {
return iotDeviceId;
}
public void setIotDeviceId(String iotDeviceId) {
this.iotDeviceId = iotDeviceId;
}
public String getDirection() {
return direction;
}
public void setDirection(String direction) {
this.direction = direction;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public Integer getBusHZ() {
return busHZ;
}
public void setBusHZ(Integer busHZ) {
this.busHZ = busHZ;
}
public Integer getBusJN() {
return busJN;
}
public void setBusJN(Integer busJN) {
this.busJN = busJN;
}
public Integer getGoodsCarHZ() {
return goodsCarHZ;
}
public void setGoodsCarHZ(Integer goodsCarHZ) {
this.goodsCarHZ = goodsCarHZ;
}
public Integer getGoodsCarJN() {
return goodsCarJN;
}
public void setGoodsCarJN(Integer goodsCarJN) {
this.goodsCarJN = goodsCarJN;
}
public Integer getTrafficVolumeHZ() {
return trafficVolumeHZ;
}
public void setTrafficVolumeHZ(Integer trafficVolumeHZ) {
this.trafficVolumeHZ = trafficVolumeHZ;
}
public Integer getTrafficVolumeJN() {
return trafficVolumeJN;
}
public void setTrafficVolumeJN(Integer trafficVolumeJN) {
this.trafficVolumeJN = trafficVolumeJN;
}
public Integer getAllTrafficVolume() {
return allTrafficVolume;
}
public void setAllTrafficVolume(Integer allTrafficVolume) {
this.allTrafficVolume = allTrafficVolume;
}
public String getBusRatioHZ() {
return busRatioHZ;
}
public void setBusRatioHZ(String busRatioHZ) {
this.busRatioHZ = busRatioHZ;
}
public String getBusRatioJN() {
return busRatioJN;
}
public void setBusRatioJN(String busRatioJN) {
this.busRatioJN = busRatioJN;
}
public String getGoodsCarRatioHZ() {
return goodsCarRatioHZ;
}
public void setGoodsCarRatioHZ(String goodsCarRatioHZ) {
this.goodsCarRatioHZ = goodsCarRatioHZ;
}
public String getGoodsCarRatioJN() {
return goodsCarRatioJN;
}
public void setGoodsCarRatioJN(String goodsCarRatioJN) {
this.goodsCarRatioJN = goodsCarRatioJN;
}
public String getTrafficVolumeRatioHZ() {
return trafficVolumeRatioHZ;
}
public void setTrafficVolumeRatioHZ(String trafficVolumeRatioHZ) {
this.trafficVolumeRatioHZ = trafficVolumeRatioHZ;
}
public String getTrafficVolumeRatioJN() {
return trafficVolumeRatioJN;
}
public void setTrafficVolumeRatioJN(String trafficVolumeRatioJN) {
this.trafficVolumeRatioJN = trafficVolumeRatioJN;
}
public Integer getAvgDailyTrafficVolume() {
return avgDailyTrafficVolume;
}
public void setAvgDailyTrafficVolume(Integer avgDailyTrafficVolume) {
this.avgDailyTrafficVolume = avgDailyTrafficVolume;
}
public String getYoyGrowthRate() {
return yoyGrowthRate;
}
public void setYoyGrowthRate(String yoyGrowthRate) {
this.yoyGrowthRate = yoyGrowthRate;
}
public String getMomGrowthRate() {
return momGrowthRate;
}
public void setMomGrowthRate(String momGrowthRate) {
this.momGrowthRate = momGrowthRate;
}
public DcTrafficVolumeDirectionCarTypeDataByWeek(){}
public DcTrafficVolumeDirectionCarTypeDataByWeek(DcTrafficVolumeDirectionCarTypeData initData){
this.id = initData.getId();
this.iotDeviceId = initData.getIotDeviceId();
this.direction = initData.getDirection();
this.time = initData.getTime();
this.busHZ = initData.getBusHZ();
this.busRatioHZ = initData.getBusRatioHZ();
this.busJN = initData.getBusJN();
this.busRatioJN = initData.getBusRatioJN();
this.goodsCarHZ = initData.getGoodsCarHZ();
this.goodsCarRatioHZ = initData.getGoodsCarRatioHZ();
this.goodsCarJN = initData.getGoodsCarJN();
this.goodsCarRatioJN = initData.getGoodsCarRatioJN();
this.trafficVolumeHZ = initData.getTrafficVolumeHZ();
this.trafficVolumeRatioHZ = initData.getTrafficVolumeRatioHZ();
this.trafficVolumeJN = initData.getTrafficVolumeJN();
this.trafficVolumeRatioJN = initData.getTrafficVolumeRatioJN();
this.allTrafficVolume = initData.getAllTrafficVolume();
this.avgDailyTrafficVolume = initData.getAvgDailyTrafficVolume();
this.yoyGrowthRate = initData.getYoyGrowthRate();
this.momGrowthRate = initData.getMomGrowthRate();
}
}

564
zc-business/src/main/java/com/zc/business/domain/export/DcTrafficVolumeDirectionDataByWeek.java

@ -0,0 +1,564 @@
package com.zc.business.domain.export;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.zc.business.domain.DcTrafficVolumeDirectionData;
/**
* 一类交调数据对象(区分方向) dc_traffic_survey_data
*
* @author liuwenge
* @date 2024-10-29
*/
public class DcTrafficVolumeDirectionDataByWeek extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Long id;
/** 物联设备主键 */
private String iotDeviceId;
/** 方向 */
private String direction;
/** 时间 */
@Excel(name = "时间")
private String time;
/** 中小客车交通量 */
@Excel(name = "中小客车-菏泽")
private Integer trafficNumberOfInAndSmallHZ;
/** 中小客车占比-菏泽 */
@Excel(name = "中小客车占比-菏泽")
private String trafficNumberOfInAndSmallRatioHZ;
/** 中小客车交通量 */
@Excel(name = "中小客车-济南")
private Integer trafficNumberOfInAndSmallJN;
/** 中小客车占比-济南 */
@Excel(name = "中小客车占比-济南")
private String trafficNumberOfInAndSmallRatioJN;
/** 大客车交通量 */
@Excel(name = "大客车-菏泽")
private Integer busTrafficVolumeHZ;
/** 大客车占比-菏泽 */
@Excel(name = "大客车占比-菏泽")
private String busTrafficVolumeRatioHZ;
/** 大客车交通量 */
@Excel(name = "大客车-济南")
private Integer busTrafficVolumeJN;
/** 大客车占比-济南 */
@Excel(name = "大客车占比-济南")
private String busTrafficVolumeRatioJN;
/** 小型货车交通量 */
@Excel(name = "小型货车-菏泽")
private Integer trafficVolumeOfSmallTrucksHZ;
/** 小型货车占比-菏泽 */
@Excel(name = "小型货车占比-菏泽")
private String trafficVolumeOfSmallTrucksRatioHZ;
/** 小型货车交通量 */
@Excel(name = "小型货车-济南")
private Integer trafficVolumeOfSmallTrucksJN;
/** 小型货车占比-济南 */
@Excel(name = "小型货车占比-济南")
private String trafficVolumeOfSmallTrucksRatioJN;
/** 中型货车交通量 */
@Excel(name = "中型货车-菏泽")
private Integer mediumTruckTrafficVolumeHZ;
/** 中型货车占比-菏泽 */
@Excel(name = "中型货车占比-菏泽")
private String mediumTruckTrafficVolumeRatioHZ;
/** 中型货车交通量 */
@Excel(name = "中型货车-济南")
private Integer mediumTruckTrafficVolumeJN;
/** 中型货车占比-济南 */
@Excel(name = "中型货车占比-济南")
private String mediumTruckTrafficVolumeRatioJN;
/** 大型货车交通量 */
@Excel(name = "大型货车-菏泽")
private Integer largeTruckTrafficVolumeHZ;
/** 大型货车占比-菏泽 */
@Excel(name = "大型货车占比-菏泽")
private String largeTruckTrafficVolumeRatioHZ;
/** 大型货车交通量 */
@Excel(name = "大型货车-济南")
private Integer largeTruckTrafficVolumeJN;
/** 大型货车占比-济南 */
@Excel(name = "大型货车占比-济南")
private String largeTruckTrafficVolumeRatioJN;
/** 特大型货车交通量 */
@Excel(name = "特大型货车-菏泽")
private Integer extraLargeTrucksTrafficVolumeHZ;
/** 特大型货车占比-菏泽 */
@Excel(name = "特大型货车占比-菏泽")
private String extraLargeTrucksTrafficVolumeRatioHZ;
/** 特大型货车交通量 */
@Excel(name = "特大型货车-济南")
private Integer extraLargeTrucksTrafficVolumeJN;
/** 特大型货车占比-济南 */
@Excel(name = "特大型货车占比-济南")
private String extraLargeTrucksTrafficVolumeRatioJN;
/** 集装箱车交通量 */
// @Excel(name = "集装箱车-菏泽")
private Integer containerTruckTrafficVolumeHZ;
/** 集装箱车交通量 */
// @Excel(name = "集装箱车-济南")
private Integer containerTruckTrafficVolumeJN;
/** 摩托车交通量 */
// @Excel(name = "摩托车-菏泽")
private Integer motorcycleTrafficVolumeHZ;
/** 摩托车交通量 */
// @Excel(name = "摩托车-济南")
private Integer motorcycleTrafficVolumeJN;
/** 拖拉机交通量 */
// @Excel(name = "拖拉机-菏泽")
private Integer tractorTrafficVolumeHZ;
/** 拖拉机交通量 */
// @Excel(name = "拖拉机-济南")
private Integer tractorTrafficVolumeJN;
/** 合计 */
@Excel(name = "合计-菏泽")
private Integer trafficVolumeHZ;
/** 菏泽占比 */
@Excel(name = "合计占比-菏泽")
private String trafficVolumeRatioHZ;
/** 合计 */
@Excel(name = "合计-济南")
private Integer trafficVolumeJN;
/** 合计占比-济南 */
@Excel(name = "合计占比-济南")
private String trafficVolumeRatioJN;
/** 总计车流量 */
@Excel(name = "总计车流量")
private Integer allTrafficVolume;
/** 周日均 */
@Excel(name = "周日均")
private Integer avgDailyTrafficVolume;
/** 同比增长率 */
@Excel(name = "同比增长率")
private String yoyGrowthRate;
/** 环比增长率 */
@Excel(name = "环比增长率")
private String momGrowthRate;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getIotDeviceId() {
return iotDeviceId;
}
public void setIotDeviceId(String iotDeviceId) {
this.iotDeviceId = iotDeviceId;
}
public String getDirection() {
return direction;
}
public void setDirection(String direction) {
this.direction = direction;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public Integer getTrafficNumberOfInAndSmallJN() {
return trafficNumberOfInAndSmallJN;
}
public void setTrafficNumberOfInAndSmallJN(Integer trafficNumberOfInAndSmallJN) {
this.trafficNumberOfInAndSmallJN = trafficNumberOfInAndSmallJN;
}
public Integer getTrafficNumberOfInAndSmallHZ() {
return trafficNumberOfInAndSmallHZ;
}
public void setTrafficNumberOfInAndSmallHZ(Integer trafficNumberOfInAndSmallHZ) {
this.trafficNumberOfInAndSmallHZ = trafficNumberOfInAndSmallHZ;
}
public Integer getBusTrafficVolumeJN() {
return busTrafficVolumeJN;
}
public void setBusTrafficVolumeJN(Integer busTrafficVolumeJN) {
this.busTrafficVolumeJN = busTrafficVolumeJN;
}
public Integer getBusTrafficVolumeHZ() {
return busTrafficVolumeHZ;
}
public void setBusTrafficVolumeHZ(Integer busTrafficVolumeHZ) {
this.busTrafficVolumeHZ = busTrafficVolumeHZ;
}
public Integer getTrafficVolumeOfSmallTrucksJN() {
return trafficVolumeOfSmallTrucksJN;
}
public void setTrafficVolumeOfSmallTrucksJN(Integer trafficVolumeOfSmallTrucksJN) {
this.trafficVolumeOfSmallTrucksJN = trafficVolumeOfSmallTrucksJN;
}
public Integer getTrafficVolumeOfSmallTrucksHZ() {
return trafficVolumeOfSmallTrucksHZ;
}
public void setTrafficVolumeOfSmallTrucksHZ(Integer trafficVolumeOfSmallTrucksHZ) {
this.trafficVolumeOfSmallTrucksHZ = trafficVolumeOfSmallTrucksHZ;
}
public Integer getMediumTruckTrafficVolumeJN() {
return mediumTruckTrafficVolumeJN;
}
public void setMediumTruckTrafficVolumeJN(Integer mediumTruckTrafficVolumeJN) {
this.mediumTruckTrafficVolumeJN = mediumTruckTrafficVolumeJN;
}
public Integer getMediumTruckTrafficVolumeHZ() {
return mediumTruckTrafficVolumeHZ;
}
public void setMediumTruckTrafficVolumeHZ(Integer mediumTruckTrafficVolumeHZ) {
this.mediumTruckTrafficVolumeHZ = mediumTruckTrafficVolumeHZ;
}
public Integer getLargeTruckTrafficVolumeJN() {
return largeTruckTrafficVolumeJN;
}
public void setLargeTruckTrafficVolumeJN(Integer largeTruckTrafficVolumeJN) {
this.largeTruckTrafficVolumeJN = largeTruckTrafficVolumeJN;
}
public Integer getLargeTruckTrafficVolumeHZ() {
return largeTruckTrafficVolumeHZ;
}
public void setLargeTruckTrafficVolumeHZ(Integer largeTruckTrafficVolumeHZ) {
this.largeTruckTrafficVolumeHZ = largeTruckTrafficVolumeHZ;
}
public Integer getExtraLargeTrucksTrafficVolumeJN() {
return extraLargeTrucksTrafficVolumeJN;
}
public void setExtraLargeTrucksTrafficVolumeJN(Integer extraLargeTrucksTrafficVolumeJN) {
this.extraLargeTrucksTrafficVolumeJN = extraLargeTrucksTrafficVolumeJN;
}
public Integer getExtraLargeTrucksTrafficVolumeHZ() {
return extraLargeTrucksTrafficVolumeHZ;
}
public void setExtraLargeTrucksTrafficVolumeHZ(Integer extraLargeTrucksTrafficVolumeHZ) {
this.extraLargeTrucksTrafficVolumeHZ = extraLargeTrucksTrafficVolumeHZ;
}
public Integer getContainerTruckTrafficVolumeJN() {
return containerTruckTrafficVolumeJN;
}
public void setContainerTruckTrafficVolumeJN(Integer containerTruckTrafficVolumeJN) {
this.containerTruckTrafficVolumeJN = containerTruckTrafficVolumeJN;
}
public Integer getContainerTruckTrafficVolumeHZ() {
return containerTruckTrafficVolumeHZ;
}
public void setContainerTruckTrafficVolumeHZ(Integer containerTruckTrafficVolumeHZ) {
this.containerTruckTrafficVolumeHZ = containerTruckTrafficVolumeHZ;
}
public Integer getMotorcycleTrafficVolumeJN() {
return motorcycleTrafficVolumeJN;
}
public void setMotorcycleTrafficVolumeJN(Integer motorcycleTrafficVolumeJN) {
this.motorcycleTrafficVolumeJN = motorcycleTrafficVolumeJN;
}
public Integer getMotorcycleTrafficVolumeHZ() {
return motorcycleTrafficVolumeHZ;
}
public void setMotorcycleTrafficVolumeHZ(Integer motorcycleTrafficVolumeHZ) {
this.motorcycleTrafficVolumeHZ = motorcycleTrafficVolumeHZ;
}
public Integer getTractorTrafficVolumeJN() {
return tractorTrafficVolumeJN;
}
public void setTractorTrafficVolumeJN(Integer tractorTrafficVolumeJN) {
this.tractorTrafficVolumeJN = tractorTrafficVolumeJN;
}
public Integer getTractorTrafficVolumeHZ() {
return tractorTrafficVolumeHZ;
}
public void setTractorTrafficVolumeHZ(Integer tractorTrafficVolumeHZ) {
this.tractorTrafficVolumeHZ = tractorTrafficVolumeHZ;
}
public Integer getTrafficVolumeJN() {
return trafficVolumeJN;
}
public void setTrafficVolumeJN(Integer trafficVolumeJN) {
this.trafficVolumeJN = trafficVolumeJN;
}
public Integer getTrafficVolumeHZ() {
return trafficVolumeHZ;
}
public void setTrafficVolumeHZ(Integer trafficVolumeHZ) {
this.trafficVolumeHZ = trafficVolumeHZ;
}
public Integer getAllTrafficVolume() {
return allTrafficVolume;
}
public void setAllTrafficVolume(Integer allTrafficVolume) {
this.allTrafficVolume = allTrafficVolume;
}
public String getTrafficNumberOfInAndSmallRatioHZ() {
return trafficNumberOfInAndSmallRatioHZ;
}
public void setTrafficNumberOfInAndSmallRatioHZ(String trafficNumberOfInAndSmallRatioHZ) {
this.trafficNumberOfInAndSmallRatioHZ = trafficNumberOfInAndSmallRatioHZ;
}
public String getTrafficNumberOfInAndSmallRatioJN() {
return trafficNumberOfInAndSmallRatioJN;
}
public void setTrafficNumberOfInAndSmallRatioJN(String trafficNumberOfInAndSmallRatioJN) {
this.trafficNumberOfInAndSmallRatioJN = trafficNumberOfInAndSmallRatioJN;
}
public String getBusTrafficVolumeRatioHZ() {
return busTrafficVolumeRatioHZ;
}
public void setBusTrafficVolumeRatioHZ(String busTrafficVolumeRatioHZ) {
this.busTrafficVolumeRatioHZ = busTrafficVolumeRatioHZ;
}
public String getBusTrafficVolumeRatioJN() {
return busTrafficVolumeRatioJN;
}
public void setBusTrafficVolumeRatioJN(String busTrafficVolumeRatioJN) {
this.busTrafficVolumeRatioJN = busTrafficVolumeRatioJN;
}
public String getTrafficVolumeOfSmallTrucksRatioHZ() {
return trafficVolumeOfSmallTrucksRatioHZ;
}
public void setTrafficVolumeOfSmallTrucksRatioHZ(String trafficVolumeOfSmallTrucksRatioHZ) {
this.trafficVolumeOfSmallTrucksRatioHZ = trafficVolumeOfSmallTrucksRatioHZ;
}
public String getTrafficVolumeOfSmallTrucksRatioJN() {
return trafficVolumeOfSmallTrucksRatioJN;
}
public void setTrafficVolumeOfSmallTrucksRatioJN(String trafficVolumeOfSmallTrucksRatioJN) {
this.trafficVolumeOfSmallTrucksRatioJN = trafficVolumeOfSmallTrucksRatioJN;
}
public String getMediumTruckTrafficVolumeRatioHZ() {
return mediumTruckTrafficVolumeRatioHZ;
}
public void setMediumTruckTrafficVolumeRatioHZ(String mediumTruckTrafficVolumeRatioHZ) {
this.mediumTruckTrafficVolumeRatioHZ = mediumTruckTrafficVolumeRatioHZ;
}
public String getMediumTruckTrafficVolumeRatioJN() {
return mediumTruckTrafficVolumeRatioJN;
}
public void setMediumTruckTrafficVolumeRatioJN(String mediumTruckTrafficVolumeRatioJN) {
this.mediumTruckTrafficVolumeRatioJN = mediumTruckTrafficVolumeRatioJN;
}
public String getLargeTruckTrafficVolumeRatioHZ() {
return largeTruckTrafficVolumeRatioHZ;
}
public void setLargeTruckTrafficVolumeRatioHZ(String largeTruckTrafficVolumeRatioHZ) {
this.largeTruckTrafficVolumeRatioHZ = largeTruckTrafficVolumeRatioHZ;
}
public String getLargeTruckTrafficVolumeRatioJN() {
return largeTruckTrafficVolumeRatioJN;
}
public void setLargeTruckTrafficVolumeRatioJN(String largeTruckTrafficVolumeRatioJN) {
this.largeTruckTrafficVolumeRatioJN = largeTruckTrafficVolumeRatioJN;
}
public String getExtraLargeTrucksTrafficVolumeRatioHZ() {
return extraLargeTrucksTrafficVolumeRatioHZ;
}
public void setExtraLargeTrucksTrafficVolumeRatioHZ(String extraLargeTrucksTrafficVolumeRatioHZ) {
this.extraLargeTrucksTrafficVolumeRatioHZ = extraLargeTrucksTrafficVolumeRatioHZ;
}
public String getExtraLargeTrucksTrafficVolumeRatioJN() {
return extraLargeTrucksTrafficVolumeRatioJN;
}
public void setExtraLargeTrucksTrafficVolumeRatioJN(String extraLargeTrucksTrafficVolumeRatioJN) {
this.extraLargeTrucksTrafficVolumeRatioJN = extraLargeTrucksTrafficVolumeRatioJN;
}
public String getTrafficVolumeRatioHZ() {
return trafficVolumeRatioHZ;
}
public void setTrafficVolumeRatioHZ(String trafficVolumeRatioHZ) {
this.trafficVolumeRatioHZ = trafficVolumeRatioHZ;
}
public String getTrafficVolumeRatioJN() {
return trafficVolumeRatioJN;
}
public void setTrafficVolumeRatioJN(String trafficVolumeRatioJN) {
this.trafficVolumeRatioJN = trafficVolumeRatioJN;
}
public Integer getAvgDailyTrafficVolume() {
return avgDailyTrafficVolume;
}
public void setAvgDailyTrafficVolume(Integer avgDailyTrafficVolume) {
this.avgDailyTrafficVolume = avgDailyTrafficVolume;
}
public String getYoyGrowthRate() {
return yoyGrowthRate;
}
public void setYoyGrowthRate(String yoyGrowthRate) {
this.yoyGrowthRate = yoyGrowthRate;
}
public String getMomGrowthRate() {
return momGrowthRate;
}
public void setMomGrowthRate(String momGrowthRate) {
this.momGrowthRate = momGrowthRate;
}
public DcTrafficVolumeDirectionDataByWeek(){}
public DcTrafficVolumeDirectionDataByWeek(DcTrafficVolumeDirectionData initData){
this.id = initData.getId();
this.iotDeviceId = initData.getIotDeviceId();
this.direction = initData.getDirection();
this.time = initData.getTime();
this.trafficNumberOfInAndSmallHZ = initData.getTrafficNumberOfInAndSmallHZ();
this.trafficNumberOfInAndSmallRatioHZ = initData.getTrafficNumberOfInAndSmallRatioHZ();
this.trafficNumberOfInAndSmallJN = initData.getTrafficNumberOfInAndSmallJN();
this.trafficNumberOfInAndSmallRatioJN = initData.getTrafficNumberOfInAndSmallRatioJN();
this.busTrafficVolumeHZ = initData.getBusTrafficVolumeHZ();
this.busTrafficVolumeRatioHZ = initData.getBusTrafficVolumeRatioHZ();
this.busTrafficVolumeJN = initData.getBusTrafficVolumeJN();
this.busTrafficVolumeRatioJN = initData.getBusTrafficVolumeRatioJN();
this.trafficVolumeOfSmallTrucksHZ = initData.getTrafficVolumeOfSmallTrucksHZ();
this.trafficVolumeOfSmallTrucksRatioHZ = initData.getTrafficVolumeOfSmallTrucksRatioHZ();
this.trafficVolumeOfSmallTrucksJN = initData.getTrafficVolumeOfSmallTrucksJN();
this.trafficVolumeOfSmallTrucksRatioJN = initData.getTrafficVolumeOfSmallTrucksRatioJN();
this.mediumTruckTrafficVolumeHZ = initData.getMediumTruckTrafficVolumeHZ();
this.mediumTruckTrafficVolumeRatioHZ = initData.getMediumTruckTrafficVolumeRatioHZ();
this.mediumTruckTrafficVolumeJN = initData.getMediumTruckTrafficVolumeJN();
this.mediumTruckTrafficVolumeRatioJN = initData.getMediumTruckTrafficVolumeRatioJN();
this.largeTruckTrafficVolumeHZ = initData.getLargeTruckTrafficVolumeHZ();
this.largeTruckTrafficVolumeRatioHZ = initData.getLargeTruckTrafficVolumeRatioHZ();
this.largeTruckTrafficVolumeJN = initData.getLargeTruckTrafficVolumeJN();
this.largeTruckTrafficVolumeRatioJN = initData.getLargeTruckTrafficVolumeRatioJN();
this.extraLargeTrucksTrafficVolumeHZ = initData.getExtraLargeTrucksTrafficVolumeHZ();
this.extraLargeTrucksTrafficVolumeRatioHZ = initData.getExtraLargeTrucksTrafficVolumeRatioHZ();
this.extraLargeTrucksTrafficVolumeJN = initData.getExtraLargeTrucksTrafficVolumeJN();
this.extraLargeTrucksTrafficVolumeRatioJN = initData.getExtraLargeTrucksTrafficVolumeRatioJN();
this.containerTruckTrafficVolumeHZ = initData.getContainerTruckTrafficVolumeHZ();
this.containerTruckTrafficVolumeJN = initData.getContainerTruckTrafficVolumeJN();
this.motorcycleTrafficVolumeHZ = initData.getMotorcycleTrafficVolumeHZ();
this.motorcycleTrafficVolumeJN = initData.getMotorcycleTrafficVolumeJN();
this.tractorTrafficVolumeHZ = initData.getTractorTrafficVolumeHZ();
this.tractorTrafficVolumeJN = initData.getTractorTrafficVolumeJN();
this.trafficVolumeHZ = initData.getTrafficVolumeHZ();
this.trafficVolumeRatioHZ = initData.getTrafficVolumeRatioHZ();
this.trafficVolumeJN = initData.getTrafficVolumeJN();
this.trafficVolumeRatioJN = initData.getTrafficVolumeRatioJN();
this.allTrafficVolume = initData.getAllTrafficVolume();
this.avgDailyTrafficVolume = initData.getAvgDailyTrafficVolume();
this.yoyGrowthRate = initData.getYoyGrowthRate();
this.momGrowthRate = initData.getMomGrowthRate();
}
}

1
zc-business/src/main/java/com/zc/business/mapper/DcTrafficSurveyDataMapper.java

@ -34,6 +34,7 @@ public interface DcTrafficSurveyDataMapper
List<DcTrafficSurveyData> selectMonth(DcTrafficSurveyData dcTrafficSurveyData);
List<DcTrafficSurveyData> selectYear(DcTrafficSurveyData dcTrafficSurveyData);
List<DcTrafficSurveyData> selectRange(DcTrafficSurveyData dcTrafficSurveyData);
List<DcTrafficSurveyData> selectWeek(DcTrafficSurveyData dcTrafficSurveyData);
/**
* 新增一类交调数据

481
zc-business/src/main/java/com/zc/business/service/impl/DcTrafficSurveyDataServiceImpl.java

@ -4,6 +4,8 @@ import java.io.IOException;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.*;
import java.util.stream.Collectors;
@ -70,6 +72,8 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
dataList = dcTrafficSurveyDataMapper.selectYear(dcTrafficSurveyData);
} else if (dcTrafficSurveyData.getType().equals("range")){
dataList = dcTrafficSurveyDataMapper.selectRange(dcTrafficSurveyData);
} else if (dcTrafficSurveyData.getType().equals("week")){
dataList = dcTrafficSurveyDataMapper.selectWeek(dcTrafficSurveyData);
}
Map<String,Map<String, Map<String, List<DcTrafficSurveyData>>>> groupedData = dataList.stream()
.collect(Collectors.groupingBy(
@ -209,6 +213,8 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
dataList = dcTrafficSurveyDataMapper.selectYear(dcTrafficSurveyData);
} else if (dcTrafficSurveyData.getType().equals("range")){
dataList = dcTrafficSurveyDataMapper.selectRange(dcTrafficSurveyData);
} else if (dcTrafficSurveyData.getType().equals("week")){
dataList = dcTrafficSurveyDataMapper.selectWeek(dcTrafficSurveyData);
}
Map<String,Map<String, Map<String, List<DcTrafficSurveyData>>>> groupedData = dataList.stream()
.collect(Collectors.groupingBy(
@ -281,6 +287,41 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
busRow.put("total",bus);
goodsCarRow.put("total",goodsCar);
totalRow.put("total",total);
//查询周数据时,计算周平均、日均
if (dcTrafficSurveyData.getType().equals("week")){
LocalDate timestamp = dcTrafficSurveyData.getTimestamp().toInstant()
.atZone(ZoneId.systemDefault())
.toLocalDate();
LocalDate now = LocalDate.now();
//查询的是当年
if (now.getYear() == timestamp.getYear()){
int dayOfYear = now.getDayOfYear();
row.put("avgDay",total / dayOfYear);
busRow.put("avgDay",bus / dayOfYear);
goodsCarRow.put("avgDay",goodsCar / dayOfYear);
totalRow.put("avgDay",total / dayOfYear);
int weekCount = (dayOfYear - 1) / 7 + 1;
row.put("avgWeek",total / weekCount);
busRow.put("avgWeek",bus / weekCount);
goodsCarRow.put("avgWeek",goodsCar / weekCount);
totalRow.put("avgWeek",total / weekCount);
} else {
int dayOfYear = timestamp.lengthOfYear();
row.put("avgDay",total / dayOfYear);
busRow.put("avgDay",bus / dayOfYear);
goodsCarRow.put("avgDay",goodsCar / dayOfYear);
totalRow.put("avgDay",total / dayOfYear);
row.put("avgWeek",total / 53);
busRow.put("avgWeek",bus / 53);
goodsCarRow.put("avgWeek",goodsCar / 53);
totalRow.put("avgWeek",total / 53);
}
}
} else {
for (Map<String, String> columnMap : columnList) {
row.put(columnMap.get("key"),0);
@ -320,6 +361,45 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
busRow.put("total",Integer.parseInt(busRow.get("total").toString()) + bus);
goodsCarRow.put("total",Integer.parseInt(goodsCarRow.get("total").toString()) + goodsCar);
totalRow.put("total",Integer.parseInt(totalRow.get("total").toString()) + total);
//查询周数据时,计算周平均、日均
if (dcTrafficSurveyData.getType().equals("week")){
LocalDate timestamp = dcTrafficSurveyData.getTimestamp().toInstant()
.atZone(ZoneId.systemDefault())
.toLocalDate();
LocalDate now = LocalDate.now();
int busTotal = Integer.parseInt(busRow.get("total").toString());
int goodsCarTotal = Integer.parseInt(goodsCarRow.get("total").toString());
int totalRowTotal = Integer.parseInt(totalRow.get("total").toString());
//查询的是当年
if (now.getYear() == timestamp.getYear()){
int dayOfYear = now.getDayOfYear();
row.put("avgDay",total / dayOfYear);
busRow.put("avgDay",busTotal / dayOfYear);
goodsCarRow.put("avgDay",goodsCarTotal / dayOfYear);
totalRow.put("avgDay",totalRowTotal / dayOfYear);
int weekCount = (dayOfYear - 1) / 7 + 1;
row.put("avgWeek",total / weekCount);
busRow.put("avgWeek",busTotal / weekCount);
goodsCarRow.put("avgWeek",goodsCarTotal / weekCount);
totalRow.put("avgWeek",totalRowTotal / weekCount);
} else {
int dayOfYear = timestamp.lengthOfYear();
row.put("avgDay",total / dayOfYear);
busRow.put("avgDay",busTotal / dayOfYear);
goodsCarRow.put("avgDay",goodsCarTotal / dayOfYear);
totalRow.put("avgDay",totalRowTotal / dayOfYear);
row.put("avgWeek",total / 53);
busRow.put("avgWeek",busTotal / 53);
goodsCarRow.put("avgWeek",goodsCarTotal / 53);
totalRow.put("avgWeek",totalRowTotal / 53);
}
}
} else {
for (Map<String, String> columnMap : columnList) {
row.put(columnMap.get("key"),0);
@ -347,8 +427,12 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
Integer allTotal = Integer.valueOf(totalRow.get("total").toString());
if (allTotal > 0){
busRatioRow.put("total",String.format("%.2f",(double) allBusTotal / allTotal * 100) + "%");
busRatioRow.put("avgWeek",String.format("%.2f",(double) allBusTotal / allTotal * 100) + "%");
busRatioRow.put("avgDay",String.format("%.2f",(double) allBusTotal / allTotal * 100) + "%");
} else {
busRatioRow.put("total","0.00%");
busRatioRow.put("avgWeek","0.00%");
busRatioRow.put("avgDay","0.00%");
}
rowList.add(busRatioRow);
@ -370,8 +454,12 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
Integer allGoodsCarTotal = Integer.valueOf(goodsCarRow.get("total").toString());
if (allTotal > 0){
goodsCarRatioRow.put("total",String.format("%.2f",(double) allGoodsCarTotal / allTotal * 100) + "%");
goodsCarRatioRow.put("avgWeek",String.format("%.2f",(double) allGoodsCarTotal / allTotal * 100) + "%");
goodsCarRatioRow.put("avgDay",String.format("%.2f",(double) allGoodsCarTotal / allTotal * 100) + "%");
} else {
goodsCarRatioRow.put("total","0.00%");
goodsCarRatioRow.put("avgWeek","0.00%");
goodsCarRatioRow.put("avgDay","0.00%");
}
rowList.add(goodsCarRatioRow);
@ -409,6 +497,34 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
}
row.put("total",total);
totalRow.put("total",total);
//查询周数据时,计算周平均、日均
if (dcTrafficSurveyData.getType().equals("week")){
LocalDate timestamp = dcTrafficSurveyData.getTimestamp().toInstant()
.atZone(ZoneId.systemDefault())
.toLocalDate();
LocalDate now = LocalDate.now();
//查询的是当年
if (now.getYear() == timestamp.getYear()){
int dayOfYear = now.getDayOfYear();
row.put("avgDay",total / dayOfYear);
totalRow.put("avgDay",total / dayOfYear);
int weekCount = (dayOfYear - 1) / 7 + 1;
row.put("avgWeek",total / weekCount);
totalRow.put("avgWeek",total / weekCount);
} else {
int dayOfYear = timestamp.lengthOfYear();
row.put("avgDay",total / dayOfYear);
totalRow.put("avgDay",total / dayOfYear);
row.put("avgWeek",total / 53);
totalRow.put("avgWeek",total / 53);
}
}
} else {
for (Map<String, String> columnMap : columnList) {
row.put(columnMap.get("key"),0);
@ -438,6 +554,37 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
}
row.put("total",total);
totalRow.put("total",Integer.parseInt(totalRow.get("total").toString()) + total);
//查询周数据时,计算周平均、日均
if (dcTrafficSurveyData.getType().equals("week")){
LocalDate timestamp = dcTrafficSurveyData.getTimestamp().toInstant()
.atZone(ZoneId.systemDefault())
.toLocalDate();
LocalDate now = LocalDate.now();
int totalRowTotal = Integer.parseInt(totalRow.get("total").toString());
//查询的是当年
if (now.getYear() == timestamp.getYear()){
int dayOfYear = now.getDayOfYear();
row.put("avgDay",total / dayOfYear);
totalRow.put("avgDay",totalRowTotal / dayOfYear);
int weekCount = (dayOfYear - 1) / 7 + 1;
row.put("avgWeek",total / weekCount);
totalRow.put("avgWeek",totalRowTotal / weekCount);
} else {
int dayOfYear = timestamp.lengthOfYear();
row.put("avgDay",total / dayOfYear);
totalRow.put("avgDay",totalRowTotal / dayOfYear);
row.put("avgWeek",total / 53);
totalRow.put("avgWeek",totalRowTotal / 53);
}
}
} else {
for (Map<String, String> columnMap : columnList) {
row.put(columnMap.get("key"),0);
@ -497,6 +644,38 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
busRow.put("total",bus);
goodsCarRow.put("total",goodsCar);
totalRow.put("total",total);
//查询周数据时,计算周平均、日均
if (dcTrafficSurveyData.getType().equals("week")){
LocalDate timestamp = dcTrafficSurveyData.getTimestamp().toInstant()
.atZone(ZoneId.systemDefault())
.toLocalDate();
LocalDate now = LocalDate.now();
//查询的是当年
if (now.getYear() == timestamp.getYear()){
int dayOfYear = now.getDayOfYear();
busRow.put("avgDay",bus / dayOfYear);
goodsCarRow.put("avgDay",goodsCar / dayOfYear);
totalRow.put("avgDay",total / dayOfYear);
int weekCount = (dayOfYear - 1) / 7 + 1;
busRow.put("avgWeek",bus / weekCount);
goodsCarRow.put("avgWeek",goodsCar / weekCount);
totalRow.put("avgWeek",total / weekCount);
} else {
int dayOfYear = timestamp.lengthOfYear();
row.put("avgDay",total / dayOfYear);
busRow.put("avgDay",bus / dayOfYear);
goodsCarRow.put("avgDay",goodsCar / dayOfYear);
totalRow.put("avgDay",total / dayOfYear);
row.put("avgWeek",total / 53);
busRow.put("avgWeek",bus / 53);
goodsCarRow.put("avgWeek",goodsCar / 53);
totalRow.put("avgWeek",total / 53);
}
}
}
//单个设备菏泽方向数据
@ -523,6 +702,45 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
busRow.put("total",Integer.parseInt(busRow.get("total").toString()) + bus);
goodsCarRow.put("total",Integer.parseInt(goodsCarRow.get("total").toString()) + goodsCar);
totalRow.put("total",Integer.parseInt(totalRow.get("total").toString()) + total);
//查询周数据时,计算周平均、日均
if (dcTrafficSurveyData.getType().equals("week")){
LocalDate timestamp = dcTrafficSurveyData.getTimestamp().toInstant()
.atZone(ZoneId.systemDefault())
.toLocalDate();
LocalDate now = LocalDate.now();
int busTotal = Integer.parseInt(busRow.get("total").toString());
int goodsCarTotal = Integer.parseInt(goodsCarRow.get("total").toString());
int totalRowTotal = Integer.parseInt(totalRow.get("total").toString());
//查询的是当年
if (now.getYear() == timestamp.getYear()){
int dayOfYear = now.getDayOfYear();
row.put("avgDay",total / dayOfYear);
busRow.put("avgDay",busTotal / dayOfYear);
goodsCarRow.put("avgDay",goodsCarTotal / dayOfYear);
totalRow.put("avgDay",totalRowTotal / dayOfYear);
int weekCount = (dayOfYear - 1) / 7 + 1;
row.put("avgWeek",total / weekCount);
busRow.put("avgWeek",busTotal / weekCount);
goodsCarRow.put("avgWeek",goodsCarTotal / weekCount);
totalRow.put("avgWeek",totalRowTotal / weekCount);
} else {
int dayOfYear = timestamp.lengthOfYear();
row.put("avgDay",total / dayOfYear);
busRow.put("avgDay",busTotal / dayOfYear);
goodsCarRow.put("avgDay",goodsCarTotal / dayOfYear);
totalRow.put("avgDay",totalRowTotal / dayOfYear);
row.put("avgWeek",total / 53);
busRow.put("avgWeek",busTotal / 53);
goodsCarRow.put("avgWeek",goodsCarTotal / 53);
totalRow.put("avgWeek",totalRowTotal / 53);
}
}
}
//客车
@ -544,8 +762,12 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
Integer allTotal = Integer.valueOf(totalRow.get("total").toString());
if (allTotal > 0){
busRatioRow.put("total",String.format("%.2f",(double) allBusTotal / allTotal * 100) + "%");
busRatioRow.put("avgWeek",String.format("%.2f",(double) allBusTotal / allTotal * 100) + "%");
busRatioRow.put("avgDay",String.format("%.2f",(double) allBusTotal / allTotal * 100) + "%");
} else {
busRatioRow.put("total","0.00%");
busRatioRow.put("avgWeek","0.00%");
busRatioRow.put("avgDay","0.00%");
}
rowList.add(busRatioRow);
@ -567,8 +789,12 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
Integer allGoodsCarTotal = Integer.valueOf(goodsCarRow.get("total").toString());
if (allTotal > 0){
goodsCarRatioRow.put("total",String.format("%.2f",(double) allGoodsCarTotal / allTotal * 100) + "%");
goodsCarRatioRow.put("avgWeek",String.format("%.2f",(double) allGoodsCarTotal / allTotal * 100) + "%");
goodsCarRatioRow.put("avgDay",String.format("%.2f",(double) allGoodsCarTotal / allTotal * 100) + "%");
} else {
goodsCarRatioRow.put("total","0.00%");
goodsCarRatioRow.put("avgWeek","0.00%");
goodsCarRatioRow.put("avgDay","0.00%");
}
rowList.add(goodsCarRatioRow);
@ -588,6 +814,10 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
row.put(columnMap.get("key"), 0);
}
row.put("total", 0);
if (dcTrafficSurveyData.getType().equals("week")){
row.put("avgWeek", 0);
row.put("avgDay", 0);
}
rowList.add(row);
row = new HashMap<>();
@ -597,6 +827,10 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
row.put(columnMap.get("key"), 0);
}
row.put("total", 0);
if (dcTrafficSurveyData.getType().equals("week")){
row.put("avgWeek", 0);
row.put("avgDay", 0);
}
rowList.add(row);
row = new HashMap<>();
@ -606,6 +840,10 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
row.put(columnMap.get("key"), 0);
}
row.put("total", 0);
if (dcTrafficSurveyData.getType().equals("week")){
row.put("avgWeek", 0);
row.put("avgDay", 0);
}
rowList.add(row);
row = new HashMap<>();
@ -615,6 +853,10 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
row.put(columnMap.get("key"), 0);
}
row.put("total", 0);
if (dcTrafficSurveyData.getType().equals("week")){
row.put("avgWeek", 0);
row.put("avgDay", 0);
}
rowList.add(row);
row = new HashMap<>();
@ -624,6 +866,10 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
row.put(columnMap.get("key"), 0);
}
row.put("total", 0);
if (dcTrafficSurveyData.getType().equals("week")){
row.put("avgWeek", 0);
row.put("avgDay", 0);
}
rowList.add(row);
row = new HashMap<>();
@ -633,6 +879,10 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
row.put(columnMap.get("key"), 0);
}
row.put("total", 0);
if (dcTrafficSurveyData.getType().equals("week")){
row.put("avgWeek", 0);
row.put("avgDay", 0);
}
rowList.add(row);
//单个设备合计数据
@ -643,6 +893,10 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
row.put(columnMap.get("key"), 0);
}
row.put("total", 0);
if (dcTrafficSurveyData.getType().equals("week")){
row.put("avgWeek", 0);
row.put("avgDay", 0);
}
rowList.add(row);
} else if (dcTrafficSurveyData.getRowType().equals("2")) {
row = new HashMap<>();
@ -652,6 +906,10 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
row.put(columnMap.get("key"), 0);
}
row.put("total", 0);
if (dcTrafficSurveyData.getType().equals("week")){
row.put("avgWeek", 0);
row.put("avgDay", 0);
}
rowList.add(row);
row = new HashMap<>();
@ -661,6 +919,10 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
row.put(columnMap.get("key"), 0);
}
row.put("total", 0);
if (dcTrafficSurveyData.getType().equals("week")){
row.put("avgWeek", 0);
row.put("avgDay", 0);
}
rowList.add(row);
//单个设备合计数据
@ -671,6 +933,10 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
row.put(columnMap.get("key"), 0);
}
row.put("total", 0);
if (dcTrafficSurveyData.getType().equals("week")){
row.put("avgWeek", 0);
row.put("avgDay", 0);
}
rowList.add(row);
} else {
row = new HashMap<>();
@ -680,6 +946,10 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
row.put(columnMap.get("key"), 0);
}
row.put("total", 0);
if (dcTrafficSurveyData.getType().equals("week")){
row.put("avgWeek", 0);
row.put("avgDay", 0);
}
rowList.add(row);
row = new HashMap<>();
@ -689,6 +959,10 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
row.put(columnMap.get("key"), 0);
}
row.put("total", 0);
if (dcTrafficSurveyData.getType().equals("week")){
row.put("avgWeek", 0);
row.put("avgDay", 0);
}
rowList.add(row);
row = new HashMap<>();
@ -698,6 +972,10 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
row.put(columnMap.get("key"), 0);
}
row.put("total", 0);
if (dcTrafficSurveyData.getType().equals("week")){
row.put("avgWeek", 0);
row.put("avgDay", 0);
}
rowList.add(row);
row = new HashMap<>();
@ -707,6 +985,10 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
row.put(columnMap.get("key"), 0);
}
row.put("total", 0);
if (dcTrafficSurveyData.getType().equals("week")){
row.put("avgWeek", 0);
row.put("avgDay", 0);
}
rowList.add(row);
//单个设备合计数据
@ -717,6 +999,10 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
row.put(columnMap.get("key"), 0);
}
row.put("total", 0);
if (dcTrafficSurveyData.getType().equals("week")){
row.put("avgWeek", 0);
row.put("avgDay", 0);
}
rowList.add(row);
}
}
@ -772,6 +1058,13 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
startCal.add(Calendar.DATE, 1);
}
} else if (dcTrafficSurveyData.getType().equals("week")){
for (int i = 1; i <= 53; i++) {
column = new HashMap<>();
column.put("label","第"+i+"周");
column.put("key",String.valueOf(i));
columnList.add(column);
}
}
return columnList;
}
@ -903,6 +1196,11 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
dcTrafficVolumeDirectionData.setTractorTrafficVolumeJN(trafficVolumeData.getTractorTrafficVolume());
dcTrafficVolumeDirectionData.setTrafficVolumeJN(trafficVolumeData.getTrafficVolume());
}
if ("5".equals(dcTrafficSurveyDataQueryParams.getType())){
dcTrafficVolumeDirectionData.setAvgDailyTrafficVolume(dcTrafficVolumeDirectionData.getAvgDailyTrafficVolume() + trafficVolumeData.getAvgDailyTrafficVolume());
}
}
dcTrafficVolumeDirectionData.setAllTrafficVolume(dcTrafficVolumeDirectionData.getTrafficVolumeHZ()+dcTrafficVolumeDirectionData.getTrafficVolumeJN());
@ -910,6 +1208,7 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
result.add(dcTrafficVolumeDirectionData);
}
//自然合计值
DcTrafficVolumeDirectionData naturalTotal = new DcTrafficVolumeDirectionData(0);
naturalTotal.setTime("自然合计值");
@ -936,6 +1235,8 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
naturalTotal.setTrafficVolumeJN(naturalTotal.getTrafficVolumeJN() + dcTrafficVolumeDirectionDatum.getTrafficVolumeJN());
naturalTotal.setAllTrafficVolume(naturalTotal.getTrafficVolumeJN() + naturalTotal.getTrafficVolumeHZ());
}
naturalTotal.setAvgDailyTrafficVolume(null);
//折算值
DcTrafficVolumeDirectionData conversionValue = new DcTrafficVolumeDirectionData(0);
conversionValue.setTime("折算值");
@ -972,6 +1273,7 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
conversionValue.getTractorTrafficVolumeJN();
conversionValue.setTrafficVolumeJN(trafficVolumeJN);
conversionValue.setAllTrafficVolume(trafficVolumeHZ + trafficVolumeJN);
conversionValue.setAvgDailyTrafficVolume(null);
//自然平均值
DcTrafficVolumeDirectionData naturalAvg = new DcTrafficVolumeDirectionData(0);
@ -1007,6 +1309,8 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
naturalAvg.getTractorTrafficVolumeJN();
naturalAvg.setTrafficVolumeJN(naturalAvgTrafficVolumeJN);
naturalAvg.setAllTrafficVolume(naturalAvgTrafficVolumeHZ + naturalAvgTrafficVolumeJN);
naturalAvg.setAvgDailyTrafficVolume(null);
//折算平均值
DcTrafficVolumeDirectionData conversionAvg = new DcTrafficVolumeDirectionData(0);
@ -1042,8 +1346,17 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
conversionAvg.getTractorTrafficVolumeJN();
conversionAvg.setTrafficVolumeJN(conversionAvgTrafficVolumeJN);
conversionAvg.setAllTrafficVolume(conversionAvgTrafficVolumeHZ + conversionAvgTrafficVolumeJN);
conversionAvg.setAvgDailyTrafficVolume(null);
if ("5".equals(dcTrafficSurveyDataQueryParams.getType())){
result = result.stream()
.sorted(Comparator.comparingInt(d -> extractWeekNumber(d.getTime())))
.collect(Collectors.toList());
calculateGrowthRates(result, dcTrafficSurveyDataQueryParams);
} else {
result = result.stream().sorted(Comparator.comparing(DcTrafficVolumeDirectionData::getTime)).collect(Collectors.toList());
}
result.add(naturalTotal);
result.add(conversionValue);
result.add(naturalAvg);
@ -1078,6 +1391,10 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
carTypeData.setGoodsCarRatioJN(String.format("%.2f", (double) carTypeData.getGoodsCarJN() / carTypeData.getTrafficVolumeJN() * 100) + "%");
carTypeData.setTrafficVolumeRatioHZ(String.format("%.2f", (double) carTypeData.getTrafficVolumeHZ() / carTypeData.getAllTrafficVolume() * 100) + "%");
carTypeData.setTrafficVolumeRatioJN(String.format("%.2f", (double) carTypeData.getTrafficVolumeJN() / carTypeData.getAllTrafficVolume() * 100) + "%");
carTypeData.setAvgDailyTrafficVolume(dcTrafficVolumeDirectionData.getAvgDailyTrafficVolume());
carTypeData.setYoyGrowthRate(dcTrafficVolumeDirectionData.getYoyGrowthRate());
carTypeData.setMomGrowthRate(dcTrafficVolumeDirectionData.getMomGrowthRate());
carTypeResult.add(carTypeData);
}
@ -1176,6 +1493,10 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
conversionAvg.getTractorTrafficVolume();
conversionAvg.setTrafficVolume(conversionAvgTrafficVolume);
if ("5".equals(dcTrafficSurveyDataQueryParams.getType())){
calculateGrowthRatesForNonDirection(dcTrafficVolumeData, dcTrafficSurveyDataQueryParams);
}
dcTrafficVolumeData.add(naturalTotal);
dcTrafficVolumeData.add(conversionValue);
dcTrafficVolumeData.add(naturalAvg);
@ -1204,6 +1525,9 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
carTypeData.setBusRatio(String.format("%.2f", (double) carTypeData.getBus() / carTypeData.getTrafficVolume() * 100) + "%");
carTypeData.setGoodsCarRatio(String.format("%.2f", (double) carTypeData.getGoodsCar() / carTypeData.getTrafficVolume() * 100) + "%");
carTypeData.setAvgDailyTrafficVolume(dcTrafficVolumeDatum.getAvgDailyTrafficVolume());
carTypeData.setYoyGrowthRate(dcTrafficVolumeDatum.getYoyGrowthRate());
carTypeData.setMomGrowthRate(dcTrafficVolumeDatum.getMomGrowthRate());
carTypeResult.add(carTypeData);
}
@ -1264,7 +1588,13 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
result.add(dcTrafficSpeedDirectionData);
}
if ("5".equals(dcTrafficSurveyDataQueryParams.getType())){
result = result.stream()
.sorted(Comparator.comparingInt(d -> extractWeekNumber(d.getTime())))
.collect(Collectors.toList());
} else {
result = result.stream().sorted(Comparator.comparing(DcTrafficSpeedDirectionData::getTime)).collect(Collectors.toList());
}
DcTrafficSpeedDirectionData avgSpeed = new DcTrafficSpeedDirectionData(0);
avgSpeed.setTime("车速平均值");
@ -1390,7 +1720,158 @@ public class DcTrafficSurveyDataServiceImpl implements IDcTrafficSurveyDataServi
return AjaxResult.success(dcTrafficSpeedData);
}
}
private void calculateGrowthRates(List<DcTrafficVolumeDirectionData> currentData, DcTrafficSurveyDataQueryParams params) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(params.getDate());
int currentYear = calendar.get(Calendar.YEAR);
DcTrafficSurveyDataQueryParams yoyParams = new DcTrafficSurveyDataQueryParams();
yoyParams.setIotDeviceId(params.getIotDeviceId());
yoyParams.setType("5");
yoyParams.setDataType("1");
yoyParams.setDirection("2");
yoyParams.setCarType(params.getCarType());
Calendar yoyCalendar = Calendar.getInstance();
yoyCalendar.set(currentYear - 1, 0, 1);
yoyParams.setDate(yoyCalendar.getTime());
List<DcTrafficVolumeData> yoyAllData = dcTrafficSurveyDataMapper.selectTrafficVolume(yoyParams);
Map<Integer, Integer> yoyWeekMap = new HashMap<>();
for (DcTrafficVolumeData data : yoyAllData) {
int weekNum = extractWeekNumber(data.getTime());
yoyWeekMap.put(weekNum, yoyWeekMap.getOrDefault(weekNum, 0) + data.getTrafficVolume());
}
for (DcTrafficVolumeDirectionData current : currentData) {
String weekStr = current.getTime();
int weekNum = extractWeekNumber(weekStr);
DcTrafficSurveyDataQueryParams momParams = new DcTrafficSurveyDataQueryParams();
momParams.setIotDeviceId(params.getIotDeviceId());
momParams.setType("5");
momParams.setDataType("1");
momParams.setDirection("2");
momParams.setCarType(params.getCarType());
Calendar momCalendar = Calendar.getInstance();
momCalendar.setTime(params.getDate());
momCalendar.add(Calendar.WEEK_OF_YEAR, -1);
momParams.setDate(momCalendar.getTime());
List<DcTrafficVolumeData> momData = dcTrafficSurveyDataMapper.selectTrafficVolume(momParams);
Integer currentAllTrafficVolume = current.getAllTrafficVolume();
Integer yoyTrafficVolume = yoyWeekMap.getOrDefault(weekNum, 0);
Integer momTrafficVolume = 0;
for (DcTrafficVolumeData data : momData) {
String momWeekStr = data.getTime();
int momWeekNum = extractWeekNumber(momWeekStr);
if (momWeekNum == weekNum - 1 || (weekNum == 1 && momWeekNum == 52)) {
momTrafficVolume += data.getTrafficVolume();
}
}
if (yoyTrafficVolume > 0) {
double yoyRate = ((double)(currentAllTrafficVolume - yoyTrafficVolume) / yoyTrafficVolume) * 100;
current.setYoyGrowthRate(String.format("%.2f", yoyRate) + "%");
} else {
current.setYoyGrowthRate("-");
}
if (momTrafficVolume > 0) {
double momRate = ((double)(currentAllTrafficVolume - momTrafficVolume) / momTrafficVolume) * 100;
current.setMomGrowthRate(String.format("%.2f", momRate) + "%");
} else {
current.setMomGrowthRate("-");
}
}
}
private void calculateGrowthRatesForNonDirection(List<DcTrafficVolumeData> currentData, DcTrafficSurveyDataQueryParams params) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(params.getDate());
int currentYear = calendar.get(Calendar.YEAR);
DcTrafficSurveyDataQueryParams yoyParams = new DcTrafficSurveyDataQueryParams();
yoyParams.setIotDeviceId(params.getIotDeviceId());
yoyParams.setType("5");
yoyParams.setDataType("1");
yoyParams.setDirection("2");
yoyParams.setCarType(params.getCarType());
Calendar yoyCalendar = Calendar.getInstance();
yoyCalendar.set(currentYear - 1, 0, 1);
yoyParams.setDate(yoyCalendar.getTime());
List<DcTrafficVolumeData> yoyAllData = dcTrafficSurveyDataMapper.selectTrafficVolume(yoyParams);
Map<Integer, Integer> yoyWeekMap = new HashMap<>();
for (DcTrafficVolumeData data : yoyAllData) {
int weekNum = extractWeekNumber(data.getTime());
yoyWeekMap.put(weekNum, yoyWeekMap.getOrDefault(weekNum, 0) + data.getTrafficVolume());
}
for (DcTrafficVolumeData current : currentData) {
String weekStr = current.getTime();
int weekNum = extractWeekNumber(weekStr);
DcTrafficSurveyDataQueryParams momParams = new DcTrafficSurveyDataQueryParams();
momParams.setIotDeviceId(params.getIotDeviceId());
momParams.setType("5");
momParams.setDataType("1");
momParams.setDirection("2");
momParams.setCarType(params.getCarType());
Calendar momCalendar = Calendar.getInstance();
momCalendar.setTime(params.getDate());
momCalendar.add(Calendar.WEEK_OF_YEAR, -1);
momParams.setDate(momCalendar.getTime());
List<DcTrafficVolumeData> momData = dcTrafficSurveyDataMapper.selectTrafficVolume(momParams);
Integer currentTrafficVolume = current.getTrafficVolume();
Integer yoyTrafficVolume = yoyWeekMap.getOrDefault(weekNum, 0);
Integer momTrafficVolume = 0;
for (DcTrafficVolumeData data : momData) {
String momWeekStr = data.getTime();
int momWeekNum = extractWeekNumber(momWeekStr);
if (momWeekNum == weekNum - 1 || (weekNum == 1 && momWeekNum == 52)) {
momTrafficVolume += data.getTrafficVolume();
}
}
if (yoyTrafficVolume > 0) {
double yoyRate = ((double)(currentTrafficVolume - yoyTrafficVolume) / yoyTrafficVolume) * 100;
current.setYoyGrowthRate(String.format("%.2f", yoyRate) + "%");
} else {
current.setYoyGrowthRate("-");
}
if (momTrafficVolume > 0) {
double momRate = ((double)(currentTrafficVolume - momTrafficVolume) / momTrafficVolume) * 100;
current.setMomGrowthRate(String.format("%.2f", momRate) + "%");
} else {
current.setMomGrowthRate("-");
}
}
}
private int getWeekNumber(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar.get(Calendar.WEEK_OF_YEAR);
}
private int extractWeekNumber(String weekStr) {
try {
String num = weekStr.replaceAll("[^0-9]", "");
return Integer.parseInt(num);
} catch (Exception e) {
return 0;
}
}
@Override
public DcTrafficSurveyData formatTrafficSurveyData(DcTrafficSurveyData dcTrafficSurveyData,JSONArray directionData){
Integer followingPercentage = 0; //跟车百分比

39
zc-business/src/main/resources/mapper/business/DcTrafficSurveyDataMapper.xml

@ -81,6 +81,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and DATE_FORMAT(`timestamp`,'%Y-%m-%d') &lt;= DATE_FORMAT(#{endTime},'%Y-%m-%d')
GROUP BY iot_device_id,direction,times
</select>
<select id="selectWeek" resultType="com.zc.business.domain.DcTrafficSurveyData">
SELECT iot_device_id,stake_mark,direction,
FLOOR(DATEDIFF(`timestamp`, DATE_FORMAT(#{timestamp}, '%Y-01-01')) / 7) + 1 times,
SUM(traffic_volume) trafficVolume,
SUM(traffic_number_of_in_and_small) + SUM(bus_traffic_volume) bus,
SUM(traffic_volume_of_small_trucks) + SUM(medium_truck_traffic_volume)
+ SUM(large_truck_traffic_volume) + SUM(extra_large_trucks_traffic_volume) goodsCar
FROM `dc_traffic_survey_data`
where DATE_FORMAT(`timestamp`,'%Y') = DATE_FORMAT(#{timestamp},'%Y')
GROUP BY iot_device_id,direction,times
</select>
<select id="selectTrafficVolume" resultType="com.zc.business.domain.DcTrafficVolumeData">
select
@ -97,6 +108,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<when test="type != null and type == '4'.toString">
date_format(`timestamp`, '%Y-%m-%d')
</when>
<when test="type != null and type == '5'.toString">
CONCAT('第', FLOOR(DATEDIFF(`timestamp`, DATE_FORMAT(#{date}, '%Y-01-01')) / 7) + 1, '周')
</when>
</choose> time,direction,
sum(traffic_volume) trafficVolume ,
sum(traffic_number_of_in_and_small) trafficNumberOfInAndSmall,
@ -108,6 +122,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
sum(container_truck_traffic_volume) containerTruckTrafficVolume,
sum(motorcycle_traffic_volume) motorcycleTrafficVolume,
sum(tractor_traffic_volume) tractorTrafficVolume
<if test="type != null and type == '5'.toString">
, ROUND(SUM(traffic_volume) / 7, 2) AS avgDailyTrafficVolume
</if>
FROM `dc_traffic_survey_data`
<where>
<if test="iotDeviceId != null and iotDeviceId != ''">
@ -126,10 +143,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and DATE_FORMAT(`timestamp`,'%Y-%m-%d') >= DATE_FORMAT(#{startTime},'%Y-%m-%d')
and DATE_FORMAT(`timestamp`,'%Y-%m-%d') &lt;= DATE_FORMAT(#{endTime},'%Y-%m-%d')
</if>
<if test="type != null and type == '5'.toString">
and DATE_FORMAT(`timestamp`,'%Y') = DATE_FORMAT(#{date},'%Y')
</if>
</where>
GROUP BY time
<if test="direction != null and direction == '1'.toString">,direction</if>
order by time
order by
<choose>
<when test="type != null and type == '5'.toString">
FLOOR(DATEDIFF(`timestamp`, DATE_FORMAT(#{date}, '%Y-01-01')) / 7) ASC
</when>
<otherwise>
time ASC
</otherwise>
</choose>
</select>
<select id="selectSpeed" resultType="com.zc.business.domain.DcTrafficSpeedData">
@ -174,6 +202,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<when test="type != null and type == '4'.toString">
date_format(`timestamp`, '%Y-%m-%d')
</when>
<when test="type != null and type == '5'.toString">
CONCAT('第', FLOOR(DATEDIFF(`timestamp`, DATE_FORMAT(#{date}, '%Y-01-01')) / 7) + 1, '周')
</when>
</choose> time,
ROUND(IFNULL(AVG(NULLIF(in_and_small_average_vehicle_speed, 0)),0), 0) AS inAndSmallAverageVehicleSpeed,
ROUND(IFNULL(AVG(NULLIF(average_speed_of_bus, 0)),0), 0) AS averageSpeedOfBus,
@ -200,7 +231,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</if>
<if test="type != null and type == '4'.toString">
and DATE_FORMAT(`timestamp`,'%Y-%m-%d') >= DATE_FORMAT(#{startTime},'%Y-%m-%d')
and DATE_FORMAT(`timestamp`,'%Y-%m-%d') &lt;= DATE_FORMAT(#{endTime},'%Y-%m-%d') </if>
and DATE_FORMAT(`timestamp`,'%Y-%m-%d') &lt;= DATE_FORMAT(#{endTime},'%Y-%m-%d')
</if>
<if test="type != null and type == '5'.toString">
and DATE_FORMAT(`timestamp`,'%Y') = DATE_FORMAT(#{date},'%Y')
</if>
</where>
GROUP BY time
<if test="direction != null and direction == '1'.toString">,direction</if>

Loading…
Cancel
Save