From 9ef944f83e337193293807cdcc6e7bbc1c494c25 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 20 八月 2024 15:09:27 +0800
Subject: [PATCH] 最新版本

---
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/IccmPermissionSetRequest.java      |   14 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitsCloudController.java                                |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/IccmAppointmentInfoResponse.java   |   16 +
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/IccmAppointmentMDJResponse.java    |   19 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformReason.java                              |   13 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/IccmPermissionResourceRequest.java |   11 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java                                 |    8 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/IccmAppointmentMDJRequest.java     |   27 +
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ApproveTemplCloudController.java                          |    1 
 admin/src/api/platform/platformReason.js                                                                                   |   48 +++
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java                                 |   36 ++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformReasonService.java                         |    7 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/IccmAppointmentResponse.java       |   12 
 admin/src/components/business/OperaPlatformReasonWindow.vue                                                                |  109 +++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/IccmAppointmentRequest.java        |   26 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java                      |    5 
 admin/src/views/platform/platform.vue                                                                                      |   25 +
 admin/src/views/platform/platformReason.vue                                                                                |  129 ++++++++
 admin/src/views/business/visitorSources.vue                                                                                |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/IccmAppointmentVistorRequest.java  |   20 +
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformReasonCloudController.java                        |   15 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPrivilegeServiceImpl.java        |   10 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java                                     |   16 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java            |  179 +++++++++++
 server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/PlatformReasonController.java                            |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformReasonServiceImpl.java                |   93 ++++-
 26 files changed, 794 insertions(+), 57 deletions(-)

diff --git a/admin/src/api/platform/platformReason.js b/admin/src/api/platform/platformReason.js
new file mode 100644
index 0000000..826270c
--- /dev/null
+++ b/admin/src/api/platform/platformReason.js
@@ -0,0 +1,48 @@
+import request from '../../utils/request'
+
+// 鏌ヨ
+export function fetchList (data) {
+  return request.post('/visitsAdmin/cloudService/business/platformReason/page', data, {
+    trim: true
+  })
+}
+export function allList (data) {
+  return request.post('/visitsAdmin/cloudService/business/platformReason/list', data, {
+    trim: true
+  })
+}
+
+// 瀵煎嚭Excel
+export function exportExcel (data) {
+  return request.post('/visitsAdmin/cloudService/business/platformReason/exportExcel', data, {
+    trim: true,
+    download: true
+  })
+}
+
+// 鍒涘缓
+export function create (data) {
+  return request.post('/visitsAdmin/cloudService/business/platformReason/create', data)
+}
+
+// 淇敼
+export function updateById (data) {
+  return request.post('/visitsAdmin/cloudService/business/platformReason/updateById', data)
+}
+export function updateStatusById (data) {
+  return request.post('/visitsAdmin/cloudService/business/platformReason/updateStatusById', data)
+}
+
+// 鍒犻櫎
+export function deleteById (id) {
+  return request.get(`/visitsAdmin/cloudService/business/platformReason/delete/${id}`)
+}
+
+// 鎵归噺鍒犻櫎
+export function deleteByIdInBatch (ids) {
+  return request.get('/visitsAdmin/cloudService/business/platformReason/delete/batch', {
+    params: {
+      ids
+    }
+  })
+}
diff --git a/admin/src/components/business/OperaPlatformReasonWindow.vue b/admin/src/components/business/OperaPlatformReasonWindow.vue
new file mode 100644
index 0000000..902fa39
--- /dev/null
+++ b/admin/src/components/business/OperaPlatformReasonWindow.vue
@@ -0,0 +1,109 @@
+<template>
+  <GlobalWindow
+    :title="title"
+    width="50%"
+    :visible.sync="visible"
+    :confirm-working="isWorking"
+    @confirm="confirm"
+  >
+    <el-form :model="form" ref="form" :rules="rules">
+      <el-form-item label="鍏ュ洯鍘熷洜锛�" prop="reason">
+        <el-input v-model="form.reason" placeholder="璇疯緭鍏ュ叆鍥師鍥�" v-trim/>
+      </el-form-item>
+      <el-form-item label="浣滀笟鏈堝彴缁勶細" prop="groupId">
+        <el-select v-model="form.groupId"    >
+          <el-option
+              v-for="item in groupList"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id">
+          </el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="浣滀笟鏁伴噺闄愬埗锛堜竾鍙�/澶╋級锛�" prop="limitNum" >
+        <el-input type="number" v-model="form.limitNum" placeholder="璇疯緭鍏ヤ綔涓氭暟閲忛檺鍒讹紙涓囧彧/澶╋級" v-trim/>
+      </el-form-item>
+      <el-form-item label="鎺掑簭鐮�(鍗囧簭)锛�" prop="sortnum">
+        <el-input type="number"  v-model="form.sortnum" placeholder="璇疯緭鍏ユ帓搴忕爜(鍗囧簭)" v-trim/>
+      </el-form-item>
+      <el-form-item label="璇存槑锛�" prop="remark">
+        <el-input type="textarea"  v-model="form.remark" placeholder="璇疯緭鍏ヨ鏄�" v-trim/>
+      </el-form-item>
+    </el-form>
+  </GlobalWindow>
+</template>
+
+<script>
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import { allList } from '@/api/platform/platformGroup'
+export default {
+  name: 'OperaPlatformReasonWindow',
+  extends: BaseOpera,
+  components: { GlobalWindow },
+  data () {
+    return {
+      // 琛ㄥ崟鏁版嵁
+      groupList: [],
+      form: {
+        id: null,
+        reason: null,
+        sortnum: null,
+        remark: '',
+        groupId: '',
+        limitNum: 1
+      },
+      // 楠岃瘉瑙勫垯
+      rules: {
+        reason: [{ required: true, message: '璇疯緭鍏ュ叆鍥師鍥� ', trigger: 'blur' }],
+        groupId: [{ required: true, message: '璇烽�夋嫨浣滀笟鏈堝彴缁� ', trigger: 'blur' }]
+      }
+    }
+  },
+  created () {
+    this.config({
+      api: '/platform/platformReason',
+      'field.id': 'id'
+    })
+  },
+  methods: {
+    /**
+     * 鎵撳紑绐楀彛
+     * @title 绐楀彛鏍囬
+     * @target 缂栬緫鐨勫璞�
+     */
+    open (title, target) {
+      this.title = title
+      this.loadGroupList()
+      this.visible = true
+      // 鏂板缓
+      if (target == null) {
+        this.$nextTick(() => {
+          this.$refs.form.resetFields()
+          this.form[this.configData['field.id']] = null
+        })
+        return
+      }
+      // 缂栬緫
+      this.$nextTick(() => {
+        for (const key in this.form) {
+          this.form[key] = target[key]
+        }
+      })
+    },
+    loadGroupList () {
+      allList({})
+        .then(res => {
+          this.groupList = res || []
+          console.log(this.groupList)
+        })
+    }
+  }
+}
+</script>
+<style scoped>
+.labelTip{
+  font-size: 12px;
+  color: #666666;
+}
+</style>
diff --git a/admin/src/views/business/visitorSources.vue b/admin/src/views/business/visitorSources.vue
index b0dc5c6..0aee304 100644
--- a/admin/src/views/business/visitorSources.vue
+++ b/admin/src/views/business/visitorSources.vue
@@ -20,8 +20,8 @@
       </div>
       <el-form-item label="鏉ヨ棰勭害鏂瑰紡:" prop="reservationWay">
         <el-radio-group v-model="form.reservationWay">
-          <el-radio :label="0">棰勭害鍏嶇櫥璁�</el-radio>
-          <el-radio :label="1">棰勭害鍚庣櫥璁�(闇�瑕侀厤澶囪瀹㈡満)</el-radio>
+          <el-radio :label="1">棰勭害鍏嶇櫥璁�</el-radio>
+          <el-radio :label="0">棰勭害鍚庣櫥璁�(闇�瑕侀厤澶囪瀹㈡満)</el-radio>
         </el-radio-group>
       </el-form-item>
       <el-form-item label="琚浜烘牎楠屾柟寮�:" prop="checkVisit">
diff --git a/admin/src/views/platform/platform.vue b/admin/src/views/platform/platform.vue
index e567a8f..079b3fa 100644
--- a/admin/src/views/platform/platform.vue
+++ b/admin/src/views/platform/platform.vue
@@ -39,6 +39,18 @@
         <el-table-column prop="code" label="鏈堝彴缂栫爜" fixed min-width="100px"></el-table-column>
         <el-table-column prop="groupName" label="鎵�灞炴湀鍙扮粍" fixed min-width="150px"></el-table-column>
         <el-table-column prop="workingNum" label="鍚屾椂鍙彿杞﹁締鏁�" min-width="120px"></el-table-column>
+        <el-table-column label="绂�/鍚敤" min-width="120px">
+          <template slot-scope="{row}">
+            <el-switch
+                @change="changeStatus($event, row)"
+                v-model="row.status"
+                active-color="#13ce66"
+                inactive-color="#ff4949"
+                :active-value="0"
+                :inactive-value="1">
+            </el-switch>
+          </template>
+        </el-table-column>
         <el-table-column prop="stayTmeoutAlarmTime" label="鍋滅暀瓒呮椂鎶ヨ鏃堕棿(鍒嗛挓锛�" min-width="180px">
           <template scope="{row}">{{row.stayTmeoutAlarmTime?(row.stayTmeoutAlarmTime):'-'}}</template>
         </el-table-column>
@@ -54,6 +66,7 @@
             <span v-if="row.platformStatus == 3">閿欒鍋滈潬</span>
           </template>
         </el-table-column>
+
         <el-table-column prop="broadcastNames" label="鍏宠仈骞挎挱" min-width="100px"></el-table-column>
         <el-table-column prop="ledNames" label="鍏宠仈LED" min-width="100px"></el-table-column>
         <el-table-column prop="hkDate" label="鍚屾鏃堕棿" min-width="140px"></el-table-column>
@@ -87,20 +100,20 @@
 import SearchFormCollapse from '@/components/common/SearchFormCollapse'
 import Pagination from '@/components/common/Pagination'
 import OperaPlatformWindow from '@/components/business/OperaPlatformWindow'
-import {allList} from "@/api/platform/platformGroup";
+import { allList } from '@/api/platform/platformGroup'
 export default {
   name: 'Platform',
   extends: BaseTable,
   components: { SearchFormCollapse, TableLayout, Pagination, OperaPlatformWindow },
   data () {
     return {
-      groupList:[],
+      groupList: [],
       // 鎼滅储
       working: false,
       working1: false,
       searchForm: {
         name: '',
-        groupId:null
+        groupId: null
       }
     }
   },
@@ -117,9 +130,9 @@
   methods: {
     loadGroupList () {
       allList({})
-          .then(res => {
-            this.groupList = res || []
-          })
+        .then(res => {
+          this.groupList = res || []
+        })
     },
     changeStatus (e, row) {
       this.api.updateStatusById({
diff --git a/admin/src/views/platform/platformReason.vue b/admin/src/views/platform/platformReason.vue
new file mode 100644
index 0000000..181267c
--- /dev/null
+++ b/admin/src/views/platform/platformReason.vue
@@ -0,0 +1,129 @@
+<template>
+  <TableLayout :permissions="['business:platformreason:query']">
+    <!-- 鎼滅储琛ㄥ崟 -->
+    <SearchFormCollapse slot="search-form" :need-more="false">
+      <el-form ref="searchForm" :model="searchForm" label-width="100px" inline>
+        <el-form-item label="" prop="reason">
+          <el-input v-model="searchForm.reason" clearable placeholder="璇疯緭鍏ュ叆鍥師鍥�" @keypress.enter.native="search"></el-input>
+        </el-form-item>
+        <el-form-item label="" >
+          <el-select v-model="searchForm.groupId"     placeholder="璇烽�夋嫨鏈堝彴鍒嗙粍" @change="search" clearable>
+            <el-option
+                v-for="item in groupList"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <section>
+          <el-button type="primary" @click="search">鎼滅储</el-button>
+          <el-button @click="reset">閲嶇疆</el-button>
+        </section>
+      </el-form>
+    </SearchFormCollapse>
+    <!-- 琛ㄦ牸鍜屽垎椤� -->
+    <template v-slot:table-wrap>
+      <ul class="toolbar" v-permissions="['business:platformreason:create','business:platformreason:delete']">
+        <li><el-button type="primary" @click="$refs.OperaPlatformReasonWindow.open('鏂板缓鏈堝彴鍏ュ洯鍘熷洜')" icon="el-icon-plus" v-permissions="['business:platformreason:create']">鏂板缓</el-button></li>
+        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:platformreason:delete']">鍒犻櫎</el-button></li>
+      </ul>
+      <el-table
+        v-loading="isWorking.search"
+        :data="tableData.list"
+        stripe
+        @selection-change="handleSelectionChange"
+      >
+        <el-table-column type="selection" width="55"></el-table-column>
+        <el-table-column prop="reason" label="鍏ュ洯鍘熷洜" fixed min-width="100px"></el-table-column>
+        <el-table-column prop="groupName" label="瀵瑰簲浣滀笟鏈堝彴缁�" fixed min-width="150px"></el-table-column>
+        <el-table-column prop="limitNum" label="浣滀笟閲�(涓囧彧/澶�)" min-width="120px"></el-table-column>
+        <el-table-column prop="reason" label="璇存槑" fixed min-width="100px"></el-table-column>
+        <el-table-column label="绂�/鍚敤" min-width="120px" >
+          <template slot-scope="{row}">
+            <el-switch
+                @change="changeStatus($event, row)"
+                v-model="row.status"
+                active-color="#13ce66"
+                inactive-color="#ff4949"
+                :active-value="0"
+                :inactive-value="1">
+            </el-switch>
+          </template>
+        </el-table-column>
+        <el-table-column prop="editDate" label="鏈�杩戞搷浣滄椂闂�" min-width="140px"></el-table-column>
+        <el-table-column
+          v-if="containPermissions(['business:platformreason:update', 'business:platformreason:delete'])"
+          label="鎿嶄綔"
+          align="center"
+          min-width="150"
+          fixed="right"
+        >
+          <template slot-scope="{row}">
+            <el-button type="text" @click="$refs.OperaPlatformReasonWindow.open('缂栬緫鏈堝彴鍏ュ洯鍘熷洜', row)" icon="el-icon-edit" v-permissions="['business:platformreason:update']">瀹℃壒娴�</el-button>
+            <el-button type="text" @click="$refs.OperaPlatformReasonWindow.open('缂栬緫鏈堝彴鍏ュ洯鍘熷洜', row)" icon="el-icon-edit" v-permissions="['business:platformreason:update']">缂栬緫</el-button>
+            <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:platformreason:delete']">鍒犻櫎</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <pagination
+        @size-change="handleSizeChange"
+        @current-change="handlePageChange"
+        :pagination="tableData.pagination"
+      >
+      </pagination>
+    </template>
+    <!-- 鏂板缓/淇敼 -->
+    <OperaPlatformReasonWindow ref="OperaPlatformReasonWindow" @success="handlePageChange"/>
+  </TableLayout>
+</template>
+
+<script>
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import SearchFormCollapse from '@/components/common/SearchFormCollapse'
+import Pagination from '@/components/common/Pagination'
+import OperaPlatformReasonWindow from '@/components/business/OperaPlatformReasonWindow'
+import { allList } from '@/api/platform/platformGroup'
+export default {
+  name: 'Platform',
+  extends: BaseTable,
+  components: { SearchFormCollapse, TableLayout, Pagination, OperaPlatformReasonWindow },
+  data () {
+    return {
+      groupList: [],
+      // 鎼滅储
+      working: false,
+      working1: false,
+      searchForm: {
+        reason: '',
+        groupId: null
+      }
+    }
+  },
+  created () {
+    this.config({
+      module: '鏈堝彴鍏ュ洯鍘熷洜淇℃伅琛�',
+      api: '/platform/platformReason',
+      'field.id': 'id',
+      'field.main': 'id'
+    })
+    this.search()
+    this.loadGroupList()
+  },
+  methods: {
+    loadGroupList () {
+      allList({})
+        .then(res => {
+          this.groupList = res || []
+        })
+    },
+    changeStatus (e, row) {
+      this.api.updateStatusById({
+        id: row.id,
+        status: e
+      })
+    }
+  }
+}
+</script>
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/PlatformReasonController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/PlatformReasonController.java
index 89720ed..3c71e48 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/PlatformReasonController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/PlatformReasonController.java
@@ -42,7 +42,7 @@
     @GetMapping("/delete/{id}")
     @RequiresPermissions("business:platformreason:delete")
     public ApiResponse deleteById(@PathVariable Integer id) {
-        platformReasonService.deleteById(id);
+        platformReasonService.deleteById(id,this.getLoginUser(null));
         return ApiResponse.success(null);
     }
 
@@ -55,7 +55,7 @@
         for (String id : idArray) {
             idList.add(Integer.valueOf(id));
         }
-        platformReasonService.deleteByIdInBatch(idList);
+        platformReasonService.deleteByIdInBatch(idList,this.getLoginUser(null));
         return ApiResponse.success(null);
     }
 
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ApproveTemplCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ApproveTemplCloudController.java
index 59dc1b8..1caef74 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ApproveTemplCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ApproveTemplCloudController.java
@@ -96,6 +96,7 @@
         return ApiResponse.success(approveTemplService.findOne(templ));
     }
 
+
 //    @ApiOperation("鏍规嵁ID鏌ヨ")
 //    @GetMapping("/{id}")
 //    @CloudRequiredPermission("business:approvetempl:query")
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformReasonCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformReasonCloudController.java
index e52fe30..afaf994 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformReasonCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformReasonCloudController.java
@@ -8,6 +8,7 @@
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.Platform;
 import com.doumee.dao.business.model.PlatformReason;
 import com.doumee.service.business.PlatformReasonService;
 import io.swagger.annotations.Api;
@@ -36,6 +37,7 @@
     @PostMapping("/create")
     @CloudRequiredPermission("business:platformreason:create")
     public ApiResponse create(@RequestBody PlatformReason platformReason,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        platformReason.setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(platformReasonService.create(platformReason));
     }
 
@@ -43,7 +45,7 @@
     @GetMapping("/delete/{id}")
     @CloudRequiredPermission("business:platformreason:delete")
     public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        platformReasonService.deleteById(id);
+        platformReasonService.deleteById(id,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -56,7 +58,7 @@
         for (String id : idArray) {
             idList.add(Integer.valueOf(id));
         }
-        platformReasonService.deleteByIdInBatch(idList);
+        platformReasonService.deleteByIdInBatch(idList,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -64,6 +66,7 @@
     @PostMapping("/updateById")
     @CloudRequiredPermission("business:platformreason:update")
     public ApiResponse updateById(@RequestBody PlatformReason platformReason,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        platformReason.setLoginUserInfo(this.getLoginUser(token));
         platformReasonService.updateById(platformReason);
         return ApiResponse.success(null);
     }
@@ -74,6 +77,14 @@
     public ApiResponse<PageData<PlatformReason>> findPage (@RequestBody PageWrap<PlatformReason> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
         return ApiResponse.success(platformReasonService.findPage(pageWrap));
     }
+    @ApiOperation("鏍规嵁ID淇敼鐘舵��")
+    @PostMapping("/updateStatusById")
+    @CloudRequiredPermission("business:platform:update")
+    public ApiResponse updateStatusById(@RequestBody PlatformReason param, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){
+        param.setLoginUserInfo(this.getLoginUser(token));
+        platformReasonService.updateStatusById(param);
+        return ApiResponse.success(null);
+    }
 
     @ApiOperation("瀵煎嚭Excel")
     @PostMapping("/exportExcel")
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 8e69cbf..1b1279c 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
@@ -150,8 +150,4 @@
         visitsService.resetPassword(resetPasswordDTO);
         return ApiResponse.success("閲嶇疆鎴愬姛");
     }
-
-
-
-
 }
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 b692f4d..5b38a01 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
@@ -63,7 +63,6 @@
         String visitOut= "/api/visitor/v1/visitor/out";//绛剧璁垮棰勭害
         String facePicture= "/api/resource/v1/person/picture";//鎻愬彇鐢ㄦ埛浜鸿劯鐓х墖
         String privilegeGroup= "/api/visitor/v1/privilege/group";//鏌ヨ璁垮鏉冮檺缁�
-        String privilegIccmeGroup= "/api/iccm/v1/privilege/groups";//鏌ヨ璁垮鏉冮檺缁�
         String eventSub= "/api/eventService/v1/eventSubscriptionByEventTypes";//浜嬩欢璁㈤槄
         String doorSearch= "/api/resource/v2/door/search";//鏌ヨ闂ㄧ鐐瑰垪琛╲2
         String cancelEventSub= "/api/eventService/v1/eventUnSubscriptionByEventTypes";//鍙栨秷浜嬩欢璁㈤槄
@@ -99,6 +98,13 @@
         String platformsList= "/api/platformService/v1/platforms";//鑾峰彇鍏ㄩ儴鏈堝彴淇℃伅
         String platformStatus= "/api/platformService/v1/platform/status";//鑾峰彇鏈堝彴鐘舵��
         String customBroadcast= "/api/ibas/v1/customBroadcast";//鐢ㄤ簬璁剧疆骞挎挱鐨勮嚜瀹氭挱鏀惧拰鍋滄
+        String iccmAppointment= "/api/iccm/v2/appointment";//iccm璁垮鐧昏娣诲姞
+        String iccmUpdateAppointment= "/api/iccm/v2/appointment/update";//iccm璁垮鐧昏淇敼
+        String iccmCancelAppointment= "/api/iccm/v1/appointment/cancel";//iccm璁垮鐧昏淇敼
+        String iccmAppointmentMDJ= "/api/iccm/v1/appointment/free/registration";//iccm璁垮棰勭害鍏嶇櫥璁�
+
+        String privilegIccmeGroup= "/api/iccm/v1/privilege/groups";//鏌ヨ璁垮鏉冮檺缁�
+        String iccmAppointmentInfo= "/api/iccm/v1/appointment/registration";//iccm鏌ヨ宸查绾︾櫥璁�
     }
 
     /**
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
index 019195d..51ed3d1 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
@@ -336,6 +336,22 @@
 		return startDoPostStringArtemis(HKConstants.InterfacePath.visitAppiontment,body);
 	}
 	/**
+	 *	璁垮棰勭害
+	 * @param body
+	 * @return
+	 */
+	public static String iccmAppointment(String body) {
+		return startDoPostStringArtemis(HKConstants.InterfacePath.iccmAppointment,body);
+	}
+	/**
+	 *	璁垮鍏嶇櫥璁伴绾�
+	 * @param body
+	 * @return
+	 */
+	public static String iccmAppointmentMDJ(String body) {
+		return startDoPostStringArtemis(HKConstants.InterfacePath.iccmAppointmentMDJ,body);
+	}
+	/**
 	 *	璁垮鍏嶇櫥璁伴绾�
 	 * @param body
 	 * @return
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/IccmAppointmentMDJRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/IccmAppointmentMDJRequest.java
new file mode 100644
index 0000000..b498724
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/IccmAppointmentMDJRequest.java
@@ -0,0 +1,27 @@
+package com.doumee.core.haikang.model.param.request;
+
+import com.alibaba.fastjson.JSONObject;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class IccmAppointmentMDJRequest {
+
+
+    private String visitReasonRemark;//		String	false	璁块棶浜嬬敱澶囨敞
+    private String receptionistId	;//	String	true	琚浜篿d
+    private IccmPermissionSetRequest visitorPermissionSet	;//	Object	false	璁垮鏉冮檺妯″瀷
+    private String visitStartTime	;//	String	true	璁块棶寮�濮嬫椂闂�
+    private String visitEndTime	;//	String	true	璁块棶缁撴潫鏃堕棿
+    private String visitPurpose	;//	String	false	鏉ヨ浜嬬敱id(涓嶅~浣跨敤榛樿璁块棶浜嬬敱)
+    private String campusId	;//	String	false	鍥尯id(涓嶅~浣跨敤榛樿鍥尯)
+    private String visitorTypeId;//		String	false	璁垮绫诲瀷id
+    private String deptId;//		String	false	璁块棶閮ㄩ棬id
+
+    private JSONObject extensions;//Object	false	鎵╁睍瀛楁
+    private List<String> regionId;//Array	false	瀹変繚鍖哄煙闆嗗悎
+    private String campusRegionIds;//String	false	璁块棶鍖哄煙id锛屽涓敤閫楀彿闅斿紑
+
+    private  IccmAppointmentVistorRequest visitorInfo	;//Object	true	璁垮淇℃伅妯″瀷鍙傛暟
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/IccmAppointmentRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/IccmAppointmentRequest.java
new file mode 100644
index 0000000..bc34095
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/IccmAppointmentRequest.java
@@ -0,0 +1,26 @@
+package com.doumee.core.haikang.model.param.request;
+
+import com.alibaba.fastjson.JSONObject;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class IccmAppointmentRequest {
+
+private String visitReasonRemark;//		String	false	璁块棶浜嬬敱澶囨敞
+private String receptionistId	;//	String	true	琚浜篿d
+private IccmPermissionSetRequest visitorPermissionSet	;//	Object	false	璁垮鏉冮檺妯″瀷
+private String visitStartTime	;//	String	true	璁块棶寮�濮嬫椂闂�
+private String visitEndTime	;//	String	true	璁块棶缁撴潫鏃堕棿
+private String visitPurpose	;//	String	false	鏉ヨ浜嬬敱id(涓嶅~浣跨敤榛樿璁块棶浜嬬敱)
+private String campusId	;//	String	false	鍥尯id(涓嶅~浣跨敤榛樿鍥尯)
+private String visitorTypeId;//		String	false	璁垮绫诲瀷id
+private String deptId;//		String	false	璁块棶閮ㄩ棬id
+
+    private JSONObject extensions;//Object	false	鎵╁睍瀛楁
+private List<String> regionId;//Array	false	瀹変繚鍖哄煙闆嗗悎
+private String campusRegionIds;//String	false	璁块棶鍖哄煙id锛屽涓敤閫楀彿闅斿紑
+
+    private List<IccmAppointmentVistorRequest> visitorInfoList	;//	object[]	True	璁垮淇℃伅鍒楄〃锛屾渶澶ф敮鎸�128浣嶈瀹紝鍏朵腑鏈�澶氭敮鎸�4浣嶈瀹㈠甫浜鸿劯淇℃伅锛屽鏋滃瓨鍦ㄤ汉鑴镐笂浼犲け璐ワ紝鍒欐暣涓绾﹀け璐ャ��
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/IccmAppointmentVistorRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/IccmAppointmentVistorRequest.java
new file mode 100644
index 0000000..f548c09
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/IccmAppointmentVistorRequest.java
@@ -0,0 +1,20 @@
+package com.doumee.core.haikang.model.param.request;
+
+import com.alibaba.fastjson.JSONObject;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class IccmAppointmentVistorRequest {
+    
+    private String visitorWorkUnit;//	String	false	鏉ヨ鍗曚綅
+private String visitorName;//	String	true	璁垮濮撳悕
+private String visitorPhoto;//	String	false	璁垮浜鸿劯鍥剧墖base64
+private String certificateType;//	Number	false	璇佷欢绫诲瀷(111:韬唤璇�  414锛氭姢鐓�)
+private String certificateNo;//	String	false	璇佷欢鍙风爜
+private String gender;//	Number	true	鎬у埆(1:鐢�,2:濂�)
+private String plateNo	;//String	false	杞︾墝鍙�
+private String phoneNo;//	String	true	鎵嬫満鍙�
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/IccmPermissionResourceRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/IccmPermissionResourceRequest.java
new file mode 100644
index 0000000..2eb524d
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/IccmPermissionResourceRequest.java
@@ -0,0 +1,11 @@
+package com.doumee.core.haikang.model.param.request;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class IccmPermissionResourceRequest {
+    private String paramKey;//	String	false	鍙傛暟绫诲瀷(1:闂ㄧ鐐�2:姊帶妤煎眰3:闂ㄥ彛鏈�4:鍥村鏈�)
+    private List<String> paramValues	;//鍙傛暟闆嗗悎(璧勬簮缂栫爜)
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/IccmPermissionSetRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/IccmPermissionSetRequest.java
new file mode 100644
index 0000000..8b10192
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/IccmPermissionSetRequest.java
@@ -0,0 +1,14 @@
+package com.doumee.core.haikang.model.param.request;
+
+import com.alibaba.fastjson.JSONObject;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class IccmPermissionSetRequest {
+
+private String defaultPrivilegeGroupFlag	;//String	false	鏄惁浣跨敤榛樿鏉冮檺缁�(1锛氫娇鐢紱闈�1锛氫笉浣跨敤)浼�1鏃禿esignatedResources鍜宲rivilegeGroupIds鏃犳晥锛屼娇鐢ㄩ〉闈㈤厤缃殑榛樿鏉冮檺缁�
+    private List<IccmPermissionResourceRequest>  designatedResources	;//Array	false	璧勬簮鐐归泦鍚�
+    private String[] privilegeGroupIds;//	Array	false	鏉冮檺缁刬ds
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/IccmAppointmentInfoResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/IccmAppointmentInfoResponse.java
new file mode 100644
index 0000000..238e82a
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/IccmAppointmentInfoResponse.java
@@ -0,0 +1,16 @@
+package com.doumee.core.haikang.model.param.respose;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class IccmAppointmentInfoResponse {
+    private String visitorName;//	String	false	璁垮濮撳悕
+    private String QRCode;//	String	false	浜岀淮鐮佷俊鎭�
+    private String receptionistId;//	String	false	琚浜篿d
+    private String receptionistName;//	String	false	琚浜哄鍚�
+    private String svrIndexCode	;//String	false	鍥剧墖瀛樺偍鏈嶅姟鐨勫敮涓�鏍囪瘑
+    private String picUri;//	String	false	璁垮澶村儚,鍥剧墖鐨勭浉瀵筓RL
+    private String verificationCode;//	String	false	璁垮鐮�
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/IccmAppointmentMDJResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/IccmAppointmentMDJResponse.java
new file mode 100644
index 0000000..03a3149
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/IccmAppointmentMDJResponse.java
@@ -0,0 +1,19 @@
+package com.doumee.core.haikang.model.param.respose;
+
+import lombok.Data;
+
+
+@Data
+public class IccmAppointmentMDJResponse {
+
+    private String appointRecordId;//		String	false	璁垮棰勭害璁板綍id
+    private String orderId	;//	String	false	璁垮鍗曞彿
+    private String visitorName	;//	String	false	璁垮濮撳悕
+    private String QRCode;//		String	false	浜岀淮鐮佷俊鎭�
+    private String receptionistId	;//	String	false	琚浜篿d
+    private String receptionistName	;//	String	false	琚浜哄鍚�
+    private String svrIndexCode;//		String	false	鍥剧墖瀛樺偍鏈嶅姟鐨勫敮涓�鏍囪瘑
+    private String picUri	;//	String	false	璁垮澶村儚,鍥剧墖鐨勭浉瀵筓RL
+    private String verificationCode;//		String	false	璁垮楠岃瘉鐮�,6浣嶆暟瀛楀瓧绗︿覆
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/IccmAppointmentResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/IccmAppointmentResponse.java
new file mode 100644
index 0000000..d533097
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/IccmAppointmentResponse.java
@@ -0,0 +1,12 @@
+package com.doumee.core.haikang.model.param.respose;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class IccmAppointmentResponse {
+private String appointRecordId;//	String	false	璁垮棰勭害璁板綍id
+private String orderId;//	String	false	璁垮鍗曞彿
+    private List<IccmAppointmentInfoResponse>   appointmentInfoList;//	object[]	False	棰勭害璇︾粏淇℃伅
+}
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 a185029..5b158f4 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
@@ -412,6 +412,24 @@
         return  null;
     }
     /**
+     *璁垮棰勭害
+     * @return
+     */
+    public  static  BaseResponse<IccmAppointmentResponse>   iccmAppointment(IccmAppointmentRequest param){
+        log.info("銆愭捣搴疯瀹㈤绾︺��================寮�濮�===="+JSONObject.toJSONString(param));
+        try {
+            String res = HKTools.iccmAppointment(JSONObject.toJSONString(param));
+            TypeReference typeReference =
+                    new TypeReference< BaseResponse<IccmAppointmentResponse>>(){};
+            BaseResponse<IccmAppointmentResponse>  result = JSONObject.parseObject(res, typeReference.getType());
+           logResult(result,"娴峰悍璁垮棰勭害");
+            return  result;
+        }catch (Exception e){
+            log.error("銆愭捣搴疯瀹㈤绾︺��================澶辫触====锛歕n"+ e.getMessage());
+        }
+        return  null;
+    }
+    /**
      *璁垮棰勭害鍙栨秷
      * @return
      */
@@ -466,6 +484,24 @@
         return  null;
     }
     /**
+     *璁垮鍏嶇櫥璁伴绾�
+     * @return
+     */
+    public  static  BaseResponse<IccmAppointmentMDJResponse>   iccmAppiontmentMDJ(IccmAppointmentMDJRequest param){
+        log.info("銆愭捣搴疯瀹㈠厤鐧昏棰勭害銆�================寮�濮�===="+JSONObject.toJSONString(param));
+        try {
+            String res = HKTools.visitAppiontmentMDJ(JSONObject.toJSONString(param));
+            TypeReference typeReference =
+                    new TypeReference< BaseResponse<IccmAppointmentMDJResponse> >(){};
+            BaseResponse<IccmAppointmentMDJResponse>   result = JSONObject.parseObject(res, typeReference.getType());
+            logResult(result,"娴峰悍璁垮鍏嶇櫥璁伴绾�");
+            return  result;
+        }catch (Exception e){
+            log.error("銆愭捣搴疯瀹㈠厤鐧昏棰勭害銆�================澶辫触====锛歕n"+ e.getMessage());
+        }
+        return  null;
+    }
+    /**
      *璁垮鏉冮檺缁勫垪琛ㄦ煡璇紙鍒嗛〉锛�
      * @return
      */
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformReason.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformReason.java
index da9e9ab..b3cbf26 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformReason.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformReason.java
@@ -1,6 +1,8 @@
 package com.doumee.dao.business.model;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.baomidou.mybatisplus.annotation.IdType;
@@ -19,7 +21,7 @@
 @Data
 @ApiModel("鏈堝彴_鍏ュ洯鍘熷洜淇℃伅琛�")
 @TableName("`platform_reason`")
-public class PlatformReason {
+public class PlatformReason  extends LoginUserModel {
 
     @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "涓婚敭", example = "1")
@@ -47,6 +49,9 @@
     @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
     @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
     private Integer isdeleted;
+    @ApiModelProperty(value = "鐘舵�� 0姝e父 1绂佺敤", example = "1")
+    @ExcelColumn(name="鐘舵�� 0姝e父 1绂佺敤")
+    private Integer status;
 
     @ApiModelProperty(value = "澶囨敞")
     @ExcelColumn(name="澶囨敞")
@@ -71,5 +76,11 @@
     @ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
     @ExcelColumn(name="鎺掑簭鐮�")
     private Integer sortnum;
+    @ApiModelProperty(value = "瀹℃壒妯$増缂栫爜(鍏宠仈approve_templ)", example = "1")
+    @ExcelColumn(name="瀹℃壒妯$増缂栫爜(鍏宠仈approve_templ)")
+    private Integer approveTemplId;
+    @ApiModelProperty(value = "鍒嗙粍鍚�", example = "1")
+    @TableField(exist = false)
+    private String groupName;
 
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformReasonService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformReasonService.java
index fb57f30..05c06c7 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformReasonService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformReasonService.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.dao.business.model.PlatformReason;
@@ -25,7 +26,7 @@
      *
      * @param id 涓婚敭
      */
-    void deleteById(Integer id);
+    void deleteById(Integer id, LoginUserInfo user);
 
     /**
      * 鍒犻櫎
@@ -39,7 +40,7 @@
      *
      * @param ids 涓婚敭闆�
      */
-    void deleteByIdInBatch(List<Integer> ids);
+    void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user);
 
     /**
      * 涓婚敭鏇存柊
@@ -94,4 +95,6 @@
      * @return long
      */
     long count(PlatformReason platformReason);
+
+    void updateStatusById(PlatformReason param);
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformReasonServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformReasonServiceImpl.java
index 67209d8..aaa5b1e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformReasonServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformReasonServiceImpl.java
@@ -1,19 +1,29 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.PlatformReasonMapper;
+import com.doumee.dao.business.model.Platform;
+import com.doumee.dao.business.model.PlatformGroup;
 import com.doumee.dao.business.model.PlatformReason;
 import com.doumee.service.business.PlatformReasonService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.query.MPJQueryWrapper;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -29,13 +39,24 @@
 
     @Override
     public Integer create(PlatformReason platformReason) {
+        platformReason.setIsdeleted(Constants.ZERO);
+        platformReason.setStatus(Constants.ZERO);
+        platformReason.setCreator(platformReason.getLoginUserInfo().getId());
+        platformReason.setCreateDate(new Date());
+        platformReason.setEditDate(platformReason.getCreateDate());
+        platformReason.setEditor(platformReason.getCreator());
         platformReasonMapper.insert(platformReason);
         return platformReason.getId();
     }
 
     @Override
-    public void deleteById(Integer id) {
-        platformReasonMapper.deleteById(id);
+    public void deleteById(Integer id, LoginUserInfo user) {
+        PlatformReason param = new PlatformReason();
+        param.setId(id);
+        param.setIsdeleted(Constants.ONE);
+        param.setEditor(user.getId());
+        param.setEditDate(new Date());
+        platformReasonMapper.updateById(param);
     }
 
     @Override
@@ -45,15 +66,19 @@
     }
 
     @Override
-    public void deleteByIdInBatch(List<Integer> ids) {
+    public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
         if (CollectionUtils.isEmpty(ids)) {
             return;
         }
-        platformReasonMapper.deleteBatchIds(ids);
+        for(Integer id : ids){
+            deleteById(id,user);
+        }
     }
 
     @Override
     public void updateById(PlatformReason platformReason) {
+        platformReason.setEditDate(new Date());
+        platformReason.setEditor(platformReason.getLoginUserInfo().getId());
         platformReasonMapper.updateById(platformReason);
     }
 
@@ -87,53 +112,51 @@
     @Override
     public PageData<PlatformReason> findPage(PageWrap<PlatformReason> pageWrap) {
         IPage<PlatformReason> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
-        QueryWrapper<PlatformReason> queryWrapper = new QueryWrapper<>();
+        MPJLambdaWrapper<PlatformReason> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
+        pageWrap.getModel().setIsdeleted(Constants.ZERO);
+        queryWrapper.selectAll(PlatformReason.class)
+                .selectAs(PlatformGroup::getName,PlatformReason::getGroupName)
+                .leftJoin(PlatformGroup.class,PlatformGroup::getId,PlatformReason::getGroupId);
         if (pageWrap.getModel().getId() != null) {
-            queryWrapper.lambda().eq(PlatformReason::getId, pageWrap.getModel().getId());
+            queryWrapper.eq(PlatformReason::getId, pageWrap.getModel().getId());
         }
         if (pageWrap.getModel().getCreator() != null) {
-            queryWrapper.lambda().eq(PlatformReason::getCreator, pageWrap.getModel().getCreator());
+            queryWrapper.eq(PlatformReason::getCreator, pageWrap.getModel().getCreator());
         }
         if (pageWrap.getModel().getCreateDate() != null) {
-            queryWrapper.lambda().ge(PlatformReason::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
-            queryWrapper.lambda().le(PlatformReason::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
+            queryWrapper.ge(PlatformReason::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
+            queryWrapper.le(PlatformReason::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
         }
         if (pageWrap.getModel().getEditor() != null) {
-            queryWrapper.lambda().eq(PlatformReason::getEditor, pageWrap.getModel().getEditor());
+            queryWrapper.eq(PlatformReason::getEditor, pageWrap.getModel().getEditor());
         }
         if (pageWrap.getModel().getEditDate() != null) {
-            queryWrapper.lambda().ge(PlatformReason::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
-            queryWrapper.lambda().le(PlatformReason::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
+            queryWrapper.ge(PlatformReason::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
+            queryWrapper.le(PlatformReason::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
         }
         if (pageWrap.getModel().getIsdeleted() != null) {
-            queryWrapper.lambda().eq(PlatformReason::getIsdeleted, pageWrap.getModel().getIsdeleted());
+            queryWrapper.eq(PlatformReason::getIsdeleted, pageWrap.getModel().getIsdeleted());
         }
         if (pageWrap.getModel().getRemark() != null) {
-            queryWrapper.lambda().eq(PlatformReason::getRemark, pageWrap.getModel().getRemark());
+            queryWrapper.eq(PlatformReason::getRemark, pageWrap.getModel().getRemark());
         }
         if (pageWrap.getModel().getReason() != null) {
-            queryWrapper.lambda().eq(PlatformReason::getReason, pageWrap.getModel().getReason());
+            queryWrapper.like(PlatformReason::getReason, pageWrap.getModel().getReason());
         }
         if (pageWrap.getModel().getIocode() != null) {
-            queryWrapper.lambda().eq(PlatformReason::getIocode, pageWrap.getModel().getIocode());
+            queryWrapper.eq(PlatformReason::getIocode, pageWrap.getModel().getIocode());
         }
         if (pageWrap.getModel().getGroupId() != null) {
-            queryWrapper.lambda().eq(PlatformReason::getGroupId, pageWrap.getModel().getGroupId());
+            queryWrapper.eq(PlatformReason::getGroupId, pageWrap.getModel().getGroupId());
         }
         if (pageWrap.getModel().getLimitNum() != null) {
-            queryWrapper.lambda().eq(PlatformReason::getLimitNum, pageWrap.getModel().getLimitNum());
+            queryWrapper.eq(PlatformReason::getLimitNum, pageWrap.getModel().getLimitNum());
         }
         if (pageWrap.getModel().getSortnum() != null) {
-            queryWrapper.lambda().eq(PlatformReason::getSortnum, pageWrap.getModel().getSortnum());
+            queryWrapper.eq(PlatformReason::getSortnum, pageWrap.getModel().getSortnum());
         }
-        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
-            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
-                queryWrapper.orderByDesc(sortData.getProperty());
-            } else {
-                queryWrapper.orderByAsc(sortData.getProperty());
-            }
-        }
+        queryWrapper.orderByAsc(PlatformReason::getSortnum);
         return PageData.from(platformReasonMapper.selectPage(page, queryWrapper));
     }
 
@@ -142,4 +165,22 @@
         QueryWrapper<PlatformReason> wrapper = new QueryWrapper<>(platformReason);
         return platformReasonMapper.selectCount(wrapper);
     }
+    @Override
+    public void updateStatusById(PlatformReason platform) {
+        PlatformReason model  =platformReasonMapper.selectById(platform.getId());
+        if(model ==null) {
+            throw  new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇ヨ褰曚笉瀛樺湪锛�");
+        }
+        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        if(loginUserInfo == null){
+            loginUserInfo = platform.getLoginUserInfo();
+        }
+        PlatformReason update = new PlatformReason();
+        update.setEditDate(new Date());
+        update.setId(model.getId());
+        update.setEditor(loginUserInfo.getId());
+        update.setStatus(platform.getStatus());
+        platformReasonMapper.updateById(update);
+    }
+
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java
index ffdc5eb..82709a7 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java
@@ -69,13 +69,14 @@
     public void updateStatusById(Platform platform) {
         Platform model  =platformMapper.selectById(platform.getId());
         if(model ==null) {
-            throw  new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝浜哄憳淇℃伅涓嶅瓨鍦紒");
+            throw  new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇ヨ褰曚俊鎭笉瀛樺湪锛�");
         }
         LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         if(loginUserInfo == null){
             loginUserInfo = platform.getLoginUserInfo();
         }
         Platform update = new Platform();
+        update.setId(model.getId());
         update.setEditDate(new Date());
         update.setEditor(loginUserInfo.getId());
         update.setStatus(platform.getStatus());
@@ -127,7 +128,7 @@
                 .ge(pageWrap.getModel().getEditDate() != null, Platform::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()))
                 .le(pageWrap.getModel().getEditDate() != null, Platform::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()))
                 .eq(pageWrap.getModel().getIsdeleted() != null, Platform::getIsdeleted, pageWrap.getModel().getIsdeleted())
-                .eq(pageWrap.getModel().getName() != null, Platform::getName, pageWrap.getModel().getName())
+                .like(pageWrap.getModel().getName() != null, Platform::getName, pageWrap.getModel().getName())
                 .eq(pageWrap.getModel().getRemark() != null, Platform::getRemark, pageWrap.getModel().getRemark())
                 .eq(pageWrap.getModel().getStatus() != null, Platform::getStatus, pageWrap.getModel().getStatus())
                 .eq(pageWrap.getModel().getSortnum() != null, Platform::getSortnum, pageWrap.getModel().getSortnum())
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPrivilegeServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPrivilegeServiceImpl.java
index 03abcc6..62b5b77 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPrivilegeServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPrivilegeServiceImpl.java
@@ -65,12 +65,12 @@
                 param = new PrivilegeGroupRequest();
                 param.setPageNo(curPage);
                 param.setPageSize(100);
-                BaseResponse<PrivilegeGroupListResponse> response = HKService.privilegeGroup(param);
+//                BaseResponse<PrivilegeGroupListResponse> response = HKService.privilegeGroup(param);
+//                if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
+//                    response = HKService.privilegIccmeGroup(param);//鎺ュ彛V1鐗堟湰涓嶅瓨鍦紝璋冪敤iccm鐗堟湰鎺ュ彛
+//                }
+                BaseResponse<PrivilegeGroupListResponse> response = HKService.privilegIccmeGroup(param);//鎺ュ彛V1鐗堟湰涓嶅瓨鍦紝璋冪敤iccm鐗堟湰鎺ュ彛
                 if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
-                    response = HKService.privilegIccmeGroup(param);//鎺ュ彛V1鐗堟湰涓嶅瓨鍦紝璋冪敤iccm鐗堟湰鎺ュ彛
-                }
-                if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
-                    response = HKService.privilegIccmeGroup(param);
                     throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝娴峰悍鍚屾鏁版嵁澶辫触~");
                 }
                 PrivilegeGroupListResponse r = response.getData();
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java
index 8a287bf..09e6a3f 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java
@@ -52,7 +52,7 @@
     @Autowired
     private WxPlatNotice wxPlatNotice;
     /**
-     * 鍚屾娴峰悍璁垮淇℃伅,鏍规嵁erp鍚屾缁勭粐缁撴灉锛屽畾鏃舵鏌ラ渶瑕佷笅鍙戝埌娴峰悍鐨勭粍缁囦俊鎭�
+     * 鍚屾娴峰悍璁垮淇℃伅鏄惁宸茬绂荤姸鎬�
      */
     @Override
     public void getOutTimeVisitRecord(){
@@ -219,7 +219,8 @@
             Date date = new Date();
             for(Visits c : list) {
                 //鍙戣捣娴峰悍棰勭害鎺ュ彛锛堥渶瑕佺櫥璁帮級锛屾牴鎹绾﹁繑鍥炴帴鍙e皝瑁呯敵璇疯褰曟洿鏂板瓧娈�
-                getUpdateModelByResponse(c,date,roleList,path);
+//                getUpdateModelByResponse(c,date,roleList,path);
+                getUpdateModelByResponseIccm(c,date,roleList,path);
                 visitsMapper.updateById(c);
                 if(Objects.isNull(c.getParentId())){
                     wxPlatNotice.sendVisitAuditTemplateNotice(c,
@@ -266,7 +267,6 @@
      * @param c
      * @param date
      * @param date
-     * @param type 0闇�瑕佺櫥璁� 1鍏嶇櫥璁�
      */
     private void getUpdateModelByResponse(  Visits c,Date date, List<DeviceRole> roleList,String path ) {
         String code = null;
@@ -315,7 +315,6 @@
             }
             reson = response!=null?JSONObject.toJSONString(response):"";
         }
-
         if (code!= null && id!=null) {
             //娴峰悍涓嬪彂鎴愬姛
             c.setHkId( id);//棰勭害鏍囪瘑
@@ -323,6 +322,67 @@
             c.setRemark("涓嬪彂娴峰悍鎴愬姛锛�");
             c.setStatus(Constants.VisitStatus.xfSuccess);//涓嬪彂娴峰悍鎴愬姛
         } else {
+            //娴峰悍涓嬪彂澶辫触
+            c.setRemark("涓嬪彂娴峰悍澶辫触,鍘熷洜锛�"+ reson);
+            c.setStatus(Constants.VisitStatus.xfFail);//涓嬪彂娴峰悍澶辫触
+        }
+        c.setHkStatus(Constants.ONE);
+        c.setHkDate(date);
+    }
+    private void getUpdateModelByResponseIccm(  Visits c,Date date, List<DeviceRole> roleList,String path ) {
+        String code = null;
+        String id = null;
+        String qrcode = null;
+        String reson = "";
+        //鍙戣捣娴峰悍棰勭害鎺ュ彛
+        if(Constants.equalsInteger(c.getVisitType(),Constants.ZERO)){
+            //锛堥渶瑕佺櫥璁帮級
+            c.setVisitType(Constants.ZERO);
+            IccmAppointmentRequest request =  getHkRequestParaIccm(c,roleList,path);
+            if(request == null){
+                //娴峰悍涓嬪彂鎴愬姛
+                c.setStatus(Constants.VisitStatus.xfFail);//涓嬪彂娴峰悍澶辫触
+                c.setRemark("涓嬪彂娴峰悍鍙傛暟涓嶆纭紒");
+                c.setHkStatus(Constants.ONE);
+                c.setHkDate(date);
+                return;
+            }
+            BaseResponse<IccmAppointmentResponse> response =  HKService.iccmAppointment(request);
+            code =response!=null ?response.getCode():null;
+            if((response!=null && response.getData()!=null
+                    && response.getData().getAppointmentInfoList() !=null
+                    && response.getData().getAppointmentInfoList().size()>0)){
+                id =response.getData().getOrderId();
+                qrcode =response.getData().getAppointmentInfoList().get(0).getQRCode();
+            }
+            reson = response!=null?JSONObject.toJSONString(response):"";
+        }else{
+            //鍏嶇櫥璁�
+            c.setVisitType(Constants.ONE);
+            IccmAppointmentMDJRequest request =getHkMDJRequestParamIccm(c,roleList,path);
+            if(request == null){
+                //娴峰悍涓嬪彂鎴愬姛
+                c.setStatus(Constants.VisitStatus.xfFail);//涓嬪彂娴峰悍澶辫触
+                c.setRemark("涓嬪彂娴峰悍鍏嶇櫥璁板弬鏁颁笉姝g‘锛�");
+                c.setHkStatus(Constants.ONE);
+                c.setHkDate(date);
+                return;
+            }
+            BaseResponse<IccmAppointmentMDJResponse> response = HKService.iccmAppiontmentMDJ(request );
+            code =response!=null ?response.getCode():null;
+            if(response!=null && response.getData()!=null){
+                id = response.getData().getOrderId();
+                qrcode =response.getData().getQRCode();
+            }
+            reson = response!=null?JSONObject.toJSONString(response):"";
+        }
+        if (code!= null && id!=null) {
+            //娴峰悍涓嬪彂鎴愬姛
+            c.setHkId( id);//棰勭害鏍囪瘑
+            c.setQrcode(qrcode);
+            c.setRemark("涓嬪彂娴峰悍鎴愬姛锛�");
+            c.setStatus(Constants.VisitStatus.xfSuccess);//涓嬪彂娴峰悍鎴愬姛
+        }else {
             //娴峰悍涓嬪彂澶辫触
             c.setRemark("涓嬪彂娴峰悍澶辫触,鍘熷洜锛�"+ reson);
             c.setStatus(Constants.VisitStatus.xfFail);//涓嬪彂娴峰悍澶辫触
@@ -359,6 +419,29 @@
         request.setVisitorPermissionSet(getVisitPermissonRequest(roleList,c));
         return  request;
     }
+    private IccmAppointmentMDJRequest getHkMDJRequestParamIccm(Visits c,List<DeviceRole> roleList,String path) {
+        IccmAppointmentMDJRequest request = new IccmAppointmentMDJRequest();
+        IccmAppointmentVistorRequest info =getRequestInfoByVisitIccm(c,path);
+        if(info == null ){
+            //浜鸿劯涓虹┖锛屼笉鑳借繘琛屾帹閫�
+            return  null;
+        }
+        request.setVisitStartTime(DateUtil.getISO8601Timestamp2(c.getStarttime()));
+        request.setVisitEndTime(DateUtil.getISO8601Timestamp2(c.getEndtime()));
+        request.setReceptionistId(c.getReceptMemberHkId());//琚浜烘捣搴风紪鐮�
+        if(StringUtils.isNotBlank(c.getReason())){
+            char[] charArray = c.getReason().toCharArray();
+            int length = charArray.length;
+            if(length>32){
+                request.setVisitPurpose(c.getReason().substring(0,32));
+            }else{
+                request.setVisitPurpose(c.getReason());
+            }
+        }
+        request.setVisitorInfo(info);
+        request.setVisitorPermissionSet(getVisitPermissonRequestIccm(roleList,c));
+        return  request;
+    }
 
     /**
      * 璁垮鏉冮檺缁�
@@ -368,6 +451,20 @@
      */
     private VisitAppointmentPermissonRequest getVisitPermissonRequest(List<DeviceRole> roleList, Visits c) {
         VisitAppointmentPermissonRequest p = new VisitAppointmentPermissonRequest();
+        //鑾峰彇鏉冮檺缁勯泦鍚�
+        String[] roles = getHkRoles(c.getDoors(),roleList);
+        if(roles==null || roles.length ==0){
+            //浣跨敤榛樿璁垮鏉冮檺缁�
+            p.setDefaultPrivilegeGroupFlag(Constants.ONE+"");
+        }else{
+            //鎸囧畾鏈夋晥娴峰悍璁垮鏉冮檺缁勬暟鎹�
+            p.setDefaultPrivilegeGroupFlag(Constants.ZERO+"");
+            p.setPrivilegeGroupIds(roles);
+        }
+        return  p;
+    }
+    private IccmPermissionSetRequest getVisitPermissonRequestIccm(List<DeviceRole> roleList, Visits c) {
+        IccmPermissionSetRequest p = new IccmPermissionSetRequest();
         //鑾峰彇鏉冮檺缁勯泦鍚�
         String[] roles = getHkRoles(c.getDoors(),roleList);
         if(roles==null || roles.length ==0){
@@ -409,6 +506,34 @@
         request.setVisitorInfoList(infolist);
         return  request;
     }
+    private IccmAppointmentRequest getHkRequestParaIccm(Visits c,List<DeviceRole> roleList,String path ) {
+        IccmAppointmentRequest request = new IccmAppointmentRequest();
+        //鐢宠浜轰俊鎭�
+        IccmAppointmentVistorRequest info =getRequestInfoByVisitIccm(c,path);
+        if(info == null ){
+            //浜鸿劯涓虹┖锛屼笉鑳借繘琛屾帹閫�
+            return  null;
+        }
+        request.setVisitStartTime(DateUtil.getISO8601Timestamp(c.getStarttime()));
+        request.setVisitEndTime(DateUtil.getISO8601Timestamp(c.getEndtime()));
+        request.setReceptionistId(c.getReceptMemberHkId());//琚浜烘捣搴风紪鐮�
+
+        if(StringUtils.isNotBlank(c.getReason())){
+            char[] charArray = c.getReason().toCharArray();
+            int length = charArray.length;
+            if(length>32){
+                request.setVisitPurpose(c.getReason().substring(0,32));
+            }else{
+                request.setVisitPurpose(c.getReason());
+            }
+        }
+        //鑾峰彇鏉冮檺缁勯泦鍚�
+        request.setVisitorPermissionSet(getVisitPermissonRequestIccm(roleList,c));
+        List<IccmAppointmentVistorRequest> infolist = new ArrayList<>();
+        infolist.add(info);
+        request.setVisitorInfoList(infolist);
+        return  request;
+    }
 
     private VisitAppointmentVistorRequest getRequestInfoByVisit(Visits c,String path) {
         VisitAppointmentVistorRequest info = new VisitAppointmentVistorRequest();
@@ -456,6 +581,52 @@
 
         return info;
     }
+    private IccmAppointmentVistorRequest getRequestInfoByVisitIccm(Visits c,String path) {
+        IccmAppointmentVistorRequest info = new IccmAppointmentVistorRequest();
+        //浜鸿劯鏁版嵁
+        if(StringUtils.isBlank(c.getName())
+                ||StringUtils.isBlank(c.getPhone())
+                || StringUtils.isBlank(c.getFaceImg()) ){
+            return  null;
+        }
+        if(StringUtils.isNotBlank(c.getFaceImg())){
+            info.setVisitorPhoto(ImageBase64Util.Image2Base64(path+c.getFaceImg()));
+        }
+        if(info.getVisitorPhoto() == null){
+            return  null;
+        }
+        if(StringUtils.isNotBlank(c.getName())){
+            char[] charArray = c.getName().toCharArray();
+            int length = charArray.length;
+            if(length>32){
+                info.setVisitorName(c.getName().substring(0,32));
+            }else{
+                info.setVisitorName(c.getName());
+            }
+        }
+
+        if(StringUtils.isNotBlank(c.getCompanyName())){
+            char[] charArray = c.getCompanyName().toCharArray();
+            int length = charArray.length;
+            if(length>32){
+                info.setVisitorWorkUnit(c.getCompanyName().substring(0,32));
+            }else{
+                info.setVisitorWorkUnit(c.getCompanyName());
+            }
+        }
+        info.setPhoneNo(c.getPhone());
+        info.setPlateNo(c.getCarNos());
+        info.setGender(c.getSex()+"");
+        if(Constants.equalsInteger(c.getIdcardType(),Constants.ZERO)){
+            info.setCertificateType(HKConstants.CertificateType.SHENFENZHENG.getKey()+"");
+            info.setCertificateNo(DESUtil.decrypt(Constants.EDS_PWD, c.getIdcardNo()));
+        } else if(Constants.equalsInteger(c.getIdcardType(),Constants.TWO)){
+            info.setCertificateType(HKConstants.CertificateType.HUZHAO.getKey()+"");
+            info.setCertificateNo(DESUtil.decrypt(Constants.EDS_PWD,  c.getIdcardNo()));
+        }
+
+        return info;
+    }
 
     private String[] getHkRoles(String doors, List<DeviceRole> roleList) {
         if(StringUtils.isBlank(doors) || roleList.size()==0|| roleList.size()==0){

--
Gitblit v1.9.3