From b3e2176ba9832b25af63fd7a405966941d9380bb Mon Sep 17 00:00:00 2001
From: zhizhijie <zhizhijie@users.noreply.gitee.com>
Date: 星期四, 17 九月 2026 16:28:56 +0800
Subject: [PATCH] feat(数据查看): 报表期前置 + 新增「投资」「能耗」数据分组;补汇总表问题汇总与测试报告
---
traffic-audit-server/src/main/java/com/trafficaudit/dataimport/controller/DataViewController.java | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 157 insertions(+), 0 deletions(-)
diff --git a/traffic-audit-server/src/main/java/com/trafficaudit/dataimport/controller/DataViewController.java b/traffic-audit-server/src/main/java/com/trafficaudit/dataimport/controller/DataViewController.java
index fea9403..1725e4e 100644
--- a/traffic-audit-server/src/main/java/com/trafficaudit/dataimport/controller/DataViewController.java
+++ b/traffic-audit-server/src/main/java/com/trafficaudit/dataimport/controller/DataViewController.java
@@ -14,6 +14,11 @@
import com.trafficaudit.dataimport.entity.ScaleSplitTransport;
import com.trafficaudit.dataimport.entity.TransportAuthVehicle;
import com.trafficaudit.dataimport.entity.VehicleTrackMileage;
+import com.trafficaudit.dataimport.entity.InvestmentMonthly;
+import com.trafficaudit.dataimport.entity.InvestmentProject;
+import com.trafficaudit.dataimport.entity.InvestmentSystem;
+import com.trafficaudit.dataimport.entity.EnergyVehicleQuarterly;
+import com.trafficaudit.dataimport.entity.EnergyAuthVehicle;
import com.trafficaudit.dataimport.mapper.FreightTurnoverImportMapper;
import com.trafficaudit.dataimport.mapper.H2032EnterpriseMonthlyMapper;
import com.trafficaudit.dataimport.mapper.PassengerAuthVehicleMapper;
@@ -24,6 +29,11 @@
import com.trafficaudit.dataimport.mapper.ScaleSplitTransportMapper;
import com.trafficaudit.dataimport.mapper.TransportAuthVehicleMapper;
import com.trafficaudit.dataimport.mapper.VehicleTrackMileageMapper;
+import com.trafficaudit.dataimport.mapper.InvestmentMonthlyMapper;
+import com.trafficaudit.dataimport.mapper.InvestmentProjectMapper;
+import com.trafficaudit.dataimport.mapper.InvestmentSystemMapper;
+import com.trafficaudit.dataimport.mapper.EnergyVehicleQuarterlyMapper;
+import com.trafficaudit.dataimport.mapper.EnergyAuthVehicleMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -64,6 +74,16 @@
private CityTaxiMonthlyMapper cityTaxiMapper;
@Resource
private CityTaxiAuthMapper cityTaxiAuthMapper;
+ @Resource
+ private InvestmentMonthlyMapper investmentMonthlyMapper;
+ @Resource
+ private InvestmentProjectMapper investmentProjectMapper;
+ @Resource
+ private InvestmentSystemMapper investmentSystemMapper;
+ @Resource
+ private EnergyVehicleQuarterlyMapper energyVehicleMapper;
+ @Resource
+ private EnergyAuthVehicleMapper energyAuthMapper;
@GetMapping("/list")
public Result<Map<String, Object>> list(@RequestParam("type") String type,
@@ -199,6 +219,76 @@
fillPage(result, r);
break;
}
+ case "investmentMonthly": {
+ java.util.List<Long> pids = new ArrayList<>();
+ if (!kw.isEmpty()) {
+ for (InvestmentProject ip : investmentProjectMapper.selectList(
+ new LambdaQueryWrapper<InvestmentProject>().like(InvestmentProject::getProjectName, kw))) {
+ pids.add(ip.getId());
+ }
+ if (pids.isEmpty()) {
+ result.put("records", new ArrayList<>());
+ result.put("total", 0L);
+ result.put("current", safePage);
+ result.put("size", safeSize);
+ break;
+ }
+ }
+ LambdaQueryWrapper<InvestmentMonthly> w = new LambdaQueryWrapper<InvestmentMonthly>()
+ .eq(notEmpty(period), InvestmentMonthly::getReportPeriod, period)
+ .in(!pids.isEmpty(), InvestmentMonthly::getProjectId, pids)
+ .orderByAsc(InvestmentMonthly::getProjectId)
+ .orderByAsc(InvestmentMonthly::getId);
+ Page<InvestmentMonthly> p = new Page<>(safePage, safeSize);
+ Page<InvestmentMonthly> r = investmentMonthlyMapper.selectPage(p, w);
+ result.put("records", toMaps(r.getRecords(), propsOf(INVEST_MONTHLY_COLUMNS)));
+ fillPage(result, r);
+ break;
+ }
+ case "investmentProject": {
+ LambdaQueryWrapper<InvestmentProject> w = new LambdaQueryWrapper<InvestmentProject>()
+ .like(!kw.isEmpty(), InvestmentProject::getProjectName, kw)
+ .orderByAsc(InvestmentProject::getCity)
+ .orderByAsc(InvestmentProject::getId);
+ Page<InvestmentProject> p = new Page<>(safePage, safeSize);
+ Page<InvestmentProject> r = investmentProjectMapper.selectPage(p, w);
+ result.put("records", toMaps(r.getRecords(), propsOf(INVEST_PROJECT_COLUMNS)));
+ fillPage(result, r);
+ break;
+ }
+ case "investmentSystem": {
+ LambdaQueryWrapper<InvestmentSystem> w = new LambdaQueryWrapper<InvestmentSystem>()
+ .eq(notEmpty(period), InvestmentSystem::getReportPeriod, period)
+ .like(!kw.isEmpty(), InvestmentSystem::getProjectName, kw)
+ .orderByDesc(InvestmentSystem::getId);
+ Page<InvestmentSystem> p = new Page<>(safePage, safeSize);
+ Page<InvestmentSystem> r = investmentSystemMapper.selectPage(p, w);
+ result.put("records", toMaps(r.getRecords(), propsOf(INVEST_SYSTEM_COLUMNS)));
+ fillPage(result, r);
+ break;
+ }
+ case "energyVehicle": {
+ LambdaQueryWrapper<EnergyVehicleQuarterly> w = new LambdaQueryWrapper<EnergyVehicleQuarterly>()
+ .eq(notEmpty(period), EnergyVehicleQuarterly::getReportPeriod, period)
+ .like(!kw.isEmpty(), EnergyVehicleQuarterly::getEnterpriseName, kw)
+ .orderByDesc(EnergyVehicleQuarterly::getId);
+ Page<EnergyVehicleQuarterly> p = new Page<>(safePage, safeSize);
+ Page<EnergyVehicleQuarterly> r = energyVehicleMapper.selectPage(p, w);
+ result.put("records", toMaps(r.getRecords(), propsOf(ENERGY_VEHICLE_COLUMNS)));
+ fillPage(result, r);
+ break;
+ }
+ case "energyAuth": {
+ LambdaQueryWrapper<EnergyAuthVehicle> w = new LambdaQueryWrapper<EnergyAuthVehicle>()
+ .eq(notEmpty(period), EnergyAuthVehicle::getReportPeriod, period)
+ .like(!kw.isEmpty(), EnergyAuthVehicle::getPlateNo, kw)
+ .orderByDesc(EnergyAuthVehicle::getId);
+ Page<EnergyAuthVehicle> p = new Page<>(safePage, safeSize);
+ Page<EnergyAuthVehicle> r = energyAuthMapper.selectPage(p, w);
+ result.put("records", toMaps(r.getRecords(), propsOf(ENERGY_AUTH_COLUMNS)));
+ fillPage(result, r);
+ break;
+ }
default:
result.put("records", new ArrayList<>());
result.put("total", 0L);
@@ -251,6 +341,11 @@
case "cityTaxi": return TAXI_COLUMNS;
case "cityTaxiAuth": return TAXI_AUTH_COLUMNS;
case "passengerAuth": return PAUTH_COLUMNS;
+ case "investmentMonthly": return INVEST_MONTHLY_COLUMNS;
+ case "investmentProject": return INVEST_PROJECT_COLUMNS;
+ case "investmentSystem": return INVEST_SYSTEM_COLUMNS;
+ case "energyVehicle": return ENERGY_VEHICLE_COLUMNS;
+ case "energyAuth": return ENERGY_AUTH_COLUMNS;
default: return new ArrayList<>();
}
}
@@ -274,6 +369,11 @@
private static final List<Map<String, Object>> BUS_COLUMNS = new ArrayList<>();
private static final List<Map<String, Object>> TAXI_COLUMNS = new ArrayList<>();
private static final List<Map<String, Object>> TAXI_AUTH_COLUMNS = new ArrayList<>();
+ private static final List<Map<String, Object>> INVEST_MONTHLY_COLUMNS = new ArrayList<>();
+ private static final List<Map<String, Object>> INVEST_PROJECT_COLUMNS = new ArrayList<>();
+ private static final List<Map<String, Object>> INVEST_SYSTEM_COLUMNS = new ArrayList<>();
+ private static final List<Map<String, Object>> ENERGY_VEHICLE_COLUMNS = new ArrayList<>();
+ private static final List<Map<String, Object>> ENERGY_AUTH_COLUMNS = new ArrayList<>();
static {
H2032_COLUMNS.add(col("reportPeriod", "鎶ヨ〃鏈�", 100));
@@ -447,5 +547,62 @@
PAUTH_COLUMNS.add(col("enterpriseName", "浼佷笟鍚嶇О", 240));
PAUTH_COLUMNS.add(col("vehicleCount", "杞﹁締鏁�", 100));
PAUTH_COLUMNS.add(col("seatCount", "杞藉浣嶆暟", 100));
+ INVEST_MONTHLY_COLUMNS.add(col("reportPeriod", "鎶ヨ〃鏈�", 100));
+ INVEST_MONTHLY_COLUMNS.add(col("projectId", "椤圭洰ID", 80));
+ INVEST_MONTHLY_COLUMNS.add(col("yearPlan", "鏈勾璁″垝鎶曡祫(涓囧厓)", 140));
+ INVEST_MONTHLY_COLUMNS.add(col("yearCum", "鑷勾鍒濈疮璁″畬鎴�(涓囧厓)", 160));
+ INVEST_MONTHLY_COLUMNS.add(col("monthDone", "鏈湀瀹屾垚鎶曡祫(涓囧厓)", 150));
+ INVEST_MONTHLY_COLUMNS.add(col("startCum", "鑷紑濮嬪缓璁剧疮璁″畬鎴�(涓囧厓)", 180));
+ INVEST_MONTHLY_COLUMNS.add(col("progressStage", "寤鸿闃舵", 120));
+ INVEST_MONTHLY_COLUMNS.add(col("progressDesc", "褰㈣薄杩涘害", 320));
+ INVEST_MONTHLY_COLUMNS.add(col("buildingArea", "寤虹瓚闈㈢Н", 110));
+ INVEST_PROJECT_COLUMNS.add(col("projectName", "椤圭洰鍚嶇О", 260));
+ INVEST_PROJECT_COLUMNS.add(col("category", "绫诲埆", 100));
+ INVEST_PROJECT_COLUMNS.add(col("city", "甯傚窞", 90));
+ INVEST_PROJECT_COLUMNS.add(col("county", "鍘匡紙甯傘�佸尯锛�", 120));
+ INVEST_PROJECT_COLUMNS.add(col("builderName", "寤鸿鍗曚綅", 200));
+ INVEST_PROJECT_COLUMNS.add(col("constructNature", "寤鸿鎬ц川", 100));
+ INVEST_PROJECT_COLUMNS.add(col("startTime", "寮�宸ュ勾", 90));
+ INVEST_PROJECT_COLUMNS.add(col("endTime", "瀹屽伐骞�", 90));
+ INVEST_PROJECT_COLUMNS.add(col("totalInvestment", "鎬绘姇璧�(涓囧厓)", 130));
+ INVEST_PROJECT_COLUMNS.add(col("buildingArea", "寤虹瓚闈㈢Н", 110));
+ INVEST_PROJECT_COLUMNS.add(col("approvalGk", "宸ュ彲鎴栨牳鍑嗘壒澶嶆枃鍙�", 200));
+ INVEST_PROJECT_COLUMNS.add(col("approvalCs", "鍒濊鎴栨柦宸ュ浘鎵瑰鏂囧彿", 200));
+ INVEST_PROJECT_COLUMNS.add(col("source", "鏉ユ簮", 100));
+ INVEST_SYSTEM_COLUMNS.add(col("reportPeriod", "鎶ヨ〃鏈�", 100));
+ INVEST_SYSTEM_COLUMNS.add(col("projectName", "椤圭洰鍚嶇О", 260));
+ INVEST_SYSTEM_COLUMNS.add(col("totalInvestment", "鎬绘姇璧�(涓囧厓)", 130));
+ INVEST_SYSTEM_COLUMNS.add(col("startCum", "鑷紑濮嬪缓璁剧疮璁″畬鎴�(涓囧厓)", 180));
+ INVEST_SYSTEM_COLUMNS.add(col("yearPlan", "鏈勾璁″垝鎶曡祫(涓囧厓)", 140));
+ INVEST_SYSTEM_COLUMNS.add(col("yearCum", "鑷勾鍒濈疮璁″畬鎴�(涓囧厓)", 160));
+ INVEST_SYSTEM_COLUMNS.add(col("monthDone", "鏈湀瀹屾垚鎶曡祫(涓囧厓)", 150));
+ ENERGY_VEHICLE_COLUMNS.add(col("reportPeriod", "鎶ヨ〃鏈�", 100));
+ ENERGY_VEHICLE_COLUMNS.add(col("regionCode", "鎵�灞炲湴鍖�", 100));
+ ENERGY_VEHICLE_COLUMNS.add(col("enterpriseName", "浼佷笟鍚嶇О", 220));
+ ENERGY_VEHICLE_COLUMNS.add(col("plateNo", "杞︾墝鍙�", 110));
+ ENERGY_VEHICLE_COLUMNS.add(col("vehicleType", "杞﹁締绫诲瀷", 130));
+ ENERGY_VEHICLE_COLUMNS.add(col("fuelType", "鐕冩枡绫诲瀷", 110));
+ ENERGY_VEHICLE_COLUMNS.add(col("manufactureYear", "鍑哄巶骞翠唤", 100));
+ ENERGY_VEHICLE_COLUMNS.add(col("markedTonnage", "鏍囪鍚ㄤ綅", 100));
+ ENERGY_VEHICLE_COLUMNS.add(col("totalMileage", "鎬昏椹堕噷绋�(鍏噷)", 150));
+ ENERGY_VEHICLE_COLUMNS.add(col("loadedMileage", "閲嶈浇閲岀▼(鍏噷)", 140));
+ ENERGY_VEHICLE_COLUMNS.add(col("emptyMileage", "绌鸿浇閲岀▼(鍏噷)", 140));
+ ENERGY_VEHICLE_COLUMNS.add(col("freight", "璐ц繍閲�(鍚�)", 120));
+ ENERGY_VEHICLE_COLUMNS.add(col("turnover", "鍛ㄨ浆閲�(鍚ㄥ叕閲�)", 140));
+ ENERGY_VEHICLE_COLUMNS.add(col("tripCount", "杞︽", 90));
+ ENERGY_VEHICLE_COLUMNS.add(col("fuelUnit", "鐕冩枡鍗曚綅", 100));
+ ENERGY_VEHICLE_COLUMNS.add(col("fuelConsumption", "鐕冩枡娑堣�楅噺", 120));
+ ENERGY_VEHICLE_COLUMNS.add(col("avgDistance", "骞冲潎杩愯窛", 110));
+ ENERGY_VEHICLE_COLUMNS.add(col("avgLoadedTonnage", "骞冲潎杞介噸鍚ㄤ綅", 130));
+ ENERGY_VEHICLE_COLUMNS.add(col("avgTripMileage", "骞冲潎杞︽閲岀▼", 130));
+ ENERGY_VEHICLE_COLUMNS.add(col("fuelPer100km", "鐧惧叕閲屾补鑰�", 120));
+ ENERGY_VEHICLE_COLUMNS.add(col("turnoverFuel", "鍛ㄨ浆閲忔补鑰�", 120));
+ ENERGY_AUTH_COLUMNS.add(col("reportPeriod", "鎶ヨ〃鏈�", 100));
+ ENERGY_AUTH_COLUMNS.add(col("plateNo", "杞︾墝鍙�", 110));
+ ENERGY_AUTH_COLUMNS.add(col("vehicleType", "杞﹁締绫诲瀷", 130));
+ ENERGY_AUTH_COLUMNS.add(col("fuelType", "鐕冩枡绫诲瀷", 110));
+ ENERGY_AUTH_COLUMNS.add(col("markedTonnage", "鏍囪鍚ㄤ綅", 100));
+ ENERGY_AUTH_COLUMNS.add(col("tractionQuality", "鐗靛紩璐ㄩ噺", 110));
+
}
}
\ No newline at end of file
--
Gitblit v1.9.1