Browse Source

公务用车 数据同步 新增

zhanghao 1 month ago
parent
commit
90eb3a0e02
16 changed files with 468 additions and 62 deletions
  1. 35 0
      project-admin/src/main/resources/application-dev.yml
  2. 12 0
      project-zcustom/src/main/java/com/project/zcustom/controller/car/PlatCarController.java
  3. 14 1
      project-zcustom/src/main/java/com/project/zcustom/controller/crontab/PlatCrontabTaskController.java
  4. 5 0
      project-zcustom/src/main/java/com/project/zcustom/controller/unit/LargeUnitRankController.java
  5. 26 26
      project-zcustom/src/main/java/com/project/zcustom/domain/addional/LargeCar.java
  6. 3 3
      project-zcustom/src/main/java/com/project/zcustom/domain/addional/LargeUnitRank.java
  7. 5 0
      project-zcustom/src/main/java/com/project/zcustom/mapper/car/PlatCarMapper.java
  8. 1 0
      project-zcustom/src/main/java/com/project/zcustom/service/car/ILargePlatCarService.java
  9. 41 11
      project-zcustom/src/main/java/com/project/zcustom/service/car/Impl/LargePlatCarServiceImpl.java
  10. 2 0
      project-zcustom/src/main/java/com/project/zcustom/service/unit/ILargeUnitRankService.java
  11. 2 2
      project-zcustom/src/main/java/com/project/zcustom/service/unit/impl/LargePublicCarServiceImpl.java
  12. 13 5
      project-zcustom/src/main/java/com/project/zcustom/service/unit/impl/LargeUnitRankServiceImpl.java
  13. 177 0
      project-zcustom/src/main/java/com/project/zcustom/tools/ApiUrlConfig.java
  14. 1 0
      project-zcustom/src/main/java/com/project/zcustom/tools/BuildingService.java
  15. 89 0
      project-zcustom/src/main/java/com/project/zcustom/tools/CarService.java
  16. 42 14
      project-zcustom/src/main/resources/mapper/zcustom/car/PlatCarMapper.xml

+ 35 - 0
project-admin/src/main/resources/application-dev.yml

@@ -76,6 +76,41 @@ apiurl:
   # 办公能耗情况接口 年度累计水耗
   jsonWaterYear: /office/energy/integrationWaterForYear
 
+  # 公务用车监控 接口前缀
+  carPrefix: http://ip:port/?
+  # 公务用车接口 车辆编制情况接口
+  jsonEstablishment:
+  # 公务用车接口 车辆年度变化情况接口
+  jsonCarChange:
+  # 公务用车接口 车辆年度增加情况明细接口
+  jsonCarIncrease:
+  # 公务用车接口 车辆减少增加情况明细接口
+  jsonCarReduce:
+  # 公务用车接口 车辆类型接口
+  jsonCarType:
+  # 公务用车接口 企业车辆情况接口
+  jsonEnterpriseCar:
+  # 公务用车接口 车辆能源类型接口
+  jsonCarPowerType:
+  # 公务用车接口 车辆派单及里程接口
+  jsonCarOrderAndMileage:
+  # 公务用车接口 车辆活跃度排名接口
+  jsonCarRank:
+  # 公务用车接口 车辆终端情况接口
+  jsonCarTerminal:
+  # 公务用车接口 车辆未归档接口
+  jsonCarNotArchived:
+  # 公务用车接口 车辆预警接口
+  jsonCarWarning:
+  # 公务用车接口 车辆未带工单预警明细接口
+  jsonCarWarningTickets:
+  # 公务用车接口 车辆超速预警明细接口
+  jsonCarWarningOverSpeed:
+  # 公务用车接口 车辆节假日预警明细接口
+  jsonCarWarningHoliday:
+
+
+
 znhqcamera:
   path: /usr/local/ffmpeg/bin/ffmpeg # ffmpeg安装的位置
   rtmp: rtmp://25.39.67.168:10612/myapp/ # rtmp 链接前缀

+ 12 - 0
project-zcustom/src/main/java/com/project/zcustom/controller/car/PlatCarController.java

@@ -9,6 +9,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
 @RestController
 @RequestMapping("/large/car")
 @RequiredArgsConstructor(onConstructor_ = @Autowired)
@@ -64,4 +68,12 @@ public class PlatCarController {
     public AjaxResult getOperationManageLastHalf() {
         return AjaxResult.success("查询成功", largePlatCarService.getOperationManageLastHalf());
     }
+
+    /**
+     * 所有地市各自的公务车总数
+     */
+    @GetMapping("/selfCarNum")
+    public AjaxResult getSelfCarNum() {
+        return AjaxResult.success("查询成功", largePlatCarService.getSelfCarNum());
+    }
 }

+ 14 - 1
project-zcustom/src/main/java/com/project/zcustom/controller/crontab/PlatCrontabTaskController.java

@@ -4,6 +4,7 @@ import com.project.common.core.controller.BaseController;
 import com.project.zcustom.domain.basics.PlatAppOrg;
 import com.project.zcustom.service.service.basics.IPlatAppOrgService;
 import com.project.zcustom.tools.BuildingService;
+import com.project.zcustom.tools.CarService;
 import com.project.zcustom.tools.GuaranteeService;
 import com.project.zcustom.tools.LogisticsService;
 import lombok.RequiredArgsConstructor;
@@ -36,6 +37,9 @@ public class PlatCrontabTaskController extends BaseController {
     @Resource
     private LogisticsService logisticsService;
 
+    @Resource
+    private CarService carService;
+
 
 
     /**
@@ -100,6 +104,15 @@ public class PlatCrontabTaskController extends BaseController {
         }
     }
 
-
+    /**
+     * 公务用车
+     */
+    public void publicCarData() {
+        synchronized (this) {
+            logger.info("开始获取公务用车接口数据");
+            carService.getPublicCarData();
+            logger.info("获取公务用车接口数据完成");
+        }
+    }
 
 }

+ 5 - 0
project-zcustom/src/main/java/com/project/zcustom/controller/unit/LargeUnitRankController.java

@@ -23,6 +23,11 @@ public class LargeUnitRankController extends BaseController {
 
     private final ILargeUnitRankService largeUnitRankService;
 
+    @GetMapping("/getList")
+    public AjaxResult getList() {
+        return AjaxResult.success("查询成功", largeUnitRankService.getList());
+    }
+
     @GetMapping("/list")
     public AjaxResult list(LargeUnitRank entity) {
         return AjaxResult.success("查询成功", largeUnitRankService.pagingLargeUnitRankList(entity));

+ 26 - 26
project-zcustom/src/main/java/com/project/zcustom/domain/addional/LargeCar.java

@@ -12,7 +12,7 @@ import java.math.BigDecimal;
 
 @Data
 @TableName("large_plat_public_car")
-
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class LargeCar extends CustomBaseEntity {
     private Long id;
 
@@ -20,7 +20,7 @@ public class LargeCar extends CustomBaseEntity {
      * 所属单位
      */
 
-
+    @JSONField(name = "orgCode")
     private String appEncode;
 
     /**
@@ -28,70 +28,70 @@ public class LargeCar extends CustomBaseEntity {
      */
 
     @JSONField(name = "gwcNum")
-    private Long totalCarNum = 0L;
+    private Long totalCarNum;
 
     /**
      * 商务车数量
      */
 
     @JSONField(name = "swc")
-    private Long carNumOne = 0L;
+    private Long carNumOne;
 
     /**
      * 越野车数量
      */
 
     @JSONField(name = "yyc")
-    private Long carNumTwo = 0L;
+    private Long carNumTwo;
 
     /**
      * 小轿车数量
      */
 
     @JSONField(name = "xjc")
-    private Long carNumThree = 0L;
+    private Long carNumThree;
 
     /**
      * 小型客车数量
      */
 
     @JSONField(name = "xxkc")
-    private Long carNumFour = 0L;
+    private Long carNumFour;
 
     /**
      * 大型客车数量
      */
 
     @JSONField(name = "dxkc")
-    private Long carNumFive = 0L;
+    private Long carNumFive;
 
     /**
      * 企业用车数量
      */
 
     @JSONField(name = "qyyc")
-    private Long enterpriseCarNum = 0L;
+    private Long enterpriseCarNum;
 
     /**
      * 企业负责人用车数量
      */
 
     @JSONField(name = "qyfzr")
-    private Long headCarNum = 0L;
+    private Long headCarNum;
 
     /**
      * 燃油车数量
      */
 
     @JSONField(name = "ryc")
-    private Long oilCarNum = 0L;
+    private Long oilCarNum;
 
     /**
      * 新能源车数量
      */
 
     @JSONField(name = "xnyc")
-    private Long newPowerCarNum = 0L;
+    private Long newPowerCarNum;
 
 
 
@@ -100,93 +100,93 @@ public class LargeCar extends CustomBaseEntity {
      */
 
     @JSONField(name = "gwcZbs")
-    private Long establishmentsCarNum = 0L;
+    private Long establishmentsCarNum;
 
     /**
      * 公务车年度增加数
      */
 
     @JSONField(name = "gwcZJS")
-    private Long yearAddNum = 0L;
+    private Long yearAddNum;
 
     /**
      * 公务车年度减少数
      */
 
     @JSONField(name = "gwcJSS")
-    private Long yearReduceNum = 0L;
+    private Long yearReduceNum;
 
     /**
      * 公务车终端数
      */
     @JSONField(name = "terminalTotal")
-    private Long terminalTotal = 0L;
+    private Long terminalTotal;
 
     /**
      * 公务车终端安装数
      */
     @JSONField(name = "terminalInstall")
-    private Long terminalInstall = 0L;
+    private Long terminalInstall;
 
     /**
      * 公务车终端在线数
      */
     @JSONField(name = "online")
-    private Long terminalOnline = 0L;
+    private Long terminalOnline;
 
     /**
      * 处置未归档数量
      */
 
     @JSONField(name = "CZWGD")
-    private Long notArchivedNum = 0L;
+    private Long notArchivedNum;
 
     /**
      * 未带工单数
      */
 
     @JSONField(name = "noPid")
-    private Long noPidNum = 0L;
+    private Long noPidNum;
 
     /**
      * 超速预警数
      */
 
     @JSONField(name = "overSpeed")
-    private Long overSpeedNum = 0L;
+    private Long overSpeedNum;
 
     /**
      * 节假日预警数
      */
 
     @JSONField(name = "Holiday")
-    private Long holidayNum = 0L;
+    private Long holidayNum;
 
     /**
      * 派车单总数
      */
 
     @JSONField(name = "pcdNum")
-    private Long pcdNum = 0L;
+    private Long pcdNum;
 
     /**
      * 均车派车单数
      */
 
     @JSONField(name = "gwcTotal")
-    private Long avgPcdNum = 0L;
+    private Long avgPcdNum;
 
     /**
      * 公务车行驶总里程
      */
 
     @JSONField(name = "mileCount")
-    private String mileCount = "0";
+    private BigDecimal mileCount;
 
     /**
      * 均车里程
      */
 
     @JSONField(name = "avgMile")
-    private String avgMile = "0";
+    private BigDecimal avgMile;
 }

+ 3 - 3
project-zcustom/src/main/java/com/project/zcustom/domain/addional/LargeUnitRank.java

@@ -8,7 +8,7 @@ import com.project.common.core.domain.CustomBaseEntity;
 import lombok.Data;
 
 @Data
-@TableName("large_plat_public_car_rank_unit")
+@TableName("large_plat_public_car")
 @JsonInclude(JsonInclude.Include.NON_NULL)
 public class LargeUnitRank extends CustomBaseEntity {
     private Long id;
@@ -33,12 +33,12 @@ public class LargeUnitRank extends CustomBaseEntity {
      */
     @Excel(name = "公务车总数")
 
-    private Long gwcCount;
+    private Long totalCarNum;
 
     /**
      * 公务车派车次数
      */
     @Excel(name = "公务车派车次数")
 
-    private Long gwcPcd;
+    private Long pcdNum;
 }

+ 5 - 0
project-zcustom/src/main/java/com/project/zcustom/mapper/car/PlatCarMapper.java

@@ -5,6 +5,9 @@ import com.project.zcustom.domain.addional.*;
 import java.util.List;
 
 public interface PlatCarMapper {
+
+    List<LargeUnitRank> getUnitRankList();
+
     LargeCar getResourceNumber(String appOrg);
 
     List<LargeCarDetail> getCarDetail(String appOrg, Long flag);
@@ -20,4 +23,6 @@ public interface PlatCarMapper {
     List<LargeUnitRank> getUnitRankLast();
 
     List<LargeCarRank> getCarRank();
+
+    List<Long> getSelfCarNum(List<String> appOrg);
 }

+ 1 - 0
project-zcustom/src/main/java/com/project/zcustom/service/car/ILargePlatCarService.java

@@ -14,4 +14,5 @@ public interface ILargePlatCarService {
     List<LargeWarnDetail> getWarnDetail(String appOrg);
     LargeCar getOperationManageTopHalf(String appOrg);
     Map<String, Object> getOperationManageLastHalf();
+    List<Long> getSelfCarNum();
 }

+ 41 - 11
project-zcustom/src/main/java/com/project/zcustom/service/car/Impl/LargePlatCarServiceImpl.java

@@ -7,10 +7,8 @@ import com.project.zcustom.service.logistics.ILargeHousingLandService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.math.BigDecimal;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service
@@ -22,7 +20,21 @@ public class LargePlatCarServiceImpl implements ILargePlatCarService {
     public LargeCar getResource(String appOrg){
         LargeCar largeCar = platCarMapper.getResourceNumber(appOrg);
         if (largeCar == null){
-            return new LargeCar();
+            LargeCar car = new LargeCar();
+            car.setTotalCarNum(0L);
+            car.setCarNumOne(0L);
+            car.setCarNumTwo(0L);
+            car.setCarNumThree(0L);
+            car.setCarNumFour(0L);
+            car.setCarNumFive(0L);
+            car.setEnterpriseCarNum(0L);
+            car.setHeadCarNum(0L);
+            car.setNewPowerCarNum(0L);
+            car.setOilCarNum(0L);
+            car.setEstablishmentsCarNum(0L);
+            car.setYearAddNum(0L);
+            car.setYearReduceNum(0L);
+            return car;
         }
         return largeCar;
     }
@@ -34,7 +46,15 @@ public class LargePlatCarServiceImpl implements ILargePlatCarService {
     public LargeCar getMonitor(String appOrg){
         LargeCar largeCar = platCarMapper.getMonitorNumber(appOrg);
         if (largeCar == null){
-            return new LargeCar();
+            LargeCar car = new LargeCar();
+            car.setTerminalInstall(0L);
+            car.setTerminalTotal(0L);
+            car.setTerminalOnline(0L);
+            car.setNoPidNum(0L);
+            car.setNotArchivedNum(0L);
+            car.setOverSpeedNum(0L);
+            car.setHolidayNum(0L);
+            return car;
         }
         return largeCar;
     }
@@ -46,7 +66,12 @@ public class LargePlatCarServiceImpl implements ILargePlatCarService {
     public LargeCar getOperationManageTopHalf(String appOrg){
         LargeCar largeCar = platCarMapper.getOperationManageTopHalf(appOrg);
         if (largeCar == null){
-            return new LargeCar();
+            LargeCar car = new LargeCar();
+            car.setPcdNum(0L);
+            car.setAvgPcdNum(0L);
+            car.setAvgMile(BigDecimal.valueOf(0));
+            car.setMileCount(BigDecimal.valueOf(0));
+            return car;
         }
         return largeCar;
     }
@@ -54,14 +79,19 @@ public class LargePlatCarServiceImpl implements ILargePlatCarService {
     public Map<String, Object> getOperationManageLastHalf(){
         Map<String, Object> map = new HashMap<>();
         List<LargeUnitRank> list1 = platCarMapper.getUnitRankTop();
-        map.put("x1", list1.stream().map(LargeUnitRank::getGwcCount).collect(Collectors.toList()));
-        map.put("y1", list1.stream().map(LargeUnitRank::getGwcPcd).collect(Collectors.toList()));
+        map.put("x1", list1.stream().map(LargeUnitRank::getTotalCarNum).collect(Collectors.toList()));
+        map.put("y1", list1.stream().map(LargeUnitRank::getPcdNum).collect(Collectors.toList()));
         map.put("z1", list1.stream().map(LargeUnitRank::getAppName).collect(Collectors.toList()));
         List<LargeUnitRank> list2 = platCarMapper.getUnitRankLast();
-        map.put("x2", list2.stream().map(LargeUnitRank::getGwcCount).collect(Collectors.toList()));
-        map.put("y2", list2.stream().map(LargeUnitRank::getGwcPcd).collect(Collectors.toList()));
+        map.put("x2", list2.stream().map(LargeUnitRank::getTotalCarNum).collect(Collectors.toList()));
+        map.put("y2", list2.stream().map(LargeUnitRank::getPcdNum).collect(Collectors.toList()));
         map.put("z2", list2.stream().map(LargeUnitRank::getAppName).collect(Collectors.toList()));
         map.put("list", platCarMapper.getCarRank());
         return map;
     }
+
+    public List<Long> getSelfCarNum(){
+        List<String> appOrg = new ArrayList<>(Arrays.asList("1A003", "1B001", "1C001", "1D001", "1E001", "1F001", "1K001", "1L001", "1H001", "1M001", "1J001"));
+        return platCarMapper.getSelfCarNum(appOrg);
+    }
 }

+ 2 - 0
project-zcustom/src/main/java/com/project/zcustom/service/unit/ILargeUnitRankService.java

@@ -10,6 +10,8 @@ import java.util.List;
 
 public interface ILargeUnitRankService extends IService<LargeUnitRank> {
 
+    public List<LargeUnitRank> getList();
+
     /**
      * 分页查询公务用车列表
      *

+ 2 - 2
project-zcustom/src/main/java/com/project/zcustom/service/unit/impl/LargePublicCarServiceImpl.java

@@ -97,10 +97,10 @@ public class LargePublicCarServiceImpl extends ServiceImpl<LargePublicCarMapper,
         if (StringUtils.isNotNull(largeCar.getAvgPcdNum())){
             lqw.eq(LargeCar::getAvgPcdNum ,largeCar.getAvgPcdNum());
         }
-        if (StringUtils.isNotBlank(largeCar.getMileCount())){
+        if (StringUtils.isNotNull(largeCar.getMileCount())){
             lqw.eq(LargeCar::getMileCount ,largeCar.getMileCount());
         }
-        if (StringUtils.isNotBlank(largeCar.getAvgMile())){
+        if (StringUtils.isNotNull(largeCar.getAvgMile())){
             lqw.eq(LargeCar::getAvgMile ,largeCar.getAvgMile());
         }
         return lqw;

+ 13 - 5
project-zcustom/src/main/java/com/project/zcustom/service/unit/impl/LargeUnitRankServiceImpl.java

@@ -8,8 +8,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.project.common.core.domain.search.PageParamVo;
 import com.project.common.utils.StringUtils;
 import com.project.zcustom.domain.addional.LargeUnitRank;
+import com.project.zcustom.mapper.car.PlatCarMapper;
 import com.project.zcustom.mapper.unit.LargeUnitRankMapper;
 import com.project.zcustom.service.unit.ILargeUnitRankService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -17,16 +19,22 @@ import java.util.List;
 @Service
 public class LargeUnitRankServiceImpl extends ServiceImpl<LargeUnitRankMapper, LargeUnitRank> implements ILargeUnitRankService {
 
+    @Autowired
+    private PlatCarMapper platCarMapper;
+    public List<LargeUnitRank> getList(){
+        return platCarMapper.getUnitRankList();
+    }
+
     /**
      * 组装查询条件
      */
     private LambdaQueryWrapper<LargeUnitRank> getLambdaQueryWrapper(LargeUnitRank largeUnitRank) {
         LambdaQueryWrapper<LargeUnitRank> lqw = new LambdaQueryWrapper<LargeUnitRank>();
-        if (StringUtils.isNotNull(largeUnitRank.getGwcCount())){
-            lqw.eq(LargeUnitRank::getGwcCount ,largeUnitRank.getGwcCount());
+        if (StringUtils.isNotNull(largeUnitRank.getTotalCarNum())){
+            lqw.eq(LargeUnitRank::getTotalCarNum ,largeUnitRank.getTotalCarNum());
         }
-        if (StringUtils.isNotNull(largeUnitRank.getGwcPcd())){
-            lqw.eq(LargeUnitRank::getGwcPcd ,largeUnitRank.getGwcPcd());
+        if (StringUtils.isNotNull(largeUnitRank.getPcdNum())){
+            lqw.eq(LargeUnitRank::getPcdNum ,largeUnitRank.getPcdNum());
         }
         if (StringUtils.isNotBlank(largeUnitRank.getAppEncode())){
             lqw.eq(LargeUnitRank::getAppEncode ,largeUnitRank.getAppEncode());
@@ -73,7 +81,7 @@ public class LargeUnitRankServiceImpl extends ServiceImpl<LargeUnitRankMapper, L
     public List<LargeUnitRank> selectLargeUnitRankList(LargeUnitRank largeUnitRank) {
         LambdaQueryWrapper<LargeUnitRank> lqw = getLambdaQueryWrapper(largeUnitRank);
         // 排序 默认时间倒序
-        lqw.orderByDesc(LargeUnitRank::getCreateTime);
+        lqw.orderByDesc(LargeUnitRank::getPcdNum);
         return baseMapper.selectList(lqw);
     }
 

+ 177 - 0
project-zcustom/src/main/java/com/project/zcustom/tools/ApiUrlConfig.java

@@ -242,4 +242,181 @@ public class ApiUrlConfig {
         ApiUrlConfig.jsonWaterYear = jsonWaterYear;
     }
 
+
+
+    // 公务用车监控 接口前缀
+    private static String carPrefix;
+
+    // 公务用车接口 车辆编制情况接口
+    private static String jsonEstablishment;
+
+    // 公务用车接口 车辆年度变化情况接口
+    private static String jsonCarChange;
+
+    // 公务用车接口 车辆年度增加情况明细接口
+    private static String jsonCarIncrease;
+
+    // 公务用车接口 车辆减少增加情况明细接口
+    private static String jsonCarReduce;
+
+    // 公务用车接口 车辆类型接口
+    private static String jsonCarType;
+
+    // 公务用车接口 企业车辆情况接口
+    private static String jsonEnterpriseCar;
+
+    // 公务用车接口 车辆能源类型接口
+    private static String jsonCarPowerType;
+
+    // 公务用车接口 车辆派单及里程接口
+    private static String jsonCarOrderAndMileage;
+
+    // 公务用车接口 车辆活跃度排名接口
+    private static String jsonCarRank;
+
+    // 公务用车接口 车辆终端情况接口
+    private static String jsonCarTerminal;
+
+    // 公务用车接口 车辆未归档接口
+    private static String jsonCarNotArchived;
+
+    // 公务用车接口 车辆预警接口
+    private static String jsonCarWarning;
+
+    // 公务用车接口 车辆未带工单预警明细接口
+    private static String jsonCarWarningTickets;
+
+    // 公务用车接口 车辆超速预警明细接口
+    private static String jsonCarWarningOverSpeed;
+
+    // 公务用车接口 车辆节假日预警明细接口
+    private static String jsonCarWarningHoliday;
+
+    public static String getCarPrefix() {
+        return carPrefix;
+    }
+
+    public static void setCarPrefix(String carPrefix) {
+        ApiUrlConfig.carPrefix = carPrefix;
+    }
+
+    public static String getJsonEstablishment() {
+        return ApiUrlConfig.carPrefix + jsonEstablishment;
+    }
+
+    public static void setJsonEstablishment(String jsonEstablishment) {
+        ApiUrlConfig.jsonEstablishment = jsonEstablishment;
+    }
+
+    public static String getJsonCarChange() {
+        return ApiUrlConfig.carPrefix + jsonCarChange;
+    }
+
+    public static void setJsonCarChange(String jsonCarChange) {
+        ApiUrlConfig.jsonCarChange = jsonCarChange;
+    }
+
+    public static String getJsonCarIncrease() {
+        return ApiUrlConfig.carPrefix + jsonCarIncrease;
+    }
+
+    public static void setJsonCarIncrease(String jsonCarIncrease) {
+        ApiUrlConfig.jsonCarIncrease = jsonCarIncrease;
+    }
+
+    public static String getJsonCarReduce() {
+        return ApiUrlConfig.carPrefix + jsonCarReduce;
+    }
+
+    public static void setJsonCarReduce(String jsonCarReduce) {
+        ApiUrlConfig.jsonCarReduce = jsonCarReduce;
+    }
+
+    public static String getJsonCarType() {
+        return ApiUrlConfig.carPrefix + jsonCarType;
+    }
+
+    public static void setJsonCarType(String jsonCarType) {
+        ApiUrlConfig.jsonCarType = jsonCarType;
+    }
+
+    public static String getJsonEnterpriseCar() {
+        return ApiUrlConfig.carPrefix + jsonEnterpriseCar;
+    }
+
+    public static void setJsonEnterpriseCar(String jsonEnterpriseCar) {
+        ApiUrlConfig.jsonEnterpriseCar = jsonEnterpriseCar;
+    }
+
+    public static String getJsonCarPowerType() {
+        return ApiUrlConfig.carPrefix + jsonCarPowerType;
+    }
+
+    public static void setJsonCarPowerType(String jsonCarPowerType) {
+        ApiUrlConfig.jsonCarPowerType = jsonCarPowerType;
+    }
+
+    public static String getJsonCarOrderAndMileage() {
+        return ApiUrlConfig.carPrefix + jsonCarOrderAndMileage;
+    }
+
+    public static void setJsonCarOrderAndMileage(String jsonCarOrderAndMileage) {
+        ApiUrlConfig.jsonCarOrderAndMileage = jsonCarOrderAndMileage;
+    }
+
+    public static String getJsonCarRank() {
+        return ApiUrlConfig.carPrefix + jsonCarRank;
+    }
+
+    public static void setJsonCarRank(String jsonCarRank) {
+        ApiUrlConfig.jsonCarRank = jsonCarRank;
+    }
+
+    public static String getJsonCarTerminal() {
+        return ApiUrlConfig.carPrefix + jsonCarTerminal;
+    }
+
+    public static void setJsonCarTerminal(String jsonCarTerminal) {
+        ApiUrlConfig.jsonCarTerminal = jsonCarTerminal;
+    }
+
+    public static String getJsonCarNotArchived() {
+        return ApiUrlConfig.carPrefix + jsonCarNotArchived;
+    }
+
+    public static void setJsonCarNotArchived(String jsonCarNotArchived) {
+        ApiUrlConfig.jsonCarNotArchived = jsonCarNotArchived;
+    }
+
+    public static String getJsonCarWarning() {
+        return ApiUrlConfig.carPrefix + jsonCarWarning;
+    }
+
+    public static void setJsonCarWarning(String jsonCarWarning) {
+        ApiUrlConfig.jsonCarWarning = jsonCarWarning;
+    }
+
+    public static String getJsonCarWarningTickets() {
+        return ApiUrlConfig.carPrefix + jsonCarWarningTickets;
+    }
+
+    public static void setJsonCarWarningTickets(String jsonCarWarningTickets) {
+        ApiUrlConfig.jsonCarWarningTickets = jsonCarWarningTickets;
+    }
+
+    public static String getJsonCarWarningOverSpeed() {
+        return ApiUrlConfig.carPrefix + jsonCarWarningOverSpeed;
+    }
+
+    public static void setJsonCarWarningOverSpeed(String jsonCarWarningOverSpeed) {
+        ApiUrlConfig.jsonCarWarningOverSpeed = jsonCarWarningOverSpeed;
+    }
+
+    public static String getJsonCarWarningHoliday() {
+        return ApiUrlConfig.carPrefix + jsonCarWarningHoliday;
+    }
+
+    public static void setJsonCarWarningHoliday(String jsonCarWarningHoliday) {
+        ApiUrlConfig.jsonCarWarningHoliday = jsonCarWarningHoliday;
+    }
 }

+ 1 - 0
project-zcustom/src/main/java/com/project/zcustom/tools/BuildingService.java

@@ -5,6 +5,7 @@ import com.project.common.utils.StringUtils;
 import com.project.common.utils.http.HttpUtils;
 import com.project.zcustom.domain.addional.LargeBuilding;
 import com.project.zcustom.domain.addional.LargeBuildingControl;
+import com.project.zcustom.domain.addional.LargeCar;
 import com.project.zcustom.domain.plat.PlatApiRecord;
 import com.project.zcustom.mapper.unit.PlatBuildingMapper;
 import com.project.zcustom.service.plat.IPlatApiRecordService;

+ 89 - 0
project-zcustom/src/main/java/com/project/zcustom/tools/CarService.java

@@ -0,0 +1,89 @@
+package com.project.zcustom.tools;
+
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.project.common.utils.StringUtils;
+import com.project.common.utils.http.HttpUtils;
+import com.project.zcustom.domain.addional.LargeCar;
+import com.project.zcustom.domain.addional.LargeCarRank;
+import com.project.zcustom.domain.plat.PlatApiRecord;
+import com.project.zcustom.domain.property.PlatProperty;
+import com.project.zcustom.service.plat.IPlatApiRecordService;
+import com.project.zcustom.service.unit.ILargePublicCarService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.util.List;
+
+@Service
+public class CarService {
+    @Resource
+    IPlatApiRecordService iPlatApiRecordService;
+
+    @Autowired
+    private ILargePublicCarService largePlatPublicCarService;
+
+    /**
+     * 公务用车
+     */
+    public void getPublicCarData(){
+        LocalDate currentDate = LocalDate.now();
+        int year = currentDate.getYear();
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMM");
+        String formattedDate = currentDate.format(formatter);
+        entry(JSON.parseArray(repeat(ApiUrlConfig.getJsonEstablishment(), "yearMonth=" + formattedDate), LargeCar.class));
+        entry(JSON.parseArray(repeat(ApiUrlConfig.getJsonCarChange(), "year=" + year), LargeCar.class));
+        entry(JSON.parseArray(repeat(ApiUrlConfig.getJsonCarType(), "year=" + year), LargeCar.class));
+        entry(JSON.parseArray(repeat(ApiUrlConfig.getJsonEnterpriseCar(), "year=" + year), LargeCar.class));
+        entry(JSON.parseArray(repeat(ApiUrlConfig.getJsonCarPowerType(), "year=" + year), LargeCar.class));
+        entry(JSON.parseArray(repeat(ApiUrlConfig.getJsonCarOrderAndMileage(), "yearMonth=" + formattedDate), LargeCar.class));
+        entry(JSON.parseArray(repeat(ApiUrlConfig.getJsonEstablishment(), "yearMonth=" + formattedDate), LargeCar.class));
+        entry(JSON.parseArray(repeat(ApiUrlConfig.getJsonCarTerminal(), "yearMonth=" + formattedDate), LargeCar.class));
+        entry(JSON.parseArray(repeat(ApiUrlConfig.getJsonCarNotArchived(), "yearMonth=" + formattedDate), LargeCar.class));
+        entry(JSON.parseArray(repeat(ApiUrlConfig.getJsonCarWarning(), "yearMonth=" + formattedDate), LargeCar.class));
+    }
+
+    public void entry(List<LargeCar> x){
+        for (LargeCar it : x){
+            QueryWrapper<LargeCar> lqw = new QueryWrapper<LargeCar>();
+            lqw.eq("app_encode", it.getAppEncode());
+            lqw.last("limit 1");
+            if (largePlatPublicCarService.getOne(lqw) != null){
+                largePlatPublicCarService.updateById(it);
+            }
+            else largePlatPublicCarService.save(it);
+        }
+    }
+
+    public String repeat(String url, String params){
+        String result = null;
+        try {
+            if (StringUtils.isNotBlank(params)){
+                String res = HttpUtils.sendPost(url, params);
+                if (StringUtils.isNotBlank(res)){
+                    JSONObject jsonObject = JSONObject.parseObject(res);
+                    result = jsonObject.getString("data");
+                }
+            } else {
+                String res = HttpUtils.sendGet(url);
+                if (StringUtils.isNotBlank(res)){
+                    JSONObject jsonObject = JSONObject.parseObject(res);
+                    result = jsonObject.getString("data");
+                }
+            }
+
+        } catch (Exception e){
+            result = e.getMessage();
+        }
+        // 添加接口请求记录
+        PlatApiRecord platApiRecord = new PlatApiRecord();
+        platApiRecord.setApiUrl(url);
+        platApiRecord.setApiResult(result);
+        iPlatApiRecordService.save(platApiRecord);
+        return result;
+    }
+}

+ 42 - 14
project-zcustom/src/main/resources/mapper/zcustom/car/PlatCarMapper.xml

@@ -15,13 +15,9 @@
         <result property="headCarNum"    column="head_car_num"    />
         <result property="oilCarNum"    column="oil_car_num"    />
         <result property="newPowerCarNum"    column="new_power_car_num"    />
-        <result property="lackRate"    column="lack_rate"    />
-        <result property="possesRate"    column="posses_rate"    />
         <result property="establishmentsCarNum"    column="establishments_car_num"    />
         <result property="yearAddNum"    column="year_add_num"    />
         <result property="yearReduceNum"    column="year_reduce_num"    />
-        <result property="terminalInstallRate"    column="terminal_install_rate"    />
-        <result property="terminalOnlineRate"    column="terminal_online_rate"    />
         <result property="notArchivedNum"    column="not_archived_num"    />
         <result property="noPidNum"    column="no_pid_num"    />
         <result property="overSpeedNum"    column="over_speed_num"    />
@@ -61,9 +57,10 @@
     </resultMap>
 
     <resultMap type="com.project.zcustom.domain.addional.LargeUnitRank" id="LargeUnitRankResult">
+        <result property="id"    column="id"    />
         <result property="appName"    column="app_name"    />
-        <result property="gwcCount"    column="gwc_count"    />
-        <result property="gwcPcd"    column="gwc_pcd"    />
+        <result property="pcdNum"    column="pcd_num"    />
+        <result property="totalCarNum"    column="total_car_num"    />
         <result property="appEncode"    column="app_encode"    />
     </resultMap>
 
@@ -158,26 +155,28 @@
     <select id="getUnitRankTop" resultMap="LargeUnitRankResult">
         SELECT
             app_name,
-            gwc_pcd,
-            gwc_count
+            total_car_num,
+            pcd_num
         FROM
-            large_plat_public_car_rank_unit a
+            large_plat_public_car a
                 LEFT JOIN large_plat_app_org b ON a.app_encode = b.app_encode
+        WHERE app_parent_org = '10001'
         ORDER BY
-            a.id
+            pcd_num
             LIMIT 3
     </select>
 
     <select id="getUnitRankLast" resultMap="LargeUnitRankResult">
         SELECT
             app_name,
-            gwc_pcd,
-            gwc_count
+            total_car_num,
+            pcd_num
         FROM
-            large_plat_public_car_rank_unit a
+            large_plat_public_car a
                 LEFT JOIN large_plat_app_org b ON a.app_encode = b.app_encode
+        WHERE app_parent_org = '10001'
         ORDER BY
-            a.id DESC
+            pcd_num DESC
             LIMIT 3
     </select>
 
@@ -194,4 +193,33 @@
             LIMIT 10
     </select>
 
+    <select id="getUnitRankList" resultMap="LargeUnitRankResult">
+        SELECT
+            a.id,
+            a.app_encode,
+            app_name,
+            total_car_num,
+            pcd_num
+        FROM
+            large_plat_public_car a
+                LEFT JOIN large_plat_app_org b ON a.app_encode = b.app_encode
+        WHERE app_parent_org = '10001'
+        ORDER BY
+            pcd_num
+    </select>
+
+
+    <select id="getSelfCarNum" parameterType="String" resultType="Long">
+        SELECT
+            total_car_num
+        FROM
+            large_plat_public_car a
+                LEFT JOIN large_plat_app_org b ON a.app_encode = b.app_encode
+        WHERE app_org IN
+        <foreach collection="list" item="item" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+        ORDER BY
+            pcd_num
+    </select>
 </mapper>