Kaynağa Gözat

修改了后台界面 公务用车 车辆排名、车辆预警、增加减少,新增json导入功能,修改了车辆排名的对应实体类的字段名称
修改了公务用车 数据同步 的方法
修改了 公务用车 大屏 部分接口的 返回数据

zhanghao 3 ay önce
ebeveyn
işleme
55045b39ad
23 değiştirilmiş dosya ile 199 ekleme ve 67 silme
  1. 9 0
      project-zcustom/src/main/java/com/project/zcustom/controller/backManager/officialCar/LargeCarDetailController.java
  2. 9 0
      project-zcustom/src/main/java/com/project/zcustom/controller/backManager/officialCar/LargeWarnDetailController.java
  3. 2 2
      project-zcustom/src/main/java/com/project/zcustom/controller/officalCar/PlatCarController.java
  4. 4 0
      project-zcustom/src/main/java/com/project/zcustom/domain/addional/LargeCar.java
  5. 2 4
      project-zcustom/src/main/java/com/project/zcustom/domain/addional/LargeCarDetail.java
  6. 2 1
      project-zcustom/src/main/java/com/project/zcustom/domain/addional/LargeCarRank.java
  7. 1 0
      project-zcustom/src/main/java/com/project/zcustom/domain/addional/LargeWarnDetail.java
  8. 9 1
      project-zcustom/src/main/java/com/project/zcustom/mapper/car/PlatCarMapper.java
  9. 2 0
      project-zcustom/src/main/java/com/project/zcustom/mapper/unit/LargeCarDetailMapper.java
  10. 2 1
      project-zcustom/src/main/java/com/project/zcustom/mapper/unit/LargeCarRankMapper.java
  11. 2 1
      project-zcustom/src/main/java/com/project/zcustom/mapper/unit/LargePublicCarMapper.java
  12. 2 1
      project-zcustom/src/main/java/com/project/zcustom/mapper/unit/LargeWarnDetailMapper.java
  13. 1 1
      project-zcustom/src/main/java/com/project/zcustom/service/car/ILargePlatCarService.java
  14. 11 6
      project-zcustom/src/main/java/com/project/zcustom/service/car/Impl/LargePlatCarServiceImpl.java
  15. 3 0
      project-zcustom/src/main/java/com/project/zcustom/service/unit/ILargeCarDetailService.java
  16. 3 0
      project-zcustom/src/main/java/com/project/zcustom/service/unit/ILargeWarnDetailService.java
  17. 34 0
      project-zcustom/src/main/java/com/project/zcustom/service/unit/impl/LargeCarDetailServiceImpl.java
  18. 8 9
      project-zcustom/src/main/java/com/project/zcustom/service/unit/impl/LargeCarRankServiceImpl.java
  19. 1 1
      project-zcustom/src/main/java/com/project/zcustom/service/unit/impl/LargePublicCarServiceImpl.java
  20. 33 0
      project-zcustom/src/main/java/com/project/zcustom/service/unit/impl/LargeWarnDetailServiceImpl.java
  21. 38 31
      project-zcustom/src/main/java/com/project/zcustom/tools/CarService.java
  22. 4 4
      project-zcustom/src/main/java/com/project/zcustom/tools/LogisticsService.java
  23. 17 4
      project-zcustom/src/main/resources/mapper/zcustom/car/PlatCarMapper.xml

+ 9 - 0
project-zcustom/src/main/java/com/project/zcustom/controller/backManager/officialCar/LargeCarDetailController.java

@@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.*;
 import javax.servlet.http.HttpServletResponse;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
 
 @RestController
 @RequestMapping("/zcustom/carDetail")
@@ -66,5 +67,13 @@ public class LargeCarDetailController extends BaseController {
     public AjaxResult remove(@PathVariable Long[] ids) {
         return toAjax(largeCarDetailService.removeByIds(Arrays.asList(ids)) ? 1 : 0);
     }
+
+    /**
+     * 上传json
+     * */
+    @PostMapping("/upload")
+    public AjaxResult upload(@RequestBody Map<String, Object> obj, @RequestParam Integer flag) {
+        return toAjax(largeCarDetailService.upload(obj, flag));
+    }
 }
 

+ 9 - 0
project-zcustom/src/main/java/com/project/zcustom/controller/backManager/officialCar/LargeWarnDetailController.java

@@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.*;
 import javax.servlet.http.HttpServletResponse;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
 
 @RestController
 @RequestMapping("/zcustom/warnDetail")
@@ -66,4 +67,12 @@ public class LargeWarnDetailController extends BaseController {
     public AjaxResult remove(@PathVariable Long[] ids) {
         return toAjax(largeWarnDetailService.removeByIds(Arrays.asList(ids)) ? 1 : 0);
     }
+
+    /**
+     * 上传json
+     * */
+    @PostMapping("/upload")
+    public AjaxResult upload(@RequestBody Map<String, Object> obj, @RequestParam String alertType) {
+        return toAjax(largeWarnDetailService.upload(obj, alertType));
+    }
 }

+ 2 - 2
project-zcustom/src/main/java/com/project/zcustom/controller/officalCar/PlatCarController.java

@@ -49,8 +49,8 @@ public class PlatCarController {
      * 公务车预警明细
      */
     @GetMapping("/warnDetail")
-    public AjaxResult getWarnDetail(@RequestParam String appOrg) {
-        return AjaxResult.success("查询成功", largePlatCarService.getWarnDetail(appOrg));
+    public AjaxResult getWarnDetail(@RequestParam String appOrg, @RequestParam String alertType) {
+        return AjaxResult.success("查询成功", largePlatCarService.getWarnDetail(appOrg, alertType));
     }
 
     /**

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

@@ -1,6 +1,7 @@
 package com.project.zcustom.domain.addional;
 
 import com.alibaba.fastjson2.annotation.JSONField;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonInclude;
@@ -24,6 +25,9 @@ public class LargeCar extends CustomBaseEntity {
     @JSONField(name = "orgCode")
     private String appEncode;
 
+    @TableField(exist = false)
+    private String appOrg;
+
     private String orgName;
 
     /**

+ 2 - 4
project-zcustom/src/main/java/com/project/zcustom/domain/addional/LargeCarDetail.java

@@ -55,16 +55,14 @@ public class LargeCarDetail extends CustomBaseEntity {
     /**
      * 配置日期
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @Excel(name = "配置日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd")
 
     private Date orgDate;
 
     /**
      * 处置日期
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @Excel(name = "处置日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd")
 
     private Date handleDate;
 

+ 2 - 1
project-zcustom/src/main/java/com/project/zcustom/domain/addional/LargeCarRank.java

@@ -12,6 +12,7 @@ import lombok.Data;
 @TableName("large_plat_public_car_rank_person")
 @JsonInclude(JsonInclude.Include.NON_NULL)
 public class LargeCarRank extends CustomBaseEntity {
+    @JSONField(name = "ID")
     private Long id;
 
     /**
@@ -29,7 +30,7 @@ public class LargeCarRank extends CustomBaseEntity {
      * 车牌号
      */
     @JSONField(name = "vehicleNumber")
-    private String vechileNum;
+    private String vehicleNum;
 
     /**
      * 单位编码

+ 1 - 0
project-zcustom/src/main/java/com/project/zcustom/domain/addional/LargeWarnDetail.java

@@ -42,6 +42,7 @@ public class LargeWarnDetail extends CustomBaseEntity {
      * 预警类型
      */
     @Excel(name = "预警类型")
+    @JSONField(name = "alertType")
     private String alertType;
 
     /**

+ 9 - 1
project-zcustom/src/main/java/com/project/zcustom/mapper/car/PlatCarMapper.java

@@ -1,9 +1,11 @@
 package com.project.zcustom.mapper.car;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.project.zcustom.domain.addional.*;
 
 import java.util.List;
 
+@InterceptorIgnore(blockAttack = "true")
 public interface PlatCarMapper {
 
     List<LargeUnitRank> getUnitRankList();
@@ -14,7 +16,7 @@ public interface PlatCarMapper {
 
     LargeCar getMonitorNumber(String appOrg);
 
-    List<LargeWarnDetail> getWarnDetail(String appOrg);
+    List<LargeWarnDetail> getWarnDetail(String appOrg, String alertType);
 
     LargeCar getOperationManageTopHalf(String appOrg);
 
@@ -25,4 +27,10 @@ public interface PlatCarMapper {
     List<LargeCarRank> getCarRank();
 
     List<LargeCar> getSelfCarNum(List<String> appOrg);
+
+    int deleteAllCarDetail(Integer flag);
+
+    int deleteAllWarnDetail(String alertType);
+
+    int deleteAllCarRank();
 }

+ 2 - 0
project-zcustom/src/main/java/com/project/zcustom/mapper/unit/LargeCarDetailMapper.java

@@ -1,8 +1,10 @@
 package com.project.zcustom.mapper.unit;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.project.zcustom.domain.addional.LargeCar;
 import com.project.zcustom.domain.addional.LargeCarDetail;
 
+@InterceptorIgnore(blockAttack = "true")
 public interface LargeCarDetailMapper extends BaseMapper<LargeCarDetail> {
 }

+ 2 - 1
project-zcustom/src/main/java/com/project/zcustom/mapper/unit/LargeCarRankMapper.java

@@ -1,8 +1,9 @@
 package com.project.zcustom.mapper.unit;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.project.zcustom.domain.addional.LargeCarRank;
-
+@InterceptorIgnore(blockAttack = "true")
 public interface LargeCarRankMapper extends BaseMapper<LargeCarRank>{
 
 }

+ 2 - 1
project-zcustom/src/main/java/com/project/zcustom/mapper/unit/LargePublicCarMapper.java

@@ -1,12 +1,13 @@
 package com.project.zcustom.mapper.unit;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.project.zcustom.domain.addional.LargeCar;
 
 import java.util.List;
-
+@InterceptorIgnore(blockAttack = "true")
 public interface LargePublicCarMapper extends BaseMapper<LargeCar>
 {
 

+ 2 - 1
project-zcustom/src/main/java/com/project/zcustom/mapper/unit/LargeWarnDetailMapper.java

@@ -1,7 +1,8 @@
 package com.project.zcustom.mapper.unit;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.project.zcustom.domain.addional.LargeWarnDetail;
-
+@InterceptorIgnore(blockAttack = "true")
 public interface LargeWarnDetailMapper extends BaseMapper<LargeWarnDetail> {
 }

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

@@ -11,7 +11,7 @@ public interface ILargePlatCarService {
     LargeCar getResource(String appOrg);
     List<LargeCarDetail> getCarDetail(String appOrg, Long flag);
     LargeCar getMonitor(String appOrg);
-    List<LargeWarnDetail> getWarnDetail(String appOrg);
+    List<LargeWarnDetail> getWarnDetail(String appOrg, String alertType);
     LargeCar getOperationManageTopHalf(String appOrg);
     Map<String, Object> getOperationManageLastHalf();
     List<Long> getSelfCarNum();

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

@@ -59,8 +59,8 @@ public class LargePlatCarServiceImpl implements ILargePlatCarService {
         return largeCar;
     }
 
-    public List<LargeWarnDetail> getWarnDetail(String appOrg){
-        return platCarMapper.getWarnDetail(appOrg);
+    public List<LargeWarnDetail> getWarnDetail(String appOrg, String alertType){
+        return platCarMapper.getWarnDetail(appOrg, alertType);
     }
 
     public LargeCar getOperationManageTopHalf(String appOrg){
@@ -94,11 +94,16 @@ public class LargePlatCarServiceImpl implements ILargePlatCarService {
         List<String> appOrg = new ArrayList<>(Arrays.asList("1A003", "1B001", "1C001", "1D001", "1E001", "1F001", "1K001", "1L001", "1H001", "1M001", "1J001"));
         List<LargeCar> carList = platCarMapper.getSelfCarNum(appOrg);
         List<Long> list = new ArrayList<>();
-        for (LargeCar car : carList){
-            if (car.getTotalCarNum() == null){
-                car.setTotalCarNum(0L);
+        for (String it : appOrg){
+            for (LargeCar car : carList){
+                if(car.getAppOrg().equals(it)){
+                    if (car.getTotalCarNum() == null){
+                        car.setTotalCarNum(0L);
+                    }
+                    list.add(car.getTotalCarNum());
+                    break;
+                }
             }
-            list.add(car.getTotalCarNum());
         }
         return list;
     }

+ 3 - 0
project-zcustom/src/main/java/com/project/zcustom/service/unit/ILargeCarDetailService.java

@@ -8,6 +8,7 @@ import com.project.zcustom.domain.addional.LargeCar;
 import com.project.zcustom.domain.addional.LargeCarDetail;
 
 import java.util.List;
+import java.util.Map;
 
 public interface ILargeCarDetailService extends IService<LargeCarDetail> {
 
@@ -78,4 +79,6 @@ public interface ILargeCarDetailService extends IService<LargeCarDetail> {
      */
     public void checkFieldExist(String field, String filedValue,String tips,Long id);
 
+    int upload(Map<String, Object> json, Integer flag);
+
 }

+ 3 - 0
project-zcustom/src/main/java/com/project/zcustom/service/unit/ILargeWarnDetailService.java

@@ -7,6 +7,7 @@ import com.project.common.core.domain.search.PageParamVo;
 import com.project.zcustom.domain.addional.LargeWarnDetail;
 
 import java.util.List;
+import java.util.Map;
 
 public interface ILargeWarnDetailService extends IService<LargeWarnDetail> {
 
@@ -76,5 +77,7 @@ public interface ILargeWarnDetailService extends IService<LargeWarnDetail> {
      * @param filedValue 字段值
      */
     public void checkFieldExist(String field, String filedValue, String tips, Long id);
+
+    int upload(Map<String, Object> json, String alertType);
 }
 

+ 34 - 0
project-zcustom/src/main/java/com/project/zcustom/service/unit/impl/LargeCarDetailServiceImpl.java

@@ -1,5 +1,6 @@
 package com.project.zcustom.service.unit.impl;
 
+import com.alibaba.fastjson2.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -9,16 +10,29 @@ import com.project.common.core.domain.search.PageParamVo;
 import com.project.common.utils.StringUtils;
 import com.project.zcustom.domain.addional.LargeCar;
 import com.project.zcustom.domain.addional.LargeCarDetail;
+import com.project.zcustom.domain.addional.LargeCarRank;
+import com.project.zcustom.domain.basics.PlatAppOrg;
+import com.project.zcustom.mapper.car.PlatCarMapper;
 import com.project.zcustom.mapper.unit.LargeCarDetailMapper;
 import com.project.zcustom.mapper.unit.LargePublicCarMapper;
+import com.project.zcustom.service.service.basics.IPlatAppOrgService;
 import com.project.zcustom.service.unit.ILargeCarDetailService;
 import com.project.zcustom.service.unit.ILargePublicCarService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 @Service
 public class LargeCarDetailServiceImpl extends ServiceImpl<LargeCarDetailMapper, LargeCarDetail> implements ILargeCarDetailService {
+    @Autowired
+    private IPlatAppOrgService platAppOrgService;
+
+    @Autowired
+    private PlatCarMapper platCarMapper;
+
     /**
      * 组装查询条件
      */
@@ -168,4 +182,24 @@ public class LargeCarDetailServiceImpl extends ServiceImpl<LargeCarDetailMapper,
             throw new RuntimeException(tips + "已存在");
         }
     }
+
+    public int upload(Map<String, Object> json, Integer flag){
+        try {
+            List<PlatAppOrg> orgList = platAppOrgService.selectAppCodeList();
+            Map<String, String> orgMap = orgList.stream().collect(Collectors.toMap(PlatAppOrg::getAppEncode, PlatAppOrg::getAppName, (v1, v2) -> v1));
+            List<LargeCarDetail> list = JSON.parseArray(JSON.toJSONString(json.get("data")), LargeCarDetail.class);
+            platCarMapper.deleteAllCarDetail(flag);
+            for (LargeCarDetail largeCarDetail : list){
+                if (!orgMap.containsKey(largeCarDetail.getAppEncode())){
+                    continue;
+                }
+                largeCarDetail.setFlag(flag);
+                this.save(largeCarDetail);
+            }
+            return 1;
+        }catch (Exception e){
+            e.printStackTrace();
+            return 0;
+        }
+    }
 }

+ 8 - 9
project-zcustom/src/main/java/com/project/zcustom/service/unit/impl/LargeCarRankServiceImpl.java

@@ -11,6 +11,7 @@ import com.project.common.utils.StringUtils;
 import com.project.zcustom.domain.addional.LargeCar;
 import com.project.zcustom.domain.addional.LargeCarRank;
 import com.project.zcustom.domain.basics.PlatAppOrg;
+import com.project.zcustom.mapper.car.PlatCarMapper;
 import com.project.zcustom.mapper.unit.LargeCarRankMapper;
 import com.project.zcustom.service.service.basics.IPlatAppOrgService;
 import com.project.zcustom.service.unit.ILargeCarRankService;
@@ -27,6 +28,9 @@ public class LargeCarRankServiceImpl extends ServiceImpl<LargeCarRankMapper, Lar
     @Autowired
     private IPlatAppOrgService platAppOrgService;
 
+    @Autowired
+    private PlatCarMapper platCarMapper;
+
     /**
      * 组装查询条件
      */
@@ -35,8 +39,8 @@ public class LargeCarRankServiceImpl extends ServiceImpl<LargeCarRankMapper, Lar
         if (StringUtils.isNotNull(largeCarRank.getPcdCount())){
             lqw.eq(LargeCarRank::getPcdCount ,largeCarRank.getPcdCount());
         }
-        if (StringUtils.isNotBlank(largeCarRank.getVechileNum())){
-            lqw.eq(LargeCarRank::getVechileNum ,largeCarRank.getVechileNum());
+        if (StringUtils.isNotBlank(largeCarRank.getVehicleNum())){
+            lqw.eq(LargeCarRank::getVehicleNum ,largeCarRank.getVehicleNum());
         }
         if (StringUtils.isNotBlank(largeCarRank.getAppEncode())){
             lqw.eq(LargeCarRank::getAppEncode ,largeCarRank.getAppEncode());
@@ -167,17 +171,12 @@ public class LargeCarRankServiceImpl extends ServiceImpl<LargeCarRankMapper, Lar
             List<PlatAppOrg> orgList = platAppOrgService.selectAppCodeList();
             Map<String, String> orgMap = orgList.stream().collect(Collectors.toMap(PlatAppOrg::getAppEncode, PlatAppOrg::getAppName, (v1, v2) -> v1));
             List<LargeCarRank> list = JSON.parseArray(JSON.toJSONString(json.get("data")), LargeCarRank.class);
+            platCarMapper.deleteAllCarRank();
             for (LargeCarRank largeCarRank : list){
                 if (!orgMap.containsKey(largeCarRank.getAppEncode())){
                     continue;
                 }
-                LargeCarRank car = this.getOne(new QueryWrapper<LargeCarRank>().eq("app_encode", largeCarRank.getAppEncode()));
-                if (car != null) {
-                    largeCarRank.setId(car.getId());
-                    this.updateById(largeCarRank);
-                } else {
-                    this.save(largeCarRank);
-                }
+                this.save(largeCarRank);
             }
             return 1;
         }catch (Exception e){

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

@@ -240,7 +240,7 @@ public class LargePublicCarServiceImpl extends ServiceImpl<LargePublicCarMapper,
                 if (!orgMap.containsKey(largeCar.getAppEncode())){
                     continue;
                 }
-                LargeCar car = this.getOne(new QueryWrapper<LargeCar>().eq("app_encode", largeCar.getAppEncode()));
+                LargeCar car = this.getOne(new QueryWrapper<LargeCar>().eq("app_encode", largeCar.getAppEncode()).last("limit 1"));
                 if (car != null) {
                     largeCar.setId(car.getId());
                     this.updateById(largeCar);

+ 33 - 0
project-zcustom/src/main/java/com/project/zcustom/service/unit/impl/LargeWarnDetailServiceImpl.java

@@ -1,5 +1,6 @@
 package com.project.zcustom.service.unit.impl;
 
+import com.alibaba.fastjson2.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -7,16 +8,29 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 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.LargeCarRank;
 import com.project.zcustom.domain.addional.LargeWarnDetail;
+import com.project.zcustom.domain.basics.PlatAppOrg;
+import com.project.zcustom.mapper.car.PlatCarMapper;
 import com.project.zcustom.mapper.unit.LargeWarnDetailMapper;
+import com.project.zcustom.service.service.basics.IPlatAppOrgService;
 import com.project.zcustom.service.unit.ILargeWarnDetailService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 @Service
 public class LargeWarnDetailServiceImpl extends ServiceImpl<LargeWarnDetailMapper, LargeWarnDetail> implements ILargeWarnDetailService {
 
+    @Autowired
+    private IPlatAppOrgService platAppOrgService;
+
+    @Autowired
+    private PlatCarMapper platCarMapper;
+
     /**
      * 组装查询条件
      */
@@ -157,4 +171,23 @@ public class LargeWarnDetailServiceImpl extends ServiceImpl<LargeWarnDetailMappe
             throw new RuntimeException(tips + "已存在");
         }
     }
+
+    public int upload(Map<String, Object> json, String alertType){
+        try {
+            List<PlatAppOrg> orgList = platAppOrgService.selectAppCodeList();
+            Map<String, String> orgMap = orgList.stream().collect(Collectors.toMap(PlatAppOrg::getAppEncode, PlatAppOrg::getAppName, (v1, v2) -> v1));
+            List<LargeWarnDetail> list = JSON.parseArray(JSON.toJSONString(json.get("data")), LargeWarnDetail.class);
+            platCarMapper.deleteAllWarnDetail(alertType);
+            for (LargeWarnDetail largeWarnDetail : list){
+                if (!orgMap.containsKey(largeWarnDetail.getAppEncode())){
+                    continue;
+                }
+                this.save(largeWarnDetail);
+            }
+            return 1;
+        }catch (Exception e){
+            e.printStackTrace();
+            return 0;
+        }
+    }
 }

+ 38 - 31
project-zcustom/src/main/java/com/project/zcustom/tools/CarService.java

@@ -11,6 +11,7 @@ import com.project.zcustom.domain.addional.LargeCarRank;
 import com.project.zcustom.domain.addional.LargeWarnDetail;
 import com.project.zcustom.domain.basics.PlatAppOrg;
 import com.project.zcustom.domain.plat.PlatApiRecord;
+import com.project.zcustom.mapper.car.PlatCarMapper;
 import com.project.zcustom.service.plat.IPlatApiRecordService;
 import com.project.zcustom.service.service.basics.IPlatAppOrgService;
 import com.project.zcustom.service.unit.ILargeCarDetailService;
@@ -47,6 +48,9 @@ public class CarService {
     @Autowired
     private IPlatAppOrgService platAppOrgService;
 
+    @Autowired
+    private PlatCarMapper platCarMapper;
+
     /**
      * 公务用车
      */
@@ -985,11 +989,11 @@ public class CarService {
                 "            \"COUNTNUM\": 1\n" +
                 "        }\n" +
                 "    ]\n";
-        entryB(JSON.parseArray(a, LargeCarDetail.class), orgMap);
-        entryB(JSON.parseArray(b, LargeCarDetail.class), orgMap);
-        entryC(JSON.parseArray(c, LargeWarnDetail.class), orgMap);
-        entryC(JSON.parseArray(d, LargeWarnDetail.class), orgMap);
-        entryC(JSON.parseArray(e, LargeWarnDetail.class), orgMap);
+        entryB(JSON.parseArray(a, LargeCarDetail.class), orgMap, 0);
+        entryB(JSON.parseArray(b, LargeCarDetail.class), orgMap, 1);
+        entryC(JSON.parseArray(c, LargeWarnDetail.class), orgMap, "未带工单报警");
+        entryC(JSON.parseArray(d, LargeWarnDetail.class), orgMap, "超速报警");
+        entryC(JSON.parseArray(e, LargeWarnDetail.class), orgMap, "节假日用车报警");
         entryD(JSON.parseArray(f, LargeCarRank.class), orgMap);
     }
 
@@ -1002,7 +1006,9 @@ public class CarService {
                 QueryWrapper<LargeCar> lqw = new QueryWrapper<LargeCar>();
                 lqw.eq("app_encode", it.getAppEncode());
                 lqw.last("limit 1");
-                if (largePlatPublicCarService.getOne(lqw) != null){
+                LargeCar car = largePlatPublicCarService.getOne(lqw);
+                if (car != null){
+                    it.setId(car.getId());
                     largePlatPublicCarService.updateById(it);
                 }
                 else largePlatPublicCarService.save(it);
@@ -1012,59 +1018,60 @@ public class CarService {
         }
     }
 
-    public void entryB(List<LargeCarDetail> x, Map<String, String> map){
+    /**
+     * 车辆年度变化明细
+     * @param x
+     * @param map
+     * @param flag
+     */
+    public void entryB(List<LargeCarDetail> x, Map<String, String> map, Integer flag){
         try {
+            platCarMapper.deleteAllCarDetail(flag);
             for (LargeCarDetail it : x){
                 if (!map.containsKey(it.getAppEncode())){
                     continue;
                 }
-                QueryWrapper<LargeCarDetail> lqw = new QueryWrapper<LargeCarDetail>();
-                lqw.eq("app_encode", it.getAppEncode());
-                lqw.last("limit 1");
-                if (largeCarDetailService.getOne(lqw) != null){
-                    largeCarDetailService.updateById(it);
-                }
-                else largeCarDetailService.save(it);
+                it.setFlag(flag);
+                largeCarDetailService.save(it);
             }
         } catch (Exception e) {
             throw new RuntimeException(e);
         }
     }
 
-    public void entryC(List<LargeWarnDetail> x, Map<String, String> map){
+    /**
+     * 车辆告警明细
+     * @param x
+     * @param map
+     */
+    public void entryC(List<LargeWarnDetail> x, Map<String, String> map, String alertType){
         try {
+            platCarMapper.deleteAllWarnDetail(alertType);
             for (LargeWarnDetail it : x){
                 if (!map.containsKey(it.getAppEncode())){
                     continue;
                 }
-                QueryWrapper<LargeWarnDetail> lqw = new QueryWrapper<LargeWarnDetail>();
-                lqw.eq("app_encode", it.getAppEncode());
-                lqw.last("limit 1");
-                if (largeWarnDetailService.getOne(lqw) != null){
-                    largeWarnDetailService.updateById(it);
-                }
-                else largeWarnDetailService.save(it);
+                largeWarnDetailService.save(it);
             }
         } catch (Exception e) {
             throw new RuntimeException(e);
         }
     }
 
+    /**
+     * 车辆排名
+     * @param x
+     * @param map
+     */
     public void entryD(List<LargeCarRank> x, Map<String, String> map){
         try {
+            platCarMapper.deleteAllCarRank();
+            largeCarRankService.remove(null);
             for (LargeCarRank it : x){
                 if (!map.containsKey(it.getAppEncode())){
                     continue;
                 }
-                QueryWrapper<LargeCarRank> lqw = new QueryWrapper<LargeCarRank>();
-                lqw.eq("app_encode", it.getAppEncode());
-                lqw.last("limit 1");
-                Long id = largeCarRankService.getOne(lqw).getId();
-                if (id != null){
-                    it.setId(id);
-                    largeCarRankService.updateById(it);
-                }
-                else largeCarRankService.save(it);
+                largeCarRankService.save(it);
             }
         } catch (Exception e) {
             throw new RuntimeException(e);

+ 4 - 4
project-zcustom/src/main/java/com/project/zcustom/tools/LogisticsService.java

@@ -5,14 +5,14 @@ import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
 import com.project.common.utils.StringUtils;
 import com.project.common.utils.http.HttpUtils;
-import com.project.zcustom.domain.addional.BizMetric;
+//import com.project.zcustom.domain.addional.BizMetric;
 import com.project.zcustom.domain.addional.LargeAssetDirs;
 import com.project.zcustom.domain.addional.LargeLogistics;
 import com.project.zcustom.domain.basics.PlatAppOrg;
 import com.project.zcustom.domain.plat.AssetMonitoringResponse;
 import com.project.zcustom.domain.plat.PlatApiRecord;
 import com.project.zcustom.mapper.logistics.PlatAssetMapper;
-import com.project.zcustom.service.logistics.IBizMetricService;
+//import com.project.zcustom.service.logistics.IBizMetricService;
 import com.project.zcustom.service.service.basics.IPlatAppOrgService;
 import com.project.zcustom.service.plat.IPlatApiRecordService;
 import org.apache.commons.compress.utils.Lists;
@@ -38,8 +38,8 @@ public class LogisticsService {
     private IPlatAppOrgService platAppOrgService;
     @Resource
     IPlatApiRecordService iPlatApiRecordService;
-    @Resource
-    private IBizMetricService bizMetricService;
+//    @Resource
+//    private IBizMetricService bizMetricService;
 
 
     public void getLogisticsData(){

+ 17 - 4
project-zcustom/src/main/resources/mapper/zcustom/car/PlatCarMapper.xml

@@ -5,6 +5,7 @@
 <mapper namespace="com.project.zcustom.mapper.car.PlatCarMapper">
     <resultMap type="com.project.zcustom.domain.addional.LargeCar" id="LargePlatPublicCarResult">
         <result property="appEncode"    column="app_encode"    />
+        <result property="appOrg"    column="app_org"    />
         <result property="totalCarNum"    column="total_car_num"    />
         <result property="carNumOne"    column="car_num_one"    />
         <result property="carNumTwo"    column="car_num_two"    />
@@ -53,7 +54,7 @@
         <result property="orgName"    column="org_name"    />
         <result property="appEncode"    column="app_encode"    />
         <result property="pcdCount"    column="pcd_count"    />
-        <result property="vechileNum"    column="vechile_num"    />
+        <result property="vehicleNum"    column="vehicle_num"    />
     </resultMap>
 
     <resultMap type="com.project.zcustom.domain.addional.LargeUnitRank" id="LargeUnitRankResult">
@@ -123,7 +124,7 @@
         </if>
     </select>
 
-    <select id="getWarnDetail" parameterType="String" resultMap="LargePlatPublicCarWarnDetailResult">
+    <select id="getWarnDetail" resultMap="LargePlatPublicCarWarnDetailResult">
         SELECT
             app_name,
             vehicle_num,
@@ -134,7 +135,7 @@
             large_plat_public_car_warn_detail a
                 LEFT JOIN large_plat_app_org b ON a.app_encode = b.app_encode
         WHERE
-            b.app_org = #{appOrg}
+            b.app_org = #{arg0} AND alert_type = #{arg1}
     </select>
 
     <select id="getOperationManageTopHalf" parameterType="String" resultMap="LargePlatPublicCarResult">
@@ -183,7 +184,7 @@
     <select id="getCarRank" resultMap="LargeCarRankResult">
         SELECT
             org_name,
-            vechile_num,
+            vehicle_num,
             pcd_count
         FROM
             large_plat_public_car_rank_person a
@@ -222,4 +223,16 @@
         ORDER BY
             pcd_num
     </select>
+
+    <delete id="deleteAllCarDetail" parameterType="integer">
+        delete from large_plat_public_car_change_detail where flag = #{flag}
+    </delete>
+
+    <delete id="deleteAllWarnDetail" parameterType="String">
+        delete from large_plat_public_car_warn_detail where alert_type = #{alertType}
+    </delete>
+
+    <delete id="deleteAllCarRank">
+        delete from large_plat_public_car_rank_person
+    </delete>
 </mapper>