统计派车

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

View File

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

View File

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

View File

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