From 2ddec61770c9486197dc7ec5f7914037cda3dfbf Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期一, 16 六月 2025 10:39:54 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit

---
 server/system_timer/src/main/resources/bootstrap-dev.yml                                                                   |    2 
 server/system_timer/src/main/resources/bootstrap-pro.yml                                                                   |    2 
 h5/pages/staff/meetingCalendar.vue                                                                                         |    2 
 server/system_timer/src/main/resources/application.yml                                                                     |   10 
 server/visits/admin_timer/src/main/java/com/doumee/api/DatabaseController.java                                             |    4 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformJobCloudController.java                           |    5 
 admin/src/views/business/visits.vue                                                                                        |    6 
 admin/src/views/meeting/components/OperaBookingsDetailWindow.vue                                                           |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java                        |   27 +
 server/visits/admin_timer/src/main/java/com/doumee/api/PlatformJobController.java                                          |   12 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/VisitorWebController.java                                   |    2 
 admin/src/components/system/dict/OperaDictDataWindow.vue                                                                   |   34 +
 server/system_timer/src/main/java/com/doumee/jobs/service/TimerBizSevice.java                                              |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/request/WmsInboundDetailRequest.java                 |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java                   |   57 ++-
 server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java                             |   12 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java                   |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java                 |   23 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWarnEventServiceImpl.java             |    1 
 admin/src/views/meeting/bookings.vue                                                                                       |    2 
 admin/src/components/common/UploadFile.vue                                                                                 |   44 ++-
 server/visits/admin_timer/src/main/java/com/doumee/api/HkNoticeTimerController.java                                        |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java                                 |    5 
 h5/pages/staff/meetingSubOrder.vue                                                                                         |    2 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/PdaPlatformController.java                                  |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java                        |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java                     |   11 
 server/visits/admin_timer/src/main/java/com/doumee/api/HkPlatformTimerController.java                                      |    4 
 server/README.md                                                                                                           |   28 -
 server/system_service/src/main/java/com/doumee/api/BaseController.java                                                     |    1 
 screen/src/views/LogisticsEfficiency.vue                                                                                   |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java                     |    2 
 server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java                                             |   61 ++--
 server/visits/admin_timer/src/main/java/com/doumee/api/HkParkTimerController.java                                          |    6 
 README.md                                                                                                                  |   28 +
 server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Bookings.java                                   |    1 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java             |   39 +-
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java                   |   76 ++++-
 server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/request/WmsOutboundDetailRequest.java                |    2 
 server/startsh/DBbackup.sh                                                                                                 |    1 
 admin/src/router/index.js                                                                                                  |    4 
 admin/src/views/platform/LogisticsRecord/waybill.vue                                                                       |   20 +
 admin/src/components/common/Menu.vue                                                                                       |   14 
 server/visits/admin_timer/src/main/java/com/doumee/api/HkDeviceTimerController.java                                        |   11 
 server/system_service/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java                                                |    4 
 admin/src/views/statistics/platformRecord.vue                                                                              |    2 
 h5/packagesMine/confirmAppointment/confirmAppointment.vue                                                                  |    2 
 server/visits/admin_timer/src/main/java/com/doumee/api/HkEmpowerTimerController.java                                       |    8 
 screen/vite.config.js                                                                                                      |    4 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitsCloudController.java                                |    2 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/InternalWebController.java                                  |    2 
 server/visits/admin_timer/src/main/java/com/doumee/api/HkSmsEmailTimerController.java                                      |    4 
 server/system_service/src/main/java/com/doumee/service/timer/QuartzJobService.java                                         |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java                                      |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java                       |   22 +
 server/visits/admin_timer/src/main/java/com/doumee/api/WxTokenTimerController.java                                         |    6 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java                               |   14 
 h5/pages/staff/meetingManager.vue                                                                                          |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java          |   10 
 server/visits/admin_timer/src/main/java/com/doumee/api/HkUsersTimerController.java                                         |   10 
 server/visits/admin_timer/src/main/java/com/doumee/api/HkVisitTimerController.java                                         |   12 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/RetentionCloudController.java                             |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java                            |    3 
 admin/src/api/platform/index.js                                                                                            |    3 
 server/system_service/src/main/java/com/doumee/core/annotation/pr/PreventRepeatInterceptor.java                            |    3 
 server/visits/admin_timer/src/main/java/com/doumee/api/InterfaceLogTimerController.java                                    |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java |   20 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/DriverPlatformController.java                               |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/DeviceService.java                                 |    2 
 server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java                                          |    3 
 server/system_timer/src/main/resources/application-dev.yml                                                                 |    6 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java                        |    5 
 server/visits/admin_timer/src/main/java/com/doumee/api/HkImageTimerController.java                                         |    4 
 admin/src/views/meeting/components/OperaBookingsWindow.vue                                                                 |    4 
 server/meeting/meeting_admin/src/main/resources/application.yml                                                            |   13 
 admin/src/views/business/deviceEvent.vue                                                                                   |   12 
 76 files changed, 496 insertions(+), 286 deletions(-)

diff --git a/README.md b/README.md
index d45964a..4cf546a 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,28 @@
-## dmvisit
+鍩虹宸ョ▼锛欵va v2.0
+瀹樼綉锛歨ttp://eva.adjustrd.com/
+鎶�鏈敮鎸丵Q缇わ細877957236
 
-璁垮绯荤粺
+1銆佸畨瑁卬acos鏈嶅姟
+2銆佹寜鐓ysql5.x
+3銆乯dk1.8瀹夎
+4銆乺edis瀹夎
+5銆乫tp瀹夎
 
+
+
+nohup java -Xms512m -Xmx512m -Xmn512m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=10018 -jar /usr/local/jars/dmvisit/openapi.jar >/usr/local/jars/dmvisit/web.log 2>/usr/local/jars/dmvisit/err.log &
+
+
+
+閲嶈锛�
+1銆佸叧浜庡缃戣闂檺鍒� 锛屽鏋滄湇鍔″櫒閲嶅惎浜嗘垨鑰呯綉鍗¢噸鍚紝杩涜涓�涓嬫搷浣滐細
+vim /etc/resolv.conf
+nameserver 鏀规垚  nameserver 202.102.192.68
+
+
+#nohup涓嶄骇鐢熸棩蹇楁枃浠跺懡浠わ細
+nohup java -jar /usr/local/jars/admin_interface.jar > /dev/null 2>&1 &
+nohup java -jar /usr/local/jars/admin_timer.jar > /dev/null 2>&1 &
+nohup java -jar /usr/local/jars/meeting_admin.jar > /dev/null 2>&1 &
+nohup java -jar /usr/local/jars/system_gateway.jar > /dev/null 2>&1 &
+nohup java -jar /usr/local/jars/system_timer.jar > /dev/null 2>&1 &
diff --git a/admin/src/api/platform/index.js b/admin/src/api/platform/index.js
index 5a5811f..c663d9c 100644
--- a/admin/src/api/platform/index.js
+++ b/admin/src/api/platform/index.js
@@ -63,6 +63,9 @@
     trim: true
   })
 }
+export function updateTotalNum (data) {
+  return request.get('/visitsAdmin/cloudService/business/platformJob/updateTotalNum?ids='+data)
+}
 // 杞﹁締鎺掗槦鎯呭喌
 export function platformLineUpPage (data) {
   return request.post('/visitsAdmin/cloudService/business/platform/platformLineUpPage', data, {
diff --git a/admin/src/components/common/Menu.vue b/admin/src/components/common/Menu.vue
index a485a10..02d55e2 100644
--- a/admin/src/components/common/Menu.vue
+++ b/admin/src/components/common/Menu.vue
@@ -106,11 +106,11 @@
     computeTableHeight () {
       this.$nextTick(() => {
         const height = window.innerHeight
-        console.log('main_app========================锛�'+height)
+        // console.log('main_app========================锛�'+height)
         const height13 = this.getEleHeghtByClassName('common-header',0)
         const height5 = document.getElementsByTagName('thead') && document.getElementsByTagName('thead')[0] ? document.getElementsByTagName('thead')[0].clientHeight : 0
         if (document.getElementsByClassName('main_app') && document.getElementsByClassName('main_app')[0]) {
-          console.log('main_app========================')
+          // console.log('main_app========================')
           // alert(height)
           const height3 = this.getEleHeghtByClassName('main-header',0)
           const height4 = this.getEleHeghtByClassName('table-pagination',0)
@@ -122,16 +122,16 @@
           const height11 = this.getEleHeghtByClassName('el-tabs-ele',0)
           const height12 = this.getEleHeghtByClassName('platgroup_tabs',0)
           this.$router.app.$store.commit('setTableHeightNew', height - height13- height3 - height5 - height6 - height2 - height7 - height4 - height9 - height10 - height11 - height12)
-          console.log('gableHeightNew', this.$router.app.$store.state.tableHeightNew)
+          // console.log('gableHeightNew', this.$router.app.$store.state.tableHeightNew)
         } else {
-          console.log('tableLayout========================')
+          // console.log('tableLayout========================')
           const height1 = this.getEleHeghtByClassName('table-search-form', 40,16)
           const height3 = this.getEleHeghtByClassName('main-header', 0)
           const height4 = this.getEleHeghtByClassName('table-pagination', 0)
           const height2 = this.getEleHeghtByClassName('toolbar', 0)
-          console.log('defualtlength', document.getElementsByClassName('table-search-form').length)
+          // console.log('defualtlength', document.getElementsByClassName('table-search-form').length)
           this.$router.app.$store.commit('setTableHeightNew', height - height4 - height3 - height2 - height1 - height5 - height13)
-          console.log('gableHeightNew', this.$router.app.$store.state.tableHeightNew)
+          // console.log('gableHeightNew', this.$router.app.$store.state.tableHeightNew)
         }
       })
     },
@@ -139,7 +139,7 @@
       if ((document.getElementsByClassName(name) && document.getElementsByClassName(name)[0])) {
         let t = 0
         document.getElementsByClassName(name).forEach(e => {
-          console.log(name+'========================' + t + ':' + e.clientHeight)
+          // console.log(name+'========================' + t + ':' + e.clientHeight)
           t++
         })
         return document.getElementsByClassName(name)[document.getElementsByClassName(name).length - 1].clientHeight+(margin||0)
diff --git a/admin/src/components/common/UploadFile.vue b/admin/src/components/common/UploadFile.vue
index 7dcad1f..bc6d804 100644
--- a/admin/src/components/common/UploadFile.vue
+++ b/admin/src/components/common/UploadFile.vue
@@ -4,14 +4,14 @@
       class="upload-demo"
       :accept="uploadData.fileTyp"
       :action="uploadImgUrl"
-      :limit="1"
+      :limit="this.fileLength"
       :on-exceed="handleExceed"
       :on-success="handleFileSuccess"
       :on-error="uploadError"
       :before-upload="beforeFileUpload"
       :file-list="fileList">
     <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
-    <div slot="tip" class="el-upload__tip">鍙兘涓婁紶{{ uploadData.fileType }}鏂囦欢锛屼笖涓嶈秴杩�5mb</div>
+    <div slot="tip" class="el-upload__tip"  >鍙兘涓婁紶{{ this.fileLength }}涓枃浠讹紝鏁伴噺瓒呰繃璇峰垹闄ゅ凡浼犻檮浠堕噸鏂颁笂浼�</div>
   </el-upload>
   </div>
 
@@ -29,22 +29,30 @@
       type: String,
     default: 'width: 190px; height: 190px;'
     },
+    fileLength:{
+      type: Number,
+      default: () => 1
+    },
     uploadData: Object
   },
   data() {
     return {
-      fileList:null,
+      fileList: [],
       uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/upload?folder='+this.uploadData.folder
     }
   },
 
   methods: {
     // 涓婁紶鍥剧墖
-    handleExceed(){},
+    handleExceed(){
+      if(this.fileList && this.fileList.length >= this.fileLength){
+        this.$message.error('鍙厑璁镐笂浼犮��'+this.fileLength+'涓檮浠躲��')
+      }
+    },
     handleFileSuccess(res, file) {
       if (res.code == 200) {
         let { data } = res
-        // this.fileList = [{name: data.originname, url: data.url }]
+        this.fileList = [{name: data.originname, url: data.url }]
         this.$message.success('涓婁紶鎴愬姛')
         this.$emit('uploadSuccess', { fileurl: data.imgaddr, fileurlFull: data.url, name: data.originname })
       } else {
@@ -56,8 +64,12 @@
       this.$message.error('涓婁紶澶辫触')
       this.$emit('uploadEnd')
     },
-    // // 鎷︽埅
+    //
     beforeFileUpload(file) {
+      if(this.fileList && this.fileList.length >= this.fileLength){
+        this.$message.error('鍙厑璁镐笂浼犮��'+this.fileLength+'w鏂囦欢銆�')
+        return false;
+      }
       this.$emit('uploadBegin')
       return true
     }
@@ -67,8 +79,9 @@
 
 <style lang="scss" scoped>
 $image-width: 100px;
+$image-height: 30px;
 .avatar-uploader {
-  width: $image-width;
+  width: 100px;
   height: $image-width;
 }
 ::v-deep .el-upload {
@@ -77,7 +90,7 @@
   cursor: pointer;
   position: relative;
   width: $image-width;
-  height: $image-width;
+  height: $image-height;
   overflow: hidden;
 }
 .avatar-uploader .el-upload:hover {
@@ -88,12 +101,12 @@
   font-size: 28px;
   color: #8c939d;
   width: $image-width;
-  height: $image-width;
+  height: $image-height;
   text-align: center;
 }
 .avatar {
   width: $image-width;
-  height: $image-width;
+  height: $image-height;
   display: block;
 }
 .tips-style {
@@ -109,15 +122,14 @@
   width: 90px !important;
   height: 90px !important;
 }
-::v-deep .el-upload-list__item {
-  width: 80% !important;
-  height: 50px !important;
-}
+
 .icon {
   -webkit-transform: translate(-50%,-50%);
   -ms-transform: translate(-50%,-50%);
   transform: translate(0%, -85%);
 }
-
+::v-deep .el-upload-list__item {
+  width: 500px !important;
+  height: 30px !important;
+}
 </style>
-
diff --git a/admin/src/components/system/dict/OperaDictDataWindow.vue b/admin/src/components/system/dict/OperaDictDataWindow.vue
index 3681a95..f51c43e 100644
--- a/admin/src/components/system/dict/OperaDictDataWindow.vue
+++ b/admin/src/components/system/dict/OperaDictDataWindow.vue
@@ -13,12 +13,21 @@
         <el-input v-model="form.label" placeholder="璇疯緭鍏ユ暟鎹爣绛�" v-trim/>
       </el-form-item>
       <el-form-item label="鏄惁瀵屾枃鏈�" prop="istext" >
-        <el-switch v-model="form.istext" :active-value="true" :inactive-value="false"/>
-        <span class="status-text">{{form.istext | disabledText1}}</span>
+        <el-radio-group v-model="form.istext">
+          <el-radio :label="0" value="0">鏂囨湰</el-radio>
+          <el-radio :label="1" value="1">鍥剧墖|鏂囦欢</el-radio>
+          <el-radio :label="2" value="2">瀵屾枃鏈�</el-radio>
+        </el-radio-group>
+<!--        <el-switch v-model="form.istext" :active-value="true" :inactive-value="false"/>
+        <span class="status-text">{{form.istext | disabledText1}}</span>-->
       </el-form-item>
       <el-form-item label="鏁版嵁鍊�" prop="code" required>
-        <el-input v-if="!form.istext" v-model="form.code" placeholder="璇疯緭鍏ユ暟鎹��" v-trim/>
-        <RichEditor v-else  :richData="form.code" :styleEditor="styleEditor" @getWangedditor="getWangedditor" :readonly="false"/>
+        <template  v-if="form.istext == 1" >
+          <UploadFile :uploadData="{ folder: 'richeditor',fileType:'' }" :fileList="fileList" @uploadSuccess="fileUploaded" />
+          <el-input  readonly v-model="form.code" placeholder="瀹屾暣鏁版嵁鍊�" v-trim/>
+        </template>
+        <RichEditor v-if="form.istext == 2"  :richData="form.code" :styleEditor="styleEditor" @getWangedditor="getWangedditor" :readonly="false"/>
+        <el-input v-if="form.istext == 0"  v-model="form.code" placeholder="璇疯緭鍏ユ暟鎹��" v-trim/>
       </el-form-item>
       <el-form-item label="鐘舵��" prop="disabled" required class="form-item-status">
         <el-switch v-model="form.disabled" :active-value="false" :inactive-value="true"/>
@@ -32,10 +41,11 @@
 import BaseOpera from '@/components/base/BaseOpera'
 import GlobalWindow from '@/components/common/GlobalWindow'
 import RichEditor from '@/components/common/RichEditor'
+import UploadFile from "@/components/common/UploadFile";
 export default {
   name: 'OperaDictDataWindow',
   extends: BaseOpera,
-  components: { GlobalWindow,RichEditor },
+  components: {UploadFile, GlobalWindow,RichEditor },
   data () {
     return {
       // 琛ㄥ崟鏁版嵁
@@ -46,9 +56,10 @@
         code: '',
         label: '',
         disabled: false,
-        istext: false,
-        remark:''
+        istext: 0,
+        remark: ''
       },
+      fileList: [],
       // 楠岃瘉瑙勫垯
       rules: {
         label: [
@@ -61,6 +72,9 @@
     }
   },
   methods: {
+    fileUploaded(data){
+      this.form.code = data.fileurlFull
+    },
     getWangedditor(val){
       this.form.code =val
     },
@@ -72,13 +86,15 @@
     open (title, dictId, target) {
       this.title = title
       this.visible = true
+
+      this.form.istext = 0
       // 鏂板缓
       if (target == null) {
         this.$nextTick(() => {
           this.$refs.form.resetFields()
           this.form.id = null
           this.form.dictId = dictId
-          this.form.istext=false
+          this.form.istext=0
         })
         return
       }
@@ -87,7 +103,7 @@
         for (const key in this.form) {
           this.form[key] = target[key]
           this.form.dictId = dictId
-          this.form.istext=false
+          this.form.istext = 0
         }
       })
     }
diff --git a/admin/src/router/index.js b/admin/src/router/index.js
index 3d06d31..e94e5e1 100644
--- a/admin/src/router/index.js
+++ b/admin/src/router/index.js
@@ -125,7 +125,7 @@
     const height11 = getEleHeghtByClassName('el-tabs-ele', 0)
     const height12 = getEleHeghtByClassName('platgroup_tabs', 0,20)
     router.app.$store.commit('setTableHeightNew', height -10 - height2 - height3 - height4 - height5 - height6 - height7 - height9 - height10 - height11 - height12 - height13)
-    console.log('gableHeightNew', router.app.$store.state.tableHeightNew)
+    // console.log('gableHeightNew', router.app.$store.state.tableHeightNew)
   } else {
     // console.log('tableLayout========================')
     const height1 = getEleHeghtByClassName('table-search-form', 40, 16)
@@ -134,7 +134,7 @@
     const height2 = getEleHeghtByClassName('toolbar', 0)
     console.log('defualtlength', document.getElementsByClassName('table-search-form').length)
     router.app.$store.commit('setTableHeightNew', height - height4 - height3 - height2 - height1 - height5 - height13)
-    console.log('gableHeightNew', router.app.$store.state.tableHeightNew)
+    // console.log('gableHeightNew', router.app.$store.state.tableHeightNew)
   }
 }
 
diff --git a/admin/src/views/business/deviceEvent.vue b/admin/src/views/business/deviceEvent.vue
index 4e743b0..d86b88f 100644
--- a/admin/src/views/business/deviceEvent.vue
+++ b/admin/src/views/business/deviceEvent.vue
@@ -28,6 +28,9 @@
             <el-option label="浜鸿劯璁よ瘉閫氳繃" value="196893"></el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="闂ㄧ鐐�" prop="srcName">
+          <el-input v-model="searchForm.srcName" placeholder="璇疯緭鍏ラ棬绂佺偣" @keypress.enter.native="search"></el-input>
+        </el-form-item>
         <el-form-item label="璧锋鏃堕棿" prop="eventType">
           <!-- <el-date-picker @change="seleTime" v-model="time" type="datetimerange" format="yyyy-MM-dd HH:mm:ss"
             value-format="yyyy-MM-dd HH:mm:ss" range-separator="鑷�" start-placeholder="寮�濮嬫椂闂�" end-placeholder="缁撴潫鏃堕棿">
@@ -52,9 +55,7 @@
     <!-- 琛ㄦ牸鍜屽垎椤� -->
     <template v-slot:table-wrap>
       <ul class="toolbar" v-permissions="['business:deviceevent:exportExcel']">
-        <!--
                 <li><el-button type="primary" :loading="isWorking.export" v-permissions="['business:deviceevent:exportExcel']" @click="exportExcel">瀵煎嚭</el-button></li>
--->
       </ul>
       <el-table :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe>
         <!-- <el-table-column prop="userType" label="浜哄憳绫诲瀷" min-width="100px">
@@ -88,9 +89,7 @@
         </el-table-column>
         <el-table-column label="鎶撴媿鐓х墖" min-width="100px">
           <template slot-scope="{row}">
-            <el-image v-if="row.extEventPictureURL" style="width: 80px; height: 80px" :src="row.extEventPictureURL"
-              :preview-src-list="[row.extEventPictureURL]">
-            </el-image>
+            <el-image v-if="row.extEventPictureURL" style="width: 80px; height: 80px" :src="row.extEventPictureURL" :preview-src-list="[row.extEventPictureURL]">  </el-image>
           </template>
         </el-table-column>
       </el-table>
@@ -119,7 +118,8 @@
         eventType: '',
         startTime: '',
         endTime: '',
-        radio: 0
+        radio: 0,
+        srcName: ''
       },
       time: []
     }
diff --git a/admin/src/views/business/visits.vue b/admin/src/views/business/visits.vue
index e70dc07..87bfc92 100644
--- a/admin/src/views/business/visits.vue
+++ b/admin/src/views/business/visits.vue
@@ -97,6 +97,12 @@
             <span v-if="row.status === 9" style="color: gray">宸插け鏁�</span>
           </template>
         </el-table-column>
+        <el-table-column label="鍦ㄥ洯鐘舵��" min-width="100px">
+          <template slot-scope="{row}">
+            <span v-if="row.status == 7 && row.retentionNum && row.retentionNum >0 ">鏄�</span>
+            <span v-else >鍚�</span>
+          </template>
+        </el-table-column>
         <el-table-column prop="remark" label="涓嬪彂澶囨敞" min-width="100px"></el-table-column>
         <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" min-width="170px"></el-table-column>
         <el-table-column   label="鎿嶄綔"
diff --git a/admin/src/views/meeting/bookings.vue b/admin/src/views/meeting/bookings.vue
index 6f7de89..6f44d68 100644
--- a/admin/src/views/meeting/bookings.vue
+++ b/admin/src/views/meeting/bookings.vue
@@ -93,8 +93,8 @@
             <!-- {{ row.status==0 ? '姝e父' : '鍙栨秷' }} -->
           </template>
         </el-table-column>
+        <el-table-column prop="remark" label="浼氳闇�姹�" align="center" min-width="100px"></el-table-column>
         <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" align="center" min-width="150px"></el-table-column>
-        <!-- <el-table-column prop="content" label="浼氳鍐呭" min-width="100px"></el-table-column> -->
         <el-table-column v-if="
           containPermissions([
             'business:bookings:update',
diff --git a/admin/src/views/meeting/components/OperaBookingsDetailWindow.vue b/admin/src/views/meeting/components/OperaBookingsDetailWindow.vue
index 602fa6b..d43d023 100644
--- a/admin/src/views/meeting/components/OperaBookingsDetailWindow.vue
+++ b/admin/src/views/meeting/components/OperaBookingsDetailWindow.vue
@@ -21,6 +21,10 @@
         <div class="item-title">浼氳鍐呭</div>
         <div class="item-value">{{ form.content || "鏃�" }}</div>
       </div>
+      <div class="item">
+        <div class="item-title">浼氳闇�姹�</div>
+        <div class="item-value">{{ form.remark || "鏃�" }}</div>
+      </div>
       <div v-if="form.projectList && form.projectList.length" class="item">
         <div class="">鏈嶅姟椤�</div>
         <div class="item-value">
diff --git a/admin/src/views/meeting/components/OperaBookingsWindow.vue b/admin/src/views/meeting/components/OperaBookingsWindow.vue
index 0431450..70f7c03 100644
--- a/admin/src/views/meeting/components/OperaBookingsWindow.vue
+++ b/admin/src/views/meeting/components/OperaBookingsWindow.vue
@@ -53,8 +53,8 @@
           <FileLink :links="form.fileList" linkName="fileFullUrl" />
         </div>
       </el-form-item>
-      <el-form-item label="浼氳澶囨敞" prop="remark">
-        <el-input type="textarea" v-model="form.remark" placeholder="璇疯緭鍏ヤ細璁娉�" v-trim />
+      <el-form-item label="浼氳闇�姹�" prop="remark">
+        <el-input type="textarea" v-model="form.remark" placeholder="璇疯緭鍏ヤ細璁渶姹�" v-trim />
       </el-form-item>
       <input type="file" @change="upFiles" ref="upFile" style="display: none;" />
     </el-form>
diff --git a/admin/src/views/platform/LogisticsRecord/waybill.vue b/admin/src/views/platform/LogisticsRecord/waybill.vue
index 779d9c7..f40ad7f 100644
--- a/admin/src/views/platform/LogisticsRecord/waybill.vue
+++ b/admin/src/views/platform/LogisticsRecord/waybill.vue
@@ -14,11 +14,13 @@
       <el-button type="primary" @click="complete(ids)">瀹屾垚浣滀笟</el-button>
       <el-button :loading="exLoading" @click="handleEx"
         v-permissions="['business:platformjob:exportExcel']">瀵煎嚭</el-button>
+      <el-button :loading="updateLoading" @click="updateTotalNum"
+        v-permissions="['business:platformjob:updateTotalNum']">閲嶇疆鎬讳綔涓氶噺</el-button>
     </div>
     <el-table :height="tableHeightNew" v-loading="loading" :data="list" @selection-change="handleSelectionChange" stripe>
       <el-table-column type="selection" width="55"></el-table-column>
       <el-table-column prop="billCode" label="杩愬崟鍙�" min-width="100" show-overflow-tooltip />
-      <el-table-column prop="totalNum" label="鎬讳綔涓氶噺锛堜竾鍙級" min-width="130" show-overflow-tooltip />
+      <el-table-column prop="totalNum" label="鎬讳綔涓氶噺锛堜竾鏀級" min-width="130" show-overflow-tooltip />
       <el-table-column prop="carCodeFront" label="杞︾墝鍓嶇収鍙�" min-width="100" show-overflow-tooltip />
       <!-- <el-table-column prop="carCodeBack" label="杞︾墝鍚庣収鍙�" min-width="100" show-overflow-tooltip /> -->
       <el-table-column prop="taskOrigin" label="浠诲姟鏉ユ簮" min-width="100" show-overflow-tooltip />
@@ -66,7 +68,7 @@
 <script>
 import Pagination from '@/components/common/Pagination'
 import QueryForm from '@/components/common/QueryForm'
-import { platformJobPage, platformJobExport, platformJobDel, dealJobFinish } from '@/api'
+import { platformJobPage, platformJobExport, platformJobDel, dealJobFinish ,updateTotalNum} from '@/api'
 import { statusMap } from '../config'
 import WaybillDetailRef from "../components/WaybillDetail.vue"
 import GlobalWindow from '@/components/common/GlobalWindow'
@@ -88,6 +90,7 @@
       statusMap,
       isShowDetail: false,
       exLoading: false,
+      updateLoading: false,
       loading: false,
       pagination: {
         pageSize: 10,
@@ -268,6 +271,19 @@
             })
         })
     },
+    updateTotalNum() {
+      this.$dialog.actionConfirm('纭杩涜璇ユ搷浣滃悧锛�','鎿嶄綔鎻愮ず')
+        .then(() => {
+          this.updateLoading = true
+          updateTotalNum('')
+            .catch(e => {
+              this.$tip.apiFailed(e)
+            })
+            .finally(() => {
+              this.updateLoading = false
+            })
+        })
+    },
     clear() {
       this.pagination.page = 1
       this.filters = {}
diff --git a/admin/src/views/statistics/platformRecord.vue b/admin/src/views/statistics/platformRecord.vue
index 6c36e50..3901acd 100644
--- a/admin/src/views/statistics/platformRecord.vue
+++ b/admin/src/views/statistics/platformRecord.vue
@@ -30,7 +30,7 @@
           <span>{{ scope.row.billCode || scope.row.contractNum }}</span>
         </template>
       </el-table-column>
-      <el-table-column prop="totalNum" label="鎬讳綔涓氶噺(涓囧彧)" min-width="100" show-overflow-tooltip />
+      <el-table-column prop="totalNum" label="鎬讳綔涓氶噺(涓囨敮)" min-width="100" show-overflow-tooltip />
     </el-table>
     <div class="mt20">
       <Pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" />
diff --git a/h5/packagesMine/confirmAppointment/confirmAppointment.vue b/h5/packagesMine/confirmAppointment/confirmAppointment.vue
index 448fbe3..c19ed1a 100644
--- a/h5/packagesMine/confirmAppointment/confirmAppointment.vue
+++ b/h5/packagesMine/confirmAppointment/confirmAppointment.vue
@@ -97,7 +97,7 @@
 			</view>
 			<view class="confirm_b_item">
 				<view class="label">
-					<text>澶囨敞</text>
+					<text>浼氳闇�姹�</text>
 				</view>
 				<view class="input">
 					<textarea
diff --git a/h5/pages/staff/meetingCalendar.vue b/h5/pages/staff/meetingCalendar.vue
index 5646185..d516073 100644
--- a/h5/pages/staff/meetingCalendar.vue
+++ b/h5/pages/staff/meetingCalendar.vue
@@ -89,7 +89,7 @@
               <view class="value">{{ item.bookingUser }}</view>
             </view>
             <view class="line">
-              <view class="label">澶囨敞锛�</view>
+              <view class="label">浼氳闇�姹傦細</view>
               <view class="value">{{ item.remark || item.meetingRemark }}</view>
             </view>
           </view>
diff --git a/h5/pages/staff/meetingManager.vue b/h5/pages/staff/meetingManager.vue
index 0c68958..9d6dfdd 100644
--- a/h5/pages/staff/meetingManager.vue
+++ b/h5/pages/staff/meetingManager.vue
@@ -70,7 +70,7 @@
               <view class="value">{{ item.bookingUser }}</view>
             </view>
             <view class="line">
-              <view class="label">澶囨敞锛�</view>
+              <view class="label">浼氳闇�姹傦細</view>
               <view class="value">{{ item.remark || item.meetingRemark }}</view>
             </view>
           </view>
diff --git a/h5/pages/staff/meetingSubOrder.vue b/h5/pages/staff/meetingSubOrder.vue
index 25526ef..3237426 100644
--- a/h5/pages/staff/meetingSubOrder.vue
+++ b/h5/pages/staff/meetingSubOrder.vue
@@ -85,7 +85,7 @@
 			</view>
 			<view class="item">
 				<view class="name">
-					<text>澶囨敞</text>
+					<text>浼氳闇�姹�</text>
 				</view>
 				<view class="line">
 					<u-textarea  border="none" autoHeight v-model="param.remark" :maxlength="-1" placeholder="璇疯緭鍏�" placeholder-class="placeholder9"
diff --git a/screen/src/views/LogisticsEfficiency.vue b/screen/src/views/LogisticsEfficiency.vue
index 5a96827..44af195 100644
--- a/screen/src/views/LogisticsEfficiency.vue
+++ b/screen/src/views/LogisticsEfficiency.vue
@@ -17,7 +17,7 @@
             <div class="com_header">
               <div class="title">
                 <img src="@/assets/images/ic_title@2x.png" class="icon" alt="" />
-                <div>绱鍑哄簱閲忕粺璁★紙涓囧彧锛�</div>
+                <div>绱鍑哄簱閲忕粺璁★紙涓囨敮锛�</div>
               </div>
               <div class="tabs">
                 <div class="tab" :class="{ active: activeTab1 == 0 }" @click="tabClick1(0)">鏈湀</div>
diff --git a/screen/vite.config.js b/screen/vite.config.js
index 31658b3..ff40646 100644
--- a/screen/vite.config.js
+++ b/screen/vite.config.js
@@ -26,8 +26,8 @@
     proxy: {
       "/gateway_interface": {
         // target: "http://192.168.0.104:10010",
-        target: "http://10.50.250.253:8088/gateway_interface",
-        // target: "https://atwl.ahzyssl.com/zhyq_interface",
+        // target: "http://10.50.250.253:8088/gateway_interface",
+        target: "https://atwl.ahzyssl.com/zhyq_interface",
         changeOrigin: true,
         rewrite: (path) => path.replace(/^\/gateway_interface/, ""),
       },
diff --git a/server/README.md b/server/README.md
index 4cf546a..9ce3c01 100644
--- a/server/README.md
+++ b/server/README.md
@@ -1,28 +1,2 @@
 鍩虹宸ョ▼锛欵va v2.0
-瀹樼綉锛歨ttp://eva.adjustrd.com/
-鎶�鏈敮鎸丵Q缇わ細877957236
-
-1銆佸畨瑁卬acos鏈嶅姟
-2銆佹寜鐓ysql5.x
-3銆乯dk1.8瀹夎
-4銆乺edis瀹夎
-5銆乫tp瀹夎
-
-
-
-nohup java -Xms512m -Xmx512m -Xmn512m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=10018 -jar /usr/local/jars/dmvisit/openapi.jar >/usr/local/jars/dmvisit/web.log 2>/usr/local/jars/dmvisit/err.log &
-
-
-
-閲嶈锛�
-1銆佸叧浜庡缃戣闂檺鍒� 锛屽鏋滄湇鍔″櫒閲嶅惎浜嗘垨鑰呯綉鍗¢噸鍚紝杩涜涓�涓嬫搷浣滐細
-vim /etc/resolv.conf
-nameserver 鏀规垚  nameserver 202.102.192.68
-
-
-#nohup涓嶄骇鐢熸棩蹇楁枃浠跺懡浠わ細
-nohup java -jar /usr/local/jars/admin_interface.jar > /dev/null 2>&1 &
-nohup java -jar /usr/local/jars/admin_timer.jar > /dev/null 2>&1 &
-nohup java -jar /usr/local/jars/meeting_admin.jar > /dev/null 2>&1 &
-nohup java -jar /usr/local/jars/system_gateway.jar > /dev/null 2>&1 &
-nohup java -jar /usr/local/jars/system_timer.jar > /dev/null 2>&1 &
+ 
\ No newline at end of file
diff --git a/server/meeting/meeting_admin/src/main/resources/application.yml b/server/meeting/meeting_admin/src/main/resources/application.yml
index c3ba03a..7196155 100644
--- a/server/meeting/meeting_admin/src/main/resources/application.yml
+++ b/server/meeting/meeting_admin/src/main/resources/application.yml
@@ -68,4 +68,15 @@
     max-swallow-size: -1
   servlet:
     session:
-      timeout: PT3H  #琛ㄧず12灏忔椂
\ No newline at end of file
+      timeout: PT3H  #琛ㄧず12灏忔椂
+
+auth:
+  jwt:
+    enabled: true   #鏄惁寮�鍚疛WT鐧诲綍璁よ瘉鍔熻兘
+    secret: fjkfaf;afa  # JWT绉侀挜锛岀敤浜庢牎楠孞WT浠ょ墝鐨勫悎娉曟��
+    expiration: 1800000 #JWT浠ょ墝鐨勬湁鏁堟湡锛岀敤浜庢牎楠孞WT浠ょ墝鐨勫悎娉曟��
+    #    expiration: 300000 #JWT浠ょ墝鐨勬湁鏁堟湡锛岀敤浜庢牎楠孞WT浠ょ墝鐨勫悎娉曟��
+    header: JWTHeaderName #HTTP璇锋眰鐨凥eader鍚嶇О锛岃Header浣滀负鍙傛暟浼犻�扟WT浠ょ墝
+    userParamName: username  #鐢ㄦ埛鐧诲綍璁よ瘉鐢ㄦ埛鍚嶅弬鏁板悕绉�
+    pwdParamName: password  #鐢ㄦ埛鐧诲綍璁よ瘉瀵嗙爜鍙傛暟鍚嶇О
+    useDefaultController: true # 鏄惁浣跨敤榛樿鐨凧wtAuthController
\ No newline at end of file
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 5e97dc8..4ae6fe8 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
@@ -43,6 +43,7 @@
     private Integer isdeleted;
 
     @ApiModelProperty(value = "澶囨敞")
+    @ExcelColumn(name="浼氳闇�姹�",index = 7,width = 10)
     private String remark;
 
     @ApiModelProperty(value = "浼氳涓婚")
diff --git a/server/startsh/DBbackup.sh b/server/startsh/DBbackup.sh
index ad057d2..7c45ec9 100644
--- a/server/startsh/DBbackup.sh
+++ b/server/startsh/DBbackup.sh
@@ -1,6 +1,5 @@
 #!/bin/bash
 /usr/local/mysql/bin/mysqldump -h127.0.0.1 -uroot -pAtwl@2024 antaiwuliu > /usr/local/jars/dbbackup/antaiwuliu_$(date +%Y%m%d).sql
-
 # 鍒犻櫎7澶╁墠鐨勫浠芥暟鎹�
 find /usr/local/jars/dbbackup -name "antaiwuliu_*.sql" -type f -mtime +7 -exec rm {} \; > /dev/null 2>&1
 
diff --git a/server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java b/server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java
index b47e8d0..4751b64 100644
--- a/server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java
+++ b/server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java
@@ -252,8 +252,6 @@
         return ApiResponse.success(null);
 
     }
-
-
     @PostMapping("/logoutForH5")
     @ApiOperation("閫�鍑虹櫥闄�")
     public ApiResponse<String> logoutForH5(@RequestHeader(Constants.HEADER_USER_TOKEN) String oldToken){
@@ -265,7 +263,6 @@
             return ApiResponse.failed(ResponseStatus.SERVER_ERROR);
         }
         return ApiResponse.success(null);
-
     }
 
 
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 b335103..ffe898e 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
@@ -1,6 +1,7 @@
 package com.doumee.api;
 
 import com.alibaba.fastjson.JSONObject;
+import com.doumee.config.jwt.JwtTokenUtil;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
 import com.doumee.service.business.third.model.LoginUserInfo;
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 16072d0..8048f43 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
@@ -9,6 +9,7 @@
 import com.doumee.core.exception.BusinessException;
 import com.doumee.service.business.third.model.LoginUserInfo;
 import com.doumee.core.utils.Constants;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.web.method.HandlerMethod;
@@ -26,11 +27,19 @@
 import java.util.*;
 import java.util.concurrent.TimeUnit;
 
+@Slf4j
 public class LoginHandlerInterceptor implements HandlerInterceptor {
 
     private RedisTemplate<String,Object> stringRedisTemplate;
     private long expireTime;
 
+    public long getExpireTime() {
+        return expireTime;
+    }
+
+    public void setExpireTime(long expireTime) {
+        this.expireTime = expireTime;
+    }
 
     // 鐢变簬璇ョ被鏈氦缁檚pring绠$悊锛屽洜姝や笉鑳戒娇鐢ㄨ嚜鍔ㄨ閰嶇殑鏂瑰紡鑾峰彇RedisTemplate瀵硅薄
     public LoginHandlerInterceptor(RedisTemplate<String,Object> stringRedisTemplate,long expireTime) {
@@ -134,7 +143,8 @@
         if(user ==null ){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛鐧婚檰宸插け鏁堬紝璇烽噸鏂扮櫥闄嗭紒");
         }
-        stringRedisTemplate.expire(Constants.REDIS_TOKEN_KEY+token,this.expireTime, TimeUnit.MILLISECONDS);
+        log.error("=========寮�濮嬪埛鏂皌oken鏈夋晥鏈�:"+token+"======time:"+this.getExpireTime());
+        stringRedisTemplate.expire(Constants.REDIS_TOKEN_KEY+token,this.getExpireTime(), TimeUnit.MILLISECONDS);
         //鏉冮檺鍒ゆ柇------------
         return  user;
     }
diff --git a/server/system_service/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java b/server/system_service/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java
index bd8d38a..30882e7 100644
--- a/server/system_service/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java
+++ b/server/system_service/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java
@@ -229,6 +229,7 @@
         try {
             String userInfo = (String) redisTemplate.opsForValue().get(Constants.REDIS_TOKEN_KEY+token);
             claims = JSONObject.toJavaObject(JSONObject.parseObject(userInfo),LoginUserInfo.class);
+            refreshToken(token);
         } catch (Exception e) {
             claims = null;
         }
@@ -239,9 +240,10 @@
      * 鍚戝悗寤朵几鏈夋晥鏈熶繚鎸佷細璇濈户缁�
      * @param token
      */
-
     public void refreshTokenTime(String token ) {
+        log.error("===============寮�濮嬪埛鏂扮櫥褰晅oken"+token);
         redisTemplate.expire(Constants.REDIS_TOKEN_KEY+token,jwtProperties.getExpiration(), TimeUnit.MILLISECONDS);
+        log.error("===============缁撴潫鍒锋柊鐧诲綍token"+token);
 //        redisTemplate.opsForValue().set(Constants.REDIS_TOKEN_KEY+token,usrerInfo,jwtProperties.getExpiration(), TimeUnit.MILLISECONDS);
     }
 }
\ No newline at end of file
diff --git a/server/system_service/src/main/java/com/doumee/core/annotation/pr/PreventRepeatInterceptor.java b/server/system_service/src/main/java/com/doumee/core/annotation/pr/PreventRepeatInterceptor.java
index 1e1ccad..fe0703c 100644
--- a/server/system_service/src/main/java/com/doumee/core/annotation/pr/PreventRepeatInterceptor.java
+++ b/server/system_service/src/main/java/com/doumee/core/annotation/pr/PreventRepeatInterceptor.java
@@ -42,7 +42,8 @@
             // 鑾峰彇楠岃瘉瀵硅薄鍜屾柟娉�
             PreventRepeatAdapter adapter = (PreventRepeatAdapter)applicationContext.getBean(prAnnotation.value());
             // 楠岃瘉鏆村姏璇锋眰
-            if(prAnnotation.limit() > 0 && prAnnotation.lockTime() > 0 && adapter.massive(request, prAnnotation.limit(), prAnnotation.lockTime())) {
+            if(prAnnotation.limit() > 0 && prAnnotation.lockTime() > 0
+                    && adapter.massive(request, prAnnotation.limit(), prAnnotation.lockTime())) {
                 log.warn("Eva Intercept a massive request锛寀rl锛歿}", request.getRequestURI());
                 response.setHeader("content-type", "application/json;charset=UTF-8");
                 ApiResponse apiResponse = ApiResponse.failed(ResponseStatus.MASSIVE_REQUEST);
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 562139b..930302a 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
@@ -66,7 +66,7 @@
         int flag = quartzJobMapper.updateById(quartzJob);
         if (flag > 0){
             quartzManage.updateJob(quartzJob);
-        }
+    }
         return flag ;
     }
 
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 e4f8ab8..7db16b1 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
@@ -4,7 +4,8 @@
 import io.swagger.annotations.ApiOperation;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.stereotype.Component;
-import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 
 /**
  * @author jiangping
@@ -14,89 +15,89 @@
 public interface VisitServiceFegin {
 
     @ApiOperation("銆愯瀹㈢郴缁熴�戝畾鏃舵煡璇汉鍛樿澶囨巿鏉冪粨鏋�")
-    @GetMapping("/timer/empower/syncEmpowerDetailData")
+    @PostMapping("/timer/empower/syncEmpowerDetailData")
     ApiResponse syncEmpowerDetailData();
     @ApiOperation("銆愯瀹㈢郴缁熴�戝畾鏃舵煡璇汉鍛樿澶囨巿鏉冧笅杞借繘搴�")
-    @GetMapping("/timer/empower/syncEmpowerResultData")
+    @PostMapping("/timer/empower/syncEmpowerResultData")
     ApiResponse syncEmpowerResultData();
     @ApiOperation("銆愯瀹㈢郴缁熴�戝畾鏃堕噸鏂颁笅鍙戝け璐ョ殑鎺堟潈鏁版嵁")
-    @GetMapping("/timeempowerr/syncEmpowerFailData")
+    @PostMapping("/timeempowerr/syncEmpowerFailData")
      ApiResponse syncEmpowerFailData();
     @ApiOperation("銆愯瀹㈢郴缁熴�戝畾鏃跺埛鏂颁汉鍛樿澶囨巿鏉�")
-    @GetMapping("/timer/empower/syncEmpowerData")
+    @PostMapping("/timer/empower/syncEmpowerData")
      ApiResponse syncEmpowerData();
     @ApiOperation("銆愯瀹㈢郴缁熴�戝畾鏃舵煡璇㈣澶囩姸鎬�")
-    @GetMapping("/timer/device/getAscDeviceStatus")
+    @PostMapping("/timer/device/getAscDeviceStatus")
     ApiResponse getAscDeviceStatus() ;
     @ApiOperation("銆愯瀹㈢郴缁熴�戣缃叏閮↙ED灞忔樉鍐呭涓洪粯璁ゅ唴瀹�")
-    @GetMapping("/timer/device/setAllLedDefualtContent")
-     ApiResponse setAllLedDefualtContent() ;
+    @PostMapping("/timer/device/allLedDefualtContent")
+    ApiResponse allLedDefualtContent();
     @ApiOperation("銆愯瀹㈢郴缁熴�戝畾鏃跺浠芥暟鎹簱")
-    @GetMapping("/timer/db/backupDatabase")
+    @PostMapping("/timer/db/backupDatabase")
      ApiResponse backupDatabase() ;
     @ApiOperation("銆愯瀹㈢郴缁熴�戝畾鏃舵煡璇㈡湀鍙扮姸鎬�")
-    @GetMapping("/timer/platform/getPlatformStatus")
+    @PostMapping("/timer/platform/getPlatformStatus")
      ApiResponse getPlatformStatus() ;
     @ApiOperation("銆愯瀹㈢郴缁熴�戝畾鏃朵笅杞芥捣搴风郴缁熷浘鐗囨暟鎹�")
-    @GetMapping("/timer/image/downHKImgs")
+    @PostMapping("/timer/image/downHKImgs")
      ApiResponse downHKImgs();
     @ApiOperation("銆愯瀹㈢郴缁熴�戝畾鏃舵帴鍙f棩蹇楁竻鐞�")
-    @GetMapping("/timer/log/clearThreeMonthLog")
+    @PostMapping("/timer/log/clearThreeMonthLog")
      ApiResponse clearThreeMonthLog();
     @ApiOperation("銆愯瀹㈢郴缁熴�戝畾鏃惰溅杈嗗寘鏈熸巿鏉�")
-    @GetMapping("/timer/park/syncParkBookData")
+    @PostMapping("/timer/park/syncParkBookData")
      ApiResponse syncParkBookData();
     @ApiOperation("銆愯瀹㈢郴缁熴�戝畾鏃舵煡璇㈣溅杈嗘煡璇�")
-    @GetMapping("/timer/park/syncVehicleUpdateData")
+    @PostMapping("/timer/park/syncVehicleUpdateData")
      ApiResponse syncVehicleUpdateData() ;
     @ApiOperation("銆愯瀹㈢郴缁熴�戝畾鏃跺悓姝ユ捣搴风粍缁囨暟鎹�")
-    @GetMapping("/timer/orguser/syncOrgData")
+    @PostMapping("/timer/orguser/syncOrgData")
      ApiResponse syncOrgData() ;
     @ApiOperation("銆愯瀹㈢郴缁熴�戝畾鏃堕噸鏂颁笅鍙戝垹闄や汉鍛樻暟鎹�")
-    @GetMapping("/timer/orguser/syncMemberDelData")
+    @PostMapping("/timer/orguser/syncMemberDelData")
      ApiResponse syncMemberDelData() ;
     @ApiOperation("銆愯瀹㈢郴缁熴�戝畾鏃跺悓姝ユ捣搴蜂汉鍛樻暟鎹�")
-    @GetMapping("/timer/orguser/syncUserData")
+    @PostMapping("/timer/orguser/syncUserData")
      ApiResponse syncUserData();
     @ApiOperation("銆愯瀹㈢郴缁熴�戝畾鏃跺喕缁撲汉鍛�")
-    @GetMapping("/timer/orguser/memberFreeze")
+    @PostMapping("/timer/orguser/memberFreeze")
      ApiResponse memberFreeze();
     @ApiOperation("銆愯瀹㈢郴缁熴�戝畾鏃朵笅鍙戣瀹㈤绾︾敵璇�")
-    @GetMapping("/timer/visit/syncVisitData")
+    @PostMapping("/timer/visit/syncVisitData")
      ApiResponse syncVisitData() ;
     @ApiOperation("銆愯瀹㈢郴缁熴�戝畾鏃舵煡璇㈣瀹㈤绾︾姸鎬�")
-    @GetMapping("/timer/visit/getOutTimeVisitRecord")
+    @PostMapping("/timer/visit/getOutTimeVisitRecord")
      ApiResponse getOutTimeVisitRecord();
     @ApiOperation("銆愯瀹㈢郴缁熴�戝畾鏃朵粖鏃ョ殑璁垮棰勭害鏁版嵁")
-    @GetMapping("/timer/visit/syncVistAppointData")
+    @PostMapping("/timer/visit/syncVistAppointData")
     ApiResponse syncVistAppointData() ;
 //    @ApiOperation("銆愯瀹㈢郴缁熴�戝畾鏃舵洿鏂板井淇″叕浼楀彿accesstoken")
-//    @GetMapping("/timer/wxtoken/updateWxAccessToken")
+//    @PostMapping("/timer/wxtoken/updateWxAccessToken")
 //    ApiResponse updateWxAccessToken();
     @ApiOperation("銆愯瀹㈢郴缁熴�戣瀹㈡暟鎹嵆灏嗚秴鏃堕璀�")
-    @GetMapping("/timer/visit/visitTimeOut")
+    @PostMapping("/timer/visit/visitTimeOut")
     ApiResponse visitTimeOut() ;
     @ApiOperation("銆愯瀹㈢郴缁熴�戣瀹㈢敵璇峰緟瀹℃壒璁板綍鎴鏃堕棿宸茶繃鑷姩鍙栨秷棰勭害")
-    @GetMapping("/timer/visit/visitNoCheckCancel")
+    @PostMapping("/timer/visit/visitNoCheckCancel")
     ApiResponse visitNoCheckCancel() ;
     @ApiOperation("銆愭暟瀛楀寲鏈堝彴銆戞湀鍙板仠闈犺秴鏃舵姤璀︿笟鍔�")
-    @GetMapping("/timer/platformJob/platformJobTimer")
+    @PostMapping("/timer/platformJob/platformJobTimer")
     ApiResponse platformJobTimer();
     @ApiOperation("銆愭暟瀛楀寲鏈堝彴銆戞湀鍙版鏌ョ數瀛愰攣涓婇攣鐘舵��")
-    @GetMapping("/timer/platformJob/platformCheckWmsLockStatus")
+    @PostMapping("/timer/platformJob/platformCheckWmsLockStatus")
     ApiResponse platformCheckWmsLockStatusTimer();
     @ApiOperation("銆愭暟瀛楀寲鏈堝彴銆戞湀鍙颁綔涓氳秴鏃舵姤璀︿笟鍔�")
-    @GetMapping("/timer/platformJob/platformJobWorkTimeOut")
+    @PostMapping("/timer/platformJob/platformJobWorkTimeOut")
     ApiResponse platformJobWorkTimeOut();
     @ApiOperation("銆愭暟瀛楀寲鏈堝彴銆戞湀鍙扮瓑寰呬綔涓氳秴鏃朵笟鍔�")
-    @GetMapping("/timer/platformJob/platformJobWaitTimeOut")
+    @PostMapping("/timer/platformJob/platformJobWaitTimeOut")
     ApiResponse platformJobWaitTimeOut();
     @ApiOperation("銆愮煭淇¢�氱煡銆戝畾鏃跺彂閫佺瓑寰呯煭淇′换鍔�")
-    @GetMapping("/timer/sms/sendWaitingSmsNotice")
+    @PostMapping("/timer/sms/sendWaitingSmsNotice")
     ApiResponse sendWaitingSmsNotice();
 
     @ApiOperation("銆愭暟瀛楀寲鏈堝彴銆戞湀鍙颁粖鏃ヤ綔涓氭湭瀹屾垚閫氱煡瀹氭椂")
-    @GetMapping("/timer/platformJob/sendUnFinishNotice")
+    @PostMapping("/timer/platformJob/sendUnFinishNotice")
     ApiResponse sendUnFinishNotice();
 
 
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 9fcb389..3ec392b 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
@@ -5,6 +5,7 @@
 import com.doumee.dao.timer.entity.QuartzJob;
 import com.doumee.dao.timer.mapper.QuartzJobMapper;
 import com.doumee.dao.timer.scheduler.QuartzManage;
+import lombok.extern.slf4j.Slf4j;
 import org.quartz.CronTrigger;
 import org.springframework.stereotype.Service;
 
@@ -13,6 +14,7 @@
 import java.util.List;
 import java.util.Objects;
 @Service
+@Slf4j
 public class TimerBizSevice {
     @Resource
     private QuartzJobMapper quartzJobMapper ;
@@ -23,11 +25,13 @@
      */
     @PostConstruct
     public void init () {
+            log.error("================鎵ц"+System.currentTimeMillis());
             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 {
+                    log.error("================鎵ц"+quartzJob.getId());
                     CronTrigger cronTrigger = quartzManage.getCronTrigger(quartzJob.getId()) ;
                     if (Objects.isNull(cronTrigger)){
                         quartzManage.createJob(quartzJob);
@@ -35,6 +39,7 @@
                         quartzManage.updateJob(quartzJob);
                     }
                 }catch (Exception e){
+//                    log.error("================鎵ц"+quartzJob.getId());
                     e.printStackTrace();
                 }
             });
diff --git a/server/system_timer/src/main/resources/application-dev.yml b/server/system_timer/src/main/resources/application-dev.yml
index 648aa21..6847d76 100644
--- a/server/system_timer/src/main/resources/application-dev.yml
+++ b/server/system_timer/src/main/resources/application-dev.yml
@@ -1,9 +1,9 @@
 spring:
   # 鏁版嵁婧愰厤缃�
   datasource:
-    url: jdbc:mysql://sh-cdb-aiskr3vy.sql.tencentcdb.com:62443/antaiwuliu?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
-    username: doumee
-    password: rtjgfEr@&0c0m
+    url: jdbc:mysql://112.26.66.25:3306/antaiwuliu?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8
+    username: root
+    password: Doumee@168&QWERT
     driver-class-name: com.mysql.cj.jdbc.Driver
     type: com.alibaba.druid.pool.DruidDataSource
   redis:
diff --git a/server/system_timer/src/main/resources/application.yml b/server/system_timer/src/main/resources/application.yml
index 97ea063..7a24317 100644
--- a/server/system_timer/src/main/resources/application.yml
+++ b/server/system_timer/src/main/resources/application.yml
@@ -68,3 +68,13 @@
   servlet:
     session:
       timeout: PT3H  #琛ㄧず12灏忔椂
+auth:
+  jwt:
+    enabled: true   #鏄惁寮�鍚疛WT鐧诲綍璁よ瘉鍔熻兘
+    secret: fjkfaf;afa  # JWT绉侀挜锛岀敤浜庢牎楠孞WT浠ょ墝鐨勫悎娉曟��
+    expiration: 1800000 #JWT浠ょ墝鐨勬湁鏁堟湡锛岀敤浜庢牎楠孞WT浠ょ墝鐨勫悎娉曟��
+    #    expiration: 300000 #JWT浠ょ墝鐨勬湁鏁堟湡锛岀敤浜庢牎楠孞WT浠ょ墝鐨勫悎娉曟��
+    header: JWTHeaderName #HTTP璇锋眰鐨凥eader鍚嶇О锛岃Header浣滀负鍙傛暟浼犻�扟WT浠ょ墝
+    userParamName: username  #鐢ㄦ埛鐧诲綍璁よ瘉鐢ㄦ埛鍚嶅弬鏁板悕绉�
+    pwdParamName: password  #鐢ㄦ埛鐧诲綍璁よ瘉瀵嗙爜鍙傛暟鍚嶇О
+    useDefaultController: true # 鏄惁浣跨敤榛樿鐨凧wtAuthController
\ No newline at end of file
diff --git a/server/system_timer/src/main/resources/bootstrap-dev.yml b/server/system_timer/src/main/resources/bootstrap-dev.yml
index 93754ac..e92bb4a 100644
--- a/server/system_timer/src/main/resources/bootstrap-dev.yml
+++ b/server/system_timer/src/main/resources/bootstrap-dev.yml
@@ -2,6 +2,8 @@
   cloud:
     loadbalancer:
       enabled: true
+      retry:
+        enabled: false
       nacos:
         # 浣跨敤Nacos璐熻浇绛栫暐锛屽紑鍙戠幆澧冨彲浠ュ埄鐢ㄥ氨杩戣闂満鍒跺畾鍚戣闂紝鍚姩鍙傛暟濡備笅锛�
         # -Dspring.cloud.nacos.discovery.cluster-name=鑷畾涔�
diff --git a/server/system_timer/src/main/resources/bootstrap-pro.yml b/server/system_timer/src/main/resources/bootstrap-pro.yml
index b0f16fd..9ed6b72 100644
--- a/server/system_timer/src/main/resources/bootstrap-pro.yml
+++ b/server/system_timer/src/main/resources/bootstrap-pro.yml
@@ -2,6 +2,8 @@
   cloud:
     loadbalancer:
       enabled: true
+      retry:
+        enabled: false
       nacos:
         # 浣跨敤Nacos璐熻浇绛栫暐锛屽紑鍙戠幆澧冨彲浠ュ埄鐢ㄥ氨杩戣闂満鍒跺畾鍚戣闂紝鍚姩鍙傛暟濡備笅锛�
         # -Dspring.cloud.nacos.discovery.cluster-name=鑷畾涔�
diff --git a/server/visits/admin_timer/src/main/java/com/doumee/api/DatabaseController.java b/server/visits/admin_timer/src/main/java/com/doumee/api/DatabaseController.java
index daa238d..53bc14e 100644
--- a/server/visits/admin_timer/src/main/java/com/doumee/api/DatabaseController.java
+++ b/server/visits/admin_timer/src/main/java/com/doumee/api/DatabaseController.java
@@ -10,7 +10,7 @@
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -41,7 +41,7 @@
 
 
     @ApiOperation("鏁版嵁搴撳浠斤紝淇濈暀鏈�杩�7涓浠絪ql")
-    @GetMapping("/backupDatabase")
+    @PostMapping("/backupDatabase")
     public ApiResponse backupDatabase() {
         try {
             String timestamp = DateUtil.getNowLongTime();
diff --git a/server/visits/admin_timer/src/main/java/com/doumee/api/HkDeviceTimerController.java b/server/visits/admin_timer/src/main/java/com/doumee/api/HkDeviceTimerController.java
index a25a46a..c6c7ea2 100644
--- a/server/visits/admin_timer/src/main/java/com/doumee/api/HkDeviceTimerController.java
+++ b/server/visits/admin_timer/src/main/java/com/doumee/api/HkDeviceTimerController.java
@@ -1,12 +1,13 @@
 package com.doumee.api;
 
+import com.doumee.core.annotation.pr.PreventRepeat;
 import com.doumee.service.business.DeviceService;
 import com.doumee.service.business.third.model.ApiResponse;
 import com.doumee.service.business.impl.hksync.HkSyncDeviceServiceImpl;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -23,15 +24,15 @@
     @Autowired
     private DeviceService deviceService;
     @ApiOperation("寮�鍚畾鏃舵煡璇㈣澶囩姸鎬�")
-    @GetMapping("/getAscDeviceStatus")
+    @PostMapping("/getAscDeviceStatus")
     public ApiResponse getAscDeviceStatus() {
         hkSyncDeviceService.getAscDeviceStatus();
         return ApiResponse.success("寮�鍚畾鏃舵煡璇㈣澶囩姸鎬佹垚鍔�");
     }
     @ApiOperation("鏇存柊鍏ㄩ儴LED灞忔樉鍐呭涓洪粯璁ゅ唴瀹�")
-    @GetMapping("/setAllLedDefualtContent")
-    public ApiResponse setAllLedDefualtContent() {
-        deviceService.setAllLedDefualtContent();
+    @PostMapping("/allLedDefualtContent")
+    public ApiResponse allLedDefualtContent() {
+        deviceService.allLedDefualtContent();
         return ApiResponse.success("鏇存柊鍏ㄩ儴LED灞忔樉鍐呭涓洪粯璁ゅ唴瀹�");
     }
 
diff --git a/server/visits/admin_timer/src/main/java/com/doumee/api/HkEmpowerTimerController.java b/server/visits/admin_timer/src/main/java/com/doumee/api/HkEmpowerTimerController.java
index 87ef93b..4cfd2d0 100644
--- a/server/visits/admin_timer/src/main/java/com/doumee/api/HkEmpowerTimerController.java
+++ b/server/visits/admin_timer/src/main/java/com/doumee/api/HkEmpowerTimerController.java
@@ -22,7 +22,7 @@
 
     public static Integer endId2 = 0;
     @ApiOperation("寮�鍚畾鏃舵煡璇汉鍛樿澶囨巿鏉冪粨鏋�")
-    @GetMapping("/syncEmpowerDetailData")
+    @PostMapping("/syncEmpowerDetailData")
     public ApiResponse syncEmpowerDetailData() {
         if(endId2 ==null){
             endId2 =0;
@@ -36,14 +36,14 @@
         return ApiResponse.success("寮�鍚畾鏃舵煡璇汉鍛樿澶囨巿鏉冪粨鏋滄垚鍔�");
     }
     @ApiOperation("寮�鍚畾鏃舵煡璇汉鍛樿澶囨巿鏉冧笅杞借繘搴�")
-    @GetMapping("/syncEmpowerResultData")
+    @PostMapping("/syncEmpowerResultData")
     public ApiResponse syncEmpowerResultData() {
         hkSyncEmpowerService.syncEmpowerResultData(0);
         return ApiResponse.success("寮�鍚畾鏃舵煡璇汉鍛樿澶囨巿鏉冧笅杞借繘搴︽垚鍔�");
     }
 
     @ApiOperation("寮�鍚畾鏃堕噸鏂颁笅鍙戝け璐ョ殑鎺堟潈鏁版嵁")
-    @GetMapping("/syncEmpowerFailData")
+    @PostMapping("/syncEmpowerFailData")
     public ApiResponse syncEmpowerFailData() {
         hkSyncEmpowerService.syncEmpowerFailData(0);
         return ApiResponse.success("寮�鍚畾鏃堕噸鏂颁笅鍙戝け璐ョ殑鎺堟潈鏁版嵁鎴愬姛");
@@ -53,7 +53,7 @@
     @Autowired
     private HkSyncVehicleFromHKServiceImpl hkSyncVehicleFromHKService;
     @ApiOperation("寮�鍚畾鏃跺埛鏂颁汉鍛樿澶囨巿鏉�")
-    @GetMapping("/syncEmpowerData")
+    @PostMapping("/syncEmpowerData")
     public ApiResponse syncEmpowerData() {
         if(endId ==null){
             endId =0;
diff --git a/server/visits/admin_timer/src/main/java/com/doumee/api/HkImageTimerController.java b/server/visits/admin_timer/src/main/java/com/doumee/api/HkImageTimerController.java
index bfb80c2..0cd0af7 100644
--- a/server/visits/admin_timer/src/main/java/com/doumee/api/HkImageTimerController.java
+++ b/server/visits/admin_timer/src/main/java/com/doumee/api/HkImageTimerController.java
@@ -6,7 +6,7 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -27,7 +27,7 @@
     @Autowired
     private HkSyncImgServiceImpl hkSyncImgService;
     @ApiOperation("寮�鍚畾鏃朵笅杞芥捣搴风郴缁熷浘鐗囨暟鎹�")
-    @GetMapping("/downHKImgs")
+    @PostMapping("/downHKImgs")
     public ApiResponse downHKImgs() {
         if(dataSyncConfig.getNeedDealImg()!=null && dataSyncConfig.getNeedDealImg()){
             hkSyncImgService.downHKImgs(0);
diff --git a/server/visits/admin_timer/src/main/java/com/doumee/api/HkNoticeTimerController.java b/server/visits/admin_timer/src/main/java/com/doumee/api/HkNoticeTimerController.java
index 16bfa85..b3ba7f4 100644
--- a/server/visits/admin_timer/src/main/java/com/doumee/api/HkNoticeTimerController.java
+++ b/server/visits/admin_timer/src/main/java/com/doumee/api/HkNoticeTimerController.java
@@ -7,7 +7,7 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -27,7 +27,7 @@
     private VisitsService visitsService;
 
     @ApiOperation("寮�鍚畾鏃舵煡璇㈡渶鏂颁汉鍛樹唬鍔炴暟鎹姸鎬�")
-    @GetMapping("/getNoticeList")
+    @PostMapping("/getNoticeList")
     public ApiResponse getNoticeList() {
         hkSyncVisitService.syncVisitData();
         return ApiResponse.success("寮�鍚畾鏃朵笅鍙戣瀹㈤绾︾敵璇锋垚鍔�");
diff --git a/server/visits/admin_timer/src/main/java/com/doumee/api/HkParkTimerController.java b/server/visits/admin_timer/src/main/java/com/doumee/api/HkParkTimerController.java
index b68f13f..8c3974a 100644
--- a/server/visits/admin_timer/src/main/java/com/doumee/api/HkParkTimerController.java
+++ b/server/visits/admin_timer/src/main/java/com/doumee/api/HkParkTimerController.java
@@ -6,7 +6,7 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -27,13 +27,13 @@
     private HkSyncParkServiceImpl hkSyncParkService;
 
     @ApiOperation("寮�鍚畾鏃惰溅杈嗗寘鏈熸巿鏉�")
-    @GetMapping("/syncParkBookData")
+    @PostMapping("/syncParkBookData")
     public ApiResponse syncParkBookData() {
         hkSyncParkService.syncParkBookData();
         return ApiResponse.success("寮�鍚畾鏃惰溅杈嗗寘鏈熸巿鏉冩垚鍔�");
     }
     @ApiOperation("寮�鍚畾鏃舵煡璇㈣溅杈嗘煡璇�")
-    @GetMapping("/syncVehicleUpdateData")
+    @PostMapping("/syncVehicleUpdateData")
     public ApiResponse syncVehicleUpdateData() {
         hkSyncVehicleFromHKService.syncVehicleUpdateData(new Date(System.currentTimeMillis()-24*60*60*1000));
         return ApiResponse.success("寮�鍚畾鏃舵煡璇㈣溅杈嗘煡璇㈡垚鍔�");
diff --git a/server/visits/admin_timer/src/main/java/com/doumee/api/HkPlatformTimerController.java b/server/visits/admin_timer/src/main/java/com/doumee/api/HkPlatformTimerController.java
index 5428eea..a3c843f 100644
--- a/server/visits/admin_timer/src/main/java/com/doumee/api/HkPlatformTimerController.java
+++ b/server/visits/admin_timer/src/main/java/com/doumee/api/HkPlatformTimerController.java
@@ -6,7 +6,7 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -21,7 +21,7 @@
     @Autowired
     private HkSyncPlatformsServiceImpl hkSyncPlatformsService;
     @ApiOperation("寮�鍚畾鏃舵煡璇㈡湀鍙扮姸鎬�")
-    @GetMapping("/getPlatformStatus")
+    @PostMapping("/getPlatformStatus")
     public ApiResponse getPlatformStatus() {
         hkSyncPlatformsService.getPlatformStatus(new PlatformStatusRequest());
         return ApiResponse.success("寮�鍚畾鏃舵煡璇㈡湀鍙扮姸鎬佹垚鍔�");
diff --git a/server/visits/admin_timer/src/main/java/com/doumee/api/HkSmsEmailTimerController.java b/server/visits/admin_timer/src/main/java/com/doumee/api/HkSmsEmailTimerController.java
index 24b464d..2eb6dfb 100644
--- a/server/visits/admin_timer/src/main/java/com/doumee/api/HkSmsEmailTimerController.java
+++ b/server/visits/admin_timer/src/main/java/com/doumee/api/HkSmsEmailTimerController.java
@@ -5,7 +5,7 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -20,7 +20,7 @@
     @Autowired
     private SmsEmailService smsEmailService;
     @ApiOperation("寮�鍚畾鏃剁煭淇″彂閫佸畾鏃朵换鍔�")
-    @GetMapping("/sendWaitingSmsNotice")
+    @PostMapping("/sendWaitingSmsNotice")
     public ApiResponse sendWaitingSmsNotice() {
         smsEmailService.sendWaitingSmsNotice();
         return ApiResponse.success("寮�鍚畾鏃剁煭淇″彂閫佸畾鏃朵换鍔℃垚鍔�");
diff --git a/server/visits/admin_timer/src/main/java/com/doumee/api/HkUsersTimerController.java b/server/visits/admin_timer/src/main/java/com/doumee/api/HkUsersTimerController.java
index 752d844..d27ef52 100644
--- a/server/visits/admin_timer/src/main/java/com/doumee/api/HkUsersTimerController.java
+++ b/server/visits/admin_timer/src/main/java/com/doumee/api/HkUsersTimerController.java
@@ -9,7 +9,7 @@
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -34,7 +34,7 @@
     private DataSyncConfig dataSyncConfig;
 
     @ApiOperation("寮�鍚畾鏃跺悓姝ユ捣搴风粍缁囨暟鎹�")
-    @GetMapping("/syncOrgData")
+    @PostMapping("/syncOrgData")
     public ApiResponse syncOrgData() {
         log.info("=========================寮�鍚畾鏃跺悓姝ユ捣搴风粍缁囨暟鎹�===========start===========");
         if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.erp
@@ -46,7 +46,7 @@
         return ApiResponse.success("寮�鍚畾鏃跺悓姝ユ捣搴风粍缁囨暟鎹垚鍔�");
     }
     @ApiOperation("寮�鍚畾鏃堕噸鏂颁笅鍙戝垹闄や汉鍛樻暟鎹�")
-    @GetMapping("/syncMemberDelData")
+    @PostMapping("/syncMemberDelData")
     public ApiResponse syncMemberDelData() {
         log.info("=========================寮�鍚畾鏃堕噸鏂颁笅鍙戝垹闄や汉鍛樻暟鎹�===========start===========");
         hkSyncOrgUserService.syncMemberDelData();
@@ -55,7 +55,7 @@
         return ApiResponse.success("寮�鍚畾鏃堕噸鏂颁笅鍙戝垹闄や汉鍛樻暟鎹垚鍔�");
     }
     @ApiOperation("寮�鍚畾鏃跺悓姝ユ捣搴蜂汉鍛樻暟鎹�")
-    @GetMapping("/syncUserData")
+    @PostMapping("/syncUserData")
     public ApiResponse syncUserData() {
         log.info("=========================寮�鍚畾鏃跺悓姝ユ捣搴蜂汉鍛樻暟鎹�===========start===========");
         if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.erp
@@ -67,7 +67,7 @@
         return ApiResponse.success("寮�鍚畾鏃跺悓姝ユ捣搴蜂汉鍛樻暟鎹垚鍔�");
     }
     @ApiOperation("寮�鍚畾鏃跺喕缁撲汉鍛�")
-    @GetMapping("/memberFreeze")
+    @PostMapping("/memberFreeze")
     public ApiResponse memberFreeze() {
         memberService.memberFreeze();
         return ApiResponse.success("寮�鍚畾鏃跺喕缁撲汉鍛樻垚鍔�");
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 a4d39cd..6111ce0 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
@@ -8,7 +8,7 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -31,19 +31,19 @@
     private VisitsService visitsService;
 
     @ApiOperation("寮�鍚畾鏃朵笅鍙戣瀹㈤绾︾敵璇�")
-    @GetMapping("/syncVisitData")
+    @PostMapping("/syncVisitData")
     public ApiResponse syncVisitData() {
         hkSyncVisitService.syncVisitData();
         return ApiResponse.success("寮�鍚畾鏃朵笅鍙戣瀹㈤绾︾敵璇锋垚鍔�");
     }
     @ApiOperation("寮�鍚畾鏃舵煡璇㈣瀹㈤绾︾姸鎬�")
-    @GetMapping("/getOutTimeVisitRecord")
+    @PostMapping("/getOutTimeVisitRecord")
     public ApiResponse getOutTimeVisitRecord() {
         hkSyncVisitService.getOutTimeVisitRecordIccm();
         return ApiResponse.success("寮�鍚畾鏃舵煡璇㈣瀹㈤绾︾姸鎬佹垚鍔�");
     }
     @ApiOperation("寮�鍚畾鏃朵粖鏃ョ殑璁垮棰勭害鏁版嵁")
-    @GetMapping("/syncVistAppointData")
+    @PostMapping("/syncVistAppointData")
     public ApiResponse syncVistAppointData() {
         if(!Constants.DEALING_FROM_HK_VISIT){
             try {
@@ -60,13 +60,13 @@
     }
 
     @ApiOperation("璁垮鍗冲皢瓒呮椂棰勮")
-    @GetMapping("/visitTimeOut")
+    @PostMapping("/visitTimeOut")
     public ApiResponse visitTimeOut() {
         visitsService.syncTimeOutData();
         return ApiResponse.success("璁垮鍗冲皢瓒呮椂棰勮");
     }
     @ApiOperation("寰呭鎵硅褰曡秴鏃惰嚜鍔ㄥ彇娑堥绾�")
-    @GetMapping("/visitNoCheckCancel")
+    @PostMapping("/visitNoCheckCancel")
     public ApiResponse visitNoCheckCancel() {
         visitsService.visitNoCheckCancel();
         return ApiResponse.success("寰呭鎵硅褰曡秴鏃惰嚜鍔ㄥ彇娑堥绾�");
diff --git a/server/visits/admin_timer/src/main/java/com/doumee/api/InterfaceLogTimerController.java b/server/visits/admin_timer/src/main/java/com/doumee/api/InterfaceLogTimerController.java
index da6bc90..87a2208 100644
--- a/server/visits/admin_timer/src/main/java/com/doumee/api/InterfaceLogTimerController.java
+++ b/server/visits/admin_timer/src/main/java/com/doumee/api/InterfaceLogTimerController.java
@@ -8,7 +8,7 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -28,7 +28,7 @@
     @Autowired
     private PlatformInterfaceLogService platformInterfaceLogService;
     @ApiOperation("寮�鍚畾鏃舵帴鍙f棩蹇楁竻鐞�")
-    @GetMapping("/clearThreeMonthLog")
+    @PostMapping("/clearThreeMonthLog")
     public ApiResponse clearThreeMonthLog() {
         interfaceLogService.clearThreeMonthLog();
         wmsInterfaceLogService.clearThreeMonthLog();
diff --git a/server/visits/admin_timer/src/main/java/com/doumee/api/PlatformJobController.java b/server/visits/admin_timer/src/main/java/com/doumee/api/PlatformJobController.java
index 1bf85a1..53bf7a9 100644
--- a/server/visits/admin_timer/src/main/java/com/doumee/api/PlatformJobController.java
+++ b/server/visits/admin_timer/src/main/java/com/doumee/api/PlatformJobController.java
@@ -7,7 +7,7 @@
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -26,13 +26,13 @@
 
 
     @ApiOperation("鏈堝彴鍋滈潬瓒呮椂鎶ヨ涓氬姟")
-    @GetMapping("/platformJobTimer")
+    @PostMapping("/platformJobTimer")
     public ApiResponse platformJobTimer() {
         platformJobService.timeOutReport();
         return ApiResponse.success("鏈堝彴鍋滈潬瓒呮椂鎶ヨ涓氬姟");
     }
     @ApiOperation("鏈堝彴浣滀笟妫�鏌ョ數瀛愰攣涓婇攣鐘舵��")
-    @GetMapping("/platformCheckWmsLockStatus")
+    @PostMapping("/platformCheckWmsLockStatus")
     public ApiResponse checkWmsLockStatus() {
         platformJobService.checkWmsLockStatus();
         return ApiResponse.success("鏈堝彴鍋滈潬瓒呮椂鎶ヨ涓氬姟");
@@ -40,7 +40,7 @@
 
 
     @ApiOperation("鏈堝彴浣滀笟瓒呮椂鎶ヨ涓氬姟")
-    @GetMapping("/platformJobWorkTimeOut")
+    @PostMapping("/platformJobWorkTimeOut")
     public ApiResponse platformJobWorkTimeOut() {
         platformJobService.timeOutWork();
         return ApiResponse.success("鏈堝彴浣滀笟瓒呮椂鎶ヨ涓氬姟");
@@ -48,7 +48,7 @@
 
 
     @ApiOperation("鏈堝彴绛夊緟浣滀笟瓒呮椂涓氬姟")
-    @GetMapping("/platformJobWaitTimeOut")
+    @PostMapping("/platformJobWaitTimeOut")
     public ApiResponse platformJobWaitTimeOut() {
         platformJobService.timeOutCallIn();
         return ApiResponse.success("鏈堝彴绛夊緟浣滀笟瓒呮椂涓氬姟");
@@ -58,7 +58,7 @@
 
     @PreventRepeat(interval = 2000)
     @ApiOperation("鏈堝彴浠婃棩浣滀笟鏈畬鎴愰�氱煡瀹氭椂")
-    @GetMapping("/sendUnFinishNotice")
+    @PostMapping("/sendUnFinishNotice")
     public synchronized ApiResponse sendUnFinishNotice() {
         log.error("========鏈堝彴浠婃棩浣滀笟鏈畬鎴愰�氱煡瀹氭椂============寮�濮�"+System.currentTimeMillis()+"");
         platformJobService.sendUnFinishNotice();
diff --git a/server/visits/admin_timer/src/main/java/com/doumee/api/WxTokenTimerController.java b/server/visits/admin_timer/src/main/java/com/doumee/api/WxTokenTimerController.java
index 65fc408..d8c4c96 100644
--- a/server/visits/admin_timer/src/main/java/com/doumee/api/WxTokenTimerController.java
+++ b/server/visits/admin_timer/src/main/java/com/doumee/api/WxTokenTimerController.java
@@ -18,7 +18,7 @@
 import org.apache.shiro.mgt.DefaultSecurityManager;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -44,7 +44,7 @@
     @Value("${debug_model}")
     private Boolean timing;
 //    @ApiOperation("寮�鍚畾鏃舵洿鏂板井淇″叕浼楀彿accesstoken")
-//    @GetMapping("/updateWxAccessToken")
+//    @PostMapping("/updateWxAccessToken")
 //    public ApiResponse updateWxAccessToken() {
 //       DefaultSecurityManager securityManager = new DefaultSecurityManager();
 //        SecurityUtils.setSecurityManager(securityManager);
@@ -64,7 +64,7 @@
 //        return ApiResponse.success("寮�鍚畾鏃舵洿鏂板井淇″叕浼楀彿accesstoken鎴愬姛");
 //    }
     @ApiOperation("寮�鍚畾鏃舵洿鏂板井淇″叕浼楀彿accesstoken")
-    @GetMapping("/updateWxAccessTokenOrigin")
+    @PostMapping("/updateWxAccessTokenOrigin")
     public ApiResponse updateWxAccessTokenOrigin() {
        DefaultSecurityManager securityManager = new DefaultSecurityManager();
         SecurityUtils.setSecurityManager(securityManager);
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 4dc5a74..5a38288 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
@@ -74,7 +74,7 @@
     }
     @ApiOperation("鎵归噺鏇存柊wms鍚堝悓鎬昏繍杈撻噺")
     @GetMapping("/updateTotalNum")
-    @CloudRequiredPermission("business:platformjob:update")
+    @CloudRequiredPermission("business:platformjob:updateTotalNum")
     public ApiResponse updateTotalNum(@RequestParam String ids,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
         List<Integer>  idList =this.getIdList(ids);
         if(idList == null || idList.size()==0){
@@ -159,7 +159,8 @@
     @ApiOperation("鎵嬪姩瀹屾垚浣滀笟")
     @PostMapping("/dealJobFinish")
     public ApiResponse  dealJobFinish (@RequestBody List<Integer> list, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){
-        platformJobService.dealJobFinish(list);
+        platformJobService.dealJobFinish(list,getLoginUser(token));
         return ApiResponse.success("鎿嶄綔鎴愬姛");
     }
+
 }
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/RetentionCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/RetentionCloudController.java
index ee6d5ed..09a772b 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/RetentionCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/RetentionCloudController.java
@@ -74,7 +74,7 @@
     public ApiResponse<PageData<Retention>> findPage (@RequestBody PageWrap<Retention> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
         return ApiResponse.success(retentionService.findTrainTimePage(pageWrap));
     }
-    @ApiOperation("鍒嗛〉鏌ヨ")
+    @ApiOperation("鍒嗛〉鏌ヨ鍦ㄥ満杞﹁締")
     @PostMapping("/pageCars")
     @CloudRequiredPermission("business:retention:query")
     public ApiResponse<PageData<RetentionCarsVO>> findPageForCars (@RequestBody PageWrap<RetentionCarsVO> pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitsCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitsCloudController.java
index d405af2..151b50f 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitsCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitsCloudController.java
@@ -18,6 +18,7 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.annotation.Repeat;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
@@ -142,6 +143,7 @@
 
     @ApiOperation(value = "PC绔瀹㈣褰曟彁浜�", notes = "璁垮鎻愪氦")
     @PostMapping("/createFk")
+    @PreventRepeat(interval = 2000)
     public ApiResponse createFk(@RequestBody Visits visits) {
         visits.setSourceType(Constants.ZERO);
         return ApiResponse.success("鏌ヨ鎴愬姛", visitsService.createFk(visits,false,Constants.ONE));
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/DriverPlatformController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/DriverPlatformController.java
index 26b96b7..f4128ad 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/DriverPlatformController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/DriverPlatformController.java
@@ -37,7 +37,7 @@
 @RestController
 @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/web/driverPlatform")
 @Slf4j
-@LoginNoRequired
+//@LoginNoRequired
 public class DriverPlatformController extends BaseController {
 
     @Autowired
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/InternalWebController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/InternalWebController.java
index a5f60f7..c7f6ecf 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/InternalWebController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/InternalWebController.java
@@ -35,7 +35,7 @@
 @RestController
 @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/web/member")
 @Slf4j
-@LoginNoRequired
+//@LoginNoRequired
 public class InternalWebController extends BaseController {
 
     @Autowired
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/PdaPlatformController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/PdaPlatformController.java
index 9cf22d8..0671e49 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/PdaPlatformController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/PdaPlatformController.java
@@ -34,7 +34,7 @@
 @RestController
 @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/web/pdaPlatform")
 @Slf4j
-@LoginNoRequired
+//@LoginNoRequired
 public class PdaPlatformController extends BaseController {
 
 
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/VisitorWebController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/VisitorWebController.java
index 23d0ac9..6ec9c82 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/VisitorWebController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/VisitorWebController.java
@@ -78,8 +78,6 @@
         visits.setSourceType(Constants.ZERO);
         return ApiResponse.success("鏌ヨ鎴愬姛", visitsService.createFk(visits,false,Constants.ZERO));
     }
-
-
     @ApiOperation(value = "鏉ヨ浜嬬敱", notes = "鏉ヨ浜嬬敱")
     @PostMapping("/visitReason")
     public ApiResponse<List<VisitReason>> visitReason() {
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/request/WmsInboundDetailRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/request/WmsInboundDetailRequest.java
index 99c1a8a..427db67 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/request/WmsInboundDetailRequest.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/request/WmsInboundDetailRequest.java
@@ -22,5 +22,5 @@
     @ApiModelProperty(value = "璁″垝鏀惰揣鏁伴噺" ,example = "1")
     private BigDecimal ioQty;
     @ApiModelProperty(value = "鐗╂枡杞崲鐜�" ,example = "1")
-    private String rate;
+    private BigDecimal rate;
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/request/WmsOutboundDetailRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/request/WmsOutboundDetailRequest.java
index 3e0d7e1..2652e7f 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/request/WmsOutboundDetailRequest.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/request/WmsOutboundDetailRequest.java
@@ -20,6 +20,6 @@
     @ApiModelProperty(value = "璁″垝鏀惰揣鏁伴噺" ,example = "1")
     private BigDecimal ioQty;
     @ApiModelProperty(value = "鐗╂枡杞崲鐜�" ,example = "1")
-    private String rate;
+    private BigDecimal rate;
 
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java
index d2e850f..fcee810 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java
@@ -50,7 +50,7 @@
     private String remark;
 
     @ApiModelProperty(value = "鐘舵�� 0寰呭鎵� 1瀹℃壒涓� 2瀹℃壒閫氳繃 3瀹℃壒涓嶉�氳繃 4宸插彇娑�", example = "1")
-    @ExcelColumn(name="瀹℃壒鐘舵��",index = 9,width = 12,valueMapping = "0=寰呭鎵�;1=瀹℃壒涓�;2=瀹℃壒閫氳繃;3=瀹℃壒涓嶉�氳繃;4=宸插彇娑�;")
+    @ExcelColumn(name="瀹℃壒鐘舵��",index = 10,width = 12,valueMapping = "0=寰呭鎵�;1=瀹℃壒涓�;2=瀹℃壒閫氳繃;3=瀹℃壒涓嶉�氳繃;4=宸插彇娑�;")
     private Integer status;
 
     @ApiModelProperty(value = "鍚堝悓鍙�")
@@ -58,7 +58,7 @@
     private String contractNum;
 
     @ApiModelProperty(value = "棰勮鍒板満鏃堕棿")
-    @ExcelColumn(name="棰勮鍒板満鏃堕棿",index = 8,width = 12,dateFormat = "yyyy-MM-dd HH:mm:ss")
+    @ExcelColumn(name="棰勮鍒板満鏃堕棿",index = 9,width = 12,dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date arriveDate;
 
     @ApiModelProperty(value = "鍏ュ簱绫诲瀷 0鏁存墭鐩� 1浠剁儫", example = "1")
@@ -132,12 +132,12 @@
     private Date arriveDateEnd;
 
     @ApiModelProperty(value = "瀹℃壒浜哄悕绉�")
-    @ExcelColumn(name="瀹℃壒浜哄悕绉�",index = 10,width = 12)
+    @ExcelColumn(name="瀹℃壒浜哄悕绉�",index = 11,width = 12)
     @TableField(exist = false)
     private String auditName;
 
     @ApiModelProperty(value = "瀹℃壒鏃堕棿")
-    @ExcelColumn(name="瀹℃壒鎻忚堪",index = 11,width = 12,valueMapping = "yyyy-MM-dd HH:mm:ss")
+    @ExcelColumn(name="瀹℃壒鎻忚堪",index = 12,width = 12,dateFormat = "yyyy-MM-dd HH:mm:ss")
     @TableField(exist = false)
     private String auditTime;
 
@@ -146,9 +146,15 @@
     private String info;
 
     @ApiModelProperty(value = "浣滀笟璁板綍鐘舵��: 0寰呯‘璁� 1寰呯鍒� 2绛夊緟鍙彿 3鍏ュ洯绛夊緟 4宸插彨鍙� 5浣滀笟涓� 6浣滀笟瀹屾垚 7杞Щ涓� 8寮傚父鎸傝捣 9宸叉巿鏉冪鍥� 10宸茬鍥� 11 宸茶繃鍙�  12鍙栨秷锛圵MS锛�")
+    @ExcelColumn(name="浣滀笟鐘舵��",index = 8,width = 12,valueMapping = "0=寰呯‘璁�;1=寰呯鍒�;2=绛夊緟鍙彿;3=鍏ュ洯绛夊緟;4=宸插彨鍙�;5=浣滀笟涓�;6=浣滀笟瀹屾垚;7=杞Щ涓�;8=寮傚父鎸傝捣;9=宸叉巿鏉冪鍥�;10=宸茬鍥�;11=宸茶繃鍙�;12=鍙栨秷锛圵MS锛�;")
     @TableField(exist = false)
     private Integer jobStatus;
 
+    @ApiModelProperty(value = "鏈�鍚庢搷浣滀汉鍚嶇О", example = "1")
+    @ExcelColumn(name="鏈�鍚庢搷浣滀汉鍚嶇О",index = 13,width = 12)
+    @TableField(exist = false)
+    private String editUserName;
+
     @ApiModelProperty(value = "瀹℃壒淇℃伅鏁版嵁")
     @TableField(exist = false)
     private ApproveDataVO approveDateVO;
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 c787b5f..4483e88 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
@@ -305,6 +305,11 @@
     @TableField(exist = false)
     private String outUserName;
 
+    @ApiModelProperty(value = "鏈�鍚庢搷浣滀汉鍚嶇О", example = "1")
+    @ExcelColumn(name="鏈�鍚庢搷浣滀汉鍚嶇О",index = 15,width = 12)
+    @TableField(exist = false)
+    private String editUserName;
+
     @ApiModelProperty(value = "wms涓氬姟涓婚敭")
     @TableField(exist = false)
     private Integer wmsId ;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java
index c1bcb97..0c23522 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java
@@ -326,6 +326,9 @@
     @ApiModelProperty(value = "閫氱煡鎻忚堪")
     @TableField(exist = false)
     private String info;
+    @ApiModelProperty(value = "褰撳墠鏄惁鍦ㄥ洯")
+    @TableField(exist = false)
+    private Integer retentionNum;
 
     @ApiModelProperty(value = "瀹℃壒淇℃伅鏁版嵁")
     @TableField(exist = false)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/DeviceService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/DeviceService.java
index b83aa6d..b447ed3 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/DeviceService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/DeviceService.java
@@ -104,5 +104,5 @@
     long count(Device device);
 
     void setLedContent(TransparentChannelSingleRequest body);
-    void setAllLedDefualtContent();
+    void allLedDefualtContent();
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java
index 78aa1f9..0ac5a7d 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java
@@ -256,7 +256,8 @@
      */
     void sendUnFinishNotice();
 
-    void dealJobFinish(List<Integer> jobIdList);
+
+    void dealJobFinish(List<Integer> jobIdList,LoginUserInfo loginUserInfo);
 
     /**
      * 鎭㈠浣滀笟
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
index 19b3655..b352a5e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
@@ -286,6 +286,7 @@
                                 Constants.equalsInteger(i.getUserId(),memberId)
                                 &&Constants.equalsInteger(i.getStatus(),Constants.ZERO)
                                 &&Constants.equalsInteger(i.getSendacopy(),Constants.ZERO)
+                                        &&StringUtils.equals(i.getParam2(),"0")
                         ).count()
                 );
                 //宸插鐞嗘暟鎹�
@@ -335,6 +336,7 @@
                     noticesList.stream().filter(i->Constants.equalsInteger(i.getUserId(),noticesDTO.getMemberId())
                             &&Constants.equalsInteger(i.getStatus(),Constants.ZERO)
                             &&Constants.equalsInteger(i.getSendacopy(),Constants.ZERO)
+                            &&StringUtils.equals(i.getParam2(),"0")
                     ).count()
             );
             internalHomeVO.setNoticeDealNum(
@@ -719,15 +721,25 @@
             if(Objects.isNull(platformBooks)){
                 throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈煡璇㈠埌涓氬姟鏁版嵁淇℃伅");
             }
-            title = "[鐗╂祦杞﹀叆鍥绾鐢宠浜�-" + platformBooks.getDriverName();
-            jsonMap.put("inType", "鍏ュ簱绫诲瀷锛�"+(Constants.equalsInteger(platformBooks.getInType(),Constants.ZERO)?"鏁存墭鐩�":"浠剁儫"));
-            jsonMap.put("totalNum", "鎬昏繍杈撻噺锛�"+platformBooks.getTotalNum()+"涓囨敮");
-            jsonMap.put("arriveDate", "鍒板満鏃堕棿锛�" + DateUtil.DateToStr(platformBooks.getArriveDate() , "yyyy-MM-dd HH:mm"));
-            jsonMap.put("carNum", "杞︾墝鐓э細"+platformBooks.getCarCodeFront());
+            title = ApproveServiceImpl.creatPlatformBookNotice(platformBooks,jsonMap);
+//            title = "[鐗╂祦杞﹀叆鍥绾鐢宠浜�-" + platformBooks.getDriverName();
+//            jsonMap.put("inType", "鍏ュ簱绫诲瀷锛�"+(Constants.equalsInteger(platformBooks.getInType(),Constants.ZERO)?"鏁存墭鐩�":"浠剁儫"));
+//            jsonMap.put("totalNum", "鎬昏繍杈撻噺锛�"+platformBooks.getTotalNum()+"涓囨敮");
+//            jsonMap.put("arriveDate", "鍒板満鏃堕棿锛�" + DateUtil.DateToStr(platformBooks.getArriveDate() , "yyyy-MM-dd HH:mm"));
+//            jsonMap.put("carNum", "杞︾墝鐓э細"+platformBooks.getCarCodeFront());
         }
         return title;
     }
 
+    public static String creatPlatformBookNotice(PlatformBooks platformBooks,Map<String,Object> jsonMap){
+        jsonMap.put("inType", "浣滀笟绫诲瀷锛�"+(Constants.equalsInteger(platformBooks.getInType(),Constants.ZERO)?"鏁存墭鐩�":"浠剁儫"));
+        jsonMap.put("totalNum", "鎬昏繍杈撻噺锛�"+platformBooks.getTotalNum()+"涓囨敮");
+        jsonMap.put("arriveDate", "鍒板満鏃堕棿锛�" + DateUtil.DateToStr(platformBooks.getArriveDate() , "yyyy-MM-dd HH:mm"));
+        jsonMap.put("carNum", "杞︾墝鐓э細"+platformBooks.getCarCodeFront());
+        return  "[鐗╂祦杞﹀叆鍥绾鐢宠浜�-" + platformBooks.getDriverName() ;
+
+    }
+
 
     public void organizeApproveCopyData(ApproveTempl approveTempl,List<ApproveParam> approveCopyList,Integer businessId,List<Approve> approveList){
         for (ApproveParam approveParam:approveCopyList) {
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java
index 5d8c2df..51f933b 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java
@@ -378,11 +378,11 @@
                         Company::getType, Constants.ZERO)
                 .isNull( pageWrap.getModel().getQueryUserType()!=null&&Constants.equalsInteger(pageWrap.getModel().getQueryUserType(),Constants.ZERO),
                         Member::getId)
-                .eq( pageWrap.getModel().getQueryUserType()!=null&&Constants.equalsInteger(pageWrap.getModel().getQueryUserType(),Constants.TWO),
-                        Company::getType, Constants.ONE)
+                .eq( pageWrap.getModel().getQueryUserType()!=null&&Constants.equalsInteger(pageWrap.getModel().getQueryUserType(),Constants.TWO),Company::getType, Constants.ONE)
 //                .eq(Member::getIsdeleted,Constants.ZERO)
                 .eq(Objects.nonNull(pageWrap.getModel().getEventType()),  DeviceEvent::getEventType, pageWrap.getModel().getEventType())
                 .like(Objects.nonNull(pageWrap.getModel().getCompanyName()),Company::getName, pageWrap.getModel().getCompanyName())
+                .like(Objects.nonNull(pageWrap.getModel().getSrcName()),DeviceEvent::getSrcName, pageWrap.getModel().getSrcName())
                 .ge(Objects.nonNull(pageWrap.getModel().getStartTime()), DeviceEvent::getCreateDate, pageWrap.getModel().getStartTime())
                 .le(Objects.nonNull(pageWrap.getModel().getEndTime()),  DeviceEvent::getCreateDate, pageWrap.getModel().getEndTime())
                 .orderByDesc(DeviceEvent::getCreateDate);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
index de7ca96..b8c1545 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
@@ -254,7 +254,8 @@
         }
     }
     @Override
-    public void setAllLedDefualtContent() {
+    public void allLedDefualtContent() {
+        log.error( "灞忓箷鍐呭璁剧疆=======================寮�濮�========" );
         int speed = 13;
         try {
             speed = Integer.parseInt(systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.LED_CONTENT_SPEED).getCode());
@@ -262,7 +263,7 @@
         }
         //鎵�鏈夋湀鍙板叧鑱旇澶囦俊鎭�
         List<PlatformDevice> list =  platformDeviceMapper.selectList(new MPJLambdaWrapper<PlatformDevice>().
-                selectAll(PlatformDevice.class)
+                 selectAll(PlatformDevice.class)
                 .selectAs(Platform::getLedContent,PlatformDevice::getLedContent)
                 .leftJoin(Platform.class,Platform::getId,PlatformDevice::getPlatformId)
                 .eq(PlatformDevice::getType,Constants.ZERO)
@@ -273,15 +274,21 @@
             return;
         }
         for(PlatformDevice device :list){
-            String content = device.getLedContent();
-            if(StringUtils.isBlank(content)){
-                continue;
+            try {
+                String content = device.getLedContent();
+                if(StringUtils.isBlank(content)){
+                    continue;
+                }
+                PlatformBroadcastLog log1  =  HkSyncPushServiceImpl.dealLedContentBiz(0,device.getHkNo(),device.getName(),content,speed,1);
+                platformBroadcastLogMapper.insert(log1);
+                if(log1.getHkStatus() == null || !Constants.equalsInteger(log1.getHkStatus(), Constants.TWO)){
+                    log.error( "瀵逛笉璧凤紝灞忓箷鍐呭璁剧疆澶辫触"+(log1!=null?log1.getHkInfo():""));
+                }
+            }catch (Exception e){
+                log.error( "瀵逛笉璧凤紝灞忓箷鍐呭璁剧疆寮傚父"+ device.getName());
             }
-            PlatformBroadcastLog log1  =  HkSyncPushServiceImpl.dealLedContentBiz(device.getPlatformId(),device.getHkNo(),device.getName(),content,speed,1);
-            platformBroadcastLogMapper.insert(log1);
-            if(log1.getHkStatus() == null || !Constants.equalsInteger(log1.getHkStatus(), Constants.TWO)){
-                log.error( "瀵逛笉璧凤紝灞忓箷鍐呭璁剧疆澶辫触"+(log1!=null?log1.getHkInfo():""));
-            }
+
         }
+        log.error( "灞忓箷鍐呭璁剧疆=======================缁撴潫========" );
     }
 }
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 2cd7077..ea549ae 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
@@ -565,7 +565,7 @@
         insert.setParentId(member.getParentId());
         memberMapper.insert(insert);
 
-    /*    TrainTime trainTime = new TrainTime();
+    /*  TrainTime trainTime = new TrainTime();
         trainTime.setCreator(loginUserInfo.getId().toString());
         trainTime.setCreateDate(new Date());
         trainTime.setEdirot(loginUserInfo.getId().toString());
@@ -602,6 +602,7 @@
                 .set(SystemUser::getUpdateUser,member.getEditor())
                 .set(SystemUser::getUpdateTime,member.getEditDate())
         );
+//        cancelAllMemberEmpower(member,memberRoleMapper,empowerMapper);
         saveUserActionBiz(member,loginUserInfo,Constants.UserActionType.DELETE,userActionJoinMapper,JSONObject.toJSONString(member));
         List<Cars> carsList = carsMapper.selectList(new QueryWrapper<Cars>().lambda()
                 .eq(Cars::getMemberId,member.getId())
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java
index c9c0ab1..235c6e6 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java
@@ -46,10 +46,7 @@
 import org.springframework.util.CollectionUtils;
 
 import java.math.BigDecimal;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 
 /**
  * 鏈堝彴鍏ュ洯棰勭害淇℃伅琛⊿ervice瀹炵幇
@@ -211,7 +208,9 @@
         queryWrapper
                 .selectAll(PlatformBooks.class)
                 .selectAs(PlatformJob::getStatus,PlatformBooks::getJobStatus)
+                .selectAs(SystemUser::getRealname,PlatformBooks::getEditUserName)
                 .leftJoin(PlatformJob.class,PlatformJob::getId,PlatformBooks::getJobId)
+                .leftJoin(SystemUser.class,SystemUser::getId,PlatformJob::getEditDate)
                 .eq(pageWrap.getModel().getId() != null, PlatformBooks::getId, pageWrap.getModel().getId())
                 .eq(pageWrap.getModel().getCreator() != null, PlatformBooks::getCreator, pageWrap.getModel().getCreator())
                 .ge(pageWrap.getModel().getCreateDate() != null, PlatformBooks::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()))
@@ -382,8 +381,7 @@
                 || Objects.isNull(platformBooksApplyDTO.getDriverId())
                 || StringUtils.isBlank(platformBooksApplyDTO.getDriverPhone())
                 || StringUtils.isBlank(platformBooksApplyDTO.getDriverName())
-                || StringUtils.isBlank(platformBooksApplyDTO.getTransportImg())
-        ){
+                || StringUtils.isBlank(platformBooksApplyDTO.getTransportImg())){
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
         //鏌ヨ杞﹁締鏄惁涓鸿嚜鏈夎溅
@@ -402,6 +400,19 @@
         platformBooks.setReasonId(null);
         platformBooks.setInReason(null);
         platformBooksMapper.updateById(platformBooks);
+
+
+
+        Map<String,Object> jsonMap = new HashMap<>();
+        String title = ApproveServiceImpl.creatPlatformBookNotice(platformBooks,jsonMap);
+        noticesJoinMapper.update(null,new UpdateWrapper<Notices>().lambda()
+                .set(Notices::getParam1,JSONObject.toJSONString(jsonMap))
+                .set(Notices::getTitle,title)
+                .eq(Notices::getObjType,Constants.noticesObjectType.reason)
+                .eq(Notices::getTitle,title)
+                .eq(Notices::getObjId,platformBooks.getId())
+        );
+
         return platformBooks.getId();
     }
 
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 9dbe3a6..8f26cb7 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
@@ -245,11 +245,13 @@
                 .selectAs(PlatformWmsJob::getIoCreatedate,PlatformJob::getIoCreatedate)
                 .selectAs(SystemUser::getRealname,PlatformJob::getOutUserName)
                 .selectAs(PlatformBooks::getId,PlatformJob::getBookId)
+                .select("s.REALNAME",PlatformJob::getEditUserName)
                 .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
                 .leftJoin(PlatformGroup.class,PlatformGroup::getId,Platform::getGroupId)
                 .leftJoin(PlatformWmsJob.class,PlatformWmsJob::getCarryBillCode,PlatformJob::getBillCode)
                 .leftJoin(SystemUser.class,SystemUser::getId,PlatformJob::getOutUserId)
                 .leftJoin(PlatformBooks.class,PlatformBooks::getJobId,PlatformJob::getId)
+                .leftJoin(" system_user s on t.EDITOR = s.id   ")
                 .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                 .eq(pageWrap.getModel().getId() != null, PlatformJob::getId, pageWrap.getModel().getId())
                 .eq(pageWrap.getModel().getCreator() != null, PlatformJob::getCreator, pageWrap.getModel().getCreator())
@@ -442,7 +444,7 @@
 
             if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformWmsDetailList)){
                 platformJob.setTotalNum(
-                        platformWmsDetailList.stream().map(m->m.getIoQty()).reduce(BigDecimal.ZERO,BigDecimal::add)
+                        platformWmsDetailList.stream().filter(i->Objects.nonNull(i.getIoQty())).map(m->m.getIoQty()).reduce(BigDecimal.ZERO,BigDecimal::add)
                 );
                 platformWmsJob.setPlatformWmsDetailList(platformWmsDetailList);
                 platformJob.setPlatformWmsJob(platformWmsJob);
@@ -1628,7 +1630,7 @@
                 TmsBaseResponse<List<TmsLockStatusQueryResponse>>  lockResult =  tmsService.lockStatusQuery(tmsLock);
                 if(lockResult!=null && lockResult.getCode()!=null && lockResult.getCode().equals("0")&& lockResult.getData()!=null ){
                      for(TmsLockStatusQueryResponse s : lockResult.getData()){
-                       if(StringUtils.isBlank(s.getContractNumber())){
+                       if(StringUtils.isBlank(s.getOutDate())){
                            continue;
                        }
                          platformWmsDetailMapper.update(null,new UpdateWrapper<PlatformWmsDetail>().lambda()
@@ -1678,28 +1680,37 @@
            Date date = new Date();
            List<String> codeList =new ArrayList<>();
            for(PlatformWmsDetail d : details){
-               codeList.add(d.getContractNum());
+               if(StringUtils.isNotBlank(d.getContractNum())){
+                   if(StringUtils.isNotBlank(d.getContractNum())){
+                       codeList.add(d.getContractNum());
+                   }
+               }
            }
-           TmsLockStatusQueryRequest tmsLock = new TmsLockStatusQueryRequest();
-           tmsLock.setContractNumbers(codeList);
            List<Integer> jobIds = new ArrayList<>();
-           TmsBaseResponse<List<TmsLockStatusQueryResponse>>  lockResult =  tmsService.lockStatusQuery(tmsLock);
-           if(lockResult!=null && lockResult.getCode()!=null && lockResult.getCode().equals("0")&& lockResult.getData()!=null ){
-               for(TmsLockStatusQueryResponse s : lockResult.getData()){
-                   try {
-                       //寮傚父澶勭悊锛岃兘澶勭悊涓�涓槸涓�涓�
-                       platformWmsDetailMapper.update(null,new UpdateWrapper<PlatformWmsDetail>().lambda()
-                               .eq(PlatformWmsDetail::getContractNum,s.getContractNumber())
-                               .set(PlatformWmsDetail::getEditDate,date)
-                               .set(PlatformWmsDetail::getLockDate,s.getOutDate())
-                               .set(PlatformWmsDetail::getLockStatus,Constants.ONE)
-                               .eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO));
-                       PlatformWmsDetail job = getJobByContractnumFromDetail(s.getContractNumber(),details);
-                       if(job != null){
-                           jobIds.add(job.getJobId());
+           if(codeList.size()>0){
+               TmsLockStatusQueryRequest tmsLock = new TmsLockStatusQueryRequest();
+               tmsLock.setContractNumbers(codeList);
+               TmsBaseResponse<List<TmsLockStatusQueryResponse>>  lockResult =  tmsService.lockStatusQuery(tmsLock);
+               if(lockResult!=null && lockResult.getCode()!=null && lockResult.getCode().equals("0")&& lockResult.getData()!=null ){
+                   for(TmsLockStatusQueryResponse s : lockResult.getData()){
+                       try {
+                           if(StringUtils.isBlank(s.getOutDate())){
+                               continue;
+                           }
+                           //寮傚父澶勭悊锛岃兘澶勭悊涓�涓槸涓�涓�
+                           platformWmsDetailMapper.update(null,new UpdateWrapper<PlatformWmsDetail>().lambda()
+                                   .eq(PlatformWmsDetail::getContractNum,s.getContractNumber())
+                                   .set(PlatformWmsDetail::getEditDate,date)
+                                   .set(PlatformWmsDetail::getLockDate,s.getOutDate())
+                                   .set(PlatformWmsDetail::getLockStatus,Constants.ONE)
+                                   .eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO));
+                           PlatformWmsDetail job = getJobByContractnumFromDetail(s.getContractNumber(),details);
+                           if(job != null){
+                               jobIds.add(job.getJobId());
+                           }
+                       }catch (Exception e){
+                           logger.error("=============鏇存柊鐢靛瓙閿佺姸鎬佷俊鎭紓甯革細"+e.getMessage());
                        }
-                   }catch (Exception e){
-                        logger.error("=============鏇存柊鐢靛瓙閿佺姸鎬佷俊鎭紓甯革細"+e.getMessage());
                    }
                }
            }
@@ -2440,7 +2451,7 @@
      * @param jobIdList
      */
     @Override
-    public void dealJobFinish(List<Integer> jobIdList){
+    public void dealJobFinish(List<Integer> jobIdList,LoginUserInfo loginUserInfo){
         if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(jobIdList)){
             List<PlatformJob> platformJobList = platformJobMapper.selectList(new QueryWrapper<PlatformJob>().lambda()
                     .eq(PlatformJob::getIsdeleted,Constants.ZERO)
@@ -2450,10 +2461,10 @@
                     .in(PlatformJob::getId,jobIdList)
             );
             if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformJobList)){
-
                 platformJobMapper.update(null,new UpdateWrapper<PlatformJob>().lambda()
                         .set(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey())
                         .set(PlatformJob::getDoneDate,new Date())
+                        .set(PlatformJob::getEditor,loginUserInfo.getId())
                         .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CONFIRM.getKey(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey(),Constants.PlatformJobStatus.WAIT_CALL.getKey())
                         .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                         .in(PlatformJob::getId,platformJobList.stream().map(i->i.getId()).collect(Collectors.toList())));
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 8b74790..297c0a1 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
@@ -218,5 +218,4 @@
     }
 
 
-
 }
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 e4c6ad1..e3dbf9d 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
@@ -235,8 +235,10 @@
                 .leftJoin(Member.class,Member::getId,Retention::getMemberId)
                 .leftJoin(Member.class,Member::getId,Retention::getMemberId)
                 .leftJoin(Company.class,Company::getId,Member::getCompanyId)
+                .leftJoin(Category.class,Category::getId,Retention::getCategoryId)
                 .selectAs(Company::getCompanyNamePath,Retention::getCompanyName)
                 .selectAs(Member::getName,Retention::getName)
+                .selectAs(Category::getName,Retention::getCategoryName)
                 .selectAs(Member::getPhone,Retention::getPhone)
                 .selectAs(Member::getVisitCompanyName,Retention::getVisitCompanyName)
                 .and(StringUtils.isNotBlank(pageWrap.getModel().getKeyWords()),w->{
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 4490ed7..f4b8bb7 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
@@ -1296,6 +1296,7 @@
 
         queryWrapper.selectAll(Visits.class);
         queryWrapper.select("  ( select count(distinct(v.CAR_NOS)) from visits v where v.PARENT_ID = t.ID and v.CAR_NOS is not null  and v.CAR_NOS != ''  and v.CAR_NOS != t.CAR_NOS ) as carNum  ");
+        queryWrapper.select("  ( select count(distinct(v.id)) from retention v where v.member_id = t.member_id and v.type=1 )",Visits::getRetentionNum);
         queryWrapper.selectAs(Member::getName,Visits::getReceptMemberName);
         queryWrapper.selectAs(Company::getName,Visits::getReceptMemberDepartment);
         queryWrapper.leftJoin(Member.class,Member::getId,Visits::getReceptMemberId);
@@ -1603,9 +1604,9 @@
         if(Objects.isNull(visits)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY);
         }
-        if(!(Constants.equalsInteger(memberId,visits.getMemberId()))){
+/*        if(!(Constants.equalsInteger(memberId,visits.getMemberId()))){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏃犳鎿嶄綔鏉冮檺");
-        }
+        }*/
         if(!StringUtils.equals(openid,visits.getOpenid())){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏃犳鎿嶄綔鏉冮檺");
         }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
index f20bf30..550868e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
@@ -545,7 +545,8 @@
         List<Empower> faceErrorList = new ArrayList<>();
         for(Empower c : list) {
             //鍚戜换鍔℃坊鍔犱汉鍛樸�佽澶囦俊鎭暟鎹�
-            if((Constants.equalsInteger(c.getMemberDeleted(),Constants.ONE) &&
+            if((Constants.equalsInteger(c.getIsdeleted(),Constants.ZERO) &&
+                    Constants.equalsInteger(c.getMemberDeleted(),Constants.ONE) &&
                     Constants.equalsInteger(c.getMemberHkStatus(),Constants.ONE))
                     ||  Constants.equalsInteger(c.getDeviceDeleted(),1)){
                 //濡傛灉浜哄摗鎴栬�呰ō鍌欏垹闄わ紝鍙栨秷涓嬪彂
@@ -553,7 +554,8 @@
                 continue;
             }
             if(Constants.equalsInteger(c.getMemberDeleted(),Constants.ONE)
-                   && Constants.equalsInteger(c.getIsdeleted(),1)){
+                    && Constants.equalsInteger(c.getMemberHkStatus(),Constants.ONE)
+                    && Constants.equalsInteger(c.getIsdeleted(),Constants.ZERO)){
                 //濡傛灉浜哄憳宸茬鑱岋紝鏂板鎺堟潈鏃犻渶涓嬪彂锛屽彇娑堜笅鍙�
                 cacenList.add(c);
                 continue;
@@ -790,8 +792,8 @@
         queryWrapper.selectAs(Device::getChannelNo,Empower::getDeviceChannelNo);
         queryWrapper.selectAs(Member::getHkId,Empower::getMemberHkId);
         queryWrapper.selectAs(Member::getFaceStatus,Empower::getMemberFaceStatus);
-        queryWrapper.selectAs(Member::getHkStatus,Empower::getMemberFaceStatus);
-        queryWrapper.selectAs(Device::getOnline,Empower::getMemberHkStatus);
+        queryWrapper.selectAs(Member::getHkStatus,Empower::getMemberHkStatus);
+        queryWrapper.selectAs(Device::getOnline,Empower::getDeviceOnline);
         queryWrapper.selectAs(Device::getIsdeleted,Empower::getDeviceDeleted);
         queryWrapper.selectAs(Member::getIsdeleted,Empower::getMemberDeleted);
         queryWrapper.selectAs(Device::getHkId,Empower::getDeviceIndexCode);
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 617c8fd..7233eb7 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
@@ -560,8 +560,11 @@
                     updateVistis.setOutInfo("璁垮姝e父绛剧");
                 }
                 delRetentionLis.add(visits.getMemberId());
-            }else{
-                //濡傛灉浜哄憳淇℃伅瀛樺湪锛屽垏鏄瀹㈤�氳锛屽垯鍒犻櫎涔嬪墠鐨勬墍鏈夎繘鍦烘暟鎹紙鏃犺姝ゆ鎺ㄩ�佹槸杩涘巶杩樻槸鍑哄満鎺ㄩ�佷簨浠讹級
+            }else  if(!(request.getData().getParamValues()!=null
+                        && StringUtils.isNotBlank(request.getData().getParamValues().getPlateNos())
+                        && StringUtils.isNotBlank(request.getData().getParamValues().getParkIndex()))){
+                //鍙鐞嗚瀹㈤棬绂侀�氳閫氳锛�
+                //濡傛灉浜哄憳淇℃伅瀛樺湪锛屽垯鍒犻櫎涔嬪墠鐨勬墍鏈夎繘鍦烘暟鎹紙鏃犺姝ゆ鎺ㄩ�佹槸杩涘巶杩樻槸鍑哄満鎺ㄩ�佷簨浠讹級
                 delRetentionLis.add(visits.getMemberId());
                 InoutRecord record = new InoutRecord();
                 record.setDeviceName((request.getData()!=null &&request.getData().getParamValues()!=null)?
@@ -603,23 +606,23 @@
                 }
                 if( request.getData().getParamValues()!=null
                         && StringUtils.isNotBlank(request.getData().getParamValues().getPlateNos())
-                        && StringUtils.isNotBlank(request.getData().getParamValues().getParkIndex())){
+                        && StringUtils.isNotBlank(request.getData().getParamValues().getParkIndex())) {
                     //濡傛灉鏄仠杞﹀満浜嬩欢锛岃褰曡溅杈嗙被鍨�
                     Category category = null;
                     record.setCarCode(request.getData().getParamValues().getPlateNos());
-                    if(StringUtils.isNotBlank(record.getCarCode())){
+                    if (StringUtils.isNotBlank(record.getCarCode())) {
                         category = categoryMapper.selectJoinOne(Category.class, new MPJLambdaWrapper<Category>()
                                 .selectAll(Category.class)
-                                .select("t4.name",Category::getParentName)
+                                .select("t4.name", Category::getParentName)
                                 .leftJoin("category t4 on t.parent_id=t4.id")
-                                .eq(Category::getIsdeleted,Constants.ZERO)
-                                .eq(Category::getBizType,Constants.RetentionCarType.fkCar)
+                                .eq(Category::getIsdeleted, Constants.ZERO)
+                                .eq(Category::getBizType, Constants.RetentionCarType.fkCar)
                                 .last("limit 1"));
-                        if(category ==null){
+                        if (category == null) {
                             category = new Category();
                             category.setName("璁垮杞﹁締");
                         }
-                        category.setParentName(StringUtils.defaultString(category.getParentName(),"璁垮杞﹁締"));
+                        category.setParentName(StringUtils.defaultString(category.getParentName(), "璁垮杞﹁締"));
                     }
                     record.setCarBizType(Constants.RetentionCarType.fkCar);
                     record.setCategoryId(category.getId());
@@ -627,17 +630,17 @@
                     record.setCategoryName(category.getName());
                     record.setCategoryParentId(category.getParentId());
                     record.setCategoryParentName(category.getParentName());
-                    if(Constants.equalsInteger(record.getInOrOut(),Constants.ONE)){
+                    if (Constants.equalsInteger(record.getInOrOut(), Constants.ONE)) {
                         record.setRemark("璁垮璺熼殢杞﹁締绂诲洯骞惰嚜鍔ㄧ绂�");
                         try {
                             //璁垮鐢宠鑷姩绛剧
                             visitsService.visitLevelForCarOut(visits);
-                        }catch (Exception e){
-                            log.error("璁垮璺熼殢杞﹁締鍑哄洯鑷姩绛剧澶辫触锛�==========="+e.getMessage());
+                        } catch (Exception e) {
+                            log.error("璁垮璺熼殢杞﹁締鍑哄洯鑷姩绛剧澶辫触锛�===========" + e.getMessage());
                         }
                     }
                 }
-                inoutRecordList.add(record);
+                inoutRecordList.add(record);//杩涘嚭璁板綍
             }
             updateVistis.setEditDate(new Date());
             //鏇存柊璁垮鏉ヨ鎴栬�呯绂绘椂闂翠俊鎭�
@@ -1079,9 +1082,9 @@
                     carrecord.setCategoryParentId(category.getParentId());
                 }
             }
-            //澶勭悊鑷湁杞﹁嚜鍔ㄧ鍒颁笟鍔�
-            dealSelTruckAutoSignBiz(request,event);
             if(Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.PARK_PASS_IN.getKey()){
+                //澶勭悊鑷湁杞﹁嚜鍔ㄧ鍒颁笟鍔�
+                dealSelTruckAutoSignBiz(request,event);
                 //濡傛灉鏄叆鍘傛斁琛�
                 delRetentionList.add(event.getPlateNos());
                 Retention dm = new Retention();
@@ -1126,7 +1129,7 @@
                     carrecord.setCategoryParentName(StringUtils.defaultString(category.getParentName(),"璁垮杞﹁締"));
                     carrecord.setCategoryParentId(category.getParentId());
                     for(Visits v :visitsList){
-                        if(v.getEndtime()!=null && v.getEndtime().getTime() < System.currentTimeMillis()){
+//                        if(v.getEndtime()!=null && v.getEndtime().getTime() < System.currentTimeMillis()){
                             Retention dm = new Retention();
                             dm.setMemberId(event.getMemberId());
                             dm.setPhone(carrecord.getMemberPhone());
@@ -1163,7 +1166,7 @@
                                 inoutDayCount.setInVisitorNum(Constants.formatIntegerNum(inoutDayCount.getInVisitorNum())+1);
                             }
                         }
-                    }
+//                    }
                 }
             }
             if(isCarInOrOutEvent(request) && event.getCarType() !=null && !event.getCarType().equals(Constants.RetentionCarType.fkCar)){
@@ -1259,8 +1262,10 @@
                         .in(PlatformJob::getStatus,
                                 Constants.PlatformJobStatus.IN_WAIT.getKey(),
                                 Constants.PlatformJobStatus.CALLED.getKey(),
+                                Constants.PlatformJobStatus.WAIT_CALL.getKey(),
                                 Constants.PlatformJobStatus.WORKING.getKey(),
                                 Constants.PlatformJobStatus.TRANSFERING.getKey(),
+                                Constants.PlatformJobStatus.OVER_NUMBER.getKey(),
                                 Constants.PlatformJobStatus.EXCEPTION.getKey()
                         )
                 )==Constants.ZERO){//濡傛灉娌¤繘琛屼腑浠诲姟
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java
index 77c2f83..8fe86fe 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java
@@ -360,7 +360,8 @@
      */
     @Override
     public   void syncMemberDelData(){
-        if(Constants.DEALING_HK_DEL_USER  || Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) != DataSyncConfig.origin.erp){
+        if(Constants.DEALING_HK_DEL_USER
+                || Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin())== DataSyncConfig.origin.hk){
             return   ;
         }
         Constants.DEALING_HK_DEL_USER =true;
@@ -419,14 +420,16 @@
         }
         Date date = new Date();
         for(Member member : list){
+            //涓�鍗¢�氭巿鏉冧笅鍙戠姸鎬� 0寰呬笅鍙� 1宸蹭笅鍙� 2涓嬪彂鎴愬姛   3宸插彇娑� 4涓嬪彂澶辫触 5浠诲姟涓嬭浇宸茬粨鏉�
             if(member!=null && Constants.equalsInteger(member.getIsdeleted(),Constants.ONE) ){
                 if(empowerMapper.selectCount(new QueryWrapper<Empower>().lambda()
                         .eq(Empower::getMemberId, member.getId())
                         .eq(Empower::getIsdeleted,Constants.ONE)
                         .ne(Empower::getFailFlag,Constants.ONE)
-                        .ne(Empower::getSendStatus,Constants.EmpowerStatus.pass)) ==0) {
-                    //濡傛灉鏉冮檺閮藉凡缁忓垹闄ゆ垚鍔燂紝鍒欏垹闄ゆ捣搴蜂汉鍛樺拰鍗$墖鏁版嵁
-
+                        .notIn(Empower::getSendStatus
+                                ,Constants.EmpowerStatus.pass
+                                ,Constants.EmpowerStatus.cancel )) ==0) {
+                    //濡傛灉鏉冮檺閮藉凡缁忓垹闄ゆ垚鍔燂紝鍒欏垹闄ゆ捣搴蜂汉鍛樺拰鍗$墖鏁�
                     HkSyncEmpowerServiceImpl.doHkDeleteUser(member.getId(),member.getHkId(),date,memberMapper1,memberCardMapper);
                 }
             }
@@ -453,12 +456,11 @@
                         for(String s :ss){
                             try {
                                 Integer ts =Integer.parseInt(s);
-                                 r.add(ts);
+                                r.add(ts);
                             }catch (Exception e){
                                 //鑴忔暟鎹笉澶勭悊
                             }
                         }
-
                     }
                 }
                 return  r;
@@ -536,9 +538,8 @@
             //濡傛灉娌℃湁鍗� 涔熸病鏈変汉鑴�
             return;
         }
-
         if(Constants.equalsInteger(member.getIsdeleted(),Constants.ZERO)){
-//                && Constants.equalsInteger(member.getHkStatus(),Constants.ONE)){
+                // && Constants.equalsInteger(member.getHkStatus(),Constants.ONE)){
             List<Integer> deviceIds =new ArrayList<>();//鏂拌澶囩紪鐮侀泦鍚�
             List<Empower> list = new ArrayList<>();//鏂版巿鏉冭褰曢泦鍚�
             //濡傛灉鐢ㄦ埛鏄悓姝ユ捣搴锋垚鍔燂紝娣诲姞甯︿笅鍙戞潈闄愶紙鍙鐞嗘柊澧炴垨鑰呯紪杈戠殑锛�
@@ -677,7 +678,6 @@
             cr.setCardType(m.getType());
             param.getCardList().add(cr);
         }
-
         //澶勭悊鏂板鏁版嵁
         BaseResponse<List<CardInfoResponse>> result =  HKService.cardBingding(param);
         if(result !=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) ){
@@ -713,7 +713,7 @@
     public static   List<MemberCard> getNormalCardList(Member member,MemberCardMapper memberCardMapper) {
        return memberCardMapper.selectList(new QueryWrapper<MemberCard>().lambda()
                 .eq(MemberCard::getMemberId,member.getId())
-//                .eq(MemberCard::getType,Constants.TWO)
+                // .eq(MemberCard::getType,Constants.TWO)
                 .eq(MemberCard::getStatus,Constants.MemberCard.normal)
                 .eq(MemberCard::getHkStatus,Constants.ONE)  );
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
index 8fdcc2f..d4c376b 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -1024,6 +1024,7 @@
         Date lastMonth =  DateUtil.addMonthToDate(month,-1);//涓婃湀
         Date year = Utils.Date.getStart(new Date());//浠婂勾
         Date lastYear = DateUtil.addYearToDate(year,-1);//鍘诲勾
+        log.error("1銆�=====================>"+DateUtil.getCurrDateTime());
         List<PlatformJob>  monthNum = platformJobMapper.selectJoinList(PlatformJob.class,
                     new MPJLambdaWrapper<PlatformJob>()
                             .selectAs(PlatformJob::getId,PlatformJob::getId)
@@ -1038,6 +1039,7 @@
                                 Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())
                         .apply("year(done_date) = year('"+DateUtil.getPlusTime2(month)+"') and month(done_date) = month('"+DateUtil.getPlusTime2(month)+"') "));
 
+        log.error("2銆�=====================>"+DateUtil.getCurrDateTime());
         List<PlatformJob>  yearNum = platformJobMapper.selectJoinList(PlatformJob.class,
                 new MPJLambdaWrapper<PlatformJob>()
                         .selectAs(PlatformJob::getId,PlatformJob::getId)
@@ -1049,6 +1051,8 @@
                         .in(PlatformJob::getType,Constants.ONE,Constants.THREE)
                         .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())
                         .apply("year(done_date) = year('"+DateUtil.getPlusTime2(year)+"')   and done_date<=  now()  "));
+
+        log.error("3銆�=====================>"+DateUtil.getCurrDateTime());
         List<PlatformJob>  monthLastNum = platformJobMapper.selectJoinList(PlatformJob.class,
                 new MPJLambdaWrapper<PlatformJob>()
                         .selectAs(PlatformJob::getId,PlatformJob::getId)
@@ -1061,7 +1065,8 @@
                         .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())
                         .apply("year(done_date) = year('"+DateUtil.getPlusTime2(lastMonth)+"') and month(done_date) = month('"+DateUtil.getPlusTime2(lastMonth)+"') and  done_date<= '"
                                 +DateUtil.getPlusTime2(lastMonth)+"'"));
-        
+
+        log.error("4銆�=====================>"+DateUtil.getCurrDateTime());
         List<PlatformJob> yearLastNum = platformJobMapper.selectJoinList(PlatformJob.class,
                 new MPJLambdaWrapper<PlatformJob>()
                         .selectAs(PlatformJob::getId,PlatformJob::getId)
@@ -1080,6 +1085,7 @@
         data.setMonthOutTimes(monthNum!=null?monthNum.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)||Constants.equalsInteger(i.getType(),Constants.THREE)).collect(Collectors.toList()).size():0);
         data.setYearOutTimes(yearNum!=null?yearNum.size():0);
 
+        log.error("5銆�=====================>"+DateUtil.getCurrDateTime());
         //==========浠婂ぉ涔嬪墠鏈畬鎴愬嚭鍏ュ簱浠诲姟
         List<PlatformJob> beforeJobNum = platformJobMapper.selectJoinList(PlatformJob.class,
                 new MPJLambdaWrapper<PlatformJob>()
@@ -1095,6 +1101,7 @@
                         .apply("   to_days(create_date) < to_days(now()) ")
         );
 
+        log.error("6銆�=====================>"+DateUtil.getCurrDateTime());
         //==========浠婂ぉ鍑哄叆搴撳畬鎴愰噺
         List<PlatformJob> currentDoneNum = platformJobMapper.selectJoinList(PlatformJob.class,
                 new MPJLambdaWrapper<PlatformJob>()
@@ -1107,6 +1114,7 @@
                         .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.CANCEL.getKey())
                         .apply(" to_days(done_date) = to_days(now())"));
 
+        log.error("7銆�=====================>"+DateUtil.getCurrDateTime());
         //==========浠婂ぉ涓嬪彂鍑哄叆搴撲换鍔� 鏈畬鎴愮殑----
         List<PlatformJob> currentNum = platformJobMapper.selectJoinList(PlatformJob.class,
                 new MPJLambdaWrapper<PlatformJob>()
@@ -1119,18 +1127,39 @@
                         .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.CANCEL.getKey())
                         .apply(" to_days(create_date) = to_days(now()) and done_date is null   "));
 
+        log.error("8銆�=====================>"+DateUtil.getCurrDateTime());
         BigDecimal beforeOutNum = (getSumTotalByList(beforeJobNum,0,null));//浠婂ぉ涔嬪墠鏈畬鎴愬嚭搴撲换鍔�
+        log.error("9銆�=====================>"+DateUtil.getCurrDateTime());
         BigDecimal currentOutNum = (getSumTotalByList(currentNum,0,null));//浠婂ぉ涓嬪彂鍑哄簱浠诲姟
+        log.error("10銆�=====================>"+DateUtil.getCurrDateTime());
         BigDecimal beforeInNum = (getSumTotalByList(beforeJobNum,1,null));//浠婂ぉ涔嬪墠鏈畬鎴愬叆搴撲换鍔�
+        log.error("11銆�=====================>"+DateUtil.getCurrDateTime());
         BigDecimal currentInNum = (getSumTotalByList(currentNum,1,null));//浠婂ぉ涓嬪彂鍏ュ簱浠诲姟
+        log.error("12銆�=====================>"+DateUtil.getCurrDateTime());
         data.setCurrentInDoneNum(getSumTotalByList(currentDoneNum,1,1));//浠婃棩瀹屾垚閲�
+        log.error("13銆�=====================>"+DateUtil.getCurrDateTime());
         data.setCurrentOutDoneNum(getSumTotalByList(currentDoneNum,0,1));//浠婃棩瀹屾垚閲�
+        log.error("14銆�=====================>"+DateUtil.getCurrDateTime());
         data.setCurrentInNum(beforeInNum.add(data.getCurrentInDoneNum()).add(currentInNum));//褰撳墠鍏ュ簱鎬讳换鍔℃垚閲�
+        log.error("15銆�=====================>"+DateUtil.getCurrDateTime());
         data.setCurrentOutNum(beforeOutNum.add(data.getCurrentOutDoneNum()).add(currentOutNum));//褰撳墠鍑哄簱鎬讳换鍔℃垚閲�
+        log.error("16銆�=====================>"+DateUtil.getCurrDateTime());
         data.setTodayOutRate(getDayTotalRata(data.getCurrentOutDoneNum(),DateUtil.getToday()));//褰撴棩鍑哄簱鏁堢巼
+        log.error("17銆�=====================>"+DateUtil.getCurrDateTime());
         data.setTodayInRate(getDayTotalRata(data.getCurrentInDoneNum(),DateUtil.getToday()));//褰撴棩鍏ュ簱鏁堢巼
-        data.setMonthOutRate(getMonthRata(monthNum,Constants.ZERO));//鏈湀鍑哄簱鏁堢巼
-        data.setMonthInRate(getMonthRata(monthNum,Constants.ONE));//鏈湀鍏ュ簱鏁堢巼
+        log.error("18銆�=====================>"+DateUtil.getCurrDateTime());
+        //鏌ヨ鏈湀鍏ㄩ儴鏃ュ織
+        List<PlatformLog> monthLogList = platformLogMapper.selectList(new QueryWrapper<PlatformLog>().lambda()
+                .eq(PlatformLog::getIsdeleted,Constants.ZERO)
+                .and(i->i.isNotNull(PlatformLog::getParam1).or().isNotNull(PlatformLog::getParam2))
+                .apply("year(CREATE_DATE) = year('"+DateUtil.getPlusTime2(month)+"') and month(CREATE_DATE) = month('"+DateUtil.getPlusTime2(month)+"') ")
+        );
+
+
+        data.setMonthOutRate(getMonthRata(monthLogList,monthNum,Constants.ZERO));//鏈湀鍑哄簱鏁堢巼
+        log.error("19銆�=====================>"+DateUtil.getCurrDateTime());
+        data.setMonthInRate(getMonthRata(monthLogList,monthNum,Constants.ONE));//鏈湀鍏ュ簱鏁堢巼
+        log.error("20銆�=====================>"+DateUtil.getCurrDateTime());
         //------------浠婃棩鍑哄叆搴撴晥鐜�---------------- 
 //        BigDecimal outHours = getTotalDoneTimes(currentDoneNum,0);//
 //        BigDecimal inHours = getTotalDoneTimes(currentDoneNum,1);//
@@ -1202,7 +1231,7 @@
     }
 
 
-    private BigDecimal getMonthRata(List<PlatformJob> list, Integer type) {
+    private BigDecimal getMonthRata(List<PlatformLog> monthLogList,List<PlatformJob> list, Integer type) {
         BigDecimal r = new BigDecimal(0);
         if(list==null || list.size() == 0){
             return r;
@@ -1235,11 +1264,28 @@
                             filter(i->jobDate.equals(DateUtil.formatDate(i.getDoneDate(),"yyyy-MM-dd"))).collect(Collectors.toList());
                     if(CollectionUtils.isNotEmpty(platformJobList)){
                         //鑾峰彇浠婂ぉ鐨�
-                        r = r.add(this.getDayTotalRata(getSumTotalByList(platformJobList,type,null),jobDate));
+                        r = r.add(this.getDayTotalForMonthRata(monthLogList,getSumTotalByList(platformJobList,type,null),jobDate));
                     }
                 }
                 r = r.divide(new BigDecimal(Integer.toString(jobList.size())),2,BigDecimal.ROUND_HALF_UP);
             }
+        }
+        return r;
+    }
+
+    private BigDecimal getDayTotalForMonthRata(List<PlatformLog> allList ,BigDecimal totalAmount,String today) {
+        BigDecimal r = new BigDecimal(0);
+        //鏌ヨ浠婃棩鏈�鏃�/鏈�鏅氱殑浣滀笟鏁版嵁
+        List<PlatformLog> platformLogList = allList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM-dd").equals(today)).collect(Collectors.toList());
+//                platformLogMapper.selectList(new QueryWrapper<PlatformLog>()
+//                .lambda()
+//                .apply(" (  DATE_FORMAT( param1 ,'%Y-%m-%d' ) =  '"+today+"' or DATE_FORMAT( param2 ,'%Y-%m-%d' )  =  '"+today+"' ) ")
+//        );
+        if(totalAmount.compareTo(BigDecimal.ZERO)==0||CollectionUtils.isEmpty(platformLogList)){
+            return BigDecimal.ZERO;
+        }
+        if(platformLogList!=null && platformLogList.size()>0){
+            return this.getWorkTime(totalAmount,platformLogList,today);
         }
         return r;
     }
@@ -1256,7 +1302,7 @@
             return BigDecimal.ZERO;
         }
         if(platformLogList!=null && platformLogList.size()>0){
-            return this.getWorkTime(totalAmount,platformLogList);
+            return this.getWorkTime(totalAmount,platformLogList,today);
         }
         return r;
     }
@@ -1267,15 +1313,19 @@
      * @param platformLogList
      * @return
      */
-    public BigDecimal getWorkTime(BigDecimal totalAmount,List<PlatformLog> platformLogList){
+    public BigDecimal getWorkTime(BigDecimal totalAmount,List<PlatformLog> platformLogList,String today){
         if(CollectionUtils.isEmpty(platformLogList)){
             return BigDecimal.ZERO;
         }
         //鑾峰彇寮�濮嬫椂闂�
-        List<Long> startTimeList = platformLogList.stream().filter(i->Objects.nonNull(i.getParam1())).map(i->DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",i.getParam1()).getTime()).collect(Collectors.toList());
+        List<Long> startTimeList = platformLogList.stream().filter(i->Objects.nonNull(i.getParam1()))
+                .filter(i->Objects.nonNull(i.getParam1())&&i.getParam1().indexOf(today)>=0)
+                .map(i->DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",i.getParam1()).getTime()).collect(Collectors.toList());
         Long startTime  = Collections.min(startTimeList);
         //鑾峰彇缁撴潫鏃堕棿
-        List<Long> endTimeList = platformLogList.stream().filter(i->Objects.nonNull(i.getParam2())).map(i->DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",i.getParam2()).getTime()).collect(Collectors.toList());
+        List<Long> endTimeList = platformLogList.stream()
+                .filter(i->Objects.nonNull(i.getParam2())&&i.getParam2().indexOf(today)>=0)
+                .map(i->DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",i.getParam2()).getTime()).collect(Collectors.toList());
         Long endTime = Collections.max(endTimeList);
         if(Objects.isNull(startTime)
             || Objects.isNull(endTime) || (startTime>=endTime)){
@@ -1283,14 +1333,6 @@
         }
         return   totalAmount.divide(new BigDecimal(( endTime - startTime )+"").divide(new BigDecimal("3600000"),2,BigDecimal.ROUND_HALF_UP),2,BigDecimal.ROUND_HALF_UP) ;
     }
-
-
-
-
-
-
-
-
 
 
     private BigDecimal  getSumTotalByList(List<PlatformJob> list,Integer type,Integer status) {
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 496c7f8..9ede393 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
@@ -320,9 +320,9 @@
                         entity.setJobId(job.getJobId());
                         entity.setContractNum(param.getContractNum());
                         entity.setWmsJobId(job.getId());
-                        entity.setIoQty(d.getIoQty());
                         entity.setStatus(Constants.ZERO);
-                        entity.setRate(d.getRate());
+                        entity.setIoQty(Constants.formatBigdecimal(d.getIoQty()).multiply(Constants.formatBigdecimal( d.getRate())));
+                        entity.setRate(Objects.nonNull(d.getRate())?Constants.formatBigdecimal(d.getRate()).doubleValue()+"":"1");
                         entity.setMaterialName(d.getMaterialName());
                         entity.setInRepertotyCode(d.getInRepertotyCode());
                         iocodeList.add(d.getIoCode());
@@ -412,6 +412,7 @@
                         Constants.PlatformJobStatus.IN_WAIT.getKey()+","+
                         Constants.PlatformJobStatus.CALLED.getKey()+","+
                         Constants.PlatformJobStatus.TRANSFERING.getKey()+","+
+                        Constants.PlatformJobStatus.OVER_NUMBER.getKey()+","+
                         Constants.PlatformJobStatus.EXCEPTION.getKey()+","+
                         Constants.PlatformJobStatus.WORKING.getKey()+")) as jobNum")
                 .lambda()
@@ -554,11 +555,13 @@
                         entity.setJobId(job.getJobId());
                         entity.setWmsJobId(job.getId());
                         entity.setContractNum(param.getContractNum());
-                        entity.setIoQty(d.getIoQty());
                         entity.setRepertotyAddress(job.getRepertotyAddress());
                         entity.setWmsJobId(job.getId());
                         entity.setStatus(Constants.ZERO);
-                        entity.setRate(d.getRate());
+                        entity.setIoQty(Constants.formatBigdecimal(d.getIoQty()).multiply(Constants.formatBigdecimal( d.getRate())));
+                        entity.setRate(Objects.nonNull(d.getRate())?Constants.formatBigdecimal(d.getRate()).doubleValue()+"":"1");
+//                        entity.setIoQty(d.getIoQty());
+//                        entity.setRate(d.getRate());
                         entity.setMaterialName(d.getMaterialName());
                         iocodeList.add(d.getIoCode());
                         details.add(entity);

--
Gitblit v1.9.3