From 24c767e8012d882f0aa8083d79503878c4647caf Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 16 十月 2024 09:32:52 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/system_service/src/main/java/com/doumee/core/utils/Constants.java                                      |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/DeviceEvent.java                    |   10 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java           |    1 
 admin/src/components/common/MenuSelect.vue                                                                    |   19 +-
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java       |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarEvent.java                       |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java          |    1 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java      |    8 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/DeviceEventDTO.java                 |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java                    |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java      |   22 ++
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java                    |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsJobServiceImpl.java   |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java |    1 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/RetentionCloudController.java                |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java                    |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java                    |   10 +
 admin/src/api/platform/platform.js                                                                            |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java         |   19 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java           |   51 +++--
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java        |   36 +++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java        |    7 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarEventCloudController.java                 |    2 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/DeviceEventCloudController.java              |    4 
 admin/src/views/index.vue                                                                                     |   65 ++++---
 admin/src/views/meeting/components/common/FileLink.vue                                                        |   44 ++--
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerLogServiceImpl.java  |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java                      |    7 
 admin/src/views/platform/LogisticsRecord/subscribe.vue                                                        |   23 ++
 admin/src/views/platform/set/index.vue                                                                        |   15 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java       |    2 
 admin/src/views/platform/index.vue                                                                            |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java           |   26 +-
 admin/src/components/base/BaseTable.vue                                                                       |    2 
 admin/src/views/meeting/components/selectMember.vue                                                           |   54 +++---
 35 files changed, 297 insertions(+), 169 deletions(-)

diff --git a/admin/src/api/platform/platform.js b/admin/src/api/platform/platform.js
index db0773e..c258903 100644
--- a/admin/src/api/platform/platform.js
+++ b/admin/src/api/platform/platform.js
@@ -51,3 +51,7 @@
     }
   })
 }
+// 鏌ヨ鍙绾﹂噺
+export function checkSurplusNum (data) {
+  return request.post('/visitsAdmin/cloudService/business/platformBooks/checkSurplusNum', data)
+}
\ No newline at end of file
diff --git a/admin/src/components/base/BaseTable.vue b/admin/src/components/base/BaseTable.vue
index 7aea229..5b96868 100644
--- a/admin/src/components/base/BaseTable.vue
+++ b/admin/src/components/base/BaseTable.vue
@@ -220,4 +220,4 @@
     }
   }
 }
-</script>
+</script>
\ No newline at end of file
diff --git a/admin/src/components/common/MenuSelect.vue b/admin/src/components/common/MenuSelect.vue
index 3471617..b01748f 100644
--- a/admin/src/components/common/MenuSelect.vue
+++ b/admin/src/components/common/MenuSelect.vue
@@ -12,7 +12,8 @@
 
 <script>
 import TreeSelect from './TreeSelect'
-import { fetchTree, fetchTree1 } from '@/api/system/menu'
+// import { fetchTree, fetchTree1 } from '@/api/system/menu'
+import { fetchTree } from '@/api/system/menu'
 export default {
   name: 'MenuSelect',
   components: { TreeSelect },
@@ -51,14 +52,14 @@
     // 鑾峰彇鎵�鏈夎彍鍗�
     fetchData () {
       if (this.type === '1') {
-        fetchTree1()
-          .then(records => {
-            this.data = []
-            this.__fillData(this.data, records)
-          })
-          .catch(e => {
-            this.$tip.apiFailed(e)
-          })
+        // fetchTree1()
+        //   .then(records => {
+        //     this.data = []
+        //     this.__fillData(this.data, records)
+        //   })
+        //   .catch(e => {
+        //     this.$tip.apiFailed(e)
+        //   })
       } else {
         fetchTree()
           .then(records => {
diff --git a/admin/src/views/index.vue b/admin/src/views/index.vue
index e223287..c96cdaa 100644
--- a/admin/src/views/index.vue
+++ b/admin/src/views/index.vue
@@ -89,21 +89,10 @@
                   <div class="echart" id="echart1"></div>
                 </div>
                 <div class="list">
-                  <div class="item">
-                    <div class="icon"></div>
-                    <div class="text">璁垮</div>
-                    <div class="num">{{ headerData.inParkVisitUserNum }}</div>
-                  </div>
-                  <div class="item">
-                    <div :style="{ background: colors[0] }" class="icon"></div>
-                    <div class="text">鍐呴儴鍛樺伐</div>
-                    <div class="num">{{ headerData.todayInParkUserNum - headerData.inParkLwUserNum -
-                      headerData.inParkVisitUserNum }}</div>
-                  </div>
-                  <div class="item">
-                    <div :style="{ background: colors[1] }" class="icon"></div>
-                    <div class="text">闀挎湡鐩稿叧鏂�</div>
-                    <div class="num">{{ headerData.inParkLwUserNum }}</div>
+                  <div class="item" v-for="item, i in manningRatio" :key="i">
+                    <div :style="{ background: colors[i] }" class="icon"></div>
+                    <div class="text">{{ item.name }}</div>
+                    <div class="num">{{ item.value }}</div>
                   </div>
                 </div>
               </div>
@@ -189,7 +178,7 @@
                 <div class="btn" @click="departure(item.id)">绂诲満</div>
               </div>
             </div>
-          </div>  
+          </div>
           <div v-if="warningList.length == 0" class="empty">
             <img src="@/assets/images/default_nodata.png" alt="">
           </div>
@@ -243,6 +232,7 @@
       nowWeek: '',
       headerData: {},
       staticData: {},
+      manningRatio: [],
       taskList: [],
       taskTotal: 0,
       warningList: [],
@@ -320,6 +310,12 @@
     getWorkHead() {
       getWorkbenchData({ queryType: 1 }).then(res => {
         this.headerData = res || {}
+        let arr = []
+        arr.push({ name: '璁垮', value: this.headerData.inParkVisitUserNum })
+        arr.push({ name: '鍐呴儴鍛樺伐', value: this.headerData.todayInParkUserNum - this.headerData.inParkLwUserNum - this.headerData.inParkVisitUserNum })
+        arr.push({ name: '闀挎湡鐩稿叧鏂�', value: this.headerData.inParkLwUserNum })
+        arr.sort((a, b) => b.value - a.value)
+        this.manningRatio = arr
         this.initEchart1()
       })
     },
@@ -340,7 +336,7 @@
 
       })
     },
-    handleDetail (row) {
+    handleDetail(row) {
       if (row.objType === 2) {
         this.$refs.OperaDetailsWindow.open('鍏姟杞︾敵璇疯鎯�', { ...row, id: row.objId })
         return
@@ -386,6 +382,9 @@
       let that = this
 
       const option = {
+        tooltip: {
+          trigger: 'item'
+        },
         series: [
           {
             type: 'pie',
@@ -398,11 +397,12 @@
             labelLine: {
               show: false
             },
-            data: [
-              { value: that.headerData.inParkVisitUserNum, name: '璁垮' },
-              { value: that.headerData.todayInParkUserNum - that.headerData.inParkVisitUserNum - that.headerData.inParkLwUserNum, name: '鍐呴儴鍛樺伐' },
-              { value: that.headerData.inParkLwUserNum, name: '闀挎湡鐩稿叧鏂�' }
-            ]
+            data: that.manningRatio
+            // data: [
+            //   { value: that.headerData.inParkVisitUserNum, name: '璁垮' },
+            //   { value: that.headerData.todayInParkUserNum - that.headerData.inParkVisitUserNum - that.headerData.inParkLwUserNum, name: '鍐呴儴鍛樺伐' },
+            //   { value: that.headerData.inParkLwUserNum, name: '闀挎湡鐩稿叧鏂�' }
+            // ]
           }
         ]
       }
@@ -929,19 +929,21 @@
         }
       }
     }
-    .more{
+
+    .more {
       cursor: pointer;
     }
-    .empty {
-        height: 300px;
-        display: flex;
-        justify-content: center;
-        align-items: center;
 
-        img {
-          width: 140px;
-        }
+    .empty {
+      height: 300px;
+      display: flex;
+      justify-content: center;
+      align-items: center;
+
+      img {
+        width: 140px;
       }
+    }
   }
 
   .static_wrap {
@@ -979,6 +981,7 @@
         display: flex;
         justify-content: center;
         align-items: center;
+        height: 100%;
 
         .echart_wrap {
           position: relative;
diff --git a/admin/src/views/meeting/components/common/FileLink.vue b/admin/src/views/meeting/components/common/FileLink.vue
index 75124d7..08a1485 100644
--- a/admin/src/views/meeting/components/common/FileLink.vue
+++ b/admin/src/views/meeting/components/common/FileLink.vue
@@ -21,7 +21,7 @@
 </template>
 
 <script>
-import { fileType } from '@/utils/util';
+// import { fileType } from '@/utils/util';
 import FileLinkItem from './FileLinkItem.vue';
 import PDFPreview from './PDFPreview'
 import ElImageViewer from 'element-ui/packages/image/src/image-viewer'
@@ -52,12 +52,12 @@
   },
   computed: {
     // 鍥剧墖鍦板潃
-    srcList() {
-      return this.links.filter(item => {
-        let link = item[this.linkName]
-        return fileType(link) == 1
-      }).map(item => item[this.linkName])
-    }
+    // srcList() {
+    //   return this.links.filter(item => {
+    //     let link = item[this.linkName]
+    //     return fileType(link) == 1
+    //   }).map(item => item[this.linkName])
+    // }
   },
   methods: {
     deleteFile(index) {
@@ -68,21 +68,21 @@
     },
     showFile(url) {
       debugger
-      let type = fileType(url)
-      switch (type) {
-        case 1:
-          this.tempIndex = this.srcList.findIndex(item => item == url)
-          this.showViewer = true
-          break;
-        case 2:
-          this.$refs.PDFPreview.open('', { url })
-          break;
-        case 3:
-          window.open(url, '_blank')
-          break;
-        default:
-          break;
-      }
+      // let type = fileType(url)
+      // switch (type) {
+      //   case 1:
+      //     this.tempIndex = this.srcList.findIndex(item => item == url)
+      //     this.showViewer = true
+      //     break;
+      //   case 2:
+      //     this.$refs.PDFPreview.open('', { url })
+      //     break;
+      //   case 3:
+      //     window.open(url, '_blank')
+      //     break;
+      //   default:
+      //     break;
+      // }
     },
     close() {
       this.showViewer = false
diff --git a/admin/src/views/meeting/components/selectMember.vue b/admin/src/views/meeting/components/selectMember.vue
index 44e11f3..5fae9db 100644
--- a/admin/src/views/meeting/components/selectMember.vue
+++ b/admin/src/views/meeting/components/selectMember.vue
@@ -51,7 +51,7 @@
 <script>
 import BaseOpera from '@/components/base/BaseOpera'
 import GlobalAlertWindow from '@/components/common/GlobalAlertWindow'
-import { findTreeUser } from '@/api/system/department'
+// import { findTreeUser } from '@/api/system/department'
 import { fetchList as userList } from '@/api/system/user'
 export default {
   name: 'selectMember',
@@ -133,34 +133,34 @@
       } else {
         parentId = node.data.id
       }
-      findTreeUser({parentId})
-        .then(res => {
-          // this.data = [res]
-          if (!parentId) {
-            resolve([res])
-          } else {
-            let resolveList = []
-            if (res.userList) {
-              res.userList.forEach(item => {
-                let index = this.selectList.findIndex(sel => sel.id == item.id)
-                resolveList.push({
-                  ...item,
-                  name: item.realname,
-                  isUser: true,
-                  isSelect: index !== -1
-                })
-              });
-            }
-            if (res.children) {
-              res.children.forEach(item => {
-                resolveList.push(item)
-              })
-            }
+      // findTreeUser({parentId})
+      //   .then(res => {
+      //     // this.data = [res]
+      //     if (!parentId) {
+      //       resolve([res])
+      //     } else {
+      //       let resolveList = []
+      //       if (res.userList) {
+      //         res.userList.forEach(item => {
+      //           let index = this.selectList.findIndex(sel => sel.id == item.id)
+      //           resolveList.push({
+      //             ...item,
+      //             name: item.realname,
+      //             isUser: true,
+      //             isSelect: index !== -1
+      //           })
+      //         });
+      //       }
+      //       if (res.children) {
+      //         res.children.forEach(item => {
+      //           resolveList.push(item)
+      //         })
+      //       }
 
-            resolve(resolveList)
-          }
+      //       resolve(resolveList)
+      //     }
 
-        })
+      //   })
     },
     inputAction() {
       if (!this.filterText) {
diff --git a/admin/src/views/platform/LogisticsRecord/subscribe.vue b/admin/src/views/platform/LogisticsRecord/subscribe.vue
index c39c1c6..4c2a070 100644
--- a/admin/src/views/platform/LogisticsRecord/subscribe.vue
+++ b/admin/src/views/platform/LogisticsRecord/subscribe.vue
@@ -53,7 +53,7 @@
       <el-form :model="param" :rules="rules" ref="ruleForm" label-width="100px">
         <div class="param_title">杩愯緭淇℃伅</div>
         <el-form-item label="鍏ュ洯鍘熷洜" prop="reasonId">
-          <el-select v-model="param.reasonId" class="w300" placeholder="璇烽�夋嫨">
+          <el-select v-model="param.reasonId" @change="checkSurplus" class="w300" placeholder="璇烽�夋嫨">
             <el-option v-for="item in reasonList" :key="item.id" :label="item.reason" :value="item.id">
             </el-option>
           </el-select>
@@ -62,7 +62,7 @@
           <el-input v-model="param.contractNum" class="w300" placeholder="璇疯緭鍏ュ悎鍚屽彿"></el-input>
         </el-form-item>
         <el-form-item label="鍒板満鏃堕棿" prop="arriveDate">
-          <el-date-picker v-model="param.arriveDate" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" class="w300"
+          <el-date-picker v-model="param.arriveDate" @change="checkSurplus" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" class="w300"
             placeholder="璇烽�夋嫨">
           </el-date-picker>
         </el-form-item>
@@ -73,7 +73,7 @@
           </div>
         </el-form-item>
         <el-form-item label="鎬昏繍杈撻噺" prop="totalNum">
-          <el-input oninput="value=value.replace(/^(0+)|[^\d]+/g, '').slice(0, 10)" v-model="param.totalNum" placeholder="璇疯緭鍏�" class="w300"></el-input>
+          <el-input @blur="checkSurplus" oninput="value=value.replace(/^(0+)|[^\d]+/g, '').slice(0, 10)" v-model="param.totalNum" placeholder="璇疯緭鍏�" class="w300"></el-input>
           <span class="ml10">涓囨敮</span>
         </el-form-item>
         <el-form-item label="鍑嗚繍璇佺収鐗�" prop="transportImg">
@@ -105,9 +105,11 @@
 import Pagination from '@/components/common/Pagination'
 import QueryForm from '@/components/common/QueryForm'
 import { platformBooksPage, platformReasonList, platformBooksApply, platformBooksExport } from '@/api'
+import { checkSurplusNum } from '@/api/platform/platform' 
 import DriverDetail from "@/views/task/driverDetail"
 import GlobalWindow from '@/components/common/GlobalWindow'
 import UploadAvatarImage from '@/components/common/UploadAvatarImage'
+import { Message } from 'element-ui'
 import dayjs from 'dayjs'
 export default {
   components: {
@@ -203,6 +205,21 @@
     this.getList()
   },
   methods: {
+    checkSurplus() {
+      const { arriveDate, reasonId, totalNum } = this.param
+      if(!arriveDate || !reasonId || !totalNum) return
+      checkSurplusNum({
+        arriveDate,
+        reasonId,
+        totalNum
+      }).then(res => {
+        console.log('res', res);
+        
+        if( res == 0 ||  res < Number(totalNum)){
+          Message.error(`褰撴棩鍓╀綑鍙绾︿綔涓氶噺${res}涓囨敮涓嶈冻璇烽�夋嫨鍏朵粬鍒板満鏃ユ湡`)
+        }
+      })
+    },
     changeRadio (day) {
       const arr = [dayjs().subtract(day, 'day').format('YYYY-MM-DD') + ' 00:00:00', dayjs().format('YYYY-MM-DD') + ' 23:59:59']
       this.$set(this.filters, 'selDate', arr)
diff --git a/admin/src/views/platform/index.vue b/admin/src/views/platform/index.vue
index 8ecaeba..6e75cf5 100644
--- a/admin/src/views/platform/index.vue
+++ b/admin/src/views/platform/index.vue
@@ -86,7 +86,7 @@
                 <span>杩愯緭鍏徃锛�</span>
                 <span>{{ task.carrierName }}</span>
               </div>
-              <div class="ite"></div>
+              <!-- <div class="ite"></div> -->
             </div>
             <div class="line">
               <div class="left">
diff --git a/admin/src/views/platform/set/index.vue b/admin/src/views/platform/set/index.vue
index 106df34..824cbcf 100644
--- a/admin/src/views/platform/set/index.vue
+++ b/admin/src/views/platform/set/index.vue
@@ -162,7 +162,8 @@
 import Pagination from '@/components/common/Pagination'
 import QueryForm from '@/components/common/QueryForm'
 import GlobalWindow from '@/components/common/GlobalWindow'
-import { getPlatform, PlatformEdit, PlatformDel } from '@/api'
+// import { getPlatform, PlatformEdit, PlatformDel } from '@/api'
+import { PlatformEdit, PlatformDel } from '@/api'
 export default {
   components: {
     Pagination,
@@ -202,12 +203,12 @@
     getList (page) {
       const { filters, pagination } = this
       pagination.page = page || pagination.page
-      getPlatform({
-        model: { ...filters },
-        ...pagination
-      }).then(res => {
-        this.dataList = res.records
-      })
+      // getPlatform({
+      //   model: { ...filters },
+      //   ...pagination
+      // }).then(res => {
+      //   this.dataList = res.records
+      // })
     },
     handleDel (item) {
       this.$confirm('纭畾鍒犻櫎璇ユ湀鍙板悧, 鏄惁缁х画?', '鎻愮ず', {
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
index d297d31..ad045f1 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -122,7 +122,7 @@
     public static final String HK_NGINX_URL = "HK_NGINX_URL";
     public static final String PLATFORM_BOOKING_TIPS = "PLATFORM_BOOKING_TIPS";
     public static final String PLATFORM_GUIDEMAP = "PLATFORM_GUIDEMAP";
-    public static final String WSM_PARAM ="WSM_PARAM" ;
+    public static final String WMS_PARAM ="WMS_PARAM" ;
     public static final String WMS_INBOUND_PLATFROM_URL ="WMS_INBOUND_PLATFROM_URL" ;
     public static final String WMS_GET_INVENTORYLIST_URL ="WMS_GET_INVENTORYLIST_URL" ;
     public static final String WMS_OUTBOUND_PLATFROM_URL ="WMS_OUTBOUND_PLATFROM_URL" ;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarEventCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarEventCloudController.java
index 8266657..a5a227f 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarEventCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarEventCloudController.java
@@ -75,7 +75,7 @@
 
     @ApiOperation("鍒嗛〉鏌ヨ")
     @PostMapping("/page")
-    //@CloudRequiredPermission("business:carevent:query")
+    @CloudRequiredPermission("business:carevent:query")
     public ApiResponse<PageData<CarEventDTO>> findPage (@RequestBody PageWrap<CarEvent> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
         return ApiResponse.success(carEventService.findVisitCarPage(pageWrap));
     }
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/DeviceEventCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/DeviceEventCloudController.java
index bb3bcf6..be1145f 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/DeviceEventCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/DeviceEventCloudController.java
@@ -70,14 +70,14 @@
 
     @ApiOperation("鍒嗛〉鏌ヨ")
     @PostMapping("/page")
-    //@CloudRequiredPermission("business:deviceevent:query")
+    @CloudRequiredPermission("business:deviceevent:query")
     public ApiResponse<PageData<DeviceEventDTO>> findPage (@RequestBody PageWrap<DeviceEvent> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
         return ApiResponse.success(deviceEventService.findDeviceEventDTOPage(pageWrap));
     }
 
     @ApiOperation("瀵煎嚭Excel")
     @PostMapping("/exportExcel")
-    //@CloudRequiredPermission("business:deviceevent:exportExcel")
+    @CloudRequiredPermission("business:deviceevent:exportExcel")
     public void exportExcel (@RequestBody PageWrap<DeviceEvent> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
         ExcelExporter.build(DeviceEventDTO.class).export(deviceEventService.findDeviceEventDTOPage(pageWrap).getRecords(), "闂ㄧ浜嬩欢鎺ㄩ�佽褰曡〃", response);
     }
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 94260ab..8283157 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
@@ -69,14 +69,14 @@
 
     @ApiOperation("鍒嗛〉鏌ヨ")
     @PostMapping("/page")
-    //@CloudRequiredPermission("business:retention:query")
+    @CloudRequiredPermission("business:retention:query")
     public ApiResponse<PageData<Retention>> findPage (@RequestBody PageWrap<Retention> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
         return ApiResponse.success(retentionService.findTrainTimePage(pageWrap));
     }
 
     @ApiOperation("瀵煎嚭Excel")
     @PostMapping("/exportExcel")
-    //@CloudRequiredPermission("business:retention:exportExcel")
+    @CloudRequiredPermission("business:retention:exportExcel")
     public void exportExcel (@RequestBody PageWrap<Retention> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
         ExcelExporter.build(Retention.class).export(retentionService.findTrainTimePage(pageWrap).getRecords(), "瀹炴椂鍦ㄥ満浜哄憳", response);
     }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
index ad7e78d..debd9c5 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
@@ -43,7 +43,7 @@
         String xkzx = "xkzx";//娑堟帶涓績
         String ngzx = "ngzx";//鑳界涓績
         String jsc = "jsc";//鐗╀笟鍚庡嫟
-        String kqgl = "kqgl";//鑰冨嫟绠$悊
+        String kqgzt = "kqgzt";//鑰冨嫟绠$悊
 
     }
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
index 388c717..d90b4e8 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -1093,7 +1093,7 @@
         }else  if(Constants.equalsInteger(type,Constants.THREE)){
             menuId = HKConstants.MenuPageId.jsc;
         }else  if(Constants.equalsInteger(type,Constants.FOUR)){
-            menuId = HKConstants.MenuPageId.kqgl;
+            menuId = HKConstants.MenuPageId.kqgzt;
         }
         log.info("銆愭捣搴疯幏鍙栧伐浣滃彴鑿滃崟鍏嶅瘑鐧婚檰璋冩暣鍦板潃銆�================寮�濮�====menuId:"+menuId+"==token:"+token);
         try {
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java
index d36521a..867fe9f 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java
@@ -91,9 +91,13 @@
     @ApiModelProperty(value = "浜哄憳缁勭粐鍏徃")
     @ExcelColumn(name="鍏徃/閮ㄩ棬",index = 9,width = 16)
     private String personCompanyName;
+
     @ApiModelProperty(value = "璁垮鍏徃1")
     private String visitCompanyName;
 
+    @ApiModelProperty(value = "缁勭粐绫诲瀷锛�0=鐩稿叧鏂癸紱1=鍐呴儴")
+    private String companyType;
+
     @ApiModelProperty(value = "濮撳悕")
     @ExcelColumn(name="濮撳悕",index = 7,width = 16)
     private String personName;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/DeviceEventDTO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/DeviceEventDTO.java
index 7e8614d..3c65269 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/DeviceEventDTO.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/DeviceEventDTO.java
@@ -107,6 +107,9 @@
     @ExcelColumn(name="鍏徃/缁勭粐",index = 4,width = 16)
     private String personCompanyName;
 
+    @ApiModelProperty(value = "缁勭粐绫诲瀷锛�0=鐩稿叧鏂癸紱1=鍐呴儴")
+    private String companyType;
+
     @ApiModelProperty(value = "鎵嬫満鍙�")
     @ExcelColumn(name="鎵嬫満鍙�",index = 3,width = 10)
     private String personPhone;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarEvent.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarEvent.java
index df004fe..6b81496 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarEvent.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarEvent.java
@@ -250,10 +250,13 @@
     @ApiModelProperty(value = "灏忔椂 ")
     @TableField(exist = false)
     private Integer hour  ;
-    @ApiModelProperty(value = "浜哄憳绫诲瀷 0鍔冲姟璁垮 1鏅�氳瀹�  2鍛樺伐")
+    @ApiModelProperty(value = "浜哄憳绫诲瀷 0鐩稿叧鏂� 1鏅�氳瀹�  2鍛樺伐")
     @TableField(exist = false)
     private Integer memberType  ;
 
+    @ApiModelProperty(value = "浜哄憳绫诲瀷 0=鐩稿叧鏂癸紱1=璁垮浜哄憳锛�2=鍐呴儴浜哄憳")
+    @TableField(exist = false)
+    private Integer  queryUserType;
 
     @ApiModelProperty(value = "璁垮鍏徃鍚嶇О")
     @TableField(exist = false)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/DeviceEvent.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/DeviceEvent.java
index 12c131f..a2a7574 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/DeviceEvent.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/DeviceEvent.java
@@ -269,9 +269,15 @@
     @TableField(exist = false)
     private String companyName;
 
-    @ApiModelProperty(value = "浜哄憳绫诲瀷")
+//    @ApiModelProperty(value = "浜哄憳绫诲瀷 0=鐩稿叧鏂癸紱1=璁垮浜哄憳锛�2=鍐呴儴浜哄憳")
+//    @TableField(exist = false)
+//    private Integer  personType;
+
+
+
+    @ApiModelProperty(value = "浜哄憳绫诲瀷 0=鐩稿叧鏂癸紱1=璁垮浜哄憳锛�2=鍐呴儴浜哄憳")
     @TableField(exist = false)
-    private String  personType;
+    private Integer  queryUserType;
 
     @ApiModelProperty(value = "寮�濮嬫椂闂�")
     @TableField(exist = false)
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 5e4f6b3..bcfb1f3 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
@@ -388,6 +388,16 @@
     @TableField(exist = false)
     private Date beginWorkDateEnd;
 
+    @ApiModelProperty(value = "瀹屾垚浣滀笟鏃堕棿璧�")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @TableField(exist = false)
+    private Date beginDoneDateStart;
+
+    @ApiModelProperty(value = "瀹屾垚浣滀笟鏃堕棿姝�")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @TableField(exist = false)
+    private Date beginDoneDateEnd;
+
 
     @ApiModelProperty(value = "鍒涘缓鏃堕棿璧�")
     @TableField(exist = false)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
index 3672692..765170e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
@@ -143,4 +143,11 @@
     @TableField(exist = false)
     private Integer num;
 
+
+    @ApiModelProperty(value = "鏌ヨ浜哄憳绫诲瀷")
+    @TableField(exist = false)
+    private Integer queryUserType;
+
+
+
 }
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 ad2249f..1159f56 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
@@ -1561,6 +1561,7 @@
             platformBooks.setStatus(approveDTO.getStatus());
             platformBooks.setEditDate(new Date());
             platformBooks.setEditor(approveDTO.getLoginUserInfo().getMemberId());
+            platformBooksMapper.updateById(platformBooks);
             if(Constants.equalsInteger(approveDTO.getStatus(),Constants.TWO)){
                 PlatformReason platformReason = platformReasonMapper.selectById(platformBooks.getReasonId());
                 if(Objects.isNull(platformReason)){
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java
index aaace00..0bc1de5 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java
@@ -328,8 +328,8 @@
                 .selectAs(Member::getIdcardDecode,CarEventDTO::getPersonIdcardDecode)
                 .selectAs(Member::getName,CarEventDTO::getPersonName)
                 .selectAs(Member::getVisitCompanyName,CarEventDTO::getVisitCompanyName)
-                .selectAs(Company::getName,CarEventDTO::getPersonCompanyName);
-
+                .selectAs(Company::getName,CarEventDTO::getPersonCompanyName)
+                .selectAs(Company::getType,CarEventDTO::getCompanyType);
         queryWrapper
                 .like(StringUtils.isNotBlank(pageWrap.getModel().getPlateNos()),
                 CarEvent::getPlateNos,
@@ -340,9 +340,18 @@
                 .like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),
                         Company::getName,
                         pageWrap.getModel().getCompanyName())
-                .eq( pageWrap.getModel().getMemberType()!=null,
-                        Member::getType,
-                        pageWrap.getModel().getMemberType())
+
+
+                .eq( pageWrap.getModel().getQueryUserType()!=null&&Constants.equalsInteger(pageWrap.getModel().getQueryUserType(),Constants.ONE),
+                        Company::getType, Constants.ZERO)
+
+                .isNull( pageWrap.getModel().getQueryUserType()!=null&&Constants.equalsInteger(pageWrap.getModel().getQueryUserType(),Constants.ZERO),
+                        Member::getCompanyId)
+
+                .eq( pageWrap.getModel().getQueryUserType()!=null&&Constants.equalsInteger(pageWrap.getModel().getQueryUserType(),Constants.TWO),
+                        Company::getType, Constants.ONE)
+
+
                 .eq(Objects.nonNull(pageWrap.getModel().getEventType()),
                         CarEvent::getEventType,
                         pageWrap.getModel().getEventType())
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
index cffa394..4569482 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
@@ -107,7 +107,7 @@
         carUseBook.setCreateDate(new Date());
         carUseBook.setIsdeleted(Constants.ZERO);
         Cars cars = carsMapper.selectById(carUseBook.getCarId());
-        if(Objects.isNull(cars)||!cars.getType().equals(Constants.ONE)){
+        if(Objects.isNull(cars)||!cars.getType().equals(Constants.ZERO)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"杞﹁締淇℃伅寮傚父");
         }
         carUseBook.setCarCode(cars.getCode());
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 24e14f4..539a632 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
@@ -368,12 +368,24 @@
                 .selectAs(Member::getPhone,DeviceEventDTO::getPersonPhone)
                 .selectAs(Member::getIdcardDecode,DeviceEventDTO::getPersonIdcardDecode)
                 .selectAs(Device::getName,DeviceEventDTO::getDevName)
-                .selectAs(Company::getName,DeviceEventDTO::getPersonCompanyName);
+                .selectAs(Company::getName,DeviceEventDTO::getPersonCompanyName)
+                .selectAs(Company::getType,DeviceEventDTO::getCompanyType);
+
         queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getKeyWords()),w->
                         w.like(Member::getName,pageWrap.getModel().getKeyWords()).or().like(Member::getPhone,pageWrap.getModel().getKeyWords()))
-                .eq(StringUtils.equals(pageWrap.getModel().getPersonType(),Constants.TWO+""),
-                        Member::getType,
-                        pageWrap.getModel().getPersonType())
+
+
+                .eq( pageWrap.getModel().getQueryUserType()!=null&&Constants.equalsInteger(pageWrap.getModel().getQueryUserType(),Constants.ONE),
+                        Company::getType, Constants.ZERO)
+
+                .isNull( pageWrap.getModel().getQueryUserType()!=null&&Constants.equalsInteger(pageWrap.getModel().getQueryUserType(),Constants.ZERO),
+                        Member::getCompanyId)
+
+                .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())
@@ -385,7 +397,7 @@
                 .le(Objects.nonNull(pageWrap.getModel().getEndTime()),
                         DeviceEvent::getCreateDate,
                         pageWrap.getModel().getEndTime())
-                .isNull(StringUtils.isNotBlank(pageWrap.getModel().getPersonType()) && !StringUtils.equals(pageWrap.getModel().getPersonType(),Constants.TWO+""),Member::getId)//闄や簡鍐呴儴浜哄憳閮芥槸澶栨潵璁垮
+
                 .orderByDesc(DeviceEvent::getCreateDate);
         queryWrapper.orderByDesc(DeviceEvent::getHappenTime);
         IPage<DeviceEventDTO> deviceEventDTOIPage = deviceEventJoinMapper.selectJoinPage(page, DeviceEventDTO.class, queryWrapper);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
index 150eaf3..6824243 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
@@ -386,7 +386,7 @@
         QueryWrapper<DeviceRole> queryWrapper = new QueryWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
         pageWrap.getModel().setIsdeleted(Constants.ZERO);
-        queryWrapper.select("*,(select count(1) from member_role b where b.isdeleted=0 and b.role_id=device_role.id) as memberNum");
+        queryWrapper.select("*,(select count(1) from member_role b where b.isdeleted=0 and b.role_id=device_role.id ) as memberNum");
         if (pageWrap.getModel().getId() != null) {
             queryWrapper.lambda().eq(DeviceRole::getId, pageWrap.getModel().getId());
         }
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 0322937..57eeaa2 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
@@ -108,6 +108,7 @@
         wrapper.select(Device::getId, Device::getName, Device::getDoorName,Device::getRegionPathName, Device::getRegionName);
         wrapper.eq(null != param.getType(),Device::getType,param.getType())
                .eq(null !=param.getIsdeleted(),Device::getIsdeleted,param.getIsdeleted())
+               .eq(Objects.isNull(param.getIsdeleted()),Device::getIsdeleted,Constants.ZERO)
                .eq(null != param.getHkStatus(),Device::getHkStatus,param.getHkStatus());
         return deviceMapper.selectList(wrapper);
     }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerLogServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerLogServiceImpl.java
index 5d5b729..c118373 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerLogServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerLogServiceImpl.java
@@ -150,8 +150,10 @@
                     +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
 
             for (HiddenDangerLog bean:hiddenDangerLogList) {
-                if(StringUtils.isNotBlank(bean.getAvatar())){
+                if(StringUtils.isNotBlank(bean.getAvatar() ) && bean.getAvatar().indexOf("HKIMG")<0 ){
                     bean.setAvatar(path + bean.getAvatar());
+                }else{
+                    bean.setAvatar(null);
                 }
             }
         }
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 0166be6..0a776a5 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
@@ -209,10 +209,12 @@
         insert.setHkId(UUID.randomUUID().toString().replace("-",""));
         insert.setHkStatus(Constants.ONE);
         insert.setSex(Constants.getSexByCardNo( member.getIdcardNo()));//鏍规嵁韬唤璇佸彿鑾峰彇鎬у埆
-        insert.setBirthday( DateUtil.fromStringToDate("yyyyMMdd",IdcardUtil.getBirthByIdCard(member.getIdcardNo())));
+        if(StringUtils.isNotBlank(member.getIdcardNo())){
+            insert.setBirthday( DateUtil.fromStringToDate("yyyyMMdd",IdcardUtil.getBirthByIdCard(member.getIdcardNo())));
+            insert.setIdcardNo(DESUtil.encrypt(Constants.EDS_PWD, member.getIdcardNo()));//韬唤璇佸彿鍔犲瘑
+            insert.setIdcardDecode( Constants.getTuominStr(member.getIdcardNo()));
+        }
         insert.setPhone(member.getPhone());
-        insert.setIdcardNo(DESUtil.encrypt(Constants.EDS_PWD, member.getIdcardNo()));//韬唤璇佸彿鍔犲瘑
-        insert.setIdcardDecode( Constants.getTuominStr(member.getIdcardNo()));
         insert.setStatus(Constants.ZERO);
         return  insert;
     }
@@ -330,11 +332,13 @@
         if (StringUtils.isNotBlank(member.getIdcardNo()) && !IdcardUtil.isValidCard(member.getIdcardNo())){
             throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"韬唤璇佸彿鏍煎紡鏈夎");
         }
-        if(memberMapper.selectCount(new QueryWrapper<Member>().lambda()
-                .in(Member::getType,new Integer[]{Constants.ZERO,Constants.TWO})
-                .eq(Member::getIdcardNo,DESUtil.encrypt(Constants.EDS_PWD, member.getIdcardNo()))
-                .eq(Member::getIsdeleted,Constants.ZERO)) >0){
-            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "韬唤璇佸彿銆�"+member.getIdcardNo()+"銆戝凡琚娇鐢紝涓嶈兘閲嶅");
+        if(StringUtils.isNotBlank(member.getIdcardNo())){
+            if(memberMapper.selectCount(new QueryWrapper<Member>().lambda()
+                    .in(Member::getType,new Integer[]{Constants.ZERO,Constants.TWO})
+                    .eq(Member::getIdcardNo,DESUtil.encrypt(Constants.EDS_PWD, member.getIdcardNo()))
+                    .eq(Member::getIsdeleted,Constants.ZERO)) >0){
+                throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "韬唤璇佸彿銆�"+member.getIdcardNo()+"銆戝凡琚娇鐢紝涓嶈兘閲嶅");
+            }
         }
         if(memberMapper.selectCount(new QueryWrapper<Member>().lambda()
                 .eq(Member::getPhone,  member.getPhone())
@@ -502,16 +506,7 @@
         if (PhoneUtil.isPhone(member.getPhone())){
             throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鐢佃瘽鍙风爜鏍煎紡鏈夎");
         }
-        if (IdcardUtil.isValidCard(member.getIdcardNo())){
-            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"韬唤璇佸彿鏍煎紡鏈夎");
-        }
-        if (IdcardUtil.getGenderByIdCard(member.getIdcardNo()) == member.getSex()){
-            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鎬у埆鏈夎");
-        }
-        //鑾峰彇鍑虹敓鏃ユ湡
-        String birthByIdCard = IdcardUtil.getBirthByIdCard(member.getIdcardNo());
-        //鑴辨晱鎿嶄綔
-        String hide = IdcardUtil.hide(member.getIdcardNo(), 5, 14);
+//
         //杞崲鏃ユ湡
         Member insert = new Member();
         insert.setCreator(loginUserInfo.getId());
@@ -524,11 +519,23 @@
         insert.setImgurl(member.getImgurl());
         insert.setType(Constants.ZERO);
         insert.setName(member.getName());
-        insert.setBirthday(DateUtil.fromStringToDate("yyyyMMdd",birthByIdCard));
         insert.setPhone(member.getPhone());
-        insert.setIdcardNo(Utils.Secure.encryptString(member.getIdcardNo()));
-        IdcardUtil.isValidCard(member.getIdcardNo());
-        insert.setIdcardDecode(hide);
+        if(StringUtils.isNotBlank(member.getIdcardNo())){
+            if (IdcardUtil.isValidCard(member.getIdcardNo())){
+                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"韬唤璇佸彿鏍煎紡鏈夎");
+            }
+            if (IdcardUtil.getGenderByIdCard(member.getIdcardNo()) == member.getSex()){
+                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鎬у埆鏈夎");
+            }
+            //鑾峰彇鍑虹敓鏃ユ湡
+            String birthByIdCard = IdcardUtil.getBirthByIdCard(member.getIdcardNo());
+            insert.setBirthday(DateUtil.fromStringToDate("yyyyMMdd",birthByIdCard));
+            insert.setIdcardNo(Utils.Secure.encryptString(member.getIdcardNo()));
+            IdcardUtil.isValidCard(member.getIdcardNo());
+            //鑴辨晱鎿嶄綔
+            String hide = IdcardUtil.hide(member.getIdcardNo(), 5, 14);
+            insert.setIdcardDecode(hide);
+        }
         insert.setStatus(Constants.ZERO);
         insert.setParentId(member.getParentId());
         memberMapper.insert(insert);
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 7bdf5a0..30c9d7c 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
@@ -191,10 +191,12 @@
                 .selectAs(PlatformWmsJob::getCarrierName,PlatformJob::getCarrierName)
                 .selectAs(PlatformWmsJob::getIoCreatedate,PlatformJob::getIoCreatedate)
                 .selectAs(SystemUser::getRealname,PlatformJob::getOutUserName)
+                .selectAs(PlatformBooks::getId,PlatformJob::getBookId)
                 .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)
                 .eq(pageWrap.getModel().getId() != null, PlatformJob::getId, pageWrap.getModel().getId())
                 .eq(pageWrap.getModel().getCreator() != null, PlatformJob::getCreator, pageWrap.getModel().getCreator())
                 .ge(pageWrap.getModel().getCreateDate() != null, PlatformJob::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()))
@@ -275,11 +277,13 @@
                 .apply(pageWrap.getModel().getQueryType() != null, " find_in_set(t.TYPE,'"+pageWrap.getModel().getQueryType()+"')")
                 .ge(pageWrap.getModel().getBeginWorkDateStart() != null, PlatformJob::getStartDate, Utils.Date.getStart(pageWrap.getModel().getBeginWorkDateStart()))
                 .le(pageWrap.getModel().getBeginWorkDateEnd() != null, PlatformJob::getStartDate, Utils.Date.getEnd(pageWrap.getModel().getBeginWorkDateEnd()))
+                .ge(pageWrap.getModel().getBeginDoneDateStart() != null, PlatformJob::getDoneDate, Utils.Date.getStart(pageWrap.getModel().getBeginDoneDateStart()))
+                .le(pageWrap.getModel().getBeginDoneDateEnd() != null, PlatformJob::getDoneDate, Utils.Date.getEnd(pageWrap.getModel().getBeginDoneDateEnd()))
 
                 .ge(pageWrap.getModel().getCreateDateStart() != null, PlatformWmsJob::getIoCreatedate, Utils.Date.getStart(pageWrap.getModel().getCreateDateStart()))
                 .le(pageWrap.getModel().getCreateDateEnd() != null, PlatformWmsJob::getIoCreatedate, Utils.Date.getEnd(pageWrap.getModel().getCreateDateEnd()))
-                .eq(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ONE,pageWrap.getModel().getJobType()), PlatformJob::getType, Constants.platformJobType.sgscxh)
-                .ne(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ZERO,pageWrap.getModel().getJobType()), PlatformJob::getType, Constants.platformJobType.sgscxh)
+                .isNotNull(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ONE,pageWrap.getModel().getJobType()), PlatformJob::getContractNum)
+                .isNull(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ZERO,pageWrap.getModel().getJobType()), PlatformJob::getContractNum)
         ;
 
         for(PageWrap.SortData sortData: pageWrap.getSorts()) {
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java
index 55c4e3a..c75617b 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java
@@ -116,6 +116,7 @@
                 .eq(PlatformWaterGas::getIsdeleted, Constants.ZERO)
                 .ne(PlatformWaterGas::getId,platformWaterGas.getId())
                 .apply("to_days(time_info) = to_days('"+ DateUtil.getPlusTime2(platformWaterGas.getTimeInfo()) +"')")
+                .eq(PlatformWaterGas::getType, platformWaterGas.getType())
                 .eq(Constants.equalsInteger(platformWaterGas.getType(),Constants.TWO),PlatformWaterGas::getCarCode,platformWaterGas.getCarCode()))>0){
             throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇ュ勾鏈堟暟鎹凡瀛樺湪锛岃鍕块噸鏂板綍鍏ワ紝鍙互灏濊瘯鎼滅储鍚庤繘琛屾暟鎹慨鏀癸紒");
         }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsJobServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsJobServiceImpl.java
index 6244579..1aa81ba 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsJobServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsJobServiceImpl.java
@@ -108,7 +108,8 @@
                 wmsJobContractVO.setPlatformWmsDetailList(
                         platformWmsDetailList.stream().filter(i->i.getIocode().equals(ioCode)).collect(Collectors.toList())
                 );
-                if(Objects.isNull(wmsJobContractVO.getLockStatus())&& com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(wmsJobContractVO.getPlatformWmsDetailList())){
+                if(Objects.isNull(wmsJobContractVO.getLockStatus())&&
+                        com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(wmsJobContractVO.getPlatformWmsDetailList())){
                     wmsJobContractVO.setLockStatus(
                             wmsJobContractVO.getPlatformWmsDetailList().get(Constants.ZERO).getLockStatus()
                     );
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 5ed41e0..75a1043 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
@@ -262,6 +262,7 @@
         queryWrapper.leftJoin(Company.class,Company::getId,Retention::getCompanyId);
         queryWrapper.selectAll(Retention.class)
                 .selectAs(Company::getName,Retention::getCompanyName)
+                .selectAs(Company::getType,Retention::getCompanyType)
                 .select(" ( SELECT v.company_name FROM visits v WHERE v.member_id = t.member_id and v.status = "+Constants.VisitStatus.signin+" ORDER BY create_date DESC limit 1 ) as visitCompanyName ");
         queryWrapper.eq(Retention::getIsdeleted,Constants.ZERO)
                 .like(number,Retention::getPhone,pageWrap.getModel().getKeyWords())
@@ -269,6 +270,12 @@
                 .eq(Objects.nonNull(pageWrap.getModel().getType()),
                         Retention::getType,
                         pageWrap.getModel().getType())
+                .isNull(Objects.nonNull(pageWrap.getModel().getQueryUserType())&&Constants.equalsInteger(pageWrap.getModel().getQueryUserType(),Constants.ZERO),
+                       Retention::getCompanyId)
+                .eq(Objects.nonNull(pageWrap.getModel().getQueryUserType())&&Constants.equalsInteger(pageWrap.getModel().getQueryUserType(),Constants.ONE),
+                        Company::getType,Constants.ZERO)
+                .eq(Objects.nonNull(pageWrap.getModel().getQueryUserType())&&Constants.equalsInteger(pageWrap.getModel().getQueryUserType(),Constants.TWO),
+                        Company::getType,Constants.ONE)
                 //杩囨护杞﹁締鏁版嵁
                 .ne(Retention::getType,3)
                 .and(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),
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 355bb0b..3196d04 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
@@ -1506,7 +1506,7 @@
 
             //鍦ㄥ洯闀挎湡鐩稿叧鏂逛汉鏁�
             pcWorkPlatformDataVO.setInParkLwUserNum(
-                    retentionList.stream().filter(i->Constants.equalsInteger(i.getCompanyType(),Constants.ONE)).count()
+                    retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO) && Constants.equalsInteger(i.getCompanyType(),Constants.ZERO)).count()
             );
             pcWorkPlatformDataVO.setLwUserInNum(Constants.ZERO);
             pcWorkPlatformDataVO.setLwUserOutNum(Constants.ZERO);
@@ -1569,17 +1569,6 @@
             pcWorkPlatformDataVO.setWeekVisitList(weekVisitList );
             pcWorkPlatformDataVO.setWeekCarList(weekCarList);
 
-//            List<Retention> retentionList = retentionMapper.selectJoinList(Retention.class,
-//                    new MPJLambdaWrapper<Retention>()
-//                            .selectAll(Retention.class)
-//                            .selectAs(Company::getType,Retention::getCompanyType)
-//                            .selectAs(Company::getName,Retention::getCompanyName)
-//                            .leftJoin(Company.class,Company::getId,Retention::getCompanyId)
-//                            .eq(Company::getType,Constants.ZERO)
-//                            .groupBy(Company::getId,Company::getName)
-//                            .orderByDesc(Retention::getNum)
-//            );
-
             List<Company> companyList = companyMapper.selectList(new QueryWrapper<Company>().lambda()
                     .eq(Company::getType,Constants.ZERO)
                     .eq(Company::getIsdeleted,Constants.ZERO)
@@ -1616,6 +1605,11 @@
             List<Notices> noticesList = noticesJoinMapper.selectList(queryWrapper);
             pcWorkPlatformDataVO.setNoticesList(noticesList);
             pcWorkPlatformDataVO.setNoticesNum(noticesList.size());
+            if(noticesList.size() > 5 ){
+                pcWorkPlatformDataVO.setNoticesList(noticesList.subList(0,5));
+            }else{
+                pcWorkPlatformDataVO.setNoticesList(noticesList);
+            }
         }else{
             String code= systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.TIMEOUT_WARNING).getCode();
             MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
@@ -1646,8 +1640,14 @@
                     }
                 });
             }
-            pcWorkPlatformDataVO.setTimeOutVisitList(result);
             pcWorkPlatformDataVO.setTimeOutVisitNum(result.size());
+            if(result.size() > 3 ){
+                pcWorkPlatformDataVO.setTimeOutVisitList(result.subList(0,3));
+            }else{
+                pcWorkPlatformDataVO.setTimeOutVisitList(result);
+            }
+
+
         }
 
 
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 d02db23..695037a 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
@@ -7,12 +7,15 @@
 import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.HttpsUtil;
+import com.doumee.core.utils.SmsConstants;
 import com.doumee.core.wms.model.request.*;
 import com.doumee.core.wms.model.response.WmsBaseDataResponse;
 import com.doumee.core.wms.model.response.WmsBaseResponse;
 import com.doumee.core.wms.model.response.WmsInventoryDataResponse;
 import com.doumee.dao.business.*;
 import com.doumee.dao.business.model.*;
+import com.doumee.service.business.impl.SmsEmailServiceImpl;
+import com.doumee.service.business.third.EmayService;
 import com.doumee.service.business.third.WmsService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import lombok.extern.slf4j.Slf4j;
@@ -47,7 +50,12 @@
     private SystemDictDataBiz systemDictDataBiz;
     @Autowired
     private WmsInterfaceLogMapper wmsInterfaceLogMapper;
-
+    @Autowired
+    private SmsConfigMapper smsConfigMapper;
+    @Autowired
+    private SmsEmailMapper smsEmailMapper;
+    @Autowired
+    private EmayService emayService;
     /**
      * 鍏ュ簱閫氱煡浠诲姟涓氬姟澶勭悊
      * @param job 鍙傛暟
@@ -77,13 +85,18 @@
          o.setCarrierBillCode(job.getBillCode());
          o.setRailwayNo(job.getPlatformWmsCode());
          param.getData().add(o);
-         String url = type == 0?systemDictDataBiz.queryByCode(Constants.WSM_PARAM,Constants.WMS_INBOUND_PLATFROM_URL).getCode():systemDictDataBiz.queryByCode(Constants.WSM_PARAM,Constants.WMS_OUTBOUND_PLATFROM_URL).getCode();;
-         String name = type ==0?"銆怶MS銆戝叆搴綔涓氬崟鍒嗛厤鏈堝彴":"銆怶MS銆戝嚭搴撲綔涓氱殑鍒嗛厤鏈堝彴";
+         String url = type == 0?systemDictDataBiz.queryByCode(Constants.WMS_PARAM,Constants.WMS_INBOUND_PLATFROM_URL).getCode():
+                 systemDictDataBiz.queryByCode(Constants.WMS_PARAM,Constants.WMS_OUTBOUND_PLATFROM_URL).getCode();;
+         String name = type ==0?"銆怶MS銆戝叆搴撲綔涓氬崟鍒嗛厤鏈堝彴":"銆怶MS銆戝嚭搴撲綔涓氱殑鍒嗛厤鏈堝彴";
          WmsBaseResponse<WmsBaseDataResponse> response = sendHttpRequest(url,name,JSONObject.toJSONString(param),new TypeReference< WmsBaseResponse<WmsBaseDataResponse>>(){});
          PlatformJob update = new PlatformJob();
          update.setId(job.getId());
          update.setWmsSendDate(new Date());
-         update.setWmsSendNum(job.getWmsSendNum() + 1);
+         if(Objects.isNull(job.getWmsSendNum())){
+             job.setWmsSendNum(1);
+         }else{
+             update.setWmsSendNum(job.getWmsSendNum() + 1);
+         }
          update.setWmsSendPlatformCode(job.getPlatformWmsCode());
          if(response!=null && response.getData() !=null
                 && response.getData().size()>0 && StringUtils.equals(response.getData().get(0).getSuccess(),WmsBaseResponse.CODE_SUCCESS)){
@@ -105,7 +118,7 @@
      */
     @Override
     public WmsBaseResponse<WmsInventoryDataResponse> getInventoryList(){
-         String url =  systemDictDataBiz.queryByCode(Constants.WSM_PARAM,Constants.WMS_GET_INVENTORYLIST_URL).getCode() ;
+         String url =  systemDictDataBiz.queryByCode(Constants.WMS_PARAM,Constants.WMS_GET_INVENTORYLIST_URL).getCode() ;
          String name = "銆怶MS銆戝簱瀛樻煡璇�" ;
          WmsBaseResponse<WmsInventoryDataResponse> response = sendHttpRequest(url,name,JSONObject.toJSONString(new JSONObject()),new TypeReference< WmsBaseResponse<WmsInventoryDataResponse>>(){});
         if(response!=null
@@ -274,9 +287,17 @@
         return returnSuccessReuslt(null);
     }
 
+
     private void startEndNoticeToDriver(List<PlatformJob> jobList) {
         for(PlatformJob job : jobList){
-            //-----TODO-----------浠诲悍锛屽彂閫佸徃鏈哄叕浼楀彿鍜岀煭淇¢�氱煡
+            //-----TODO-----------浠诲悍锛屽彂閫佸徃鏈哄叕浼楀彿鍜�
+            //鐭俊閫氱煡
+            if(Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.WAIT_CONFIRM.getKey())){
+                SmsEmailServiceImpl.sendPlatformJobSms(systemDictDataBiz,
+                        emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,job.getId(),
+                        SmsConstants.platformJobContent.platformJobNewJob,null,null
+                );
+            }
         }
     }
 
@@ -313,6 +334,9 @@
             if(Constants.equalsInteger(car.getInStatus(),Constants.ONE) && car.getJobNum() == 0) {
                 //濡傛灉杞﹁締鍦ㄥ洯
                 job.setStatus(Constants.PlatformJobStatus.WAIT_CALL.getKey());//鍦ㄥ洯鏃犱綔涓氱姸鎬侊紝鍒欒嚜鍔ㄣ�愬凡绛惧埌銆戝鐞�
+                job.setArriveDate(new Date());
+                job.setSingType(Constants.TWO);
+                job.setSignDate(new Date());
             }
         }
         PlatformGroup group = platformGroupMapper.selectOne(new QueryWrapper<PlatformGroup>().lambda()

--
Gitblit v1.9.3