From 9ffe50c41999fee1c47bfd5d525b6141c4d22b7a Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期五, 24 一月 2025 15:54:51 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit

---
 server/system_service/src/main/java/com/doumee/service/business/third/model/response/TmsOrderInfoResponse.java     |    2 
 server/system_service/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java                                        |    9 +
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKCarOpenService.java                  |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java          |   37 +++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDangerLog.java                     |    4 
 admin/src/views/statistics/platformStatic.vue                                                                      |   36 +++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java           |   30 ++---
 admin/src/views/vehicle/cars.vue                                                                                   |    4 
 server/system_gateway/src/main/java/com/doumee/config/GlobalFilterConfig.java                                      |    2 
 server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java                     |   35 +++++-
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/HiddenDangerService.java                   |    2 
 admin/src/views/platform/LogisticsRecord/operation.vue                                                             |   12 +-
 server/system_service/src/main/java/com/doumee/service/business/third/model/response/TmsOrderDetailVOResponse.java |   21 ++++
 admin/.env.development                                                                                             |    6 
 admin/src/views/business/smsEmail.vue                                                                              |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Platform.java                            |    1 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java                         |   31 +++--
 admin/src/views/system/loginLog.vue                                                                                |    6 
 admin/src/views/platform/LogisticsRecord/operationCity.vue                                                         |    4 
 server/system_gateway/src/main/resources/bootstrap.yml                                                             |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java             |    9 +
 server/system_gateway/src/main/java/com/doumee/config/CustomWebFilterConfig.java                                   |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java           |   15 ++-
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerCloudController.java                  |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java                |    1 
 25 files changed, 213 insertions(+), 69 deletions(-)

diff --git a/admin/.env.development b/admin/.env.development
index 15fe399..b6d03dd 100644
--- a/admin/.env.development
+++ b/admin/.env.development
@@ -2,7 +2,7 @@
 NODE_ENV = 'development'
 
 # VUE_APP_API_URL  = 'https://atwl.ahzyssl.com/zhyq_interface'
- # VUE_APP_API_URL  = 'http://localhost:10010'
-# VUE_APP_API_URL  = 'http://192.168.0.173/gateway_interface'
-VUE_APP_API_URL  = 'http://10.50.250.253:8088/gateway_interface'
+#  VUE_APP_API_URL  = 'http://localhost:10010'
+VUE_APP_API_URL  = 'https://atwl.ahzyssl.com/zhyq_interface'
+#  #VUE_APP_API_URL  = 'http://10.50.250.253:8088/gateway_interface'
 
diff --git a/admin/src/views/business/smsEmail.vue b/admin/src/views/business/smsEmail.vue
index 7ff336a..369cfdd 100644
--- a/admin/src/views/business/smsEmail.vue
+++ b/admin/src/views/business/smsEmail.vue
@@ -5,13 +5,13 @@
       <el-form-item label="" prop="phone">
         <el-input v-model="searchForm.phone" 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" @keypress.enter.native="search" clearable placeholder="绫诲瀷">
           <el-option label="鐭俊" value="0"></el-option>
           <el-option label="閭" value="1"></el-option>
           <el-option label="寰俊鍏紬鍙烽�氱煡" value="2"></el-option>
         </el-select>
-      </el-form-item>
+      </el-form-item>-->
       <el-form-item label="" prop="objType">
         <el-select v-model="searchForm.objType" @keypress.enter.native="search" clearable placeholder="涓氬姟绫诲瀷">
           <el-option label="楠岃瘉鐮�" value="0"></el-option>
diff --git a/admin/src/views/platform/LogisticsRecord/operation.vue b/admin/src/views/platform/LogisticsRecord/operation.vue
index 2fe8765..ebb64e6 100644
--- a/admin/src/views/platform/LogisticsRecord/operation.vue
+++ b/admin/src/views/platform/LogisticsRecord/operation.vue
@@ -32,6 +32,7 @@
       <el-table-column prop="doneDate" label="浣滀笟瀹屾垚鏃堕棿" min-width="150" show-overflow-tooltip />
       <el-table-column prop="workTime" label="浣滀笟鏃堕暱" min-width="100" show-overflow-tooltip />
       <el-table-column prop="platformNames" label="鍙彿鏈堝彴" min-width="100" show-overflow-tooltip />
+      <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" min-width="150" show-overflow-tooltip />
       <el-table-column label="浣滀笟鎯呭喌" fixed="right" min-width="100" show-overflow-tooltip>
         <template v-slot="scope">
           <span>{{ statusMap[scope.row.status] }}</span>
@@ -84,7 +85,7 @@
       queryFormConfig: {
         formItems: [
         {
-            filed: 'code',
+            filed: 'billCode',
             type: 'input',
             label: '杩愬崟鍙�'
           },
@@ -107,7 +108,7 @@
           {
             type: 'slot',
             filed: 'fastdate',
-            label: ''
+            label: '浣滀笟鏃堕棿'
           }
         ],
         online: true
@@ -137,9 +138,10 @@
         model: {
           ...filters,
           jobType: '0',
-          beginWorkDateStart: filters.selDate && filters.selDate.length > 0 ? filters.selDate[0] : null,
-          beginWorkDateEnd: filters.selDate && filters.selDate.length > 0 ? filters.selDate[1] : null,
+          createDateStart: filters.selDate && filters.selDate.length > 0 ? filters.selDate[0] : null,
+          createDateEnd: filters.selDate && filters.selDate.length > 0 ? filters.selDate[1] : null,
         },
+        sorts: [{ direction: 'DESC', property: 'create_date' }],
         capacity: pagination.pageSize,
         page: page || pagination.page,
       }).then(res => {
@@ -215,4 +217,4 @@
   color: #000000;
   margin-bottom: 15px;
 }
-</style>
\ No newline at end of file
+</style>
diff --git a/admin/src/views/platform/LogisticsRecord/operationCity.vue b/admin/src/views/platform/LogisticsRecord/operationCity.vue
index 02f782d..86465e4 100644
--- a/admin/src/views/platform/LogisticsRecord/operationCity.vue
+++ b/admin/src/views/platform/LogisticsRecord/operationCity.vue
@@ -31,6 +31,7 @@
       <el-table-column prop="doneDate" label="浣滀笟瀹屾垚鏃堕棿" min-width="150" show-overflow-tooltip />
       <el-table-column prop="workTime" label="浣滀笟鏃堕暱" min-width="100" show-overflow-tooltip />
       <el-table-column prop="platformName" label="鍙彿鏈堝彴" min-width="100" show-overflow-tooltip />
+      <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" min-width="150" show-overflow-tooltip />
       <el-table-column label="浣滀笟鎯呭喌" fixed="right" min-width="100" show-overflow-tooltip>
         <template v-slot="scope">
           <span>{{ statusMap[scope.row.status] }}</span>
@@ -139,6 +140,7 @@
           beginWorkDateStart: filters.selDate && filters.selDate.length > 0 ? filters.selDate[0] : null,
           beginWorkDateEnd: filters.selDate && filters.selDate.length > 0 ? filters.selDate[1] : null,
         },
+        sorts: [{ direction: 'DESC', property: 'create_date' }],
         capacity: pagination.pageSize,
         page: page || pagination.page,
       }).then(res => {
@@ -214,4 +216,4 @@
   color: #000000;
   margin-bottom: 15px;
 }
-</style>
\ No newline at end of file
+</style>
diff --git a/admin/src/views/statistics/platformStatic.vue b/admin/src/views/statistics/platformStatic.vue
index 520748a..598b986 100644
--- a/admin/src/views/statistics/platformStatic.vue
+++ b/admin/src/views/statistics/platformStatic.vue
@@ -16,6 +16,12 @@
       <el-table-column prop="workCountTime" label="宸ヤ綔鏃堕暱" min-width="100" show-overflow-tooltip />
       <el-table-column prop="useRata" label="鏈堝彴浣跨敤鐜�" min-width="100" show-overflow-tooltip />
     </el-table>
+    <div v-if="this.list" style="width: 100%;display: flex;height: 50px;padding-top: 20px;font-size: 18px;color: red">
+      <div style="flex: 1;min-width: 100px"></div>
+      <div style="flex: 1;min-width: 100px;">鍚堣锛�</div>
+      <div style="flex: 1;min-width: 100px;"> <span style="font-weight: bold; ">{{totalStopCount}}</span>娆� </div>
+      <div style="flex: 2;min-width: 100px;"> <span style="font-weight: bold;">{{totalWorkTime.toFixed(2)}}</span>鏃�</div>
+    </div>
     <!-- <pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" /> -->
   </div>
 </template>
@@ -42,6 +48,8 @@
         fastdate: 0,
         selDate: []
       },
+      totalStopCount:0,
+      totalWorkTime:0,
       list: [],
       total: 0,
       queryFormConfig: {
@@ -79,6 +87,30 @@
     this.getGroupList()
   },
   methods: {
+    getSummaries(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        if (index === 0) {
+          sums[index] = '鍚堣';
+        } else {
+          const values = data.map(item => parseInt(item[column.property]));
+          if (!values.every(value => isNaN(value))) {
+            sums[index] = values.reduce((prev, curr) => {
+              const value = parseInt(curr);
+              if (!isNaN(value)) {
+                return prev + curr;
+              } else {
+                return prev;
+              }
+            }, 0);
+          } else {
+            sums[index] = '0';
+          }
+        }
+      });
+      return sums;
+    },
     changeRadio(day) {
       const arr = [dayjs().subtract(day, 'day').format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')]
       this.$set(this.filters, 'selDate', arr)
@@ -103,6 +135,8 @@
       })
     },
     getList(page) {
+      this.totalStopCount = 0
+      this.totalWorkTime = 0
       const { pagination, filters } = this
       this.loading = true
       platformWorkReportPage({
@@ -113,6 +147,8 @@
         this.loading = false
         this.list = res || []
         this.list.forEach(item => {
+          this.totalStopCount = this.totalStopCount + (item.stopCount || 0)
+          this.totalWorkTime = this.totalWorkTime + (item.workCountTime || 0)
           item.useRata = item.useRata + '%'
           item.workCountTime = item.workCountTime + '鏃�'
           // item.workTime = dayjs.duration(item.workTime, 'seconds').format('H鏃秏鍒唖绉�')
diff --git a/admin/src/views/system/loginLog.vue b/admin/src/views/system/loginLog.vue
index 617ddca..ff319ab 100644
--- a/admin/src/views/system/loginLog.vue
+++ b/admin/src/views/system/loginLog.vue
@@ -95,10 +95,10 @@
   filters: {
     // 鐧诲綍鐘舵��
     statusText (value) {
-      if (value) {
-        return '鐧诲綍鎴愬姛'
+      if (value != null && !value) {
+        return '鐧诲綍澶辫触'
       }
-      return '鐧诲綍澶辫触'
+      return '鐧诲綍鎴愬姛'
     }
   },
   methods: {
diff --git a/admin/src/views/vehicle/cars.vue b/admin/src/views/vehicle/cars.vue
index efd2bd9..5243461 100644
--- a/admin/src/views/vehicle/cars.vue
+++ b/admin/src/views/vehicle/cars.vue
@@ -54,7 +54,7 @@
       </ul>
       <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange">
         <el-table-column type="selection" width="55"></el-table-column>
-        <el-table-column prop="code" label="杞︾墝鍙�" min-width="100px"></el-table-column>
+        <el-table-column prop="code" label="杞︾墝鍙�"  fixed="left" min-width="100px"></el-table-column>
         <el-table-column prop="memberName" label="杞︿富濮撳悕" min-width="100px"></el-table-column>
         <el-table-column prop="memberPhone" label="杞︿富鎵嬫満鍙�" min-width="100px"></el-table-column>
         <el-table-column prop="catePName" label="涓�绾у垎绫�" min-width="120px"></el-table-column>
@@ -104,7 +104,7 @@
         <el-table-column prop="editDate" label="鎿嶄綔鏃堕棿" min-width="140px"></el-table-column>
         <el-table-column
           v-if="containPermissions(['business:member:update', 'business:member:delete', 'business:empower:create'])"
-          label="鎿嶄綔" min-width="200" align="center" fixed="right">
+          label="鎿嶄綔" min-width="200" align="center">
           <template slot-scope="{row}">
             <el-button type="text" icon="el-icon-edit" @click="handleEdit(row)"
               v-permissions="['business:cars:update']">缂栬緫</el-button>
diff --git a/server/system_gateway/src/main/java/com/doumee/config/CustomWebFilterConfig.java b/server/system_gateway/src/main/java/com/doumee/config/CustomWebFilterConfig.java
index bfd3b6f..9e34aa6 100644
--- a/server/system_gateway/src/main/java/com/doumee/config/CustomWebFilterConfig.java
+++ b/server/system_gateway/src/main/java/com/doumee/config/CustomWebFilterConfig.java
@@ -1,6 +1,7 @@
 package com.doumee.config;
 
 import com.doumee.config.GatewayFilterProperties;
+import com.doumee.config.jwt.JwtTokenUtil;
 import com.doumee.core.utils.Constants;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -25,7 +26,8 @@
     private RedisTemplate<String,Object> stringRedisTemplate;
     @Resource
     private GatewayFilterProperties notAuthUrlProperties;
-
+    @Resource
+    private JwtTokenUtil jwtTokenUtil;
     @Bean
     public WebFilter webFilter() {
         return (exchange, chain) -> {
@@ -40,6 +42,7 @@
                 if (StringUtils.isBlank(userInfo)) {
                     return unAuthorize(exchange);
                 }
+                jwtTokenUtil.refreshTokenTime(token,userInfo);
                 //鎶婃柊鐨� exchange鏀惧洖鍒拌繃婊ら摼
                 ServerHttpRequest request = exchange.getRequest().mutate().header(Constants.HEADER_USER_TOKEN, token).build();
                 ServerWebExchange newExchange = exchange.mutate().request(request).build();
diff --git a/server/system_gateway/src/main/java/com/doumee/config/GlobalFilterConfig.java b/server/system_gateway/src/main/java/com/doumee/config/GlobalFilterConfig.java
index 640b163..4234cb5 100644
--- a/server/system_gateway/src/main/java/com/doumee/config/GlobalFilterConfig.java
+++ b/server/system_gateway/src/main/java/com/doumee/config/GlobalFilterConfig.java
@@ -1,5 +1,6 @@
 package com.doumee.config;
 
+import com.doumee.config.jwt.JwtTokenUtil;
 import com.doumee.core.utils.Constants;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -70,7 +71,6 @@
         }
         return false;
     }
-
     // 杩斿洖鏈櫥褰曠殑鑷畾涔夐敊璇�
     private Mono<Void> unAuthorize(ServerWebExchange exchange) {
         // 璁剧疆閿欒鐘舵�佺爜涓�401
diff --git a/server/system_gateway/src/main/resources/bootstrap.yml b/server/system_gateway/src/main/resources/bootstrap.yml
index 7a7cd02..099da4a 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: self
+    active: pro
   application:
     name: system_gateway
   # 瀹夊叏閰嶇疆
diff --git a/server/system_service/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java b/server/system_service/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java
index 1f94820..ca998e5 100644
--- a/server/system_service/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java
+++ b/server/system_service/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java
@@ -234,4 +234,13 @@
         }
         return claims;
     }
+
+    /**
+     * 鍚戝悗寤朵几鏈夋晥鏈熶繚鎸佷細璇濈户缁�
+     * @param token
+     */
+
+    public void refreshTokenTime(String token,String usrerInfo) {
+        redisTemplate.opsForValue().set(Constants.REDIS_TOKEN_KEY+token,usrerInfo,jwtProperties.getExpiration(), TimeUnit.MILLISECONDS);
+    }
 }
\ No newline at end of file
diff --git a/server/system_service/src/main/java/com/doumee/service/business/third/model/response/TmsOrderDetailVOResponse.java b/server/system_service/src/main/java/com/doumee/service/business/third/model/response/TmsOrderDetailVOResponse.java
new file mode 100644
index 0000000..a5f5044
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/service/business/third/model/response/TmsOrderDetailVOResponse.java
@@ -0,0 +1,21 @@
+package com.doumee.service.business.third.model.response;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/11/23 14:03
+ */
+@Data
+@ApiModel("tms鍚堝悓璇︽儏鍝佽鏄庣粏杩斿洖鍙傛暟")
+public class TmsOrderDetailVOResponse {
+    @ApiModelProperty(value = "鍝佽鍚嶇О" )
+    private String     productName;//	瀛楃涓�	鍝佽鍚嶇О
+    @ApiModelProperty(value = "鏁伴噺(涓囨敮锛�" )
+    private BigDecimal pnumber;//	鏁板瓧	鏁伴噺
+
+}
diff --git a/server/system_service/src/main/java/com/doumee/service/business/third/model/response/TmsOrderInfoResponse.java b/server/system_service/src/main/java/com/doumee/service/business/third/model/response/TmsOrderInfoResponse.java
index 854e149..da6234f 100644
--- a/server/system_service/src/main/java/com/doumee/service/business/third/model/response/TmsOrderInfoResponse.java
+++ b/server/system_service/src/main/java/com/doumee/service/business/third/model/response/TmsOrderInfoResponse.java
@@ -52,6 +52,8 @@
     private Integer overStock	;
     @ApiModelProperty(value = "gis杞ㄨ抗缁忕含搴﹂泦鍚�" )
     private List<TmsGisListResponse> gisList;
+    @ApiModelProperty(value = "瑙勬牸鍟嗗搧鏄庣粏" )
+    private List<TmsOrderDetailVOResponse> orderDetailVOList;
     @ApiModelProperty(value = "鐢熷懡鍛ㄦ湡闆嗗悎" )
     private List<TmsCircleStatusResultListResponse> cicleStatusList;
 }
diff --git a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
index f0c5d38..0fdc117 100644
--- a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
+++ b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
@@ -155,9 +155,20 @@
                 throw e;
             }
         }
-        LoginUserInfo user = dealLoginByPwdNewBiz(dto.getUsername(),dto.getPassword(),null,dto.getOpenid(),request);
-        systemLoginLogService.create(loginLog);
-        return  user;
+        try {
+            LoginUserInfo user = dealLoginByPwdNewBiz(dto.getUsername(),dto.getPassword(),null,dto.getOpenid(),request);
+            systemLoginLogService.create(loginLog);
+            return  user;
+        }catch (BusinessException e){
+            loginLog.setSuccess(Boolean.FALSE);
+            systemLoginLogService.create(loginLog);
+            throw e;
+
+        }catch (Exception e){
+            loginLog.setSuccess(Boolean.FALSE);
+            systemLoginLogService.create(loginLog);
+            throw e;
+        }
     }
     @Override
     public LoginUserInfo loginH5 (LoginH5DTO dto, ServerHttpRequest request) {
@@ -191,6 +202,7 @@
             loginLog.setPlatform(Utils.User_Client.getPlatform(request));
             loginLog.setClientInfo(Utils.User_Client.getBrowser(request));
             loginLog.setOsInfo(Utils.User_Client.getOS(request));
+            loginLog.setSuccess(Boolean.TRUE);
         }
         loginLog.setServerIp(Utils.Server.getIP());
         return  loginLog;
@@ -200,9 +212,20 @@
     public LoginUserInfo loginH5ByPhone(LoginPhoneDTO dto, ServerHttpRequest request) {
         isCaptcheValide(dto.getPhone(),dto.getCode());//妫�鏌ラ獙璇佺爜
         SystemLoginLog loginLog = getInitLoginlog(dto.getPhone(),request);
-        LoginUserInfo userInfo = dealLoginByPwdNewBiz(null,null,dto.getPhone(),dto.getOpenid(), request );
-        systemLoginLogService.create(loginLog);
-        return userInfo;
+        try{
+            LoginUserInfo userInfo = dealLoginByPwdNewBiz(null,null,dto.getPhone(),dto.getOpenid(), request );
+            systemLoginLogService.create(loginLog);
+            return userInfo;
+        }catch (BusinessException e){
+            loginLog.setSuccess(Boolean.FALSE);
+            systemLoginLogService.create(loginLog);
+            throw e;
+
+        }catch (Exception e){
+            loginLog.setSuccess(Boolean.FALSE);
+            systemLoginLogService.create(loginLog);
+            throw e;
+        }
     }
     private LoginUserInfo dealLoginByPwdNewBiz(String username,String pwd, String phone, String openid, ServerHttpRequest request) {
         // 鏍规嵁鐢ㄦ埛鍚嶆煡璇㈢敤鎴峰璞�
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerCloudController.java
index 4aabab3..6861738 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerCloudController.java
@@ -51,7 +51,7 @@
     @GetMapping("/delete/{id}")
     @CloudRequiredPermission("business:hiddendanger:delete")
     public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
-        hiddenDangerService.deleteById(id);
+        hiddenDangerService.deleteById(id,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKCarOpenService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKCarOpenService.java
index e29c243..65f8086 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKCarOpenService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKCarOpenService.java
@@ -156,7 +156,7 @@
 			}
 		}
 		Collections.sort(list, (o1, o2) -> {
-			return (int) (o1.getTimeStamp() - o2.getTimeStamp()); //鎸夋暟閲忎粠澶у埌灏忔帓搴�
+			return (int) (o2.getTimeStamp() - o1.getTimeStamp()); //鎸夋椂闂村�掑簭
 		});
 		return list;
 	}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDangerLog.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDangerLog.java
index 1ff61b8..94daa26 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDangerLog.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDangerLog.java
@@ -63,8 +63,8 @@
     @ExcelColumn(name="绠�浠�")
     private String content;
 
-    @ApiModelProperty(value = "鎿嶄綔绫诲瀷 0鍙戣捣鐢宠 1杞氦 2閫�鍥� 3鍙栨秷 4鏁存敼澶勭悊", example = "1")
-    @ExcelColumn(name="鎿嶄綔绫诲瀷 0鍙戣捣鐢宠 1杞氦 2閫�鍥� 3鍙栨秷 4鏁存敼澶勭悊")
+    @ApiModelProperty(value = "鎿嶄綔绫诲瀷 0鍙戣捣鐢宠 1杞氦 2閫�鍥� 3鍙栨秷 4鏁存敼澶勭悊 5鍒犻櫎璁板綍", example = "1")
+    @ExcelColumn(name="鎿嶄綔绫诲瀷 0鍙戣捣鐢宠 1杞氦 2閫�鍥� 3鍙栨秷 4鏁存敼澶勭悊5鍒犻櫎璁板綍")
     private Integer objType;
 
     @ApiModelProperty(value = "鍏宠仈瀵硅薄缂栫爜")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Platform.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Platform.java
index 4d0e689..b52fa8d 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Platform.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Platform.java
@@ -145,6 +145,7 @@
     @ApiModelProperty(value = "瑙掑害", example = "1")
     @ExcelColumn(name="瑙掑害")
     private BigDecimal angle;
+
     @ApiModelProperty(value = "鏈堝彴浣滀笟鏁堢巼锛堜竾鏀�/灏忔椂锛�", example = "1")
     @ExcelColumn(name="鏈堝彴浣滀笟鏁堢巼锛堜竾鏀�/灏忔椂锛�")
     private BigDecimal workRate;
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 b62d1ba..8e07e9c 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
@@ -346,6 +346,14 @@
     @JsonFormat(pattern = "yyyy-MM-dd")
     @TableField(exist = false)
     private Date beginWorkDateStart;
+    @ApiModelProperty(value = "寮�濮嬫椂闂磋捣")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @TableField(exist = false)
+    private Date createDateStart;
+    @ApiModelProperty(value = "寮�濮嬫椂闂存")
+    @TableField(exist = false)
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createDateEnd;
 
     @ApiModelProperty(value = "寮�濮嬩綔涓氭椂闂存")
     @JsonFormat(pattern = "yyyy-MM-dd")
@@ -362,14 +370,6 @@
     @TableField(exist = false)
     private Date beginDoneDateEnd;
 
-
-    @ApiModelProperty(value = "鍒涘缓鏃堕棿璧�")
-    @TableField(exist = false)
-    private Date createDateStart;
-
-    @ApiModelProperty(value = "鍒涘缓鏃堕棿姝�")
-    @TableField(exist = false)
-    private Date createDateEnd;
 
     @ApiModelProperty(value = "鏈堝彴缁勫悕绉�")
     @TableField(exist = false)
@@ -415,18 +415,21 @@
 
     public void dealTime(){
         if(Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.WAIT_CONFIRM.getKey())
-                || Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey())
-         ){
+                || Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey()) ){
             return;
         }
         if(Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())){
-            this.setOptTime(this.getSignDate().getTime());
+            if(this.getSignDate()!=null)
+                this.setOptTime(this.getSignDate().getTime());
         }else if(Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.IN_WAIT.getKey())){
-            this.setOptTime(this.getInwaitDate().getTime());
+            if(this.getInwaitDate()!=null)
+                this.setOptTime(this.getInwaitDate().getTime());
         }else if(Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())){
-            this.setOptTime(this.getCallDate().getTime());
+            if(this.getCallDate()!=null)
+                this.setOptTime(this.getCallDate().getTime());
         }else if(Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){
-            this.setOptTime(this.getStartDate().getTime());
+            if(this.getStartDate()!=null)
+                this.setOptTime(this.getStartDate().getTime());
         }
     }
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/HiddenDangerService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/HiddenDangerService.java
index cb20f7d..bfd3bd5 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/HiddenDangerService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/HiddenDangerService.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business;
 
+import com.doumee.service.business.third.model.LoginUserInfo;
 import com.doumee.service.business.third.model.PageData;
 import com.doumee.service.business.third.model.PageWrap;
 import com.doumee.dao.business.model.HiddenDanger;
@@ -26,6 +27,7 @@
      * @param id 涓婚敭
      */
     void deleteById(Integer id);
+    void deleteById(Integer id, LoginUserInfo user);
 
     /**
      * 鍒犻櫎
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 7c3ed15..e12e744 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
@@ -239,6 +239,43 @@
     public void deleteById(Integer id) {
         hiddenDangerMapper.deleteById(id);
     }
+    @Override
+    public void deleteById(Integer id,LoginUserInfo user) {
+        if( Objects.isNull(id)   ){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        HiddenDanger model = hiddenDangerMapper.selectJoinOne(HiddenDanger.class,new MPJLambdaWrapper<HiddenDanger>()
+                .selectAll(HiddenDanger.class)
+                .selectAs(Member::getName,HiddenDanger::getCheckorName)
+                .leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId)
+                .eq(HiddenDanger::getId,id)
+                .eq(HiddenDanger::getIsdeleted,Constants.ZERO)
+        );
+        if(Objects.isNull(model)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌闅愭偅鏁版嵁");
+        }
+        if (!Constants.equalsInteger(model.getStatus(),Constants.ZERO)) {
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�佸凡娴佽浆,璇峰埛鏂版煡鐪�!");
+        }
+        HiddenDanger hiddenDanger  = new HiddenDanger();
+        hiddenDanger.setIsdeleted(Constants.ONE);
+        hiddenDanger.setId(id);
+        hiddenDanger.setEditor(user.getId());
+
+        hiddenDanger.setEditDate(new Date());
+        hiddenDangerMapper.updateById(hiddenDanger);
+        //瀛樺偍 鎿嶄綔鏃ュ織
+        HiddenDangerLog hiddenDangerLog = new HiddenDangerLog();
+        hiddenDangerLog.setIsdeleted(Constants.ZERO);
+        hiddenDangerLog.setCreateDate(new Date());
+        hiddenDangerLog.setCreator(hiddenDanger.getEditor());
+        hiddenDangerLog.setEditDate(hiddenDangerLog.getCreateDate());
+        hiddenDangerLog.setEditor(hiddenDanger.getCreator());
+        hiddenDangerLog.setTitle("鐢便��"+user.getRealname()+"銆戝垹闄よ褰�");
+        hiddenDangerLog.setHiddenDangerId(hiddenDanger.getId());
+        hiddenDangerLog.setObjType(Constants.FIVE);
+        hiddenDangerLogMapper.insert(hiddenDangerLog);
+    }
 
     @Override
     public void delete(HiddenDanger hiddenDanger) {
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 ea52c99..3135e0c 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
@@ -297,13 +297,13 @@
                 .apply(pageWrap.getModel().getQueryStatus() != null, " find_in_set(t.`STATUS`,'"+pageWrap.getModel().getQueryStatus()+"')")
                 .apply(pageWrap.getModel().getQueryStatusForPower() != null, " find_in_set(t.`STATUS`,'"+pageWrap.getModel().getQueryStatusForPower()+"')")
                 .apply(pageWrap.getModel().getQueryType() != null, " find_in_set(t.TYPE,'"+pageWrap.getModel().getQueryType()+"')")
+                .ge(pageWrap.getModel().getCreateDateStart() != null, PlatformJob::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDateStart()))
+                .le(pageWrap.getModel().getCreateDateEnd() != null, PlatformJob::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDateEnd()))
                 .ge(pageWrap.getModel().getBeginWorkDateStart() != null, PlatformJob::getStartDate, Utils.Date.getStart(pageWrap.getModel().getBeginWorkDateStart()))
                 .le(pageWrap.getModel().getBeginWorkDateEnd() != null, PlatformJob::getStartDate, Utils.Date.getEnd(pageWrap.getModel().getBeginWorkDateEnd()))
                 .ge(pageWrap.getModel().getBeginDoneDateStart() != null, PlatformJob::getDoneDate, Utils.Date.getStart(pageWrap.getModel().getBeginDoneDateStart()))
                 .le(pageWrap.getModel().getBeginDoneDateEnd() != null, PlatformJob::getDoneDate, Utils.Date.getEnd(pageWrap.getModel().getBeginDoneDateEnd()))
 
-                .ge(pageWrap.getModel().getCreateDateStart() != null, PlatformWmsJob::getIoCreatedate, Utils.Date.getStart(pageWrap.getModel().getCreateDateStart()))
-                .le(pageWrap.getModel().getCreateDateEnd() != null, PlatformWmsJob::getIoCreatedate, Utils.Date.getEnd(pageWrap.getModel().getCreateDateEnd()))
                 .isNotNull(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ONE,pageWrap.getModel().getJobType()), PlatformJob::getContractNum)
                 .isNull(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ZERO,pageWrap.getModel().getJobType()), PlatformJob::getContractNum)
                 .exists(StringUtils.isNotBlank(pageWrap.getModel().getWmsContractNum()),
@@ -346,15 +346,12 @@
                 .apply("(  t1.isdeleted = 0 or t.PLATFORM_ID is null  )")
                 .eq(pageWrap.getModel().getPlatformGroupId() != null, PlatformJob::getPlatformGroupId, pageWrap.getModel().getPlatformGroupId())
                 .like(pageWrap.getModel().getCarCodeFront() != null, PlatformJob::getCarCodeFront, pageWrap.getModel().getCarCodeFront())
-
                 .apply(Objects.nonNull(pageWrap.getModel().getCallType())
                                 &&Constants.equalsInteger(pageWrap.getModel().getCallType(),Constants.ONE),
                         " ( " +
                                 " ( 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 )  )" +
                                 ") "
                 )
-
-
                 .apply(Objects.nonNull(pageWrap.getModel().getCallType())
                                 &&Constants.equalsInteger(pageWrap.getModel().getCallType(),Constants.TWO),
                                  " ( " +
@@ -365,8 +362,6 @@
                                          "  (t.`STATUS` = "+Constants.PlatformJobStatus.TRANSFERING.getKey()+" and t.PLATFORM_ID = "+pageWrap.getModel().getPlatformId()+" )  " +
                                          ") "
                 )
-
-
                 .and(Objects.nonNull(pageWrap.getModel().getCallType())
                                 &&Constants.equalsInteger(pageWrap.getModel().getCallType(),Constants.THREE),
                         i->i.eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CALL.getKey()).or()
@@ -428,8 +423,6 @@
             }
         } 
     }
-
-
     public void queryWaitNum(PlatformJob platformJob){
         if(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())){
             //鏌ヨ褰撳墠鎵�鏈夋帓闃熸暟閲�
@@ -442,11 +435,10 @@
                     .eq(PlatformJob::getPlatformGroupId,platformJob.getPlatformGroupId())
 //                    .like(PlatformJob::getArriveDate,DateUtil.dateTypeToString(platformJob.getArriveDate(),"yyyy-MM-dd"))
             );
-
-            for (PlatformJob linePlatformJob:lineUpAllList) {
-                this.getWmsJobData(linePlatformJob);
-            }
             if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(lineUpAllList)){
+                for (PlatformJob linePlatformJob:lineUpAllList) {
+                    this.getWmsJobData(linePlatformJob);
+                }
                 //鏌ヨ鎺掗槦鍦ㄦ垜鍓嶉潰鐨勬暟鎹�
                 List<PlatformJob> lineUpNum = lineUpAllList.stream().filter(i->Objects.nonNull(i.getSignDate())&&i.getSignDate().getTime()<platformJob.getSignDate().getTime()).collect(Collectors.toList());
                 platformJob.setLineUpNum(lineUpNum.size());
@@ -457,7 +449,10 @@
                 //璁$畻棰勮绛夊緟鏃堕棿
                 List<Platform> platformList = platformJoinMapper.selectList(new QueryWrapper<Platform>().lambda()
                         .eq(Platform::getIsdeleted,Constants.ZERO).eq(Platform::getGroupId,platformJob.getPlatformGroupId()));
-                BigDecimal workRate = platformList.stream().map(m->m.getWorkRate()).reduce(BigDecimal.ZERO,BigDecimal::add);
+                BigDecimal workRate = new BigDecimal(0);
+                if(platformList!=null){
+                      workRate = platformList.stream().map(m->Constants.formatBigdecimal(m.getWorkRate())).reduce(BigDecimal.ZERO,BigDecimal::add);
+                }
                 if(sumWorkRate.compareTo(BigDecimal.ZERO) > Constants.ZERO && workRate.compareTo(BigDecimal.ZERO)  > Constants.ZERO ){
                     BigDecimal sumMinute = sumWorkRate.divide(workRate,1, RoundingMode.HALF_DOWN).multiply(BigDecimal.valueOf(60L));
                     Integer sumMinuteInteger = sumMinute.intValue();
@@ -484,7 +479,7 @@
                     .orderByDesc(PlatformLog::getCreateDate)
                     .last(" limit 1")
             );
-            if(Objects.nonNull(platformLog)){
+            if(Objects.nonNull(platformLog) && platformJob.getWorkRate()!=null && platformJob.getWorkRate().compareTo(new BigDecimal(0))>0){
                 BigDecimal sumMinute = platformJob.getTotalNum().divide(platformJob.getWorkRate(),1, RoundingMode.HALF_DOWN).multiply(BigDecimal.valueOf(60L));
                 platformJob.setFinishTimeStr(DateUtil.DateToStr(DateUtil.afterMinutesDate(platformLog.getCreateDate(),sumMinute.intValue()),"HH:mm"));
             }
@@ -494,7 +489,9 @@
                     .isNotNull(PlatformLog::getParam3)
                     .ne(PlatformLog::getParam3,Constants.ZERO+"")
                     .orderByDesc(PlatformLog::getCreateDate));
-            platformJob.setWorkTime(platformLogList.stream().map(m->Long.valueOf(m.getParam3())).reduce(Long.valueOf(0),Long::sum));
+            if(platformLogList!=null){
+                platformJob.setWorkTime(platformLogList.stream().map(m->Long.valueOf(StringUtils.defaultString(m.getParam3(),"0"))).reduce(Long.valueOf(0),Long::sum));
+            }
 
         }
     }
@@ -534,7 +531,6 @@
             //鏌ヨ鍓嶆柟鎺掗槦鏁伴噺
             this.queryWaitNum(platformJob);
         }
-
         driverHomeVO.setPlatformJobList(platformJobList);
         // 鍥尯瀵艰鍥�  鍥剧墖
         driverHomeVO.setReservationMap(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.PLATFORM_GUIDEMAP).getCode());
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java
index cfdece5..4c625f1 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java
@@ -55,8 +55,9 @@
 
     @Override
     public void deleteById(Integer id) {
-        retentionMapper.update(null,new UpdateWrapper<Retention>().lambda().set(Retention::getIsdeleted,Constants.ONE).eq(Retention::getId,id));
-//        retentionMapper.deleteById(id);
+//        retentionMapper.update(null,new UpdateWrapper<Retention>().lambda().set(Retention::getIsdeleted,Constants.ONE)
+//                .eq(Retention::getId,id));
+        retentionMapper.deleteById(id);
     }
 
     @Override
@@ -231,8 +232,8 @@
                 .selectAs(Member::getPhone,Retention::getPhone)
                 .selectAs(Member::getVisitCompanyName,Retention::getVisitCompanyName)
                 .and(StringUtils.isNotBlank(pageWrap.getModel().getKeyWords()),w->{
-                    w.like( Retention::getPhone,pageWrap.getModel().getKeyWords())
-                            .or().like( Retention::getName,pageWrap.getModel().getKeyWords()); })
+                    w.like( Member::getPhone,pageWrap.getModel().getKeyWords())
+                            .or().like( Member::getName,pageWrap.getModel().getKeyWords()); })
                 .eq(Retention::getType,3)
                 .eq(Retention::getIsdeleted,Constants.ZERO)
                 .and(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
index 65579fe..3ea7c15 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
@@ -1601,6 +1601,7 @@
                             .selectAll(Retention.class)
                             .selectAs(Company::getType,Retention::getCompanyType)
                             .leftJoin(Company.class,Company::getId,Retention::getCompanyId)
+                            .eq(Retention::getIsdeleted,Constants.ZERO)
             );
 
             InoutDayCount inoutDayCount = inoutDayCountMapper.selectOne(new QueryWrapper<InoutDayCount>()
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
index 168daf3..9a84710 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -1776,6 +1776,7 @@
                         .selectAll(Retention.class)
                         .selectAs(Company::getType,Retention::getCompanyType)
                         .leftJoin(Company.class,Company::getId,Retention::getCompanyId)
+                        .eq(Retention::getIsdeleted,Constants.ZERO)
         );
 
         //浠婃棩鍦ㄥ洯浜烘暟
@@ -1888,9 +1889,13 @@
                     }else{
                         platformDurationVO.setWorkType(Constants.ZERO);//濡傛灉鏄嵏璐�
                     }
-                    Integer workMinute = Constants.formatBigdecimal(job.getWorkNum()).multiply(new BigDecimal(60)).divide(model.getWorkRate(),0,BigDecimal.ROUND_HALF_UP).intValue();
-                    Date overDate = DateUtil.getXMinuteAfterDate(job.getNewStartDate(),workMinute + model.getWorkTimeoutAlarmTime());//棰勮瀹屾垚鏃堕棿
-                    platformDurationVO.setFinishTimeStr(DateUtil.DateToStr(overDate,"HH:mm"));
+                    Integer workMinute = 0;
+                    Date overDate =null;
+                    if(model.getWorkRate()!=null && model.getWorkRate().compareTo(new BigDecimal(0)) !=0){
+                        workMinute   = Constants.formatBigdecimal(job.getWorkNum()).multiply(new BigDecimal(60)).divide(model.getWorkRate(),0,BigDecimal.ROUND_HALF_UP).intValue();
+                        overDate = DateUtil.getXMinuteAfterDate(job.getNewStartDate(),workMinute + model.getWorkTimeoutAlarmTime());//棰勮瀹屾垚鏃堕棿
+                        platformDurationVO.setFinishTimeStr(DateUtil.DateToStr(overDate,"HH:mm"));
+                    }
 
                     platformDurationVO.setWorkNum(Constants.formatBigdecimal(job.getWorkNum()).intValue());
                     platformDurationVO.setCarNo(job.getCarCodeFront());//杞︾墝鍙�
@@ -1899,7 +1904,7 @@
                     }else{
                         platformDurationVO.setStatus(Constants.ZERO); //浣滀笟涓�
                         platformDurationVO.setWorkTime(PlatformJobServiceImpl.getWorkTime(job,platformLogMapper));//宸插伐浣滄椂闂�
-                        if(overDate.getTime() < System.currentTimeMillis() ){
+                        if(overDate!=null && overDate.getTime() < System.currentTimeMillis() ){
                             model.setStatus(Constants.TWO); //浣滀笟宸茶秴鏃�
                         }
                     }
@@ -2042,7 +2047,7 @@
                 .select("count(id)" ,PlatformJob::getCountum)
                 .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                 .apply("to_days(create_date) = to_days(now())" )
-                .groupBy(PlatformJob::getStatus )
+                .groupBy(PlatformJob::getStatus)
         );
         if(jobList!=null){
 

--
Gitblit v1.9.3