统计派车

master
lzq 2025-09-01 20:52:08 +08:00
parent d69593a949
commit 6d070241fc
5 changed files with 38 additions and 35 deletions

View File

@ -5,6 +5,7 @@ import com.njzscloud.common.core.utils.R;
import com.njzscloud.supervisory.config.AppProperties; import com.njzscloud.supervisory.config.AppProperties;
import com.njzscloud.supervisory.config.Company; import com.njzscloud.supervisory.config.Company;
import com.njzscloud.supervisory.statistics.service.StatisticsService; import com.njzscloud.supervisory.statistics.service.StatisticsService;
import com.njzscloud.supervisory.statistics.service.SupervisionStatisticsService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.ObjectProvider;
import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.CrossOrigin;
@ -20,8 +21,10 @@ import java.util.Map;
@RequestMapping("/statistics") @RequestMapping("/statistics")
public class StatisticsController { public class StatisticsController {
private final StatisticsService statisticsService; private final StatisticsService statisticsService;
private final SupervisionStatisticsService supervisionStatisticsService;
public StatisticsController(ObjectProvider<StatisticsService> statisticsService, AppProperties appProperties) { public StatisticsController(ObjectProvider<StatisticsService> statisticsService, AppProperties appProperties, SupervisionStatisticsService supervisionStatisticsService) {
this.supervisionStatisticsService = supervisionStatisticsService;
Map<Company, StatisticsService> map = GroupUtil.k_o(statisticsService.stream(), StatisticsService::getCompany); Map<Company, StatisticsService> map = GroupUtil.k_o(statisticsService.stream(), StatisticsService::getCompany);
Company company = appProperties.getCompany(); Company company = appProperties.getCompany();
log.info("当前公司: {}", company); log.info("当前公司: {}", company);
@ -44,5 +47,12 @@ public class StatisticsController {
return R.success(statisticsService.obtainOrder(userId)); return R.success(statisticsService.obtainOrder(userId));
} }
@GetMapping("/supervision/obtain_data")
public R<?> obtainData1() {
long l = System.currentTimeMillis();
Map<String, Object> data = supervisionStatisticsService.obtainData();
System.out.println("耗时: " + (System.currentTimeMillis() - l));
return R.success(data);
}
} }

View File

@ -1,28 +1,19 @@
package com.njzscloud.supervisory.statistics.controller; package com.njzscloud.supervisory.statistics.controller;
import com.njzscloud.common.core.utils.R; /* @Slf4j
import com.njzscloud.supervisory.statistics.service.SupervisionStatisticsService; @CrossOrigin
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
@Slf4j
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@RequestMapping("/statistics/supervision") @RequestMapping("/statistics/supervision") */
public class SupervisionStatisticsController { public class SupervisionStatisticsController {
private final SupervisionStatisticsService supervisionStatisticsService; // private final SupervisionStatisticsService supervisionStatisticsService;
@GetMapping("/obtain_data") /* @GetMapping("/obtain_data")
public R<?> obtainData() { public R<?> obtainData() {
long l = System.currentTimeMillis(); long l = System.currentTimeMillis();
Map<String, Object> data = supervisionStatisticsService.obtainData(); Map<String, Object> data = supervisionStatisticsService.obtainData();
System.out.println("耗时: " + (System.currentTimeMillis() - l)); System.out.println("耗时: " + (System.currentTimeMillis() - l));
return R.success(data); return R.success(data);
} } */
} }

View File

@ -17,7 +17,7 @@ public interface SupervisionStatisticsMapper {
Integer getTodayCarCount(); Integer getTodayCarCount();
RegionSummary getRegionSummary(); List<RegionSummary> getRegionSummary();
List<CompanySummary> getCompanySummary(); List<CompanySummary> getCompanySummary();

View File

@ -7,6 +7,7 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -26,21 +27,21 @@ public class SupervisionStatisticsService {
CarSummary carSummary = supervisionStatisticsMapper.getCarSummary(); CarSummary carSummary = supervisionStatisticsMapper.getCarSummary();
Integer todayCarCount = supervisionStatisticsMapper.getTodayCarCount(); Integer todayCarCount = supervisionStatisticsMapper.getTodayCarCount();
RegionSummary regionSummary = supervisionStatisticsMapper.getRegionSummary(); List<RegionSummary> regionSummary = supervisionStatisticsMapper.getRegionSummary();
List<CompanySummary> companySummary = supervisionStatisticsMapper.getCompanySummary(); List<CompanySummary> companySummary = supervisionStatisticsMapper.getCompanySummary();
List<StationInfo> stationInfo = supervisionStatisticsMapper.getStationInfo(); List<StationInfo> stationInfo = supervisionStatisticsMapper.getStationInfo();
List<Order> orders = supervisionStatisticsMapper.getOrders(); List<Order> orders = supervisionStatisticsMapper.getOrders();
return MapUtil.<String, Object>builder() return MapUtil.<String, Object>builder()
.put("dispatchSummary", dispatchSummary) .put("dispatchSummary", dispatchSummary == null ? new DispatchSummary() : dispatchSummary)
.put("yuYueSummary", yuYueSummary) .put("yuYueSummary", yuYueSummary == null ? new YuYueSummary() : yuYueSummary)
.put("disposeTotalWeight", disposeTotalWeight) .put("disposeTotalWeight", disposeTotalWeight == null ? 0 : disposeTotalWeight)
.put("carSummary", carSummary) .put("carSummary", carSummary == null ? new CarSummary() : carSummary)
.put("todayCarCount", todayCarCount) .put("todayCarCount", todayCarCount == null ? 0 : todayCarCount)
.put("regionSummary", regionSummary) .put("regionSummary", regionSummary == null ? new ArrayList<>() : regionSummary)
.put("companySummary", companySummary) .put("companySummary", companySummary == null ? new ArrayList<>() : companySummary)
.put("stationInfo", stationInfo) .put("stationInfo", stationInfo == null ? new ArrayList<>() : stationInfo)
.put("orders", orders) .put("orders", orders == null ? new ArrayList<>() : orders)
.build(); .build();
} }

View File

@ -14,12 +14,14 @@
AND car_number = '' AND car_number = ''
UNION ALL UNION ALL
SELECT COUNT(*) c, 1 t SELECT COUNT(*) c, 1 t
FROM ba_order_dispatch FROM ba_order_dispatch a
WHERE status = 1 INNER JOIN ba_order b ON b.order_no = a.order_no AND b.status NOT IN (1, 4, 5)
WHERE a.status = 1
UNION ALL UNION ALL
SELECT COUNT(*) c, 2 t SELECT COUNT(*) c, 2 t
FROM ba_order_dispatch FROM ba_order_dispatch a
WHERE status = 2 INNER JOIN ba_order b ON b.order_no = a.order_no AND b.status NOT IN (1, 4, 5)
WHERE a.status = 2
UNION ALL UNION ALL
SELECT COUNT(*) c, 3 t SELECT COUNT(*) c, 3 t
FROM ba_order_dispatch FROM ba_order_dispatch
@ -74,12 +76,12 @@
</select> </select>
<select id="getRegionSummary" resultType="com.njzscloud.supervisory.statistics.pojo.RegionSummary"> <select id="getRegionSummary" resultType="com.njzscloud.supervisory.statistics.pojo.RegionSummary">
SELECT a.address, SELECT b.address,
IFNULL(SUM(a.weight), 0) total_weight IFNULL(SUM(a.weight), 0) total_weight
FROM ba_order a FROM ba_order a
INNER JOIN ba_order_dispatch b ON b.order_no = a.order_no INNER JOIN ba_order_dispatch b ON b.order_no = a.order_no
WHERE a.status = 1 WHERE a.status = 1
GROUP BY a.address GROUP BY b.address
</select> </select>
<select id="getCompanySummary" resultType="com.njzscloud.supervisory.statistics.pojo.CompanySummary"> <select id="getCompanySummary" resultType="com.njzscloud.supervisory.statistics.pojo.CompanySummary">
@ -166,8 +168,6 @@
a.`cube`, a.`cube`,
a.transfer_uid, a.transfer_uid,
a.points, a.points,
a.tsp_photos,
a.zc_photos,
b.address, b.address,
b.lon, b.lon,
@ -183,5 +183,6 @@
FROM ba_order a FROM ba_order a
INNER JOIN ba_order_dispatch b ON b.order_no = a.order_no INNER JOIN ba_order_dispatch b ON b.order_no = a.order_no
WHERE b.status = 2 WHERE b.status = 2
LIMIT 50
</select> </select>
</mapper> </mapper>