xyc
5 天以前 664cae654867b528ea339f187ebe290cb04d6fcf
traffic-audit-server/src/main/java/com/trafficaudit/dataimport/controller/DataViewController.java
@@ -6,11 +6,21 @@
import com.trafficaudit.common.Result;
import com.trafficaudit.dataimport.entity.FreightTurnoverImport;
import com.trafficaudit.dataimport.entity.H2032EnterpriseMonthly;
import com.trafficaudit.dataimport.entity.PassengerAuthVehicle;
import com.trafficaudit.dataimport.entity.CityBusMonthly;
import com.trafficaudit.dataimport.entity.CityTaxiAuth;
import com.trafficaudit.dataimport.entity.CityTaxiMonthly;
import com.trafficaudit.dataimport.entity.PassengerEnterpriseMonthly;
import com.trafficaudit.dataimport.entity.ScaleSplitTransport;
import com.trafficaudit.dataimport.entity.TransportAuthVehicle;
import com.trafficaudit.dataimport.entity.VehicleTrackMileage;
import com.trafficaudit.dataimport.mapper.FreightTurnoverImportMapper;
import com.trafficaudit.dataimport.mapper.H2032EnterpriseMonthlyMapper;
import com.trafficaudit.dataimport.mapper.PassengerAuthVehicleMapper;
import com.trafficaudit.dataimport.mapper.CityBusMonthlyMapper;
import com.trafficaudit.dataimport.mapper.CityTaxiAuthMapper;
import com.trafficaudit.dataimport.mapper.CityTaxiMonthlyMapper;
import com.trafficaudit.dataimport.mapper.PassengerEnterpriseMonthlyMapper;
import com.trafficaudit.dataimport.mapper.ScaleSplitTransportMapper;
import com.trafficaudit.dataimport.mapper.TransportAuthVehicleMapper;
import com.trafficaudit.dataimport.mapper.VehicleTrackMileageMapper;
@@ -44,6 +54,16 @@
    private ScaleSplitTransportMapper scaleSplitMapper;
    @Resource
    private FreightTurnoverImportMapper freightTurnoverMapper;
    @Resource
    private PassengerEnterpriseMonthlyMapper passengerMapper;
    @Resource
    private PassengerAuthVehicleMapper passengerAuthMapper;
    @Resource
    private CityBusMonthlyMapper cityBusMapper;
    @Resource
    private CityTaxiMonthlyMapper cityTaxiMapper;
    @Resource
    private CityTaxiAuthMapper cityTaxiAuthMapper;
    @GetMapping("/list")
    public Result<Map<String, Object>> list(@RequestParam("type") String type,
@@ -113,6 +133,61 @@
                fillPage(result, r);
                break;
            }
            case "h2031": {
                LambdaQueryWrapper<PassengerEnterpriseMonthly> w = new LambdaQueryWrapper<PassengerEnterpriseMonthly>()
                        .eq(notEmpty(period), PassengerEnterpriseMonthly::getReportPeriod, period)
                        .like(!kw.isEmpty(), PassengerEnterpriseMonthly::getEnterpriseName, kw)
                        .orderByDesc(PassengerEnterpriseMonthly::getId);
                Page<PassengerEnterpriseMonthly> p = new Page<>(safePage, safeSize);
                Page<PassengerEnterpriseMonthly> r = passengerMapper.selectPage(p, w);
                result.put("records", toMaps(r.getRecords(), propsOf(H2031_COLUMNS)));
                fillPage(result, r);
                break;
            }
            case "cityBus": {
                LambdaQueryWrapper<CityBusMonthly> w = new LambdaQueryWrapper<CityBusMonthly>()
                        .eq(notEmpty(period), CityBusMonthly::getReportPeriod, period)
                        .like(!kw.isEmpty(), CityBusMonthly::getEnterpriseName, kw)
                        .orderByDesc(CityBusMonthly::getId);
                Page<CityBusMonthly> p = new Page<>(safePage, safeSize);
                Page<CityBusMonthly> r = cityBusMapper.selectPage(p, w);
                result.put("records", toMaps(r.getRecords(), propsOf(BUS_COLUMNS)));
                fillPage(result, r);
                break;
            }
            case "cityTaxi": {
                LambdaQueryWrapper<CityTaxiMonthly> w = new LambdaQueryWrapper<CityTaxiMonthly>()
                        .eq(notEmpty(period), CityTaxiMonthly::getReportPeriod, period)
                        .like(!kw.isEmpty(), CityTaxiMonthly::getCity, kw)
                        .orderByAsc(CityTaxiMonthly::getId);
                Page<CityTaxiMonthly> p = new Page<>(safePage, safeSize);
                Page<CityTaxiMonthly> r = cityTaxiMapper.selectPage(p, w);
                result.put("records", toMaps(r.getRecords(), propsOf(TAXI_COLUMNS)));
                fillPage(result, r);
                break;
            }
            case "cityTaxiAuth": {
                LambdaQueryWrapper<CityTaxiAuth> w = new LambdaQueryWrapper<CityTaxiAuth>()
                        .eq(notEmpty(period), CityTaxiAuth::getReportPeriod, period)
                        .like(!kw.isEmpty(), CityTaxiAuth::getCity, kw)
                        .orderByDesc(CityTaxiAuth::getId);
                Page<CityTaxiAuth> p = new Page<>(safePage, safeSize);
                Page<CityTaxiAuth> r = cityTaxiAuthMapper.selectPage(p, w);
                result.put("records", toMaps(r.getRecords(), propsOf(TAXI_AUTH_COLUMNS)));
                fillPage(result, r);
                break;
            }
            case "passengerAuth": {
                LambdaQueryWrapper<PassengerAuthVehicle> w = new LambdaQueryWrapper<PassengerAuthVehicle>()
                        .eq(notEmpty(period), PassengerAuthVehicle::getReportPeriod, period)
                        .like(!kw.isEmpty(), PassengerAuthVehicle::getEnterpriseName, kw)
                        .orderByDesc(PassengerAuthVehicle::getId);
                Page<PassengerAuthVehicle> p = new Page<>(safePage, safeSize);
                Page<PassengerAuthVehicle> r = passengerAuthMapper.selectPage(p, w);
                result.put("records", toMaps(r.getRecords(), propsOf(PAUTH_COLUMNS)));
                fillPage(result, r);
                break;
            }
            case "freightTurnover": {
                LambdaQueryWrapper<FreightTurnoverImport> w = new LambdaQueryWrapper<FreightTurnoverImport>()
                        .eq(notEmpty(period), FreightTurnoverImport::getReportPeriod, period)
@@ -171,6 +246,11 @@
            case "trackMileage": return TRACK_COLUMNS;
            case "scaleSplit": return SPLIT_COLUMNS;
            case "freightTurnover": return FREIGHT_COLUMNS;
            case "h2031": return H2031_COLUMNS;
            case "cityBus": return BUS_COLUMNS;
            case "cityTaxi": return TAXI_COLUMNS;
            case "cityTaxiAuth": return TAXI_AUTH_COLUMNS;
            case "passengerAuth": return PAUTH_COLUMNS;
            default: return new ArrayList<>();
        }
    }
@@ -181,6 +261,7 @@
        m.put("label", label);
        m.put("width", width);
        return m;
    }
    private static final List<Map<String, Object>> H2032_COLUMNS = new ArrayList<>();
@@ -188,6 +269,11 @@
    private static final List<Map<String, Object>> TRACK_COLUMNS = new ArrayList<>();
    private static final List<Map<String, Object>> SPLIT_COLUMNS = new ArrayList<>();
    private static final List<Map<String, Object>> FREIGHT_COLUMNS = new ArrayList<>();
    private static final List<Map<String, Object>> H2031_COLUMNS = new ArrayList<>();
    private static final List<Map<String, Object>> PAUTH_COLUMNS = new ArrayList<>();
    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<>();
    static {
        H2032_COLUMNS.add(col("reportPeriod", "报表期", 100));
@@ -268,5 +354,96 @@
        for (int m = 1; m <= 12; m++) {
            FREIGHT_COLUMNS.add(col(String.format("lastTurnoverM%02d", m), "去年周转量" + m + "月", 140));
        }
        H2031_COLUMNS.add(col("reportPeriod", "报表期", 100));
        H2031_COLUMNS.add(col("regionCode", "所属地区", 100));
        H2031_COLUMNS.add(col("enterpriseCode", "企业代码", 130));
        H2031_COLUMNS.add(col("enterpriseName", "企业名称", 220));
        H2031_COLUMNS.add(col("vehicleTotal", "客运车辆合计", 110));
        H2031_COLUMNS.add(col("seatTotal", "核定载客位合计", 130));
        H2031_COLUMNS.add(col("vehicleSchedule", "班线车辆数", 110));
        H2031_COLUMNS.add(col("seatSchedule", "班线载客位", 110));
        H2031_COLUMNS.add(col("vehicleCharter", "包车车辆数", 110));
        H2031_COLUMNS.add(col("seatCharter", "包车载客位", 110));
        H2031_COLUMNS.add(col("passengerTotal", "客运量合计", 110));
        H2031_COLUMNS.add(col("turnoverTotal", "周转量合计", 110));
        H2031_COLUMNS.add(col("passengerClass1", "客运量一类", 110));
        H2031_COLUMNS.add(col("passengerClass2", "客运量二类", 110));
        H2031_COLUMNS.add(col("passengerClass3", "客运量三类", 110));
        H2031_COLUMNS.add(col("passengerClass4", "客运量四类", 110));
        H2031_COLUMNS.add(col("passengerCharter", "客运量包车", 110));
        H2031_COLUMNS.add(col("turnoverClass1", "周转量一类", 110));
        H2031_COLUMNS.add(col("turnoverClass2", "周转量二类", 110));
        H2031_COLUMNS.add(col("turnoverClass3", "周转量三类", 110));
        H2031_COLUMNS.add(col("turnoverClass4", "周转量四类", 110));
        H2031_COLUMNS.add(col("turnoverCharter", "周转量包车", 110));
        H2031_COLUMNS.add(col("avgDistanceTotal", "平均运距合计", 120));
        H2031_COLUMNS.add(col("avgDistanceClass1", "一类平均运距", 120));
        H2031_COLUMNS.add(col("avgDistanceClass2", "二类平均运距", 120));
        H2031_COLUMNS.add(col("avgDistanceClass3", "三类平均运距", 120));
        H2031_COLUMNS.add(col("avgDistanceClass4", "四类平均运距", 120));
        H2031_COLUMNS.add(col("avgDistanceCharter", "包车平均运距", 120));
        BUS_COLUMNS.add(col("reportPeriod", "报表期", 100));
        BUS_COLUMNS.add(col("regionCode", "所属地区", 100));
        BUS_COLUMNS.add(col("city", "市州", 110));
        BUS_COLUMNS.add(col("enterpriseName", "企业名称", 220));
        BUS_COLUMNS.add(col("opVehicles", "运营车数", 100));
        BUS_COLUMNS.add(col("stopTotal", "站点总个数", 110));
        BUS_COLUMNS.add(col("stopCity", "城市内站点", 110));
        BUS_COLUMNS.add(col("passengerVolume", "客运量", 100));
        BUS_COLUMNS.add(col("passengerCity", "城市内客运量", 120));
        BUS_COLUMNS.add(col("turnover", "旅客周转量", 110));
        BUS_COLUMNS.add(col("turnoverCity", "城市内周转量", 120));
        BUS_COLUMNS.add(col("avgDistance", "平均运距", 100));
        BUS_COLUMNS.add(col("avgDistanceCity", "城市内平均运距", 130));
        BUS_COLUMNS.add(col("passengerChengxiang", "城际城乡客运量", 130));
        BUS_COLUMNS.add(col("turnoverChengxiang", "城际城乡周转量", 130));
        BUS_COLUMNS.add(col("avgDistanceChengxiang", "城际城乡平均运距", 140));
        BUS_COLUMNS.add(col("ratePassengerMom", "客运量环比", 100));
        BUS_COLUMNS.add(col("ratePassengerCityMom", "城市内环比", 100));
        BUS_COLUMNS.add(col("rateChengxiangMom", "城际城乡环比", 110));
        BUS_COLUMNS.add(col("ratePassengerYoy", "客运量同比", 100));
        BUS_COLUMNS.add(col("passengerCityRatio", "城市内占比", 100));
        BUS_COLUMNS.add(col("chengxiangRatio", "城际城乡占比", 110));
        BUS_COLUMNS.add(col("contactPerson", "填表人", 100));
        BUS_COLUMNS.add(col("reportDate", "报出日期", 110));
        BUS_COLUMNS.add(col("verifyExplanation", "核实解释", 220));
        TAXI_COLUMNS.add(col("reportPeriod", "报表期", 100));
        TAXI_COLUMNS.add(col("regionCode", "所属地区", 100));
        TAXI_COLUMNS.add(col("city", "市州", 110));
        TAXI_COLUMNS.add(col("tripTotal", "载客车次总数", 120));
        TAXI_COLUMNS.add(col("tripCity", "载客车次_城市内", 130));
        TAXI_COLUMNS.add(col("passengerVolume", "客运量", 100));
        TAXI_COLUMNS.add(col("passengerCity", "城市内客运量", 120));
        TAXI_COLUMNS.add(col("turnover", "旅客周转量", 110));
        TAXI_COLUMNS.add(col("turnoverCity", "城市内周转量", 120));
        TAXI_COLUMNS.add(col("opVehicles", "运营车辆数", 110));
        TAXI_COLUMNS.add(col("avgDistance", "平均运距", 100));
        TAXI_COLUMNS.add(col("avgDistanceCity", "城市内平均运距", 130));
        TAXI_COLUMNS.add(col("passengersPerTrip", "单车次载客人数", 130));
        TAXI_COLUMNS.add(col("rateTripMom", "载客车次环比", 110));
        TAXI_COLUMNS.add(col("rateTripYoy", "载客车次同比", 110));
        TAXI_COLUMNS.add(col("ratePassengerMom", "客运量环比", 100));
        TAXI_COLUMNS.add(col("ratePassengerYoy", "客运量同比", 100));
        TAXI_COLUMNS.add(col("passengerCityRatio", "城市内客运量占比", 140));
        TAXI_COLUMNS.add(col("avgDistanceChengxiang", "城际城乡平均运距", 140));
        TAXI_COLUMNS.add(col("verifyExplanation", "核实解释", 220));
        TAXI_AUTH_COLUMNS.add(col("reportPeriod", "报表期", 100));
        TAXI_AUTH_COLUMNS.add(col("city", "市州", 110));
        TAXI_AUTH_COLUMNS.add(col("plateNo", "车牌号码", 120));
        TAXI_AUTH_COLUMNS.add(col("vehicleType", "车辆类型", 110));
        TAXI_AUTH_COLUMNS.add(col("fuelType", "燃料类型", 100));
        TAXI_AUTH_COLUMNS.add(col("opStatus", "营运状态", 100));
        TAXI_AUTH_COLUMNS.add(col("certStatus", "证件状态", 100));
        TAXI_AUTH_COLUMNS.add(col("licenseNo", "经营权号", 130));
        TAXI_AUTH_COLUMNS.add(col("archiveNo", "档案号", 130));
        TAXI_AUTH_COLUMNS.add(col("roadCertNo", "道路运输证字号", 150));
        TAXI_AUTH_COLUMNS.add(col("operatorName", "业户名称", 240));
        TAXI_AUTH_COLUMNS.add(col("operatorAddr", "业户地址", 280));
        PAUTH_COLUMNS.add(col("reportPeriod", "报表期", 100));
        PAUTH_COLUMNS.add(col("enterpriseCode", "企业代码", 130));
        PAUTH_COLUMNS.add(col("enterpriseName", "企业名称", 240));
        PAUTH_COLUMNS.add(col("vehicleCount", "车辆数", 100));
        PAUTH_COLUMNS.add(col("seatCount", "载客位数", 100));
    }
}