From 10c28ce3d0b384584c77ce9111a66a0641250752 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 27 二月 2025 18:30:32 +0800
Subject: [PATCH] 最新版本541200007

---
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformJobCloudController.java                |   14 +
 admin/src/views/business/visits.vue                                                                             |    2 
 admin/src/views/meeting/components/OperaBookingsDetailWindow.vue                                                |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java       |    5 
 server/system_timer/src/main/java/com/doumee/jobs/service/TimerBizSevice.java                                   |   28 +-
 server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/RoomsServiceImpl.java             |    7 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java        |   18 +
 server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java                  |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java               |   26 +-
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWarnEventServiceImpl.java  |    1 
 admin/src/views/meeting/bookings.vue                                                                            |    8 
 admin/src/components/operation/HiddenDangerParam.vue                                                            |   11 
 admin/src/views/meeting/components/OperaRoomsWindow.vue                                                         |   10 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsJobServiceImpl.java     |    4 
 server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java          |   66 +++--
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java  |    8 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java                      |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java                      |    1 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java           |   18 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java             |   32 +++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java          |   17 
 server/system_service/src/main/java/com/doumee/api/BaseController.java                                          |    9 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java          |   13 
 server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java                                  |    3 
 admin/src/views/meeting/rooms.vue                                                                               |    8 
 server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Bookings.java                        |    6 
 admin/src/components/business/OperaMemberWindow.vue                                                             |   27 ++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java  |   68 +++++-
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/CarEventVo.java                          |    2 
 server/system_service/src/main/java/com/doumee/core/utils/Constants.java                                        |    4 
 admin/src/layouts/TableLayout1.vue                                                                              |   10 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java                      |    1 
 server/system_service/src/main/java/com/doumee/service/timer/QuartzJobService.java                              |   11 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java      |    5 
 server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Rooms.java                           |    3 
 server/system_service/src/main/java/com/doumee/dao/timer/scheduler/QuartzManage.java                            |   26 +-
 server/visits/admin_timer/src/main/java/com/doumee/api/HkVisitTimerController.java                              |    6 
 admin/src/views/task/visSubDetail.vue                                                                           |    2 
 admin/src/layouts/TableLayout.vue                                                                               |   10 
 admin/src/api/platform/index.js                                                                                 |    2 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java                   |    6 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConstants.java                      |    2 
 admin/src/views/business/device.vue                                                                             |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformEventServiceImpl.java      |    3 
 admin/src/views/business/relativeMember.vue                                                                     |    6 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java             |   19 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java |   19 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java                     |   13 
 admin/src/views/business/internalMember.vue                                                                     |    6 
 admin/src/components/business/OperaCarsWindow.vue                                                               |   10 
 admin/src/views/operation/danger/record.vue                                                                     |    6 
 51 files changed, 427 insertions(+), 169 deletions(-)

diff --git a/admin/src/api/platform/index.js b/admin/src/api/platform/index.js
index e3194f8..f7f1afa 100644
--- a/admin/src/api/platform/index.js
+++ b/admin/src/api/platform/index.js
@@ -2,7 +2,7 @@
 
 // 鑾峰彇鏈堝彴缁勪俊鎭�
 export function getPlatformGroupList (data) {
-  return request.post('/visitsAdmin/cloudService/business/platform/getPlatformGroupList', data)
+  return request.post('/visitsAdmin/cloudService/business/platform/getPlatformGroupListNew', data)
 }
 // 鍙彿鍒楄〃
 export function platformCallList (data) {
diff --git a/admin/src/components/business/OperaCarsWindow.vue b/admin/src/components/business/OperaCarsWindow.vue
index 439e693..7e4a40f 100644
--- a/admin/src/components/business/OperaCarsWindow.vue
+++ b/admin/src/components/business/OperaCarsWindow.vue
@@ -22,8 +22,10 @@
       </el-form-item>
       <el-form-item label="閫夋嫨缁勭粐锛�" prop="groupId">
         <el-select v-model="form.groupId" @change="changeSel" clearable filterable placeholder="璇烽�夋嫨">
-          <el-option v-for="item in companyList" :key="item.id" :label="item.name" :value="item.id">
-          </el-option>
+          <template v-for="item in companyList">
+            <el-option  v-if="item.countNum && item.countNum>0" :key="item.id" :label="item.name" :value="item.id">
+            </el-option>
+          </template>
         </el-select>
       </el-form-item>
       <el-form-item label="閫夋嫨杞︿富锛�" prop="memberId">
@@ -148,8 +150,8 @@
     },
     getCompany() {
       companyGetList({
-        model: {},
-        capacity: 1000,
+        model: { },//鏈夊憳宸ョ殑鏁版嵁
+        capacity: 10000,
         page: 1,
       }).then(res => {
         this.companyList = res.records || []
diff --git a/admin/src/components/business/OperaMemberWindow.vue b/admin/src/components/business/OperaMemberWindow.vue
index fdc5fa7..2cc8ad5 100644
--- a/admin/src/components/business/OperaMemberWindow.vue
+++ b/admin/src/components/business/OperaMemberWindow.vue
@@ -5,8 +5,14 @@
         <el-input v-model="form.name" placeholder="璇疯緭鍏ュ鍚�" v-trim />
       </el-form-item>
       <el-form-item label="鎵�灞炵粍缁�" prop="companyId">
-        <el-cascader v-model="form.company" :options="department" @change="handleChangeCompany" :show-all-levels="false"
-          clearable filterable :props="departprops"></el-cascader>
+<!--        <el-cascader v-model="form.company" :options="department" @change="handleChangeCompany" :show-all-levels="false"
+          clearable filterable :props="departprops"></el-cascader>-->
+        <el-select v-model="form.companyId"  clearable filterable placeholder="璇烽�夋嫨">
+          <template v-for="item in companyList">
+            <el-option  v-if="item.countNum && item.countNum>0" :key="item.id" :label="item.companyNamePath" :value="item.id">
+            </el-option>
+          </template>
+        </el-select>
         <div style="font-size: 12px;color: #F56C6C">
           娉細浠呮敮鎸侀�夋嫨 銆恵{ companyType === 0 ? '鐩稿叧鏂圭粍缁�' : '鍐呴儴缁勭粐' }}銆�
         </div>
@@ -97,6 +103,7 @@
 import { checkMobile, validIdCardNo, validIdCardNoNew } from '@/utils/form'
 import { allList } from '@/api/business/position'
 import { upload } from '@/api/system/common'
+import {companyGetList} from "@/api/business/company";
 export default {
   name: 'OperaCompanyWindow',
   extends: BaseOpera,
@@ -124,6 +131,7 @@
       companyType: 0,
       department: [],
       positionList: [],
+      companyList: [],
       // 琛ㄥ崟鏁版嵁
       form: {
         id: null,
@@ -161,6 +169,16 @@
     })
   },
   methods: {
+    getCompany() {
+      companyGetList({
+        model: {type:this.companyType } ,
+        capacity: 10000,
+        page: 1,
+      }).then(res => {
+        this.companyList = res.records || []
+
+      })
+    },
     openCamera() {
       this.paisheModal = true
       this.isShowCamera = true
@@ -314,7 +332,8 @@
         faceImgFull: ''
       }
       this.companyType = companyType
-      this.getPositionList()
+      this.getCompany()
+      // this.getPositionList()
       // 鏂板缓
       if (target == null) {
         this.$nextTick(() => {
@@ -322,6 +341,8 @@
           this.form[this.configData['field.id']] = null
           this.form.company = []
         })
+
+        this.getCompany()
         return
       }
       // 缂栬緫
diff --git a/admin/src/components/operation/HiddenDangerParam.vue b/admin/src/components/operation/HiddenDangerParam.vue
index babe186..ab8e973 100644
--- a/admin/src/components/operation/HiddenDangerParam.vue
+++ b/admin/src/components/operation/HiddenDangerParam.vue
@@ -151,7 +151,7 @@
     this.initData()
   },
   methods: {
-    
+
     initData () {
       allList({ type: 1 }).then(res => { // 绫诲瀷
         this.typeList = res || []
@@ -173,9 +173,12 @@
       const { companyId } = this.param
       this.$set(this.param, 'areaId', '')
       this.$set(this.param, 'checkUserId', '')
-      allList({ type: 0,companyId }).then(res => { // 浣嶇疆
-        this.addrList = res || []
-      })
+      this.addrList = []
+      if(companyId){
+        allList({ type: 0,companyId }).then(res => { // 浣嶇疆
+          this.addrList = res || []
+        })
+      }
     },
     changeArea (e) {
       const item = this.addrList.find(i => i.id === e)
diff --git a/admin/src/layouts/TableLayout.vue b/admin/src/layouts/TableLayout.vue
index 74eba3f..77c558e 100644
--- a/admin/src/layouts/TableLayout.vue
+++ b/admin/src/layouts/TableLayout.vue
@@ -108,7 +108,7 @@
 .table-content {
   padding: 0 16px;
   .table-wrap {
-    padding: 16px 16px 0 16px;
+    padding: 16px 16px 60px 16px;
     background: #fff;
     // 宸ュ叿鏍�
     .toolbar {
@@ -156,6 +156,14 @@
     .table-pagination {
       padding: 16px 0;
       text-align: left;
+      display: block;
+      z-index: 100;
+      width: -webkit-fill-available;
+      /* width: 80%; */
+      position: fixed;
+      bottom: 30px;
+      background-color: white;
+      margin-right: 50px;
     }
   }
 }
diff --git a/admin/src/layouts/TableLayout1.vue b/admin/src/layouts/TableLayout1.vue
index 56992b0..461cc85 100644
--- a/admin/src/layouts/TableLayout1.vue
+++ b/admin/src/layouts/TableLayout1.vue
@@ -112,7 +112,7 @@
     .table-content {
         /*padding: 0 16px;*/
         .table-wrap {
-            padding: 16px 16px 0 16px;
+            padding: 16px 16px 60px 16px;
             background: #fff;
             // 宸ュ叿鏍�
             .toolbar {
@@ -160,6 +160,14 @@
             .table-pagination {
                 padding: 16px 0;
                 text-align: left;
+              display: block;
+              z-index: 100;
+              width: -webkit-fill-available;
+              /* width: 80%; */
+              position: fixed;
+              bottom: 30px;
+              background-color: white;
+              margin-right: 50px;
             }
         }
     }
diff --git a/admin/src/views/business/device.vue b/admin/src/views/business/device.vue
index e5d3caa..0ecbd96 100644
--- a/admin/src/views/business/device.vue
+++ b/admin/src/views/business/device.vue
@@ -39,7 +39,9 @@
               <el-table-column prop="name" label="璁惧鍚嶇О"></el-table-column>
                 <el-table-column prop="doorName" label="闂ㄧ鐐瑰悕绉�"></el-table-column>
                 <el-table-column prop="regionPathName" label="鍖哄煙鍚嶇О"></el-table-column>
+<!--
                 <el-table-column prop="doorNo" label="闂ㄧ鐐圭紪鍙�"></el-table-column>
+-->
                 <el-table-column prop="manufature" label="鍘傚晢"></el-table-column>
                 <el-table-column prop="online" label="鍦ㄧ嚎鐘舵��">
                     <template slot-scope="{row}">
diff --git a/admin/src/views/business/internalMember.vue b/admin/src/views/business/internalMember.vue
index 0b2d1f1..143355c 100644
--- a/admin/src/views/business/internalMember.vue
+++ b/admin/src/views/business/internalMember.vue
@@ -159,20 +159,20 @@
             <div v-else>-</div>
           </template>
         </el-table-column>
-        <el-table-column prop="code" label="宸ュ彿" min-width="100px"></el-table-column>
+<!--        <el-table-column prop="code" label="宸ュ彿" min-width="100px"></el-table-column>
         <el-table-column label="鍗$墖" min-width="80px">
           <template slot-scope="{row}">
             <el-button @click="$refs.cardOpeningRecord.open('寮�鍗¤褰�', row.id)" type="text">{{ row.memberCardCount ||
               '0'}}</el-button>
           </template>
-        </el-table-column>
+        </el-table-column>-->
         <el-table-column prop="editorName" label="鎿嶄綔浜�" min-width="100px"></el-table-column>
         <el-table-column prop="editDate" label="鏈�鍚庢搷浣滄椂闂�" min-width="150px"></el-table-column>
         <el-table-column
           v-if="containPermissions(['business:member:update', 'business:member:delete', 'business:empower:create'])"
           label="鎿嶄綔" min-width="280"  >
           <template slot-scope="{row}">
-            <el-button type="text" icon="el-icon-edit" @click="$refs.OperaMemberWindow.open('缂栬緫鍛樺伐淇℃伅', row, department)"
+            <el-button type="text" icon="el-icon-edit" @click="$refs.OperaMemberWindow.open('缂栬緫鍛樺伐淇℃伅', row, department,searchForm.companyType)"
               v-permissions="['business:empower:update']">缂栬緫</el-button>
             <el-button type="text" icon="el-icon-plus" @click="empower(row.id)"
               v-permissions="['business:empower:create']">閲嶆柊鎺堟潈</el-button>
diff --git a/admin/src/views/business/relativeMember.vue b/admin/src/views/business/relativeMember.vue
index 98f1b72..db2e235 100644
--- a/admin/src/views/business/relativeMember.vue
+++ b/admin/src/views/business/relativeMember.vue
@@ -171,20 +171,20 @@
             <div v-else>-</div>
           </template>
         </el-table-column>
-        <el-table-column prop="code" label="宸ュ彿" min-width="100px"></el-table-column>
+<!--        <el-table-column prop="code" label="宸ュ彿" min-width="100px"></el-table-column>
         <el-table-column label="鍗$墖" min-width="80px">
           <template slot-scope="{row}">
             <el-button @click="$refs.cardOpeningRecord.open('寮�鍗¤褰�', row.id)" type="text">{{ row.memberCardCount ||
               '0' }}</el-button>
           </template>
-        </el-table-column>
+        </el-table-column>-->
         <el-table-column prop="editorName" label="鎿嶄綔浜�" min-width="100px"></el-table-column>
         <el-table-column prop="editDate" label="鏈�鍚庢搷浣滄椂闂�" min-width="150px"></el-table-column>
         <el-table-column
           v-if="containPermissions(['business:member:update', 'business:member:delete', 'business:empower:create'])"
           label="鎿嶄綔" min-width="280"  >
           <template slot-scope="{row}">
-            <el-button type="text" icon="el-icon-edit" @click="$refs.OperaMemberWindow.open('缂栬緫鍛樺伐淇℃伅', row, department)"
+            <el-button type="text" icon="el-icon-edit" @click="$refs.OperaMemberWindow.open('缂栬緫鍛樺伐淇℃伅', row, department,searchForm.companyType)"
               v-permissions="['business:empower:update']">缂栬緫</el-button>
             <el-button type="text" icon="el-icon-plus" @click="empower(row.id)"
               v-permissions="['business:empower:create']">閲嶆柊鎺堟潈</el-button>
diff --git a/admin/src/views/business/visits.vue b/admin/src/views/business/visits.vue
index bfac6a3..f136dc0 100644
--- a/admin/src/views/business/visits.vue
+++ b/admin/src/views/business/visits.vue
@@ -61,7 +61,7 @@
             <span v-else>-</span>
           </template>
         </el-table-column>
-        <el-table-column label="鏂藉伐浜哄憳" min-width="100px">
+        <el-table-column label="鏄惁娑夊強鏂藉伐浣滀笟" min-width="100px">
           <template slot-scope="{row}">
             <span v-if="row.type == 0">鍚�</span>
             <span v-if="row.type == 1">鏄�</span>
diff --git a/admin/src/views/meeting/bookings.vue b/admin/src/views/meeting/bookings.vue
index c4443e1..f37b77c 100644
--- a/admin/src/views/meeting/bookings.vue
+++ b/admin/src/views/meeting/bookings.vue
@@ -101,14 +101,14 @@
           <template slot-scope="{ row }">
             <template>
               <el-button type="text" @click="$refs.operaBookingsDetailWindow.open('浼氳璇︽儏', row)">鏌ョ湅璇︽儏</el-button>
-              <el-button v-if="row.meetingStatus == '1' && row.creator === userInfo.id" type="text"
+              <el-button v-if="row.meetingStatus == '1' &&row.creator === userInfo.id " type="text"
                 @click="$refs.operaBookingsWindow.open('缂栬緫浼氳棰勭害', row)">缂栬緫</el-button>
               <el-button type="text"
-                v-if="row.creator === userInfo.id && (row.meetingStatus == '1' || row.meetingStatus == '4')"
+                v-if="row.hasRole ==1 && (row.meetingStatus == '1' || row.meetingStatus == '4')"
                 @click="handleStart(row)">寮�濮�</el-button>
-              <el-button type="text" v-if="row.creator === userInfo.id && row.meetingStatus == '2'"
+              <el-button type="text" v-if=" row.hasRole ==1&& row.meetingStatus == '2'"
                 @click="handleEnd(row)">缁撴潫</el-button>
-              <el-button v-if="row.creator === userInfo.id && (row.meetingStatus == '1' || row.meetingStatus == '4')"
+              <el-button v-if="row.hasRole ==1 && (row.meetingStatus == '1' || row.meetingStatus == '4')"
                 type="text" @click="cancelMeeting(row.id)">鎾ゅ洖</el-button>
             </template>
             <!-- <el-button v-else type="text" @click="deleteById(row)" v-permissions="['business:bookings:delete']">鍒犻櫎</el-button> -->
diff --git a/admin/src/views/meeting/components/OperaBookingsDetailWindow.vue b/admin/src/views/meeting/components/OperaBookingsDetailWindow.vue
index 2e7463d..1b0553b 100644
--- a/admin/src/views/meeting/components/OperaBookingsDetailWindow.vue
+++ b/admin/src/views/meeting/components/OperaBookingsDetailWindow.vue
@@ -21,13 +21,13 @@
         <div class="item-title">浼氳鍐呭</div>
         <div class="item-value">{{ form.content || "鏃�" }}</div>
       </div>
-      <div v-if="form.projectList.length" class="item">
+      <div v-if="form.projectList && form.projectList.length" class="item">
         <div class="">鏈嶅姟椤�</div>
         <div class="item-value">
           {{ form.projectList.map((item) => item.projectName).join(" | ") }}
         </div>
       </div>
-      <div class="item" v-if="form.fileList.length">
+      <div class="item" v-if="form.fileList && form.fileList.length">
         <div class="item-title">闄勪欢</div>
         <div>
           <FileLink
diff --git a/admin/src/views/meeting/components/OperaRoomsWindow.vue b/admin/src/views/meeting/components/OperaRoomsWindow.vue
index a9a6d58..f850a63 100644
--- a/admin/src/views/meeting/components/OperaRoomsWindow.vue
+++ b/admin/src/views/meeting/components/OperaRoomsWindow.vue
@@ -1,16 +1,19 @@
 <template>
   <GlobalAlertWindow v-loading="isUploading" :title="title" :visible.sync="visible" :confirm-working="isWorking"
     @confirm="confirm">
+    <p class="tip-warn" v-if="form.id"><i class="el-icon-warning"></i>鎿嶄綔璇存槑锛�<br>
+      <span style="color: #e75314">濡傛灉褰撳墠浼氳瀹ゅ瓨鍦ㄦ湭缁撴潫鐨勪細璁紝涓嶅厑璁告洿鏂板紑鏀炬椂闂村拰绮掑害鍒嗛挓锛屾彁浜ゅ悗寮�鏀炬椂闂村拰绮掑害鍒嗛挓淇敼涓嶇敓鏁堬紒</span>
+    </p>
     <el-form :model="form" ref="form" :rules="rules" label-width="120px" label-suffix="锛�">
       <el-form-item label="浼氳瀹ゅ悕绉�" prop="name">
         <el-input v-model="form.name" placeholder="璇疯緭鍏ヤ細璁鍚嶇О" :maxlength="10" v-trim />
       </el-form-item>
       <el-form-item label="寮�鏀炬椂闂�" prop="timeRange">
-        <el-time-picker is-range value-format="HH:mm" format="HH:mm" v-model="timeRange" range-separator="鑷�"
+        <el-time-picker is-range value-format="HH:mm" :disabled=" form.bookingNum && form.bookingNum>0" format="HH:mm" v-model="timeRange" range-separator="鑷�"
           start-placeholder="寮�濮嬫椂闂�" end-placeholder="缁撴潫鏃堕棿" placeholder="閫夋嫨鏃堕棿鑼冨洿" @change="selectRange"></el-time-picker>
       </el-form-item>
       <el-form-item label="绮掑害鍒嗛挓" prop="intervalTime">
-        <el-input v-model="form.intervalTime" type="number" placeholder="璇疯緭鍏ユ椂闂寸矑搴︼紙鍒嗛挓锛�" v-trim />
+        <el-input v-model="form.intervalTime" type="number"  :disabled="form.bookingNum && form.bookingNum>0" placeholder="璇疯緭鍏ユ椂闂寸矑搴︼紙鍒嗛挓锛�" v-trim />
       </el-form-item>
       <el-form-item label="瀹圭撼浜烘暟" prop="limitNum">
         <el-input v-model="form.limitNum" type="number" placeholder="璇疯緭鍏ュ绾充汉鏁�" v-trim />
@@ -111,7 +114,8 @@
         imgFullUrl: '',
         tips: '',
         status: 0,
-        intervalTime: 0
+        intervalTime: 0,
+        bookingNum: 0,
       },
       user: [],
       projectList: [],
diff --git a/admin/src/views/meeting/rooms.vue b/admin/src/views/meeting/rooms.vue
index 9742cab..b961a54 100644
--- a/admin/src/views/meeting/rooms.vue
+++ b/admin/src/views/meeting/rooms.vue
@@ -5,7 +5,7 @@
       <el-form-item label="浼氳瀹ゅ悕绉�" prop="name">
         <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ュ悕绉�" @keypress.enter.native="search"></el-input>
       </el-form-item>
-      <el-form-item label="绠$悊鍛�" prop="sysList">
+<!--      <el-form-item label="绠$悊鍛�" prop="sysList">
         <el-select
           v-model="searchForm.sysList"
           filterable
@@ -20,10 +20,10 @@
             :value="item.id"
             :label="item.companyId?`${item.realname}-${item.companyName}`:item.realname"
             ></el-option>
-            <!-- :label="`${item.department.name}-${item.realname}`" -->
-          <!-- <el-option :key="1" :value="1" label="绂佺敤" /> -->
+            &lt;!&ndash; :label="`${item.department.name}-${item.realname}`" &ndash;&gt;
+          &lt;!&ndash; <el-option :key="1" :value="1" label="绂佺敤" /> &ndash;&gt;
         </el-select>
-      </el-form-item>
+      </el-form-item>-->
 
       <section>
         <el-button type="primary" @click="search">鎼滅储</el-button>
diff --git a/admin/src/views/operation/danger/record.vue b/admin/src/views/operation/danger/record.vue
index a685a96..c4a4062 100644
--- a/admin/src/views/operation/danger/record.vue
+++ b/admin/src/views/operation/danger/record.vue
@@ -78,6 +78,7 @@
         <el-table-column prop="dutyCompanyName" label="璐d换閮ㄩ棬" min-width="150px"></el-table-column>
         <el-table-column prop="areaName" label="闅愭偅鍖哄煙" min-width="150px"></el-table-column>
         <el-table-column prop="categoryName" label="闅愭偅绫诲瀷" min-width="150px"></el-table-column>
+        <el-table-column prop="content" label="闂鎻忚堪" min-width="150px"></el-table-column>
         <el-table-column prop="memberName" label="鎻愭姤浜�" min-width="80px"></el-table-column>
         <el-table-column prop="companyName" label="鎵�灞炵粍缁�" min-width="150px"></el-table-column>
         <el-table-column prop="createDate" label="鎻愭姤鏃堕棿" min-width="150px"></el-table-column>
@@ -88,7 +89,10 @@
             <span class="status-red"   v-if="row.status === 2">宸查��鍥�</span>
           </template>
         </el-table-column>
-        <el-table-column prop="editDate" label="鎿嶄綔鏃堕棿" min-width="150px"></el-table-column>
+        <el-table-column prop="dealTime" label="澶勭悊鏃堕棿" min-width="150px"></el-table-column>
+<!--
+        <el-table-column prop="editDate" label="鏈�杩戞搷浣滄椂闂�" min-width="150px"></el-table-column>
+-->
         <el-table-column
             label="鎿嶄綔"
             min-width="180"
diff --git a/admin/src/views/task/visSubDetail.vue b/admin/src/views/task/visSubDetail.vue
index d9f19b2..c172862 100644
--- a/admin/src/views/task/visSubDetail.vue
+++ b/admin/src/views/task/visSubDetail.vue
@@ -37,7 +37,7 @@
               <div class="value">{{ info.carNos }}</div>
             </div>
             <div class="item">
-              <div class="label">鏂藉伐浜哄憳</div>
+              <div class="label">鏄惁娑夊強鏂藉伐浣滀笟</div>
               <div class="value">{{ info.type == "0" ? "鍚�" : "鏄�" }}</div>
             </div>
             <div class="item">
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Bookings.java b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Bookings.java
index 98927c3..55b465e 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Bookings.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Bookings.java
@@ -140,10 +140,16 @@
     @ApiModelProperty(value = "userId")
     @TableField(exist = false)
     private Integer userId ;
+    @ApiModelProperty(value = "鏄惁鍏锋湁鎿嶄綔鏉冮檺(寮�濮嬨�佺粨鏉熴�佹挙鍥烇級")
+    @TableField(exist = false)
+    private Integer  hasRole ;
 
     @ApiModelProperty(value = "鍙備細浜哄憳")
     @TableField(exist = false)
     private List<UserRel> sysList;
+    @ApiModelProperty(value = "浼氳瀹ょ鐞嗗憳")
+    @TableField(exist = false)
+    private List<UserRel> adminList;
 
     @ApiModelProperty(value = "鏈嶅姟椤圭洰")
     @TableField(exist = false)
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Rooms.java b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Rooms.java
index 16dc743..eb49449 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Rooms.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Rooms.java
@@ -112,6 +112,9 @@
     @ApiModelProperty(value = "鍥剧墖鍏ㄨ矾寰�")
     @TableField(exist = false)
     private String imgFullUrl;
+    @ApiModelProperty(value = "鏈粨鏉熶細璁褰曟暟")
+    @TableField(exist = false)
+    private Integer bookingNum;
 
     @ApiModelProperty(value = "闄勪欢鏂囦欢")
     @TableField(exist = false)
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
index 15bcc39..a97b557 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
@@ -42,6 +42,7 @@
 import com.doumee.service.business.ProjectsService;
 import com.doumee.service.system.SystemUserService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.BeanUtils;
@@ -69,6 +70,7 @@
  * @date 2023/05/04 18:18
  */
 @Service
+@Slf4j
 public class BookingsServiceImpl implements BookingsService {
 
     @Value("${des_pwd}")
@@ -627,20 +629,31 @@
             //鍙備細浜哄憳鍒楄〃
             MPJLambdaWrapper<UserRel> urquery = new MPJLambdaWrapper<>();
             urquery.selectAll(UserRel.class);
+            urquery.eq(UserRel::getObjType, MeetConstants.ONE);
             urquery.eq(UserRel::getIsdeleted, MeetConstants.ZERO);
             urquery.eq(UserRel::getObjId, s.getId());
             urquery.select("(select REALNAME from system_user s where t.USER_ID = s.id and s.DELETED = 0  ) as realName");
             List<UserRel> userrelList = userRelJoinMapper.selectJoinList(UserRel.class, urquery);
             s.setSysList(userrelList);
+            //浼氳瀹ょ鐞嗗憳
+            MPJLambdaWrapper<UserRel> param = new MPJLambdaWrapper<>();
+            urquery.selectAll(UserRel.class);
+            urquery.eq(UserRel::getObjType, MeetConstants.ZERO);
+            urquery.eq(UserRel::getIsdeleted, MeetConstants.ZERO);
+            urquery.eq(UserRel::getObjId, s.getRoomId());
+            List<UserRel> adminList = userRelJoinMapper.selectJoinList(UserRel.class, urquery);
+            s.setAdminList(adminList);
 
-            //鏈嶅姟椤�
+            //鏌ヨ鏄惁鏈夋潈闄�
+            s.setHasRole(getHasRoleByParam(s,userInfo,adminList));
+          /*  //鏈嶅姟椤�
             MPJLambdaWrapper<ProjectRel> prquery = new MPJLambdaWrapper<>();
             prquery.selectAll(ProjectRel.class);
             prquery.eq(ProjectRel::getIsdeleted, MeetConstants.ZERO);
             prquery.eq(ProjectRel::getObjId, s.getId());
             prquery.select("(select p.name from meeting_projects p where t.PROJECT_ID = p.id and p.ISDELETED = 0  ) as projectName");
             List<ProjectRel> prList = projectRelJoinMapper.selectJoinList(ProjectRel.class, prquery);
-            s.setProjectList(prList);
+            s.setProjectList(prList);*/
 
             s.setFlag(MeetConstants.ZERO);
             if (System.currentTimeMillis() > s.getStartTime().getTime()) {
@@ -650,7 +663,19 @@
         });
         return PageData.from(result);
     }
-
+    public int getHasRoleByParam(Bookings s,LoginUserInfo userInfo,List<UserRel> adminList){
+        if(Constants.equalsInteger(userInfo.getId(),s.getCreator())  ){
+              return 1;
+        }
+        if(adminList!=null){
+            for(UserRel u : adminList){
+                if(Constants.equalsInteger(userInfo.getId(),u.getUserId())  ){
+                    return 1;
+                }
+            }
+        }
+        return  0;
+    }
     private void dealMeetingStatusByModel(Bookings s,Integer minute) {
         //浼氳鐘舵��: 1=鏈紑濮嬶紱2=杩涜涓紱3=宸茬粨鏉� ; 4=鍗冲皢寮�濮�; 5=宸叉挙閿�
         //status鐘舵�� 0宸查绾� 1宸叉挙閿� 2宸茬粨鏉�
@@ -1295,7 +1320,7 @@
                 .eq(UserRel::getObjType,Constants.ZERO)
                 .eq(UserRel::getUserId,businessOverDTO.getUserId()));
 
-        if (!bookings.getCreator().equals(businessOverDTO.getUserId()) && userRelList <= 0) {
+        if (!Constants.equalsInteger(bookings.getCreator(),businessOverDTO.getUserId()) && userRelList <= 0) {
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "闈炰綘鐨勯绾﹁褰�,鏃犳硶杩涜璇ユ搷浣�");
         }
         if(!Constants.equalsInteger(bookings.getStatus(),Constants.ZERO)){
@@ -1346,7 +1371,7 @@
         bookings.setEditDate(new Date());
         bookings.setEditor(businessOverDTO.getUserId());
         bookingsMapper.updateById(bookings);
-       /* //鏇存柊宸茬粨鏉熶絾鏈粨鏉熺殑浼氳淇℃伅涓哄凡缁撴潫
+         //鏇存柊宸茬粨鏉熶絾鏈粨鏉熺殑浼氳淇℃伅涓哄凡缁撴潫
         bookingsMapper.update(null,new UpdateWrapper<Bookings>()
                 .lambda()
                 .set(Bookings::getStatus,Constants.TWO)
@@ -1355,7 +1380,7 @@
                 .apply(" ( END_TIME < now() or ( END_TIME > now() and START_TIME < now() and START_TIME_REAL is null  ) )")
                 .eq(Bookings::getStatus,Constants.ZERO)
                 .eq(Bookings::getRoomId,bookings.getRoomId())
-        );*/
+        );
 
     }
 
@@ -1390,23 +1415,6 @@
             response.setMultifileList(multifileList);
         }
 
-
-/*        //鏌ヨ浼氳鍒楄〃
-        List<MeetingListResponse> meetingList = bookingsMapper.meetingList(
-                new QueryWrapper<Bookings>()
-                .eq( "b.id", rooms.getId())
-                .eq("b.ISDELETED",MeetConstants.ZERO)
-                .eq("b.STATUS",MeetConstants.ZERO)
-                .eq("a.ISDELETED",MeetConstants.ZERO)
-                .eq("a.status",Constants.ZERO)
-                .ne("a.status",Constants.TWO)
-                .like("a.start_time",DateUtil.getCurrDate())
-                .apply(" not exists ( select 1  from  meeting_book mb where mb.END_TIME < now() and  mb.id = a.id and START_TIME_REAL is null  )   ")
-                .orderByAsc("a.start_time")
-        );
-        this.dealMeetingStatus(meetingList);
-        response.setMeetingListResponseList(meetingList);*/
-
         MPJLambdaWrapper<Bookings> queryWrapper = new MPJLambdaWrapper<Bookings>()
                  .selectAll(Bookings.class)
                  .selectAs(Rooms::getName, Bookings::getRoomName)
@@ -1416,14 +1424,15 @@
                  .leftJoin(Rooms.class, Rooms::getId, Bookings::getRoomId)
                  .leftJoin(SystemUser.class, SystemUser::getId, Bookings::getCreator)
                  .eq(Bookings::getIsdeleted, MeetConstants.ZERO)
-                 .eq(Bookings::getId, MeetConstants.ZERO)
+                 .eq(Bookings::getStatus, MeetConstants.ZERO)
                  .eq(Rooms::getId, rooms.getId())
-                .apply("to_days(t.start_time) = to_days(now())")//瀛愭煡璇㈠綋澶╃殑
-                 .orderByDesc(Bookings::getStartTime);
+                 .apply("to_days(t.start_time) = to_days(now()) and t.end_time > now()")//瀛愭煡璇㈠綋澶╃殑
+                 .orderByAsc(Bookings::getStartTime);
         Integer minute =getNearStartMinut();
         List<Bookings> meetingList =bookingsMapper.selectJoinList(Bookings.class,queryWrapper);
+        List<MeetingListResponse> rList= new ArrayList<>();
         if(meetingList!=null){
-            response.setMeetingListResponseList(new ArrayList<>());
+            log.error(JSONObject.toJSONString(meetingList));
             for(Bookings s : meetingList){
                 dealMeetingStatusByModel(s,minute);
                 MeetingListResponse d = new MeetingListResponse();
@@ -1440,9 +1449,10 @@
                 d.setMeetingName(s.getName());
                 d.setRemark(s.getRemark());
                 d.setStartTime(s.getStartTime());
-                response.getMeetingListResponseList().add(d);
+                rList.add(d);
             }
         }
+        response.setMeetingListResponseList(rList);
         return response;
     }
 
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/RoomsServiceImpl.java b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/RoomsServiceImpl.java
index 82efd00..0962f78 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/RoomsServiceImpl.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/RoomsServiceImpl.java
@@ -387,6 +387,7 @@
 //                .set(Rooms::getStartTime, rooms.getStartTime())
                 .set(Rooms::getLimitNum, rooms.getLimitNum())
                 .set(Rooms::getTips, rooms.getTips())
+                .set(Rooms::getIntervalTime, rooms.getIntervalTime())
                 .set(Rooms::getImgurl, rooms.getImgurl())
                 .eq(Rooms::getId, rooms.getId()));
 
@@ -420,7 +421,7 @@
         rooms.setEndTime(DateUtil.formatDate(endtime.getTime(), "yyyy-MM-dd HH:mm:ss"));
 
 
-        //TODO 鏇存柊浼氳瀹ゆ椂闂存
+        //TODO鏇� 鏂颁細璁鏃堕棿娈�
         if (!Constants.equalsInteger(re, Constants.ONE)) {
             updateRoomTimes(rooms, user);
         }
@@ -491,9 +492,8 @@
         IPage<Rooms> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         MPJLambdaWrapper<Rooms> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
-
         queryWrapper.selectAll(Rooms.class);
-
+        queryWrapper.select("(select count(a.id) from meeting_book a where a.room_id=t.id and a.isdeleted=0 and a.status=0)",Rooms::getBookingNum);
         queryWrapper.orderByDesc(Rooms::getCreateDate);
         queryWrapper.eq(Rooms::getIsdeleted, Constants.ZERO);
         queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getName()),Rooms::getName, pageWrap.getModel().getName());
@@ -501,7 +501,6 @@
         if(org.apache.commons.collections4.CollectionUtils.isNotEmpty(pageWrap.getModel().getSysList())){
          //   queryWrapper.leftJoin(UserRel.class,UserRel::getObjId,Rooms::getId);
             List<Integer> collect = pageWrap.getModel().getSysList().stream().map(UserRel::getUserId).collect(Collectors.toList());
-
             queryWrapper.exists("select u.id from meeting_user_rel u where u.ISDELETED=0 and u.OBJ_ID =t.id and  u.USER_ID in (" +     StringUtils.strip(collect.toString(),"[]")+" )");
         }
 
diff --git a/server/system_service/src/main/java/com/doumee/api/BaseController.java b/server/system_service/src/main/java/com/doumee/api/BaseController.java
index 6386efc..b335103 100644
--- a/server/system_service/src/main/java/com/doumee/api/BaseController.java
+++ b/server/system_service/src/main/java/com/doumee/api/BaseController.java
@@ -60,10 +60,17 @@
     }
 
     public List<Integer> getIdList(String ids){
+        if(StringUtils.isBlank(ids)){
+            return null;
+        }
         String [] idArray = ids.split(",");
         List<Integer> idList = new ArrayList<>();
         for (String id : idArray) {
-            idList.add(Integer.valueOf(id));
+            try {
+                idList.add(Integer.valueOf(id));
+            }catch (Exception e){
+
+            }
         }
         return idList;
     }
diff --git a/server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java b/server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java
index 2a1305d..16072d0 100644
--- a/server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java
+++ b/server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java
@@ -88,7 +88,7 @@
                     }catch (Exception e){
                     }*/
                 } else {
-                    throw new BusinessException(ResponseStatus.NO_LOGIN.getCode(),request.getRequestURI()+"鏈櫥褰�");
+                    throw new BusinessException(ResponseStatus.NO_LOGIN.getCode(),request.getRequestURI()+"鏈櫥褰曪紝TOKEN缂哄け");
                 }
             }
         }else{
@@ -130,11 +130,11 @@
         if (StringUtils.isBlank(userinfo)) {
             throw new BusinessException(ResponseStatus.NO_LOGIN.getCode(),"鏈櫥褰�");
         }
-        stringRedisTemplate.expire(Constants.REDIS_TOKEN_KEY+token,this.expireTime, TimeUnit.MILLISECONDS);
         LoginUserInfo user = JSONObject.toJavaObject(JSONObject.parseObject(userinfo),LoginUserInfo.class );
         if(user ==null ){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛鐧婚檰宸插け鏁堬紝璇烽噸鏂扮櫥闄嗭紒");
         }
+        stringRedisTemplate.expire(Constants.REDIS_TOKEN_KEY+token,this.expireTime, TimeUnit.MILLISECONDS);
         //鏉冮檺鍒ゆ柇------------
         return  user;
     }
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
index 2b7b0ad..b66f5bf 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -752,6 +752,10 @@
         PT_FK(1,"鏅�氳瀹�"),
         NB_FK(2,"鍐呴儴浜哄憳"),
 
+        COMPANY_TYPE_REL(0,"鐩稿叧鏂圭粍缁�"),
+        COMPANY_TYPE_INTERNAL(1,"鍐呴儴浜哄憳"),
+        COMPANY_TYPE_FK(3,"璁垮"),
+
         /** 杩涘満绫诲瀷 **/
         OUT(0,"鍑�"),
         IN(1,"杩�");
diff --git a/server/system_service/src/main/java/com/doumee/dao/timer/scheduler/QuartzManage.java b/server/system_service/src/main/java/com/doumee/dao/timer/scheduler/QuartzManage.java
index 357ab0f..e19936c 100644
--- a/server/system_service/src/main/java/com/doumee/dao/timer/scheduler/QuartzManage.java
+++ b/server/system_service/src/main/java/com/doumee/dao/timer/scheduler/QuartzManage.java
@@ -41,9 +41,11 @@
     public CronTrigger getCronTrigger (Integer jobId){
         try {
             return (CronTrigger) this.scheduler.getTrigger(getTriggerKey(jobId)) ;
-        } catch (SchedulerException e){
-            throw new RuntimeException("getCronTrigger Fail",e) ;
+        }catch (Exception e){
+            e.printStackTrace();
+//            throw new RuntimeException("createJob Fail",e) ;
         }
+        return null;
     }
 
     /**
@@ -69,8 +71,9 @@
             scheduler.scheduleJob(jobDetail,trigger) ;
             // 鐘舵�佹牎楠�
             checkStop(quartzJob) ;
-        } catch (SchedulerException e){
-            throw new RuntimeException("createJob Fail",e) ;
+        } catch (Exception e){
+            e.printStackTrace();
+//            throw new RuntimeException("createJob Fail",e) ;
         }
     }
 
@@ -93,8 +96,9 @@
             scheduler.rescheduleJob(triggerKey, trigger);
             // 鐘舵�佹牎楠�
             checkStop(quartzJob) ;
-        } catch (SchedulerException e) {
-            throw new RuntimeException("updateJob Fail",e) ;
+        }catch (Exception e){
+            e.printStackTrace();
+//            throw new RuntimeException("createJob Fail",e) ;
         }
     }
 
@@ -128,8 +132,9 @@
             JobDataMap dataMap = new JobDataMap() ;
             dataMap.put(QuartzJob.JOB_PARAM_KEY,quartzJob);
             this.scheduler.triggerJob(getJobKey(quartzJob.getId()),dataMap);
-        } catch (SchedulerException e){
-            throw new RuntimeException("run Fail",e) ;
+        } catch (Exception e){
+            e.printStackTrace();
+//            throw new RuntimeException("createJob Fail",e) ;
         }
     }
 
@@ -141,8 +146,9 @@
             if(quartzJob.getState() != JobState.JOB_RUN.getStatus()){
                 this.scheduler.pauseJob(getJobKey(quartzJob.getId()));
             }
-        } catch (SchedulerException e){
-            throw new RuntimeException("pauseJob Fail",e) ;
+        } catch (Exception e){
+            e.printStackTrace();
+//            throw new RuntimeException("createJob Fail",e) ;
         }
     }
 
diff --git a/server/system_service/src/main/java/com/doumee/service/timer/QuartzJobService.java b/server/system_service/src/main/java/com/doumee/service/timer/QuartzJobService.java
index c765b7f..b2e0c19 100644
--- a/server/system_service/src/main/java/com/doumee/service/timer/QuartzJobService.java
+++ b/server/system_service/src/main/java/com/doumee/service/timer/QuartzJobService.java
@@ -41,6 +41,11 @@
      * 鏂板浠诲姟
      */
     public int insert(QuartzJob quartzJob) {
+        if(quartzJobMapper.selectCount(new QueryWrapper<QuartzJob>().lambda()
+                .eq(QuartzJob::getModule,quartzJob.getModule())
+                .eq(QuartzJob::getBeanName,quartzJob.getBeanName())) >0){
+            throw  new BusinessException(ResponseStatus.DATA_EXISTS);
+        }
         int flag = quartzJobMapper.insert(quartzJob) ;
         if (flag > 0){
             quartzManage.createJob(quartzJob) ;
@@ -52,6 +57,12 @@
      * 鏇存柊浠诲姟
      */
     public int update(QuartzJob quartzJob) {
+        if(quartzJobMapper.selectCount(new QueryWrapper<QuartzJob>().lambda()
+                .eq(QuartzJob::getModule,quartzJob.getModule())
+                .ne(QuartzJob::getId,quartzJob.getId())
+                .eq(QuartzJob::getBeanName,quartzJob.getBeanName())) >0){
+            throw  new BusinessException(ResponseStatus.DATA_EXISTS);
+        }
         int flag = quartzJobMapper.updateById(quartzJob);
         if (flag > 0){
             quartzManage.updateJob(quartzJob);
diff --git a/server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java b/server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java
index 3e0284d..c6b666b 100644
--- a/server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java
+++ b/server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java
@@ -73,6 +73,9 @@
     @ApiOperation("銆愯瀹㈢郴缁熴�戣瀹㈡暟鎹嵆灏嗚秴鏃堕璀�")
     @GetMapping("/timer/visit/visitTimeOut")
     ApiResponse visitTimeOut() ;
+    @ApiOperation("銆愯瀹㈢郴缁熴�戣瀹㈢敵璇峰緟瀹℃壒璁板綍鎴鏃堕棿宸茶繃鑷姩鍙栨秷棰勭害")
+    @GetMapping("/timer/visit/visitNoCheckCancel")
+    ApiResponse visitNoCheckCancel() ;
     @ApiOperation("銆愭暟瀛楀寲鏈堝彴銆戞湀鍙板仠闈犺秴鏃舵姤璀︿笟鍔�")
     @GetMapping("/timer/platformJob/platformJobTimer")
     ApiResponse platformJobTimer();
diff --git a/server/system_timer/src/main/java/com/doumee/jobs/service/TimerBizSevice.java b/server/system_timer/src/main/java/com/doumee/jobs/service/TimerBizSevice.java
index c427e2a..9fcb389 100644
--- a/server/system_timer/src/main/java/com/doumee/jobs/service/TimerBizSevice.java
+++ b/server/system_timer/src/main/java/com/doumee/jobs/service/TimerBizSevice.java
@@ -23,17 +23,23 @@
      */
     @PostConstruct
     public void init () {
-        LambdaQueryWrapper<QuartzJob> queryWrapper = new LambdaQueryWrapper<>() ;
-        queryWrapper.in(QuartzJob::getState, JobState.JOB_RUN.getStatus(),JobState.JOB_STOP.getStatus());
-        List<QuartzJob> jobList = quartzJobMapper.selectList(queryWrapper);
-        jobList.forEach(quartzJob -> {
-            CronTrigger cronTrigger = quartzManage.getCronTrigger(quartzJob.getId()) ;
-            if (Objects.isNull(cronTrigger)){
-                quartzManage.createJob(quartzJob);
-            } else {
-                quartzManage.updateJob(quartzJob);
-            }
-        });
+            LambdaQueryWrapper<QuartzJob> queryWrapper = new LambdaQueryWrapper<>() ;
+            queryWrapper.in(QuartzJob::getState, JobState.JOB_RUN.getStatus(),JobState.JOB_STOP.getStatus());
+            List<QuartzJob> jobList = quartzJobMapper.selectList(queryWrapper);
+            jobList.forEach(quartzJob -> {
+                try {
+                    CronTrigger cronTrigger = quartzManage.getCronTrigger(quartzJob.getId()) ;
+                    if (Objects.isNull(cronTrigger)){
+                        quartzManage.createJob(quartzJob);
+                    } else {
+                        quartzManage.updateJob(quartzJob);
+                    }
+                }catch (Exception e){
+                    e.printStackTrace();
+                }
+            });
+
+
     }
 
 }
diff --git a/server/visits/admin_timer/src/main/java/com/doumee/api/HkVisitTimerController.java b/server/visits/admin_timer/src/main/java/com/doumee/api/HkVisitTimerController.java
index c89eeb4..a4d39cd 100644
--- a/server/visits/admin_timer/src/main/java/com/doumee/api/HkVisitTimerController.java
+++ b/server/visits/admin_timer/src/main/java/com/doumee/api/HkVisitTimerController.java
@@ -65,5 +65,11 @@
         visitsService.syncTimeOutData();
         return ApiResponse.success("璁垮鍗冲皢瓒呮椂棰勮");
     }
+    @ApiOperation("寰呭鎵硅褰曡秴鏃惰嚜鍔ㄥ彇娑堥绾�")
+    @GetMapping("/visitNoCheckCancel")
+    public ApiResponse visitNoCheckCancel() {
+        visitsService.visitNoCheckCancel();
+        return ApiResponse.success("寰呭鎵硅褰曡秴鏃惰嚜鍔ㄥ彇娑堥绾�");
+    }
 
 }
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java
index c81a174..05737bd 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java
@@ -138,6 +138,12 @@
     public ApiResponse<List<PlatformGroup>>  getPlatformGroupList (@RequestBody PlatformDataDTO platformDataDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){
         return ApiResponse.success(platformGroupService.getAllPlatformGroup(platformDataDTO,getLoginUser(token)));
     }
+    @ApiOperation("鑾峰彇鏈堝彴缁勪俊鎭�(骞冲彴绔級")
+    @PostMapping("/getPlatformGroupListNew")
+    @CloudRequiredPermission("business:platform:query")
+    public ApiResponse<List<PlatformGroup>>  getPlatformGroupListNew (@RequestBody PlatformDataDTO platformDataDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){
+        return ApiResponse.success(platformGroupService.getAllPlatformGroup(platformDataDTO,getLoginUser(token)));
+    }
 
     @ApiOperation("鑾峰彇鏈堝彴浠诲姟淇℃伅")
     @GetMapping("/getPlatformWorkData")
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformJobCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformJobCloudController.java
index c897310..0732768 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformJobCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformJobCloudController.java
@@ -75,7 +75,19 @@
     @GetMapping("/updateTotalNum")
     @CloudRequiredPermission("business:platformjob:update")
     public ApiResponse updateTotalNum(@RequestParam String ids,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
-        wmsService.computjobTotalNum(this.getIdList(ids));
+        List<Integer>  idList =this.getIdList(ids);
+        if(idList == null || idList.size()==0){
+            idList = new ArrayList<>();
+            PlatformJob param = new PlatformJob();
+            param.setIsdeleted(Constants.ZERO);
+            param.setOrigin(Constants.ONE);
+            List<PlatformJob> list= platformJobService.findList(param);
+
+            for(PlatformJob j :list){
+                idList.add(j.getId());
+            }
+        }
+        wmsService.computjobTotalNum(idList);
         return ApiResponse.success(null);
     }
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConstants.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConstants.java
index f558446..f5d6ad6 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConstants.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConstants.java
@@ -30,6 +30,8 @@
         String visitAuditSuccess = "visitAuditSuccess";
         //  瀹℃壒椹冲洖缁欑敵璇蜂汉锛氱敵璇峰凡琚┏鍥�
         String visitAuditFail = "visitAuditFail";
+        //鏂瑰彲鐢宠涓嬪彂澶辫触
+        String visitApplyHkFail = "visitApplyHkFail";
         // 缁欏鎵逛汉锛氱敵璇峰緟鎮ㄥ鎵�
         String visitWaitAudit = "visitWaitAudit";
     }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java
index 8b2fa0e..8821a42 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java
@@ -82,7 +82,6 @@
     private String personPhone;
 
     @ApiModelProperty(value = "浜哄憳绫诲瀷")
-    @ExcelColumn(name="浜哄憳绫诲瀷",index = 6,width = 10,valueMapping = "0=鍔冲姟璁垮;1=鏅�氳瀹�;2=鍐呴儴浜哄憳;")
     private Integer personType;
 
     @ApiModelProperty(value = "浜哄憳韬唤璇佸彿")
@@ -96,7 +95,8 @@
     private String visitCompanyName;
 
     @ApiModelProperty(value = "缁勭粐绫诲瀷锛�0=鐩稿叧鏂癸紱1=鍐呴儴")
-    private String companyType;
+    @ExcelColumn(name="浜哄憳绫诲瀷",index = 6,width = 10,valueMapping = "0=鐩稿叧鏂圭粍缁�;1=鍐呴儴浜哄憳;2=璁垮;")
+    private Integer companyType;
 
     @ApiModelProperty(value = "杞﹁締绫诲瀷 0鍐呴儴杞﹁締 1鐩稿叧鏂硅溅杈� 2璁垮杞﹁締 3鍐呰繍鐗╂祦杞� 4澶栧崗杞﹁締 5甯傚叕鍙稿嵏璐ц溅 ")
     private String carType;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java
index baf09d4..862e7ea 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java
@@ -58,7 +58,7 @@
     private Integer areaId;
 
     @ApiModelProperty(value = "鐘舵�� 0寰呭鐞� 1宸插鐞� 2涓嶅鐞�", example = "1")
-    @ExcelColumn(name="澶勭悊缁撴灉" ,valueMapping ="0=0寰呭鐞�;1=宸插鐞�;2=涓嶅鐞�;",index = 5,width = 6)
+    @ExcelColumn(name="澶勭悊缁撴灉" ,valueMapping ="0=0寰呭鐞�;1=宸插鐞�;2=涓嶅鐞�;",index = 6,width = 6)
     private Integer status;
 
     @ApiModelProperty(value = "鐢宠澶勭悊浜虹紪鐮�(鍏宠仈member)", example = "1")
@@ -70,7 +70,7 @@
     private Integer cateId;
 
     @ApiModelProperty(value = "鎯呭喌璇存槑")
-//    @ExcelColumn(name="鎯呭喌璇存槑")
+    @ExcelColumn(name="闂鎻忚堪",index = 3,width = 20)
     private String content;
 
     @ApiModelProperty(value = "鎻愭姤浜虹紪鐮侊紙鍏宠仈member锛�", example = "1")
@@ -95,17 +95,18 @@
 
     @ApiModelProperty(value = "鐢宠浜哄鍚�", example = "1")
     @TableField(exist = false)
-    @ExcelColumn(name="鎻愭姤浜哄鍚�",index =3,width = 6)
+    @ExcelColumn(name="鎻愭姤浜哄鍚�",index =4,width = 6)
     private String memberName;
     @ApiModelProperty(value = "鐢宠浜烘墍灞炵粍缁囧悕绉�", example = "1")
     @TableField(exist = false)
-    @ExcelColumn(name="鎵�灞炵粍缁�",index = 4)
+    @ExcelColumn(name="鎵�灞炵粍缁�",index = 5,width = 15)
     private String companyName;
     @ApiModelProperty(value = "璐d换閮ㄩ棬鍚嶇О", example = "1")
     @TableField(exist = false)
     @ExcelColumn(name="璐d换閮ㄩ棬鍚嶇О",index = 0,width = 10)
     private String dutyCompanyName;
     @ApiModelProperty(value = "鐢宠浜烘墜鏈哄彿", example = "1")
+
     @TableField(exist = false)
 //    @ExcelColumn(name="鐢宠浜烘墜鏈哄彿")
     private String memberPhone;
@@ -144,12 +145,12 @@
 
     @ApiModelProperty(value = "鎻愭姤鏃堕棿")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @ExcelColumn(name="鎻愭姤鏃堕棿",index = 6,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 18)
+    @ExcelColumn(name="鎻愭姤鏃堕棿",index = 7,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 18)
     private Date submitTime;
 
     @ApiModelProperty(value = "澶勭悊鏃堕棿锛堟暣鏀�/閫�鍥炰娇鐢級")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @ExcelColumn(name="澶勭悊鏃堕棿",index = 7 ,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 18)
+    @ExcelColumn(name="澶勭悊鏃堕棿",index = 8 ,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 18)
     private Date dealTime;
 
     @ApiModelProperty(value = "闄勪欢淇℃伅")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
index 64f59a6..c9bbdcf 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
@@ -425,6 +425,7 @@
     private Integer worktimeOutAlarmTime;
 
 
+
     public void dealTime(){
         if(Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.WAIT_CONFIRM.getKey())
                 || Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey()) ){
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/CarEventVo.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/CarEventVo.java
index c766c4c..6d93f74 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/CarEventVo.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/CarEventVo.java
@@ -14,7 +14,7 @@
     private String plateNos;
 
     @ApiModelProperty(value = "浜哄憳绫诲瀷")
-    @ExcelColumn(name="褰掑睘鐢ㄦ埛绫诲瀷")
+    @ExcelColumn(name="浜哄憳绫诲瀷")
     private String typeName;
 
     @ApiModelProperty(value = "濮撳悕")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
index 3cfa501..3b9cfce 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
@@ -152,4 +152,5 @@
      * 鍗冲皢瓒呮椂閫氱煡
      */
     void syncTimeOutData();
+    void visitNoCheckCancel();
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java
index ddb1602..f039bff 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java
@@ -286,16 +286,16 @@
             carEventExcel.getRecords().stream().forEach(obj->{
                 CarEventVo vo = new CarEventVo();
                 vo.setEventTypeName(HKConstants.EventTypes.getName(obj.getEventType())) ;
-                if(null != obj.getPersonType()) {
-                    if(Constants.ZERO == obj.getPersonType()){
-                        vo.setTypeName(Constants.Status.LW_FK.getDes());
-                    }else if(Constants.ONE == obj.getPersonType()) {
-                        vo.setTypeName(Constants.Status.PT_FK.getDes());
-                    }else {
-                        vo.setTypeName(Constants.Status.NB_FK.getDes());
+                if(obj.getCompanyType() == null){
+                    obj.setCompanyType(Constants.THREE);
+                }
+                vo.setTypeName(Constants.Status.COMPANY_TYPE_FK.getDes());
+                if(null != obj.getCompanyType()) {
+                    if(Constants.ZERO == obj.getCompanyType()){
+                        vo.setTypeName(Constants.Status.COMPANY_TYPE_REL.getDes());
+                    }else if(Constants.ONE == obj.getCompanyType()) {
+                        vo.setTypeName(Constants.Status.COMPANY_TYPE_INTERNAL.getDes());
                     }
-                }else {
-                    vo.setTypeName("");
                 }
                 vo.setPlateNos(obj.getPlateNos());
                 vo.setPersonName(obj.getPersonName());
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java
index 2612c9a..2c5ced4 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java
@@ -131,24 +131,25 @@
         }
         Date date = new Date();
         //鍒犻櫎宸叉巿鏉冧笅鍙戠殑鍖呮湡鎺堟潈
-        dealCancelBookBiz(car.getCode(),date);
-        Cars model = new Cars();
-        model.setEditDate(date);
-        model.setEdirot(user.getId());
-        model.setId(id);
-        model.setIsdeleted(Constants.ONE);
+        dealCancelBookBiz(car.getCode(),date,parkBookJoinMapper);
+//        Cars model = new Cars();
+//        model.setEditDate(date);
+//        model.setEdirot(user.getId());
+//        model.setId(id);
+//        model.setIsdeleted(Constants.ONE);
         carsMapper.update(null,new UpdateWrapper<Cars>().lambda()
-                .eq(Cars::getId,model.getId())
+                .eq(Cars::getId,id)
                 .set(Cars::getStartTime,null)
                 .set(Cars::getEndTime,null)
+                .set(Cars::getAuthTimeType,null)
                 .set(Cars::getAuthStatus,Constants.ZERO)
                 .set(Cars::getIsdeleted,Constants.ONE)
-                .set(Cars::getEditDate,model.getEditDate())
-                .set(Cars::getEdirot,model.getEdirot())
+                .set(Cars::getEditDate,date)
+                .set(Cars::getEdirot,user.getId())
         );
-        carsMapper.updateById(model);
+//        carsMapper.updateById(model);
     }
-    public   boolean  dealCancelBookBiz(String code,Date date){
+    public static    boolean  dealCancelBookBiz(String code,Date date,ParkBookMapper parkBookJoinMapper){
 
         List<ParkBook> parkBooks = parkBookJoinMapper.selectJoinList(ParkBook.class,new MPJLambdaWrapper<ParkBook>()
                 .selectAll(ParkBook.class )
@@ -310,7 +311,7 @@
         model.setHkStatus(Constants.ZERO);
         model.setRemark("");
         model.setAuthStatus(Constants.ZERO);
-        dealCancelBookBiz(car.getCode(),model.getEditDate());
+        dealCancelBookBiz(car.getCode(),model.getEditDate(),parkBookJoinMapper);
         carsMapper.update(null,new UpdateWrapper<Cars>().lambda()
                 .eq(Cars::getId,model.getId())
                 .set(Cars::getAuthStatus,Constants.ZERO)
@@ -321,6 +322,7 @@
                 .set(Cars::getEditDate,model.getEditDate())
                 .set(Cars::getEdirot,model.getEdirot())
                 .set(Cars::getMemberId,model.getMemberId())
+                .set(Cars::getAuthTimeType,null)
                 .set(Cars::getStartTime,null)
                 .set(Cars::getEndTime,null)
         );
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java
index 67cda58..0a6c8e1 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java
@@ -44,13 +44,13 @@
         if(loginUserInfo == null){
             loginUserInfo = model.getLoginUserInfo();
         }
-        if(hiddenDangerParamMapper.selectCount(new QueryWrapper<HiddenDangerParam>().lambda()
+      /*  if(hiddenDangerParamMapper.selectCount(new QueryWrapper<HiddenDangerParam>().lambda()
                 .eq(HiddenDangerParam::getType,model.getType())
                 .eq(HiddenDangerParam::getName,model.getName())
                 .eq(HiddenDangerParam::getIsdeleted,Constants.ZERO)
         )>Constants.ZERO){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ュ悕绉板凡瀛樺湪!");
-        }
+        }*/
         if(Constants.equalsInteger(model.getType(),Constants.ZERO)){
             //濡傛灉鏄尯鍩熼厤缃�
             if(model.getCompanyId() == null){
@@ -130,14 +130,14 @@
         if(hiddenDangerParam == null || Constants.equalsInteger(hiddenDangerParam.getIsdeleted(),Constants.ONE)){
             throw  new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇ラ厤缃俊鎭笉瀛樺湪锛岃杩斿洖鍒锋柊椤甸潰閲嶈瘯锛�");
         }
-        if(hiddenDangerParamMapper.selectCount(new QueryWrapper<HiddenDangerParam>().lambda()
+    /*    if(hiddenDangerParamMapper.selectCount(new QueryWrapper<HiddenDangerParam>().lambda()
                 .eq(HiddenDangerParam::getType,model.getType())
                 .eq(HiddenDangerParam::getName,model.getName())
                 .eq(HiddenDangerParam::getIsdeleted,Constants.ZERO)
                 .ne(HiddenDangerParam::getId,model.getId())
         )>Constants.ZERO){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ュ悕绉板凡瀛樺湪!");
-        }
+        }*/
         if(Constants.equalsInteger(hiddenDangerParam.getType(),Constants.ZERO)){
             //濡傛灉鏄尯鍩熼厤缃�,鏍¢獙瀹夊叏鍛樹俊鎭槸鍚︽纭�
             if(model.getCompanyId() == null){
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
index 38577a8..b5e306a 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
@@ -434,7 +434,10 @@
         if(userInfo!=null && userInfo.getCompanyIdList()!=null){
             if(  userInfo.getCompanyIdList().size() ==0){
                 //鍙兘鐪嬭嚜宸�
-                queryWrapper.eq(HiddenDanger::getCreator,userInfo.getId());
+                queryWrapper.and(w->{
+                    w.eq(HiddenDanger::getCreator,userInfo.getId()).or().
+                    eq(HiddenDanger::getCheckUserId,userInfo.getId());
+                });
             }else{
                 queryWrapper.in("t1.company_id" ,userInfo.getCompanyIdList());
             }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 98d1e14..e994fcc 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -126,6 +126,10 @@
     private TmsService tmsService;
     @Autowired
     private SystemUserMapper systemUserMapper;
+    @Autowired
+    private CarsMapper carsMapper;
+    @Autowired
+    private ParkBookMapper parkBookMapper;
 
     @Autowired
     @Lazy
@@ -579,11 +583,13 @@
     @Override
     @Transactional(rollbackFor = {BusinessException.class,Exception.class})
     public void deleteById(Integer id,LoginUserInfo loginUserInfo) {
+
+        Date date =new Date();
         Member member=new Member();
         member.setId(id);
         member.setIsdeleted(Constants.ONE);
         member.setEditor(loginUserInfo.getId());
-        member.setEditDate(new Date());
+        member.setEditDate(date);
         member.setHkStatus(Constants.ZERO);
         member.setRemark("浜哄憳宸插垹闄わ紝绛夊緟鍒犻櫎闂ㄧ鏉冮檺");
         memberMapper.updateById(member);
@@ -597,8 +603,30 @@
                 .set(SystemUser::getUpdateUser,member.getEditor())
                 .set(SystemUser::getUpdateTime,member.getEditDate())
         );
-
         saveUserActionBiz(member,loginUserInfo,Constants.UserActionType.DELETE,userActionJoinMapper,JSONObject.toJSONString(member));
+        List<Cars> carsList = carsMapper.selectList(new QueryWrapper<Cars>().lambda()
+                .eq(Cars::getMemberId,member.getId())
+                .eq(Cars::getIsdeleted,Constants.ONE)
+                .eq(Cars::getAuthStatus,Constants.ONE)//宸叉巿鏉冨寘鏈熺殑杞﹁締
+        );
+        if ((carsMapper!=null && carsList.size()>0)){
+            for(Cars car :carsList){
+               if(Constants.equalsInteger(car.getAuthStatus(),Constants.ZERO)){
+                   Cars model = new Cars();
+                   carsMapper.update(null,new UpdateWrapper<Cars>().lambda()
+                           .eq(Cars::getId,car.getId())
+                           .set(Cars::getStartTime,null)
+                           .set(Cars::getEndTime,null)
+                           .set(Cars::getAuthTimeType,null)
+                           .set(Cars::getAuthStatus,Constants.ZERO)
+                           .set(Cars::getEditDate,model.getEditDate())
+                           .set(Cars::getEdirot,model.getEdirot())
+                   );
+                   //鍒犻櫎宸叉巿鏉冧笅鍙戠殑鍖呮湡鎺堟潈
+                   CarsServiceImpl.dealCancelBookBiz(car.getCode(),date,parkBookMapper);
+               }
+            }
+        }
     }
 
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformEventServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformEventServiceImpl.java
index aa187e8..ac815f0 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformEventServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformEventServiceImpl.java
@@ -222,6 +222,9 @@
             String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
                     systemDictDataBiz.queryByCode(Constants.FTP,Constants.PLATFORM_EVENT_IMG).getCode();
             for(PlatformEvent model : result.getRecords()){
+                if(StringUtils.isNotBlank(model.getPlateNo())){
+                    model.setPlateNo(model.getPlateNo().replace("钃�", "").replace("榛�", ""));
+                }
                 if(StringUtils.isNotBlank(model.getBackgroundImageDown())){
                     model.setBackgroundImageDown(prefixUrl + model.getBackgroundImageDown());
                 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java
index cebd0dd..4b2ede0 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java
@@ -297,6 +297,11 @@
                     || Constants.equalsInteger(i.getPlatformGroupId(),platform.getGroupId())
             ).collect(Collectors.toList());
             if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformJobs)){
+                for(PlatformJob i :platformJobList){
+                    if(Constants.equalsInteger(i.getOrigin(),Constants.ZERO)){
+                        i.setWmsContractNum(i.getContractNum());
+                    }
+                }
                 platformWorkVO.setWorkNum(
                         platformJobs.stream().filter(i->Constants.equalsInteger(i.getPlatformId(),platform.getId())  && Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())).collect(Collectors.toList()).size()
                 );
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
index eb84711..af8fff4 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -1,6 +1,7 @@
 package com.doumee.service.business.impl;
 
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
@@ -365,7 +366,8 @@
                 .selectAs(Platform::getName,PlatformJob::getPlatformName)
                 .selectAs(Platform::getWorkRate,PlatformJob::getWorkRate)
                 .selectAs(PlatformWmsJob::getCarrierName,PlatformJob::getCarrierName)
-                .select(" case when t.total_num is null  then ( select sum(pwd.IO_QTY) from platform_wms_detail pwd where pwd.JOB_ID = t.id  ) else t.total_num end ioQty ")
+                .select(" (select GROUP_CONCAT(distinct(tt.contract_num ))  from platform_wms_detail tt where tt.isdeleted=0 and tt.contract_num is not null   and  tt.job_id=t.id )as wmsContractNum")
+//                .select(" case when t.total_num is null  then ( select sum(pwd.IO_QTY) from platform_wms_detail pwd where pwd.JOB_ID = t.id  ) else t.total_num end ioQty ")
                 .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
                 .leftJoin(PlatformWmsJob.class,PlatformWmsJob::getCarryBillCode,PlatformJob::getBillCode)
                 .leftJoin(PlatformBooks.class,PlatformBooks::getJobId,PlatformJob::getId)
@@ -402,7 +404,10 @@
         IPage<PlatformJob> platformJobIPage = platformJobJoinMapper.selectJoinPage(page,PlatformJob.class,queryWrapper);
         platformJobIPage.getRecords().forEach(i->{
             i.dealTime();
-            i.setTotalNum(i.getIoQty());
+            if(Constants.equalsInteger(i.getOrigin(),Constants.ZERO)){
+                i.setWmsContractNum(i.getContractNum());
+            }
+//            i.setTotalNum(i.getIoQty());
 //            this.getWmsJobData(i);
 //            this.queryWaitNum(i);
         });
@@ -1913,6 +1918,7 @@
                 .select(" ( select pl.CREATE_DATE from platform_log pl where t.id = pl.obj_id and pl.OBJ_TYPE = "+Constants.PlatformJobLogType.WORKING.getKey()+" order by pl.CREATE_DATE desc  limit 1  ) as newStartDate  ")
                 .select(" ( select pl.CREATE_DATE from platform_log pl where t.id = pl.obj_id and pl.OBJ_TYPE = "+Constants.PlatformJobLogType.CALLED.getKey()+" order by pl.CREATE_DATE desc  limit 1  ) as newCallDate  ")
                 .select(" case when t.total_num is null  then ( select sum(pwd.IO_QTY) from platform_wms_detail pwd where pwd.JOB_ID = t.id  ) else t.total_num end ioQty ")
+                .select(" (select GROUP_CONCAT(distinct(tt.contract_num )) from platform_wms_detail tt where tt.isdeleted=0 and tt.contract_num is not null  and  tt.job_id=t.id )as wmsContractNum")
                 .selectAs(Platform::getName,PlatformJob::getPlatformName)
                 .selectAs(Platform::getWorkRate,PlatformJob::getWorkRate)
                 .selectAs(PlatformWmsJob::getCarrierName,PlatformJob::getCarrierName)
@@ -1959,16 +1965,16 @@
         );
         //鏌ヨ浠婃棩瀹屾垚浠诲姟
         platformOrderNumByDateResponse.setDoneNum(
-                platformJobMapper.selectCount(new QueryWrapper<PlatformJob>().lambda()
+                platformJobMapper.selectCount(new MPJLambdaWrapper<PlatformJob>()
                         .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                         .like(PlatformJob::getDoneDate,queryDateStr)
-                        .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey())
+                        .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey()
+                                ,Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()
+                                ,Constants.PlatformJobStatus.LEAVED.getKey())
                 )
         );
         return platformOrderNumByDateResponse;
     }
-
-
 
     @Override
     public List<PlatformDataListResponse> platformWorkingDataList(PlatformDataListRequest param){
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWarnEventServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWarnEventServiceImpl.java
index f7816fe..dcadef0 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWarnEventServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWarnEventServiceImpl.java
@@ -107,6 +107,7 @@
                         .selectAs(Platform::getName,PlatformWarnEvent::getPlatformName)
                         .selectAs(Platform::getHkId,PlatformWarnEvent::getPlatfromHkId)
                         .leftJoin(Platform.class,Platform::getId,PlatformWarnEvent::getPlatformId)
+                        .orderByDesc(PlatformWarnEvent::getCreateDate)
                         .last(" limit 20 ")
         );
         List<PlatformWarnEventListResponse> list = new ArrayList<PlatformWarnEventListResponse>();
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsJobServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsJobServiceImpl.java
index a38e315..5753f76 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsJobServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsJobServiceImpl.java
@@ -108,7 +108,7 @@
             List<WmsJobContractVO> wmsJobContractVOList = new ArrayList<>();
             for (String ioCode:ioCodeSet) {
                 if(StringUtils.isBlank(ioCode)){
-                    continue;
+//                    continue;
                 }
                 WmsJobContractVO wmsJobContractVO = new WmsJobContractVO();
                 wmsJobContractVO.setContractCode(ioCode);
@@ -122,7 +122,7 @@
                         com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(wmsJobContractVO.getPlatformWmsDetailList())){
                     if(Constants.equalsInteger(platformWmsJob.getType(),Constants.ONE)){
                         if(Objects.isNull(wmsJobContractVO.getPlatformWmsDetailList().get(Constants.ZERO).getLockStatus())){
-                            wmsJobContractVO.setLockStatus(Constants.ZERO
+                                     wmsJobContractVO.setLockStatus(Constants.ZERO
                             );
                         }else{
                             wmsJobContractVO.setLockStatus(
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java
index 4c625f1..a7b6d61 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java
@@ -266,16 +266,13 @@
             for (Retention obj:retentionInfo.getRecords()) {
                 RetentionVo vo = new RetentionVo();
                 vo.setCompanyName(obj.getCompanyName());
+                vo.setTypeName(Constants.Status.COMPANY_TYPE_FK.getDes());
                 if(null != obj.getType()) {
-                    if(Constants.ZERO == obj.getType()){
-                        vo.setTypeName(Constants.Status.LW_FK.getDes());
-                    }else if(Constants.ONE == obj.getType()) {
-                        vo.setTypeName(Constants.Status.PT_FK.getDes());
-                    }else {
-                        vo.setTypeName(Constants.Status.NB_FK.getDes());
+                    if(Constants.ZERO == obj.getCompanyType()){
+                        vo.setTypeName(Constants.Status.COMPANY_TYPE_REL.getDes());
+                    }else if(Constants.ONE == obj.getCompanyType()) {
+                        vo.setTypeName(Constants.Status.COMPANY_TYPE_INTERNAL.getDes());
                     }
-                }else {
-                    vo.setTypeName("");
                 }
                 vo.setName(obj.getName());
                 vo.setPhone(obj.getPhone());
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
index 49118e4..588beff 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -1882,6 +1882,25 @@
 
 
     }
+    @Override
+    public void visitNoCheckCancel(){
+        List<Visits> visitsList = visitsMapper.selectList(new QueryWrapper<Visits>().lambda()
+                .eq(Visits::getIsdeleted,Constants.ONE)
+                .eq(Visits::getStatus,Constants.VisitStatus.waitCheck)
+                .apply(" now() >=  ENDTIME ")
+        );
+        if(visitsList!=null){
+            Date date =new Date();
+            for(Visits s :visitsList){
+                    visitsMapper.update(null,new UpdateWrapper<Visits>().lambda()
+                            .set(Visits::getIsdeleted,Constants.VisitStatus.cancel)
+                            .set(Visits::getEditDate,date)
+                            .set(Visits::getRemark,"棰勭害鎴鏃堕棿宸茶繃鏈鎵癸紝绯荤粺鑷姩鍙栨秷")
+                            .eq(Visits::getId,s.getId()));
+             }
+        }
+
+    }
 
 
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
index f356c7c..b88c838 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -25,9 +25,13 @@
 import com.doumee.dao.business.model.Member;
 import com.doumee.dao.web.reqeust.SavePlatformWarnEventDTO;
 import com.doumee.service.business.impl.PlatformWarnEventServiceImpl;
+import com.doumee.service.business.third.TmsService;
+import com.doumee.service.business.third.model.request.TmsOrderInfoRequest;
+import com.doumee.service.business.third.model.response.TmsOrderInfoResponse;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
+import org.checkerframework.checker.units.qual.C;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -80,6 +84,8 @@
     private PlatformBroadcastLogMapper platformBroadcastLogMapper;
     @Autowired
     private PlatformJobMapper platformJobMapper;
+    @Autowired
+    private TmsService tmsService;
     @Autowired
     private PlatformWmsDetailMapper platformWmsDetailMapper;
     @Autowired
@@ -901,7 +907,7 @@
                                     Constants.PlatformJobStatus.TRANSFERING.getKey(),
                                     Constants.PlatformJobStatus.EXCEPTION.getKey()
                             )
-                    )==Constants.ZERO){
+                    )==Constants.ZERO){//濡傛灉娌¤繘琛屼腑浠诲姟
                         PlatformJob platformJob = platformJobMapper.selectOne(new QueryWrapper<PlatformJob>().lambda()
                                 .eq(PlatformJob::getCarCodeFront,event.getPlateNos())
                                 .eq(PlatformJob::getIsdeleted,Constants.ZERO)
@@ -913,18 +919,14 @@
                                 .last(" limit 1")
                         );
                         if(Objects.nonNull(platformJob)){
-                            platformJob.setStatus(Constants.PlatformJobStatus.WAIT_CALL.getKey());
-                            platformJob.setArriveDate(new Date());
-                            platformJob.setSingType(Constants.TWO);
-                            platformJob.setSignDate(new Date());
-                            List<PlatformJob> signList = platformJobMapper.selectList(new QueryWrapper<PlatformJob>().lambda().apply(" DATE(SIGN_DATE) = DATE(NOW()) and sign_date is not null  "));
-                            if(CollectionUtils.isEmpty(signList)){
-                                platformJob.setSignNum(Constants.ONE);
-                            } else{
-                                int maxNumber = Collections.max(signList.stream().map(i->i.getSignNum()).collect(Collectors.toList()));
-                                platformJob.setSignNum(maxNumber + Constants.ONE);
+                            if(Constants.equalsInteger(platformJob.getType(),Constants.ONE)){
+                                //濡傛灉鏄嚜鏈夎溅瑁呰揣鑷姩绛惧埌
+                                jobAutoSignBiz(platformJob);
+                            }else  if(Constants.equalsInteger(platformJob.getType(),Constants.ZERO)){
+                                //濡傛灉鏄嚜鏈夎溅鍗歌揣 鏌ヨTMS鍚堝悓鐘舵�侊紝鍐冲畾鏄惁鑷姩绛惧埌
+                                checkTmsContractStatusBiz(platformJob);
                             }
-                            platformJobMapper.updateById(platformJob);
+
                         }
                     }
                 };
@@ -956,6 +958,48 @@
         return event;
     }
 
+    /**
+     * 锛涘鏋滄槸鍗歌揣浠诲姟锛岄渶瑕侀�氳繃TMS鎻愪緵鐨勨��2.2鍚堝悓鍒楄〃鎺ュ彛鈥濇帴鍙f煡璇㈣溅杈嗗搴旂殑鍚堝悓鐘舵�佹槸鍚︿负鍦ㄩ�旂姸鎬侊紙瀵瑰簲orderStatus鍊间负3/4/5/6锛夛紝
+     * 濡傛灉鏄嚜鍔ㄧ鍒帮紝鍚﹀垯涓嶈嚜鍔ㄧ鍒帮紱濡傛灉涓�涓溅杈嗗搴斿涓悎鍚屽彿锛屽垯鍙栬繍鍗曚笅浠讳竴鍚堝悓鏌ヨ瀵瑰簲鍦ㄩ�斾俊鎭�
+     * @param platformJob
+     */
+    private void checkTmsContractStatusBiz(PlatformJob platformJob) {
+        PlatformWmsDetail detail = platformWmsDetailMapper.selectOne(new QueryWrapper<PlatformWmsDetail>().lambda()
+                .eq(PlatformWmsDetail::getIsdeleted, Constants.ZERO)
+                .eq(PlatformWmsDetail::getJobId, platformJob.getId())
+                .isNotNull(PlatformWmsDetail::getContractNum)
+                .last("limit 1")
+        );
+        if(detail!=null && StringUtils.isNotBlank(detail.getContractNum())){
+            TmsOrderInfoRequest param = new TmsOrderInfoRequest();
+            param.setContractNumber(detail.getContractNum());
+            TmsOrderInfoResponse response = tmsService.orderInfo(param);
+            if(response!=null &&( StringUtils.equals(response.getOrderStatus(),"3")  )
+                ||StringUtils.equals(response.getOrderStatus(),"4")
+                ||StringUtils.equals(response.getOrderStatus(),"5")
+                ||StringUtils.equals(response.getOrderStatus(),"6")){
+                //濡傛灉鍚堝悓鍦ㄩ�旓紝鍒欒嚜鍔ㄧ鍒�
+                jobAutoSignBiz(platformJob);
+            }
+        }
+
+    }
+
+    private void jobAutoSignBiz(PlatformJob platformJob) {
+        platformJob.setStatus(Constants.PlatformJobStatus.WAIT_CALL.getKey());
+        platformJob.setArriveDate(new Date());
+        platformJob.setSingType(Constants.TWO);
+        platformJob.setSignDate(new Date());
+        List<PlatformJob> signList = platformJobMapper.selectList(new QueryWrapper<PlatformJob>().lambda().apply(" DATE(SIGN_DATE) = DATE(NOW()) and sign_date is not null  "));
+        if(CollectionUtils.isEmpty(signList)){
+            platformJob.setSignNum(Constants.ONE);
+        } else{
+            int maxNumber = Collections.max(signList.stream().map(i->i.getSignNum()).collect(Collectors.toList()));
+            platformJob.setSignNum(maxNumber + Constants.ONE);
+        }
+        platformJobMapper.updateById(platformJob);
+    }
+
     private Retention getRetentionModelByParkRequest(EventParkInfoRequest request,CarEvent event) {
         Retention retention = new Retention();
         retention.setIsdeleted(Constants.ZERO);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java
index 8f2f689..e85c595 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java
@@ -14,9 +14,11 @@
 import com.doumee.core.utils.DESUtil;
 import com.doumee.core.utils.DateUtil;
 import com.doumee.core.utils.ImageBase64Util;
+import com.doumee.core.wx.wxPlat.WxPlatConstants;
 import com.doumee.core.wx.wxPlat.WxPlatNotice;
 import com.doumee.dao.business.DeviceRoleMapper;
 import com.doumee.dao.business.RetentionMapper;
+import com.doumee.dao.business.WxNoticeConfigMapper;
 import com.doumee.dao.business.join.VisitsJoinMapper;
 import com.doumee.dao.business.model.DeviceRole;
 import com.doumee.dao.business.model.Member;
@@ -40,14 +42,19 @@
 public class HkSyncVisitServiceImpl extends HkSyncBaseServiceImpl {
     @Autowired
     private VisitsJoinMapper visitsMapper;
+
+
+
+    @Autowired
+    private WxPlatNotice wxPlatNotice;
+    @Autowired
+    private WxNoticeConfigMapper wxNoticeConfigMapper;
     @Autowired
     private RetentionMapper retentionMapper;
     @Autowired
     private SystemDictDataBiz systemDictDataBiz;
     @Autowired
     private DeviceRoleMapper deviceRoleMapper;
-    @Autowired
-    private WxPlatNotice wxPlatNotice;
     /**
      * 鍚屾娴峰悍璁垮淇℃伅鏄惁宸茬绂荤姸鎬�
      */
@@ -312,6 +319,14 @@
 //                getUpdateModelByResponse(c,date,roleList,path);
                 getUpdateModelByResponseIccm(c,date,roleList,path);
                 visitsMapper.updateById(c);
+                //缁欑敵璇蜂汉鍙戦�佸井淇″叕浼楀彿 涓嬪彂鏉冮檺澶辫触
+                if(StringUtils.isNotBlank(c.getOpenid()) && Constants.equalsInteger(c.getStatus(),Constants.VisitStatus.xfFail)){
+                    wxPlatNotice.sendVisitTemplateNotice(systemDictDataBiz,
+                            wxNoticeConfigMapper,c, WxPlatConstants.visitContent.visitApplyHkFail,
+                            systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+                            Arrays.asList(c.getOpenid().split(","))
+                    );
+                }
             }
         }catch (Exception e){
             e.printStackTrace();
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java
index b5f6916..b04182f 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java
@@ -310,8 +310,8 @@
             if(details.size()>0){
                 platformWmsDetailMapper.insert(details);
             }
+            list.setJobIdList(jobIdList);
             if(jobList.size()>0){
-                list.setJobIdList(jobIdList);
                 startEndNoticeToDriver(jobList);
             }
         }catch (Exception e){
@@ -495,7 +495,6 @@
                     job.setContractNum(param.getContractNum());
                     job.setDriverPhone(param.getDriverPhone());
                     job.setDriverName(param.getDriverName());
-//                    job.setOrigin(Constants.ONE);
                     platformWmsJobMapper.insert(job);
                 }
                 jobIdList.add(job.getId());
@@ -532,8 +531,8 @@
             if(details.size()>0){
                 platformWmsDetailMapper.insert(details);
             }
+            list.setJobIdList(jobIdList);
             if(jobList.size()>0){
-                list.setJobIdList(jobIdList);
                 startEndNoticeToDriver(jobList);
             }
         }catch (Exception e){
@@ -723,14 +722,14 @@
                     .eq(PlatformWmsDetail::getIsdeleted, Constants.ZERO));
             if(details!=null && details.size()>0){
                 for(PlatformWmsDetail d :details){
-                   num.add(Constants.formatBigdecimal(d.getIoQty()));
+                    num =  num.add(Constants.formatBigdecimal(d.getIoQty()));
                 }
-                platformJobMapper.update(null,new UpdateWrapper<PlatformJob>().lambda()
-                        .set(PlatformJob::getTotalNum,num)
-                        .eq(PlatformJob::getOrigin, Constants.ZERO)
-                        .eq(PlatformJob::getId, jobId));
-            }
 
+            }
+            platformJobMapper.update(null,new UpdateWrapper<PlatformJob>().lambda()
+                    .set(PlatformJob::getTotalNum,num)
+                    .eq(PlatformJob::getOrigin, Constants.ONE)
+                    .eq(PlatformJob::getId, jobId));
         }
     }
     /**

--
Gitblit v1.9.3