From ffa54cddadb29a265869573abb0c1067fcd74b96 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 09 五月 2025 16:14:03 +0800
Subject: [PATCH] 提交

---
 server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java           |   11 
 server/system_service/src/main/java/com/doumee/core/utils/Constants.java                                         |   49 -----
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutRecordServiceImpl.java         |    4 
 server/visits/dmvisit_admin/pom.xml                                                                              |    2 
 server/system_service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java                          |   54 ++++--
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java                          |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java           |   10 
 admin/src/views/business/inoutRecord.vue                                                                         |   14 +
 admin/src/views/timer/timer.vue                                                                                  |   10 
 server/system_service/src/main/java/com/doumee/service/timer/QuartzJobService.java                               |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/WholeProvinceBoardVO.java |    1 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java            |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java                         |   10 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java   |  227 ++++++++++++++++-----------
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java         |   13 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java              |   15 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java  |   10 +
 admin/.env.development                                                                                           |    5 
 18 files changed, 251 insertions(+), 193 deletions(-)

diff --git a/admin/.env.development b/admin/.env.development
index 20b195b..fc24b85 100644
--- a/admin/.env.development
+++ b/admin/.env.development
@@ -2,7 +2,12 @@
 NODE_ENV = 'development'
 
 # VUE_APP_API_URL  = 'https://atwl.ahzyssl.com/zhyq_interface'
+<<<<<<< HEAD
 VUE_APP_API_URL  = 'http://192.168.0.100:10010'
 # VUE_APP_API_URL  = 'https://atwl.ahzyssl.com/zhyq_interface'
+=======
+#VUE_APP_API_URL  = 'http://192.168.0.104:10010'
+ VUE_APP_API_URL  = 'https://atwl.ahzyssl.com/zhyq_interface'
+>>>>>>> f49ead8710e093ee1d2d3ed50870497f07dee9fa
 # VUE_APP_API_URL  = 'http://10.50.250.253:8088/gateway_interface'
 
diff --git a/admin/src/views/business/inoutRecord.vue b/admin/src/views/business/inoutRecord.vue
index 63c90c2..c976ee6 100644
--- a/admin/src/views/business/inoutRecord.vue
+++ b/admin/src/views/business/inoutRecord.vue
@@ -4,6 +4,12 @@
     <div slot="search-form">
       <el-form ref="searchForm" :model="searchForm" label-width="100px" inline>
         <el-form-item label="" prop="inOrOut">
+          <el-select v-model="searchForm.type"  style="width: 130px" clearable @change="search" placeholder="浜嬩欢绫诲瀷">
+            <el-option label="杞﹁締浜嬩欢" value="0">杞﹁締浜嬩欢</el-option>
+            <el-option label="浜哄憳浜嬩欢" value="1">浜哄憳浜嬩欢</el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="" prop="inOrOut">
           <el-select v-model="searchForm.inOrOut"  style="width: 130px" clearable @change="search" placeholder="杩涘嚭绫诲瀷">
             <el-option label="杩�" value="0"></el-option>
             <el-option label="鍑�" value="1"></el-option>
@@ -83,7 +89,7 @@
           </template>
         </el-table-column>
         <el-table-column prop="carCode" label="杞︾墝鍙�" min-width="100px"></el-table-column>
-<!--        <el-table-column prop="carBizType" label="杞﹁締涓氬姟绫诲瀷" min-width="100px">
+<!--    <el-table-column prop="carBizType" label="杞﹁締涓氬姟绫诲瀷" min-width="100px">
           <template slot-scope="{row}">
             <template v-if="row.carCode">
               <span  v-if="row.carBizType ==0">璁垮杞﹁締</span>
@@ -129,14 +135,13 @@
 <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 OperaInoutRecordWindow from '@/components/business/OperaInoutRecordWindow'
 import { timeForMat } from '@/utils/util'
 export default {
   name: 'InoutRecord',
   extends: BaseTable,
-  components: { SearchFormCollapse, TableLayout, Pagination, OperaInoutRecordWindow },
+  components: {  TableLayout, Pagination, OperaInoutRecordWindow },
   data () {
     return {
       // 鎼滅储
@@ -150,7 +155,8 @@
         companyName: '',
         startDate: null,
         endDate: null,
-        radio: '0'
+        radio: '0',
+        type: null
       },
       time: [],
       bizTypeList: [{ key: 0, name: '璁垮杞﹁締' },
diff --git a/admin/src/views/timer/timer.vue b/admin/src/views/timer/timer.vue
index fc76f3e..c854de5 100644
--- a/admin/src/views/timer/timer.vue
+++ b/admin/src/views/timer/timer.vue
@@ -3,10 +3,13 @@
     <!-- 鎼滅储琛ㄥ崟 -->
     <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
       <el-form-item label="Bean鍚嶇О" prop="beanName">
-        <el-input v-model="searchForm.beanName" placeholder="璇疯緭鍏ュ彂甯冧汉" @keypress.enter.native="search"></el-input>
+        <el-input v-model="searchForm.beanName" placeholder="璇疯緭鍏ean鍚嶇О" @keypress.enter.native="search"></el-input>
       </el-form-item>
       <el-form-item label="妯″潡鍚嶇О" prop="module">
-        <el-input v-model="searchForm.module" placeholder="璇疯緭鍏ュ彂甯冧汉" @keypress.enter.native="search"></el-input>
+        <el-input v-model="searchForm.module" placeholder="璇疯緭鍏ユā鍧楀悕绉�" @keypress.enter.native="search"></el-input>
+      </el-form-item>
+      <el-form-item label="澶囨敞" prop="remark">
+        <el-input v-model="searchForm.remark" placeholder="璇疯緭鍏ュ娉�" @keypress.enter.native="search"></el-input>
       </el-form-item>
       <section>
         <el-button type="primary" @click="search">鎼滅储</el-button>
@@ -83,7 +86,8 @@
       searchForm: {
         id: '',
         beanName: '',
-        module: ''
+        module: '',
+        remark: ''
       },
       pausing:false,
       running:false,
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
index f1395de..666174e 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
@@ -1316,7 +1316,8 @@
         for (Rooms rooms:roomList) {
             //鏌ヨ褰撳墠浼氳瀹ゆ槸鍚﹀瓨鍦ㄨ繘琛屼腑鐨勪細璁�
             if(bookingsMapper.selectCount(new QueryWrapper<Bookings>().lambda().eq(Bookings::getIsdeleted,Constants.ZERO)
-                    .eq(Bookings::getStatus,Constants.ZERO).isNotNull(Bookings::getStartTimeReal).apply(" DATE_FORMAT(NOW(), '%Y-%m-%d') = DATE_FORMAT(START_TIME, '%Y-%m-%d') ")
+                    .eq(Bookings::getStatus,Constants.ZERO).eq(Bookings::getRoomId,rooms.getId()).isNotNull(Bookings::getStartTimeReal).
+                    apply(" DATE_FORMAT(NOW(), '%Y-%m-%d') = DATE_FORMAT(START_TIME, '%Y-%m-%d') ")
             )<=Constants.ZERO){
                 //鏍规嵁浼氳瀹よ幏鍙栧彲浠ュ紑鍚殑浼氳璁板綍锛堢涓�鏉¤褰曪級
                 Bookings bookings = bookingsMapper.selectOne(new QueryWrapper<Bookings>().lambda()
@@ -1328,9 +1329,11 @@
                         .orderByAsc(Bookings::getStartTime)
                         .last(" limit 1 ")
                 );
-                bookings.setStartTimeReal(new Date());
-                bookings.setEditDate(new Date());
-                bookingsMapper.updateById(bookings);
+                if(Objects.nonNull(bookings)){
+                    bookings.setStartTimeReal(new Date());
+                    bookings.setEditDate(bookings.getStartTimeReal());
+                    bookingsMapper.updateById(bookings);
+                }
             }
         }
     }
diff --git a/server/system_service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java b/server/system_service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java
index 0b02a91..c6f70ac 100644
--- a/server/system_service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java
+++ b/server/system_service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java
@@ -440,26 +440,25 @@
             Sheet sheet = sxssfWorkbook.createSheet(sheetName);
             // 鍒涘缓鍒楀ご
             sheet.createFreezePane(0, 1);
-            Row header = sheet.createRow(0);
             CellStyle hstyle = configHeaderCellStatic(sxssfWorkbook);
+            CellStyle rowStyle = configDataCellStatic(sxssfWorkbook);
             for (int i = 0; i < dataList.size(); i++) {
-                Cell cell = header.createCell(i);
-                cell.setCellValue(dataList.get(i).get(Constants.ZERO));
-                // 鍒楀璁剧疆
-                sheet.setColumnWidth(i, dataList.get(i).get(Constants.ZERO).length() * 2 * 256);
-                // 璁剧疆鍒楀ご鍗曞厓鏍�
-                cell.setCellStyle(hstyle);
-            }
-
-            //鎬昏鏁�
-            Integer rowSize = dataList.get(Constants.ZERO).size();
-            //鎬诲垪鏁�
-            Integer columnSize = dataList.size();
-            for (int i = 1; i < rowSize; i++) {
                 Row row = sheet.createRow(i);
-                for (int j = 0; j < columnSize; j++) {
+                List<String> rowList = dataList.get(i);
+                for (int j = 0; j < rowList.size(); j++) {
                     Cell cell = row.createCell(j);
-                    cell.setCellValue(dataList.get(j).get(i));
+                    if(i==0&&j==0){
+                        cell.setCellValue("鏁版嵁鏃ユ湡");
+                    }else{
+                        cell.setCellValue(rowList.get(j));
+                    }
+
+                    if(i==0){
+                        sheet.setColumnWidth(i, rowList.get(i).length() * 2 * 256);
+                        cell.setCellStyle(hstyle);
+                    }else if(j==0){
+                        cell.setCellStyle(rowStyle);
+                    }
                 }
             }
             sxssfWorkbook.write(os);
@@ -477,6 +476,7 @@
         }
     }
 
+
     private static CellStyle configHeaderCellStatic (SXSSFWorkbook workbook)  {
         CellStyle style = workbook.createCellStyle();
         style.setAlignment(HorizontalAlignment.CENTER);
@@ -486,7 +486,7 @@
         style.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
         // 瀛椾綋
         Font font = workbook.createFont();
-        font.setFontHeightInPoints((short) 12);
+        font.setFontHeightInPoints((short) 10);
         style.setFont(font);
         // 璁剧疆杈规
         configCellBorder(style);
@@ -494,6 +494,26 @@
     }
 
 
+    /**
+     * 閰嶇疆鏁版嵁鍗曞厓鏍�
+     */
+    private static CellStyle configDataCellStatic  (SXSSFWorkbook workbook ) {
+        CellStyle  configDataCellStyle = workbook.createCellStyle();
+        configDataCellStyle.setAlignment(HorizontalAlignment.CENTER);
+        configDataCellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
+        // 璁剧疆鑳屾櫙
+        configDataCellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
+        configDataCellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
+        // 瀛椾綋
+        Font font = workbook.createFont();
+        font.setFontHeightInPoints((short) 10);
 
+        configDataCellStyle.setFont(font);
+        // 杈规
+        configCellBorder(configDataCellStyle);
+        configDataCellStyle.setWrapText(true);
+
+        return configDataCellStyle;
+    }
 
 }
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 b538ada..769318b 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
@@ -718,53 +718,8 @@
 //        System.out.println(Constants.getVehiclePlateNo("婀楤140D17").getDescription());
 //        System.out.println(Constants.getVehiclePlateNo("瀹緼P0637").getDescription());
 
-        System.out.println("<script> SELECT \n" +
-                "t1.REALNAME `REALNAME`,\n" +
-                "MAX(t1.`01`) `januaryCount`,\n" +
-                "MAX(t1.`02`) `februaryCount`,\n" +
-                "MAX(t1.`03`) `marchCount`,\n" +
-                "MAX(t1.`04`) `aprilCount`,\n" +
-                "MAX(t1.`05`) `mayCount`,\n" +
-                "MAX(t1.`06`) `juneCount`,\n" +
-                "MAX(t1.`07`) `julyCount`,\n" +
-                "MAX(t1.`08`) `augustCount`,\n" +
-                "MAX(t1.`09`) `septemberCount`,\n" +
-                "MAX(t1.`10`) `octoberCount`,\n" +
-                "MAX(t1.`11`) `novemberCount`,\n" +
-                "MAX(t1.`12`) `decemberCount`\n" +
-                "FROM(\n" +
-                "SELECT \n" +
-                "t.id,\n" +
-                "t.REALNAME,\n" +
-                "CASE  WHEN t.yue='01' THEN t.c ELSE 0 END AS `01`,\n" +
-                "CASE  WHEN t.yue='02' THEN t.c ELSE 0 END AS `02`,\n" +
-                "CASE  WHEN t.yue='03' THEN t.c ELSE 0 END AS `03`,\n" +
-                "CASE  WHEN t.yue='04' THEN t.c ELSE 0 END AS `04`,\n" +
-                "CASE  WHEN t.yue='05' THEN t.c ELSE 0 END AS `05`,\n" +
-                "CASE  WHEN t.yue='06' THEN t.c ELSE 0 END AS `06`,\n" +
-                "CASE  WHEN t.yue='07' THEN t.c ELSE 0 END AS `07`,\n" +
-                "CASE  WHEN t.yue='08' THEN t.c ELSE 0 END AS `08`,\n" +
-                "CASE  WHEN t.yue='09' THEN t.c ELSE 0 END AS `09`,\n" +
-                "CASE  WHEN t.yue='10' THEN t.c ELSE 0 END AS `10`,\n" +
-                "CASE  WHEN t.yue='11' THEN t.c ELSE 0 END AS `11`,\n" +
-                "CASE  WHEN t.yue='12' THEN t.c ELSE 0 END AS `12`  \n" +
-                "FROM   \n" +
-                "(SELECT \n" +
-                "su.id,\n" +
-                "su.REALNAME,\n" +
-                "DATE_FORMAT(b.START_TIME,'%m') yue,\n" +
-                "SUM(" +
-                "CONVERT( (UNIX_TIMESTAMP(b.END_TIME) - UNIX_TIMESTAMP(b.START_TIME))/(60*60), DECIMAL(5,1))) c\n" +
-                "FROM \n" +
-                "meeting_user_rel ur\n" +
-                "LEFT JOIN `SYSTEM_USER` su ON ur.USER_ID = su.id \n" +
-                "LEFT JOIN meeting_book b ON ur.OBJ_ID = b.id \n" +
-                "WHERE DATE_FORMAT(b.START_TIME,'%Y') = #{yearNum} AND b.STATUS in(0,2) and b.isdeleted=0" +
-                "<if test='userId != null'>"+
-                "and ur.USER_ID = #{userId}\n" +
-                "</if>"+
-                "GROUP BY su.id, DATE_FORMAT(b.START_TIME,'%m')) t) t1 GROUP BY t1.id" +
-                "</script>");
+        System.out.println( "{\"data\":{\"paramValues\":{\"accessType\":\"2\",\"certTypes\":\"111\",\"certificateNos\":\"340122199904297373\",\"defineEventType\":\"771760131\",\"eventId\":\"6eb4a18bf3744c4385adb37eecdc9d37_634acece3fcf0_3d87\",\"eventType\":\"541200060\",\"eventTypeName\":\"\",\"extEventCardNo\":\"\",\"extEventPictureURL\":\"/pic?9d9c568c1a2do-4el*71-871o9=1524*7l9=0507*3607416=7147*=t212**ps5=2*8b9=559838d9837371-b162of-5pi2dc3=88=20c\",\"extEventReaderID\":\"\",\"extEventReaderKind\":\"\",\"gateIndex\":\"fc92c663ffb9420994f2574469f35e2d\",\"gateName\":\"瀹夋嘲瑗块棬\",\"happenTime\":\"2025-05-09T13:06:13.000+08:00\",\"inOrOut\":\"0\",\"invoicesIds\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"parkIndex\":\"1c4cdb8b66ed4c23bacb385c3fb6c46b\",\"parkName\":\"鍋滆溅鍦篭",\"phones\":\"19956520776\",\"plateNos\":\"鐨朅AA1652\",\"srcIndex\":\"6eb4a18bf3744c4385adb37eecdc9d37\",\"srcName\":\"\",\"srcParentIndex\":\"\",\"srcType\":\"roadway\",\"svrIndexCode\":\"eae18a71-1ffd-4e72-bcf6-998c5977630d\",\"userType\":\"\",\"visitorNames\":\"淇炴壃\"},\"targetPerson\":{\"certType\":\"111\",\"createTime\":\"2024-08-19T17:43:09.966+08:00\",\"jobNo\":\"18055162696\",\"mobile\":\"18055162696\",\"name\":\"鏈变箣钀孿",\"orgId\":\"d815b989-877a-40e7-8f34-a5388295a3d2\",\"orgPathName\":\"瀹夋嘲鐗╂祦鍥尯/瀹夋嘲鐗╂祦/缁煎悎绠$悊绉慭",\"personId\":\"1d8d42233bce4722a741917de4195084\",\"personNumber\":\"18055162696\",\"pinyin\":\"zhuzhimeng\",\"sex\":\"1\",\"updateTime\":\"2025-05-09T11:20:42.000+08:00\",\"userName\":\"18055162696\"},\"visitorInformationList\":[{\"appointmentCode\":\"947384\",\"cardNo\":\"6206767065588\",\"certNo\":\"340122199904297373\",\"certType\":111,\"companionPerson\":\"0\",\"createTime\":\"2025-05-09T13:04:26.740+08:00\",\"faceUrl\":\"2ffa5b542ec2448f9033e6901b326f44\",\"phone\":\"19956520776\",\"plateNo\":\"鐨朅AA1652\",\"sex\":1,\"unit\":\"瀹夊窘涓滅櫨淇濆畨鏈嶅姟鏈夐檺鍏徃\",\"updateTime\":\"2025-05-09T13:05:36.472+08:00\",\"visitNum\":\"0\",\"visitorId\":\"6424f11498de48228fb2a418d3fc3bb1\",\"visitorName\":\"淇炴壃\"}],\"visitorInvoices\":{\"appointmentType\":\"3\",\"authIssueStatus\":\"1\",\"beginTime\":\"2025-05-09T13:01:00.000+08:00\",\"campusId\":\"root000000\",\"campusName\":\"榛樿鍥尯\",\"createTime\":\"2025-05-09T13:04:26.693+08:00\",\"extendJson\":\"\",\"finishTime\":\"2025-05-09T14:01:00.000+08:00\",\"ifInfoAbnormal\":\"0\",\"invoicesId\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"invoicesNo\":\"FK20250509130002\",\"invoicesStatus\":\"1\",\"isRepast\":\"0\",\"type\":\"0\",\"updateTime\":\"2025-05-09T13:05:30.372+08:00\",\"visitReason\":\"-1\",\"visitReasonName\":\"鍏朵粬\",\"visitTargetId\":\"1d8d42233bce4722a741917de4195084\",\"workflowInitiatorId\":\"6424f11498de48228fb2a418d3fc3bb1\",\"workflowInitiatorType\":\"0\",\"workflowInstanceId\":\"7010a8521de54f088331e7176b82fd10\"}},\"eventId\":\"b5024c7b6c8b4b5587baf42dc5bce025\",\"eventType\":541200060,\"happenTime\":\"2025-05-09T13:06:14+08:00\",\"srcIndex\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"srcType\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"status\":0,\"timeout\":0}");
+        System.out.println("{\"data\":{\"paramValues\":{\"accessType\":\"2\",\"certTypes\":\"111\",\"certificateNos\":\"340122199904297373\",\"defineEventType\":\"771760134\",\"eventId\":\"6cf8a9b5cb614bddb74f338701975ade_634ad693b6b33_3db4\",\"eventType\":\"541200060\",\"eventTypeName\":\"\",\"extEventCardNo\":\"\",\"extEventPictureURL\":\"/pic?9d9c568c1a2do-4el*81-891*9o3=5563*4l0=0206706794t6=318**ps==515b*=5698*8d9835393-b9667f-1pi1dco=852c2=083\",\"extEventReaderID\":\"\",\"extEventReaderKind\":\"\",\"gateIndex\":\"fc92c663ffb9420994f2574469f35e2d\",\"gateName\":\"瀹夋嘲瑗块棬\",\"happenTime\":\"2025-05-09T13:40:59.000+08:00\",\"inOrOut\":\"1\",\"invoicesIds\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"parkIndex\":\"1c4cdb8b66ed4c23bacb385c3fb6c46b\",\"parkName\":\"鍋滆溅鍦篭",\"phones\":\"19956520776\",\"plateNos\":\"鐨朅AA1652\",\"srcIndex\":\"6cf8a9b5cb614bddb74f338701975ade\",\"srcName\":\"\",\"srcParentIndex\":\"\",\"srcType\":\"roadway\",\"svrIndexCode\":\"eae18a71-1ffd-4e72-bcf6-998c5977630d\",\"userType\":\"\",\"visitorNames\":\"淇炴壃\"},\"targetPerson\":{\"certType\":\"111\",\"createTime\":\"2024-08-19T17:43:09.966+08:00\",\"jobNo\":\"18055162696\",\"mobile\":\"18055162696\",\"name\":\"鏈变箣钀孿",\"orgId\":\"d815b989-877a-40e7-8f34-a5388295a3d2\",\"orgPathName\":\"瀹夋嘲鐗╂祦鍥尯/瀹夋嘲鐗╂祦/缁煎悎绠$悊绉慭",\"personId\":\"1d8d42233bce4722a741917de4195084\",\"personNumber\":\"18055162696\",\"pinyin\":\"zhuzhimeng\",\"sex\":\"1\",\"updateTime\":\"2025-05-09T11:20:42.000+08:00\",\"userName\":\"18055162696\"},\"visitorInformationList\":[{\"appointmentCode\":\"947384\",\"cardNo\":\"6206767065588\",\"certNo\":\"340122199904297373\",\"certType\":111,\"companionPerson\":\"0\",\"createTime\":\"2025-05-09T13:04:26.740+08:00\",\"faceUrl\":\"2ffa5b542ec2448f9033e6901b326f44\",\"phone\":\"19956520776\",\"plateNo\":\"鐨朅AA1652\",\"sex\":1,\"unit\":\"瀹夊窘涓滅櫨淇濆畨鏈嶅姟鏈夐檺鍏徃\",\"updateTime\":\"2025-05-09T13:05:36.472+08:00\",\"visitNum\":\"0\",\"visitorId\":\"6424f11498de48228fb2a418d3fc3bb1\",\"visitorName\":\"淇炴壃\"}],\"visitorInvoices\":{\"appointmentType\":\"3\",\"authIssueStatus\":\"1\",\"beginTime\":\"2025-05-09T13:01:00.000+08:00\",\"campusId\":\"root000000\",\"campusName\":\"榛樿鍥尯\",\"createTime\":\"2025-05-09T13:04:26.693+08:00\",\"extendJson\":\"\",\"finishTime\":\"2025-05-09T14:01:00.000+08:00\",\"ifInfoAbnormal\":\"0\",\"invoicesId\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"invoicesNo\":\"FK20250509130002\",\"invoicesStatus\":\"5\",\"isRepast\":\"0\",\"type\":\"0\",\"updateTime\":\"2025-05-09T13:41:00.369+08:00\",\"visitReason\":\"-1\",\"visitReasonName\":\"鍏朵粬\",\"visitTargetId\":\"1d8d42233bce4722a741917de4195084\",\"workflowInitiatorId\":\"6424f11498de48228fb2a418d3fc3bb1\",\"workflowInitiatorType\":\"0\",\"workflowInstanceId\":\"7010a8521de54f088331e7176b82fd10\"}},\"eventId\":\"2bb6700a9e4f48849227100243f470b2\",\"eventType\":541200060,\"happenTime\":\"2025-05-09T13:41:00+08:00\",\"srcIndex\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"srcType\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"status\":0,\"timeout\":0}");
     }
 
 
diff --git a/server/system_service/src/main/java/com/doumee/service/timer/QuartzJobService.java b/server/system_service/src/main/java/com/doumee/service/timer/QuartzJobService.java
index b2e0c19..562139b 100644
--- a/server/system_service/src/main/java/com/doumee/service/timer/QuartzJobService.java
+++ b/server/system_service/src/main/java/com/doumee/service/timer/QuartzJobService.java
@@ -115,7 +115,7 @@
                 .eq(pageWrap.getModel().getParams() != null, QuartzJob::getParams, pageWrap.getModel().getParams())
                 .like(pageWrap.getModel().getBeanName() != null, QuartzJob::getBeanName, pageWrap.getModel().getBeanName())
                 .eq(pageWrap.getModel().getState() != null, QuartzJob::getState, pageWrap.getModel().getState())
-                .eq(pageWrap.getModel().getRemark() != null, QuartzJob::getRemark, pageWrap.getModel().getRemark())
+                .like(pageWrap.getModel().getRemark() != null, QuartzJob::getRemark, pageWrap.getModel().getRemark())
                 .like(pageWrap.getModel().getModule() != null, QuartzJob::getModule, pageWrap.getModel().getModule())
         ;
         return PageData.from(quartzJobMapper.selectPage(page, queryWrapper));
diff --git a/server/visits/dmvisit_admin/pom.xml b/server/visits/dmvisit_admin/pom.xml
index 56ff907..ed28378 100644
--- a/server/visits/dmvisit_admin/pom.xml
+++ b/server/visits/dmvisit_admin/pom.xml
@@ -8,9 +8,7 @@
         <artifactId>visits</artifactId>
         <version>1.0.0-SNAPSHOT</version>
     </parent>
-
     <artifactId>dmvisit_admin</artifactId>
-
     <properties>
         <maven.compiler.source>8</maven.compiler.source>
         <maven.compiler.target>8</maven.compiler.target>
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java
index 3ae8966..6325b69 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java
@@ -78,7 +78,7 @@
             "3=瀹夋嘲鐨勯绾﹀叆鍥溅杈嗭細璐ц繍杞﹁締-鍔犲伐鐑熷嵏璐ц溅杈� ;" +
             "4=瀹夋嘲鍏姟杞︼細鍏姟杞�-瀹夋嘲鐗╂祦鍏姟鐢ㄨ溅;" +
             "5=瀹夋嘲鑷湁杞︼細璐ц繍杞﹁締-瀹夋嘲鐗╂祦璐ц繍杞﹁締 ")
-    @ExcelColumn(name="涓氬姟绫诲瀷",index = 4,width = 16,valueMapping = "0=璁垮杞﹁締-璁垮杞﹁締;1=璐ц繍杞﹁締-澶栧崗杩愯緭杞﹁締;2=璐ц繍杞﹁締-甯傚叕鍙稿嵏璐ц溅杈�;3=璐ц繍杞﹁締-鍔犲伐鐑熷嵏璐ц溅杈�;4=鍏姟杞�-瀹夋嘲鐗╂祦鍏姟鐢ㄨ溅;5=璐ц繍杞﹁締-瀹夋嘲鐗╂祦璐ц繍杞﹁締;6=鏈煡杞﹁締;")
+    @ExcelColumn(name="涓氬姟绫诲瀷",index = 4,width = 16,valueMapping = "0=璁垮杞﹁締;1=澶栧崗杩愯緭杞﹁締;2=甯傚叕鍙稿嵏璐ц溅杈�;3=鍔犲伐鐑熷嵏璐ц溅杈�;4=瀹夋嘲鐗╂祦鍏姟鐢ㄨ溅;5=瀹夋嘲鐗╂祦璐ц繍杞﹁締;6=鏈煡杞﹁締;")
     private Integer bizType;
 
     @ApiModelProperty(value = "鐖剁骇缂栫爜锛堣嚜鍏宠仈锛�")
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 2bbc57c..edf4ba3 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
@@ -58,7 +58,7 @@
     private Integer type;
     @ApiModelProperty(value = " 绫诲瀷 0鐩稿叧鏂圭粍缁� 1鍐呴儴浜哄憳 2璁垮")
     @TableField(exist = false)
-    @ExcelColumn(name="浜哄憳绫诲瀷" ,index = 5, valueMapping="0=鍔冲姟璁垮;1=鏅�氳瀹�;2=鍐呴儴鍛樺伐;3=杞﹁締淇℃伅;",width = 8)
+//    @ExcelColumn(name="浜哄憳绫诲瀷" ,index = 5, valueMapping="0=鍔冲姟璁垮;1=鏅�氳瀹�;2=鍐呴儴鍛樺伐;3=杞﹁締淇℃伅;",width = 8)
     private String typeName;
 
     @ApiModelProperty(value = "璁垮鍚嶇О")
@@ -160,15 +160,19 @@
     private Integer categoryId;
 
     @ApiModelProperty(value = "鍏宠仈鍒嗙被鍚嶇О")
-    @ExcelColumn(name="杞﹁締鍒嗙被" ,index = 8,width = 16)
     private String categoryName;
 
     @ApiModelProperty(value = "鍏宠仈鐖剁骇鍒嗙被缂栫爜锛堝叧鑱攃ategory)", example = "1")
-    @ExcelColumn(name="鍏宠仈鐖剁骇鍒嗙被缂栫爜锛堝叧鑱攃ategory)")
     private Integer categoryParentId;
 
     @ApiModelProperty(value = "鍏宠仈鍒嗙被鍚嶇О")
     @ExcelColumn(name="鍏宠仈鍒嗙被鍚嶇О")
     private String categoryParentName;
 
+
+    @ApiModelProperty(value = "0=璁垮杞﹁締;1=澶栧崗杩愯緭杞﹁締;2=甯傚叕鍙稿嵏璐ц溅杈�;3=鍔犲伐鐑熷嵏璐ц溅杈�;4=瀹夋嘲鐗╂祦鍏姟鐢ㄨ溅;5=瀹夋嘲鐗╂祦璐ц繍杞﹁締;6=鏈煡杞﹁締 ")
+    @ExcelColumn(name="杞﹁締鍒嗙被" ,index = 8,width = 16,valueMapping ="0=璁垮杞﹁締;1=澶栧崗杩愯緭杞﹁締;2=甯傚叕鍙稿嵏璐ц溅杈�;3=鍔犲伐鐑熷嵏璐ц溅杈�;4=瀹夋嘲鐗╂祦鍏姟鐢ㄨ溅;5=瀹夋嘲鐗╂祦璐ц繍杞﹁締;6=鏈煡杞﹁締;" )
+    @TableField(exist = false)
+    private Integer bizType;
+
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/WholeProvinceBoardVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/WholeProvinceBoardVO.java
index bf1faf4..962850e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/WholeProvinceBoardVO.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/WholeProvinceBoardVO.java
@@ -17,7 +17,6 @@
 
     @ApiModelProperty(value = "銆愬嚭搴撹兘鍔涖�戝綋鏃ヨ鍗曢噷")
     private BigDecimal currentOrderNum;
-
     @ApiModelProperty(value = "銆愬嚭搴撹兘鍔涖�戝綋鏃ヨ鍒掗噺")
     private BigDecimal currentPlanNum;
     @ApiModelProperty(value = "銆愬嚭搴撹兘鍔涖�戞棤闇�閰嶈浇鐨勪换鍔¢噺")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
index c2065be..7ca81c5 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
@@ -181,6 +181,9 @@
     }
     @Override
     public  List<Category> findChileList(Category model) {
+        if(Objects.isNull(model)){
+            model = new Category();
+        }
         model.setIsdeleted(Constants.ZERO);
         List<Category> list =findList(model);
         List<Category> data = new ArrayList<>();
@@ -194,6 +197,8 @@
                         category.setGroupName( category.getParentName()+"/"+category.getName());
                         data.add(category);
                     }
+                }else{
+                    data.add(category);
                 }
             }
         }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutRecordServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutRecordServiceImpl.java
index 9f2e545..bd7d8a3 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutRecordServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutRecordServiceImpl.java
@@ -121,7 +121,9 @@
         InoutRecord model = pageWrap.getModel();
         queryWrapper.selectAll(InoutRecord.class)
                 .eq(InoutRecord::getIsdeleted,Constants.ZERO)
-                .eq(Objects.nonNull(model.getType()),InoutRecord::getType, model.getType())
+//                .eq(Objects.nonNull(model.getType()),InoutRecord::getType, model.getType())
+                .isNotNull(Objects.nonNull(model.getType())&&Constants.equalsInteger(model.getType(),Constants.ZERO),InoutRecord::getCarCode)
+                .isNotNull(Objects.nonNull(model.getType())&&Constants.equalsInteger(model.getType(),Constants.ONE),InoutRecord::getMemberPhone)
                 .eq(Objects.nonNull(model.getInOrOut()),InoutRecord::getInOrOut, model.getInOrOut())
                 .eq(Objects.nonNull(model.getObjType()),InoutRecord::getObjType, model.getObjType())
                 .eq(Objects.nonNull(model.getCarBizType()),InoutRecord::getCarBizType, model.getCarBizType())
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 7a192b0..e4c6ad1 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
@@ -310,9 +310,11 @@
         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)
-                        .eq(Company::getIsdeleted,Constants.ZERO)
+                .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 ")
+                .selectAs(Category::getBizType,Retention::getBizType)
+                .leftJoin(Category.class,Category::getId,Retention::getCategoryId)
+                .eq(Retention::getIsdeleted,Constants.ZERO)
+//                        .eq(Company::getIsdeleted,Constants.ZERO)
                 .and(StringUtils.isNotBlank(pageWrap.getModel().getKeyWords()),w->{
                     w.like( Retention::getPhone,pageWrap.getModel().getKeyWords())
                             .or().like( Retention::getName,pageWrap.getModel().getKeyWords()); })
@@ -325,6 +327,8 @@
                         Retention::getType,Constants.FOUR)
                 .eq(Objects.nonNull(pageWrap.getModel().getQueryUserType())&&Constants.equalsInteger(pageWrap.getModel().getQueryUserType(),Constants.TWO),
                         Retention::getType,Constants.TWO)
+                .eq(Objects.nonNull(pageWrap.getModel().getBizType()),
+                        Category::getBizType,pageWrap.getModel().getBizType())
                 //杩囨护杞﹁締鏁版嵁
                 .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 b20d203..ca7b409 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
@@ -1757,7 +1757,7 @@
         }
         List<DeviceRole> roleList = deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda()
                 .eq(DeviceRole::getType, Constants.ONE));
-        String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+        String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_LOCAL_RESOURCE_PATH).getCode()
                 +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
 
       HkSyncVisitServiceImpl.getUpdateModelByResponseIccm(visits,new Date(),roleList,path);
@@ -1895,8 +1895,9 @@
 //                    List<String> memberIds = daysList.stream().map(i->i.getMemberId().toString()).collect(Collectors.toList());
 
                     List<String> memberIds  = inoutRecordList.stream().filter(i->
-                                    Objects.isNull(i.getCarCode())&&
-                                    Objects.nonNull(i.getMemberPhone())&&DateUtil.dateToString(i.getTimeInfo(),"yyyy-MM-dd").equals(days)
+                                    Objects.isNull(i.getCarCode())
+                                            && Constants.equalsInteger(i.getInOrOut(),Constants.ZERO)
+                                            && Objects.nonNull(i.getMemberPhone())&&DateUtil.dateToString(i.getTimeInfo(),"yyyy-MM-dd").equals(days)
                             )
                             .map(i->i.getMemberPhone())
                             .collect(Collectors.toList());
@@ -1919,10 +1920,11 @@
 //                    List<CarEvent> daysList = carEventList.stream().filter(i->StringUtils.isNotBlank(i.getHappenTime()) && i.getHappenTime().substring(0,10).equals(days)).collect(Collectors.toList());
 //                    List<String> carCodeList = daysList.stream().map(i->i.getPlateNos()).collect(Collectors.toList());
                     List<String> carCodeList  = inoutRecordList.stream().filter(i->
-                                    Objects.isNull(i.getCarCode())&&
-                                            Objects.nonNull(i.getMemberPhone())&&DateUtil.dateToString(i.getTimeInfo(),"yyyy-MM-dd").equals(days)
+                                    Objects.nonNull(i.getCarCode())
+                                            && Constants.equalsInteger(i.getInOrOut(),Constants.ZERO)
+                                            && Objects.isNull(i.getMemberPhone())&&DateUtil.dateToString(i.getTimeInfo(),"yyyy-MM-dd").equals(days)
                             )
-                            .map(i->i.getMemberPhone())
+                            .map(i->i.getCarCode())
                             .collect(Collectors.toList());
                     if(CollectionUtils.isNotEmpty(carCodeList)){
                         carVO.setNum(new HashSet<String>(carCodeList).size());
@@ -1939,6 +1941,7 @@
 
             List<Company> companyList = companyMapper.selectList(new QueryWrapper<Company>().lambda()
                     .eq(Company::getIsdeleted,Constants.ZERO)
+                    .orderByAsc(Company::getSortnum)
             );
 
             if(CollectionUtils.isNotEmpty(companyList)){
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
index 18f39cc..4e7d5c0 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -1,7 +1,6 @@
 package com.doumee.service.business.impl.hksync;
 
 import com.alibaba.fastjson.JSONObject;
-import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.C;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.doumee.biz.system.SystemDictDataBiz;
@@ -25,7 +24,6 @@
 import com.doumee.dao.business.model.*;
 import com.doumee.dao.business.model.Member;
 import com.doumee.dao.web.reqeust.SavePlatformWarnEventDTO;
-import com.doumee.service.business.CategoryService;
 import com.doumee.service.business.VisitsService;
 import com.doumee.service.business.impl.PlatformWarnEventServiceImpl;
 import com.doumee.service.business.third.TmsService;
@@ -33,9 +31,7 @@
 import com.doumee.service.business.third.model.response.TmsOrderInfoResponse;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.net.ftp.FTP;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -284,9 +280,9 @@
                             inoutDayCount.setOutOtherMemberNum(Constants.formatIntegerNum(inoutDayCount.getOutOtherMemberNum())+1);//鐩稿叧鏂瑰嚭鍦轰汉娆�
                         }
                     }
-                }
-                if(record.getMemberType()!=null){
-                    inoutRecordList.add(record);
+                    if(record.getMemberType()!=null){
+                        inoutRecordList.add(record);
+                    }
                 }
             }
         }
@@ -573,7 +569,7 @@
                 record.setCreateDate(DateUtil.getISO8601DateByStr2(request.getHappenTime()));
                 record.setTimeInfo(Utils.Date.getStart(record.getCreateDate()));
                 record.setType(Constants.ONE);//浜哄憳
-                record.setMemberType(Constants.ZERO);
+                record.setMemberType(Constants.RetentionMemberType.fk);
                 record.setIsdeleted(Constants.ZERO);
                 record.setMemberName(visits.getName());
                 record.setObjId(visits.getId());
@@ -584,10 +580,12 @@
                 record.setInOrOut(Constants.ZERO);
                 record.setHkEventId(request.getEventId());
                 record.setHkId(visits.getHkId());
+                record.setDeviceName((request.getData()!=null &&request.getData().getParamValues()!=null)?
+                        request.getData().getParamValues().getSrcName():request.getSrcName());
                 //濡傛灉鏄瀹㈤�氳
                 if(request.getData()!=null&&request.getData().getParamValues()!=null &&
                         StringUtils.equals(request.getData().getParamValues().getInOrOut(),"0")){
-                    //濡傛灉鏄瀹㈢櫥璁帮紝褰曞叆浜哄憳鐨勫湪鍦烘暟鎹褰�
+                    //濡傛灉鏄瀹㈣繘鍏ワ紝褰曞叆浜哄憳鐨勫湪鍦烘暟鎹褰�
                     Retention r = getRetentionModelByVisitRequest(visits, request.getHappenTime(),request.getSrcType());
                     r.setCarNo(request.getData().getParamValues().getPlateNos());
                     r.setAccessType(request.getData().getParamValues().getAccessType());
@@ -595,11 +593,48 @@
                     r.setDeviceIndex(request.getData().getParamValues().getSrcIndex());
                     retentionList.add(r);
                     inoutDayCount.setInVisitorNum(Constants.formatIntegerNum(inoutDayCount.getInVisitorNum())+1);
+                    record.setInOrOut(Constants.ZERO);//杩涘叆鍥尯
                 }
                 if(request.getData()!=null&&request.getData().getParamValues()!=null &&
-                         !StringUtils.equals(request.getData().getParamValues().getInOrOut(),"0")){
+                        !StringUtils.equals(request.getData().getParamValues().getInOrOut(),"0")){
                     inoutDayCount.setOutVisitorNum(Constants.formatIntegerNum(inoutDayCount.getOutVisitorNum())+1);
                     record.setInOrOut(Constants.ONE);
+                }
+                if( request.getData().getParamValues()!=null
+                        && StringUtils.isNotBlank(request.getData().getParamValues().getPlateNos())
+                        && StringUtils.isNotBlank(request.getData().getParamValues().getParkIndex())){
+                    //濡傛灉鏄仠杞﹀満浜嬩欢锛岃褰曡溅杈嗙被鍨�
+                    Category category = null;
+                    record.setCarCode(request.getData().getParamValues().getPlateNos());
+                    if(StringUtils.isNotBlank(record.getCarCode())){
+                        category = categoryMapper.selectJoinOne(Category.class, new MPJLambdaWrapper<Category>()
+                                .selectAll(Category.class)
+                                .select("t4.name",Category::getParentName)
+                                .leftJoin("category t4 on t.parent_id=t4.id")
+                                .eq(Category::getIsdeleted,Constants.ZERO)
+                                .eq(Category::getBizType,Constants.RetentionCarType.fkCar)
+                                .last("limit 1"));
+                        if(category ==null){
+                            category = new Category();
+                            category.setName("璁垮杞﹁締");
+                        }
+                        category.setParentName(StringUtils.defaultString(category.getParentName(),"璁垮杞﹁締"));
+                    }
+                    record.setCarBizType(Constants.RetentionCarType.fkCar);
+                    record.setCategoryId(category.getId());
+                    record.setDeviceName(request.getData().getParamValues().getGateName());
+                    record.setCategoryName(category.getName());
+                    record.setCategoryParentId(category.getParentId());
+                    record.setCategoryParentName(category.getParentName());
+                    if(Constants.equalsInteger(record.getInOrOut(),Constants.ONE)){
+                        record.setRemark("璁垮璺熼殢杞﹁締绂诲洯骞惰嚜鍔ㄧ绂�");
+                        try {
+                            //璁垮鐢宠鑷姩绛剧
+                            visitsService.visitLevelForCarOut(visits);
+                        }catch (Exception e){
+                            log.error("璁垮璺熼殢杞﹁締鍑哄洯鑷姩绛剧澶辫触锛�==========="+e.getMessage());
+                        }
+                    }
                 }
                 inoutRecordList.add(record);
             }
@@ -665,6 +700,10 @@
         event.setSrcParentIndex(request.getSrcParentIndex());
         event.setSrcName((request.getData()!=null &&request.getData().getParamValues()!=null)?
                 request.getData().getParamValues().getSrcName():request.getSrcName());
+        if(StringUtils.isBlank(event.getSrcName())){
+            event.setSrcName((request.getData()!=null &&request.getData().getParamValues()!=null)?
+                    request.getData().getParamValues().getGateName()+ request.getData().getParamValues().getParkIndex():request.getSrcName());
+        }
         event.setSrcIndex(request.getSrcIndex());
         event.setSex(detail.getSex());
         event.setPurpose(request.getData().getVisitorInvoices().getVisitReason());
@@ -852,9 +891,11 @@
                         .in(Retention::getCarNo,delRetentionList));
             }
             if(delMemberRetentionList.size()>0){
-                //鍏堝垹闄ゅ師鏈夌殑鍦ㄥ満浜哄憳(鍐呴儴浜哄憳鍜岃瀹級
+                //鍏堝垹闄ゅ師鏈夌殑鍦ㄥ満浜哄憳(鍐呴儴浜哄憳銆佺浉鍏虫柟鍜岃瀹級
                 retentionMapper.delete(new UpdateWrapper<Retention>().lambda()
-                        .in(Retention::getType,Constants.memberType.internal,Constants.memberType.visitor)
+                        .in(Retention::getType,Constants.RetentionMemberType.internalMember
+                                ,Constants.RetentionMemberType.relMember
+                                ,Constants.RetentionMemberType.fk)
                         .in(Retention::getMemberId,delMemberRetentionList));
             }
             if(retentionList.size()>0){
@@ -890,11 +931,11 @@
         if(StringUtils.isNotBlank(event.getPlateNos())){
             //鏍囪杞﹁締杩涘嚭璁板綍
             List<Category> categoryList = categoryMapper.selectJoinList(Category.class, new MPJLambdaWrapper<Category>()
-                        .selectAll(Category.class)
-                        .select("t4.name",Category::getParentName)
-                        .leftJoin("category t4 on t.parent_id=t4.id")
-                        .eq(Category::getIsdeleted,Constants.ZERO)
-                        .isNotNull(Category::getBizType));//鏌ヨ鎵�鏈夊甫鏈変笟鍔$被鍨嬬殑杞﹁締鍒嗙被缂栫爜
+                    .selectAll(Category.class)
+                    .select("t4.name",Category::getParentName)
+                    .leftJoin("category t4 on t.parent_id=t4.id")
+                    .eq(Category::getIsdeleted,Constants.ZERO)
+                    .isNotNull(Category::getBizType));//鏌ヨ鎵�鏈夊甫鏈変笟鍔$被鍨嬬殑杞﹁締鍒嗙被缂栫爜
             List<Visits> visitsList = null;
             InoutRecord carrecord = new InoutRecord();
             carrecord.setCreateDate(DateUtil.getISO8601DateByStr2(request.getHappenTime()));
@@ -906,27 +947,27 @@
             carrecord.setHkEventId(request.getEventId());
             carrecord.setCarCode(event.getPlateNos());
             Cars carModel = carsMapper.selectJoinOne(Cars.class,new MPJLambdaWrapper<Cars>()
-                            .selectAll(Cars.class )
-                            .selectAs(Company::getType,Cars::getCompanyType)
-                            .selectAs(Member::getName,Cars::getMemberName)
-                            .selectAs(Member::getIdcardDecode,Cars::getIdcardDecode)
-                            .selectAs(Member::getCode,Cars::getMemberCode)
-                            .selectAs(Member::getFaceImg,Cars::getFaceImg)
-                            .selectAs(Member::getIdcardNo,Cars::getIdcardNo)
-                            .selectAs(Member::getName,Cars::getMemberName)
-                            .selectAs(Member::getPhone,Cars::getMemberPhone)
-                            .selectAs(Company::getCompanyNamePath,Cars::getCompanyName)
-                            .selectAs(Category::getBizType,Cars::getBizType)
-                            .selectAs(Category::getName,Cars::getCateName)
-                            .select("t4.id",Cars::getCatePId)
-                            .select("t4.name",Cars::getCatePName)
-                            .leftJoin(Company.class,Company::getId,Cars::getGroupId)
-                            .leftJoin(Member.class,Member::getId,Cars::getMemberId)
-                            .leftJoin(Category.class,Category::getId,Cars::getCateId)
-                            .leftJoin("category t4 on t3.parent_id=t4.id")
-                            .eq(Cars::getCode,event.getPlateNos())
-                            .eq(Cars::getIsdeleted,Constants.ZERO)
-                            .last(" limit 1"));
+                    .selectAll(Cars.class )
+                    .selectAs(Company::getType,Cars::getCompanyType)
+                    .selectAs(Member::getName,Cars::getMemberName)
+                    .selectAs(Member::getIdcardDecode,Cars::getIdcardDecode)
+                    .selectAs(Member::getCode,Cars::getMemberCode)
+                    .selectAs(Member::getFaceImg,Cars::getFaceImg)
+                    .selectAs(Member::getIdcardNo,Cars::getIdcardNo)
+                    .selectAs(Member::getName,Cars::getMemberName)
+                    .selectAs(Member::getPhone,Cars::getMemberPhone)
+                    .selectAs(Company::getCompanyNamePath,Cars::getCompanyName)
+                    .selectAs(Category::getBizType,Cars::getBizType)
+                    .selectAs(Category::getName,Cars::getCateName)
+                    .select("t4.id",Cars::getCatePId)
+                    .select("t4.name",Cars::getCatePName)
+                    .leftJoin(Company.class,Company::getId,Cars::getGroupId)
+                    .leftJoin(Member.class,Member::getId,Cars::getMemberId)
+                    .leftJoin(Category.class,Category::getId,Cars::getCateId)
+                    .leftJoin("category t4 on t3.parent_id=t4.id")
+                    .eq(Cars::getCode,event.getPlateNos())
+                    .eq(Cars::getIsdeleted,Constants.ZERO)
+                    .last(" limit 1"));
             if(carModel!=null){
                 //0瀹夋嘲鍏姟杞� 1瀹夋嘲鑷湁鐗╂祦杞� 2鍏跺畠
                 event.setMemberId(carModel.getMemberId());
@@ -988,7 +1029,7 @@
                     carrecord.setCompanyId(carTypeJob.getCompanyId());
                     carrecord.setCompanyName(carTypeJob.getCompanyNamePath());
                     carrecord.setType(Constants.RetentionMemberType.car);
-                    if(carModel.getMemberPhone()!=null || StringUtils.isNotBlank(carModel.getMemberName())){
+                    if(carTypeJob.getDriverName()!=null || StringUtils.isNotBlank(carTypeJob.getDrivierPhone())){
                         //璐ц繍鍙告満(濡傛灉鍙告満鎵嬫満鍙锋垨鑰呭鍚嶄笉涓虹┖锛�
                         carrecord.setMemberType(Constants.RetentionMemberType.driver);
                     }
@@ -1038,7 +1079,7 @@
                 carrecord.setInOrOut(Constants.ONE);
             }
             //杞﹁締杩涘叆璁板綍瀵瑰簲涓氬姟绫诲瀷
-            if(isCarInOrOutEvent(request) &&( event.getCarType() ==null || event.getCarType().equals(Constants.RetentionCarType.other))){
+            if( isCarInOrOutEvent(request) &&( event.getCarType() ==null || event.getCarType().equals(Constants.RetentionCarType.other))){
                 //濡傛灉鏈瘑鍒埌杞﹀瀷锛屼笉鏄浐瀹氳溅 涔熶笉鏄揣杩愯溅杈嗭紝鍒欐鏌ユ槸鍚︽槸璁垮杞�
                 visitsList =  visitsMapper.selectList(new QueryWrapper<Visits>().lambda()
                                 .eq(Visits::getCarNos,event.getPlateNos())
@@ -1054,41 +1095,43 @@
                     event.setCarType(Constants.RetentionCarType.fkCar);
                     int index =0;
                     carrecord.setCarBizType(Constants.RetentionCarType.fkCar);
-                    Category category =findCategoryByBizType(Constants.RetentionCarType.fkCar,"璁垮杞﹁締","璁垮杞﹁締",categoryList);
-                    carrecord.setCategoryId(category.getId());
-                    carrecord.setCategoryName(StringUtils.defaultString(category.getName(),"璁垮杞﹁締"));
-                    carrecord.setCategoryParentName(StringUtils.defaultString(category.getParentName(),"璁垮杞﹁締"));
-                    carrecord.setCategoryParentId(category.getParentId());
-                    for(Visits v :visitsList){
-                        delMemberRetentionList.add(event.getMemberId());
-                        InoutRecord copyObj = new InoutRecord();
-                        BeanUtils.copyProperties(carrecord,copyObj);
-                        copyObj.setMemberId(v.getMemberId());
-                        copyObj.setMemberName(v.getName());
-                        copyObj.setMemberPhone(v.getPhone());
-                        copyObj.setCompanyName(v.getCompanyName());
-                        copyObj.setType(Constants.ONE);
-                        copyObj.setRemark(carrecord.getCarCode());
-                        copyObj.setCarCode(index>=0?null:carrecord.getCarCode());
-                        copyObj.setMemberType(Constants.RetentionMemberType.fk);
-                        inoutRecordList.add(copyObj);
-                        index++;
-                        if(Constants.equalsInteger(carrecord.getInOrOut(),Constants.ONE)){
-                            //濡傛灉鏄溅杈嗗嚭鍥尯 缁熻璁垮杩涘叆鏁�
-                            inoutDayCount.setOutVisitorNum(Constants.formatIntegerNum(inoutDayCount.getOutVisitorNum())+1);
-                            try {
-                                //璁垮鐢宠鑷姩绛剧
-                                visitsService.visitLevelForCarOut(v);
-                                //缁熻绛剧鏁�
-                                inoutDayCount.setLeaveVisitorNum(Constants.formatIntegerNum(inoutDayCount.getLeaveVisitorNum())+1);
-                            }catch (Exception e){
-                                log.error("璁垮璺熼殢杞﹁締鍑哄洯鑷姩绛剧澶辫触锛�==========="+e.getMessage());
+                    if(1==2){
+                        Category category =findCategoryByBizType(Constants.RetentionCarType.fkCar,"璁垮杞﹁締","璁垮杞﹁締",categoryList);
+                        carrecord.setCategoryId(category.getId());
+                        carrecord.setCategoryName(StringUtils.defaultString(category.getName(),"璁垮杞﹁締"));
+                        carrecord.setCategoryParentName(StringUtils.defaultString(category.getParentName(),"璁垮杞﹁締"));
+                        carrecord.setCategoryParentId(category.getParentId());
+                        for(Visits v :visitsList){
+                            delMemberRetentionList.add(event.getMemberId());
+                            InoutRecord copyObj = new InoutRecord();
+                            BeanUtils.copyProperties(carrecord,copyObj);
+                            copyObj.setMemberId(v.getMemberId());
+                            copyObj.setMemberName(v.getName());
+                            copyObj.setMemberPhone(v.getPhone());
+                            copyObj.setCompanyName(v.getCompanyName());
+                            copyObj.setType(Constants.ONE);
+                            copyObj.setRemark("璁垮璺熼殢杞﹁締銆�"+carrecord.getCarCode()+"銆戠鍥�");
+                            copyObj.setCarCode(index>0?null:carrecord.getCarCode());
+                            copyObj.setMemberType(Constants.RetentionMemberType.fk);
+                            inoutRecordList.add(copyObj);
+                            index++;
+                            if(Constants.equalsInteger(carrecord.getInOrOut(),Constants.ONE)){
+                                //濡傛灉鏄溅杈嗗嚭鍥尯 缁熻璁垮杩涘叆鏁�
+                                inoutDayCount.setOutVisitorNum(Constants.formatIntegerNum(inoutDayCount.getOutVisitorNum())+1);
+                                try {
+                                    //璁垮鐢宠鑷姩绛剧
+                                    visitsService.visitLevelForCarOut(v);
+                                    //缁熻绛剧鏁�
+                                    inoutDayCount.setLeaveVisitorNum(Constants.formatIntegerNum(inoutDayCount.getLeaveVisitorNum())+1);
+                                }catch (Exception e){
+                                    log.error("璁垮璺熼殢杞﹁締鍑哄洯鑷姩绛剧澶辫触锛�==========="+e.getMessage());
+                                }
+                            }else{
+                                //濡傛灉鏄繘鍏ュ洯鍖猴紝璁垮褰曞叆鍦ㄥ洯浜哄憳璁板綍
+                                retentionList.add(getRetentionModelByRequest(copyObj,request));
+                                //缁熻璁垮鍑鸿鏁�
+                                inoutDayCount.setInVisitorNum(Constants.formatIntegerNum(inoutDayCount.getInVisitorNum())+1);
                             }
-                        }else{
-                            //濡傛灉鏄繘鍏ュ洯鍖猴紝璁垮褰曞叆鍦ㄥ洯浜哄憳璁板綍
-                            retentionList.add(getRetentionModelByRequest(copyObj,request));
-                            //缁熻璁垮鍑鸿鏁�
-                            inoutDayCount.setInVisitorNum(Constants.formatIntegerNum(inoutDayCount.getInVisitorNum())+1);
                         }
                     }
                 }
@@ -1287,9 +1330,9 @@
             param.setContractNumber(detail.getContractNum());
             TmsOrderInfoResponse response = tmsService.orderInfo(param);
             if(response!=null &&( StringUtils.equals(response.getOrderStatus(),"3")  )
-                ||StringUtils.equals(response.getOrderStatus(),"4")
-                ||StringUtils.equals(response.getOrderStatus(),"5")
-                ||StringUtils.equals(response.getOrderStatus(),"6")){
+                    ||StringUtils.equals(response.getOrderStatus(),"4")
+                    ||StringUtils.equals(response.getOrderStatus(),"5")
+                    ||StringUtils.equals(response.getOrderStatus(),"6")){
                 //濡傛灉鍚堝悓鍦ㄩ�旓紝鍒欒嚜鍔ㄧ鍒�
                 jobAutoSignBiz(platformJob);
             }
@@ -1391,20 +1434,20 @@
                     continue;
                 }
                 Integer  workStatus = 0;
-                    if( data.getHPWorkingStatus() ==null ||  data.getHPWorkingStatus().size() ==0){
-                        continue;//濡備綍鎺ㄩ�佺姸鎬侀泦鍚堜负绌猴紝涓嶅鐞嗚烦杩�
-                    }
-                    PlatformDevice model = platformDeviceMapper.selectOne(new QueryWrapper<PlatformDevice>().lambda()
-                            .eq(PlatformDevice::getDeviceId,request.getSrcIndex())
-                            .eq(PlatformDevice::getIsdeleted,Constants.ZERO)
-                            .last("limit 1"));
-                    if(model ==null){
-                        continue;//鐩戞帶鐐规湭鍚屾锛岃烦杩囧鐞�
-                    }
-                    //鍚勮溅閬撹溅杈嗙姸鎬�
-                    for(EventPlatformStatusInfoRequest status : data.getHPWorkingStatus()){
+                if( data.getHPWorkingStatus() ==null ||  data.getHPWorkingStatus().size() ==0){
+                    continue;//濡備綍鎺ㄩ�佺姸鎬侀泦鍚堜负绌猴紝涓嶅鐞嗚烦杩�
+                }
+                PlatformDevice model = platformDeviceMapper.selectOne(new QueryWrapper<PlatformDevice>().lambda()
+                        .eq(PlatformDevice::getDeviceId,request.getSrcIndex())
+                        .eq(PlatformDevice::getIsdeleted,Constants.ZERO)
+                        .last("limit 1"));
+                if(model ==null){
+                    continue;//鐩戞帶鐐规湭鍚屾锛岃烦杩囧鐞�
+                }
+                //鍚勮溅閬撹溅杈嗙姸鎬�
+                for(EventPlatformStatusInfoRequest status : data.getHPWorkingStatus()){
 
-                    }
+                }
             }
             result = "鎴愬姛";
             log.info("銆愭捣搴锋湀鍙板伐浣滅姸鎬佷簨浠舵帹閫併��========鎴愬姛=======");
@@ -1521,7 +1564,7 @@
                                 platformJobMapper.updateById(update);
                             }
                             dealPlatformContentForLeave(job);
-                         }
+                        }
                     }
                 }else  if(StringUtils.equals(status.getMotionStatus(),"enter")){
                     //濡傛灉鏄溅杈嗚繘鍏�
@@ -1546,7 +1589,7 @@
                 }else{
                     continue;//鍏朵粬鐘舵�佷笉澶勭悊锛岃烦杩�
                 }
-                        //鏆傛椂涓嶅仛鐩稿叧鑷姩瀹屾垚浣滀笟涓氬姟澶勭悊
+                //鏆傛椂涓嶅仛鐩稿叧鑷姩瀹屾垚浣滀笟涓氬姟澶勭悊
 //                        dealPlatformJobLogBiz(update,status);//璁板綍浣滀笟鏃ュ織
             }
             if(eventList.size()>0){
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 ea87f4c..5e69f9a 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
@@ -678,7 +678,10 @@
         }
         info.setPhoneNo(c.getPhone());
         info.setPlateNo(c.getCarNos());
-        info.setGender(c.getSex()+"");
+        info.setGender( "1" );
+        if(Constants.equalsInteger(c.getSex(),Constants.ONE) ||Constants.equalsInteger(c.getSex(),Constants.TWO)  ){
+            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()));
@@ -726,7 +729,10 @@
         }
         info.setPhoneNo(c.getPhone());
         info.setPlateNo(c.getCarNos());
-        info.setGender(c.getSex()+"");
+        info.setGender( "1");
+        if(Constants.equalsInteger(c.getSex(),Constants.ONE) ||Constants.equalsInteger(c.getSex(),Constants.TWO)  ){
+            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()));
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
index 4f92786..126b630 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -2784,17 +2784,18 @@
                     t =new WholeProvinceMapVO();
                     t.setMonthNum( Constants.formatBigdecimal0Float(model.getMonthOutboundQuantity()));
                     t.setYearNum( Constants.formatBigdecimal0Float(model.getYearOutboundQuantity()));
-
-                    if(Constants.UNIT_TYPE == 1) {
-                        //澶勭悊鍗曚綅鎴愨�滅鈥濓紝涓�绠�=5涓囨敮
-                        t.setMonthNum(Constants.formatBigdecimal(t.getMonthNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
-                        t.setYearNum(Constants.formatBigdecimal(t.getYearNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
-                    }
                     t.setProvinceCode(model.getToProvinceCode());
                     t.setProvinceName(model.getToProvinceName());
                     result.add(t);
                 }
             }
+            if(Constants.UNIT_TYPE == 1) {
+             for(WholeProvinceMapVO t : result){
+                    //澶勭悊鍗曚綅鎴愨�滅鈥濓紝涓�绠�=5涓囨敮
+                    t.setMonthNum(Constants.formatBigdecimal(t.getMonthNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
+                    t.setYearNum(Constants.formatBigdecimal(t.getYearNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
+                }
+            }
         }
         return result;
     }

--
Gitblit v1.9.3