From 4e45a8252d7bccd23a1a57aa541a2ea521760572 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期一, 21 十月 2024 15:39:04 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit

---
 server/system_service/src/main/java/com/doumee/core/utils/Constants.java                                       |    6 
 server/system_service/src/main/java/com/doumee/core/utils/SmsConstants.java                                    |    4 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformJobCloudController.java               |   10 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java                   |    2 
 admin/src/views/business/strandedPersonnel.vue                                                                 |   19 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java                     |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java      |   54 +++
 server/visits/admin_timer/src/main/java/com/doumee/api/PlatformJobController.java                              |    2 
 server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/PlatformWaterGasController.java              |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java        |   28 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java                          |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java           |   70 +++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java       |   60 +++
 server/system_service/src/main/java/com/doumee/core/annotation/excel/ExcelImporter.java                        |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformWaterGasService.java           |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java     |   18 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/PlatformWaterGasForExcelVO.java         |   43 +++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/request/PlatformGasImport.java                |   34 ++
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WmsPushCloudTestController.java               |    1 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsLockStatusQueryRequest.java   |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java  |   75 +++++
 server/visits/admin_timer/src/main/java/com/doumee/api/HkVisitTimerController.java                             |   11 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsDetail.java               |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java |   11 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java                     |   91 +-----
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWaterGas.java                |   19 -
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java            |   25 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java         |    2 
 server/system_gateway/src/main/resources/bootstrap.yml                                                         |    2 
 server/system_service/src/main/java/com/doumee/service/system/impl/NoticesServiceImpl.java                     |    6 
 server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java                                 |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java          |   12 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java                          |    4 
 server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Bookings.java                       |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java |   48 +++
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformWaterGasCloudController.java          |   35 ++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java            |   46 +++
 37 files changed, 604 insertions(+), 164 deletions(-)

diff --git a/admin/src/views/business/strandedPersonnel.vue b/admin/src/views/business/strandedPersonnel.vue
index 6a3512b..89e0d2a 100644
--- a/admin/src/views/business/strandedPersonnel.vue
+++ b/admin/src/views/business/strandedPersonnel.vue
@@ -8,12 +8,12 @@
       <el-form-item label="缁勭粐鍚嶇О" prop="companyName">
         <el-input v-model="searchForm.companyName" placeholder="璇疯緭鍏ョ粍缁囧悕绉�" @keypress.enter.native="search"></el-input>
       </el-form-item>
-      <el-form-item label="鐢ㄦ埛绫诲瀷" prop="type">
+<!--      <el-form-item label="鐢ㄦ埛绫诲瀷" prop="type">
         <el-select v-model="searchForm.type" placeholder="璇烽�夋嫨">
           <el-option label="璁垮" value="1"></el-option>
           <el-option label="鍔冲姟" value="0"></el-option>
         </el-select>
-      </el-form-item>
+      </el-form-item>-->
       <section>
         <el-button type="primary" @click="search">鎼滅储</el-button>
         <el-button @click="reset">閲嶇疆</el-button>
@@ -30,11 +30,12 @@
         <el-table-column prop="phone" label="鎵嬫満鍙�" min-width="100px"></el-table-column>
         <el-table-column prop="companyName" label="缁勭粐" min-width="100px"></el-table-column>
         <el-table-column label="鐢ㄦ埛绫诲瀷" min-width="100px">
-          <template slot-scope="{ row }">
-            <span v-if="row.type === 0">鍔冲姟璁垮</span>
-            <span v-if="row.type === 1">鏅�氳瀹�</span>
-            <span v-if="row.type === 2">鍐呴儴浜哄憳</span>
-          </template>
+          <span>璁垮</span>
+          <!-- <template slot-scope="{ row }">
+               <span v-if="row.type === 0">鍔冲姟璁垮</span>
+               <span v-if="row.type === 1">鏅�氳瀹�</span>
+               <span v-if="row.type === 2">鍐呴儴浜哄憳</span>
+          </template>-->
         </el-table-column>
         <el-table-column prop="inDate" label="鍦ㄥ洯鏃堕棿" min-width="100px"></el-table-column>
         <el-table-column prop="outDate" label="鎺堟潈鍒版湡鏃堕棿" min-width="100px"></el-table-column>
@@ -85,8 +86,8 @@
       searchForm: {
         companyName: '',
         name: '',
-        status: 2,
-        type: '1'
+        status: 2
+        // type: '1'
       },
       user: []
     }
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Bookings.java b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Bookings.java
index 2484b0a..dc66574 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Bookings.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Bookings.java
@@ -108,6 +108,9 @@
     @ApiModelProperty(value = "鎻愬墠寮�濮嬫椂闂�")
     private Date startTimeReal;
 
+    @ApiModelProperty(value = "鏄惁鍙戦�佸弬浼氫汉閫氱煡锛�0=閫氱煡锛�1=涓嶉�氱煡")
+    private Integer joinNotice;
+
     @ApiModelProperty(value = "棰勭害浜�")
     @TableField(exist = false)
     private String realName ;
diff --git a/server/system_gateway/src/main/resources/bootstrap.yml b/server/system_gateway/src/main/resources/bootstrap.yml
index 099da4a..8ecd0a5 100644
--- a/server/system_gateway/src/main/resources/bootstrap.yml
+++ b/server/system_gateway/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@
 spring:
   profiles:
-    active: pro
+    active: dev
   application:
     name: system_gateway
   # 瀹夊叏閰嶇疆
diff --git a/server/system_service/src/main/java/com/doumee/core/annotation/excel/ExcelImporter.java b/server/system_service/src/main/java/com/doumee/core/annotation/excel/ExcelImporter.java
index 8f98162..d3c494c 100644
--- a/server/system_service/src/main/java/com/doumee/core/annotation/excel/ExcelImporter.java
+++ b/server/system_service/src/main/java/com/doumee/core/annotation/excel/ExcelImporter.java
@@ -295,7 +295,8 @@
                             }else{
                                 val = String.valueOf(val.toString()).trim();
                             }
-                        }else if (valType == Integer.class){
+                        }
+                        else if (valType == Integer.class){
                             val = Double.valueOf(val.toString()).intValue();
                         }else if (valType == Long.class){
                             val = Double.valueOf(val.toString()).longValue();
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 ad045f1..47129e4 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
@@ -73,6 +73,8 @@
     public static final String MEMBER_IMG = "MEMBER_IMG";
     public static final String PLATFORM_EVENT_IMG = "PLATFORM_EVENT_IMG";
     public static final String VISIT_NOTICE = "VISIT_NOTICE";
+    public static final String TIME_OUT_CONFIG = "TIME_OUT_CONFIG";
+
     //鍋ュ悍璇侀厤缃�
     public static final String LW_HEALTH_CARD = "LW_HEALTH_CARD";
     public static final String HEALTH_CARD = "HEALTH_CARD";
@@ -420,6 +422,7 @@
 
     public interface RedisKeys {
         public static final String IMPORTING_MEMBER ="IMPORTING_MEMBER";
+        public static final String IMPORTING_GAS ="IMPORTING_GAS";
         public static final String ERP_TOKEN ="ERP_TOKEN";
         public static final long EXPIRE_TIME = 7200;
 
@@ -795,12 +798,13 @@
      * 5銆佽秴鏃跺仠闈狅細1鍙锋湀鍙� 鐨朅12345 褰撳墠杞﹁締瓒呮椂鍋滈潬锛岃灏藉揩椹剁
      */
     public  enum PlatformLedContent {
-        IDEL_CONTNET(1, "绌洪棽涓�","{param}" ),
+        IDEL_CONTNET(1, "绌洪棽涓�","瀹夋嘲鐗╂祦鏈夐檺璐d换鍏徃" ),
         CALLING(2, "鍙彿涓�","${param} ${param2}  鍙彿涓�"),
         WORKING(3, "浣滀笟涓�","${param} ${param2} 浣滀笟涓�" ),
         WRONG_IN(4, "閿欒鍋滈潬","${param} ${param2} 褰撳墠杞﹁締閿欒鍋滈潬锛岃灏藉揩椹剁" ),
         TIMEOUT_IN(5, "瓒呮椂鍋滈潬","${param} ${param2} 褰撳墠杞﹁締瓒呮椂鍋滈潬锛岃灏藉揩椹剁" ),
         TIMEOUT_WORK(6, "浣滀笟瓒呮椂","${param} ${param2} 褰撳墠杞﹁締浣滀笟瓒呮椂" ),
+        DONE(7, "浣滀笟瀹屾垚","${param} ${param2} 浣滀笟瀹屾垚" ),
         ;
 
         // 鎴愬憳鍙橀噺
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/SmsConstants.java b/server/system_service/src/main/java/com/doumee/core/utils/SmsConstants.java
index 77c5611..ee933f0 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/SmsConstants.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/SmsConstants.java
@@ -41,7 +41,7 @@
         String visitAuditFail = "visitAuditFail";
         //璁垮鐢宠-瓒呮椂鏈绂�-閫氱煡锛堢粰鐢宠浜猴級锛�
         String visitTimeOutSignOut = "visitTimeOutSignOut";
-        //璁垮鐢宠-瓒呮椂鏈绂�-閫氱煡锛堢粰鎸囧畾鎺ユ敹浜猴級
+        //璁垮鐢宠-鏈绂绘暟閲�-閫氱煡锛堢粰鎸囧畾鎺ユ敹浜猴級 //TODO 鏃犳敹鐭俊浜哄憳
         String visitTimeOutSignOutNum = "visitTimeOutSignOutNum";
 
     }
@@ -85,7 +85,7 @@
         String carUseBookAuditSuccess = "carUseBookAuditSuccess";
         //鐢ㄨ溅鐢宠-瀹℃壒椹冲洖閫氱煡锛堢粰鐢宠浜猴級锛氥��
         String carUseBookAuditFail = "carUseBookAuditFail";
-        //鐢ㄨ溅鐢宠-瀹℃壒椹冲洖閫氱煡锛堢粰鐢宠浜猴級锛氥��
+        //鐢ㄨ溅鐢宠-瀹℃壒鍙栨秷閫氱煡锛堢粰鐢宠浜猴級锛氥��
         String carUseBookCancel = "carUseBookCancel";
     }
 
diff --git a/server/system_service/src/main/java/com/doumee/service/system/impl/NoticesServiceImpl.java b/server/system_service/src/main/java/com/doumee/service/system/impl/NoticesServiceImpl.java
index 72df53c..fab1e36 100644
--- a/server/system_service/src/main/java/com/doumee/service/system/impl/NoticesServiceImpl.java
+++ b/server/system_service/src/main/java/com/doumee/service/system/impl/NoticesServiceImpl.java
@@ -120,7 +120,6 @@
         if (pageWrap.getModel().getReaded() != null) {
             queryWrapper.eq(Notices::getReaded, pageWrap.getModel().getReaded());
         }
-
         if(CollectionUtils.isNotEmpty(pageWrap.getSorts())){
             for(PageWrap.SortData sortData: pageWrap.getSorts()) {
                 if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
@@ -133,7 +132,6 @@
             queryWrapper.orderByDesc(Notices::getCreateDate);
         }
         PageData<Notices> pageData = PageData.from(noticesMapper.selectJoinPage(page,Notices.class, queryWrapper));
-
         return pageData;
     }
 
@@ -178,8 +176,8 @@
         queryWrapper.ge(noticesDTO.getStartDate() != null, Notices::getCreateDate, Utils.Date.getStart(noticesDTO.getStartDate() ));
         queryWrapper.le(noticesDTO.getEndDate() != null,  Notices::getCreateDate, Utils.Date.getEnd(noticesDTO.getEndDate() ));
         queryWrapper.eq(Objects.nonNull(noticesDTO.getType()),Notices::getType,noticesDTO.getType());
-        queryWrapper.eq(Objects.nonNull(noticesDTO.getMemberId()),Notices::getUserId,noticesDTO.getMemberId());
-        queryWrapper.eq(StringUtils.isNotBlank(noticesDTO.getTitle()),Notices::getTitle,noticesDTO.getTitle());
+//        queryWrapper.eq(Objects.nonNull(noticesDTO.getMemberId()),Notices::getUserId,noticesDTO.getMemberId());
+        queryWrapper.like(StringUtils.isNotBlank(noticesDTO.getTitle()),Notices::getTitle,noticesDTO.getTitle());
         queryWrapper.orderByDesc(Notices::getCreateDate);
         PageData<Notices> pageData = PageData.from(noticesMapper.selectJoinPage(page,Notices.class, queryWrapper));
         if(noticesDTO.getQueryType().equals(Constants.ZERO)){
diff --git a/server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java b/server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java
index 2292116..289aec6 100644
--- a/server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java
+++ b/server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java
@@ -70,5 +70,9 @@
     @ApiOperation("銆愭暟瀛楀寲鏈堝彴銆戞湀鍙颁綔涓氭姤璀︿笟鍔�")
     @GetMapping("/timer/platformJob/platformJobTimer")
     ApiResponse platformJobTimer();
+    @ApiOperation("銆愯瀹㈢郴缁熴�戣瀹㈡暟鎹嵆灏嗚秴鏃堕璀�")
+    @GetMapping("/timer/visit/visitTimeOut")
+    ApiResponse visitTimeOut() ;
+
 
 }
diff --git a/server/visits/admin_timer/src/main/java/com/doumee/api/HkVisitTimerController.java b/server/visits/admin_timer/src/main/java/com/doumee/api/HkVisitTimerController.java
index 4f7e4c8..d3f8a87 100644
--- a/server/visits/admin_timer/src/main/java/com/doumee/api/HkVisitTimerController.java
+++ b/server/visits/admin_timer/src/main/java/com/doumee/api/HkVisitTimerController.java
@@ -3,6 +3,7 @@
 import com.doumee.api.BaseController;
 import com.doumee.core.model.ApiResponse;
 import com.doumee.core.utils.Constants;
+import com.doumee.service.business.VisitsService;
 import com.doumee.service.business.impl.hksync.HkSyncDeviceServiceImpl;
 import com.doumee.service.business.impl.hksync.HkSyncVisitServiceImpl;
 import com.doumee.service.business.impl.hksync.fhk.HkSyncVisitFromHKServiceImpl;
@@ -28,6 +29,9 @@
     private HkSyncVisitServiceImpl hkSyncVisitService;
     @Autowired
     private HkSyncVisitFromHKServiceImpl hkSyncVisitFromHKService;
+    @Autowired
+    private VisitsService visitsService;
+
     @ApiOperation("寮�鍚畾鏃朵笅鍙戣瀹㈤绾︾敵璇�")
     @GetMapping("/syncVisitData")
     public ApiResponse syncVisitData() {
@@ -57,4 +61,11 @@
         return ApiResponse.success("寮�鍚畾鏃朵粖鏃ョ殑璁垮棰勭害鏁版嵁鎴愬姛");
     }
 
+    @ApiOperation("璁垮鍗冲皢瓒呮椂棰勮")
+    @GetMapping("/visitTimeOut")
+    public ApiResponse visitTimeOut() {
+        visitsService.syncTimeOutData();
+        return ApiResponse.success("璁垮鍗冲皢瓒呮椂棰勮");
+    }
+
 }
diff --git a/server/visits/admin_timer/src/main/java/com/doumee/api/PlatformJobController.java b/server/visits/admin_timer/src/main/java/com/doumee/api/PlatformJobController.java
index b259a1f..9159418 100644
--- a/server/visits/admin_timer/src/main/java/com/doumee/api/PlatformJobController.java
+++ b/server/visits/admin_timer/src/main/java/com/doumee/api/PlatformJobController.java
@@ -8,6 +8,7 @@
 import com.doumee.core.wx.WXConstant;
 import com.doumee.dao.system.model.SystemDictData;
 import com.doumee.service.business.PlatformJobService;
+import com.doumee.service.business.VisitsService;
 import com.doumee.service.system.SystemDictDataService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -34,6 +35,7 @@
     @Autowired
     private PlatformJobService platformJobService;
 
+
     @ApiOperation("鏈堝彴浣滀笟鎶ヨ涓氬姟")
     @GetMapping("/platformJobTimer")
     public ApiResponse platformJobTimer() {
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/PlatformWaterGasController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/PlatformWaterGasController.java
index ff6eb05..4f5749f 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/PlatformWaterGasController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/PlatformWaterGasController.java
@@ -78,7 +78,8 @@
     @PostMapping("/exportExcel")
     @RequiresPermissions("business:platformwatergas:exportExcel")
     public void exportExcel (@RequestBody PageWrap<PlatformWaterGas> pageWrap, HttpServletResponse response) {
-        ExcelExporter.build(PlatformWaterGas.class).export(platformWaterGasService.findPage(pageWrap).getRecords(), "鏈堝彴_鐢ㄦ按鐢ㄦ皵淇℃伅璁板綍琛�", response);
+        List<PlatformWaterGas>  waterGasPageData = platformWaterGasService.findPage(pageWrap).getRecords();
+        ExcelExporter.build(PlatformWaterGas.class).export(waterGasPageData, "鏈堝彴_鐢ㄦ按鐢ㄦ皵淇℃伅璁板綍琛�", response);
     }
 
     @ApiOperation("鏍规嵁ID鏌ヨ")
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformJobCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformJobCloudController.java
index d232264..35013a6 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformJobCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformJobCloudController.java
@@ -12,12 +12,14 @@
 import com.doumee.dao.web.reqeust.JobDetailDTO;
 import com.doumee.dao.web.reqeust.SignInDTO;
 import com.doumee.service.business.PlatformJobService;
+import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
+import java.util.List;
 
 /**
  * @author 姹熻箘韫�
@@ -76,7 +78,13 @@
     @PostMapping("/exportExcel")
     @CloudRequiredPermission("business:platformjob:exportExcel")
     public void exportExcel (@RequestBody PageWrap<PlatformJob> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
-        ExcelExporter.build(PlatformJob.class).export(platformJobService.findPage(pageWrap).getRecords(), "鏈堝彴璋冨害浣滀笟淇℃伅琛�", response);
+        List<PlatformJob> platformJobList = platformJobService.findPage(pageWrap).getRecords();
+        if(CollectionUtils.isNotEmpty(platformJobList)){
+            for (PlatformJob platformJob:platformJobList) {
+                platformJob.setJobForm(Constants.ZERO);
+            }
+        }
+        ExcelExporter.build(PlatformJob.class).export(platformJobList, "瀹夋嘲鐗╂祦浣滀笟浠诲姟", response);
     }
 
     @ApiOperation("鏍规嵁ID鏌ヨ")
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformWaterGasCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformWaterGasCloudController.java
index 080fc0b..09dd59b 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformWaterGasCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformWaterGasCloudController.java
@@ -9,15 +9,19 @@
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
 import com.doumee.dao.business.model.PlatformWaterGas;
+import com.doumee.dao.business.vo.PlatformWaterGasForExcelVO;
 import com.doumee.service.business.PlatformWaterGasService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.*;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletResponse;
+import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * @author 姹熻箘韫�
@@ -81,9 +85,34 @@
     @PostMapping("/exportExcel")
     @CloudRequiredPermission("business:platformwatergas:exportExcel")
     public void exportExcel (@RequestBody PageWrap<PlatformWaterGas> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        ExcelExporter.build(PlatformWaterGas.class).export(platformWaterGasService.findPage(pageWrap).getRecords(), "鏈堝彴_鐢ㄦ按鐢ㄦ皵淇℃伅璁板綍琛�", response);
+        List<PlatformWaterGas>  waterGasPageData = platformWaterGasService.findPage(pageWrap).getRecords();
+        if(Objects.nonNull(pageWrap.getModel())
+        && Objects.nonNull(pageWrap.getModel().getType()) && !Constants.equalsInteger(pageWrap.getModel().getType(),Constants.TWO)){
+            List<PlatformWaterGasForExcelVO> pageData = new ArrayList<>();
+            for (PlatformWaterGas platformWaterGas:waterGasPageData) {
+                PlatformWaterGasForExcelVO platformWaterGasForExcelVO = new PlatformWaterGasForExcelVO();
+                BeanUtils.copyProperties(platformWaterGas,platformWaterGasForExcelVO);
+                pageData.add(platformWaterGasForExcelVO);
+            }
+            ExcelExporter.build(PlatformWaterGasForExcelVO.class).export(pageData, Constants.equalsInteger(pageWrap.getModel().getType(),Constants.ZERO)?"鏈堝彴_鐢ㄦ按淇℃伅璁板綍琛�":"鏈堝彴_鐢ㄦ皵淇℃伅璁板綍琛�", response);
+        }else{
+            ExcelExporter.build(PlatformWaterGas.class).export(waterGasPageData, "鏈堝彴_娌硅�椾俊鎭褰曡〃", response);
+        }
     }
 
+
+
+    @ApiOperation(value = "娌硅�椾俊鎭鍏�")
+    @PostMapping("/importExcel")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "file", value = "file", required = true, paramType = "query", dataType = "file", dataTypeClass = File.class),
+    })
+    @CloudRequiredPermission("business:platformwatergas:exportExcel")
+    public ApiResponse<String> importExcel (@ApiParam(value = "file") MultipartFile file, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        return ApiResponse.success(platformWaterGasService.importBatch(file,this.getLoginUser(token)));
+    }
+
+
     @ApiOperation("鏍规嵁ID鏌ヨ")
     @GetMapping("/{id}")
     @CloudRequiredPermission("business:platformwatergas:query")
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java
index dc5ade1..751d022 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java
@@ -109,7 +109,7 @@
     public ApiResponse<PageData<Notices>> taskPage (@RequestBody PageWrap<NoticesDTO> pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
         LoginUserInfo loginUserInfo = getLoginUser(token);
         pageWrap.getModel().setMemberId(loginUserInfo.getMemberId());
-        pageWrap.getModel().setUserId(loginUserInfo.getId());
+//        pageWrap.getModel().setUserId(loginUserInfo.getId());
         return ApiResponse.success(noticesService.taskCanterPage(pageWrap));
     }
 
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WmsPushCloudTestController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WmsPushCloudTestController.java
index 2f2bb09..54c03c4 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WmsPushCloudTestController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WmsPushCloudTestController.java
@@ -85,7 +85,6 @@
     @LoginNoRequired
     @PostMapping("/tms/lockStatusQuery")
     public TmsBaseResponse<List<TmsLockStatusQueryResponse>>  lockStatusQuery(@RequestBody  TmsLockStatusQueryRequest request )   {
-
         return  tmsService.lockStatusQuery(request);
     }
     @ApiOperation("銆怲MS銆戝悎鍚屽垪琛ㄦ帴鍙�")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsLockStatusQueryRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsLockStatusQueryRequest.java
index 00c7355..1e13ae2 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsLockStatusQueryRequest.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsLockStatusQueryRequest.java
@@ -14,6 +14,6 @@
 public class TmsLockStatusQueryRequest {
 
 
-    private List<String> contractNumbers; //鏄�	闆嗗悎	鍚堝悓鍙�	蹇呭~锛岃嚦灏戜紶涓�涓悎鍚屽彿
+    private List<String> contractNumbers; //鏄泦鍚� 鍚堝悓鍙�	蹇呭~锛岃嚦灏戜紶涓�涓悎鍚屽彿
 
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/request/PlatformGasImport.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/request/PlatformGasImport.java
new file mode 100644
index 0000000..1e27745
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/request/PlatformGasImport.java
@@ -0,0 +1,34 @@
+package com.doumee.dao.admin.request;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 鍛樺伐淇℃伅瀵煎叆琛�
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Data
+@ApiModel("娌硅�椾俊鎭鍏�")
+public class PlatformGasImport {
+
+    @ExcelColumn(name="杞︾墝鍙�",value = "carCode",index = 1)
+    private String carCode;
+
+    @ExcelColumn(name="鏃堕棿锛堝勾鏈堬級",value = "timeInfo",index = 2,dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date timeInfo;
+
+    @ExcelColumn(name="鏁伴噺",value = "num",index = 3)
+    private String num;
+
+    @ExcelColumn(name="璇存槑",value = "content",index = 3)
+    private String content;
+
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
index 1cc108c..9319c44 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -231,6 +231,10 @@
     @ApiModelProperty(value = "缁勭粐绫诲瀷 0鍔冲姟鍏徃 1鍐呴儴缁勭粐")
     @TableField(exist = false)
     private Integer companyType;
+
+    @ApiModelProperty(value = "缁勭粐绫诲瀷 0鍔冲姟鍏徃 1鍐呴儴缁勭粐 澶氫釜浠�,鍒嗗壊")
+    @TableField(exist = false)
+    private String companyTypes;
     @ApiModelProperty(value = "缁勭粐缂栫爜璺緞")
     @TableField(exist = false)
     private String companyPath;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
index bcfb1f3..abd060e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
@@ -26,268 +26,213 @@
 
     @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "涓婚敭", example = "1")
-    @ExcelColumn(name="涓婚敭")
     private Integer id;
 
     @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
-    @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
     private Integer creator;
 
     @ApiModelProperty(value = "鍒涘缓鏃堕棿")
-    @ExcelColumn(name="鍒涘缓鏃堕棿")
+    @ExcelColumn(name="鍒涘缓鏃堕棿",index = 7, dateFormat = "yyyy-MM-dd hh:mm:ss")
     private Date createDate;
 
     @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
-    @ExcelColumn(name="鏇存柊浜虹紪鐮�")
     private Integer editor;
 
     @ApiModelProperty(value = "鏇存柊鏃堕棿")
-    @ExcelColumn(name="鏇存柊鏃堕棿")
-  
     private Date editDate;
 
     @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
-    @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
     private Integer isdeleted;
 
     @ApiModelProperty(value = "鍚嶇О")
-    @ExcelColumn(name="鍚嶇О")
     private String name;
 
     @ApiModelProperty(value = "澶囨敞")
-    @ExcelColumn(name="澶囨敞")
     private String remark;
 
     @ApiModelProperty(value = "鐘舵�� 0寰呯‘璁� 1寰呯鍒� 2绛夊緟鍙彿 3鍏ュ洯绛夊緟 4宸插彨鍙� 5浣滀笟涓� 6浣滀笟瀹屾垚 7杞Щ涓� 8寮傚父鎸傝捣 9宸叉巿鏉冪鍥� 10宸茬鍥� 11 宸茶繃鍙�  12鍙栨秷锛圵MS锛�" , example = "1")
-    @ExcelColumn(name="鐘舵�� 0寰呯‘璁� 1寰呯鍒� 2绛夊緟鍙彿 3鍏ュ洯绛夊緟 4宸插彨鍙� 5浣滀笟涓� 6浣滀笟瀹屾垚 7杞Щ涓� 8寮傚父鎸傝捣 9宸叉巿鏉冪鍥� 10宸茬鍥� 11 宸茶繃鍙�  12鍙栨秷锛圵MS锛�")
+    @ExcelColumn(name="鐘舵��",index = 8, valueMapping = "0:寰呯‘璁�;1:寰呯鍒�;2:绛夊緟鍙彿;3:鍏ュ洯绛夊緟;4:宸插彨鍙�;5:浣滀笟涓�;6:浣滀笟瀹屾垚;7:杞Щ涓�;8:寮傚父鎸傝捣;9:宸叉巿鏉冪鍥�;10:宸茬鍥�;11:宸茶繃鍙�;12:鍙栨秷锛圵MS锛�;")
     private Integer status;
+
     @ApiModelProperty(value = "杞﹁締杩涘叆鐘舵�� 0涓嶅湪 1杩涘叆 " , example = "1")
-    @ExcelColumn(name="杞﹁締杩涘叆鐘舵�� 0涓嶅湪 1杩涘叆 ")
     private Integer inOut;
 
     @ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
-    @ExcelColumn(name="鎺掑簭鐮�")
     private Integer sortnum;
 
     @ApiModelProperty(value = "浣滀笟鍗曞彿")
-    @ExcelColumn(name="浣滀笟鍗曞彿")
     private String code;
 
     @ApiModelProperty(value = "浣滀笟鍞竴鏍囪瘑(鎵胯繍鍗曞彿锛�")
-    @ExcelColumn(name="浣滀笟鍞竴鏍囪瘑(鎵胯繍鍗曞彿锛�")
+    @ExcelColumn(name="杩愬崟鍙�",index = 0)
     private String billCode;
 
     @ApiModelProperty(value = "鍙告満缂栫爜", example = "1")
-    @ExcelColumn(name="鍙告満缂栫爜")
     private Integer driverId;
 
     @ApiModelProperty(value = "鍙告満濮撳悕")
-    @ExcelColumn(name="鍙告満濮撳悕")
+    @ExcelColumn(name="鍙告満濮撳悕",index = 4)
     private String driverName;
 
     @ApiModelProperty(value = "杞︾墝鍙�")
-    @ExcelColumn(name="杞︾墝鍙�")
     private String plateNum;
 
     @ApiModelProperty(value = "鍙告満鎵嬫満鍙�")
-    @ExcelColumn(name="鍙告満鎵嬫満鍙�")
+    @ExcelColumn(name="鍙告満鐢佃瘽",index = 5)
     private String drivierPhone;
 
     @ApiModelProperty(value = "绛惧埌鏃堕棿")
-    @ExcelColumn(name="绛惧埌鏃堕棿")
     private Date signDate;
 
     @ApiModelProperty(value = "绛惧埌鏂瑰紡 0app绛惧埌 1鎵爜绛惧埌 2鍚庡彴绛惧埌", example = "1")
-    @ExcelColumn(name="绛惧埌鏂瑰紡 0app绛惧埌 1鎵爜绛惧埌 2鍚庡彴绛惧埌")
     private Integer singType;
+
     @ApiModelProperty(value = "閫氱煡WMS浣滀笟缁戝畾鏈堝彴鏃堕棿")
-    @ExcelColumn(name="閫氱煡WMS浣滀笟缁戝畾鏈堝彴鏃堕棿")
     private Date wmsSendDate;
+
     @ApiModelProperty(value = "閫氱煡WMS浣滀笟缁戝畾鏈堝彴鐘舵�� 0寰呴�氱煡 1閫氱煡鎴愬姛 2閫氱煡澶辫触", example = "1")
-    @ExcelColumn(name="閫氱煡WMS浣滀笟缁戝畾鏈堝彴鐘舵�� 0寰呴�氱煡 1閫氱煡鎴愬姛 2閫氱煡澶辫触")
     private Integer wmsSendStatus;
+
     @ApiModelProperty(value = "閫氱煡WMS浣滀笟缁戝畾鏈堝彴绶ㄧ⒓", example = "1")
-    @ExcelColumn(name="閫氱煡WMS浣滀笟缁戝畾鏈堝彴绶ㄧ⒓")
     private String wmsSendPlatformCode;
+
     @ApiModelProperty(value = "閫氱煡WMS浣滀笟缁戝畾鏈堝彴澶囨敞", example = "1")
-    @ExcelColumn(name="閫氱煡WMS浣滀笟缁戝畾鏈堝彴澶囨敞")
     private String wmsSendInfo;
+
     @ApiModelProperty(value = "閫氱煡WMS浣滀笟缁戝畾鏈堝彴娆℃暟", example = "1")
-    @ExcelColumn(name="閫氱煡WMS浣滀笟缁戝畾鏈堝彴娆℃暟")
     private Integer wmsSendNum;
 
     @ApiModelProperty(value = "绛惧埌璺濈(绫筹級", example = "1")
-    @ExcelColumn(name="绛惧埌璺濈(绫筹級")
     private BigDecimal signDistance;
 
     @ApiModelProperty(value = "浣滀笟鏈堝彴鍚嶇О闆嗗悎锛屽涓娇鐢ㄨ嫳鏂囬�楀彿闅斿紑")
-    @ExcelColumn(name="浣滀笟鏈堝彴鍚嶇О闆嗗悎锛屽涓娇鐢ㄨ嫳鏂囬�楀彿闅斿紑")
     private String platformNames;
 
     @ApiModelProperty(value = "浣滀笟鏈堝彴缂栫爜闆嗗悎锛屽涓娇鐢ㄨ嫳鏂囬�楀彿闅斿紑")
-    @ExcelColumn(name="浣滀笟鏈堝彴缂栫爜闆嗗悎锛屽涓娇鐢ㄨ嫳鏂囬�楀彿闅斿紑")
     private String platforms;
 
     @ApiModelProperty(value = "鏈�杩戝垎閰嶆湀鍙扮紪鐮侊紙鍏宠仈platform)", example = "1")
-    @ExcelColumn(name="鏈�杩戝垎閰嶆湀鍙扮紪鐮侊紙鍏宠仈platform)")
     private Integer platformId;
+
     @ApiModelProperty(value = "鏈堝彴鍒嗙粍缂栫爜锛堝叧鑱攑latform_group)", example = "1")
-    @ExcelColumn(name="鏈堝彴鍒嗙粍缂栫爜锛堝叧鑱攑latform_group)")
     private Integer platformGroupId;
 
     @ApiModelProperty(value = "閫氱煡鍏ュ洯绛夊緟鏃堕棿")
-    @ExcelColumn(name="閫氱煡鍏ュ洯绛夊緟鏃堕棿")
     private Date inwaitDate;
 
     @ApiModelProperty(value = "閫氱煡鍏ュ洯绛夊緟鎿嶄綔浜虹紪鐮�", example = "1")
-    @ExcelColumn(name="閫氱煡鍏ュ洯绛夊緟鎿嶄綔浜虹紪鐮�")
     private Integer inwaitUserId;
 
     @ApiModelProperty(value = "鍙彿鏃堕棿")
-    @ExcelColumn(name="鍙彿鏃堕棿")
     private Date callDate;
 
-
     @ApiModelProperty(value = "鍙彿浜虹紪鐮�", example = "1")
-    @ExcelColumn(name="鍙彿浜虹紪鐮�")
     private Integer callUserId;
 
     @ApiModelProperty(value = "鍙彿澶囨敞")
-    @ExcelColumn(name="鍙彿澶囨敞")
     private String callInfo;
 
     @ApiModelProperty(value = "寮�濮嬩綔涓氭椂闂�")
-    @ExcelColumn(name="寮�濮嬩綔涓氭椂闂�")
     private Date startDate;
 
     @ApiModelProperty(value = "浣滀笟瀹屾垚鏃堕棿锛堟渶缁堟椂闂达級")
-    @ExcelColumn(name="浣滀笟瀹屾垚鏃堕棿锛堟渶缁堟椂闂达級")
     private Date doneDate;
 
     @ApiModelProperty(value = "寮傚父鎸傝捣鏃堕棿")
-    @ExcelColumn(name="寮傚父鎸傝捣鏃堕棿")
     private Date errorDate;
 
     @ApiModelProperty(value = "寮傚父鎸傝捣浜虹紪鐮�", example = "1")
-    @ExcelColumn(name="寮傚父鎸傝捣浜虹紪鐮�")
     private Integer errorUserId;
 
     @ApiModelProperty(value = "寮傚父鎸傝捣澶囨敞")
-    @ExcelColumn(name="寮傚父鎸傝捣澶囨敞")
     private String errorInfo;
 
     @ApiModelProperty(value = "鏈堝彴杞氦鏃堕棿")
-    @ExcelColumn(name="鏈堝彴杞氦鏃堕棿")
     private Date transPlatformDate;
 
     @ApiModelProperty(value = "鏈堝彴杞氦澶勭悊浜�", example = "1")
-    @ExcelColumn(name="鏈堝彴杞氦澶勭悊浜�")
     private Integer transPlatformUserId;
 
     @ApiModelProperty(value = "鏈堝彴杞氦澶囨敞")
-    @ExcelColumn(name="鏈堝彴杞氦澶囨敞")
     private String transPlatformInfo;
 
     @ApiModelProperty(value = "杞﹁締杩涘巶鏃堕棿")
-    @ExcelColumn(name="杞﹁締杩涘巶鏃堕棿")
     private Date inDate;
 
     @ApiModelProperty(value = "杞﹁締绂诲巶鏃堕棿")
-    @ExcelColumn(name="杞﹁締绂诲巶鏃堕棿")
     private Date outDate;
 
     @ApiModelProperty(value = "绂诲巶鏂瑰紡 0鑷姩绂诲巶 1鎵嬪姩绂诲満", example = "1")
-    @ExcelColumn(name="绂诲巶鏂瑰紡 0鑷姩绂诲巶 1鎵嬪姩绂诲満")
     private Integer outType;
 
     @ApiModelProperty(value = "杞﹁締绂诲巶涓嬪彂鐘舵�� 0寰呬笅鍙� 1涓嬪彂涓� 2涓嬪彂鎴愬姛 3涓嬪彂澶辫触", example = "1")
-    @ExcelColumn(name="杞﹁締绂诲巶涓嬪彂鐘舵�� 0寰呬笅鍙� 1涓嬪彂涓� 2涓嬪彂鎴愬姛 3涓嬪彂澶辫触")
     private Integer outHkstatus;
 
     @ApiModelProperty(value = "杞﹁締绂诲巶涓嬪彂鏃堕棿")
-    @ExcelColumn(name="杞﹁締绂诲巶涓嬪彂鏃堕棿")
     private Date outHkdate;
 
     @ApiModelProperty(value = "杞﹁締绂诲巶涓嬪彂澶囨敞")
-    @ExcelColumn(name="杞﹁締绂诲巶涓嬪彂澶囨敞")
     private String outHkinfo;
 
 
     @ApiModelProperty(value = "绂诲満涓嬪彂鎿嶄綔浜�", example = "1")
-    @ExcelColumn(name="绂诲満涓嬪彂鎿嶄綔浜�")
     private Integer outUserId;
 
 
     @ApiModelProperty(value = "杞﹁締杩涘巶涓嬪彂鐘舵�� 0寰呬笅鍙� 1涓嬪彂涓� 2涓嬪彂鎴愬姛 3涓嬪彂澶辫触", example = "1")
-    @ExcelColumn(name="杞﹁締杩涘巶涓嬪彂鐘舵�� 0寰呬笅鍙� 1涓嬪彂涓� 2涓嬪彂鎴愬姛 3涓嬪彂澶辫触")
     private Integer inHkstatus;
 
     @ApiModelProperty(value = "杞﹁締杩涘巶涓嬪彂澶囨敞")
-    @ExcelColumn(name="杞﹁締杩涘巶涓嬪彂澶囨敞")
     private String nHkinfo;
 
     @ApiModelProperty(value = "杞﹁締杩涘巶涓嬪彂鏃堕棿")
-    @ExcelColumn(name="杞﹁締杩涘巶涓嬪彂鏃堕棿")
     private Date inHkdate;
 
     @ApiModelProperty(value = "浣滀笟绫诲瀷 0鑷湁杞﹀嵏璐� 1鑷湁杞﹁璐� 2澶栧崗杞﹀嵏璐� 3澶栧崗杞﹁璐� 4甯傚叕鍙稿鍗忚溅鍗歌揣", example = "1")
-    @ExcelColumn(name="浣滀笟绫诲瀷 0鑷湁杞﹀嵏璐� 1鑷湁杞﹁璐� 2澶栧崗杞﹀嵏璐� 3澶栧崗杞﹁璐� 4甯傚叕鍙稿鍗忚溅鍗歌揣")
+    @ExcelColumn(name="浣滀笟绫诲瀷",index = 6,valueMapping = "0=鑷湁杞﹀嵏璐�;1=鑷湁杞﹁璐�;2=澶栧崗杞﹀嵏璐�;3=澶栧崗杞﹁璐�;4=甯傚叕鍙稿鍗忚溅鍗歌揣")
     private Integer type;
 
     @ApiModelProperty(value = "鍓嶈溅鐗屽彿")
-    @ExcelColumn(name="鍓嶈溅鐗屽彿")
+    @ExcelColumn(name="鍓嶈溅鐗屽彿",index = 2)
     private String carCodeFront;
 
     @ApiModelProperty(value = "鍚庤溅鐗屽彿")
-    @ExcelColumn(name="鍚庤溅鐗屽彿")
     private String carCodeBack;
 
     @ApiModelProperty(value = "鍙告満鎵�灞為儴闂ㄧ紪鐮�", example = "1")
-    @ExcelColumn(name="鍙告満鎵�灞為儴闂ㄧ紪鐮�")
     private Integer companyId;
 
     @ApiModelProperty(value = "鍙告満鎵�灞為儴闂ㄥ悕绉拌矾寰�")
-    @ExcelColumn(name="鍙告満鎵�灞為儴闂ㄥ悕绉拌矾寰�")
     private String companyNamePath;
 
     @ApiModelProperty(value = "浣滃簾鏃堕棿")
-    @ExcelColumn(name="浣滃簾鏃堕棿")
     private Date cancelDate;
 
     @ApiModelProperty(value = "浣滃簾澶勭悊浜虹紪鐮�", example = "1")
-    @ExcelColumn(name="浣滃簾澶勭悊浜虹紪鐮�")
     private Integer cancelUserId;
 
     @ApiModelProperty(value = "浣滀负澶勭悊澶囨敞")
-    @ExcelColumn(name="浣滀负澶勭悊澶囨敞")
     private String cancelInfo;
 
     @ApiModelProperty(value = "鍏ュ洯浜嬬敱")
-    @ExcelColumn(name="鍏ュ洯浜嬬敱")
     private String reason;
 
     @ApiModelProperty(value = "鍚堝悓鍙�")
-    @ExcelColumn(name="鍚堝悓鍙�")
     private String contractNum;
 
     @ApiModelProperty(value = "棰勮鍒板満鏃堕棿")
-    @ExcelColumn(name="棰勮鍒板満鏃堕棿")
     private Date arriveDate;
 
     @ApiModelProperty(value = "鍏ュ簱绫诲瀷 0鏁存墭鐩� 1浠剁儫", example = "1")
-    @ExcelColumn(name="鍏ュ簱绫诲瀷 0鏁存墭鐩� 1浠剁儫")
     private Integer inType;
 
     @ApiModelProperty(value = "鎬昏繍杈撻噺", example = "1")
-    @ExcelColumn(name="鎬昏繍杈撻噺")
     private BigDecimal totalNum;
 
     @ApiModelProperty(value = "纭浠诲姟鏃堕棿")
-    @ExcelColumn(name="纭浠诲姟鏃堕棿")
     private Date confirmTaskDate;
 
     @ApiModelProperty(value = "绛惧埌搴忓彿", example = "1")
-    @ExcelColumn(name="绛惧埌搴忓彿")
     private Integer signNum;
 
     @ApiModelProperty(value = "鏈�鏂板彨鍙锋椂闂�")
@@ -313,6 +258,9 @@
     @ApiModelProperty(value = "浣滀笟鏈堝彴鍚嶇О")
     @TableField(exist = false)
     private String platformName ;
+    @ApiModelProperty(value = "鏈堝彴绌洪棽鏂囨")
+    @TableField(exist = false)
+    private String ledContent ;
 
     @ApiModelProperty(value = "鏄惁瓒呮椂锛�0=鏄紱1=鍚�", example = "1")
     @TableField(exist = false)
@@ -340,6 +288,7 @@
     private Integer groupType ;
 
     @ApiModelProperty(value = "鎵胯繍鍟�")
+    @ExcelColumn(name="杩愯緭鍏徃",index = 3)
     @TableField(exist = false)
     private String carrierName ;
 
@@ -428,6 +377,10 @@
     @TableField(exist = false)
     private String queryStatusForPower;
 
+    @ApiModelProperty(value = "浠诲姟鏉ユ簮")
+    @ExcelColumn(name="浠诲姟鏉ユ簮",index = 1,valueMapping = "0=WMS鑾峰彇;1=鑷富棰勭害;")
+    @TableField(exist = false)
+    private Integer jobForm;
 
     @ApiModelProperty(value = "浣滀笟绫诲瀷鏌ヨ 澶氫釜浠�,鍒嗗壊")
     @TableField(exist = false)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWaterGas.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWaterGas.java
index ec20891..3eadc0b 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWaterGas.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWaterGas.java
@@ -25,55 +25,48 @@
 
     @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "涓婚敭", example = "1")
-    @ExcelColumn(name="涓婚敭")
     private Integer id;
 
     @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
-    @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
     private Integer creator;
 
     @ApiModelProperty(value = "鍒涘缓鏃堕棿")
-    @ExcelColumn(name="鍒涘缓鏃堕棿")
     private Date createDate;
 
     @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
-    @ExcelColumn(name="鏇存柊浜虹紪鐮�")
     private Integer editor;
 
     @ApiModelProperty(value = "鏇存柊鏃堕棿")
-    @ExcelColumn(name="鏇存柊鏃堕棿")
+    @ExcelColumn(name="鏈�杩戞搷浣滄椂闂�",index = 5,dateFormat="yyyy-MM-dd HH:mm")
     private Date editDate;
 
     @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
-    @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
     private Integer isdeleted;
 
     @ApiModelProperty(value = "澶囨敞")
-    @ExcelColumn(name="澶囨敞")
     private String remark;
 
     @ApiModelProperty(value = "鏃堕棿锛堝勾鏈堬級")
-    @ExcelColumn(name="鏃堕棿锛堝勾鏈堬級")
+    @ExcelColumn(name="浣跨敤鏈堜唤",index = 2,dateFormat="yyyy-MM")
     private Date timeInfo;
 
     @ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
-    @ExcelColumn(name="鎺掑簭鐮�")
     private Integer sortnum;
 
     @ApiModelProperty(value = "绫诲瀷 0鐢ㄦ按 1鐢ㄦ皵 2鐢ㄦ补", example = "1")
-    @ExcelColumn(name="绫诲瀷 0鐢ㄦ按 1鐢ㄦ皵 2鐢ㄦ补")
+    @ExcelColumn(name="绫诲瀷",valueMapping = "0=鐢ㄦ按;1=鐢ㄦ皵;2=鐢ㄦ补;",index = 0)
     private Integer type;
 
     @ApiModelProperty(value = "鏁伴噺 (鐢ㄧ數椤匡紝鐢ㄧ數搴︼紱 娌硅�桳锛�", example = "1")
-    @ExcelColumn(name="鏁伴噺 (鐢ㄧ數椤匡紝鐢ㄧ數搴︼紱 娌硅�桳锛�")
+    @ExcelColumn(name="鏁伴噺",index = 3)
     private BigDecimal num;
 
     @ApiModelProperty(value = "璇存槑")
-    @ExcelColumn(name="璇存槑")
+    @ExcelColumn(name="璇存槑",index = 4)
     private String content;
 
     @ApiModelProperty(value = "杞︾墝鍙�")
-    @ExcelColumn(name="杞︾墝鍙�")
+    @ExcelColumn(name="杞︾墝鍙�",index = 1)
     private String carCode;
 
     @ApiModelProperty(value = "寮�濮嬫椂闂�")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsDetail.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsDetail.java
index f4d58da..620b11a 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsDetail.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsDetail.java
@@ -84,5 +84,7 @@
     @ApiModelProperty(value = "鐗╂枡杞崲鐜�")
     @ExcelColumn(name="鐗╂枡杞崲鐜�")
     private String rate;
-
+    @ApiModelProperty(value = "涓婇攣鏃堕棿")
+    @ExcelColumn(name="涓婇攣鏃堕棿")
+    private String lockDate;
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java
index 2d27a3b..7146dfe 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java
@@ -219,6 +219,9 @@
     @ExcelColumn(name="ERP鐢宠璁板綍缂栫爜")
     private String erpId;
 
+    @ApiModelProperty(value = "鏄惁鍙戦�佽秴鏃堕�氱煡 0锛氭湭鍙戦�侊紱1=宸插彂閫�")
+    private Integer sendTimeOutNotice;
+
 
     @ApiModelProperty(value = "缁熻鏁伴噺 ")
     @TableField(exist = false)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/PlatformWaterGasForExcelVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/PlatformWaterGasForExcelVO.java
new file mode 100644
index 0000000..bccfb6e
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/PlatformWaterGasForExcelVO.java
@@ -0,0 +1,43 @@
+package com.doumee.dao.business.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 鏈堝彴_鐢ㄦ按鐢ㄦ皵淇℃伅璁板綍琛�
+ * @author 姹熻箘韫�
+ * @date 2024/08/26 16:22
+ */
+@Data
+public class PlatformWaterGasForExcelVO {
+
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+    @ExcelColumn(name="鏈�杩戞搷浣滄椂闂�",index = 5,dateFormat="yyyy-MM-dd HH:mm",width = -1)
+    private Date editDate;
+
+    @ApiModelProperty(value = "鏃堕棿锛堝勾鏈堬級")
+    @ExcelColumn(name="浣跨敤鏈堜唤",index = 2,dateFormat="yyyy-MM")
+    private Date timeInfo;
+
+    @ApiModelProperty(value = "绫诲瀷 0鐢ㄦ按 1鐢ㄦ皵 2鐢ㄦ补", example = "1")
+    @ExcelColumn(name="绫诲瀷",valueMapping = "0=鐢ㄦ按;1=鐢ㄦ皵;2=鐢ㄦ补;",index = 0)
+    private Integer type;
+
+    @ApiModelProperty(value = "鏁伴噺 (鐢ㄧ數椤匡紝鐢ㄧ數搴︼紱 娌硅�桳锛�", example = "1")
+    @ExcelColumn(name="鏁伴噺",index = 3)
+    private BigDecimal num;
+
+    @ApiModelProperty(value = "璇存槑")
+    @ExcelColumn(name="璇存槑",index = 4)
+    private String content;
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformWaterGasService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformWaterGasService.java
index 2aa2929..374831a 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformWaterGasService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformWaterGasService.java
@@ -10,6 +10,7 @@
 import com.doumee.dao.openapi.response.GasByMonthResponse;
 import com.doumee.dao.openapi.response.PlatformLastMonthListResponse;
 import com.doumee.dao.openapi.response.WaterByMonthResponse;
+import org.springframework.web.multipart.MultipartFile;
 
 import java.util.List;
 
@@ -110,4 +111,6 @@
     GasByMonthResponse gasDataByMonth(GasByMonthRequest param);
 
     List<PlatformLastMonthListResponse> getPlatformLastMonthListResponse(Integer type);
+
+    String importBatch(MultipartFile file, LoginUserInfo loginUserInfo);
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
index fd4e843..39fb955 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
@@ -147,4 +147,9 @@
     void visitResend(Integer visitId);
 
     PCWorkPlatformDataVO getPcWorkPlatformData(Integer queryType ,LoginUserInfo loginUserInfo);
+
+    /**
+     * 鍗冲皢瓒呮椂閫氱煡
+     */
+    void syncTimeOutData();
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
index 5417979..2c53046 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
@@ -584,8 +584,30 @@
                                 SmsConstants.platformBookContent.platformBookWaitAudit,
                                 null,Arrays.asList(member.getPhone().split(","))
                         );
+                    }else if(Constants.equalsInteger(noticeType,Constants.noticesObjectType.visit)){
+                        //璁垮鐢宠
+                        SmsEmailServiceImpl.sendVisitSms(systemDictDataBiz,
+                                emayService,smsEmailMapper,smsConfigMapper,visitsMapper,businessId,
+                                SmsConstants.visitContent.visitNotice,
+                                null,Arrays.asList(member.getPhone().split(","))
+                        );
+                    }else if(Constants.equalsInteger(noticeType,Constants.noticesObjectType.visitReporting)){
+                        //璁垮鎶ュ
+                        SmsEmailServiceImpl.sendVisitReportSms(systemDictDataBiz,
+                                emayService,smsEmailMapper,smsConfigMapper,visitsMapper,businessId,
+                                SmsConstants.visitReportingContent.visitReportingNotice,
+                                null,Arrays.asList(member.getPhone().split(","))
+                        );
+                    }else if(Constants.equalsInteger(noticeType,Constants.noticesObjectType.useCar)){
+                        //鐢ㄨ溅鐢宠
+                        SmsEmailServiceImpl.sendCarUseSms(systemDictDataBiz,
+                                emayService,smsEmailMapper,smsConfigMapper,carUseBookMapper,businessId,
+                                SmsConstants.carUseBookContent.carUseBookWaitAudit,
+                                null,Arrays.asList(member.getPhone().split(","))
+                        );
                     }
                 }
+
 
             }
         }
@@ -1279,9 +1301,8 @@
                         .eq(Approve::getLevel,(approve.getLevel()+1))
                 );
                 //鍙戦�佺煭淇¢�氱煡  涓嬬骇瀹℃壒浜�
-
-
                 List<String> memberPhone = waitAuditList.stream().filter(i->StringUtils.isNotBlank(i.getMemberPhone())).map(i->i.getMemberPhone()).collect(Collectors.toList());
+                //鐗╂祦杞﹂绾�
                 if(approveDTO.getObjType().equals(Constants.approveObjectType.reason)){
                     SmsEmailServiceImpl.sendPlatformBookSms(systemDictDataBiz,
                             emayService,smsEmailMapper,smsConfigMapper,platformBooksMapper,approveDTO.getObjId(),
@@ -1290,9 +1311,15 @@
                     );
                 }
 
+                else if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)
+                || approveDTO.getObjType().equals(Constants.approveObjectType.unCityUseCar)){
+                    SmsEmailServiceImpl.sendCarUseSms(systemDictDataBiz,
+                            emayService,smsEmailMapper,smsConfigMapper,carUseBookMapper,approveDTO.getObjId(),
+                            SmsConstants.hiddenDangerContent.hiddenDangerDealUser,
+                            approveDTO.getCheckInfo(),memberPhone);
+                }
 
-
-
+                //璁垮鐢宠/鎶ュ
                 if(approveDTO.getObjType().equals(Constants.approveObjectType.unConstructionVisit)
                         ||approveDTO.getObjType().equals(Constants.approveObjectType.constructionVisit)
                         ||approveDTO.getObjType().equals(Constants.approveObjectType.visitReporting)) {
@@ -1302,7 +1329,9 @@
                              visitsMapper.update(null,new UpdateWrapper<Visits>().lambda().set(Visits::getStatus,Constants.ONE).eq(Visits::getId,visits.getId()));
                         }
                     }
-                }else if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)||approveDTO.getObjType().equals(
+                }
+
+                if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)||approveDTO.getObjType().equals(
                         Constants.approveObjectType.unCityUseCar)){
                     this.updDriver(approveDTO,approve,false);
                 }
@@ -1547,11 +1576,42 @@
                     visits.setStatus(Constants.VisitStatus.xfFail);
                 }
             }
+            //璁垮鎶ュ
+            if(approveDTO.getObjType().equals(Constants.approveObjectType.visitReporting)){
+                //鍙戦�佺煭淇¢�氱煡
+                SmsEmailServiceImpl.sendVisitReportSms(systemDictDataBiz,
+                        emayService,smsEmailMapper,smsConfigMapper,visitsMapper,visits.getId(),
+                        Constants.equalsInteger(approveDTO.getStatus(),Constants.TWO)?SmsConstants.visitReportingContent.visitReportingAuditSuccess:
+                                SmsConstants.visitReportingContent.visitReportingAuditFail,
+                        approveDTO.getCheckInfo(),null
+                );
+            }else{ //璁垮鐢宠
+                //鍙戦�佺煭淇¢�氱煡
+                SmsEmailServiceImpl.sendVisitSms(systemDictDataBiz,
+                        emayService,smsEmailMapper,smsConfigMapper,visitsMapper,visits.getId(),
+                        Constants.equalsInteger(approveDTO.getStatus(),Constants.TWO)?SmsConstants.visitContent.visitAuditSuccess:
+                                SmsConstants.visitContent.visitAuditFail,
+                        approveDTO.getCheckInfo(),null
+                );
+            }
 
             visitsMapper.updateById(visits);
         }else if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)||approveDTO.getObjType().equals(
                 Constants.approveObjectType.unCityUseCar)){
             this.updDriver(approveDTO,approve,true);
+            CarUseBook carUseBook = carUseBookJoinMapper.selectById(approveDTO.getObjId());
+            if(Objects.nonNull(carUseBook)){
+                Member member = memberMapper.selectById(carUseBook.getMemberId());
+                if(Objects.nonNull(member)&&StringUtils.isNotBlank(member.getPhone())){
+                    SmsEmailServiceImpl.sendCarUseSms(systemDictDataBiz,
+                            emayService,smsEmailMapper,smsConfigMapper,carUseBookMapper,approveDTO.getObjId(),
+                            Constants.equalsInteger(approveDTO.getStatus(),Constants.TWO)?SmsConstants.carUseBookContent.carUseBookAuditSuccess:
+                                    SmsConstants.carUseBookContent.carUseBookAuditFail,
+                            approveDTO.getCheckInfo(),Arrays.asList(member.getPhone().split(","))
+                    );
+                }
+            }
+
         }else if(approveDTO.getObjType().equals(Constants.approveObjectType.reason)){
             //鐗╂祦杞﹂绾�
             PlatformBooks platformBooks = platformBooksMapper.selectById(approveDTO.getObjId());
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
index 4569482..5c44198 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
@@ -6,10 +6,7 @@
 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.DESUtil;
-import com.doumee.core.utils.DateUtil;
-import com.doumee.core.utils.Utils;
+import com.doumee.core.utils.*;
 import com.doumee.dao.business.*;
 import com.doumee.dao.business.join.ApproveJoinMapper;
 import com.doumee.dao.business.join.CarUseBookJoinMapper;
@@ -24,6 +21,7 @@
 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.doumee.service.business.third.EmayService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.StringUtils;
@@ -36,10 +34,8 @@
 import java.time.ZoneId;
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.ChronoUnit;
+import java.util.*;
 import java.util.Date;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
 import java.util.stream.Collectors;
 
 /**
@@ -74,6 +70,15 @@
     @Autowired
     private MemberMapper memberMapper;
 
+
+    @Autowired
+    private SmsConfigMapper smsConfigMapper;
+
+    @Autowired
+    private SmsEmailMapper smsEmailMapper;
+
+    @Autowired
+    private EmayService emayService;
 
     @Override
     @Transactional(rollbackFor = {Exception.class,BusinessException.class})
@@ -459,6 +464,15 @@
                .in(Approve::getObjType,Constants.approveObjectType.cityUseCar,Constants.approveObjectType.unCityUseCar)
                 .eq(Approve::getObjId,id)
         );
+        Member member = memberMapper.selectById(carUseBook.getMemberId());
+        if(Objects.nonNull(member)&&StringUtils.isNotBlank(member.getPhone())){
+            //鐢ㄨ溅鐢宠鍙栨秷
+            SmsEmailServiceImpl.sendCarUseSms(systemDictDataBiz,
+                    emayService,smsEmailMapper,smsConfigMapper,carUseBookMapper,carUseBook.getId(),
+                    SmsConstants.carUseBookContent.carUseBookCancel,
+                    null, Arrays.asList(member.getPhone().split(","))
+            );
+        }
     }
 
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java
index 696ce97..a81e0ef 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java
@@ -1,20 +1,25 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.biz.system.SystemDictDataBiz;
 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.SmsConstants;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.HiddenDangerParamMapper;
 import com.doumee.dao.business.MemberMapper;
+import com.doumee.dao.business.SmsConfigMapper;
+import com.doumee.dao.business.SmsEmailMapper;
 import com.doumee.dao.business.model.*;
 import com.doumee.service.business.HiddenDangerParamService;
 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.doumee.service.business.third.EmayService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import io.swagger.models.auth.In;
 import org.apache.commons.lang3.StringUtils;
@@ -24,10 +29,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 
 /**
  * 闅愭偅鍖哄煙閰嶇疆绫诲瀷淇℃伅琛⊿ervice瀹炵幇
@@ -41,6 +43,7 @@
     @Autowired
     private MemberMapper memberMapper;
 
+
     @Override
     public Integer create(HiddenDangerParam model) {
         LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
index 3a29e32..ecf0723 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
@@ -12,11 +12,9 @@
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.DateUtil;
+import com.doumee.core.utils.SmsConstants;
 import com.doumee.core.utils.Utils;
-import com.doumee.dao.business.HiddenDangerLogMapper;
-import com.doumee.dao.business.HiddenDangerMapper;
-import com.doumee.dao.business.HiddenDangerParamMapper;
-import com.doumee.dao.business.MemberMapper;
+import com.doumee.dao.business.*;
 import com.doumee.dao.business.model.*;
 import com.doumee.dao.system.MultifileMapper;
 import com.doumee.dao.system.join.NoticesJoinMapper;
@@ -24,6 +22,7 @@
 import com.doumee.dao.system.model.Notices;
 import com.doumee.service.business.HiddenDangerLogService;
 import com.doumee.service.business.HiddenDangerService;
+import com.doumee.service.business.third.EmayService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import org.apache.commons.lang3.StringUtils;
 import org.checkerframework.checker.units.qual.C;
@@ -65,6 +64,17 @@
 
     @Autowired
     private NoticesJoinMapper noticesJoinMapper;
+
+
+    @Autowired
+    private SmsConfigMapper smsConfigMapper;
+
+    @Autowired
+    private SmsEmailMapper smsEmailMapper;
+
+    @Autowired
+    private EmayService emayService;
+
 
     @Override
     public Integer create(HiddenDanger hiddenDanger) {
@@ -168,6 +178,17 @@
         notices.setReaded(Constants.ZERO);
         notices.setInfo("寰�"+member.getName()+"澶勭悊");
         noticesJoinMapper.insert(notices);
+
+
+        if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getPhone())){
+            //鍙戦�佺煭淇¢�氱煡
+            SmsEmailServiceImpl.sendHiddenDangerSms(systemDictDataBiz,
+                    emayService,smsEmailMapper,smsConfigMapper,hiddenDangerMapper,hiddenDanger.getId(),
+                    SmsConstants.hiddenDangerContent.hiddenDangerDealUser,
+                    Arrays.asList(member.getPhone().split(","))
+            );
+        }
+
 
 
         return hiddenDanger.getId();
@@ -379,6 +400,21 @@
                 .eq(Notices::getUserId,hiddenDanger.getLoginUserInfo().getMemberId())
         );
 
+        if(Constants.equalsInteger(hiddenDanger.getStatus(),Constants.ONE)){
+            Member member = memberMapper.selectById(hiddenDanger.getMemberId());
+            if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getPhone())){
+                //鍙戦�佺煭淇¢�氱煡
+                SmsEmailServiceImpl.sendHiddenDangerSms(systemDictDataBiz,
+                        emayService,smsEmailMapper,smsConfigMapper,hiddenDangerMapper,hiddenDanger.getId(),
+                        SmsConstants.hiddenDangerContent.hiddenDangerDealOver,
+                        Arrays.asList(member.getPhone().split(","))
+                );
+            }
+
+        }
+
+
+
     }
 
     private void isParamValid(HiddenDanger hiddenDanger) {
@@ -527,6 +563,16 @@
             notices.setInfo("寰�"+member.getName()+"澶勭悊");
             noticesJoinMapper.updateById(notices);
         }
+
+
+        if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getPhone())){
+            //鍙戦�佺煭淇¢�氱煡
+            SmsEmailServiceImpl.sendHiddenDangerSms(systemDictDataBiz,
+                    emayService,smsEmailMapper,smsConfigMapper,hiddenDangerMapper,hiddenDanger.getId(),
+                    SmsConstants.hiddenDangerContent.hiddenDangerDealUser,
+                    Arrays.asList(member.getPhone().split(","))
+            );
+        }
     }
 
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 2785bef..c6875d3 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -1130,6 +1130,9 @@
         if(Objects.nonNull(member.getCompanyType())){
             queryWrapper.eq(Company::getType,member.getCompanyType());
         }
+        if(StringUtils.isNotBlank(member.getCompanyTypes())){
+            queryWrapper.in(Company::getType,Arrays.asList(member.getCompanyTypes().split(",")));
+        }
         if(null != member.getType()) {
             queryWrapper.eq(Member::getType,member.getType());
         }
@@ -1917,7 +1920,7 @@
             ,List<Company> companyList
             ,Integer companyType) {
         if(StringUtils.isBlank(model.getName())
-                ||StringUtils.isBlank(model.getIdcardNo())
+//                ||StringUtils.isBlank(model.getIdcardNo())
                 ||StringUtils.isBlank(model.getPhone())
                 ||StringUtils.isBlank(model.getCompanyName())){
             throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+(index+3)+"琛屼汉鍛樹俊鎭笉瀹屾暣锛岃妫�鏌ヨ〃鏍煎唴瀹癸紒");
@@ -1925,12 +1928,17 @@
         if (!PhoneUtil.isPhone(model.getPhone())){
             throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+(index+3)+"琛屾墜鏈哄彿銆�"+model.getPhone()+"銆戞牸寮忎笉姝g‘锛岃妫�鏌ヨ〃鏍煎唴瀹癸紒");
         }
-        if ( !isDebug && !IdcardUtil.isValidCard(model.getIdcardNo())){
-            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+(index+3)+"琛岃韩浠借瘉鍙枫��"+model.getIdcardNo()+"銆戞牸寮忎笉姝g‘锛岃妫�鏌ヨ〃鏍煎唴瀹癸紒");
+        if(StringUtils.isNotBlank(model.getIdcardNo())){
+            if ( !isDebug && !IdcardUtil.isValidCard(model.getIdcardNo())){
+                throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+(index+3)+"琛岃韩浠借瘉鍙枫��"+model.getIdcardNo()+"銆戞牸寮忎笉姝g‘锛岃妫�鏌ヨ〃鏍煎唴瀹癸紒");
+            }
         }
+
         for(Member member: newList){
-            if(StringUtils.equals(model.getIdcardNo(),member.getIdcardNo())){
-                throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+(index+3)+"琛岃韩浠借瘉鍙枫��"+model.getIdcardNo()+"銆戦噸澶嶅嚭鐜帮紝璇锋鏌ヨ〃鏍煎唴瀹癸紒");
+            if(StringUtils.isNotBlank(model.getIdcardNo())&&StringUtils.isNotBlank(member.getIdcardNo())) {
+                if (StringUtils.equals(model.getIdcardNo(), member.getIdcardNo())) {
+                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝绗�" + (index + 3) + "琛岃韩浠借瘉鍙枫��" + model.getIdcardNo() + "銆戦噸澶嶅嚭鐜帮紝璇锋鏌ヨ〃鏍煎唴瀹癸紒");
+                }
             }
             if(StringUtils.equals(model.getPhone(),member.getPhone())){
                 throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+(index+3)+"琛屾墜鏈哄彿銆�"+model.getPhone()+"銆戦噸澶嶅嚭鐜帮紝璇锋鏌ヨ〃鏍煎唴瀹癸紒");
@@ -1944,9 +1952,12 @@
             throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+(index+3)+"琛岀粍缁囧悕绉般��"+model.getCompanyName()+"銆戠被鍨嬩笉姝g‘锛岃妫�鏌ヨ〃鏍煎唴瀹癸紒");
         }
         String candNo = DESUtil.encrypt(Constants.EDS_PWD, model.getIdcardNo());
-        if(findMemberFromListByIdcard(candNo,memberList ) !=null){
-            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+(index+3)+"琛岃韩浠借瘉鍙枫��"+model.getIdcardNo()+"銆戝凡瀛樺湪锛岃妫�鏌ヨ〃鏍煎唴瀹癸紒");
+        if(StringUtils.isNotBlank(model.getIdcardNo())){
+            if(findMemberFromListByIdcard(candNo,memberList ) !=null){
+                throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+(index+3)+"琛岃韩浠借瘉鍙枫��"+model.getIdcardNo()+"銆戝凡瀛樺湪锛岃妫�鏌ヨ〃鏍煎唴瀹癸紒");
+            }
         }
+
         if(findMemberFromListByPhone(model.getPhone(),memberList ) !=null){
             throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+(index+3)+"琛屾墜鏈哄彿銆�"+model.getPhone()+"銆戝凡瀛樺湪锛岃妫�鏌ヨ〃鏍煎唴瀹癸紒");
         }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java
index 3df5317..6f5dc78 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java
@@ -304,14 +304,28 @@
                 platformWorkVO.setCallNum(
                         platformJobs.stream().filter(i->Constants.equalsInteger(i.getPlatformId(),platform.getId())  && Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())).collect(Collectors.toList()).size()
                 );
+                System.out.printf(String.valueOf(platformJobs.stream().filter(i->
+                        Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())
+                ).collect(Collectors.toList()).size())
+                );
+                System.out.printf(String.valueOf(platformJobList.stream().filter(i->
+                                Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.IN_WAIT.getKey()) ||
+                                        ( Constants.equalsInteger(platform.getId(),i.getPlatformId()) &&
+                                                Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.TRANSFERING.getKey())
+                                        )
+                        ).collect(Collectors.toList()).size())
+                );
 
                 platformWorkVO.setWaitNum(
+
                         platformJobs.stream().filter(i->
                                  Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())
                         ).collect(Collectors.toList()).size()
                         +
-                        platformJobList.stream().filter(i->Constants.equalsInteger(platform.getId(),i.getPlatformId())
-                                && (Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.IN_WAIT.getKey()) ||  Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.TRANSFERING.getKey())
+                        platformJobList.stream().filter(i->
+                                (  Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.IN_WAIT.getKey()) && Constants.equalsInteger(i.getPlatformGroupId(),platform.getGroupId()) )||
+                                 ( Constants.equalsInteger(platform.getId(),i.getPlatformId()) &&
+                                 Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.TRANSFERING.getKey())
                                )
                         ).collect(Collectors.toList()).size()
                 );
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
index 30c9d7c..a2b09a9 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -13,6 +13,9 @@
 import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.core.tms.model.request.TmsLockStatusQueryRequest;
+import com.doumee.core.tms.model.response.TmsBaseResponse;
+import com.doumee.core.tms.model.response.TmsLockStatusQueryResponse;
 import com.doumee.core.utils.*;
 import com.doumee.dao.business.*;
 import com.doumee.dao.business.join.PlatformJobJoinMapper;
@@ -34,6 +37,7 @@
 import com.doumee.service.business.impl.hksync.HkSyncPushServiceImpl;
 import com.doumee.service.business.impl.thrid.WmsServiceImpl;
 import com.doumee.service.business.third.EmayService;
+import com.doumee.service.business.third.TmsService;
 import com.doumee.service.business.third.WmsService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import lombok.extern.slf4j.Slf4j;
@@ -63,6 +67,8 @@
 
     @Autowired
     private PlatformJobMapper platformJobMapper;
+    @Autowired
+    private TmsService tmsService;
 
     @Autowired
     private PlatformDeviceMapper platformDeviceMapper;
@@ -336,7 +342,7 @@
                                  " ( " +
                                          " ( t.`STATUS` = "+Constants.PlatformJobStatus.WAIT_CALL.getKey()+" and t.PLATFORM_GROUP_ID = ( SELECT p.group_id FROM platform p WHERE p.id = "+pageWrap.getModel().getPlatformId()+" LIMIT 1 )  )" +
                                          " or  " +
-                                         " (t.`STATUS` = "+Constants.PlatformJobStatus.IN_WAIT.getKey()+" and t.PLATFORM_ID = "+pageWrap.getModel().getPlatformId()+" )" +
+                                         " (t.`STATUS` = "+Constants.PlatformJobStatus.IN_WAIT.getKey()+" and t.PLATFORM_GROUP_ID = ( SELECT p.group_id FROM platform p WHERE p.id = "+pageWrap.getModel().getPlatformId()+" LIMIT 1 )  )" +
                                          " or " +
                                          "  (t.`STATUS` = "+Constants.PlatformJobStatus.TRANSFERING.getKey()+" and t.PLATFORM_ID = "+pageWrap.getModel().getPlatformId()+" )  " +
                                          ") "
@@ -1176,7 +1182,7 @@
         );
 
         platformJob.setPlatformName(platform.getName());
-        this.broadcastAndLEed(platformJob, StringUtils.isBlank(oldPlatform.getRemark())?Constants.PlatformLedContent.IDEL_CONTNET.getName():oldPlatform.getLedContent(),
+        this.broadcastAndLEed(platformJob, StringUtils.isBlank(oldPlatform.getLedContent())?Constants.PlatformLedContent.IDEL_CONTNET.getName():oldPlatform.getLedContent(),
                 null
         );
 
@@ -1257,6 +1263,12 @@
                 emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
                 SmsConstants.platformJobContent.platformJobError,platform.getName(),null
         );
+
+        platformJob.setPlatformName(platform.getName());
+        this.broadcastAndLEed(platformJob, StringUtils.isBlank(platform.getLedContent())?Constants.PlatformLedContent.IDEL_CONTNET.getName():platform.getLedContent(),
+                null
+        );
+
     }
 
 
@@ -1347,23 +1359,50 @@
         savePlatformLog(Constants.PlatformJobLogType.DONE.getKey(),oldPlatformJob,platformJob ,
                 Constants.PlatformJobLogType.DONE.getInfo());
 
-        if(Constants.equalsInteger(platformJob.getType(),Constants.TWO)){
-            //TODO 澶栧崗杞﹁璐� 鏌ヨTMS 鐢靛瓙閿佹儏鍐�
+        if(Constants.equalsInteger(platformJob.getType(),Constants.THREE)){
+            // 澶栧崗杞﹁璐� 鏌ヨTMS 鐢靛瓙閿佹儏鍐�
+            List<PlatformWmsDetail> details = platformWmsDetailMapper.selectList(new QueryWrapper<PlatformWmsDetail>().lambda()
+                    .eq(PlatformWmsDetail::getJobId,platformJob.getId())
+                    .eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO)
+            );
+            if(details!=null && details.size()>0){
+                Date date = new Date();
+                List<String> codeList =new ArrayList<>();
+                for(PlatformWmsDetail d : details){
+                    codeList.add(d.getIocode());
+                }
+                TmsLockStatusQueryRequest tmsLock = new TmsLockStatusQueryRequest();
+                tmsLock.setContractNumbers(codeList);
+                TmsBaseResponse<List<TmsLockStatusQueryResponse>>  lockResult =  tmsService.lockStatusQuery(tmsLock);
+                if(lockResult!=null && lockResult.isSuccess()&& lockResult.getData()!=null ){
+                     for(TmsLockStatusQueryResponse s : lockResult.getData()){
+                         platformWmsDetailMapper.update(null,new UpdateWrapper<PlatformWmsDetail>().lambda()
+                                 .eq(PlatformWmsDetail::getIocode,s.getContractNumber())
+                                 .set(PlatformWmsDetail::getEditDate,date)
+                                 .set(PlatformWmsDetail::getLockDate,s.getOutDate())
+                                 .set(PlatformWmsDetail::getLockStatus,Constants.ONE)
+                                 .eq(PlatformWmsDetail::getJobId,platformJob.getId())
+                                 .eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO));
+                     }
+                }
+            }
 
         }else if(Constants.equalsInteger(platformJob.getType(),Constants.ONE) || Constants.equalsInteger(platformJob.getType(),Constants.FOUR)){
             //TODO 澶栧崗杞﹀嵏璐� 鎴栬�� 甯傚叕鍙歌溅鍗歌揣 鍒欐牴鎹换鍔℃儏鍐�
 
         }
- 
+
+
+
+
         //鍙戦�佺煭淇′俊鎭�
         SmsEmailServiceImpl.sendPlatformJobSms(systemDictDataBiz,
                 emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
                 SmsConstants.platformJobContent.platformJobFinish,platform.getName(),null
         );
-
         //骞挎挱 led閫氱煡
         platformJob.setPlatformName(platform.getName());
-        this.broadcastAndLEed(platformJob,null,
+        this.broadcastAndLEed(platformJob,Constants.PlatformLedContent.DONE.getInfo(),
                 Constants.PlatformBroadcastContent.DONE.getInfo());
         return platformJob;
     }
@@ -1637,7 +1676,6 @@
                 .selectAs(PlatformWmsJob::getCarrierName,PlatformJob::getCarrierName)
                 .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
                 .leftJoin(PlatformWmsJob.class,PlatformWmsJob::getJobId,PlatformJob::getId)
-                .eq(PlatformJob::getPlatformId,platformId)
                 .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                 .in(PlatformJob::getStatus,
                         Constants.PlatformJobStatus.WAIT_CALL.getKey(),
@@ -1645,9 +1683,9 @@
                         Constants.PlatformJobStatus.CALLED.getKey(),
                         Constants.PlatformJobStatus.WORKING.getKey(),
                         Constants.PlatformJobStatus.EXCEPTION.getKey(),
-                        Constants.PlatformJobStatus.OVER_NUMBER.getKey()
+                        Constants.PlatformJobStatus.OVER_NUMBER.getKey(),
+                        Constants.PlatformJobStatus.TRANSFERING.getKey()
                 )
-                .like(PlatformJob::getArriveDate, DateUtil.getCurrDate())
                 .orderByDesc(PlatformJob::getId)
         );
         for (PlatformJob platformJob:platformJobList) {
@@ -2049,4 +2087,6 @@
     }
 
 
+
+
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java
index c75617b..a8a7570 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.annotation.excel.ExcelImporter;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
 import com.doumee.core.model.LoginUserInfo;
@@ -8,8 +9,13 @@
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.DateUtil;
+import com.doumee.core.utils.ScientificNotationTUtil;
 import com.doumee.core.utils.Utils;
+import com.doumee.dao.admin.request.MemberImport;
+import com.doumee.dao.admin.request.PlatformGasImport;
 import com.doumee.dao.business.PlatformWaterGasMapper;
+import com.doumee.dao.business.model.Company;
+import com.doumee.dao.business.model.Member;
 import com.doumee.dao.business.model.PlatformReason;
 import com.doumee.dao.business.model.PlatformWaterGas;
 import com.doumee.dao.openapi.request.GasByMonthRequest;
@@ -22,12 +28,16 @@
 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.wrapper.MPJLambdaWrapper;
 import org.apache.commons.lang3.StringUtils;
 import org.checkerframework.checker.units.qual.C;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.multipart.MultipartFile;
 
 import java.math.BigDecimal;
 import java.util.*;
@@ -329,5 +339,70 @@
 
 
 
+    @Autowired
+    private RedisTemplate<String, Object> redisTemplate;
+
+    @Override
+    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+    public String importBatch(MultipartFile file, LoginUserInfo loginUserInfo){
+        try {
+            ExcelImporter ie = null;
+            List<PlatformGasImport> dataList =null;
+            try {
+                ie = new ExcelImporter(file,0,0);
+                dataList = ie.getDataList(PlatformGasImport.class,null);
+            }  catch (Exception e) {
+                e.printStackTrace();
+            }
+            if(dataList == null || dataList.size() ==0){
+                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝褰曞叆鏁版嵁涓虹┖锛�");
+            }
+            List<PlatformWaterGas> newList = new ArrayList<>();
+            for(int i=0;i<dataList.size();i++){
+                PlatformGasImport model = dataList.get(i);
+                if(Objects.isNull(model.getTimeInfo())
+                || StringUtils.isBlank(model.getCarCode())
+                || StringUtils.isBlank(model.getNum()) ){
+                    throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+i+2+"琛屾暟鎹弬鏁伴敊璇紒");
+                }
+                PlatformWaterGas platformWaterGas = new PlatformWaterGas();
+                try {
+                    BigDecimal num = new BigDecimal(model.getNum());
+                    platformWaterGas.setNum(num);
+                }catch (Exception e){
+                    throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+i+2+"琛屾暟閲忛敊璇紒");
+                }
+                if( platformWaterGasMapper.selectCount(new QueryWrapper<PlatformWaterGas>().lambda()
+                        .eq(PlatformWaterGas::getIsdeleted, Constants.ZERO)
+                        .apply("to_days(time_info) = to_days('"+ DateUtil.getPlusTime2(model.getTimeInfo()) +"')")
+                        .eq(PlatformWaterGas::getType,Constants.TWO)
+                        .eq(PlatformWaterGas::getCarCode,model.getCarCode()))>0){
+                    throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇"+DateUtil.getPlusTime2(model.getTimeInfo())+"]鏁版嵁宸插瓨鍦紝璇峰嬁閲嶆柊褰曞叆锛屽彲浠ュ皾璇曟悳绱㈠悗杩涜鏁版嵁淇敼锛�");
+                }
+
+                platformWaterGas.setTimeInfo(model.getTimeInfo());
+                platformWaterGas.setCarCode(model.getCarCode());
+                platformWaterGas.setContent(model.getContent());
+                platformWaterGas.setIsdeleted(Constants.ZERO);
+                platformWaterGas.setType(Constants.TWO);
+                platformWaterGas.setCreator(loginUserInfo.getId());
+                platformWaterGas.setCreateDate(new Date());
+                platformWaterGas.setEditDate(platformWaterGas.getCreateDate());
+                platformWaterGas.setEditor(platformWaterGas.getCreator());
+                newList.add(platformWaterGas);
+            }
+            if(newList == null || newList.size() ==0){
+                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝褰曞叆鏈夋晥鏁版嵁涓虹┖锛�");
+            }
+            platformWaterGasMapper.insert(newList);
+            return "瀵煎叆鎴愬姛";
+        }catch (BusinessException e){
+            throw e;
+        }catch (Exception e){
+            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"淇℃伅瀵煎叆澶辫触锛岃绋嶅悗閲嶈瘯");
+        }finally {
+            redisTemplate.delete(Constants.RedisKeys.IMPORTING_MEMBER);
+        }
+    }
 
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
index 512150d..c04756c 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
@@ -277,7 +277,7 @@
                 if(Objects.nonNull(visits)){
                     if(objCode.equals(SmsConstants.visitContent.visitAuditSuccess)){
                         //鎮ㄧ殑銆愯瀹㈢敵璇枫�戝凡缁忓鎵归�氳繃锛岃浜巤棰勭害鍏ュ洯寮�濮嬫椂闂磢鍓嶅線闂ㄥ崼瀹よ瀹㈡満绛惧埌鍏ュ洯锛屽鏈夌枒闂紝璇疯仈绯昏璁夸汉
-                        content = content.replace("{棰勭害鍏ュ洯寮�濮嬫椂闂磢",DateUtil.getDate(visits.getStarttime(),"yyyy-MM-dd HH:mm"));
+                        content = content.replace("{棰勭害鍏ュ洯寮�濮嬫椂闂磢",DateUtil.getFomartDate(visits.getStarttime(),"yyyy-MM-dd HH:mm"));
                         sendBusinessSms(emayService,smsEmailMapper,
                                 Arrays.asList(visits.getPhone().split(",")),SmsConstants.visit,content,visits.getId());
                     }else if(objCode.equals(SmsConstants.visitContent.visitAuditFail)){
@@ -287,7 +287,7 @@
                                 Arrays.asList(visits.getPhone().split(",")),SmsConstants.visit,content,visits.getId());
                     }else if(objCode.equals(SmsConstants.visitContent.visitTimeOutSignOut)){
                         //鎮ㄧ殑銆愯瀹㈢敵璇枫�戝凡浜巤鍒版湡鏃堕棿}鍒版湡锛岃鍙婃椂绂诲満骞跺墠寰�闂ㄥ崼瀹よ瀹㈡満绛剧锛屽鏈夌枒闂紝璇疯仈绯昏璁夸汉
-                        content = content.replace("{鍒版湡鏃堕棿}",DateUtil.getDate(visits.getEndtime(),"yyyy-MM-dd HH:mm"));
+                        content = content.replace("{鍒版湡鏃堕棿}",DateUtil.getFomartDate(visits.getEndtime(),"yyyy-MM-dd HH:mm"));
                         sendBusinessSms(emayService,smsEmailMapper,
                                 Arrays.asList(visits.getPhone().split(",")),SmsConstants.visit,content,visits.getId());
                     }else if(objCode.equals(SmsConstants.visitContent.visitTimeOutSignOutNum)) {
@@ -331,7 +331,7 @@
                 if(Objects.nonNull(visits)){
                     if(objCode.equals(SmsConstants.visitReportingContent.visitReportingAuditSuccess)){
                         // 鎮ㄧ殑銆愯瀹㈡姤澶囥�戝凡缁忓鎵归�氳繃锛岃閫氱煡璁垮浜巤棰勭害鍏ュ洯寮�濮嬫椂闂磢鍚庝箻鍧恵杞︾墝鍙穧鍏ュ洯锛屽鏈夌枒闂紝璇疯仈绯昏璁夸汉銆�
-                        content = content.replace("{棰勭害鍏ュ洯寮�濮嬫椂闂磢",DateUtil.getDate(visits.getStarttime(),"yyyy-MM-dd HH:mm"))
+                        content = content.replace("{棰勭害鍏ュ洯寮�濮嬫椂闂磢",DateUtil.getFomartDate(visits.getStarttime(),"yyyy-MM-dd HH:mm"))
                                 .replace("{杞︾墝鍙穧",visits.getCarNos());
                         sendBusinessSms(emayService,smsEmailMapper,
                                 Arrays.asList(visits.getPhone().split(",")),SmsConstants.visitReport,content,visits.getId());
@@ -342,7 +342,7 @@
                                 Arrays.asList(visits.getPhone().split(",")),SmsConstants.visitReport,content,visits.getId());
                     }else if(objCode.equals(SmsConstants.visitReportingContent.visitReportingTimeOutSignOut)){
                         //鎮ㄧ殑銆愯瀹㈡姤澶囥�戝凡浜巤棰勭害鍏ュ洯缁撴潫鏃堕棿}鍒版湡锛岃鍙婃椂绂诲満锛屽鏈夌枒闂紝璇疯仈绯昏璁夸汉
-                        content = content.replace("{棰勭害鍏ュ洯缁撴潫鏃堕棿}",DateUtil.getDate(visits.getEndtime(),"yyyy-MM-dd HH:mm"));
+                        content = content.replace("{棰勭害鍏ュ洯缁撴潫鏃堕棿}",DateUtil.getFomartDate(visits.getEndtime(),"yyyy-MM-dd HH:mm"));
                         sendBusinessSms(emayService,smsEmailMapper,
                                 Arrays.asList(visits.getPhone().split(",")),SmsConstants.visitReport,content,visits.getId());
                     }else if(objCode.equals(SmsConstants.visitReportingContent.visitReportingTimeOutSignOutNum)) {
@@ -420,7 +420,7 @@
                 if(Objects.nonNull(carUseBook)){
                     if(objCode.equals(SmsConstants.carUseBookContent.carUseBookAuditSuccess)){
                         //鎮ㄧ殑銆愮敤杞︾敵璇枫�戝凡缁忓鎵归�氳繃锛屽嚭鍙戞椂闂翠负{鎻愪氦鐨勫嚭鍙戞椂闂磢锛岃鎸夋椂鐢ㄨ溅銆傚鐢ㄨ溅璁″垝鏈夊彉锛岃鍙婃椂鑱旂郴娲捐溅鍛樸��
-                        content = content.replace("{鎻愪氦鐨勫嚭鍙戞椂闂磢",DateUtil.getDate(carUseBook.getStartTime(),"yyyy-MM-dd HH:mm"));
+                        content = content.replace("{鎻愪氦鐨勫嚭鍙戞椂闂磢",DateUtil.getFomartDate(carUseBook.getStartTime(),"yyyy-MM-dd HH:mm"));
                     }else if(objCode.equals(SmsConstants.carUseBookContent.carUseBookAuditFail) || objCode.equals(SmsConstants.carUseBookContent.carUseBookCancel)){
                         //鎮ㄧ殑銆愮敤杞︾敵璇枫�戝凡琚┏鍥烇紝椹冲洖鍘熷洜涓猴細{椹冲洖鍘熷洜}銆傚鏈夌枒闂紝璇疯仈绯绘淳杞﹀憳銆�
                         content = content.replace("{椹冲洖鍘熷洜}",msg);
@@ -460,7 +460,7 @@
                 if(Objects.nonNull(platformBooks)){
                     if(objCode.equals(SmsConstants.platformBookContent.platformBookAuditSuccess)){
                         //鎮ㄧ殑銆愯溅杈嗗叆鍥敵璇枫�戝凡缁忓鎵归�氳繃锛屽叆鍥椂闂翠负{鍏ュ洯鏃堕棿}锛岃鎻愬墠30鍒嗛挓鍓嶅線鐜板満绛惧埌銆傚璁″垝鏈夊彉锛岃鍙婃椂鑱旂郴瀹℃牳浜哄憳銆�
-                        content = content.replace("{鍏ュ洯鏃堕棿}",DateUtil.getDate(platformBooks.getArriveDate(),"yyyy-MM-dd HH:mm"));
+                        content = content.replace("{鍏ュ洯鏃堕棿}",DateUtil.getFomartDate(platformBooks.getArriveDate(),"yyyy-MM-dd HH:mm"));
                         sendBusinessSms(emayService,smsEmailMapper,
                                 Arrays.asList(platformBooks.getDriverPhone().split(",")),SmsConstants.platformBook,content,platformBooks.getId());
                     }else if(objCode.equals(SmsConstants.platformBookContent.platformBookAuditFail) || objCode.equals(SmsConstants.platformBookContent.platformBookCancel)){
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 3098750..cad0a48 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
@@ -24,10 +24,7 @@
 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.DESUtil;
-import com.doumee.core.utils.DateUtil;
-import com.doumee.core.utils.Utils;
+import com.doumee.core.utils.*;
 import com.doumee.core.wx.wxPlat.WxPlatNotice;
 import com.doumee.dao.admin.response.InterestedListVO;
 import com.doumee.dao.admin.response.PCWorkPlatformDataVO;
@@ -58,6 +55,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.doumee.service.business.impl.hksync.HkSyncVisitServiceImpl;
+import com.doumee.service.business.third.EmayService;
 import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import io.swagger.models.auth.In;
@@ -78,6 +76,7 @@
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.*;
+import java.util.Date;
 import java.util.stream.Collectors;
 
 /**
@@ -132,6 +131,15 @@
     private NoticesJoinMapper noticesJoinMapper;
     @Autowired
     private InoutDayCountMapper inoutDayCountMapper;
+
+    @Autowired
+    private SmsConfigMapper smsConfigMapper;
+
+    @Autowired
+    private SmsEmailMapper smsEmailMapper;
+
+    @Autowired
+    private EmayService emayService;
 
     @Override
     public Integer create(Visits visits) {
@@ -1677,13 +1685,41 @@
             }else{
                 pcWorkPlatformDataVO.setTimeOutVisitList(result);
             }
+        }
+        return pcWorkPlatformDataVO;
+    }
 
 
+    @Override
+    public void syncTimeOutData(){
+        String times = systemDictDataBiz.queryByCode(Constants.VISIT_CONFIG,Constants.TIME_OUT_CONFIG).getCode();
+        List<Visits> visitsList = visitsMapper.selectList(new QueryWrapper<Visits>().lambda()
+                .eq(Visits::getStatus,Constants.VisitStatus.signin)
+                .eq(Visits::getSendTimeOutNotice,Constants.ZERO)
+                .apply("   now() >=  DATE_ADD(ENDTIME,INTERVAL -"+times+" MINUTE)   ")
+        );
+        for (Visits visits:visitsList) {
+            if(Constants.equalsInteger(visits.getType(),Constants.TWO)){
+                SmsEmailServiceImpl.sendVisitReportSms(systemDictDataBiz,
+                        emayService,smsEmailMapper,smsConfigMapper,visitsMapper,visits.getId(),
+                        SmsConstants.visitReportingContent.visitReportingTimeOutSignOut,
+                        null,Arrays.asList(visits.getPhone().split(","))
+                );
+            }else{
+                SmsEmailServiceImpl.sendVisitSms(systemDictDataBiz,
+                        emayService,smsEmailMapper,smsConfigMapper,visitsMapper,visits.getId(),
+                        SmsConstants.visitContent.visitTimeOutSignOut,
+                        null,Arrays.asList(visits.getPhone().split(","))
+                );
+            }
+            visits.setSendTimeOutNotice(Constants.ONE);
+            visitsMapper.updateById(visits);
         }
 
 
 
 
-        return pcWorkPlatformDataVO;
     }
+
+
 }
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 cc37400..ebad326 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
@@ -27,6 +27,7 @@
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
+import org.checkerframework.checker.units.qual.C;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -1023,6 +1024,7 @@
                 PlatformJob job = platformJobMapper.selectJoinOne(PlatformJob.class, new MPJLambdaWrapper<PlatformJob>()
                         .selectAll(PlatformJob.class)
                         .selectAs(Platform::getName,PlatformJob::getPlatformName)
+                        .selectAs(Platform::getLedContent,PlatformJob::getLedContent)
                         .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
 //                        .eq(StringUtils.equals(status.getStockStatus(),"front"),PlatformJob::getCarCodeFront,status.getPlateNo() )//鍓嶈溅鐗屽彿
 //                        .eq(!StringUtils.equals(status.getStockStatus(),"front"),PlatformJob::getCarCodeBack,status.getPlateNo() )//鍚庤溅鐗屽彿
@@ -1054,15 +1056,21 @@
                     update.setStatus(Constants.PlatformJobStatus.DONE.getKey());//浣滀笟宸插畬鎴�
                     update.setDoneDate(update.getEditDate());*/
                     if(Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.DONE.getKey()) ||
+                            Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.TRANSFERING.getKey()) ||
+                            Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.EXCEPTION.getKey()) ||
                             Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())){
                         if(((StringUtils.equals(status.getStockStatus(),"front") && StringUtils.equals(job.getCarCodeFront(),status.getPlateNo()))
                                 ||(!StringUtils.equals(status.getStockStatus(),"front") && StringUtils.equals(job.getCarCodeBack(),status.getPlateNo()))
                         )){
                             //璇存槑杞﹁締杩涢敊鏈堝彴 鎴栬�呰繕鏈彨鍙风姸鎬侊紝鍙戣捣璀﹀憡
 //                          dealCarsInErrorPlatformBiz(job,status);
-                            update.setInOut(Constants.ZERO);//杞﹁締宸茬粡绂诲紑
-                            platformJobMapper.updateById(update);
-                        }
+                            if(Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.DONE.getKey())  ||
+                                    Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())){
+                                update.setInOut(Constants.ZERO);//杞﹁締宸茬粡绂诲紑
+                                platformJobMapper.updateById(update);
+                            }
+                            dealPlatformContentForLeave(job);
+                         }
                     }
                 }else  if(StringUtils.equals(status.getMotionStatus(),"enter")){
                     //濡傛灉鏄溅杈嗚繘鍏�
@@ -1078,7 +1086,8 @@
                             platformJobMapper.updateById(update);
                         }
                     }
-                    /*if(job.getStartDate() == null){
+                    /*
+                    if(job.getStartDate() == null){
                         update.setStartDate(update.getEditDate());
                     }
                     update.setStatus(Constants.PlatformJobStatus.WORKING.getKey());//寮�濮嬩綔涓�
@@ -1104,6 +1113,37 @@
         return  null;
     }
 
+    /**
+     * 鏈堝彴杞﹁締绂诲紑 璁剧疆鏈堝彴鏂囨涓衡�滅┖闂蹭腑 鏂囨鈥�
+     * @param model
+     */
+    private void dealPlatformContentForLeave(PlatformJob model) {
+        List<PlatformDevice> deviceList = platformDeviceMapper.selectList(new QueryWrapper<PlatformDevice>().lambda()
+                .eq(PlatformDevice::getType, Constants.ZERO)
+                .eq(PlatformDevice::getPlatformId,model.getPlatformId())
+                .eq(PlatformDevice::getIsdeleted,Constants.ZERO));
+        if(deviceList ==null || deviceList.size() == 0){
+            return;
+        }
+        int speed = 13;
+        try {
+            speed = Integer.parseInt(systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.LED_CONTENT_SPEED).getCode());
+        }catch (Exception e){
+        }
+        String content = StringUtils.defaultString(model.getLedContent(), Constants.PlatformLedContent.IDEL_CONTNET.getInfo());
+        List<PlatformBroadcastLog> logList = new ArrayList<>();
+        for(PlatformDevice device : deviceList){
+            if(StringUtils.isBlank(device.getHkId())){
+                continue;
+            }
+            PlatformBroadcastLog log = dealLedContentBiz(model.getId(),device.getHkNo(),device.getName(),content,speed,1);
+            logList.add(log);
+        }
+        if(logList.size()>0){
+            platformBroadcastLogMapper.insert(logList);
+        }
+    }
+
     private PlatformEvent initPlatformEventModel(EventPlatformCarsInfoRequest request, EventPlatformCarsDataRequest data, EventPlatformCarsStatusInfoRequest status) {
         PlatformEvent model = new PlatformEvent();
         model.setCreateDate(new Date());
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java
index a4defe8..9a98862 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java
@@ -67,7 +67,7 @@
         String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
                 +systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_LOCK_STATUS_URL).getCode();
 
-        TmsBaseResponse<List<TmsLockStatusQueryResponse>> response = sendHttpRequest(url,"鐢靛瓙閿佷笂閿佹椂闂存帴鍙�",JSONObject.toJSONString(param)
+        TmsBaseResponse<List<TmsLockStatusQueryResponse>> response = sendHttpRequest(url,"銆怲MS銆戠數瀛愰攣涓婇攣鏃堕棿鎺ュ彛",JSONObject.toJSONString(param)
                 ,new TypeReference< TmsBaseResponse<List<TmsLockStatusQueryResponse>>>(){});
         return  response;
     }

--
Gitblit v1.9.3