liukangdong
2024-11-05 50353c2ae43cdddb8433358f4ba66bef30c5d628
Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit
已添加15个文件
已修改32个文件
2786 ■■■■■ 文件已修改
admin/.env.development 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/public/template/cars.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaCarsWindow.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaMemberWindow.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/internalMember.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/relativeMember.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/vehicle/cars.vue 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_admin/src/main/resources/bootstrap-dev.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_gateway/src/main/resources/application-dev.yml 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_gateway/src/main/resources/bootstrap-dev.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/core/utils/Constants.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/core/utils/TestTool.java 1397 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_timer/src/main/resources/bootstrap-dev.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/admin_timer/src/main/java/com/doumee/api/DatabaseController.java 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarsCloudController.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/OnSitDispatchController.java 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/SecurityController.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/common/PublicCloudController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/resources/bootstrap-dev.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/BaseListPageRequest.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/CameraPreviewURLsRequest.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/SensorStatusListRequest.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/CamerasPreviewURLsResponse.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/PageCameraInfoResponse.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/PageFireChannelInfoResponse.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/PageRegionInfoResponse.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/PageSensorStatusResponse.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/request/CarsImport.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/CarmeraListVO.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/OnSitDispatchBoardVO.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/RegionTreeVO.java 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CarsService.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncInitConfigServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java 291 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/.env.development
@@ -4,5 +4,5 @@
VUE_APP_API_URL  = 'http://localhost:10010'
# VUE_APP_API_URL  = 'http://192.168.0.103:10010'
# VUE_APP_API_URL  = 'http://192.168.0.173/gateway_interface'
VUE_APP_API_URL  = 'http://10.50.250.253:8088/gateway_interface'
# VUE_APP_API_URL  = 'http://10.50.250.253:8088/gateway_interface'
admin/public/template/cars.xlsx
Binary files differ
admin/src/components/business/OperaCarsWindow.vue
@@ -5,7 +5,7 @@
      <el-form-item label="车牌号" prop="code">
        <el-input v-model="form.code" placeholder="请输入车牌号" v-trim />
      </el-form-item>
      <el-form-item label="业务类型" prop="type">
      <el-form-item label="备注" prop="type">
        <el-radio-group v-model="form.type">
          <el-radio :label="0">安泰公务车</el-radio>
          <el-radio :label="1">安泰物流车</el-radio>
@@ -67,7 +67,7 @@
        code: [{ required: true, message: '请输入车牌号' }],
        groupId: [{ required: true, message: '请选择组织' }],
        type: [
          { required: true, message: '请选择业务类型' }
          { required: true, message: '请选择备注' }
        ]
      }
    }
admin/src/components/business/OperaMemberWindow.vue
@@ -37,12 +37,12 @@
        <el-date-picker v-model="form.jobDate" value-format="yyyy-MM-dd" type="date">
        </el-date-picker>
      </el-form-item>
      <el-form-item label="是否党员" prop="isDangyuan">
<!--      <el-form-item label="是否党员" prop="isDangyuan">
        <el-radio-group v-model="form.isDangyuan">
          <el-radio :label="0">非党员</el-radio>
          <el-radio :label="1">党员</el-radio>
        </el-radio-group>
      </el-form-item>
      </el-form-item>-->
      <el-form-item label="人脸照片" prop="faceImgFull">
        <div class="upload_wrap">
          <UploadFaceImg :file="{ 'imgurlfull': form.faceImgFull, 'imgurl': form.faceImg }" :uploadData="uploadData"
admin/src/views/business/internalMember.vue
@@ -94,12 +94,12 @@
        </el-table-column>
        <el-table-column prop="companyName" label="所属部门" min-width="100px"></el-table-column>
        <el-table-column prop="positionName" label="岗位" min-width="100px"></el-table-column>
        <el-table-column prop="isDangyuan" label="是否党员" min-width="100px">
<!--        <el-table-column prop="isDangyuan" label="是否党员" min-width="100px">
          <template slot-scope="{row}">
          <span v-if="row.isDangyuan ==1" style="color: green">党员</span>
          <span v-if="row.isDangyuan ==0">非党员</span>
          </template>
        </el-table-column>
        </el-table-column>-->
        <el-table-column prop="jobDate" label="入职日期" min-width="100px"></el-table-column>
<!--        <el-table-column prop="status" label="状态" min-width="100px">
          <template slot-scope="{row}">
admin/src/views/business/relativeMember.vue
@@ -105,12 +105,12 @@
        </el-table-column>
        <el-table-column prop="companyName" label="所属部门" min-width="100px"></el-table-column>
        <el-table-column prop="positionName" label="岗位" min-width="100px"></el-table-column>
        <el-table-column prop="isDangyuan" label="是否党员" min-width="100px">
<!--        <el-table-column prop="isDangyuan" label="是否党员" min-width="100px">
          <template slot-scope="{row}">
            <span v-if="row.isDangyuan ==1 " style="color: green">党员</span>
            <span v-if="row.isDangyuan ==0">非党员</span>
          </template>
        </el-table-column>
        </el-table-column>-->
        <el-table-column prop="jobDate" label="入职日期" min-width="100px">  </el-table-column>
<!--        <el-table-column prop="status" label="状态" min-width="100px">
          <template slot-scope="{row}">
admin/src/views/vehicle/cars.vue
@@ -28,7 +28,7 @@
        </el-select>
      </el-form-item>
      <el-form-item label="" prop="type" title="业务类型">
        <el-select v-model="searchForm.type" @change="search" clearable placeholder="业务类型">
        <el-select v-model="searchForm.type" @change="search" clearable placeholder="备注">
          <el-option label="安泰公务车" value="0"></el-option>
          <el-option label="安泰自有物流车" value="1"></el-option>
          <el-option label="其他" value="2"></el-option>
@@ -55,13 +55,6 @@
      <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange">
        <el-table-column type="selection" width="55"></el-table-column>
        <el-table-column prop="code" label="车牌号" min-width="100px"></el-table-column>
        <el-table-column label="业务类型" min-width="120px">
          <template slot-scope="{row}">
            <span v-if="row.type == 0">安泰公务车</span>
            <span v-if="row.type == 1">安泰自有物流车</span>
            <span v-if="row.type == 2">其他</span>
          </template>
        </el-table-column>
        <el-table-column prop="memberName" label="车主姓名" min-width="100px"></el-table-column>
        <el-table-column prop="memberPhone" label="车主手机号" min-width="100px"></el-table-column>
        <el-table-column prop="catePName" label="一级分类" min-width="120px"></el-table-column>
@@ -100,6 +93,13 @@
            <div v-else>-</div>
          </template>
        </el-table-column>
        <el-table-column label="备注" min-width="120px">
          <template slot-scope="{row}">
            <span v-if="row.type == 0">安泰公务车</span>
            <span v-if="row.type == 1">安泰自有物流车</span>
            <span v-if="row.type == 2">其他</span>
          </template>
        </el-table-column>
        <el-table-column prop="editorName" label="操作人" min-width="100px"></el-table-column>
        <el-table-column prop="editDate" label="操作时间" min-width="140px"></el-table-column>
        <el-table-column
server/meeting/meeting_admin/src/main/resources/bootstrap-dev.yml
@@ -15,7 +15,7 @@
      password: nacos
      config:
        server-addr: http://175.27.187.84:8848 #配置Nacos地址
        namespace: dmvisit
        namespace: dmvisit_dev
#        namespace: dev_renkang
        username: nacos
        password: nacos
server/system_gateway/src/main/resources/application-dev.yml
@@ -1,12 +1,12 @@
spring:
  # æ•°æ®æºé…ç½®
  datasource:
#    url: jdbc:mysql://sh-cdb-aiskr3vy.sql.tencentcdb.com:62443/antaiwuliu?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
#    username: doumee
#    password: rtjgfEr@&0c0m
    url: jdbc:mysql://10.50.250.253:3306/antaiwuliu?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
    username: root
    password: Atwl@2024
    url: jdbc:mysql://sh-cdb-aiskr3vy.sql.tencentcdb.com:62443/antaiwuliu?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
    username: doumee
    password: rtjgfEr@&0c0m
#    url: jdbc:mysql://10.50.250.253:3306/antaiwuliu?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
#    username: root
#    password: Atwl@2024
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource
server/system_gateway/src/main/resources/bootstrap-dev.yml
@@ -7,7 +7,7 @@
      discovery:
        server-addr: http://175.27.187.84:8848 #配置Nacos地址
#        namespace: dmvisit
        namespace: dmvisit
        namespace: dmvisit_dev
        username: nacos
        password: nacos
    gateway:
server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -426,6 +426,7 @@
    public interface RedisKeys {
        public static final String IMPORTING_CARS ="IMPORTING_CARS";
        public static final String IMPORTING_MEMBER ="IMPORTING_MEMBER";
        public static final String IMPORTING_GAS ="IMPORTING_GAS";
        public static final String ERP_TOKEN ="ERP_TOKEN";
@@ -920,7 +921,7 @@
    /**
     * æœˆå°ä½œä¸š çŠ¶æ€
     * 0待确认 1待签到 2等待叫号 3入园等待 4已叫号 5作业中 6作业完成 7转移中 8异常挂起 9已授权离园 10已离园 11 å·²è¿‡å·
     * 0待确认 1待签到 2等待叫号 3入园等待 4已叫号 5作业中 6作业完成 7转移中 8异常挂起 9已授权离园 10已离园 11 å·²è¿‡å· 12已取消
     */
    public  enum PlatformJobStatus {
        WAIT_CONFIRM(0, "待确认","待确认" ),
server/system_service/src/main/java/com/doumee/core/utils/TestTool.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,1397 @@
package com.doumee.core.utils;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import org.apache.commons.lang3.StringUtils;
import java.io.IOException;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Random;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestTool {
    public static void main(String[] args) {
        String[] cars = new String[]{"皖AB6219",
                "皖AE301R",
                "皖A01213",
                "皖A9G467",
                "皖AAT569",
                "皖AA8196",
                "皖AAT561",
                "皖AA8593",
                "皖AA8559",
                "皖AA8565",
                "皖AA8573",
                "皖AA8117",
                "皖AA8580",
                "皖AJ5118",
                "皖AJ1371",
                "皖AJ0691",
                "皖AJ0665",
                "皖AJ8818",
                "皖AJ9221",
                "皖AJ0609",
                "皖AJ3080",
                "皖AL0601",
                "皖AL1971",
                "皖AL8313",
                "皖AL1761",
                "皖AL9179",
                "皖AL0390",
                "皖AL5131",
                "皖AL0201",
                "皖AL2771",
                "皖AL7131",
                "皖K9072C",
                "皖AF69F5",
                "皖MGG862",
                "皖AC669Y",
                "皖AY6Y57",
                "皖AA99719",
                "皖AF727Y",
                "皖A7H319",
                "皖AA32898",
                "皖AD15312",
                "皖ABB189",
                "皖A81B27",
                "皖A783GX",
                "皖AQM306",
                "皖A22U80",
                "皖ASJ523",
                "皖AWX972",
                "皖AXU128",
                "皖AA1535",
                "皖AY9T09",
                "皖AFJ4499",
                "皖BX111S",
                "皖AD9Z39",
                "晥ACH956",
                "晥ADR5227",
                "晥AJ617Z",
                "晥AV063U",
                "晥AV5P23",
                "晥A6VF72",
                "晥ANR728",
                "皖A43970",
                "皖ANN900",
                "皖AL1Z26",
                "皖ALP828",
                "皖AC289Y",
                "皖AA0G39",
                "皖AGU016",
                "皖AL56R0",
                "皖AA01110",
                "皖APY305",
                "皖ARL218",
                "皖AZH216",
                "皖AG2088",
                "皖AA61999",
                "皖AA38669",
                "皖ADK9306",
                "皖A10110",
                "皖A135NR",
                "皖A38566",
                "皖A39961",
                "皖AE4W46",
                "皖AF293T",
                "皖A2953B",
                "皖AB13A8",
                "皖AQ69X7",
                "皖AB7M36",
                "皖AH39X5",
                "皖A7UK93",
                "皖A1DK59",
                "皖A3MK59",
                "皖A0BL38",
                "皖AV31B8",
                "皖AEE842",
                "皖A8315A",
                "皖A2NK09",
                "皖A1729B",
                "皖AE0W92",
                "皖AEN372",
                "皖AVM416",
                "皖AYC151",
                "皖A0265F",
                "皖AE5N69",
                "皖A0CM93",
                "皖AC935U",
                "皖AW092Z",
                "皖AV50A0",
                "皖A7VM93",
                "皖AW5B19",
                "皖A2EL08",
                "皖AP33B9",
                "皖AM39A3",
                "皖AD2250",
                "皖A46E69",
                "皖AX32A1",
                "皖AAC748",
                "皖A0352Z",
                "皖A5X011",
                "皖AA1292",
                "皖ADD1065",
                "皖AQ23R8",
                "皖AM17R9",
                "皖AH31S9",
                "皖A091R6",
                "皖ACB455",
                "皖AD1372",
                "皖AL1W38",
                "皖AK08R2",
                "皖AR5497",
                "皖AF700T",
                "皖A03X40",
                "皖A69S96",
                "皖AU23G6",
                "皖A62Y24",
                "皖AD77683",
                "浙EQE628",
                "皖A0R0B5",
                "皖A32MC8",
                "皖A3QM38",
                "皖A7U2B9",
                "皖ADW275",
                "皖AE181E",
                "皖AXJ332",
                "皖A13C37",
                "皖A2U747",
                "皖AX63G1",
                "皖A2651Z",
                "皖A12931",
                "皖AH4Y07",
                "皖AFH3616",
                "皖AX7K28",
                "皖A05LG0",
                "皖AA7985",
                "皖A98E57",
                "皖A916N9",
                "皖AAT378",
                "皖A29601",
                "皖ADN1577",
                "皖ABR530",
                "皖AQ360T",
                "皖AC2M88",
                "皖A63917",
                "皖A6607G",
                "皖A9158Z",
                "皖ADM3277",
                "皖AG277B",
                "皖A711G1",
                "皖AG67E6",
                "皖A0KM07",
                "皖A9LC70",
                "皖AFB925",
                "皖A7LZ59",
                "皖AR335F",
                "皖ALT825",
                "皖A18J84",
                "皖ADH0855",
                "皖AT067X",
                "皖AQ6L13",
                "皖AW983Z",
                "皖A9HH77",
                "皖A09L92",
                "皖A61K85",
                "皖A98X01",
                "皖AWE926",
                "皖AN0412",
                "皖APV960",
                "皖AM261P",
                "皖A3T655",
                "皖AG85H1",
                "皖A3XJ79",
                "皖A59CM8",
                "皖ATT645",
                "皖APX519",
                "皖ALV519",
                "皖A818E5",
                "皖AMM988",
                "皖ADS3180",
                "皖AC333A",
                "皖ADS3810",
                "皖AV0282",
                "皖AD4Y98",
                "皖AD7L59",
                "皖AR67M2",
                "皖AD67620",
                "皖AL5Y13",
                "皖A9T097",
                "皖AF177Z",
                "皖A1C196",
                "皖AY731G",
                "皖A157FM",
                "皖ADC9936",
                "皖AGH153",
                "皖AR0R28",
                "皖AH906T",
                "皖AH306Q",
                "皖AR903R",
                "皖A57H80",
                "皖CFD672",
                "皖A0CT25",
                "皖A39R99",
                "皖AS5399",
                "皖NYC109",
                "皖A7XG67",
                "皖A5L003",
                "皖A8D2B0",
                "皖AW6595",
                "皖AS6K77",
                "皖A833H7",
                "皖A2L428",
                "皖A0Q880",
                "皖A833GJ",
                "皖A860J6",
                "皖AU3Z77",
                "皖AK327T",
                "皖AK6N66",
                "皖A0780R",
                "皖AA77996",
                "皖AM6847",
                "皖A912D3",
                "皖A9UV52",
                "皖AL218F",
                "皖A6TW79",
                "皖A009B9",
                "皖A52AA8",
                "皖AP981A",
                "皖A62W52",
                "皖ASF208",
                "皖ATG275",
                "皖A388S3",
                "皖A64691",
                "皖AP252C",
                "皖AV7B16",
                "皖AUX783",
                "皖A21C11",
                "皖A276FV",
                "皖AE5170",
                "皖AQ83G7",
                "皖AF2347",
                "皖AMB148",
                "皖A3WR69",
                "皖A950ZJ",
                "皖A50KF9",
                "皖A7NZ95",
                "皖AT063K",
                "皖A3A237",
                "皖A4Y333",
                "皖AD11433",
                "皖AZ427Y",
                "皖AN006Z",
                "皖AZU635",
                "皖A022P6",
                "皖ALM129",
                "皖ABB479",
                "皖AH708Z",
                "皖AK222N",
                "皖A6013L",
                "皖A802RD",
                "皖AA81395",
                "皖AGZ396",
                "皖AV25V3",
                "皖ADX8899",
                "皖AA1R27",
                "皖AL9Q85",
                "皖AR977R",
                "皖AD11948",
                "皖AD23329",
                "皖AFD8929",
                "皖AFJ4994",
                "皖A918HP",
                "皖AP6021",
                "皖AF16980",
                "皖AD80156",
                "皖AD46432",
                "皖AL2A95",
                "皖AP015K",
                "皖AS7306",
                "皖A5189D",
                "皖AD60216",
                "皖AQ3U58",
                "皖ADM9383",
                "皖A9787S",
                "皖A19F82",
                "皖A7HL78",
                "皖AF5386",
                "皖AY2981",
                "皖AU712D",
                "皖ADZ1413",
                "皖A36BJ6",
                "苏AH783E",
                "皖A208S8",
                "皖AU99S0",
                "皖AR3L55",
                "皖AY13L9",
                "皖AR67C1",
                "皖A53P02",
                "皖A847R8",
                "皖AS7X22",
                "皖AT329C",
                "皖A578VX",
                "皖A680PB",
                "皖AD69563",
                "皖ADS6785",
                "皖AK88T7",
                "皖AS3W13",
                "皖AU28Z3",
                "皖AL4717",
                "皖A9A826",
                "皖A810GD",
                "皖A3ME38",
                "皖AQC660",
                "皖AF26531",
                "皖AN0224",
                "皖AFD9565",
                "皖HZC115",
                "皖A6J275",
                "皖AD23053",
                "皖ADN3355",
                "皖A2VY16",
                "皖AHB882",
                "皖A20634",
                "皖AA61213",
                "皖AAB5386",
                "皖AQ66D5",
                "皖A172ZR",
                "皖AV2X71",
                "皖ADG2839",
                "皖A05HH7",
                "皖A7H955",
                "皖AJ38C0",
                "皖A09AC8",
                "皖ADN8219",
                "皖A86768",
                "皖A64565",
                "皖AF6869",
                "皖AK510F",
                "皖AE7556",
                "皖AS1119",
                "皖A9WR16",
                "皖ANB777",
                "皖AW3263",
                "皖AD86556",
                "皖AE385å­¦",
                "皖AA3339",
                "皖A1LX68",
                "皖AA27620",
                "皖A753NH",
                "皖DHS500",
                "皖A96G59",
                "皖AG596H",
                "皖A90059",
                "皖ADG301",
                "皖ADG5027",
                "皖AZS392",
                "皖AN03G8",
                "皖AVV938",
                "皖A5WB51",
                "皖AG6G57",
                "皖AD12718",
                "皖A2AP97",
                "皖AV9709",
                "皖A6H0F8",
                "皖AD207M",
                "皖AT35Z8",
                "皖AX108S",
                "皖AM818W",
                "皖AV08L2",
                "皖AX677C",
                "皖A92K29",
                "皖AF08F0",
                "皖AX1U50",
                "皖A00F85",
                "皖A105B5",
                "皖A33Z13",
                "皖A377AF",
                "皖LM9202",
                "皖AW785K",
                "皖A621G7",
                "皖AK661G",
                "皖AZF353",
                "皖AM528Y",
                "皖AS2G87",
                "皖AHX962",
                "皖A2NL59",
                "皖A39L66",
                "皖AW130C",
                "皖AV502K",
                "皖EA5002",
                "皖AG11D2",
                "皖AG2Q90",
                "皖A088PX",
                "皖RB6090",
                "皖ADD4298",
                "皖AMOT18",
                "皖A7CA06",
                "皖A1YR63",
                "皖AC616P",
                "皖AF8905",
                "皖AU796W",
                "皖A852YX",
                "皖ALH073",
                "皖A2ZM95",
                "皖AW7F21",
                "皖A7P081",
                "皖AAB9158",
                "皖AM205G",
                "皖AD19422",
                "皖A65D99",
                "皖A825R2",
                "皖A9TL21",
                "皖AY4619",
                "皖A0PQ03",
                "皖AFP638",
                "皖A0VW17",
                "皖ATR386",
                "皖AC503H",
        };
        String[] allCars = new String[]{
                "皖A01213-安泰公务车-公务车/安泰物流公务用车-安泰物流相关方/众诚公司-13856004205",
                "皖A9G467-安泰公务车-公务车/安泰物流公务用车-安泰物流相关方/众诚公司-18855126212",
                "皖AAT569-安泰公务车-公务车/安泰物流公务用车-安泰物流相关方/众诚公司-13705600310",
                "皖AA8196-安泰公务车-公务车/安泰物流公务用车-安泰物流相关方/众诚公司-13705691362",
                "皖AAT561-安泰公务车-公务车/安泰物流公务用车-安泰物流相关方/众诚公司-13705600310",
                "皖A29769-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-",
                "皖A29767-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-",
                "皖A29758-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-",
                "皖A01475-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-",
                "皖A02149-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-",
                "皖A02152-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-",
                "皖A02486-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-",
                "皖A02500-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-",
                "皖A02497-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-",
                "皖A02489-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-",
                "皖A02132-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-",
                "皖A29755-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-",
                "皖AA8593-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-15055179136",
                "皖AA8559-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-13485727850",
                "皖AA8565-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-17505515701",
                "皖AA8573-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-15905609307",
                "皖AA8117-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-15155165536",
                "皖AA8580-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-18949230358",
                "皖AJ5118-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-15955159992",
                "皖AJ1371-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-18010863058",
                "皖AJ0691-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-13965105584",
                "皖AJ0665-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-15255133586",
                "皖AJ8818-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-13955160295",
                "皖AJ9221-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-13966655585",
                "皖AJ0609-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-13866171458",
                "皖AJ3080-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-13075519010",
                "皖AL0601-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-15055107708",
                "皖AL1971-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-13655604645",
                "皖AL8313-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-13965137528",
                "皖AL1761-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-17505690187",
                "皖AL9179-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-13965020562",
                "皖AL0390-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-18010882575",
                "皖AL5131-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-13515644306",
                "皖AL0201-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-13905601520",
                "皖AL2771-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-13637094407",
                "皖AL7131-安泰物流车-货运车辆/安泰物流货运车辆-安泰物流相关方/众诚公司-13865991467",
                "皖K9072C-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/物流中心-15905583796",
                "皖AF69F5-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/物流中心-13955008600",
                "皖MGG862-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/物流中心-13955008855",
                "皖AC669Y-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/物流中心-13605511715",
                "皖AY6Y57-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/物流中心-13856987728",
                "皖AA99719-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/纪检监察-13855002548",
                "皖AF727Y-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/储运科-13965073377",
                "皖A7H319-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/业务管理科-13856951594",
                "皖AA32898-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/业务管理科-13965029965",
                "皖AD15312-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/业务管理科-18056098020",
                "皖ABB189-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/财务管理科-13855191889",
                "皖A81B27-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/业务管理科-15665581037",
                "皖A783GX-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/财务管理科-15255621599",
                "皖AQM306-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/业务管理科-15665581037",
                "皖A22U80-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/运输总调度室-13866161051",
                "皖ASJ523-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/运输总调度室-13866161051",
                "皖AWX972-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/运输总调度室-13956088283",
                "皖AXU128-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/综合管理科-13956055677",
                "皖AA1535-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/综合管理科-13956055677",
                "皖AY9T09-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/综合管理科-13856085586",
                "皖AFJ4499-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/综合管理科-13856085586",
                "皖BX111S-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/综合管理科-13966767600",
                "皖AD9Z39-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/综合管理科-18055162696",
                "晥ACH956-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/储运科-13855159797",
                "晥ADR5227-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/运输总调度室-13865509512",
                "晥AJ617Z-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/储运科-13866754556",
                "晥AV063U-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/储运科-18855192890",
                "晥AV5P23-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/储运科-18155183418",
                "晥A6VF72-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/储运科-18656025577",
                "晥ANR728-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/储运科-13866796112",
                "皖A43970-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/信息工程科-13956077896",
                "皖ANN900-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/信息工程科-13956975120",
                "皖AL1Z26-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/信息工程科-13956975120",
                "皖ALP828-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/信息工程科-13739262204",
                "皖AC289Y-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/信息工程科-13956008165",
                "皖AA0G39-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/信息工程科-19956003192",
                "皖AGU016-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/信息工程科-13856056195",
                "皖AL56R0-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/信息工程科-13956908148",
                "皖AA01110-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/信息工程科-18055417732",
                "皖APY305-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/信息工程科-18055417732",
                "皖ARL218-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/信息工程科-13955132837",
                "皖AZH216-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/信息工程科-15155141103",
                "皖AG2088-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/信息工程科-18005694101",
                "皖AA61999-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/储运科-18255991615",
                "皖AA38669-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/信息工程科-19956003192",
                "皖ADK9306-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/借调人员-13956808695",
                "皖A10110-其他-公务车/市公司公务用车-园区默认组织/市公司/安技部-13855153156",
                "皖A135NR-其他-公务车/市公司公务用车-园区默认组织/市公司/安技部-13339299171",
                "皖A38566-其他-公务车/市公司公务用车-园区默认组织/市公司/安技部-18919690881",
                "皖A39961-其他-公务车/市公司公务用车-园区默认组织/市公司/安技部-18919690772",
                "皖A12931-其他-私家车/市公司职工车辆-园区默认组织/市公司/安技部-13339299171",
                "皖AH4Y07-其他-私家车/市公司职工车辆-园区默认组织/市公司/安技部-18919690772",
                "皖AFH3616-其他-私家车/市公司职工车辆-园区默认组织/市公司/安技部-18919690781",
                "皖AX7K28-其他-私家车/市公司职工车辆-园区默认组织/市公司/安技部-18919690781",
                "皖A05LG0-其他-私家车/市公司职工车辆-园区默认组织/市公司/安技部-13399657280",
                "皖AA7985-其他-私家车/市公司职工车辆-园区默认组织/市公司/安技部-13399657280",
                "皖A98E57-其他-私家车/市公司职工车辆-园区默认组织/市公司/安技部-18919690762",
                "皖A916N9-其他-私家车/市公司职工车辆-园区默认组织/市公司/安技部-13965103313",
                "皖AAT378-其他-私家车/市公司职工车辆-园区默认组织/市公司/安技部-13855153156",
                "皖A29601-其他-私家车/市公司职工车辆-园区默认组织/市公司/安技部-18919690881",
                "皖ADN1577-其他-私家车/市公司职工车辆-园区默认组织/市公司/财务部-13966384376",
                "皖ABR530-其他-私家车/市公司职工车辆-园区默认组织/市公司/财务部-15375352357",
                "皖AQ360T-其他-私家车/市公司职工车辆-园区默认组织/市公司/财务部-13966384376",
                "皖AN0412-其他-私家车/市公司职工车辆-园区默认组织/市公司/电子烟-18919690771",
                "皖APV960-其他-私家车/市公司职工车辆-园区默认组织/市公司/电子烟-18919690890",
                "皖AM261P-其他-私家车/市公司职工车辆-园区默认组织/市公司/电子烟-18955150503",
                "皖A3T655-其他-私家车/市公司职工车辆-园区默认组织/市公司/电子烟-13956917233",
                "皖AG85H1-其他-私家车/市公司职工车辆-园区默认组织/市公司/电子烟-13956917233",
                "皖A3XJ79-其他-私家车/市公司职工车辆-园区默认组织/市公司/电子烟-13966696265",
                "皖AGZ396-其他-私家车/市公司职工车辆-园区默认组织/市公司/综合部-18919690782",
                "皖AV25V3-其他-私家车/市公司职工车辆-园区默认组织/市公司/综合部-18856910892",
                "皖ADX8899-其他-私家车/市公司职工车辆-园区默认组织/市公司/综合部-15856391419",
                "皖AD11948-其他-私家车/市公司职工车辆-园区默认组织/市公司/综合部-15856391419",
                "皖AL9Q85-其他-私家车/市公司职工车辆-园区默认组织/市公司/综合部-18155166465",
                "皖AR977R-其他-私家车/市公司职工车辆-园区默认组织/市公司/综合部-13856557658",
                "皖A09AC8-其他-私家车/市公司职工车辆-园区默认组织/市公司/物流中心-13856566161",
                "皖A05HH7-其他-私家车/市公司职工车辆-园区默认组织/市公司/物流中心-15956505555",
                "皖A7H955-其他-私家车/市公司职工车辆-园区默认组织/市公司/物流中心-15956505555",
                "皖AFD8929-其他-私家车/市公司职工车辆-园区默认组织/市公司/物流中心-13905600222",
                "皖AJ38C0-其他-私家车/市公司职工车辆-园区默认组织/市公司/物流中心-18919690550",
                "皖AY696U-其他-私家车/市公司职工车辆-园区默认组织/市公司/物流中心-18919690968",
                "皖ADN8219-其他-私家车/市公司职工车辆-园区默认组织/市公司/物流中心-18919690669",
                "皖AF6869-其他-私家车/市公司职工车辆-园区默认组织/市公司/物流中心-18919690669",
                "皖AF16980-其他-私家车/市公司职工车辆-园区默认组织/市公司/物流中心-13955190131",
                "皖AYC757-其他-公务车/市公司公务用车-园区默认组织/市公司/物流中心-18919690391",
                "皖AV0E67-其他-公务车/市公司公务用车-园区默认组织/市公司/物流中心-13856048639",
                "皖A125QR-其他-公务车/市公司公务用车-园区默认组织/市公司/物流中心-13965044324",
                "皖A6372C-其他-公务车/市公司公务用车-园区默认组织/市公司/物流中心-18919690388",
                "皖A516BR-其他-公务车/市公司公务用车-园区默认组织/市公司/物流中心-18919690385",
                "皖A172ZR-其他-公务车/市公司公务用车-园区默认组织/市公司/物流中心-13955190131",
                "皖AV2X71-其他-公务车/市公司公务用车-园区默认组织/市公司/物流中心-18919690389",
                "皖ADG2839-其他-公务车/市公司公务用车-园区默认组织/市公司/物流中心-13365795116",
                "皖AV0W75-其他-公务车/市公司公务用车-园区默认组织/市公司/物流中心-17756044290",
                "皖AM2266-其他-公务车/市公司公务用车-园区默认组织/市公司/物流中心-18919690696",
                "皖AV3C82-其他-公务车/市公司公务用车-园区默认组织/市公司/物流中心-18096603588",
                "皖A192GR-其他-公务车/市公司公务用车-园区默认组织/市公司/物流中心-13955141536",
                "皖AK510F-其他-私家车/市公司职工车辆-园区默认组织/市公司/物流中心-18919690681",
                "皖AE7556-其他-私家车/市公司职工车辆-园区默认组织/市公司/物流中心-13865926243",
                "皖AS1119-其他-私家车/市公司职工车辆-园区默认组织/市公司/物流中心-18955110529",
                "皖A9WR16-其他-私家车/市公司职工车辆-园区默认组织/市公司/物流中心-18955110570",
                "皖ANB777-其他-私家车/市公司职工车辆-园区默认组织/市公司/物流中心-18955111333",
                "皖AW3263-其他-私家车/市公司职工车辆-园区默认组织/市公司/物流中心-18919690976",
                "皖AF293T-其他-货运车辆/市公司货运车辆-园区默认组织/市公司/送货部-18919690767",
                "皖A2953B-其他-货运车辆/市公司货运车辆-园区默认组织/市公司/送货部-18919690767",
                "皖A3MK59-其他-货运车辆/市公司货运车辆-园区默认组织/市公司/送货部-18919690767",
                "皖A1729B-其他-货运车辆/市公司货运车辆-园区默认组织/市公司/送货部-18919690767",
                "皖AEN372-其他-货运车辆/市公司货运车辆-园区默认组织/市公司/送货部-18919690767",
                "皖AYC151-其他-货运车辆/市公司货运车辆-园区默认组织/市公司/送货部-18919690767",
                "皖AE5N69-其他-货运车辆/市公司货运车辆-园区默认组织/市公司/送货部-18919690767",
                "皖A0CM93-其他-货运车辆/市公司货运车辆-园区默认组织/市公司/送货部-18919690767",
                "皖AC935U-其他-货运车辆/市公司货运车辆-园区默认组织/市公司/送货部-18919690767",
                "皖AB13A8-其他-货运车辆/市公司货运车辆-园区默认组织/市公司/送货部-18956055277",
                "皖A389W0-其他-货运车辆/市公司货运车辆-园区默认组织/市公司/送货部-13956918895",
                "皖AQ69X7-其他-货运车辆/市公司货运车辆-园区默认组织/市公司/送货部-13956977985",
                "皖AB7M36-其他-货运车辆/市公司货运车辆-园区默认组织/市公司/送货部-18856910817",
                "皖AH39X5-其他-货运车辆/市公司货运车辆-园区默认组织/市公司/送货部-13856019166",
                "皖AV31B8-其他-货运车辆/市公司货运车辆-园区默认组织/市公司/送货部-13665655857",
                "皖A8315A-其他-货运车辆/市公司货运车辆-园区默认组织/市公司/送货部-13856063769",
                "皖AV50A0-其他-货运车辆/市公司货运车辆-园区默认组织/市公司/送货部-18856910853",
                "皖AP33B9-其他-货运车辆/市公司货运车辆-园区默认组织/市公司/送货部-13556122412",
                "皖AM39A3-其他-货运车辆/市公司货运车辆-园区默认组织/市公司/送货部-18856910800",
                "皖AE4W46-其他-货运车辆/市公司货运车辆-园区默认组织/市公司/送货部-18856910835",
                "皖A7UK93-其他-货运车辆/市公司货运车辆-园区默认组织/市公司/送货部-13855176573",
                "皖A1DK59-其他-货运车辆/市公司货运车辆-园区默认组织/市公司/送货部-13855140034",
                "皖A0BL38-其他-货运车辆/市公司货运车辆-园区默认组织/市公司/送货部-18856910907",
                "皖A2NK09-其他-货运车辆/市公司货运车辆-园区默认组织/市公司/送货部-18856910815",
                "皖AW092Z-其他-货运车辆/市公司货运车辆-园区默认组织/市公司/送货部-13855123707",
                "皖A7VM93-其他-货运车辆/市公司货运车辆-园区默认组织/市公司/送货部-13956079487",
                "皖AW5B19-其他-货运车辆/市公司货运车辆-园区默认组织/市公司/送货部-18955151555",
                "皖A2EL08-其他-货运车辆/市公司货运车辆-园区默认组织/市公司/送货部-13855195399",
                "皖A818E5-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910910",
                "皖AD4Y98-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13605697998",
                "皖AR67M2-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13856063769",
                "皖AD67620-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-19965944187",
                "皖AL5Y13-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-19965944187",
                "皖A1C196-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13956919655",
                "皖ADC9936-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13556122412",
                "皖AH906T-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13965052135",
                "皖A39R99-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18956055277",
                "皖AS5399-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18956055277",
                "皖NYC109-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910800",
                "皖A7XG67-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13956977985",
                "皖A2L428-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13856019166",
                "皖A6TW79-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910837",
                "皖ASF208-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910789",
                "皖AE5170-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13665655857",
                "皖AMB148-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13965121479",
                "皖AFJ9665-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910813",
                "皖ABB479-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910853",
                "皖AH708Z-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910906",
                "皖AK222N-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910876",
                "皖A6013L-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910913",
                "皖A802RD-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910910",
                "皖A21C11-其他-私家车/市公司职工车辆-园区默认组织/市公司/物流中心-13956918895",
                "皖ALV519-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18955151555",
                "皖AV0282-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13855195399",
                "皖A9T097-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13855176573",
                "皖A157FM-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13966670004",
                "皖AR0R28-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910835",
                "皖AW6595-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910826",
                "皖A833H7-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13956079487",
                "皖A0Q880-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910827",
                "皖AK327T-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13965104222",
                "皖AK6N66-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13965104222",
                "皖A388S3-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910829",
                "皖A64691-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910866",
                "皖AF2347-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910801",
                "皖A50KF9-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910815",
                "皖AT063K-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13855140034",
                "皖A3A237-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13965109187",
                "皖AN006Z-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13855123707",
                "皖APX519-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-17333068189",
                "皖A276FV-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910907",
                "皖AR903R-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910891",
                "皖A0CT25-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13805604117",
                "皖A912D3-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910802",
                "皖A9UV52-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910832",
                "皖AL218F-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910832",
                "皖A62W52-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910843",
                "皖ATG275-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910885",
                "皖A950ZJ-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13515609707",
                "皖A7NZ95-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910841",
                "皖A918HP-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910836",
                "皖AMM988-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13035066988",
                "皖AC333A-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13866666650",
                "皖ADS3180-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13866666650",
                "皖AD7L59-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910823",
                "皖AF177Z-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18919690775",
                "皖AGH153-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910894",
                "皖AH306Q-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910895",
                "皖A57H80-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13966687088",
                "皖A59CM8-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13856515377",
                "皖CFD672-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13856057477",
                "皖A8D2B0-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910803",
                "皖A860J6-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910791",
                "皖AU3Z77-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910804",
                "皖A52AA8-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910806",
                "皖AP981A-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910794",
                "皖A4Y333-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13856954333",
                "皖AD11433-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13856954333",
                "皖ATT645-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18919690668",
                "皖AY731G-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910780",
                "皖AS6K77-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910847",
                "皖A833GJ-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13955171029",
                "皖A009B9-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13955139636",
                "皖AV7B16-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910833",
                "皖AUX783-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13956957683",
                "皖A022P6-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13856001805",
                "皖ALM129-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13856001805",
                "皖AP6021-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18919690780",
                "皖AA77996-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18919690767",
                "皖AM6847-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18919690767",
                "皖A9TL21-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-13965109187",
                "皖AY4619-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856080703",
                "皖A0PQ03-其他-私家车/市公司职工车辆-园区默认组织/市公司/送货部-18856910788",
                "皖AC2M88-其他-私家车/市公司职工车辆-园区默认组织/市公司/储配部-13855196288",
                "皖A63917-其他-私家车/市公司职工车辆-园区默认组织/市公司/储配部-13955186028",
                "皖ADM3277-其他-私家车/市公司职工车辆-园区默认组织/市公司/储配部-13645651772",
                "皖AG277B-其他-私家车/市公司职工车辆-园区默认组织/市公司/储配部-13955199214",
                "皖A711G1-其他-私家车/市公司职工车辆-园区默认组织/市公司/储配部-13505658626",
                "皖AG67E6-其他-私家车/市公司职工车辆-园区默认组织/市公司/储配部-13966379444",
                "皖A0KM07-其他-私家车/市公司职工车辆-园区默认组织/市公司/储配部-13966334117",
                "皖A9LC70-其他-私家车/市公司职工车辆-园区默认组织/市公司/储配部-18856910807",
                "皖AFB925-其他-私家车/市公司职工车辆-园区默认组织/市公司/储配部-15956505627",
                "皖AR335F-其他-私家车/市公司职工车辆-园区默认组织/市公司/储配部-13866700557",
                "皖ALT825-其他-私家车/市公司职工车辆-园区默认组织/市公司/储配部-19159082371",
                "皖A18J84-其他-私家车/市公司职工车辆-园区默认组织/市公司/储配部-13866984826",
                "皖ADH0855-其他-私家车/市公司职工车辆-园区默认组织/市公司/储配部-13856960608",
                "皖AQ6L13-其他-私家车/市公司职工车辆-园区默认组织/市公司/储配部-13966375158",
                "皖A23H29-其他-私家车/市公司职工车辆-园区默认组织/市公司/储配部-13685657632",
                "皖AW983Z-其他-私家车/市公司职工车辆-园区默认组织/市公司/储配部-18949847129",
                "皖A9HH77-其他-私家车/市公司职工车辆-园区默认组织/市公司/储配部-13856004013",
                "皖A61K85-其他-私家车/市公司职工车辆-园区默认组织/市公司/储配部-18005657566",
                "皖A98X01-其他-私家车/市公司职工车辆-园区默认组织/市公司/储配部-13956095631",
                "皖AWE926-其他-私家车/市公司职工车辆-园区默认组织/市公司/储配部-18919690770",
                "皖AZ427Y-其他-私家车/市公司职工车辆-园区默认组织/市公司/储配部-18919690761",
                "皖AFJ4994-其他-私家车/市公司职工车辆-园区默认组织/市公司/储配部-13966334117",
                "皖AFP638-其他-私家车/市公司职工车辆-园区默认组织/市公司/储配部-13955188202",
                "皖A0VW17-其他-私家车/市公司职工车辆-园区默认组织/市公司/储配部-18855187627",
                "皖ATR386-其他-私家车/市公司职工车辆-园区默认组织/市公司/储配部-13965689770",
                "皖AL2A95-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-13685695039",
                "皖AD46432-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-15209856136",
                "皖APG939-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖AS7306-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-13865918124",
                "皖A5189D-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖AD60216-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-13764070633",
                "皖AQ3U58-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-13866683455",
                "皖ADM9383-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-13866794323",
                "皖A9787S-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-19956527880",
                "皖A19F82-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-19956075570",
                "皖A7HL78-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-13739278846",
                "皖AY2981-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-15375429056",
                "皖CD01012-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-15395033218",
                "皖AZX747-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-18655123031",
                "皖ADZ1413-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-18324700273",
                "皖A36BJ6-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-18324700273",
                "苏AH783E-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-15357746918",
                "皖AP595Y-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-18155175195",
                "皖A208S8-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-13505619166",
                "皖AR3L55-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-13966727745",
                "皖AY13L9-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-13866745813",
                "皖A78337-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-15851629713",
                "皖AR67C1-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-15851629713",
                "皖A847R8-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-15056091913",
                "皖AS7X22-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-13965122539",
                "皖AT329C-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-13866134408",
                "皖A578VX-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-18256958373",
                "皖AQC660-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-18956022800",
                "皖A680PB-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-18956022800",
                "皖AD69563-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-18225600905",
                "皖ADS6785-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-15256591763",
                "皖AS3W13-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-18326009919",
                "皖AU28Z3-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-13866669923",
                "皖AX63G1-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-13866669923",
                "皖A9A826-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-13615606800",
                "皖A810GD-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-13855192234",
                "皖A3ME38-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-13955140157",
                "皖AF26531-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-15155956381",
                "皖AFD9565-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-15026632182",
                "皖HZC115-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-18792130858",
                "皖A6J275-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-18175335887",
                "皖AD23053-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-17333038030",
                "皖A6VU82-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-13866685119",
                "皖A2VY16-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-13866685119",
                "皖AHB882-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-18956078866",
                "皖A20634-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-15256703850",
                "皖AA61213-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-13956041029",
                "皖AAB5386-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-19956075570",
                "皖AQ66D5-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-13865918124",
                "皖AA61213-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-19965465419",
                "皖AW3077-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-19956075570",
                "皖AD77638-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-18956535556",
                "皖A62Y24-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-19956056535",
                "浙EQE628-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-19956056535",
                "皖AN155L-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-13339117728",
                "皖ADD1065-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-15212781479",
                "皖AQ903M-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-18955172298",
                "皖AH5E99-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-17856513485",
                "皖A5X011-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-15209872970",
                "皖ADJ0192-其他-私家车/市公司相关方职工车辆-园区默认组织/市公司/市公司相关方-13605516917",
                "皖A13C37-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖ADV8558-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖AL4717-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖A091R6-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖AR5497-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖AF700T-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖AXJ332-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖A2651Z-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖ACB455-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖AE181E-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖ACY910-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖AF23089-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖AL1W38-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖AN0224-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖AH31S9-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖A53P02-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖A2U747-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖AK88T7-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖A46E69-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖AM17R9-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖AX32A1-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖AQ23R8-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖A0R0B5-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖AU23G6-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖A32MC8-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖AU99S0-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖AK08R2-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖A03X40-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖A7U2B9-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖A3QM38-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖ADW275-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖AUP277-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖AD2250-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖AD0240-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖AD1372-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖A0352Z-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖AAC748-其他-货运车辆/市公司邮政外包车辆-园区默认组织/市公司/市公司相关方-15855138721",
                "皖AD86556-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-13635517189",
                "皖AE385å­¦-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-13866170921",
                "皖AA3339-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-13955160295",
                "皖A1LX68-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-15956972822",
                "皖AA27620-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-13866721086",
                "皖A753NH-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-15955105569",
                "皖DHS500-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-13705544339",
                "皖A96G59-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-18949846563",
                "皖AG596H-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-15256938193",
                "皖A90059-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-15855155005",
                "皖ADG301-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-13865991467",
                "皖ADG5027-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-13655604645",
                "皖AZS392-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-13856004205",
                "皖AN03G8-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-15900512688",
                "皖AVV938-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-13866171458",
                "皖A5WB51-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-13075519010",
                "皖AG6G57-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-13705600310",
                "皖AD12718-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-15055107708",
                "皖A2AP97-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-17505690187",
                "皖AV9709-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-13515644306",
                "皖A6H0F8-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-13661571869",
                "皖AD207M-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-15855102446",
                "皖A8E8C1-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-13349117369",
                "皖AT35Z8-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-18019919636",
                "皖AX108S-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-13965053771",
                "皖AM818W-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-13965137528",
                "皖AV08L2-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-15955159992",
                "皖AX677C-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-18715603668",
                "皖A92K29-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-18855126212",
                "皖AF08F0-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-15155165536",
                "皖AX1U50-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-17333152686",
                "皖A00F85-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-13485727850",
                "皖A105B5-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-13966686381",
                "皖A33Z13-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-17505515701",
                "皖A377AF-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-15375439937",
                "皖LM9202-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-17769930887",
                "皖AW785K-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-15055179136",
                "皖A621G7-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-13865966506",
                "皖AK661G-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-13965020562",
                "皖AZF353-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-13965105584",
                "皖AM528Y-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-15255133586",
                "皖AS2G87-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-18010863058",
                "皖AHX962-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-13905601520",
                "皖A2NL59-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-18010882575",
                "皖A39L66-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-13637094407",
                "皖Aw130C-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-13966655585",
                "皖AV502K-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-18326156618",
                "皖EA5002-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-13701829756",
                "皖AG11D2-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-18895374416",
                "皖AG2Q90-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-13721067138",
                "皖A088PX-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-18095652570",
                "皖RB6090-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-15256666090",
                "皖ADD4298-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-13033052361",
                "皖AMOT18-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-13996529050",
                "皖A7CA06-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-18055115106",
                "皖A1YR63-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-18949230358",
                "皖AC616P-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-18155182329",
                "皖ADZ166-其他-私家车/相关方职工车辆-安泰物流/相关方/众诚公司-18956087958",
                "皖AF8905-其他-私家车/相关方职工车辆-安泰物流/相关方/保安公司-18755162349",
                "皖AU796W-其他-私家车/相关方职工车辆-安泰物流/相关方/保安公司-13956994808",
                "皖A852YX-其他-私家车/相关方职工车辆-安泰物流/相关方/保安公司-13966660678",
                "皖ALH073-其他-私家车/相关方职工车辆-安泰物流/相关方/保安公司-13865980010",
                "皖A2ZM95-其他-私家车/相关方职工车辆-安泰物流/相关方/保安公司-18226634586",
                "皖AP021K-其他-私家车/相关方职工车辆-安泰物流/相关方/龙之源公司-15345519793",
                "皖AX8P16-其他-私家车/相关方职工车辆-安泰物流/相关方/龙之源公司-13965078871",
                "皖AW7F21-其他-私家车/相关方职工车辆-安泰物流/相关方/龙之源公司-13966653390",
                "皖A7P081-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/营销调拨室-13955196906",
                "皖AAB9158-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/营销调拨室-13955196906",
                "皖AM205G-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/营销调拨室-13865957523",
                "皖AD19422-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/营销调拨室-18315335159",
                "皖A65D99-其他-私家车/安泰物流职工车辆-园区默认组织/安泰物流/营销调拨室-18315335159",
        };
        String[] carsPhone = new String[]{
                "皖AB6219-15256553434",
                "皖AE301R-13866781208",
                "皖A01213-13856004205",
                "皖A9G467-18855126212",
                "皖AAT569-13705600310",
                "皖AA8196-13705691362",
                "皖AAT561-13705600310",
                "皖AA8593-15055179136",
                "皖AA8559-13485727850",
                "皖AA8565-17505515701",
                "皖AA8573-13966686381",
                "皖AA8117-15155165536",
                "皖AA8580-18949230358",
                "皖AJ5118-15955159992",
                "皖AJ1371-18010863058",
                "皖AJ0691-13965105584",
                "皖AJ0665-15255133586",
                "皖AJ8818-13955160295",
                "皖AJ9221-13966655585",
                "皖AJ0609-13866171458",
                "皖AJ3080-13075519010",
                "皖AL0601-15055107708",
                "皖AL1971-13655604645",
                "皖AL8313-13965137528",
                "皖AL1761-17505690187",
                "皖AL9179-13965020562",
                "皖AL0390-18010882575",
                "皖AL5131-13515644306",
                "皖AL0201-13905601520",
                "皖AL2771-13637094407",
                "皖AL7131-13865991467",
                "皖K9072C-15905583796",
                "皖AF69F5-13955008600",
                "皖MGG862-13955008855",
                "皖AC669Y-13605511715",
                "皖AY6Y57-13856987728",
                "皖AA99719-13855002548",
                "皖AF727Y-13965073377",
                "皖A7H319-15375258610",
                "皖AA32898-13965029965",
                "皖AD15312-18056098020",
                "皖ABB189-13855191889",
                "皖A81B27-18856963616",
                "皖A783GX-15255621599",
                "皖AQM306-18856963616",
                "皖A22U80-13866161051",
                "皖ASJ523-13866161051",
                "皖AWX972-13956088283",
                "皖AXU128-13956055677",
                "皖AA1535-13956055677",
                "皖AY9T09-13856085586",
                "皖AFJ4499-13856085586",
                "皖BX111S-13966767600",
                "皖AD9Z39-18055162696",
                "晥ACH956-13855159797",
                "晥ADR5227-13865509512",
                "晥AJ617Z-13866754556",
                "晥AV063U-18855192890",
                "晥AV5P23-18155183418",
                "晥A6VF72-18656025577",
                "晥ANR728-13866796112",
                "皖A43970-13956077896",
                "皖ANN900-13956975120",
                "皖AL1Z26-13956975120",
                "皖ALP828-13739262204",
                "皖AC289Y-13956008165",
                "皖AA0G39-19956003192",
                "皖AGU016-13856056195",
                "皖AL56R0-13956908148",
                "皖AA01110-18055417732",
                "皖APY305-18055417732",
                "皖ARL218-13955132837",
                "皖AZH216-15155141103",
                "皖AG2088-18005694101",
                "皖AA61999-18255991615",
                "皖AA38669-19956003192",
                "皖ADK9306-13956808695",
                "皖A10110-13855153156",
                "皖A135NR-13339299171",
                "皖A38566-18919690881",
                "皖A39961-18919690772",
                "皖AE4W46-18856910835",
                "皖AF293T-18919690767",
                "皖A2953B-18919690767",
                "皖AB13A8-18956055277",
                "皖AQ69X7-13956977985",
                "皖AB7M36-18856910817",
                "皖AH39X5-13856019166",
                "皖A7UK93-13855176573",
                "皖A1DK59-13855140034",
                "皖A3MK59-18919690767",
                "皖A0BL38-18856910907",
                "皖AV31B8-13665655857",
                "皖AEE842-18919690767",
                "皖A8315A-13856063769",
                "皖A2NK09-18856910815",
                "皖A1729B-18919690767",
                "皖AE0W92-18919690767",
                "皖AEN372-18919690767",
                "皖AVM416-18919690767",
                "皖AYC151-18919690767",
                "皖A0265F-18919690767",
                "皖AE5N69-18919690767",
                "皖A0CM93-18919690767",
                "皖AC935U-18919690767",
                "皖AW092Z-13855123707",
                "皖AV50A0-18856910853",
                "皖A7VM93-13956079487",
                "皖AW5B19-18955151555",
                "皖A2EL08-13855195399",
                "皖AP33B9-13505612412",
                "皖AM39A3-18856910800",
                "皖AD2250-15395033218",
                "皖A46E69-13855192234",
                "皖AX32A1-13764070633",
                "皖AAC748-19956056535",
                "皖A0352Z-13605516917",
                "皖A5X011-13605516917",
                "皖AA1292-13605516917",
                "皖ADD1065-13605516917",
                "皖AQ23R8-19159080805",
                "皖AM17R9-13965056178",
                "皖AH31S9-19956075570",
                "皖A091R6-13739278846",
                "皖ACB455-15375429056",
                "皖AD1372-15395033218",
                "皖AL1W38-18655123031",
                "皖AK08R2-18256958373",
                "皖AR5497-15256591763",
                "皖AF700T-13955140157",
                "皖A03X40-17856513485",
                "皖A69S96-18356525286",
                "皖AU23G6-13866669923",
                "皖A62Y24-19956056535",
                "皖AD77683-19956056535",
                "浙EQE628-13339117728",
                "皖A0R0B5-13956041029",
                "皖A32MC8-13955140157",
                "皖A3QM38-13739278846",
                "皖A7U2B9-18956078866",
                "皖ADW275-13605516917",
                "皖AE181E-18175335887",
                "皖AXJ332-13866685119",
                "皖A13C37-18956078866",
                "皖A2U747-13615606800",
                "皖AX63G1-13615606800",
                "皖A2651Z-13956041029",
                "皖A12931-13339299171",
                "皖AH4Y07-18919690772",
                "皖AFH3616-18919690781",
                "皖AX7K28-18919690781",
                "皖A05LG0-17818588089",
                "皖AA7985-17818588089",
                "皖A98E57-18919690762",
                "皖A916N9-13965103313",
                "皖AAT378-13855153156",
                "皖A29601-18919690881",
                "皖ADN1577-13966384376",
                "皖ABR530-15375352357",
                "皖AQ360T-13966384376",
                "皖AC2M88-13855196288",
                "皖A63917-13955186028",
                "皖A6607G-13866683455",
                "皖A9158Z-13645651772",
                "皖ADM3277-13645651772",
                "皖AG277B-13955199214",
                "皖A711G1-13505658626",
                "皖AG67E6-15256507992",
                "皖A0KM07-13966334117",
                "皖A9LC70-18856910807",
                "皖AFB925-15956505627",
                "皖A7LZ59-13866700557",
                "皖AR335F-13866700557",
                "皖ALT825-19159082371",
                "皖A18J84-13866984826",
                "皖ADH0855-13856960608",
                "皖AT067X-13856960608",
                "皖AQ6L13-13966375158",
                "皖AW983Z-18949847129",
                "皖A9HH77-13856004013",
                "皖A09L92-13966379444",
                "皖A61K85-18005657566",
                "皖A98X01-13956095631",
                "皖AWE926-18919690770",
                "皖AN0412-18919690771",
                "皖APV960-18919690890",
                "皖AM261P-18955150503",
                "皖A3T655-13956917233",
                "皖AG85H1-13956917233",
                "皖A3XJ79-13966696265",
                "皖A59CM8-13856515377",
                "皖ATT645-18919690668",
                "皖APX519-17333068189",
                "皖ALV519-18955151555",
                "皖A818E5-18856910910",
                "皖AMM988-13035066988",
                "皖ADS3180-13866666650",
                "皖AC333A-13866666650",
                "皖ADS3810-13866666650",
                "皖AV0282-13855195399",
                "皖AD4Y98-13605697998",
                "皖AD7L59-18856910823",
                "皖AR67M2-13856063769",
                "皖AD67620-19965044178",
                "皖AL5Y13-19965044178",
                "皖A9T097-13855176573",
                "皖AF177Z-18919690775",
                "皖A1C196-13956919655",
                "皖AY731G-18856910780",
                "皖A157FM-13966670004",
                "皖ADC9936-13505612412",
                "皖AGH153-18856910894",
                "皖AR0R28-18856910835",
                "皖AH906T-13965052135",
                "皖AH306Q-13856001805",
                "皖AR903R-18856910891",
                "皖A57H80-13966687088",
                "皖CFD672-13856057477",
                "皖A0CT25-13805604117",
                "皖A39R99-18956055277",
                "皖AS5399-18956055277",
                "皖NYC109-18856910800",
                "皖A7XG67-13956977985",
                "皖A5L003-18856910803",
                "皖A8D2B0-18856910803",
                "皖AW6595-18856910826",
                "皖AS6K77-18856910847",
                "皖A833H7-13956079487",
                "皖A2L428-13856019166",
                "皖A0Q880-18856910827",
                "皖A833GJ-13955171029",
                "皖A860J6-18856910791",
                "皖AU3Z77-18856910804",
                "皖AK327T-13965104222",
                "皖AK6N66-13965104222",
                "皖A0780R-18919690780",
                "皖AA77996-18919690767",
                "皖AM6847-18919690767",
                "皖A912D3-18856910802",
                "皖A9UV52-18856910832",
                "皖AL218F-18856910832",
                "皖A6TW79-18856910837",
                "皖A009B9-18856910901",
                "皖A52AA8-18856910806",
                "皖AP981A-18856910794",
                "皖A62W52-18856910843",
                "皖ASF208-18856910789",
                "皖ATG275-18856910885",
                "皖A388S3-18856910829",
                "皖A64691-18856910866",
                "皖AP252C-18856910836",
                "皖AV7B16-18856910833",
                "皖AUX783-13956957683",
                "皖A21C11-13956918895",
                "皖A276FV-18856910907",
                "皖AE5170-13665655857",
                "皖AQ83G7-18856910788",
                "皖AF2347-18856910801",
                "皖AMB148-13965121479",
                "皖A3WR69-18856910813",
                "皖A950ZJ-13515609707",
                "皖A50KF9-18856910815",
                "皖A7NZ95-18856910841",
                "皖AT063K-13855140034",
                "皖A3A237-13965109187",
                "皖A4Y333-13856954333",
                "皖AD11433-13856954333",
                "皖AZ427Y-17333038030",
                "皖AN006Z-13855123707",
                "皖AZU635-18856080703",
                "皖A022P6-18856910895",
                "皖ALM129-18856910895",
                "皖ABB479-18856910853",
                "皖AH708Z-18856910906",
                "皖AK222N-18856910876",
                "皖A6013L-18856910913",
                "皖A802RD-18856910910",
                "皖AA81395-18856910804",
                "皖AGZ396-18919690782",
                "皖AV25V3-18856910892",
                "皖ADX8899-15856391419",
                "皖AA1R27-18856910892",
                "皖AL9Q85-18155166465",
                "皖AR977R-13856557658",
                "皖AD11948-15856391419",
                "皖AD23329-15856391419",
                "皖AFD8929-13905600222",
                "皖AFJ4994-13966334117",
                "皖A918HP-18856910836",
                "皖AP6021-18919690780",
                "皖AF16980-13955190131",
                "皖AD80156-13956917233",
                "皖AD46432-15209856136",
                "皖AL2A95-13685695039",
                "皖AP015K-13865918124",
                "皖AS7306-15855138721",
                "皖A5189D-13764070633",
                "皖AD60216-13866683455",
                "皖AQ3U58-13866794323",
                "皖ADM9383-19159080805",
                "皖A9787S-19956075570",
                "皖A19F82-13739278846",
                "皖A7HL78-15375429056",
                "皖AF5386-13865918124",
                "皖AY2981-15395033218",
                "皖AU712D-18655123031",
                "皖ADZ1413-18324700273",
                "皖A36BJ6-15357746918",
                "苏AH783E-18155175195",
                "皖A208S8-13966727745",
                "皖AU99S0-13966727745",
                "皖AR3L55-13866745813",
                "皖AY13L9-15851629713",
                "皖AR67C1-15056091913",
                "皖A53P02-13866134408",
                "皖A847R8-13856536567",
                "皖AS7X22-13866134408",
                "皖AT329C-18256958373",
                "皖A578VX-18956022800",
                "皖A680PB-18225600905",
                "皖AD69563-15256591763",
                "皖ADS6785-18326009919",
                "皖AK88T7-13866669923",
                "皖AS3W13-13866669923",
                "皖AU28Z3-13866669923",
                "皖AL4717-18326042219",
                "皖A9A826-13855192234",
                "皖A810GD-13955140157",
                "皖A3ME38-15155956381",
                "皖AQC660-18356525286",
                "皖AF26531-15026632182",
                "皖AN0224-15026632182",
                "皖AFD9565-18792130858",
                "皖HZC115-18175335887",
                "皖A6J275-17333038030",
                "皖AD23053-13866685119",
                "皖ADN3355-13866685119",
                "皖A2VY16-18956078866",
                "皖AHB882-15256703850",
                "皖A20634-13956041029",
                "皖AA61213-19956075570",
                "皖AAB5386-13865918124",
                "皖AQ66D5-19965465419",
                "皖A172ZR-13955190131",
                "皖AV2X71-13866669923",
                "皖ADG2839-13865918124",
                "皖A05HH7-15956505555",
                "皖A7H955-15956505555",
                "皖AJ38C0-18919690550",
                "皖A09AC8-13856566161",
                "皖ADN8219-18919690669",
                "皖A86768-",
                "皖A64565-",
                "皖AF6869-18919690669",
                "皖AK510F-18919690681",
                "皖AE7556-13865926243",
                "皖AS1119-18955110529",
                "皖A9WR16-18955110570",
                "皖ANB777-18955111333",
                "皖AW3263-18919690976",
                "皖AD86556-13635517189",
                "皖AE385å­¦-13866170921",
                "皖AA3339-13955160295",
                "皖A1LX68-15956972822",
                "皖AA27620-13866721086",
                "皖A753NH-15955105569",
                "皖DHS500-13355690737",
                "皖A96G59-18949846563",
                "皖AG596H-15256938193",
                "皖A90059-15855155005",
                "皖ADG301-13865991467",
                "皖ADG5027-13655604645",
                "皖AZS392-13856004205",
                "皖AN03G8-15900512688",
                "皖AVV938-13866171458",
                "皖A5WB51-13075519010",
                "皖AG6G57-13705600310",
                "皖AD12718-15055107708",
                "皖A2AP97-17505690187",
                "皖AV9709-13515644306",
                "皖A6H0F8-13661571869",
                "皖AD207M-15855102446",
                "皖AT35Z8-18019919636",
                "皖AX108S-13965053771",
                "皖AM818W-13965137528",
                "皖AV08L2-15955159992",
                "皖AX677C-18715603668",
                "皖A92K29-18855126212",
                "皖AF08F0-15155165536",
                "皖AX1U50-17333152686",
                "皖A00F85-13485727850",
                "皖A105B5-13966686381",
                "皖A33Z13-17505515701",
                "皖A377AF-15375439937",
                "皖LM9202-17769930887",
                "皖AW785K-15055179136",
                "皖A621G7-13865966506",
                "皖AK661G-13965020562",
                "皖AZF353-13965105584",
                "皖AM528Y-15255133586",
                "皖AS2G87-18010863058",
                "皖AHX962-13905601520",
                "皖A2NL59-18010882575",
                "皖A39L66-13637094407",
                "皖AW130C-13966655585",
                "皖AV502K-18326156618",
                "皖EA5002-13701829756",
                "皖AG11D2-18895374416",
                "皖AG2Q90-13721067138",
                "皖A088PX-18095652570",
                "皖RB6090-15256666090",
                "皖ADD4298-13033052361",
                "皖AMOT18-13996529050",
                "皖A7CA06-18055115106",
                "皖A1YR63-18949230358",
                "皖AC616P-18155182329",
                "皖AF8905-18755162349",
                "皖AU796W-13956994808",
                "皖A852YX-13309691098",
                "皖ALH073-13865980010",
                "皖A2ZM95-13856018311",
                "皖AW7F21-13966653390",
                "皖A7P081-13955196906",
                "皖AAB9158-13955196906",
                "皖AM205G-13865957523",
                "皖AD19422-18315335159",
                "皖A65D99-18315335159",
                "皖A825R2-",
                "皖A9TL21-13965109187",
                "皖AY4619-18856080703",
                "皖A0PQ03-18856910788",
                "皖AFP638-13955188202",
                "皖A0VW17-18855187627",
                "皖ATR386-13965689770",
                "皖AC503H-13856537989",
        };
        List<String> noCars = new ArrayList<>();
        List<String> yesCars = new ArrayList<>();
        List<String> phoneNoCars = new ArrayList<>();
        FLAG: for(String str :allCars){
            String[] temp =  str.split("-");
            for(String s : cars){
                if(StringUtils.equals(s,temp[0])){
                    yesCars.add(s);
                    continue FLAG;
                }
            }
            noCars.add(str);
        }
        FLAG1:
        for(String s : carsPhone){
            String[] tt  =  s.split("-");
            for(String str : allCars){
                String[] temp=  str.split("-");
                if(StringUtils.equals(tt[0],temp[0])
                        ){
                    if((tt.length>1
                            && temp.length>4
                            && !StringUtils.equals(tt[1],temp[4]))
                    || (tt.length >1 && temp.length<=4)
                    || (tt.length <=1 && temp.length>4) )
                    phoneNoCars.add(s + "|最新车主:"+temp[4]);
                    continue FLAG1;
                }
            }
        }
       for(String t :noCars){
           System.out.println(t);
       }
        System.out.println("--------完整车辆:"+allCars.length);
        System.out.println("--------已录入车辆:"+cars.length);
        System.out.println("--------对应录入车辆:"+yesCars.size());
        System.out.println("--------对应录入车辆:"+yesCars.size());
        System.out.println("--------未录车辆:"+noCars.size());
        for(String t :phoneNoCars){
            System.out.println(t);
        }
        System.out.println("--------车主对不上的车辆:"+phoneNoCars.size());
    }
}
server/system_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
@@ -114,8 +114,8 @@
    @Override
    public SystemUser findOne(SystemUser systemUser) {
        Wrapper<SystemUser> wrapper = new QueryWrapper<>(systemUser);
        return systemUserMapper.selectOne(wrapper);
        QueryWrapper<SystemUser> wrapper = new QueryWrapper<SystemUser>(systemUser);
        return systemUserMapper.selectOne(wrapper.lambda().last("limit 1"));
    }
    @Override
server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java
@@ -28,6 +28,9 @@
    @ApiOperation("【访客系统】定时查询设备状态")
    @GetMapping("/timer/device/getAscDeviceStatus")
     ApiResponse getAscDeviceStatus() ;
    @ApiOperation("【访客系统】定时备份数据库")
    @GetMapping("/timer/db/backupDatabase")
     ApiResponse backupDatabase() ;
    @ApiOperation("【访客系统】定时查询月台状态")
    @GetMapping("/timer/platform/getPlatformStatus")
     ApiResponse getPlatformStatus() ;
server/system_timer/src/main/resources/bootstrap-dev.yml
@@ -23,6 +23,6 @@
      #        data-id: com.doumee.meeting.admin
      discovery:
        server-addr: http://175.27.187.84:8848 #配置Nacos地址
        namespace: dmvisit
        namespace: dmvisit_dev
        username: nacos
        password: nacos
server/visits/admin_timer/src/main/java/com/doumee/api/DatabaseController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,130 @@
package com.doumee.api;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.utils.Date;
import com.doumee.core.utils.DateUtil;
import com.doumee.service.business.PlatformJobService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
/**
 * @author æ±Ÿè¹„蹄
 * @date 2023/11/30 15:33
 */
@Api(tags = "月台作业定时")
@RestController
@Slf4j
@RequestMapping("/timer/db")
public class DatabaseController extends BaseController {
    @Autowired
    private PlatformJobService platformJobService;
    @ApiOperation("数据库备份,保留最近7个备份sql")
    @GetMapping("/backupDatabase")
    public ApiResponse backupDatabase() {
        try {
            String timestamp = DateUtil.getNowLongTime();
            String path = "/usr/local/jars/db/";
            String backupPath = path + timestamp + ".sql";
            // ä½¿ç”¨mysqldump命令进行数据库备份
            Process process = Runtime.getRuntime().exec(new String[]{"mysqldump ", "-u", "root", "-p","Atwl@2024", "antaiwuliu", "-r", backupPath});
            process.waitFor();
            // æ£€æŸ¥å¤‡ä»½æ˜¯å¦æˆåŠŸ
            if (new File(backupPath).exists()) {
                log.info("数据库备份成功: " + backupPath);
                return ApiResponse.success("数据库备份成功: " + backupPath);
            } else {
                log.error("数据库备份失败.");
            }
            deleteOldFiles(path,7);//保留最近7个文件
        } catch (Exception e) {
            e.printStackTrace();
            log.error("数据库备份失败."+e.getMessage());
        }
        return ApiResponse.failed("数据库备份失败" );
    }
    /**
     * @param path
     */
    public   void deleteOldFiles(String path,int num) {
        //文件路径
        List<File> list = getFileSort(path);
        if(list==null || list.size() <= num){
            return;
        }
        for (int i = 0; i <list.size(); i++) {
            if(i>=7){
                list.get(i).delete();
            }
        }
    }
    /**
     * èŽ·å–ç›®å½•ä¸‹æ‰€æœ‰æ–‡ä»¶(按时间排序)
     *
     * @param path
     * @return
     */
    public static List<File> getFileSort(String path) {
        List<File> list = getFiles(path, new ArrayList<>());
        if (list != null && list.size() > 0) {
            Collections.sort(list, new Comparator<File>() {
                public int compare(File file, File newFile) {
                    if (file.lastModified() < newFile.lastModified()) {
                        return 1;
                    } else if (file.lastModified() == newFile.lastModified()) {
                        return 0;
                    } else {
                        return -1;
                    }
                }
            });
        }
        return list;
    }
    /**
     *
     * èŽ·å–ç›®å½•ä¸‹æ‰€æœ‰æ–‡ä»¶
     *
     * @param realpath
     * @param files
     * @return
     */
    public static List<File> getFiles(String realpath, List<File> files) {
        File realFile = new File(realpath);
        if (realFile.isDirectory()) {
            File[] subfiles = realFile.listFiles();
            for (File file : subfiles) {
                if (file.isDirectory()) {
                    getFiles(file.getAbsolutePath(), files);
                } else {
                    files.add(file);
                }
            }
        }
        return files;
    }
}
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarsCloudController.java
@@ -11,12 +11,13 @@
import com.doumee.dao.business.model.Cars;
import com.doumee.service.business.CarsService;
import com.doumee.service.business.impl.hksync.fhk.HkSyncVehicleFromHKServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
/**
@@ -110,4 +111,14 @@
    public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        return ApiResponse.success(carsService.findById(id));
    }
    @ApiOperation(value = "车辆信息导入" ,notes = "车辆信息导入")
    @PostMapping("/importExcel")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "file", value = "file", required = true, paramType = "query", dataType = "file", dataTypeClass = File.class),
    })
    @CloudRequiredPermission("business:cars:create")
    public ApiResponse<String> importExcel (@ApiParam(value = "file") MultipartFile file, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
        return ApiResponse.success(carsService.importBatch(file,this.getLoginUser(token)));
    }
}
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java
@@ -18,15 +18,14 @@
import com.doumee.dao.business.dto.RegisterDriverDTO;
import com.doumee.dao.business.dto.ResetPasswordDTO;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.model.MemberCard;
import com.doumee.dao.business.model.MemberRole;
import com.doumee.dao.system.dto.UpdatePwdDto;
import com.doumee.service.business.MemberService;
import com.doumee.service.business.ext.ERPSyncService;
import com.doumee.service.business.impl.hksync.fhk.HkSyncOrgUserFromHKServiceImpl;
import com.doumee.service.business.impl.hksync.fhk.HkSyncOrgUserFromSelfServiceImpl;
import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import io.swagger.annotations.*;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
@@ -264,29 +263,17 @@
        return ApiResponse.success(memberService.findDriveList(model));
    }
    @ApiOperation("导出Excel")
    @PostMapping("/exportExcel")
    @CloudRequiredPermission("business:member:exportExcel")
    public void exportExcel (@RequestBody PageWrap<MemberQuery> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
    public void exportExcel (@RequestBody PageWrap<MemberQuery> pageWrap, HttpServletResponse response, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        List<Member> memberList =  new ArrayList<>();
        if(pageWrap.getModel().getType().equals(Constants.memberType.visitor)){
             memberList =  memberService.findVisitPage(pageWrap).getRecords();
            memberList =  memberService.findVisitPage(pageWrap).getRecords();
        }else if(pageWrap.getModel().getType().equals(Constants.memberType.internal)){
            pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
            memberList =  memberService.findMemberInfoPage(pageWrap).getRecords();
        }
        if(CollectionUtils.isNotEmpty(memberList)){
            for (Member member:memberList) {
                if(StringUtils.isNotBlank(member.getFaceImg())){
                    member.setHavaFaceImg(Constants.ONE);
                }else{
                    member.setHavaFaceImg(Constants.ZERO);
                }
            }
        }
        ExcelExporter.build(Member.class).export(memberList, "人员信息表", response);
    }
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/OnSitDispatchController.java
@@ -1,23 +1,18 @@
package com.doumee.cloud.board;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.LoginNoRequired;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
import com.doumee.dao.business.PlatformLogMapper;
import com.doumee.dao.business.model.Platform;
import com.doumee.dao.business.model.PlatformJob;
import com.doumee.dao.business.model.PlatformLog;
import com.doumee.dao.openapi.request.HkBaseTokenRequest;
import com.doumee.dao.system.join.NoticesJoinMapper;
import com.doumee.dao.web.response.platformReport.*;
import com.doumee.service.business.PlatformJobService;
import com.doumee.service.business.PlatformLogService;
import io.swagger.annotations.*;
import com.doumee.service.business.third.BoardService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -26,7 +21,9 @@
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
/**
 * Created by IntelliJ IDEA.
@@ -43,6 +40,8 @@
    @Autowired
    private PlatformLogMapper platformLogMapper;
    @Autowired
    private BoardService boardService;
@@ -50,12 +49,15 @@
    @ApiOperation("中心数据")
    @GetMapping("/centerData")
    public ApiResponse<OnSitDispatchBoardVO> centerData() {
        OnSitDispatchBoardVO data = new OnSitDispatchBoardVO();
        data.setPlatformTotal(100);
        data.setFreePlatform(8);
        data.setReservationCar(97);
        data.setWorkingCar(56);
        data.setLineUpCar(35);
        OnSitDispatchBoardVO data = boardService.getCnddCenterData();
        if(data == null){
            data = new OnSitDispatchBoardVO();
            data.setPlatformTotal(100);
            data.setFreePlatform(8);
            data.setReservationCar(97);
            data.setWorkingCar(56);
            data.setLineUpCar(35);
        }
        return ApiResponse.success(data);
    }
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/SecurityController.java
@@ -2,15 +2,18 @@
import com.doumee.api.BaseController;
import com.doumee.config.annotation.LoginNoRequired;
import com.doumee.core.haikang.model.param.respose.PageRegionInfoResponse;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.utils.Constants;
import com.doumee.dao.web.response.platformReport.*;
import com.doumee.service.business.third.BoardService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@@ -34,6 +37,8 @@
@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/board/api/security")
public class SecurityController extends BaseController {
    @Autowired
    private BoardService boardService;
    @LoginNoRequired
    @ApiOperation("中心数据")
@@ -117,8 +122,18 @@
        visitDataVO.setRetentionRata(BigDecimal.valueOf(random.nextInt(20)));
        return ApiResponse.success(visitDataVO);
    }
    @LoginNoRequired
    @ApiOperation("树形区域集合接口")
    @GetMapping("/regionTree")
    public ApiResponse<List<PageRegionInfoResponse>> regionTree(CarmeraListVO param) {
        return ApiResponse.success(boardService.getRegionTree(param));
    }
    @LoginNoRequired
    @ApiOperation("平铺结果区域集合接口")
    @GetMapping("/regionList")
    public ApiResponse<List<PageRegionInfoResponse>> regionList(CarmeraListVO param) {
        return ApiResponse.success(boardService.regionList(param));
    }
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/common/PublicCloudController.java
@@ -161,16 +161,12 @@
        Map<String, Object> context = new HashMap<>();
        try {
            if(ftp == null){
                log.error("初始化Ftp上传文件成功=============开始========="+DateUtil.getPlusTime2(new Date()));
                ftp = new FtpUtil(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_HOST).getCode(),
                        Integer.parseInt(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_PORT).getCode()),
                        systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_USERNAME).getCode(),
                        systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_PWD).getCode());
                log.error("初始化Ftp上传文件成功=============结束========="+DateUtil.getPlusTime2(new Date()));
            }else{
                log.error("重连ftp上传文件成功=============开始========="+DateUtil.getPlusTime2(new Date()));
                ftp.connect();
                log.error("重连ftp上传文件成功=============结束========="+DateUtil.getPlusTime2(new Date()));
            }
            CommonsMultipartResolver multipartResovler = new CommonsMultipartResolver();
@@ -181,7 +177,10 @@
                    MultipartFile file = multipartRequest.getFile(it.next());
                    String originname = file.getOriginalFilename();
                    is = file.getInputStream();
                    String endType = originname.substring(originname.lastIndexOf("."),originname.length());
                    String endType = ".jpg";
                    if(originname.indexOf(".")>0){
                        endType=originname.substring(originname.lastIndexOf("."),originname.length());
                    }
                    String date = DateUtil.getNowShortDate();
                    String fName =  date+"/"+ UUID.randomUUID()+endType;
                    String fileName = folder+"/"+fName;
server/visits/dmvisit_admin/src/main/resources/bootstrap-dev.yml
@@ -24,7 +24,7 @@
      discovery:
        server-addr: http://175.27.187.84:8848 #配置Nacos地址
#        namespace: dmvisit
        namespace: dmvisit
        namespace: dmvisit_dev
        username: nacos
        password: nacos
# swagger配置
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
@@ -139,9 +139,54 @@
        String[] loginOut= new String[]{"/xauthplus-plugin/logout","退出登录"};//退出登录
        String[] sendSms= new String[]{"/api/smsps/v1/smsService/sms","短信验证码"};//短信验证码
        String[] getMenus= new String[]{"/api/privilegeService/v1/menus/list","获取用户有权限的菜单功能项"};//获取用户有权限的菜单功能项
        String[] rootRegion= new String[]{"/api/resource/v1/regions/root","获取根区域信息接口"};//获取根区域信息接口
        String[] subRegions= new String[]{"/api/resource/v1/regions/subRegions","根据区域编号获取下一级区域列表"};//根据区域编号获取下一级区域列表
        String[] pageRegions= new String[]{"/api/resource/v1/regions","分页获取区域列表"};//分页获取区域列表
        String[] pageCameras= new String[]{"/api/resource/v1/cameras","分页获取监控点资源"};//分页获取监控点资源
        String[] cameraPreviewURLs= new String[]{"/api/video/v1/cameras/previewURLs","获取监控点预览取流URL"};//获取监控点预览取流URL
        String[] pageFireChannel= new String[]{"/api/resource/v1/fireChannel/get","分页获取消防传感器列表"};//分页获取消防传感器列表
        String[] pageSensorStatus= new String[]{"/api/fpnms/v2/sensor/status/search","分页查询消防传感器部件状态v2"};//分页查询消防传感器部件状态v2
    }
    /**
     * é™„录A.55消防设备类型
     */
    public interface  XiaofangCGQType{
        String[] hzbjzj = new String[]{"1020001" ,    "火灾报警主机"     }     ;
        String[] gycgq = new String[]{"1020002" ,    "感烟传感器"     }     ;
        String[] gwcgs = new String[]{"1020003" ,    "感温传感器"     }     ;
        String[] sdbjan = new String[]{"1020004" ,    "手动报警按钮"     }     ;
        String[] krqtcgq = new String[]{"1020005" ,    "可燃气体传感器"     }     ;
        String[] dqwdcgq = new String[]{"1020007" ,    "电气温度传感器"     }     ;
        String[] sydlcgq = new String[]{"1020008" ,    "剩余电流传感器"     }     ;
        String[] ywcgq = new String[]{"1020009" ,    "液位传感器"     }     ;
        String[] sycgq = new String[]{"1020010" ,    "水压传感器"     }     ;
        String[] tycgq = new String[]{"1020011" ,    "通用传感器"     }     ;
        String[] sgbjq = new String[]{"1020015" ,    "声光报警器"     }     ;
    }
    /**
     * é™„录A.55消防设备类型
     */
    public interface  XiaofangDeviceType{
        String[] uitDevice = new String[]{"20001" ,    "uitDevice","用户信息传输装置"    }     ;
        String[] electricDevice = new String[]{"20002" ,    "electricDevice","用电主机"    }     ;
        String[] wirelessWaterDevice = new String[]{"20003" ,    "wirelessWaterDevice","用水主机"    }     ;
        String[] independentGasDevice = new String[]{"20004" ,    "independentGasDevice","独立式可燃气体报警器"    }     ;
        String[] independentSmokeDevice = new String[]{"20005" ,    "independentSmokeDevice","独立式感烟报警器"    }     ;
        String[] iogDTUDevice = new String[]{"20008" ,    "iogDTUDevice","物联网网关(DTU)"    }     ;
        String[] siterwell433gwDevice = new String[]{"20009" ,    "siterwell433gwDevice","物联网消防报警网关(433)"    }     ;
        String[] outdoorHydrantDevice = new String[]{"20010" ,    "outdoorHydrantDevice","室外消火栓"    }     ;
        String[] cameraSmokeDevice = new String[]{"20011" ,    "cameraSmokeDevice","视频烟感"    }     ;
        String[] cameraTempDevice = new String[]{"20012" ,    "cameraTempDevice","视频温感"    }     ;
        String[] intelligentAnalyzer = new String[]{"20013" ,    "intelligentAnalyzer","智能分析仪"    }     ;
        String[] chargingPile = new String[]{"20014" ,    "chargingPile","充电桩"    }     ;
        String[] iPCVideoGateway = new String[]{"20015" ,    "IPCVideoGateway","IPC视频网关"    }     ;
        String[] smartElectricityGateway = new String[]{"20016" ,    "smartElectricityGateway","智能用电网关"    }     ;
    }
    /**
     * ä»»å‹™é¡žåž‹
     */
    public  enum TASK_TYPE {
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
@@ -743,6 +743,22 @@
        return startDoPostStringArtemis(HKConstants.InterfacePath.platformsList,body);
    }
    /**
     * èŽ·å–æ¶ˆé˜²ä¼ æ„Ÿå™¨åˆ—è¡¨
     * @param body
     * @return
     */
    public static String pageFireChannel(String body) {
        return startDoPostStringArtemis(HKConstants.InterfacePath.pageFireChannel,body);
    }
    /**
     * æŸ¥è¯¢æ¶ˆé˜²ä¼ æ„Ÿå™¨éƒ¨ä»¶çŠ¶æ€v2
     * @param body
     * @return
     */
    public static String pageSensorStatus(String body) {
        return startDoPostStringArtemis(HKConstants.InterfacePath.pageSensorStatus,body);
    }
    /**
     * èŽ·å–æœˆå°çŠ¶æ€
     * @return
     */
@@ -762,6 +778,30 @@
    public static String getHkMenu(Map<String,String> body) {
        return startDoGetStringArtemis(HKConstants.InterfacePath.getMenus,body);
    }
    /**
     * åˆ†é¡µèŽ·å–åŒºåŸŸåˆ—è¡¨
     * @param body
     * @return
     */
    public static String pageRegions(Map<String,String> header,String body) {
        return startDoPostStringArtemis(HKConstants.InterfacePath.pageRegions,null,header,body);
    }
    /**
     * åˆ†é¡µèŽ·å–ç›‘æŽ§ç‚¹èµ„æº
     * @param body
     * @return
     */
    public static String pageCameras(Map<String,String> header,String body) {
        return startDoPostStringArtemis(HKConstants.InterfacePath.pageCameras,null,header,body);
    }
    /**
     * èŽ·å–ç›‘æŽ§ç‚¹é¢„è§ˆå–æµURL
     * @param body
     * @return
     */
    public static String cameraPreviewURLs(Map<String,String> header,String body) {
        return startDoPostStringArtemis(HKConstants.InterfacePath.cameraPreviewURLs,null,header,body);
    }
    /**
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/BaseListPageRequest.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,11 @@
package com.doumee.core.haikang.model.param;
import lombok.Data;
@Data
public class BaseListPageRequest {
  private String   userId;//     Head      String      true      ç”¨æˆ·ID
  private Integer  pageNo    ;//integer    True    é¡µç ,pageNo≥1
  private Integer  pageSize;//    integer    True    åˆ†é¡µå¤§å°
}
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/CameraPreviewURLsRequest.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
package com.doumee.core.haikang.model.param.request;
import lombok.Data;
@Data
public class CameraPreviewURLsRequest {
  private String   userId;//     Head      String      true      ç”¨æˆ·ID
  private String    domainId ;//     Head      Number      true      ç½‘域ID
  private String   cameraIndexCode  ;//         Body      String      true      ç›‘控点唯一标识,#API@分页获取监控点资源@#接口获取返回参数cameraIndexCode
  private Integer   streamType  ;//         Body      Number      false      ç æµç±»åž‹ï¼Œ0:主码流<br>1:子码流<br>2:第三码流<br>参数不填,默认为主码流
  private String   protocol      ;//     Body      String      false      å–流协议(应用层协议),“rtsp”:RTSP协议,“rtmp”:RTMP协议,“hls”:HLS协议(HLS协议只支持海康SDK协议、EHOME协议、GB28181协议、ONVIF协议接入的设备;只支持H264视频编码和AAC音频编码),参数不填,默认为RTSP协议
  private Integer  transmode  ;//         Body      Number      false      ä¼ è¾“协议(传输层协议),0:UDP<br>1:TCP<br>默认是TCP<br>注:<br>GB28181 2011及以前版本只支持UDP传输
  private String  expand      ;//     Body      String      false      æ ‡è¯†æ‰©å±•内容,格式:key=value,<br>调用方根据其播放控件支持的解码格式选择相应的封装类型;<br>支持的内容详见[附录F expand扩展内容说明]@[智慧园区管理平台V1.6.0-附录-附录F expand扩展内容说明]
}
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/SensorStatusListRequest.java
@@ -10,6 +10,7 @@
    private Integer channelType;//    Number    false    ä¼ æ„Ÿå™¨ç±»åž‹ï¼Œè¯¦è§[附录A.57 æ¶ˆé˜²ä¼ æ„Ÿå™¨å¤§ç±»åž‹]@[智慧园区管理平台V1.4.301-附录-附录A æ•°æ®å­—å…¸#附录A.57 æ¶ˆé˜²ä¼ æ„Ÿå™¨å¤§ç±»åž‹]
    private Integer unitStatus;//    Number    false    éƒ¨ä»¶çŠ¶æ€ï¼Œ0:未注册 1:正常 2: ä¿®å¤ä¸­ 3:异常状态(修复中状态目前没用到,未注册时设备没有在离线状态) ç©º-所有状态
    private String channelIndexCode    ;//String    false    ä¼ æ„Ÿå™¨ç¼–号
    private String userId     ;
    private int   pageNo;//    Query    Number    false    é¡µç 
    private int   pageSize;//    Query    Number    false    é¡µå¤§å°
}
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/CamerasPreviewURLsResponse.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
package com.doumee.core.haikang.model.param.respose;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class CamerasPreviewURLsResponse {
     private String url ;//     Body      String      false      å–流URL
}
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/PageCameraInfoResponse.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,49 @@
package com.doumee.core.haikang.model.param.respose;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class PageCameraInfoResponse {
 private String altitude ;//     Body      String      false      æµ·æ‹”
 private String cameraIndexCode      ;// Body      String      false      ç›‘控点唯一标识
 private String cameraName       ;//Body      String      false      ç›‘控点名称
 private Integer cameraType ;//      Body      Number      false      ç›‘控点类型
 private String cameraTypeName  ;//     Body      String      false      ç›‘控点类型说明
 private String capabilitySet  ;//     Body      String      false      èƒ½åŠ›é›†ï¼ˆè¯¦è§æ•°æ®å­—å…¸ï¼ŒtypeCode为xresmgr.capability_set)<br><br>
 private String capabilitySetName  ;//     Body      String      false      èƒ½åŠ›é›†è¯´æ˜Ž
 private String intelligentSet  ;//     Body      String      false      æ™ºèƒ½åˆ†æžèƒ½åЛ集
 private String intelligentSetName  ;//     Body      String      false      æ™ºèƒ½åˆ†æžèƒ½åŠ›é›†è¯´æ˜Ž
 private String channelNo      ;// Body      String      false      é€šé“编号
 private String channelType      ;// Body      String      false      é€šé“类型
 private String channelTypeName  ;//     Body      String      false      é€šé“子类型说明
 private String createTime      ;// Body      String      false      åˆ›å»ºæ—¶é—´
 private String encodeDevIndexCode  ;//     Body      String      false      æ‰€å±žç¼–码设备唯一标识
 private String encodeDevResourceType      ;// Body      String      false      æ‰€å±žè®¾å¤‡ç±»åž‹ï¼ˆè¯¦è§æ•°æ®å­—典,typeCode为xresmgr.resource_type)<br><br>
 private String encodeDevResourceTypeName      ;// Body      String      false      æ‰€å±žè®¾å¤‡ç±»åž‹è¯´æ˜Ž
 private String gbIndexCode      ;// Body      String      false      ç›‘控点国标编号
 private String installLocation      ;// Body      String      false      å®‰è£…位置
 private String keyBoardCode  ;//     Body      String      false      é”®ç›˜æŽ§åˆ¶ç 
 private String latitude  ;//     Body      String      false      çº¬åº¦
 private String longitude  ;//     Body      String      false      ç»åº¦
 private Integer pixel  ;//     Body      Number      false      æ‘„像机像素(1-普通像素,2-130万高清,3-200万高清,4-300万高清,取值参考数据字典,typeCode为xresmgr.piexl)<br><br>
 private Integer ptz  ;//     Body      Number      false      äº‘镜类型(1-全方位云台(带转动和变焦),2-只有变焦,不带转动,3-只有转动,不带变焦,4-无云台,无变焦,取值参考数据字典,typeCode为xresmgr.ptz_type)<br><br>
 private Integer ptzController ;//      Body      Number      false      äº‘台控制(1-DVR,2-模拟矩阵,3-MU4000,4-NC600,取值参考数据字典,typeCode为xresmgr.ptz_control_type)<br><br>
 private String ptzControllerName      ;// Body      String      false      äº‘台控制说明
 private String ptzName      ;// Body      String      false      äº‘镜类型说明
 private String recordLocation      ;// Body      String      false      å½•像存储位置(0-中心存储,1-设备存储,取值参考数据字典,typeCode为xresmgr.record_location)<br><br>
 private String recordLocationName  ;//     Body      String      false      å½•像存储位置说明
 private String regionIndexCode  ;//     Body      String      false      æ‰€å±žåŒºåŸŸå”¯ä¸€æ ‡è¯†
 private Integer status ;//      Body      Number      false      åœ¨çº¿çŠ¶æ€ï¼ˆ0-不在线,1-在线,取值参考数据字典,typeCode为xresmgr.status)<br><br>
 private String statusName      ;// Body      String      false      çŠ¶æ€è¯´æ˜Ž
 private Integer transType      ;// Body      Number      false      ä¼ è¾“协议(0-UDP,1-TCP)
  private String transTypeName  ;//     Body      String      false      ä¼ è¾“协议类型说明
 private String treatyType  ;//     Body      String      false      æŽ¥å…¥åè®®ï¼ˆè¯¦è§æ•°æ®å­—典,typeCode为xresmgr.protocol_type)<br><br>
 private String treatyTypeName  ;//     Body      String      false      æŽ¥å…¥åè®®ç±»åž‹è¯´æ˜Ž
 private String viewshed       ;//Body      String      false      å¯è§†åŸŸç›¸å…³ï¼ˆJSON格式)
  private String updateTime       ;//Body      String      false      æ›´æ–°æ—¶é—´<br>采用ISO8601标准,如2018-07-26T21:30:08+08:00<br>表示北京时间2017å¹´7月26日21时30分08秒<br>
}
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/PageFireChannelInfoResponse.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
package com.doumee.core.haikang.model.param.respose;
import lombok.Data;
@Data
public class PageFireChannelInfoResponse {
    private String regionPath      ;//Body      String      false      æ‰€å±žåŒºåŸŸå±‚级,格式:@根节点@子区域1@
    private String regionIndexCode      ;//Body      String      false      æ‰€å±žåŒºåŸŸç¼–号
    private String regionPathName      ;//Body      String      false      æ‰€å±žåŒºåŸŸå±‚级名称
    private String fireproChannelSubType      ;//Body      Number      false      ä¼ æ„Ÿå™¨å°ç±»åž‹ï¼Œè¯¦è§[附录A.56]
    private String indexCode      ;//Body      String      false      èµ„源唯一标志
    private String description      ;//Body      String      false      æè¿°
    private String updateTime      ;//Body      String      false      æ›´æ–°æ—¶é—´ï¼ŒISO8601标准
    private String fireproChannelMaxValue      ;//Body      String      false      æœ€å¤§é˜ˆå€¼
    private String createTime      ;//Body      String      false      åˆ›å»ºæ—¶é—´ï¼ŒISO8601标准
    private String name      ;//Body      String      false      èµ„源名称
    private String fireproChannelAddressCode      ;//Body      String      false      ä¼ æ„Ÿå™¨åœ°å€ç 
    private String comId      ;//Body      String      false      ç»„ä»¶ID
    private String fireproChannelType      ;//Body      Number      false      ä¼ æ„Ÿå™¨å¤§ç±»åž‹ï¼Œè¯¦è§[附录A.64]
    private String parentIndexCode      ;//Body      String      false      æ‰€å±žè®¾å¤‡ç¼–码
    private String resourceType      ;//Body      String      false      èµ„源类型,fireSensor:消防传感器,详见[附录A.64]
}
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/PageRegionInfoResponse.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
package com.doumee.core.haikang.model.param.respose;
import com.doumee.dao.web.response.platformReport.CarmeraListVO;
import com.doumee.dao.web.response.platformReport.RegionTreeVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class PageRegionInfoResponse {
     @ApiModelProperty(value = "区域唯一标识码")
     private String regionIndexCode;//     Body      String      false      åŒºåŸŸå”¯ä¸€æ ‡è¯†ç 
     @ApiModelProperty(value = "区域名称")
     private String regionName     ;// Body      String      false      åŒºåŸŸåç§°
     @ApiModelProperty(value = "父区域唯一标识码")
     private String parentIndexCode ;//     Body      String      false      çˆ¶åŒºåŸŸå”¯ä¸€æ ‡è¯†ç 
     @ApiModelProperty(value = "树编号")
     private String treeCode ;//     Body      String      false      æ ‘编号
     @ApiModelProperty(value = "下级集合")
     private List<PageRegionInfoResponse> childList;
     @ApiModelProperty(value = "监控点集合")
     private    List<CarmeraListVO> carmeraList;
}
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/PageSensorStatusResponse.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
package com.doumee.core.haikang.model.param.respose;
import lombok.Data;
@Data
public class PageSensorStatusResponse {
    private String regionPath      ;//Body      String      false      æ‰€å±žåŒºåŸŸå±‚级,格式:@根节点@子区域1@
    private String regionIndexCode      ;//Body      String      false      æ‰€å±žåŒºåŸŸç¼–号
    private String regionPathName      ;//Body      String      false      æ‰€å±žåŒºåŸŸå±‚级名称
    private String fireproChannelSubType      ;//Body      Number      false      ä¼ æ„Ÿå™¨å°ç±»åž‹ï¼Œè¯¦è§[附录A.56]
    private String indexCode      ;//Body      String      false      èµ„源唯一标志
    private String description      ;//Body      String      false      æè¿°
    private String updateTime      ;//Body      String      false      æ›´æ–°æ—¶é—´ï¼ŒISO8601标准
    private String fireproChannelMaxValue      ;//Body      String      false      æœ€å¤§é˜ˆå€¼
    private String createTime      ;//Body      String      false      åˆ›å»ºæ—¶é—´ï¼ŒISO8601标准
    private String name      ;//Body      String      false      èµ„源名称
    private String fireproChannelAddressCode      ;//Body      String      false      ä¼ æ„Ÿå™¨åœ°å€ç 
    private String comId      ;//Body      String      false      ç»„ä»¶ID
    private String fireproChannelType      ;//Body      Number      false      ä¼ æ„Ÿå™¨å¤§ç±»åž‹ï¼Œè¯¦è§[附录A.64]
    private String parentIndexCode      ;//Body      String      false      æ‰€å±žè®¾å¤‡ç¼–码
    private String resourceType      ;//Body      String      false      èµ„源类型,fireSensor:消防传感器,详见[附录A.64]
}
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -1,19 +1,16 @@
package com.doumee.core.haikang.service;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.haikang.model.HKConstants;
import com.doumee.core.haikang.model.HKTools;
import com.doumee.core.haikang.model.param.BaseListPageResponse;
import com.doumee.core.haikang.model.param.BaseRequst;
import com.doumee.core.haikang.model.param.BaseResponse;
import com.doumee.core.haikang.model.param.BaseListPageRequest;
import com.doumee.core.haikang.model.param.request.*;
import com.doumee.core.haikang.model.param.respose.*;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.HttpsUtil;
import com.hikvision.artemis.sdk.config.ArtemisConfig;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@@ -25,7 +22,6 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@Slf4j
public class HKService {
@@ -1431,6 +1427,103 @@
        return  null;
    }
    /**
     *分页获取区域列表(分页)
     * @return
     */
    public  static  BaseResponse<BaseListPageResponse<PageRegionInfoResponse>>   pageRegions(BaseListPageRequest param){
        log.info("【海康分页获取区域列表】================开始===="+JSONObject.toJSONString(param));
        try {
            Map<String ,String> header = new HashMap<>();
//            header.put("userId",param.getUserId());
            String res = HKTools.pageRegions(header,JSONObject.toJSONString(param));
            TypeReference typeReference =
                    new TypeReference< BaseResponse<BaseListPageResponse<PageRegionInfoResponse>> >(){};
            BaseResponse<BaseListPageResponse<PageRegionInfoResponse>>   result = JSONObject.parseObject(res, typeReference.getType());
            logResult(result,"海康分页获取区域列表");
            return  result;
        }catch (Exception e){
            log.error("【海康分页获取区域列表】================失败====:\n"+ e.getMessage());
        }
        return  null;
    }
    /**
     *获取监控点预览取流URL
     * @return
     */
    public  static  BaseResponse<CamerasPreviewURLsResponse>   cameraPreviewURLs(CameraPreviewURLsRequest param){
        log.info("【海康获取监控点预览取流URL】================开始===="+JSONObject.toJSONString(param));
        try {
            Map<String ,String> header = new HashMap<>();
//            header.put("userId",param.getUserId());
//            header.put("domainId ",param.getDomainId());
            String res = HKTools.cameraPreviewURLs(header,JSONObject.toJSONString(param));
            TypeReference typeReference =
                    new TypeReference< BaseResponse<CamerasPreviewURLsResponse> >(){};
            BaseResponse<CamerasPreviewURLsResponse> result = JSONObject.parseObject(res, typeReference.getType());
            logResult(result,"海康获取监控点预览取流URL");
            return  result;
        }catch (Exception e){
            log.error("【海康获取监控点预览取流URL】================失败====:\n"+ e.getMessage());
        }
        return  null;
    }
    /**
     *分页获取监控点资源(分页)
     * @return
     */
    public  static  BaseResponse<BaseListPageResponse<PageCameraInfoResponse>>   pageCameras(BaseListPageRequest param){
        log.info("【海康分页获取监控点资源】================开始===="+JSONObject.toJSONString(param));
        try {
            Map<String ,String> header = new HashMap<>();
            header.put("userId",param.getUserId());
            String res = HKTools.pageCameras(header,JSONObject.toJSONString(param));
            TypeReference typeReference =
                    new TypeReference< BaseResponse<BaseListPageResponse<PageCameraInfoResponse>> >(){};
            BaseResponse<BaseListPageResponse<PageCameraInfoResponse>>   result = JSONObject.parseObject(res, typeReference.getType());
            logResult(result,"海康分页获取监控点资源");
            return  result;
        }catch (Exception e){
            log.error("【海康分页获取监控点资源】================失败====:\n"+ e.getMessage());
        }
        return  null;
    }
    /**
     *获取消防传感器列表(分页)
     * @return
     */
    public  static  BaseResponse<BaseListPageResponse<PageFireChannelInfoResponse>>   pageFireChannel(BaseListPageRequest param){
        log.info("【海康分页获取消防传感器列表】================开始===="+JSONObject.toJSONString(param));
        try {
            String res = HKTools.pageFireChannel(JSONObject.toJSONString(param));
            TypeReference typeReference =
                    new TypeReference< BaseResponse<BaseListPageResponse<PageFireChannelInfoResponse>> >(){};
            BaseResponse<BaseListPageResponse<PageFireChannelInfoResponse>>   result = JSONObject.parseObject(res, typeReference.getType());
            logResult(result,"海康分页获取消防传感器列表");
            return  result;
        }catch (Exception e){
            log.error("【海康分页获取消防传感器列表】================失败====:\n"+ e.getMessage());
        }
        return  null;
    }
    /**
     *查询消防传感器部件状态v2(分页)
     * @return
     */
    public  static  BaseResponse<BaseListPageResponse<PageSensorStatusResponse>>   pageSensorStatus(SensorStatusListRequest param){
        log.info("【海康分页查询消防传感器部件状态v2】================开始===="+JSONObject.toJSONString(param));
        try {
            String res = HKTools.pageSensorStatus(JSONObject.toJSONString(param));
            TypeReference typeReference =
                    new TypeReference< BaseResponse<BaseListPageResponse<PageSensorStatusResponse>> >(){};
            BaseResponse<BaseListPageResponse<PageSensorStatusResponse>>   result = JSONObject.parseObject(res, typeReference.getType());
            logResult(result,"海康分页查询消防传感器部件状态v2");
            return  result;
        }catch (Exception e){
            log.error("【海康分页查询消防传感器部件状态v2】================失败====:\n"+ e.getMessage());
        }
        return  null;
    }
    /**
     *根据用户标识获取客户端TGC接口
     * @return
     */
server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/request/CarsImport.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,40 @@
package com.doumee.dao.admin.request;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
 * å‘˜å·¥ä¿¡æ¯å¯¼å…¥è¡¨
 * @author æ±Ÿè¹„蹄
 * @date 2024/01/16 10:03
 */
@Data
@ApiModel("员工信息导入")
public class CarsImport {
    @ExcelColumn(name="*车牌号码",value = "code",index = 1)
    private String code;
    @ExcelColumn(name="*业务类型",value = "categoryName",index = 2)
    private String categoryName;
    @ExcelColumn(name="*组织路径",value = "companyName",index = 3)
    private String companyName;
    @ExcelColumn(name="车主姓名" , value = "memberName" ,index = 4)
    private String memberName;
    @ExcelColumn(name="手机号" , value = "phone",index = 5)
    private String phone;
    @ExcelColumn(name="性别" , value = "sex",index = 6)
    private String sex;
    @ExcelColumn(name="身份证号" , value = "idcard",index = 7)
    private String idcard;
    @ExcelColumn(name="停车库名称" , value = "parkName",index = 8)
    private String parkName;
    @ExcelColumn(name="开始时间" , value = "startTime",index = 9)
    private String startTime;
    @ExcelColumn(name="结束时间" , value = "endTime",index = 10)
    private String endTime;
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -65,14 +65,70 @@
    private Integer type;
    @ApiModelProperty(value = "访客名称/内部人员")
    @ExcelColumn(name="姓名",index = 0,width = 12)
    @ExcelColumn(name="姓名",index = 1,width = 8)
    private String name;
    @ApiModelProperty(value = "是否有人脸 ", example = "1")
    @TableField(exist = false)
    @ExcelColumn(name="是否有人脸",index = 2,width = 6,valueMapping = "0=无;1=有;")
    private Integer hasFace;
    @ApiModelProperty(value = "手机号")
    @ExcelColumn(name="手机号",index =3 ,width = 9)
    private String phone;
    @ApiModelProperty(value = "证件显示信息")
    @ExcelColumn(name="身份证号",index = 4,width = 12)
    private String idcardDecode;
    @ApiModelProperty(value = "性别 1男 2女 ", example = "1")
    @ExcelColumn(name="性别",index = 5,width = 5,valueMapping = "0=未知;1=男;2=女;")
    private Integer sex;
    @ApiModelProperty(value = "组织名称")
    @ExcelColumn(name="所属部门",index = 6,width = 12)
    @TableField(exist = false)
    private String companyName;
    @ApiModelProperty(value = "岗位名称")
    @ExcelColumn(name="岗位名称",index = 7,width = 8)
    @TableField(exist = false)
    private String positionName;
    @ApiModelProperty(value = "是否党员 0否 1是", example = "1")
//    @ExcelColumn(name="是否党员",index = 8,width = 12,valueMapping = "1=党员;2=非党员;")
    private Integer isDangyuan;
    @ApiModelProperty(value = "入职如期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ExcelColumn(name="入职日期",index =9,width = 10, dateFormat = "yyyy-MM-dd")
    private Date jobDate;
    @ApiModelProperty(value = "培训结束时间")
    @TableField(exist = false)
    @ExcelColumn(name="培训结束时间",index =10,width = 10, dateFormat = "yyyy-MM-dd")
    private Date trainEndTime;
    @ApiModelProperty(value = "组织类型 0劳务公司 1内部组织")
    @ExcelColumn(name="部门类型",index = 11,width = 8, valueMapping = "0=相关方组织;1=内部组织;")
    @TableField(exist = false)
    private Integer companyType;
    @ApiModelProperty(value = "在职状态 0在职 1离职", example = "1")
    @ExcelColumn(name="在职状态",index = 12,width = 8, valueMapping = "0=在职;1=离职;")
    private Integer workStatus;
    @ApiModelProperty(value = "是否可拜访人 0否 1是", example = "1")
    @ExcelColumn(name="是否可拜访人",index = 13,width = 8, valueMapping = "0=否;1=是;")
    private Integer canVisit;
    @ApiModelProperty(value = "海康同步状态 0未同步 1已同步 2同步失败 3不符合下发条件 4等待删除权限  ", example = "1")
    @ExcelColumn(name="海康同步状态",index = 14,width = 8, valueMapping = "0=未同步;1=已同步;2=同步失败;3=不符合下发条件;4=等待删除权限")
    private Integer hkStatus;
    @ApiModelProperty(value = "海康授权状态 0未授权 1已授权   ", example = "1")
    @ExcelColumn(name="海康授权状态",index = 15,width = 8, valueMapping = "0=未授权;1=已授权;")
    private Integer authStatus;
    @ApiModelProperty(value = "门禁有效期", example = "1")
    @TableField(exist = false)
    @ExcelColumn(name="门禁有效期",index = 16,width = 15 )
    private String roleTimeInfo;
    @ApiModelProperty(value = "持卡数量")
    @ExcelColumn(name="持卡数量",index = 17,width = 5)
    @TableField(exist = false)
    private int memberCardCount;
    @ExcelColumn(name="工号",index = 18,width = 8)
    private String code;
    @ApiModelProperty(value = "访客年龄")
    private Date birthday;
    @ApiModelProperty(value = "手机号")
    @ExcelColumn(name="手机号",index = 1,width = 12)
    private String phone;
    @ApiModelProperty(value = "身份证号(MD4加密)")
    private String idcardNo;
@@ -80,27 +136,20 @@
    @TableField(exist = false)
    private String idcardNoNew;
    @ApiModelProperty(value = "证件显示信息")
    @ExcelColumn(name="身份证号",index = 2,width = 8)
    private String idcardDecode;
    @ApiModelProperty(value = "证件类型 0身份证 1港澳证件 2护照", example = "1")
    private Integer idcardType;
    @ApiModelProperty(value = "是否是物流司机 0不是 1是", example = "1")
    private Integer isDriver;
    @ApiModelProperty(value = "工号")
    @ExcelColumn(name="工号",index = 13,width = 12)
    private String code;
    @ApiModelProperty(value = "班次 0白班 1夜班")
    private Integer classes;
    @ApiModelProperty(value = "状态 0正常 1禁用 2拉黑/冻结", example = "1")
    private Integer status;
    @ApiModelProperty(value = "性别 1男 2女 ", example = "1")
    @ExcelColumn(name="性别",index = 3,width = 8,valueMapping = "1=男;2=女;")
    private Integer sex;
    @ApiModelProperty(value = "添加人编码(自关联)", example = "1")
    private Integer parentId;
@@ -119,21 +168,14 @@
    @ApiModelProperty(value = "海康标识", example = "1")
    private String hkId;
    @ApiModelProperty(value = "海康同步状态 0未同步 1已同步 2同步失败 3不符合下发条件 4等待删除权限  ", example = "1")
    @ExcelColumn(name="海康同步状态",index = 11,width = 12, valueMapping = "0=未同步;1=已同步;2=同步失败;3=不符合下发条件;4=等待删除权限")
    private Integer hkStatus;
    @ApiModelProperty(value = "海康授权状态 0未授权 1已授权   ", example = "1")
    @ExcelColumn(name="海康授权状态",index = 12,width = 12, valueMapping = "0=未授权;1=已授权;")
    private Integer authStatus;
    @ApiModelProperty(value = "海康最近同步时间")
    private Date hkDate;
    @ApiModelProperty(value = "在职状态 0在职 1离职", example = "1")
    @ExcelColumn(name="在职状态",index = 10,width = 12, valueMapping = "0=在职;1=离职;")
    private Integer workStatus;
    @ApiModelProperty(value = "是否党员 0否 1是", example = "1")
    private Integer isDangyuan;
    @ApiModelProperty(value = "岗位编码,关联positionbiao", example = "1")
    private Integer positionId;
    @ApiModelProperty(value = "ERP标识", example = "1")
@@ -141,10 +183,6 @@
    @ApiModelProperty(value = "ERP同步时间")
    private Date erpDate;
    @ApiModelProperty(value = "入职如期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ExcelColumn(name="入职日期",index = 7,width = 12, dateFormat = "yyyy-MM-dd")
    private Date jobDate;
    @ApiModelProperty(value = "ERP同步状态 0未同步 1已同步", example = "1")
    private Integer erpStatus;
@@ -161,9 +199,6 @@
    @ApiModelProperty(value = "登陆密码")
    private String passward;
    @ApiModelProperty(value = "是否可拜访人 0否 1是", example = "1")
    @ExcelColumn(name="是否可拜访人",index = 8,width = 12, valueMapping = "0=否;1=是;")
    private Integer canVisit;
    @ApiModelProperty(value = "是否高级审批人 0否 1是", example = "1")
    private Integer highCheckor;
@@ -180,16 +215,11 @@
    @ApiModelProperty(value = "访客公司名称")
    private String visitCompanyName;
    @ApiModelProperty(value = "组织名称")
    @TableField(exist = false)
    private String companyName;
    @ApiModelProperty(value = "最后操作人")
    @TableField(exist = false)
    private String editorName;
    @ApiModelProperty(value = "组织类型 0劳务公司 1内部组织")
    @ExcelColumn(name="部门类型",index = 9,width = 12, valueMapping = "0=相关方组织;1=内部组织;")
    @TableField(exist = false)
    private Integer companyType;
    @ApiModelProperty(value = "组织类型 0劳务公司 1内部组织 å¤šä¸ªä»¥,分割")
    @TableField(exist = false)
@@ -201,7 +231,6 @@
    @TableField(exist = false)
    private Integer headId;
    @ApiModelProperty(value = "组织路径")
    @ExcelColumn(name="所属部门",index = 4,width = 12)
    @TableField(exist = false)
    private String companyNamePath;
    @ApiModelProperty(value = "组织海康编码")
@@ -250,10 +279,7 @@
    @ApiModelProperty(value = "是否主管 0否 1是", example = "1")
    @TableField(exist = false)
    private Integer headStatus;
    @ApiModelProperty(value = "持卡数量")
    @ExcelColumn(name="持卡数量",index = 14,width = 12)
    @TableField(exist = false)
    private int memberCardCount;
    @ApiModelProperty(value = "门禁角色名称")
    @TableField(exist = false)
@@ -261,17 +287,11 @@
    @ApiModelProperty(value = "最后操作内容")
    @TableField(exist = false)
    private String optRemark;
    @ApiModelProperty(value = "岗位名称")
    @ExcelColumn(name="岗位名称",index = 5,width = 12)
    @TableField(exist = false)
    private String positionName;
    @ApiModelProperty(value = "培训开始时间")
    @TableField(exist = false)
    private Date trainStartTime;
    @ApiModelProperty(value = "培训结束时间")
    @ExcelColumn(name="培训有效期",index = 6,width = 12,dateFormat = "yyyy-MM-dd HH:mm:ss")
    @TableField(exist = false)
    private Date trainEndTime;
    @ApiModelProperty(value = "门禁组名称集合")
    @TableField(exist = false)
    private List<String> roleNames;
@@ -279,11 +299,4 @@
    @ApiModelProperty(value = "是否查询固定人员:0=否;1=是" )
    @TableField(exist = false)
    private Integer querySpecial;
    @ApiModelProperty(value = "是否有人脸" )
    @ExcelColumn(name="是否有人脸",index = 15,width = 12,valueMapping = "1=有;0=无;")
    @TableField(exist = false)
    private Integer havaFaceImg;
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
@@ -274,6 +274,9 @@
    @ApiModelProperty(value = "作业量" ,hidden = true)
    @TableField(exist = false)
    private BigDecimal workNum ;
    @ApiModelProperty(value = "统计量" ,hidden = true)
    @TableField(exist = false)
    private Integer countum ;
    @ApiModelProperty(value = "WMS任务时间")
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/CarmeraListVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,34 @@
package com.doumee.dao.web.response.platformReport;
import com.doumee.core.haikang.model.param.respose.PageRegionInfoResponse;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
 * ç›‘控点集合
 *
 * @Author : JP
 * @create 2024/10/25 10:59
 */
@Data
public class CarmeraListVO {
    @ApiModelProperty(value = "监控点名称")
    private String name;
    @ApiModelProperty(value = "唯一索引")
    private String indexCode;
    @ApiModelProperty(value = "区域编码")
    private String reginCode;
    @ApiModelProperty(value = "是否查询监控点数据,0不包含 1包含")
    private Integer withCameras;
    @ApiModelProperty(value = "设备状态:不在线,1-在线")
    private Integer status;
    @ApiModelProperty(value = "设备状态描述")
    private String statusName;
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/OnSitDispatchBoardVO.java
@@ -15,19 +15,19 @@
public class OnSitDispatchBoardVO {
    @ApiModelProperty(value = "月台数量")
    private Integer platformTotal;
    private int platformTotal;
    @ApiModelProperty(value = "空闲月台数量")
    private Integer freePlatform;
    private int freePlatform;
    @ApiModelProperty(value = "预约车辆")
    private Integer reservationCar;
    private int reservationCar;
    @ApiModelProperty(value = "作业车辆")
    private Integer workingCar;
    private int workingCar;
    @ApiModelProperty(value = "排队车辆")
    private Integer lineUpCar;
    private int lineUpCar;
    @ApiModelProperty(value = "今日月台完成订单统计" , hidden = true)
    private List<PlatformGroupFinishVO> platformGroupFinishList;
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/RegionTreeVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,93 @@
package com.doumee.dao.web.response.platformReport;
import com.doumee.config.DataSyncConfig;
import com.doumee.core.haikang.model.param.respose.PageRegionInfoResponse;
import com.doumee.dao.business.model.Company;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
 * åŒºåŸŸæ ‘形结构
 *
 * @Author : JP
 * @create 2024/10/25 10:59
 */
@Data
public class RegionTreeVO {
    public List<PageRegionInfoResponse> nodeList = new ArrayList<>();
    /**
     *  æž„造方法
     *  @param nodeList å°†æ•°æ®é›†åˆèµ‹å€¼ç»™nodeList,即所有数据作为所有节点。
     */
    public RegionTreeVO(List<PageRegionInfoResponse> nodeList ){
        this.nodeList = nodeList;
    }
    /**
     *   èŽ·å–éœ€æž„å»ºçš„æ‰€æœ‰æ ¹èŠ‚ç‚¹ï¼ˆé¡¶çº§èŠ‚ç‚¹ï¼‰ "0"
     *   @return æ‰€æœ‰æ ¹èŠ‚ç‚¹List集合
     */
    public List<PageRegionInfoResponse> getRootNode(){
        // ä¿å­˜æ‰€æœ‰æ ¹èŠ‚ç‚¹ï¼ˆæ‰€æœ‰æ ¹èŠ‚ç‚¹çš„æ•°æ®ï¼‰
        List<PageRegionInfoResponse> rootNodeList = new ArrayList<>();
        // treeNode:查询出的每一条数据(节点)
        for (PageRegionInfoResponse treeNode : nodeList){
            // åˆ¤æ–­å½“前节点是否为根节点,此处注意:若parentId类型是String,则要采用equals()方法判断。
            if (Objects.isNull(treeNode.getParentIndexCode())
                    || StringUtils.equals(treeNode.getParentIndexCode(),"null")) {
                // æ˜¯ï¼Œæ·»åŠ 
                rootNodeList.add(treeNode);
            }
        }
        return rootNodeList;
    }
    /**
     *  æ ¹æ®æ¯ä¸€ä¸ªé¡¶çº§èŠ‚ç‚¹ï¼ˆæ ¹èŠ‚ç‚¹ï¼‰è¿›è¡Œæž„å»ºæ ‘å½¢ç»“æž„
     *  @return  æž„建整棵树
     */
    public List<PageRegionInfoResponse> buildTree(){
        // treeNodes:保存一个顶级节点所构建出来的完整树形
        List<PageRegionInfoResponse> treeNodes = new ArrayList<PageRegionInfoResponse>();
        // getRootNode():获取所有的根节点
        for (PageRegionInfoResponse treeRootNode : getRootNode()) {
            // å°†é¡¶çº§èŠ‚ç‚¹è¿›è¡Œæž„å»ºå­æ ‘
            treeRootNode = buildChildTree(treeRootNode);
            // å®Œæˆä¸€ä¸ªé¡¶çº§èŠ‚ç‚¹æ‰€æž„å»ºçš„æ ‘å½¢ï¼Œå¢žåŠ è¿›æ¥
            treeNodes.add(treeRootNode);
        }
        return treeNodes;
    }
    /**
     *  é€’å½’-----构建子树形结构
     *  @param  pNode æ ¹èŠ‚ç‚¹ï¼ˆé¡¶çº§èŠ‚ç‚¹ï¼‰
     *  @return æ•´æ£µæ ‘
     */
    public PageRegionInfoResponse buildChildTree(PageRegionInfoResponse pNode){
        List<PageRegionInfoResponse> childTree = new ArrayList<>();
        // nodeList:所有节点集合(所有数据)
        for (PageRegionInfoResponse treeNode : nodeList) {
            // åˆ¤æ–­å½“前节点的父节点ID是否等于根节点的ID,即当前节点为其下的子节点
                if (!Objects.isNull(treeNode.getParentIndexCode())&&treeNode.getParentIndexCode().equals(pNode.getRegionIndexCode())) {
                    // å†é€’归进行判断当前节点的情况,调用自身方法
                    childTree.add(buildChildTree(treeNode));
                }
        }
        // for循环结束,即节点下没有任何节点,树形构建结束,设置树结果
        pNode.setChildList(childTree);
        return pNode;
    }
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CarsService.java
@@ -6,6 +6,8 @@
import com.doumee.dao.admin.request.CarsQuery;
import com.doumee.dao.admin.response.CarsDTO;
import com.doumee.dao.business.model.Cars;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
/**
@@ -89,7 +91,7 @@
     * @return PageData<Cars>
     */
    PageData<Cars> findPage(PageWrap<Cars> pageWrap);
    String importBatch(MultipartFile file, LoginUserInfo loginUserInfo);
    /**
     * æ¡ä»¶ç»Ÿè®¡
     *
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
@@ -103,44 +103,32 @@
    private PlatformReasonMapper platformReasonMapper;
    @Autowired
    private PlatformGroupMapper platformGroupMapper;
    @Autowired
    private ParksMapper parksMapper;
    @Autowired
    private ParkBookMapper parkBookMapper;
    @Autowired
    private VisitParkMapper visitParkMapper;
    @Autowired
    private SmsConfigMapper smsConfigMapper;
    @Autowired
    private SmsEmailMapper smsEmailMapper;
    @Autowired
    private EmayService emayService;
    @Override
    public Integer create(Approve approve) {
        approveMapper.insert(approve);
        return approve.getId();
    }
    @Override
    public void deleteById(Integer id) {
        approveMapper.deleteById(id);
    }
    @Override
    public void delete(Approve approve) {
        UpdateWrapper<Approve> deleteWrapper = new UpdateWrapper<>(approve);
        approveMapper.delete(deleteWrapper);
    }
    @Override
    public void deleteByIdInBatch(List<Integer> ids) {
        if (CollectionUtils.isEmpty(ids)) {
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
@@ -99,7 +99,7 @@
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"当前登录用户无法进行该操作!");
        }
        if(carUseBook.getEndTime().getTime()<=System.currentTimeMillis()){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"选择日期异常[结束时间小于当前时间],请刷新重试");
//            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"选择日期异常[结束时间小于当前时间],请刷新重试");
        }
        if(!(DateUtil.getDateFromString(carUseBook.getPlanUseDate()+":00").getTime()>=carUseBook.getStartTime().getTime()
                && DateUtil.getDateFromString(carUseBook.getPlanUseDate() +":00").getTime()<= carUseBook.getEndTime().getTime())
@@ -412,7 +412,7 @@
            }
            //判断时间是否大于当前
            if(Constants.equalsInteger(dateIntervalVO.getIsUse(),Constants.ZERO)  && DateUtil.getDateFromString(dateIntervalVO.getEndTime()).getTime()<=System.currentTimeMillis()){
                dateIntervalVO.setIsUse(Constants.ONE);
//                dateIntervalVO.setIsUse(Constants.ONE);
                continue;
            }
        }
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java
@@ -4,14 +4,18 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.doumee.core.annotation.excel.ExcelImporter;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.ScientificNotationTUtil;
import com.doumee.core.utils.Utils;
import com.doumee.dao.admin.request.CarsImport;
import com.doumee.dao.admin.request.CarsQuery;
import com.doumee.dao.admin.request.MemberImport;
import com.doumee.dao.admin.response.CarsDTO;
import com.doumee.dao.business.CarsMapper;
import com.doumee.dao.business.MemberMapper;
@@ -25,9 +29,11 @@
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.web.multipart.MultipartFile;
import java.util.*;
@@ -42,6 +48,8 @@
    @Autowired
    private CarsMapper carsMapper;
    @Autowired
    private RedisTemplate<String, Object> redisTemplate;
    @Autowired
    private CarJoinMapper carJoinMapper;
    @Autowired
@@ -302,6 +310,7 @@
                .or().like(Member::getPhone,pageWrap.getModel().getMemberName()));
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Company::getCompanyNamePath,pageWrap.getModel().getCompanyName());
        queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getMemberType()),Member::getType,pageWrap.getModel().getMemberType());
        queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getCatePId()),Category::getParentId,pageWrap.getModel().getCatePId());
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCode()),Cars::getCode,pageWrap.getModel().getCode());
        queryWrapper.eq(Cars::getIsdeleted,Constants.ZERO);
        queryWrapper.eq(pageWrap.getModel().getType()!=null,Cars::getType,pageWrap.getModel().getType());
@@ -382,4 +391,59 @@
        return PageData.from(carsDTOIPage);
    }
    @Override
    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
    public String importBatch(MultipartFile file,  LoginUserInfo loginUserInfo){
        Boolean importing = (Boolean) redisTemplate.opsForValue().get(Constants.RedisKeys.IMPORTING_CARS);
        if(importing!=null && importing){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,已存在车辆导入任务正在执行中,请稍后再试!");
        }
        redisTemplate.opsForValue().set(Constants.RedisKeys.IMPORTING_CARS,true);
        try {
            ExcelImporter ie = null;
            List<CarsImport> dataList =null;
            try {
                ie = new ExcelImporter(file,1,0);
                dataList = ie.getDataList(CarsImport.class,null);
            }  catch (Exception e) {
                e.printStackTrace();
            }
            if(dataList == null || dataList.size() ==0){
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,录入数据为空!");
            }
            List<Cars> list =  carJoinMapper.selectJoinList(Cars.class,new MPJLambdaWrapper<Cars>()
                    .selectAll(Cars.class)
                    .eq(Cars::getIsdeleted,Constants.ZERO)
            );
            List<Member> memberList  = memberMapper.selectList(new QueryWrapper<Member>().lambda()
                    .eq(Member::getType,Constants.TWO)
                    .eq(Member::getIsdeleted,Constants.ZERO));
            List<Cars> newList = new ArrayList<>();
            for(int i=0;i<dataList.size();i++){
                CarsImport model = dataList.get(i);
                model.setPhone(ScientificNotationTUtil.convertToString(model.getPhone()));
               /* if(StringUtils.isBlank(model.getCode())
                        &&StringUtils.isBlank(model.getIdcardNo())
                        &&StringUtils.isBlank(model.getPhone())
                        &&StringUtils.isBlank(model.getCompanyName())){
                    continue;
                }
                Cars car = checkModelParam(model,newList,i,loginUserInfo,list,companyList,);
                newList.add(car);*/
            }
            if(newList == null || newList.size() ==0){
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,录入有效数据为空!");
            }
//          dealHkUserBizBatch(newList);
            return "导入成功";
        }catch (BusinessException e){
            throw e;
        }catch (Exception e){
            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"车辆信息导入失败,请稍后重试");
        }finally {
            redisTemplate.delete(Constants.RedisKeys.IMPORTING_CARS);
        }
    }
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -1462,6 +1462,19 @@
                if(StringUtils.isNotBlank(memberInfoDTO.getImgurl())){
                    memberInfoDTO.setImgurlFull(prefixUrl + memberInfoDTO.getImgurl());
                }
                memberInfoDTO.setHasFace(memberInfoDTO.getFaceId()!=null?Constants.ONE:Constants.ZERO);
                if(Constants.equalsInteger(Constants.ONE,memberInfoDTO.getAuthStatus())){
                    if(memberInfoDTO.getStartTime() ==null || memberInfoDTO.getEndTime() ==null ){
                        memberInfoDTO.setRoleTimeInfo("长期有效");
                    }else{
                        memberInfoDTO.setRoleTimeInfo(DateUtil.getPlusTime2(memberInfoDTO.getStartTime())+"至"+DateUtil.getPlusTime2(memberInfoDTO.getEndTime()));
                    }
                }else{
                    memberInfoDTO.setRoleTimeInfo("-");
                }
                memberInfoDTO.setAuthStatus(Constants.formatIntegerNum(memberInfoDTO.getAuthStatus()));
                memberInfoDTO.setWorkStatus(Constants.formatIntegerNum(memberInfoDTO.getWorkStatus()));
                memberInfoDTO.setSex(Constants.formatIntegerNum(memberInfoDTO.getSex()));
            }
        }
        return PageData.from(memberIPage);
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncInitConfigServiceImpl.java
@@ -28,11 +28,10 @@
    @PostConstruct
    public  int  initHkConfig(){
            ArtemisConfig.host = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_HOST).getCode();
            ArtemisConfig.appKey = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_APPKEY).getCode();
            ArtemisConfig.appSecret = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_APPSECRET).getCode();
            HKConstants.https = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_HTTPS).getCode();
        ArtemisConfig.host = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_HOST).getCode();
        ArtemisConfig.appKey = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_APPKEY).getCode();
        ArtemisConfig.appSecret = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_APPSECRET).getCode();
        HKConstants.https = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_HTTPS).getCode();
        HKTools.interfaceLogService=interfaceLogService;
        return  0;
    }
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,291 @@
package com.doumee.service.business.impl.thrid;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.haikang.model.HKConstants;
import com.doumee.core.haikang.model.param.BaseListPageResponse;
import com.doumee.core.haikang.model.param.BaseResponse;
import com.doumee.core.haikang.model.param.BaseListPageRequest;
import com.doumee.core.haikang.model.param.request.SensorStatusListRequest;
import com.doumee.core.haikang.model.param.respose.PageCameraInfoResponse;
import com.doumee.core.haikang.model.param.respose.PageFireChannelInfoResponse;
import com.doumee.core.haikang.model.param.respose.PageRegionInfoResponse;
import com.doumee.core.haikang.model.param.respose.PageSensorStatusResponse;
import com.doumee.core.haikang.service.HKService;
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.PlatformJobMapper;
import com.doumee.dao.business.PlatformLogMapper;
import com.doumee.dao.business.PlatformMapper;
import com.doumee.dao.business.model.Platform;
import com.doumee.dao.business.model.PlatformJob;
import com.doumee.dao.web.response.platformReport.CarmeraListVO;
import com.doumee.dao.web.response.platformReport.OnSitDispatchBoardVO;
import com.doumee.dao.web.response.platformReport.RegionTreeVO;
import com.doumee.service.business.third.BoardService;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
 * TMS平台对接Service实现
 * @author æ±Ÿè¹„蹄
 * @date 2023/11/30 15:33
 */
@Service
@Slf4j
public class BoardServiceImpl implements BoardService {
    @Autowired
    private PlatformLogMapper platformLogMapper;
    @Autowired
    private PlatformJobMapper platformJobMapper;
    @Autowired
    private PlatformMapper platformMapper;
    /**
     * èŽ·å–åŒºåŸŸæ ‘å½¢ç»“æž„æ•°æ®
     * @return
     */
    @Override
    public List<PageRegionInfoResponse> getRegionTree(CarmeraListVO req){
        List<PageRegionInfoResponse> allList = new ArrayList<>();
        boolean hasNext = true;
        int curTotal = 0;
        int curPage = 1;
        while (hasNext){
            //分页遍历循环查询所有门禁设备数据
            BaseListPageRequest param = new BaseListPageRequest();
            param.setUserId("admin");
            param.setPageSize(100);
            param.setPageNo(curPage);
            BaseResponse<BaseListPageResponse<PageRegionInfoResponse>> response = HKService.pageRegions(param);
            if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "对不起,海康同步数据失败~");
            }
            BaseListPageResponse<PageRegionInfoResponse> r = response.getData();
            curTotal += 100;
            if(curTotal >= r.getTotal()){
                hasNext = false;
            }
            if(r.getList() == null || r.getList().size()==0){
                hasNext =false;
            }else{
                allList.addAll(r.getList());
            }
            curPage++;
        }
        if(Constants.equalsInteger(req.getWithCameras(),Constants.ONE)){
            initReginCameralList(allList,req.getName());//获取全部监控点数据
        }
        List<PageRegionInfoResponse> data = new RegionTreeVO(allList).buildTree();
        return  data;
    }
    private void initReginCameralList(List<PageRegionInfoResponse> allList,String name) {
        List<CarmeraListVO> carmeraListVOList = cameraList(null);
        if(carmeraListVOList!=null && carmeraListVOList.size()>0){
            for(PageRegionInfoResponse p : allList){
                for(CarmeraListVO c : carmeraListVOList){
                    if(StringUtils.equals(p.getRegionIndexCode(),c.getReginCode())
                            && (StringUtils.contains(c.getName(),name) ||StringUtils.isBlank(name))){
                        if(p.getCarmeraList()==null){
                            p.setCarmeraList(new ArrayList<>());
                        }
                        p.getCarmeraList().add(c);
                    }
                }
            }
        }
    }
    /**
     * èŽ·å–åŒºåŸŸæ ‘å½¢ç»“æž„æ•°æ®
     * @return
     */
    @Override
    public List<PageRegionInfoResponse> regionList(CarmeraListVO req){
        List<PageRegionInfoResponse> allList = new ArrayList<>();
        boolean hasNext = true;
        int curTotal = 0;
        int curPage = 1;
        while (hasNext){
            //分页遍历循环查询所有门禁设备数据
            BaseListPageRequest param = new BaseListPageRequest();
            param.setUserId("admin");
            param.setPageSize(100);
            param.setPageNo(curPage);
            BaseResponse<BaseListPageResponse<PageRegionInfoResponse>> response = HKService.pageRegions(param);
            if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "对不起,海康同步数据失败~");
            }
            BaseListPageResponse<PageRegionInfoResponse> r = response.getData();
            curTotal += 100;
            if(curTotal >= r.getTotal()){
                hasNext = false;
            }
            if(r.getList() == null || r.getList().size()==0){
                hasNext =false;
            }else{
                allList.addAll(r.getList());
            }
            curPage++;
        }
        if(Constants.equalsInteger(req.getWithCameras(),Constants.ONE)){
            initReginCameralList(allList,req.getName());//获取全部监控点数据
        }
        return  allList;
    }
    @Override
    public     List<CarmeraListVO> cameraList(CarmeraListVO req){
        List<PageCameraInfoResponse> allList = new ArrayList<>();
        boolean hasNext = true;
        int curTotal = 0;
        int curPage = 1;
        while (hasNext){
            //分页遍历循环查询所有门禁设备数据
            BaseListPageRequest param = new BaseListPageRequest();
            param.setUserId("admin");
            param.setPageSize(100);
            param.setPageNo(curPage);
            BaseResponse<BaseListPageResponse<PageCameraInfoResponse>> response = HKService.pageCameras(param);
            if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "对不起,海康同步数据失败~");
            }
            BaseListPageResponse<PageCameraInfoResponse> r = response.getData();
            curTotal += 100;
            if(curTotal >= r.getTotal()){
                hasNext = false;
            }
            if(r.getList() == null || r.getList().size()==0){
                hasNext =false;
            }else{
                allList.addAll(r.getList());
            }
            curPage++;
        }
        List<CarmeraListVO> data = new ArrayList<>();
        for(PageCameraInfoResponse p : allList){
            CarmeraListVO t = new CarmeraListVO();
            t.setIndexCode(p.getCameraIndexCode());
            t.setReginCode(p.getRegionIndexCode());
            t.setName(p.getCameraName());
            t.setStatus(p.getStatus());
            t.setStatusName(p.getStatusName());
            data.add(t);
        }
        return  data;
    }
    @Override
    public    List<PageFireChannelInfoResponse> fireChannelList(){
        List<PageFireChannelInfoResponse> allList = new ArrayList<>();
        boolean hasNext = true;
        int curTotal = 0;
        int curPage = 1;
        while (hasNext){
            //分页遍历循环查询所有门禁设备数据
            BaseListPageRequest param = new BaseListPageRequest();
            param.setUserId("admin");
            param.setPageSize(100);
            param.setPageNo(curPage);
            BaseResponse<BaseListPageResponse<PageFireChannelInfoResponse>> response = HKService.pageFireChannel(param);
            if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "对不起,海康同步数据失败~");
            }
            BaseListPageResponse<PageFireChannelInfoResponse> r = response.getData();
            curTotal += 100;
            if(curTotal >= r.getTotal()){
                hasNext = false;
            }
            if(r.getList() == null || r.getList().size()==0){
                hasNext =false;
            }else{
                allList.addAll(r.getList());
            }
            curPage++;
        }
        return  allList;
    }
    @Override
    public    List<PageSensorStatusResponse> sensorStatusList(){
        List<PageSensorStatusResponse> allList = new ArrayList<>();
        boolean hasNext = true;
        int curTotal = 0;
        int curPage = 1;
        while (hasNext){
            //分页遍历循环查询所有门禁设备数据
            SensorStatusListRequest param = new SensorStatusListRequest();
            param.setPageSize(100);
            param.setPageNo(curPage);
            BaseResponse<BaseListPageResponse<PageSensorStatusResponse>> response = HKService.pageSensorStatus(param);
            if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "对不起,海康同步数据失败~");
            }
            BaseListPageResponse<PageSensorStatusResponse> r = response.getData();
            curTotal += 100;
            if(curTotal >= r.getTotal()){
                hasNext = false;
            }
            if(r.getList() == null || r.getList().size()==0){
                hasNext =false;
            }else{
                allList.addAll(r.getList());
            }
            curPage++;
        }
        return  allList;
    }
    @Override
    public OnSitDispatchBoardVO getCnddCenterData(){
        OnSitDispatchBoardVO data = new OnSitDispatchBoardVO();
        //月台总数
        List<Platform> list =  platformMapper.selectJoinList(Platform.class,new MPJLambdaWrapper<Platform>()
                .selectAll(Platform.class)
                .select(" ( select count(1) from platform_job pj where t.id = pj.PLATFORM_ID and pj.STATUS = "+Constants.PlatformJobStatus.WORKING.getKey()+" ) as workStatus ")
                .eq(Platform::getIsdeleted,Constants.ZERO)
        );
        data.setPlatformTotal(list==null?0:list.size());
        //空闲月台数量
        data.setFreePlatform(
                list.stream().filter(i->Constants.formatIntegerNum(i.getWorkStatus())<=Constants.ZERO).collect(Collectors.toList()).size()
        );
        //查询今日月台个状态作业数量
        List<PlatformJob> jobList =  platformJobMapper.selectJoinList(PlatformJob.class,new MPJLambdaWrapper<PlatformJob>()
                .selectAll(PlatformJob.class)
                .select("count(id)" ,PlatformJob::getCountum)
                .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                .apply("to_days(create_data) = to_days(now())" )
                .groupBy(PlatformJob::getStatus )
        );
        if(jobList!=null){
            //-------------TODO----------【看板】爱确认需求--------------
            //     * 0待确认 1待签到 2等待叫号 3入园等待 4已叫号 5作业中 6作业完成 7转移中 8异常挂起 9已授权离园 10已离园 11 å·²è¿‡å· 12已取消
            for(PlatformJob model : jobList){
                //预约车辆
                if(Constants.equalsInteger(model.getStatus(),Constants.PlatformJobStatus.WAIT_CONFIRM.getKey())
                ||Constants.equalsInteger(model.getStatus(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey())){
                    data.setReservationCar(data.getReservationCar()+Constants.formatIntegerNum(model.getCountum()));
                }
                // ä½œä¸šè½¦è¾†
                if(Constants.equalsInteger(model.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){
                    data.setWorkingCar(data.getWorkingCar()+Constants.formatIntegerNum(model.getCountum()));
                }
                //排队车辆
                if(Constants.equalsInteger(model.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())
                        ||Constants.equalsInteger(model.getStatus(),Constants.PlatformJobStatus.IN_WAIT.getKey())){
                     data.setLineUpCar(data.getLineUpCar()+Constants.formatIntegerNum(model.getCountum()));
                }
            }
        }
        return  data;
    }
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,40 @@
package com.doumee.service.business.third;
import com.doumee.core.haikang.model.param.respose.PageFireChannelInfoResponse;
import com.doumee.core.haikang.model.param.respose.PageRegionInfoResponse;
import com.doumee.core.haikang.model.param.respose.PageSensorStatusResponse;
import com.doumee.core.tms.model.request.TmsLockStatusQueryRequest;
import com.doumee.core.tms.model.request.TmsOrderInfoRequest;
import com.doumee.core.tms.model.request.TmsOrderListRequest;
import com.doumee.core.tms.model.response.TmsBaseResponse;
import com.doumee.core.tms.model.response.TmsLockStatusQueryResponse;
import com.doumee.core.tms.model.response.TmsOrderInfoResponse;
import com.doumee.core.tms.model.response.TmsOrderListResponse;
import com.doumee.dao.web.response.platformReport.CarmeraListVO;
import com.doumee.dao.web.response.platformReport.OnSitDispatchBoardVO;
import com.doumee.dao.web.response.platformReport.RegionTreeVO;
import java.util.List;
/**
 * æœˆå°ä¿¡æ¯è¡¨Service定义
 * @author æ±Ÿè¹„蹄
 * @date 2024/06/28 10:03
 */
public interface BoardService {
    /**
     * èŽ·å–åŒºåŸŸæ ‘å½¢ç»“æž„æ•°æ®
     * @return
     */
    List<PageRegionInfoResponse> getRegionTree(CarmeraListVO param);
    List<PageRegionInfoResponse> regionList(CarmeraListVO param);
    List<CarmeraListVO> cameraList(CarmeraListVO param);
    List<PageFireChannelInfoResponse> fireChannelList();
    List<PageSensorStatusResponse> sensorStatusList();
    OnSitDispatchBoardVO getCnddCenterData();
}