From f63d3a3be83fea258e7920efccd2567b6a511bb3 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 16 一月 2025 16:52:46 +0800
Subject: [PATCH] 最新版本541200007

---
 server/system_service/src/main/java/com/doumee/core/utils/Constants.java                                         |   33 ++
 server/meeting/meeting_admin/src/main/resources/logback-spring.xml                                               |    2 
 server/meeting/meeting_service/src/main/java/com/doumee/service/business/BookingsService.java                    |    2 
 server/system_service/src/main/java/com/doumee/dao/business/model/Member.java                                    |    2 
 server/system_service/src/main/java/com/doumee/service/business/third/model/TMSContants.java                     |   10 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java        |    7 
 server/meeting/meeting_admin/src/main/java/com/doumee/cloud/web/MeetingApi.java                                  |    6 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/CarsJobAndContractByJobIdDTO.java         |   19 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/WholeProvinceBoardVO.java |    6 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java         |    2 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunActController.java                |    8 
 server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/MeetingListResponse.java                |    2 
 admin/src/views/meeting/bookings.vue                                                                             |    4 
 server/visits/dmvisit_admin/src/main/resources/logback-spring.xml                                                |    2 
 server/system_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java                    |   78 +++++-
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkInterfaceTestCloudController.java             |   10 
 server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java           |   95 +++++++-
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java              |   66 +++++
 server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java                         |    8 
 admin/src/api/system/user.js                                                                                     |    3 
 server/system_service/src/main/java/com/doumee/dao/system/model/SystemUser.java                                  |   23 ++
 server/startsh/admin_start.sh                                                                                    |   14 
 server/system_gateway/src/main/resources/bootstrap.yml                                                           |    2 
 server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/MeetingCloudController.java                    |   10 
 server/system_gateway/src/main/resources/logback-spring.xml                                                      |    2 
 server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java                                          |    4 
 server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Bookings.java                         |   21 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java                       |    2 
 server/meeting/meeting_service/src/main/java/com/doumee/dao/web/request/MeetingPageRequest.java                  |    2 
 /dev/null                                                                                                        |   10 
 server/meeting/meeting_admin/src/main/java/com/doumee/api/business/MeetingController.java                        |    8 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java         |  165 ++++++++------
 server/startsh/DBbackup.sh                                                                                       |    0 
 server/visits/admin_timer/src/main/resources/logback-spring.xml                                                  |    2 
 server/system_service/src/main/java/com/doumee/dao/business/model/Company.java                                   |    3 
 server/system_service/src/main/java/com/doumee/dao/system/SystemUserMapper.java                                  |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java             |   13 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java                  |    2 
 server/meeting/meeting_admin/src/main/resources/application.yml                                                  |    2 
 39 files changed, 492 insertions(+), 161 deletions(-)

diff --git a/admin/src/api/system/user.js b/admin/src/api/system/user.js
index 95f6c87..b47616f 100644
--- a/admin/src/api/system/user.js
+++ b/admin/src/api/system/user.js
@@ -7,6 +7,9 @@
 export function pageDriverList (data) {
   return request.post('/visitsAdmin/cloudService/system/user/pageDriver', data)
 }
+export function findAllList (data) {
+  return request.post('/visitsAdmin/cloudService/system/user/findAllList', data)
+}
 
 // 鏂板缓
 export function create (data) {
diff --git a/admin/src/views/meeting/bookings.vue b/admin/src/views/meeting/bookings.vue
index ffc3d68..bd9aea8 100644
--- a/admin/src/views/meeting/bookings.vue
+++ b/admin/src/views/meeting/bookings.vue
@@ -105,9 +105,9 @@
               <el-button v-if="row.meetingStatus == '1'" type="text"
                 @click="$refs.operaBookingsWindow.open('缂栬緫浼氳棰勭害', row)"
                 v-permissions="['business:bookings:update']">缂栬緫</el-button>
-              <el-button type="text" v-if="row.meetingStatus == '1'" @click="handleStart(row)">寮�濮�</el-button>
+              <el-button type="text" v-if="row.meetingStatus == '1' || row.meetingStatus == '4'" @click="handleStart(row)">寮�濮�</el-button>
               <el-button type="text" v-if="row.meetingStatus == '2'" @click="handleEnd(row)">缁撴潫</el-button>
-              <el-button v-if="row.meetingStatus == '1'" type="text" @click="cancelMeeting(row.id)"
+              <el-button v-if="row.meetingStatus == '1' || row.meetingStatus == '4'" type="text" @click="cancelMeeting(row.id)"
                 v-permissions="['business:bookings:update']">鎾ゅ洖</el-button>
             </template>
             <!-- <el-button v-else type="text" @click="deleteById(row)" v-permissions="['business:bookings:delete']">鍒犻櫎</el-button> -->
diff --git a/server/meeting/meeting_admin/src/main/java/com/doumee/api/business/MeetingController.java b/server/meeting/meeting_admin/src/main/java/com/doumee/api/business/MeetingController.java
index 6ff48b5..a28b181 100644
--- a/server/meeting/meeting_admin/src/main/java/com/doumee/api/business/MeetingController.java
+++ b/server/meeting/meeting_admin/src/main/java/com/doumee/api/business/MeetingController.java
@@ -44,13 +44,15 @@
     @ApiOperation(value = "褰撴湀浼氳琛�", notes = "褰撴湀浼氳琛�")
     @GetMapping("/monthMeeting")
     @ApiImplicitParams({
-            @ApiImplicitParam(paramType = "query", dataType = "String", name = "yearMonth", value = "骞存湀  yyyy-MM", required = true)
+            @ApiImplicitParam(paramType = "query", dataType = "String", name = "yearMonth", value = "骞存湀  yyyy-MM", required = true),
+            @ApiImplicitParam(paramType = "query", dataType = "String", name = "queryType", value = "鏌ヨ绫诲埆锛�1=鎴戝弬涓庣殑锛�2=鎴戦绾︾殑锛�3绠$悊鍛樻煡鐪嬪叏閮� ", required = true)
     })
-    public ApiResponse<List<MonthDataResponse>> monthDay(@RequestParam String yearMonth) {
+    public ApiResponse<List<MonthDataResponse>> monthDay(@RequestParam String yearMonth
+            ,@RequestParam(required = false) Integer queryType) {
         LoginUserInfo user = getLoginUser(null);
         List<String> dataList = DateUtil.getDayByMonth(yearMonth);
         List<MonthDataResponse> monthDataResponseList = new ArrayList<>();
-        List<Bookings> bookings = bookingsService.getMyBookings(user.getId(),yearMonth);
+        List<Bookings> bookings = bookingsService.getMyBookings(user.getId(),yearMonth,queryType);
         for (String str:dataList) {
             MonthDataResponse  monthDataResponse = new MonthDataResponse();
             monthDataResponse.setWeekMsg(DateUtil.getWeek(DateUtil.StringToDate(str,"yyyy-MM-dd")).getChineseName());
diff --git a/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/MeetingCloudController.java b/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/MeetingCloudController.java
index d979131..f72e362 100644
--- a/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/MeetingCloudController.java
+++ b/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/MeetingCloudController.java
@@ -47,14 +47,16 @@
     @ApiOperation(value = "褰撴湀浼氳琛�", notes = "褰撴湀浼氳琛�")
     @GetMapping("/monthMeeting")
     @ApiImplicitParams({
-            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
-            @ApiImplicitParam(paramType = "query", dataType = "String", name = "yearMonth", value = "骞存湀  yyyy-MM", required = true)
+            @ApiImplicitParam(paramType = "query", dataType = "String", name = "yearMonth", value = "骞存湀  yyyy-MM", required = true),
+            @ApiImplicitParam(paramType = "query", dataType = "String", name = "queryType", value = "鏌ヨ绫诲埆锛�1=鎴戝弬涓庣殑锛�2=鎴戦绾︾殑锛�3绠$悊鍛樻煡鐪嬪叏閮� ", required = true)
     })
-    public ApiResponse<List<MonthDataResponse>> monthDay(@RequestParam String yearMonth, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+    public ApiResponse<List<MonthDataResponse>> monthDay(@RequestParam String yearMonth
+            ,@RequestParam(required = false) Integer queryType
+            ,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
         LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         List<String> dataList = DateUtil.getDayByMonth(yearMonth);
         List<MonthDataResponse> monthDataResponseList = new ArrayList<>();
-        List<Bookings> bookings = bookingsService.getMyBookings(user.getId(),yearMonth);
+        List<Bookings> bookings = bookingsService.getMyBookings(user.getId(),yearMonth,queryType);
         for (String str:dataList) {
             MonthDataResponse  monthDataResponse = new MonthDataResponse();
             monthDataResponse.setWeekMsg(DateUtil.getWeek(DateUtil.StringToDate(str,"yyyy-MM-dd")).getChineseName());
diff --git a/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/web/MeetingApi.java b/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/web/MeetingApi.java
index ea1bcb6..c9e983f 100644
--- a/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/web/MeetingApi.java
+++ b/server/meeting/meeting_admin/src/main/java/com/doumee/cloud/web/MeetingApi.java
@@ -58,14 +58,16 @@
     @ApiOperation(value = "褰撴湀浼氳琛�", notes = "褰撴湀浼氳琛�")
     @GetMapping("/monthMeeting")
     @ApiImplicitParams({
-            @ApiImplicitParam(paramType = "query", dataType = "String", name = "yearMonth", value = "骞存湀  yyyy-MM", required = true)
+            @ApiImplicitParam(paramType = "query", dataType = "String", name = "yearMonth", value = "骞存湀  yyyy-MM", required = true),
+            @ApiImplicitParam(paramType = "query", dataType = "String", name = "queryType", value = "鏌ヨ绫诲埆锛�1=鎴戝弬涓庣殑锛�2=鎴戦绾︾殑锛�3绠$悊鍛樻煡鐪嬪叏閮� ", required = true)
     })
     public ApiResponse<List<MonthDataResponse>> monthDay(@RequestParam String yearMonth
+            ,@RequestParam(required = false) Integer queryType
             ,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
         LoginUserInfo user = getLoginUser(token);
         List<String> dataList = DateUtil.getDayByMonth(yearMonth);
         List<MonthDataResponse> monthDataResponseList = new ArrayList<>();
-        List<Bookings> bookings = bookingsService.getMyBookings(user.getId(),yearMonth);
+        List<Bookings> bookings = bookingsService.getMyBookings(user.getId(),yearMonth,queryType);
         for (String str:dataList) {
             MonthDataResponse  monthDataResponse = new MonthDataResponse();
             monthDataResponse.setWeekMsg(DateUtil.getWeek(DateUtil.StringToDate(str,"yyyy-MM-dd")).getChineseName());
diff --git a/server/meeting/meeting_admin/src/main/resources/application.yml b/server/meeting/meeting_admin/src/main/resources/application.yml
index aca7641..1c61238 100644
--- a/server/meeting/meeting_admin/src/main/resources/application.yml
+++ b/server/meeting/meeting_admin/src/main/resources/application.yml
@@ -54,7 +54,7 @@
 # dao灞傜殑鏃ュ織璁剧疆涓篸ebug锛屾柟渚挎煡鐪媠ql
 logging:
   level:
-    doumeemes.dao: debug
+    com.doumee.dao: debug
 
 
 # WEB鏈嶅姟鍣ㄩ厤缃�
diff --git a/server/meeting/meeting_admin/src/main/resources/logback-spring.xml b/server/meeting/meeting_admin/src/main/resources/logback-spring.xml
index 214904b..7c0e31a 100644
--- a/server/meeting/meeting_admin/src/main/resources/logback-spring.xml
+++ b/server/meeting/meeting_admin/src/main/resources/logback-spring.xml
@@ -5,7 +5,7 @@
             <pattern>%highlight(%date{yyyy-MM-dd HH:mm:ss}) | %highlight(%-5level) | %highlight(%thread) | %highlight(%logger) | %msg%n</pattern>
         </layout>
     </appender>
-    <property name="log.path" value="logs/meetingAdmin"></property>
+    <property name="log.path" value="/usr/local/jars/logs/meetingAdmin"></property>
     <property name="log.fileSize" value="100MB"></property>
     <property name="log.historyDays" value="7"></property>
 
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java
index 6666eed..9ddcb73 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java
@@ -9,6 +9,7 @@
 import com.doumee.dao.system.vo.UserStatisticsVo;
 import com.doumee.dao.web.response.MeetingDetailResponse;
 import com.doumee.dao.web.response.MeetingListResponse;
+import com.github.yulichang.base.MPJBaseMapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
@@ -18,7 +19,7 @@
  * @author 姹熻箘韫�
  * @date 2023/05/04 18:18
  */
-public interface BookingsMapper extends BaseMapper<Bookings> {
+public interface BookingsMapper extends MPJBaseMapper<Bookings> {
 
 
 
@@ -28,8 +29,9 @@
             " CASE WHEN a.START_TIME_REAL IS NULL AND a.`STATUS` = 0 THEN 1  WHEN (  a.`STATUS` = 2 ) THEN 3 WHEN a.`STATUS` = 1 THEN 5 ELSE  2  END meetingStatus ," +
             " b.IMGURL as imgUrl ," +
             " a.remark  " +
-            " from meeting_book a inner join meeting_rooms b  on a.ROOM_ID = b.ID  " +
-            " inner join system_user c on a.CREATOR = c.id  " +
+            " from meeting_book a" +
+            " left join meeting_rooms b  on a.ROOM_ID = b.ID  " +
+            " left join system_user c on a.CREATOR = c.id  " +
             " ${ew.customSqlSegment} ")
     IPage<MeetingListResponse> myMeetingPage(IPage<MeetingListResponse> page, @Param(Constants.WRAPPER) Wrapper wrapper);
 
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 084191f..e7f3cb8 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
@@ -182,4 +182,25 @@
     @ApiModelProperty(value = "浼氳鐘舵��: 1=鏈紑濮嬶紱2=杩涜涓紱3=宸茬粨鏉� ; 4=鍗冲皢寮�濮�; 5=宸叉挙閿�")
     @TableField(exist = false)
     private Integer meetingStatus;
+
+
+
+    @ApiModelProperty(value = "鏌ヨ鏃ユ湡 yyyy-MM-dd")
+    @TableField(exist = false)
+    private String queryDate;
+
+
+    @ApiModelProperty(value = "鏌ヨ绫诲埆锛�1=鎴戝弬涓庣殑锛�2=鎴戦绾︾殑锛�")
+    @TableField(exist = false)
+    private Integer queryType;
+
+
+    @ApiModelProperty(value = "浼氳瀹ゅ悕绉�")
+    @TableField(exist = false)
+    private String roomsName;
+
+    @ApiModelProperty(value = "浼氳瀹や富閿�")
+    @TableField(exist = false)
+    private Integer roomsId;
+
 }
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/dao/web/request/MeetingPageRequest.java b/server/meeting/meeting_service/src/main/java/com/doumee/dao/web/request/MeetingPageRequest.java
index 75332e5..064f3e5 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/dao/web/request/MeetingPageRequest.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/dao/web/request/MeetingPageRequest.java
@@ -20,7 +20,7 @@
     @ApiModelProperty(value = "鐢ㄦ埛涓婚敭")
     private Integer userId;
 
-    @ApiModelProperty(value = "鏌ヨ绫诲埆锛�1=鎴戝弬涓庣殑锛�2=鎴戦绾︾殑锛�")
+    @ApiModelProperty(value = "鏌ヨ绫诲埆锛�1=鎴戝弬涓庣殑锛�2=鎴戦绾︾殑锛�3绠$悊鍛樻煡鐪嬪叏閮�")
     private Integer queryType;
 
     @ApiModelProperty(value = "鐘舵�侊細鏈紑濮� 1   宸茬粨鏉� 2")
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/MeetingListResponse.java b/server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/MeetingListResponse.java
index 4556429..d06e228 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/MeetingListResponse.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/MeetingListResponse.java
@@ -18,7 +18,7 @@
  */
 @Data
 @ApiModel("浼氳鍒楄〃杩斿洖绫�")
-public class MeetingListResponse{
+public class   MeetingListResponse{
 
     @ApiModelProperty(value = "涓婚敭")
     private Integer id;
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/BookingsService.java b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/BookingsService.java
index b04b551..fdab03e 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/BookingsService.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/BookingsService.java
@@ -125,7 +125,7 @@
      * @param dateMsg
      * @return
      */
-    List<Bookings> getMyBookings(Integer userId,String dateMsg);
+    List<Bookings> getMyBookings(Integer userId,String dateMsg,Integer queryType);
 
 
     /**
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
index fb8804e..abe4c42 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
@@ -49,6 +49,7 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
+import java.awt.print.Book;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
@@ -853,15 +854,21 @@
      * @return
      */
     @Override
-    public List<Bookings> getMyBookings(Integer userId, String dateMsg) {
-        return bookingsMapper.selectList(new QueryWrapper<Bookings>()
-                .apply(" id in ( select u.OBJ_ID from meeting_user_rel u where u.USER_ID = '" + userId + "' and u.ISDELETED = 0 and OBJ_TYPE = 1  ) ")
-                .eq("ISDELETED",MeetConstants.ZERO)
+    public List<Bookings> getMyBookings(Integer userId, String dateMsg,Integer queryType) {
+        if(queryType==null ){
+            queryType  =1;
+        }
+        return bookingsMapper.selectJoinList(Bookings.class,new MPJLambdaWrapper<Bookings>()
+                .selectAll(Bookings.class)
+                 .leftJoin(Rooms.class,Rooms::getId,Bookings::getRoomId)
+                .exists(queryType!=3,"( select u.OBJ_ID from meeting_user_rel u where u.OBJ_ID =t.id and u.USER_ID = '" + userId + "' and u.ISDELETED = 0 and OBJ_TYPE = 1  ) ")
+                .exists(queryType==3,"( select u.OBJ_ID from meeting_user_rel u where u.OBJ_ID =t1.id and  u.USER_ID = '" + userId + "' and u.ISDELETED = 0 and OBJ_TYPE = 0 ) ")
+                .eq(Bookings::getIsdeleted,MeetConstants.ZERO)
+                .eq(Rooms::getIsdeleted,MeetConstants.ZERO)
+                .eq(Rooms::getStatus,MeetConstants.ZERO)
 //                .eq("STATUS",MeetConstants.ZERO)
-                .apply(" ROOM_ID in ( select r.id from meeting_rooms r where r.ISDELETED = 0 and r.STATUS = 0  )")
-                .like(StringUtils.isNotBlank(dateMsg), "START_TIME", dateMsg));
+                .like(StringUtils.isNotBlank(dateMsg), Bookings::getStartTime, dateMsg));
     }
-
 
     /**
      * 鎴戠殑棰勭害/鎴戠殑浼氳
@@ -869,20 +876,81 @@
      * @param pageWrap
      * @return
      */
+    public IPage<Bookings> getMyMeetingPageNew(PageWrap<Bookings> pageWrap) {
+        IPage<Bookings> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        MPJLambdaWrapper<Bookings> queryWrapper = new MPJLambdaWrapper<>();
+        Utils.MP.blankToNull(pageWrap.getModel());
+
+        queryWrapper.selectAll(Bookings.class);
+        queryWrapper.selectAs(Rooms::getName, Bookings::getRoomName);
+        queryWrapper.selectAs(SystemUser::getRealname, Bookings::getRealName);
+        queryWrapper.selectAs(Company::getName, Bookings::getDepartmentName);
+        queryWrapper.select(" CASE WHEN t.START_TIME_REAL IS NULL AND t.`STATUS` = 0 THEN 1  WHEN ( ( t.END_TIME < now()  AND t.`STATUS` = 0 ) or t.`STATUS` = 2 ) THEN 3 WHEN t.`STATUS` = 1 THEN 5 ELSE  2  END meetingStatus ");
+        queryWrapper.leftJoin(Rooms.class, Rooms::getId, Bookings::getRoomId);
+        queryWrapper.leftJoin(SystemUser.class, SystemUser::getId, Bookings::getCreator);
+        queryWrapper.leftJoin(Company.class,Company::getId,SystemUser::getCompanyId);
+        queryWrapper.orderByDesc(Bookings::getCreateDate);
+        queryWrapper.eq(Bookings::getIsdeleted, MeetConstants.ZERO);
+        queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getRoomsName()),
+                j -> j.like(Bookings::getName,pageWrap.getModel().getRoomsName()).or().like(Rooms::getName, pageWrap.getModel().getRoomsName()))
+                .exists(pageWrap.getModel().getQueryType().equals(MeetConstants.ONE) && !Objects.isNull(pageWrap.getModel().getUserId()),
+                        " select u.id from meeting_user_rel u where t.id = u.OBJ_ID and  u.USER_ID = '" + pageWrap.getModel().getUserId() + "' and u.ISDELETED = 0 and u.OBJ_TYPE = 1  ")
+                .eq(pageWrap.getModel().getQueryType().equals(MeetConstants.TWO)
+                        && !Objects.isNull(pageWrap.getModel().getUserId()), Bookings::getCreator, pageWrap.getModel().getUserId())
+                .like(StringUtils.isNotBlank(pageWrap.getModel().getQueryDate()),  Bookings::getStartTime, pageWrap.getModel().getQueryDate())
+                .eq(!Objects.isNull(pageWrap.getModel().getRoomsId()), Bookings::getRoomId, pageWrap.getModel().getRoomsId())
+                .apply(!Objects.isNull(pageWrap.getModel().getStatus()) && pageWrap.getModel().getStatus().equals(MeetConstants.ONE),
+                        " now() < t.END_TIME and t.STATUS = 0   ")
+                .and(!Objects.isNull(pageWrap.getModel().getStatus()) && pageWrap.getModel().getStatus().equals(MeetConstants.TWO),
+                        j -> j.apply("now() >= t.END_TIME ").or()
+                                .eq(" t.STATUS", MeetConstants.ONE))
+                .eq(Rooms::getIsdeleted,MeetConstants.ZERO)
+                .eq(Rooms::getStatus,MeetConstants.ZERO)
+                .eq(Bookings::getIsdeleted,MeetConstants.ZERO)
+                .apply(Objects.nonNull(pageWrap.getModel().getMeetingStatus())
+                                &&Constants.equalsInteger(pageWrap.getModel().getMeetingStatus(),Constants.ONE),
+                        " ( now() < t.START_TIME and t.status = 0 ) "
+                )
+                .apply(Objects.nonNull(pageWrap.getModel().getMeetingStatus())
+                                &&Constants.equalsInteger(pageWrap.getModel().getMeetingStatus(),Constants.TWO),
+                        " ( now() >= t.START_TIME and t.END_TIME >= now() and t.status = 0 ) "
+                )
+                .apply(Objects.nonNull(pageWrap.getModel().getMeetingStatus())
+                                &&Constants.equalsInteger(pageWrap.getModel().getMeetingStatus(),Constants.THREE),
+                        " ( ( now() >t.END_TIME  and  t.`STATUS` = 0  ) or  t.`STATUS` = 2  )  "
+                )
+                .apply(Objects.nonNull(pageWrap.getModel().getMeetingStatus())
+                                &&Constants.equalsInteger(pageWrap.getModel().getMeetingStatus(),Constants.FOUR),
+                        " now() < t.START_TIME  AND SUBDATE( t.START_TIME, INTERVAL 120 MINUTE ) < NOW() "
+                )
+                .eq(Objects.nonNull(pageWrap.getModel().getMeetingStatus())
+                                &&Constants.equalsInteger(pageWrap.getModel().getMeetingStatus(),Constants.FIVE),
+                        Bookings::getStatus,MeetConstants.ONE
+                )
+                .orderByDesc(Constants.equalsInteger(pageWrap.getModel().getQueryType(),MeetConstants.TWO),Bookings::getCreateDate)
+                .orderByAsc(Constants.equalsInteger(pageWrap.getModel().getQueryType(),MeetConstants.ONE),Bookings::getStartTime);
+
+        IPage<Bookings> result = bookingsJoinMapper.selectJoinPage(page, Bookings.class, queryWrapper);
+        return result;
+    }
     @Override
     public IPage<MeetingListResponse> getMyMeetingPage(PageWrap<MeetingPageRequest> pageWrap) {
 
         QueryWrapper queryWrapper = new QueryWrapper<MeetingListResponse>()
                 .and(StringUtils.isNotBlank(pageWrap.getModel().getRoomsName()),
-                        j -> j.like("a.NAME",pageWrap.getModel().getRoomsName()).or()
-                                .like(" b.NAME", pageWrap.getModel().getRoomsName()))
+                        j -> j.like("a.NAME",pageWrap.getModel().getRoomsName()).or().like(" b.NAME", pageWrap.getModel().getRoomsName()))
                 .exists(pageWrap.getModel().getQueryType().equals(MeetConstants.ONE) && !Objects.isNull(pageWrap.getModel().getUserId()),
-                        " select 1 from meeting_user_rel u where a.id = u.OBJ_ID and  u.USER_ID = '" + pageWrap.getModel().getUserId() + "' and u.ISDELETED = 0 and OBJ_TYPE = 1  ")
+                        " select 1 from meeting_user_rel u where a.id = u.OBJ_ID and  u.USER_ID = '" + pageWrap.getModel().getUserId() + "' and u.ISDELETED = 0 and OBJ_TYPE = 1 ")
+                .exists(pageWrap.getModel().getQueryType().equals(MeetConstants.THREE) && !Objects.isNull(pageWrap.getModel().getUserId()),
+                        " select 1 from meeting_user_rel u where b.id = u.OBJ_ID and  u.USER_ID = '" + pageWrap.getModel().getUserId() + "' and u.ISDELETED = 0 and OBJ_TYPE = 0 ")//绠$悊鍛樻煡鐪�
                 .eq(pageWrap.getModel().getQueryType().equals(MeetConstants.TWO) && !Objects.isNull(pageWrap.getModel().getUserId()), "a.CREATOR", pageWrap.getModel().getUserId())
                 .like(StringUtils.isNotBlank(pageWrap.getModel().getQueryDate()), "a.START_TIME", pageWrap.getModel().getQueryDate())
                 .eq(!Objects.isNull(pageWrap.getModel().getRoomsId()), "b.id", pageWrap.getModel().getRoomsId())
-                .apply(!Objects.isNull(pageWrap.getModel().getStatus()) && pageWrap.getModel().getStatus().equals(MeetConstants.ONE), " now() < a.END_TIME and a.STATUS = 0   ")
-                .and(!Objects.isNull(pageWrap.getModel().getStatus()) && pageWrap.getModel().getStatus().equals(MeetConstants.TWO),
+                .apply(!Objects.isNull(pageWrap.getModel().getStatus())
+                        && pageWrap.getModel().getStatus().equals(MeetConstants.ONE),
+                        " now() < a.END_TIME and a.STATUS = 0   ")
+                .and(!Objects.isNull(pageWrap.getModel().getStatus())
+                                && pageWrap.getModel().getStatus().equals(MeetConstants.TWO),
                         j -> j.apply("now() >= a.END_TIME ").or()
                                 .eq(" a.STATUS", MeetConstants.ONE))
                 .eq("b.ISDELETED",MeetConstants.ZERO)
@@ -911,7 +979,8 @@
 //                        .orderByDesc(!Objects.isNull(pageWrap.getModel().getStatus())&&pageWrap.getModel().getStatus().equals(MeetConstants.TWO),"a.START_TIME")
 //                        .orderByAsc(Objects.isNull(pageWrap.getModel().getStatus())||pageWrap.getModel().getStatus().equals(MeetConstants.ONE),"a.START_TIME")
                 .orderByDesc(Constants.equalsInteger(pageWrap.getModel().getQueryType(),MeetConstants.TWO),"a.CREATE_DATE")
-                .orderByAsc(Constants.equalsInteger(pageWrap.getModel().getQueryType(),MeetConstants.ONE),"a.START_TIME");
+                .orderByAsc(Constants.equalsInteger(pageWrap.getModel().getQueryType(),MeetConstants.ONE)
+                        || Constants.equalsInteger(pageWrap.getModel().getQueryType(),MeetConstants.THREE),"a.START_TIME");
 
         IPage<MeetingListResponse> page = bookingsMapper.myMeetingPage(pageWrap.toPage(), queryWrapper);
         this.dealMeetingStatus(page.getRecords());
diff --git a/server/DBbackup.sh b/server/startsh/DBbackup.sh
similarity index 100%
rename from server/DBbackup.sh
rename to server/startsh/DBbackup.sh
diff --git a/server/startsh/admin_start.sh b/server/startsh/admin_start.sh
index 8e5d3ad..40d1820 100644
--- a/server/startsh/admin_start.sh
+++ b/server/startsh/admin_start.sh
@@ -1,9 +1,11 @@
 #!/bin/bash
-# 鑾峰彇褰撳墠鏃ユ湡锛屾牸寮忎负YYYYMMDD
-current_date=$(date +%Y%m%d)
 
-# 瀹氫箟鏃ュ織鏂囦欢璺緞鍜屽悕绉帮紝鍖呭惈鏃ユ湡淇℃伅
-log_file_path="/usr/local/jars/log/admin/info.log"
-log_file_error_path="/usr/local/jars/log/admin/error.log"
+killall java
 
-nohup java -Xms2048m -Xmx2048m -Xmn2048m -XX:MetaspaceSize=1024m -XX:MaxMetaspaceSize=1024m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=10031 -jar /usr/local/jars/admin_interface.jar >"${log_file_path}" 2>"${log_file_error_path}" &
+/usr/local/nacos/nacos/bin/startup.sh -m standalone
+
+nohup java -jar /usr/local/jars/system_gateway.jar > /dev/null 2>&1 &
+nohup java -jar /usr/local/jars/admin_timer.jar > /dev/null 2>&1 &
+nohup java -jar /usr/local/jars/system_timer.jar > /dev/null 2>&1 &
+nohup java -jar /usr/local/jars/admin_interface.jar > /dev/null 2>&1 &
+nohup java -jar /usr/local/jars/meeting_admin.jar > /dev/null 2>&1 &
diff --git a/server/startsh/erp_start.sh b/server/startsh/erp_start.sh
deleted file mode 100644
index 29839b2..0000000
--- a/server/startsh/erp_start.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-# 鑾峰彇褰撳墠鏃ユ湡锛屾牸寮忎负YYYYMMDD
-current_date=$(date +%Y%m%d)
-
-# 瀹氫箟鏃ュ織鏂囦欢璺緞鍜屽悕绉帮紝鍖呭惈鏃ユ湡淇℃伅
-log_file_path="/usr/local/jars/log/erp/info.log"
-log_file_error_path="/usr/local/jars/log/erp/error.log"
-
-nohup java -Xms512m -Xmx512m -Xmn512m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=10031 -jar /usr/local/jars/erp_interface.jar >"${log_file_path}" 2>"${log_file_error_path}" &
diff --git a/server/startsh/logByDate.sh b/server/startsh/logByDate.sh
deleted file mode 100644
index bc9b211..0000000
--- a/server/startsh/logByDate.sh
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/bin/bash
-
-#澶勭悊erp 鎺ュ彛
-log_dir="/usr/local/jars/log/erp"
-# 鎷疯礉鏃ュ織鏂囦欢鍒版槰澶╃殑log涓�
-cp $log_dir/info.log $log_dir/info`date -d yesterday +%Y%m%d`.log
-# 娓呯┖nohup.out鏃ュ織
-cat /dev/null > $log_dir/info.log
-# 鍒犻櫎14澶╀互鍓嶇殑鏃ュ織锛堝彲鍔犲彲涓嶅姞锛岃嚜鍔ㄥ垹闄�14澶╀互鍓嶇殑鏃ュ織锛屽彧淇濈暀杩�15澶╃殑鏃ュ織锛岄渶瑕佸氨鍔狅紝鐒跺悗鎶�#鍙峰幓鎺夛級
-find $log_dir -mtime +60 -name 'info*.log' -exec rm -rf {} \;
-
-# 鎷疯礉鏃ュ織鏂囦欢鍒版槰澶╃殑log涓�
-cp $log_dir/error.log $log_dir/error`date -d yesterday +%Y%m%d`.log
-# 娓呯┖nohup.out鏃ュ織
-cat /dev/null > $log_dir/error.log
-find $log_dir -mtime +60 -name 'error*.log' -exec rm -rf {} \;
-
-
-
-
-#澶勭悊admin鎺ュ彛
-log_dir="/usr/local/jars/log/admin"
-# 鎷疯礉鏃ュ織鏂囦欢鍒版槰澶╃殑log涓�
-cp $log_dir/info.log $log_dir/info`date -d yesterday +%Y%m%d`.log
-# 娓呯┖nohup.out鏃ュ織
-cat /dev/null > $log_dir/info.log
-# 鍒犻櫎14澶╀互鍓嶇殑鏃ュ織锛堝彲鍔犲彲涓嶅姞锛岃嚜鍔ㄥ垹闄�14澶╀互鍓嶇殑鏃ュ織锛屽彧淇濈暀杩�15澶╃殑鏃ュ織锛岄渶瑕佸氨鍔狅紝鐒跺悗鎶�#鍙峰幓鎺夛級
-find $log_dir -mtime +60 -name 'info*.log' -exec rm -rf {} \;
-
-# 鎷疯礉鏃ュ織鏂囦欢鍒版槰澶╃殑log涓�
-cp $log_dir/error.log $log_dir/error`date -d yesterday +%Y%m%d`.log
-# 娓呯┖nohup.out鏃ュ織
-cat /dev/null > $log_dir/error.log
-find $log_dir -mtime +60 -name 'error*.log' -exec rm -rf {} \;
-
-
-#澶勭悊web鎺ュ彛
-log_dir="/usr/local/jars/log/web"
-# 鎷疯礉鏃ュ織鏂囦欢鍒版槰澶╃殑log涓�
-cp $log_dir/info.log $log_dir/info`date -d yesterday +%Y%m%d`.log
-# 娓呯┖nohup.out鏃ュ織
-cat /dev/null > $log_dir/info.log
-# 鍒犻櫎14澶╀互鍓嶇殑鏃ュ織锛堝彲鍔犲彲涓嶅姞锛岃嚜鍔ㄥ垹闄�14澶╀互鍓嶇殑鏃ュ織锛屽彧淇濈暀杩�15澶╃殑鏃ュ織锛岄渶瑕佸氨鍔狅紝鐒跺悗鎶�#鍙峰幓鎺夛級
-find $log_dir -mtime +60 -name 'info*.log' -exec rm -rf {} \;
-
-# 鎷疯礉鏃ュ織鏂囦欢鍒版槰澶╃殑log涓�
-cp $log_dir/error.log $log_dir/error`date -d yesterday +%Y%m%d`.log
-# 娓呯┖nohup.out鏃ュ織
-cat /dev/null > $log_dir/error.log
-find $log_dir -mtime +60 -name 'error*.log' -exec rm -rf {} \;
-
-
-#澶勭悊timer鎺ュ彛
-log_dir="/usr/local/jars/log/timer"
-# 鎷疯礉鏃ュ織鏂囦欢鍒版槰澶╃殑log涓�
-cp $log_dir/info.log $log_dir/info`date -d yesterday +%Y%m%d`.log
-# 娓呯┖nohup.out鏃ュ織
-cat /dev/null > $log_dir/info.log
-# 鍒犻櫎14澶╀互鍓嶇殑鏃ュ織锛堝彲鍔犲彲涓嶅姞锛岃嚜鍔ㄥ垹闄�14澶╀互鍓嶇殑鏃ュ織锛屽彧淇濈暀杩�15澶╃殑鏃ュ織锛岄渶瑕佸氨鍔狅紝鐒跺悗鎶�#鍙峰幓鎺夛級
-find $log_dir -mtime +60 -name 'info*.log' -exec rm -rf {} \;
-
-# 鎷疯礉鏃ュ織鏂囦欢鍒版槰澶╃殑log涓�
-cp $log_dir/error.log $log_dir/error`date -d yesterday +%Y%m%d`.log
-# 娓呯┖nohup.out鏃ュ織
-cat /dev/null > $log_dir/error.log
-find $log_dir -mtime +60 -name 'error*.log' -exec rm -rf {} \;
\ No newline at end of file
diff --git a/server/startsh/timer_start.sh b/server/startsh/timer_start.sh
deleted file mode 100644
index f91cfea..0000000
--- a/server/startsh/timer_start.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-# 鑾峰彇褰撳墠鏃ユ湡锛屾牸寮忎负YYYYMMDD
-current_date=$(date +%Y%m%d)
-
-# 瀹氫箟鏃ュ織鏂囦欢璺緞鍜屽悕绉帮紝鍖呭惈鏃ユ湡淇℃伅
-log_file_path="/usr/local/jars/log/timer/info.log"
-log_file_error_path="/usr/local/jars/log/timer/error.log"
-
-nohup java -Xms512m -Xmx512m -Xmn512m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=10031 -jar /usr/local/jars/admin_timer.jar >"${log_file_path}" 2>"${log_file_error_path}" &
diff --git a/server/startsh/web_start.sh b/server/startsh/web_start.sh
deleted file mode 100644
index 04a27ca..0000000
--- a/server/startsh/web_start.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-# 鑾峰彇褰撳墠鏃ユ湡锛屾牸寮忎负YYYYMMDD
-current_date=$(date +%Y%m%d)
-
-# 瀹氫箟鏃ュ織鏂囦欢璺緞鍜屽悕绉帮紝鍖呭惈鏃ユ湡淇℃伅
-log_file_path="/usr/local/jars/log/web/info.log"
-log_file_error_path="/usr/local/jars/log/error.log"
-
-nohup java -Xms512m -Xmx512m -Xmn512m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=10031 -jar /usr/local/jars/web_interface.jar >"${log_file_path}" 2>"${log_file_error_path}" &
diff --git a/server/system_gateway/src/main/resources/bootstrap.yml b/server/system_gateway/src/main/resources/bootstrap.yml
index 099da4a..7a7cd02 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: self
   application:
     name: system_gateway
   # 瀹夊叏閰嶇疆
diff --git a/server/system_gateway/src/main/resources/logback-spring.xml b/server/system_gateway/src/main/resources/logback-spring.xml
index 8cf921f..3017f26 100644
--- a/server/system_gateway/src/main/resources/logback-spring.xml
+++ b/server/system_gateway/src/main/resources/logback-spring.xml
@@ -5,7 +5,7 @@
             <pattern>%highlight(%date{yyyy-MM-dd HH:mm:ss}) | %highlight(%-5level) | %highlight(%thread) | %highlight(%logger) | %msg%n</pattern>
         </layout>
     </appender>
-    <property name="log.path" value="logs/system_gateway"></property>
+    <property name="log.path" value="/usr/local/jars/logs/system_gateway"></property>
     <property name="log.fileSize" value="100MB"></property>
     <property name="log.historyDays" value="7"></property>
 
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 9b6bc6d..19f29d6 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
@@ -5,15 +5,15 @@
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.PropertyNamingStrategy;
+import net.sourceforge.pinyin4j.PinyinHelper;
 import org.apache.commons.lang3.StringUtils;
 
 import java.io.IOException;
 import java.math.BigDecimal;
+import java.text.Collator;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import  java.util.Date;
-import java.util.List;
-import java.util.Random;
+import java.util.*;
+import java.util.Date;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -676,8 +676,10 @@
     }
 
     public static void main(String[] args) {
-        System.out.println(Constants.checkCarNo("鐨朅10991"));
-        System.out.println(Constants.checkCarNo("鐨朅A10991"));
+        getChinesePingyin("DDaa姹熻悕鐨勫瀵瑰");
+//        System.out.println(DateUtil.getShortTime(new Date()));
+//        System.out.println( "2025-01-14 10:50:56".substring(0,10));
+//        System.out.println(Constants.checkCarNo("鐨朅A10991"));
 //        System.out.println(Constants.getVehiclePlateNo("婀楤140D17").getDescription());
 //        System.out.println(Constants.getVehiclePlateNo("瀹緼P0637").getDescription());
 
@@ -984,6 +986,25 @@
             this.info = info;
         }
     }
+    public static String getChinesePingyin(String chinese) {
+        if(StringUtils.isBlank(chinese)){
+            return null;
+        }
+        StringBuilder result = new StringBuilder();
+        for (char ch : chinese.toCharArray()) {
+            String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(ch);
+
+            // 濡傛灉瀛楃鏄腑鏂囷紝鍒欒幏鍙栧叾鎷奸煶鐨勯瀛楁瘝
+            if (pinyinArray != null && pinyinArray.length > 0) {
+                result.append(pinyinArray[0].charAt(0));
+            } else {
+                // 闈炰腑鏂囧瓧绗︾洿鎺ユ嫾鎺�
+                result.append(ch);
+            }
+        }
+        System.out.println(result.toString());
+        return result.toString().toUpperCase();
+    }
 
     /**
      * 鏈堝彴浣滀笟 鐘舵��
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
index b521c92..cf8b45b 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
@@ -2911,8 +2911,8 @@
 //            System.out.println(DateUtil.afterMinutesDate(-5));
 
 
-            System.out.println(DateUtil.getBeforMonthStr(new Date(),1));
-            System.out.println(DateUtil.getBeforMonthStr(new Date(),12));
+            System.out.println(getPlusTime2(DateUtil.addMonthToDate(new Date(),-1)));
+//            System.out.println(DateUtil.getBeforMonthStr(new Date(),12));
 
 //            List<Date> list =getThisMonthDateList();
 //            for(Date d :list){
diff --git a/server/system_service/src/main/java/com/doumee/dao/business/model/Company.java b/server/system_service/src/main/java/com/doumee/dao/business/model/Company.java
index 37b5bc6..35d5149 100644
--- a/server/system_service/src/main/java/com/doumee/dao/business/model/Company.java
+++ b/server/system_service/src/main/java/com/doumee/dao/business/model/Company.java
@@ -43,7 +43,8 @@
     @ApiModelProperty(value = "鏇存柊浜虹紪鐮�")
     @ExcelColumn(name="鏇存柊浜虹紪鐮�")
     private Integer editor;
-
+    @ApiModelProperty(value = "濮撳悕鎷奸煶棣栧瓧姣�")
+    private String pinyin;
     @ApiModelProperty(value = "鏇存柊鏃堕棿")
     @ExcelColumn(name="鏇存柊鏃堕棿")
     private Date editDate;
diff --git a/server/system_service/src/main/java/com/doumee/dao/business/model/Member.java b/server/system_service/src/main/java/com/doumee/dao/business/model/Member.java
index 5e2cd10..329c600 100644
--- a/server/system_service/src/main/java/com/doumee/dao/business/model/Member.java
+++ b/server/system_service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -96,6 +96,8 @@
     @JsonFormat(pattern = "yyyy-MM-dd")
     @ExcelColumn(name="鍏ヨ亴鏃ユ湡",index =9,width = 10, dateFormat = "yyyy-MM-dd")
     private Date jobDate;
+    @ApiModelProperty(value = "濮撳悕鎷奸煶棣栧瓧姣�")
+    private String pinyin;
     @ApiModelProperty(value = "鍩硅缁撴潫鏃堕棿")
     @TableField(exist = false)
     @ExcelColumn(name="鍩硅缁撴潫鏃堕棿",index =10,width = 10, dateFormat = "yyyy-MM-dd")
diff --git a/server/system_service/src/main/java/com/doumee/dao/system/SystemUserMapper.java b/server/system_service/src/main/java/com/doumee/dao/system/SystemUserMapper.java
index 7ab1d53..6a251bc 100644
--- a/server/system_service/src/main/java/com/doumee/dao/system/SystemUserMapper.java
+++ b/server/system_service/src/main/java/com/doumee/dao/system/SystemUserMapper.java
@@ -8,6 +8,7 @@
 import com.doumee.dao.system.model.SystemUser;
 import com.doumee.dao.system.vo.SystemUserListVO;
 import com.doumee.dao.system.vo.UserResponse;
+import com.github.yulichang.base.MPJBaseMapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
@@ -16,7 +17,7 @@
 /**
  * @author T14
  */
-public interface SystemUserMapper extends BaseMapper<SystemUser> {
+public interface SystemUserMapper extends MPJBaseMapper<SystemUser> {
 
     /**
      * 鏌ヨ鐢ㄦ埛鍒楄〃
diff --git a/server/system_service/src/main/java/com/doumee/dao/system/model/SystemUser.java b/server/system_service/src/main/java/com/doumee/dao/system/model/SystemUser.java
index 98054d3..ad790af 100644
--- a/server/system_service/src/main/java/com/doumee/dao/system/model/SystemUser.java
+++ b/server/system_service/src/main/java/com/doumee/dao/system/model/SystemUser.java
@@ -34,7 +34,8 @@
     private Integer id;
     @ApiModelProperty(value = "鐢ㄦ埛缂栫爜锛堝叧鑱攎ember)", example = "1")
     private Integer memberId;
-
+    @ApiModelProperty(value = "濮撳悕鎷奸煶棣栧瓧姣�")
+    private String pinyin;
     @ApiModelProperty(value = "鐢ㄦ埛鍚�")
     @NotBlank(message = "鐢ㄦ埛鍚嶄笉鑳戒负绌�")
     private String username;
@@ -117,8 +118,28 @@
     @ApiModelProperty(value = "鍏徃鍚嶇О")
     @TableField(exist = false)
     private String companyName;
+    @ApiModelProperty(value = "鎼滅储鍏抽敭璇嶈")
+    @TableField(exist = false)
+    private String queryParam;
+    @ApiModelProperty(value = "鍦ㄨ亴鐘舵�� 0鍦ㄨ亴 1绂昏亴")
+    @TableField(exist = false)
+    private Integer workStatus;
+    @ApiModelProperty(value = "鍏徃绫诲瀷")
+    @TableField(exist = false)
+    private Integer companyType;
+    @ApiModelProperty(value = "鏄惁鏌ヨ鍥哄畾浜哄憳缁勭粐涓婚敭" ,hidden = true)
+    @TableField(exist = false)
+    private String companySpecialId;
+
+    @ApiModelProperty(value = "鏄惁鏌ヨ鍥哄畾浜哄憳锛�0=鍚︼紱1=鏄�" )
+    @TableField(exist = false)
+    private Integer querySpecial;
+
     @ApiModelProperty(value = "鏁版嵁鏉冮檺鍐呴儴闂ㄧ紪鐮侀泦鍚�")
     @TableField(exist = false)
     private List<Integer> companyIdList;
+    @ApiModelProperty(value = "浜鸿劯鐓х墖")
+    @TableField(exist = false)
+    private String faceImg;
 
 }
diff --git a/server/system_service/src/main/java/com/doumee/service/business/third/model/TMSContants.java b/server/system_service/src/main/java/com/doumee/service/business/third/model/TMSContants.java
index 6e55bb4..a764f54 100644
--- a/server/system_service/src/main/java/com/doumee/service/business/third/model/TMSContants.java
+++ b/server/system_service/src/main/java/com/doumee/service/business/third/model/TMSContants.java
@@ -40,15 +40,16 @@
          * 宸插埌璐�
          * 宸插叆搴�
          */
-        ddsc(0,"璁㈠崟鐢熸垚",new Integer[]{ChildStatusLevel.create.getOrderStatus()}),
-        ydpzz (1,"杩愬崟閰嶈浇涓�",new Integer[]{ChildStatusLevel.ysdxc.getOrderStatus()
+        ddsc(0,"璁㈠崟鐢熸垚",new Integer[]{ChildStatusLevel.create.getOrderStatus()
+                ,ChildStatusLevel.kcbz.getOrderStatus()}),
+        ydpzz (1,"杩愯緭浠诲姟鐢熸垚",new Integer[]{ChildStatusLevel.ysdxc.getOrderStatus()
                 ,ChildStatusLevel.ysdcx.getOrderStatus()
                 ,ChildStatusLevel.shtg.getOrderStatus()
                 ,ChildStatusLevel.shwtg.getOrderStatus()}),
-        ckckz (2,"浠撳簱鍑哄簱涓�",new Integer[]{ChildStatusLevel.ddzhddzs.getOrderStatus()
+        ckckz (2,"浠撳簱鍑哄簱",new Integer[]{ChildStatusLevel.ddzhddzs.getOrderStatus()
                 ,ChildStatusLevel.sqzyzwc.getOrderStatus()
                 ,ChildStatusLevel.clqddzs.getOrderStatus()}),
-        clysz(3, "杞﹁締杩愯緭涓�",new Integer[]{ChildStatusLevel.clqdapp.getOrderStatus()}),
+        clysz(3, "杞﹁締杩愯緭",new Integer[]{ChildStatusLevel.clqdapp.getOrderStatus()}),
         ydh(4,"宸插埌璐�",new Integer[]{ChildStatusLevel.ddzhd.getOrderStatus()}),
         yrk (5,"宸插叆搴�",new Integer[]{ChildStatusLevel.ddxhd.getOrderStatus()});
 
@@ -138,6 +139,7 @@
         ddzhddzs(6,3,2,"鍒拌揪瑁呰揣鍦�-鐢靛瓙閿佹苯杩�","杞﹁締宸插埌杈捐璐у湴" ),
         clqddzs(7, 4,2,"杞﹁締鍚繍-鐢靛瓙閿佹苯杩�","杞﹁締宸插惎杩�" ),
         clqdapp(8, 7,3,"杞﹁締鍚繍-APP","杞﹁締杩愯緭涓�" ),
+        kcbz(11, 9,0,"寰呯敓浜�","褰撳墠璁㈠崟搴撳瓨涓嶈冻锛屽緟鐢熶骇" ),
         ddzhd(9, 8,4,"鍒拌揪鍗歌揣鍦�-APP","杞﹁締宸插埌杈惧嵏璐у湴" ),
         ddxhd(10, 5,5,"鍒拌揪鍗歌揣鍦�-鐢靛瓙閿佹苯杩�","鐢靛瓙閿佸凡瑙i攣锛岃繍杈撲换鍔″凡瀹屾垚" ),
         ;
diff --git a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
index 450f926..0d52a93 100644
--- a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
+++ b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.dao.business.model.Member;
 import com.doumee.service.business.third.model.PageData;
 import com.doumee.service.business.third.model.PageWrap;
 import com.doumee.core.utils.Constants;
@@ -120,8 +121,21 @@
 
     @Override
     public List<SystemUser> findList(SystemUser systemUser) {
-        Wrapper<SystemUser> wrapper = new QueryWrapper<>(systemUser);
-        return systemUserMapper.selectList(wrapper);
+        MPJLambdaWrapper<SystemUser> wrapper = new MPJLambdaWrapper<>();
+        wrapper.selectAll(SystemUser.class )
+                .selectAs(Company::getName,SystemUser::getCompanyName)
+                .eq(SystemUser::getDeleted,Constants.ZERO)
+                .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
+                .eq( systemUser.getCompanyId() !=null,SystemUser::getCompanyId,systemUser.getCompanyId())
+                .eq( systemUser.getCompanyType() !=null,Company::getType,systemUser.getCompanyType())
+                .like(StringUtils.isNotBlank(systemUser.getRealname()),SystemUser::getRealname,systemUser.getRealname())
+                .like(StringUtils.isNotBlank(systemUser.getMobile()),SystemUser::getMobile,systemUser.getMobile())
+                .like(StringUtils.isNotBlank(systemUser.getUsername()),SystemUser::getUsername,systemUser.getUsername())
+                .like(StringUtils.isNotBlank(systemUser.getCompanyName()),Company::getName,systemUser.getCompanyName())
+                .orderByAsc( Company::getPinyin )
+                .orderByAsc(SystemUser::getPinyin)
+    ;
+        return systemUserMapper.selectJoinList(SystemUser.class,wrapper);
     }
 
     @Override
@@ -229,17 +243,53 @@
 
 
     @Override
-    public List<SystemUser> findAllList(SystemUser pageWrap) {
-        MPJLambdaWrapper<SystemUser> queryWrapper = new MPJLambdaWrapper<>();
-        Utils.MP.blankToNull(pageWrap);
-        queryWrapper.selectAll(SystemUser.class);
-        queryWrapper.eq(SystemUser::getDeleted, Constants.ZERO);
-        queryWrapper.and(StringUtils.isNotBlank(pageWrap.getUsername()),ms->ms.like(SystemUser::getUsername,pageWrap.getUsername())
-        .or().like(SystemUser::getMobile,pageWrap.getUsername())
-                .or().like(SystemUser::getRealname,pageWrap.getUsername())
-        );
-        queryWrapper.orderByDesc(SystemUser::getCreateTime);
-        List<SystemUser> result = systemUserJoinMapper.selectJoinList( SystemUser.class, queryWrapper);
+    public List<SystemUser> findAllList(SystemUser systemUser) {
+
+        //鏌ヨ鐗规畩鐨�42浜洪厤缃�
+        if( Constants.equalsInteger(systemUser.getQuerySpecial(),Constants.ONE)){
+            String companySpecialId = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SPECIAL_COMPANY_ID).getCode();
+            if(StringUtils.isNotBlank(companySpecialId)){
+                systemUser.setCompanySpecialId(companySpecialId);
+            }
+        }
+
+        MPJLambdaWrapper<SystemUser> wrapper = new MPJLambdaWrapper<>();
+        wrapper.selectAll(SystemUser.class )
+                .selectAs(Company::getCompanyNamePath,SystemUser::getCompanyName)
+                .selectAs(Member::getFaceImg,SystemUser::getFaceImg)
+                .eq(SystemUser::getDeleted,Constants.ZERO)
+                .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
+                .leftJoin(Member.class,Member::getId,SystemUser::getMemberId)
+                .and(StringUtils.isNotBlank(systemUser.getUsername()),ms->ms.like(SystemUser::getUsername,systemUser.getUsername())
+                        .or().like(SystemUser::getMobile,systemUser.getUsername())
+                        .or().like(SystemUser::getRealname,systemUser.getUsername()))
+                .and(StringUtils.isNotBlank(systemUser.getQueryParam()),ms->ms.like(SystemUser::getUsername,systemUser.getUsername())
+                        .or().like(SystemUser::getMobile,systemUser.getQueryParam())
+                        .or().like(Company::getName,systemUser.getQueryParam())
+                        .or().like(SystemUser::getRealname,systemUser.getQueryParam()))
+                .eq( systemUser.getCompanyId() !=null,SystemUser::getCompanyId,systemUser.getCompanyId())
+                .eq( systemUser.getCompanyType() !=null,Company::getType,systemUser.getCompanyType())
+                .eq( systemUser.getWorkStatus() !=null,Member::getWorkStatus,systemUser.getWorkStatus())
+                .like(StringUtils.isNotBlank(systemUser.getRealname()),SystemUser::getRealname,systemUser.getRealname())
+                .like(StringUtils.isNotBlank(systemUser.getMobile()),SystemUser::getMobile,systemUser.getMobile())
+                .like(StringUtils.isNotBlank(systemUser.getUsername()),SystemUser::getUsername,systemUser.getUsername())
+                .like(StringUtils.isNotBlank(systemUser.getCompanyName()),Company::getName,systemUser.getCompanyName())
+                .apply(StringUtils.isNotBlank(systemUser.getCompanySpecialId())," find_in_set('"+systemUser.getCompanySpecialId()+"',REPLACE(t1.company_path,'/',','))")
+                .orderByAsc( Company::getPinyin )
+                .orderByAsc(SystemUser::getPinyin)
+         ;
+        List<SystemUser> result = systemUserJoinMapper.selectJoinList( SystemUser.class, wrapper);
+        if(result!=null){
+            String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
+                    systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
+            for (SystemUser memberInfoDTO:result) {
+                //鎷兼帴鍓嶇紑
+                if (StringUtils.isNotBlank(memberInfoDTO.getFaceImg())) {
+                    memberInfoDTO.setFaceImg(prefixUrl + memberInfoDTO.getFaceImg());
+                }
+            }
+        }
+
         return result;
     }
 
@@ -254,7 +304,7 @@
         queryWrapper.eq(SystemUser::getDeleted, Constants.ZERO);
         queryWrapper.leftJoin(Company.class,Company::getId,SystemUser::getCompanyId);
         queryWrapper.eq(Company::getType,Constants.ONE);
-        queryWrapper.orderByDesc(SystemUser::getCreateTime);
+        queryWrapper.orderByAsc(SystemUser::getPinyin);
         List<SystemUser> result = systemUserJoinMapper.selectJoinList( SystemUser.class, queryWrapper);
         return result;
     }
diff --git a/server/visits/admin_timer/src/main/resources/logback-spring.xml b/server/visits/admin_timer/src/main/resources/logback-spring.xml
index daa70cf..a203347 100644
--- a/server/visits/admin_timer/src/main/resources/logback-spring.xml
+++ b/server/visits/admin_timer/src/main/resources/logback-spring.xml
@@ -5,7 +5,7 @@
             <pattern>%highlight(%date{yyyy-MM-dd HH:mm:ss}) | %highlight(%-5level) | %highlight(%thread) | %highlight(%logger) | %msg%n</pattern>
         </layout>
     </appender>
-    <property name="log.path" value="logs/visitsTimer"></property>
+    <property name="log.path" value="/usr/local/jars/logs/visitsTimer"></property>
     <property name="log.fileSize" value="100MB"></property>
     <property name="log.historyDays" value="7"></property>
     <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkInterfaceTestCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkInterfaceTestCloudController.java
index 273ecdb..37db0f2 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkInterfaceTestCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkInterfaceTestCloudController.java
@@ -8,6 +8,7 @@
 import com.doumee.core.haikang.model.param.request.*;
 import com.doumee.core.haikang.model.param.respose.*;
 import com.doumee.core.haikang.service.HKService;
+import com.doumee.service.business.MemberService;
 import com.doumee.service.business.third.model.ApiResponse;
 import com.doumee.core.utils.Constants;
 import com.doumee.dao.business.model.Device;
@@ -35,6 +36,8 @@
 
     @Autowired
     private SystemDictDataBiz systemDictDataBiz;
+    @Autowired
+    private MemberService memberService;
     @Autowired
     private HkSyncImgServiceImpl hkSyncImgService;
     @Autowired
@@ -70,6 +73,13 @@
         }
         return ApiResponse.success(dList);
     }
+    @ApiOperation("銆愮郴缁熴�戦噸鏂板垵濮嬪寲鎵�鏈塩ompany銆乵ember鍜宻ystemuser鏁版嵁鐨刾inyin瀛楁")
+    @GetMapping("/initPinyinTool")
+    @LoginNoRequired
+    public ApiResponse<List<Map<String,Object>> > initPinyinTool( HttpServletResponse response) {
+        memberService.initPinyinTool();
+        return ApiResponse.success(null);
+    }
     @ApiOperation("銆愭捣搴枫�戞祴璇昄ED鏄剧ず灞�")
     @PostMapping("/testLed")
     @LoginNoRequired
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunActController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunActController.java
index aa21852..ba34f51 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunActController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunActController.java
@@ -3,6 +3,7 @@
 import com.doumee.api.BaseController;
 import com.doumee.config.annotation.LoginNoRequired;
 import com.doumee.core.haikang.model.cars.response.CarsAlarmResultListResponse;
+import com.doumee.dao.web.reqeust.CarsJobAndContractByJobIdDTO;
 import com.doumee.service.business.third.model.ApiResponse;
 import com.doumee.core.utils.Constants;
 import com.doumee.dao.business.join.PlatformJobJoinMapper;
@@ -87,6 +88,13 @@
         return ApiResponse.success(data);
     }
     @LoginNoRequired
+    @ApiOperation("鏍规嵁浣滀笟缂栫爜鏌ヨ浣滀笟淇℃伅鍜屽悎鍚屼俊鎭泦鍚�")
+    @PostMapping("/getJobDetailsById")
+    public ApiResponse<CarsJobAndContractVO> getJobDetailsById(@RequestBody CarsJobAndContractByJobIdDTO param) {
+        CarsJobAndContractVO data = boardService.getJobDetailsById(param);
+        return ApiResponse.success(data);
+    }
+    @LoginNoRequired
     @ApiOperation("褰撴棩杩愯緭浠诲姟")
     @GetMapping("/platformJobList")
     public ApiResponse<List<PlatformJob>> platformJobList() {
diff --git a/server/visits/dmvisit_admin/src/main/resources/logback-spring.xml b/server/visits/dmvisit_admin/src/main/resources/logback-spring.xml
index 12483fd..88c73cd 100644
--- a/server/visits/dmvisit_admin/src/main/resources/logback-spring.xml
+++ b/server/visits/dmvisit_admin/src/main/resources/logback-spring.xml
@@ -5,7 +5,7 @@
             <pattern>%highlight(%date{yyyy-MM-dd HH:mm:ss}) | %highlight(%-5level) | %highlight(%thread) | %highlight(%logger) | %msg%n</pattern>
         </layout>
     </appender>
-    <property name="log.path" value="logs/visitsAdmin"></property>
+    <property name="log.path" value="/usr/local/jars/logs/visitsAdmin"></property>
     <property name="log.fileSize" value="100MB"></property>
     <property name="log.historyDays" value="7"></property>
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/CarsJobAndContractByJobIdDTO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/CarsJobAndContractByJobIdDTO.java
new file mode 100644
index 0000000..cdff2c8
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/CarsJobAndContractByJobIdDTO.java
@@ -0,0 +1,19 @@
+package com.doumee.dao.web.reqeust;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2024/1/4 16:17
+ */
+@Data
+public class CarsJobAndContractByJobIdDTO {
+
+    @ApiModelProperty(value = "浠诲姟缂栫爜")
+    private Integer id;
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/WholeProvinceBoardVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/WholeProvinceBoardVO.java
index 34540f1..bf1faf4 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/WholeProvinceBoardVO.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/WholeProvinceBoardVO.java
@@ -20,7 +20,11 @@
 
     @ApiModelProperty(value = "銆愬嚭搴撹兘鍔涖�戝綋鏃ヨ鍒掗噺")
     private BigDecimal currentPlanNum;
-    @ApiModelProperty(value = "銆愬嚭搴撹兘鍔涖�戝綋鏃ヨ鍒掕溅娆¢噺")
+    @ApiModelProperty(value = "銆愬嚭搴撹兘鍔涖�戞棤闇�閰嶈浇鐨勪换鍔¢噺")
+    private BigDecimal noNeedTransportOrderNum;
+    @ApiModelProperty(value = "銆愬嚭搴撹兘鍔涖�戦渶閰嶈浇鐨勪换鍔¢噺")
+    private BigDecimal needTransportOrderNum;
+    @ApiModelProperty(value = "銆愬嚭搴撹兘鍔涖�戝綋鍓嶄换鍔¤溅娆�")
     private int currentPlanCarNum;
 
     @ApiModelProperty(value = "銆愬嚭搴撹兘鍔涖�戜粖鏃ュ嚭搴撻噺")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java
index 260f0f1..d425932 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java
@@ -206,4 +206,6 @@
 
 
     List<Member>  findDriveList(Member model);
+
+    void initPinyinTool();
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
index 731771c..5d4c90d 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -117,6 +117,7 @@
         company.setHkDate(company.getCreateDate());
         company.setEditDate(company.getCreateDate());
         company.setEditor(company.getCreator());
+        company.setPinyin(Constants.getChinesePingyin(company.getName()));
         company.setHkId(UUID.randomUUID().toString().replace("-",""));
         companyMapper.insert(company);
         //涓嬪彂娴峰悍瀹夐槻骞冲彴
@@ -208,6 +209,7 @@
         insert.setCode(company.getCode());
         insert.setParentId(company.getParentId());
         insert.setLinkName(company.getLinkName());
+        company.setPinyin(Constants.getChinesePingyin(company.getName()));
         insert.setLinkPhone(company.getLinkPhone());
         companyMapper.insert(insert);
         return insert.getId();
@@ -305,6 +307,7 @@
         company.setHkDate(company.getHkDate());
         company.setHkId(StringUtils.defaultString(model.getHkId(),UUID.randomUUID().toString().replace("-","")));
         company.setParentId(null);//涓嶆敮鎸佷慨鏀圭埗绾�
+        company.setPinyin(Constants.getChinesePingyin(company.getName()));
         companyMapper.updateById(company);
         //鏇存柊鐨刢ompanyPath
         String newName = model.getCompanyNamePath().replace(model.getName(),company.getName());
@@ -452,7 +455,7 @@
         if (company.getQueryHiddenDanger() != null && Constants.equalsInteger(company.getQueryHiddenDanger(),Constants.ONE)) {
             queryWrapper.apply(" t.id in ( select hdp.COMPANY_ID from hidden_danger_param hdp where hdp.ISDELETED = 0 and hdp.STATUS = 0 and hdp.TYPE = 0  ) ");
         }
-        queryWrapper.orderByDesc(Company::getCreateDate);
+        queryWrapper.orderByAsc(Company::getPinyin);
         queryWrapper.leftJoin(Company.class,Company::getId,Company::getParentId);
         queryWrapper.select(" t.* ")
                 .select("(select count(m.id) from member m where m.COMPANY_ID=t.id and m.ISDELETED=0) as countNum") ;
@@ -564,10 +567,9 @@
             queryWrapper.ge(Company::getFsDate, Utils.Date.getStart(pageWrap.getModel().getFsDate()));
             queryWrapper.le(Company::getFsDate, Utils.Date.getEnd(pageWrap.getModel().getFsDate()));
         }
-        queryWrapper.orderByDesc(Company::getCreateDate);
         queryWrapper.leftJoin(Company.class,Company::getId,Company::getParentId);
         /*        .leftJoin(Member.class, Member::getId,Company::getHeadId)*/
-      /*  queryWrapper.leftJoin(" company c on c.id=t.parent_id");*/
+        /*  queryWrapper.leftJoin(" company c on c.id=t.parent_id");*/
         queryWrapper.selectAll(Company.class)
                 .select("(select count(m.id) from member m where m.COMPANY_ID=t.id and m.ISDELETED=0) as countNum") ;
         queryWrapper.select("t1.name",Company::getParentName);
@@ -575,6 +577,7 @@
         queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getStatus()),Company::getStatus,Constants.ZERO);
         queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getName()),Company::getName,pageWrap.getModel().getName());
         queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getParentName()),"c.name",pageWrap.getModel().getParentName());
+        queryWrapper.orderByAsc(Company::getPinyin);
         IPage<Company> companyIPage = companyJoinMapper.selectJoinPage(page, Company.class, queryWrapper);
         return PageData.from(companyIPage);
     }
@@ -603,7 +606,8 @@
         LambdaQueryWrapper<Company> wrapper = new LambdaQueryWrapper<>();
 
         wrapper.eq(Company::getIsdeleted,Constants.ZERO)
-                .eq(Constants.equalsInteger(type,Constants.ONE),Company::getType,type);
+                .eq(Constants.equalsInteger(type,Constants.ONE),Company::getType,type)
+                .orderByAsc(Company::getPinyin);
         List<Company> companies = companyMapper.selectList(wrapper);
         return getCompanyTree( companies, null);
     }
@@ -655,6 +659,7 @@
         if (CollectionUtils.isEmpty(companies)){
             return;
         }
+        company.setPinyin(Constants.getChinesePingyin(company.getName()));
         //鏂板鐨勬儏鍐靛瓨鍦ㄨ褰�
         if (Objects.isNull(company.getId())){
             throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"鍏徃鍚嶇О宸插瓨鍦�");
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 5908401..7c3ed15 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
@@ -525,6 +525,7 @@
                 if(StringUtils.isBlank(multifile.getFileurl())){
                     continue;
                 }
+                multifile.setId(null);
                 multifile.setCreateDate(new Date());
                 multifile.setCreator(hiddenDanger.getEditor());
                 multifile.setIsdeleted(Constants.ZERO);
@@ -538,6 +539,11 @@
             if(hiddenDanger.getStatus().equals(Constants.ONE) && !isTrue){
                 throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇锋寜瑕佹眰濉啓澶勭悊鏁版嵁");
             }
+            multifileMapper.update(null,new UpdateWrapper<Multifile>().lambda()
+                    .set(Multifile::getIsdeleted,Constants.ONE )
+                    .eq(Multifile::getObjType,Constants.MultiFile.HIDDEN_DANGER_DEAL_BEFORE.getKey())
+                    .set(Multifile::getObjId,hiddenDanger.getId())
+            );
         }
         if(hiddenDanger.getStatus().equals(Constants.ONE)){
             boolean isTrue = false;
@@ -548,6 +554,7 @@
                     if(StringUtils.isBlank(multifile.getFileurl())){
                         continue;
                     }
+                    multifile.setId(null);
                     multifile.setCreateDate(new Date());
                     multifile.setCreator(hiddenDanger.getEditor());
                     multifile.setIsdeleted(Constants.ZERO);
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 e5b186a..811936b 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
@@ -196,6 +196,7 @@
         user.setSource(Constants.ZERO);
         user.setDeleted(Boolean.FALSE);
         user.setFixed(Boolean.FALSE);
+        user.setPinyin(Constants.getChinesePingyin(user.getRealname()));
         user.setStatus(Constants.ZERO);
         return user;
     }
@@ -224,6 +225,7 @@
         insert.setSex(Constants.getSexByCardNo( member.getIdcardNo()));//鏍规嵁韬唤璇佸彿鑾峰彇鎬у埆
         insert.setJobDate(member.getJobDate());
         insert.setIsDangyuan(member.getIsDangyuan());
+        insert.setPinyin(Constants.getChinesePingyin(member.getName()));
         insert.setPositionId(member.getPositionId());
         if(StringUtils.isNotBlank(member.getIdcardNo())){
             insert.setBirthday( DateUtil.fromStringToDate("yyyyMMdd",IdcardUtil.getBirthByIdCard(member.getIdcardNo())));
@@ -482,6 +484,7 @@
                             .set(SystemUser::getUpdateUser,member.getLoginUserInfo().getId())
                             .set(SystemUser::getUpdateTime,new Date())
                             .set(StringUtils.isNotBlank(member.getFaceImg()),SystemUser::getAvatar,member.getFaceImg())
+                            .set(StringUtils.isNotBlank(member.getName()),SystemUser::getPinyin,Constants.getChinesePingyin(member.getName()))
                             .set(StringUtils.isNotBlank(member.getPhone()),SystemUser::getMobile,member.getPhone())
                             .set(StringUtils.isNotBlank(member.getPhone()),SystemUser::getUsername,member.getPhone())
                             .set(StringUtils.isNotBlank(member.getName()),SystemUser::getRealname,member.getName())
@@ -511,6 +514,8 @@
             //濡傛灉浜鸿劯娌″彉鍖�
             member.setFaceImg(null);
         }
+
+        member.setPinyin(Constants.getChinesePingyin(member.getName()));
         return model;
     }
 
@@ -897,7 +902,7 @@
             loginUserInfo = updateMember.getLoginUserInfo();
         }
         //鏍¢獙鍙傛暟 骞朵笖鏇存柊systemuser 鎵嬫満鍙峰拰宸ュ彿淇℃伅锛堝鏋滈渶瑕佷慨鏀圭殑璇濓級
-         Member model =   isMemberUpdateParamValid(updateMember);
+        Member model =   isMemberUpdateParamValid(updateMember);
         updateMember.setEditor(loginUserInfo.getId());
         updateMember.setEditDate(new Date());
         //娴峰悍浜哄憳鏂板涓氬姟
@@ -912,6 +917,7 @@
                     .set(StringUtils.isNotBlank(updateMember.getName()),Member::getName,updateMember.getName())
                     .set(Member::getEditDate,updateMember.getEditDate())
                     .set(Member::getEditor,updateMember.getEditor())
+                    .set(StringUtils.isNotBlank(updateMember.getName()),Member::getPinyin,Constants.getChinesePingyin(updateMember.getName()))
                     .set(StringUtils.isNotBlank(updateMember.getIdcardNo()),Member::getIdcardNo,updateMember.getIdcardNo())
                     .set(StringUtils.isNotBlank(updateMember.getIdcardDecode()),Member::getIdcardDecode,updateMember.getIdcardDecode())
                     .set( Member::getAuthStatus,Constants.ZERO)
@@ -1162,6 +1168,7 @@
         }
         queryWrapper.eq(Member::getIsdeleted,Constants.ZERO);
         queryWrapper.eq(Member::getWorkStatus,Constants.ZERO);
+        queryWrapper.orderByAsc(Member::getPinyin);
         List<Member> list =  memberJoinMapper.selectJoinList(Member.class,queryWrapper);
 //        if(list!=null){
 //            for(Member m : list){
@@ -1188,6 +1195,7 @@
             queryWrapper.eq(Member::getCompanyId,member.getCompanyId());
         }
         queryWrapper.eq(Member::getIsdeleted,Constants.ZERO);
+        queryWrapper.orderByAsc(Member::getPinyin);
         List<Member> list =  memberJoinMapper.selectJoinList(Member.class,queryWrapper);
         if(list!=null){
             for(Member m : list){
@@ -1195,6 +1203,46 @@
             }
         }
         return  list;
+    }
+    @Override
+    public  void initPinyinTool(){
+        MPJLambdaWrapper<Member> queryWrapper = new MPJLambdaWrapper<>();
+        List<Member> list =  memberJoinMapper.selectList(queryWrapper);
+        if(list!=null){
+            for(Member m : list){
+               if(m.getName()!=null){
+                   Member u = new Member();
+                   u.setId(m.getId());
+                   u.setPinyin(Constants.getChinesePingyin(m.getName()));
+                   memberMapper.updateById(u);
+               }
+            }
+        }
+
+        MPJLambdaWrapper<SystemUser> q1 = new MPJLambdaWrapper<>();
+        List<SystemUser> list1 =  systemUserMapper.selectList(q1);
+        if(list1!=null){
+            for(SystemUser m : list1){
+                if(m.getRealname()!=null){
+                    SystemUser u = new SystemUser();
+                    u.setId(m.getId());
+                    u.setPinyin(Constants.getChinesePingyin(m.getRealname()));
+                    systemUserMapper.updateById(u);
+                }
+            }
+        }
+        MPJLambdaWrapper<Company> q2 = new MPJLambdaWrapper<>();
+        List<Company> list2 =  companyMapper.selectList(q2);
+        if(list2!=null){
+            for(Company m : list2){
+                if(m.getName()!=null){
+                    Company u = new Company();
+                    u.setId(m.getId());
+                    u.setPinyin(Constants.getChinesePingyin(m.getName()));
+                    companyMapper.updateById(u);
+                }
+            }
+        }
     }
 
     @Override
@@ -1432,7 +1480,7 @@
 //                .eq(Member::getStatus,Constants.Status.ENABLE.getValue())
 //                .eq(Member::getType,Constants.memberType.internal)
                 .eq(pageWrap.getModel().getHkStatus()!=null,Member::getHkStatus,pageWrap.getModel().getHkStatus())
-                .orderByDesc(!Constants.equalsInteger(pageWrap.getModel().getIsdeleted(),Constants.ONE),Member::getCreateDate)
+                .orderByAsc(!Constants.equalsInteger(pageWrap.getModel().getIsdeleted(),Constants.ONE),Member::getPinyin)
                 .orderByDesc(Constants.equalsInteger(pageWrap.getModel().getIsdeleted(),Constants.ONE),Member::getEditDate);
         if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin())==DataSyncConfig.origin.erp){
             queryWrapper.eq( StringUtils.isNotBlank(pageWrap.getModel().getErpOrgId()),Member::getErpOrgId,pageWrap.getModel().getErpOrgId());
@@ -1538,7 +1586,7 @@
                 .eq(Objects.nonNull(pageWrap.getModel().getStatus()),Member::getStatus,pageWrap.getModel().getStatus())
                 .eq(Member::getType,Constants.memberType.visitor)
                 .eq(Member::getIsdeleted,Constants.ZERO)
-                .orderByDesc(Member::getCreateDate);
+                .orderByAsc(Member::getPinyin);
         if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin())==DataSyncConfig.origin.erp){
             queryWrapper.eq( StringUtils.isNotBlank(pageWrap.getModel().getErpOrgId()),Member::getErpOrgId,pageWrap.getModel().getErpOrgId());
         }else{
@@ -1576,7 +1624,7 @@
 
         queryWrapper.selectAs(Position::getName,Member::getPositionName);
         queryWrapper.leftJoin(Position.class,Position::getId,Member::getPositionId);
-
+        queryWrapper.orderByAsc(Member::getPinyin);
         IPage<Member> memberIPage = memberJoinMapper.selectJoinPage(page, Member.class,queryWrapper);
         return PageData.from(memberIPage);
 
@@ -1669,9 +1717,11 @@
                 .leftJoin(Company.class,Company::getId,Member::getCompanyId)
                 .eq(Member::getIsdeleted,Constants.ZERO)
                 .eq(Company::getType,Constants.ZERO)
-                .eq(Member::getStatus,Constants.ZERO)
+                .eq(Member::getStatus,Constants.ZERO
+                )
                 .isNotNull(Member::getHkId)
-                .apply("to_days(LAST_VISIT_DATE)+ "+days+" < to_days(now())" ));
+                .apply("to_days(LAST_VISIT_DATE)+ "+days+" < to_days(now())" )
+                .orderByAsc(Member::getPinyin));
         if(CollectionUtils.isEmpty(memberList)){
            return;
         }
@@ -1888,6 +1938,7 @@
                 .eq(Member::getWorkStatus,Constants.ZERO)
                 .eq(Member::getCanVisit,Constants.ONE)
                 .eq(Company::getType,Constants.ONE)
+                .orderByAsc(Member::getPinyin)
         );
         List<MemberVO> memberVOList = new ArrayList<>();
         if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(memberList)) {
@@ -1924,7 +1975,8 @@
             queryWrapper.and(StringUtils.isNotBlank(visitMemberDTO.getName()), ms->ms.like(Member::getPhone,visitMemberDTO.getName())
                     .or().like(Member::getPhone,visitMemberDTO.getName()));
         }
-        queryWrapper.orderByDesc(Visits::getCreateDate);
+        queryWrapper.orderByAsc(Member::getPinyin);
+//      queryWrapper.orderByDesc(Visits::getCreateDate);
         IPage<MemberVO> result = memberJoinMapper.selectJoinPage(page, MemberVO.class,queryWrapper);
 
         String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
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 acee3db..ea52c99 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
@@ -1146,7 +1146,7 @@
         //骞挎挱 led閫氱煡
         platformJob.setPlatformName(platform.getName());
         this.broadcastAndLEed(platformJob,Constants.PlatformLedContent.CALLING.getInfo(),
-                Constants.PlatformBroadcastContent.CALLING.getInfo()
+                Constants.PlatformBroadcastContent.CALLING.getInfo()+ Constants.PlatformBroadcastContent.CALLING.getInfo() + Constants.PlatformBroadcastContent.CALLING.getInfo()
         );
 
         platformJob.setPlatformWmsCode(platform.getCode());
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 d17348e..5a06a00 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
@@ -14,6 +14,7 @@
 import com.doumee.core.haikang.model.param.respose.*;
 import com.doumee.core.haikang.service.HKCarOpenService;
 import com.doumee.core.haikang.service.HKService;
+import com.doumee.dao.web.reqeust.CarsJobAndContractByJobIdDTO;
 import com.doumee.service.business.third.model.request.TmsFacrotyCodeListRequest;
 import com.doumee.service.business.third.model.request.TmsOrderNoFinishListRequest;
 import com.doumee.service.business.third.model.request.TmsOutQtyAndVehicleQtyRequest;
@@ -806,6 +807,36 @@
                                 Constants.PlatformJobStatus.AUTHED_LEAVE.getKey(),
                                 Constants.PlatformJobStatus.CALLED.getKey())
                         .last("limit 1"));
+
+        dealJobDetailAndContractBiz(job,data);
+
+        return data;
+
+    }
+    /**
+     * 銆愬洯鍖虹墿鏂欎腑蹇冭皟搴︺�戠湅鏉�-鏍规嵁杞︾墝鍙锋煡璇綔涓氫俊鎭拰鍚堝悓淇℃伅闆嗗悎
+     *
+     * @return
+     *
+     */
+    @Override
+    public  CarsJobAndContractVO  getJobDetailsById(CarsJobAndContractByJobIdDTO param) {
+        CarsJobAndContractVO data = new CarsJobAndContractVO();
+        if(param.getId() == null){
+            return  data;
+        }
+        PlatformJob job = platformJobMapper.selectJoinOne(PlatformJob.class,
+                new MPJLambdaWrapper<PlatformJob>()
+                        .selectAll(PlatformJob.class)
+                        .eq(PlatformJob::getId,param.getId())
+                        .last("limit 1"));
+        dealJobDetailAndContractBiz(job,data);
+
+        return data;
+
+    }
+
+    private void dealJobDetailAndContractBiz(PlatformJob job, CarsJobAndContractVO data) {
         if(job!=null){
             List<PlatformLog>  logList = platformLogMapper.selectJoinList(PlatformLog.class,
                     new MPJLambdaWrapper<PlatformLog>()
@@ -845,7 +876,7 @@
                 if(detailList!=null){
                     for(PlatformWmsDetail d : detailList){
                         if(isExistIocode(d.getIocode(),data.getContractList())){
-                                continue;
+                            continue;
                         }
                         tt = new CarsContractVO();
                         tt.setIoCode(d.getIocode());
@@ -858,10 +889,6 @@
             }
 
         }
-
-
-        return data;
-
     }
 
     private List<PlatformWmsDetail> getDetailListByCode(String iocode, List<PlatformWmsDetail> detailList,CarsContractVO tt) {
@@ -911,11 +938,8 @@
     @Override
     public  PlatformJobRunBoardNewVO platformJobCenterData(){
         PlatformJobRunBoardNewVO data = new PlatformJobRunBoardNewVO();
-        Random random = new Random();
-
-        data.setMonthOutTimes(random.nextInt(1000));
-        data.setYearOutTimes(random.nextInt(1000) * 11);
-
+        data.setMonthOutTimes(0);
+        data.setYearOutTimes(0);
         Date month  = Utils.Date.getStart(new Date());//鏈湀
         Date lastMonth =  DateUtil.addMonthToDate(month,-1);//涓婃湀
         Date year = Utils.Date.getStart(new Date());//浠婂勾
@@ -978,7 +1002,7 @@
                         .selectAs(PlatformJob::getStatus,PlatformJob::getStatus)
                         .selectAs(PlatformJob::getType,PlatformJob::getType)
                         .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
-//                        .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date)
+                        // .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date)
                         .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                         .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey(),Constants.PlatformJobStatus.CALLED.getKey())
                         .apply("   to_days(create_date) <to_days(now())"));
@@ -1037,7 +1061,6 @@
         }
         return data;
     }
-
 
     private BigDecimal getDoneHoursByData(String start ,String end) {
         List<PlatformLog> platformLogList = platformLogMapper.selectList(new QueryWrapper<PlatformLog>().lambda()
@@ -2208,6 +2231,9 @@
         data.setHoursAbility(new BigDecimal(0));
         data.setCurrentPlanNum(new BigDecimal(0));
         data.setCurrentOrderNum(new BigDecimal(0));
+        data.setNoNeedTransportOrderNum(new BigDecimal(0));
+        data.setNeedTransportOrderNum(new BigDecimal(0));
+        data.setCurrentOrderNum(new BigDecimal(0));
         data.setCrrentRestNum(new BigDecimal(0));
         data.setCrrentOutNum(new BigDecimal(0));
         List<TmsFactoryParam> paramList = factoryList();
@@ -2255,73 +2281,26 @@
         }
         TmsOutboundCapabilityResponse result=  tmsService.getOutboundCapability(param);
         if(result !=null){
+            String todayDate = DateUtil.getShortTime(new Date());
             List<String> planCodes = new ArrayList<>();
             List<String> todayCodes = new ArrayList<>();
-            String todayDate = DateUtil.getShortTime(new Date());
             if(result.getCurrentDayOrderList()!=null && result.getCurrentDayOrderList().size()>0){
                 for(TmsOutboundCapabilityInfoResponse model :result.getCurrentDayOrderList()){
-                    data.setCurrentOrderNum(data.getCurrentOrderNum().add(Constants.formatBigdecimal(model.getNcTotality())));//浠婃棩璁㈠崟閲�
-                    /**
-                     * DISPATCH_TYPE in(1,2) 涓� TRANSPORT_CODE涓嶄负绌猴紝sum(NC_TOTALITY)  +      DISPATCH_TYPE not in(1,2) sum(NC_TOTALITY)
-                     * 	浠婃棩鍑哄簱涓嬭揪鐨勮鍒掍换鍔℃�婚噺
-                     */
-                    if(StringUtils.isNotBlank(model.getTransportCode())
-                            && (StringUtils.equals("1",model.getDispatchType()) || StringUtils.equals("2",model.getDispatchType()))){
-                        data.setCurrentPlanNum(data.getCurrentPlanNum().add(Constants.formatBigdecimal(model.getNcTotality())));//浠婃棩璁㈠崟閲�
-                    }
-                    if(!(StringUtils.equals("1",model.getDispatchType()) || StringUtils.equals("2",model.getDispatchType()))){
-                        data.setCurrentPlanNum(data.getCurrentPlanNum().add(Constants.formatBigdecimal(model.getNcTotality())));//浠婃棩璁″垝閲�
-                    }
-
-                    /**
-                     * 浠婃棩涓嬭揪鍑哄簱鐨勮鍒掍换鍔″搴旂殑杩愯緭杞︽鏁�
-                     * TRANSPORT_CODE涓嶄负绌篶ount(transport_code )
-                     */
-                    if(StringUtils.isNotBlank(model.getTransportCode()) && notInList(model.getTransportCode(),planCodes)){
-                        planCodes.add(model.getTransportCode());
-                    }
-                    /**
-                     * 浠婃棩涓嬭揪鍑哄簱鐨勮鍒掍换鍔″搴旂殑杩愯緭杞︽鏁�
-                     * TRANSPORT_CODE涓嶄负绌篶ount(transport_code )
-                     */
-                    if(StringUtils.isNotBlank(model.getTransportCode()) && notInList(model.getTransportCode(),planCodes)){
-                        planCodes.add(model.getTransportCode());
-                    }
-                    /**
-                     *  out_date涓哄綋鏃�,sum(NC_TOTALITY) 浠婃棩瀹屾垚鐨勫嚭搴撲綔涓氫换鍔℃�婚噺
-                     * TRANSPORT_CODE涓嶄负绌� 涓攐ut_date涓哄綋鏃� count(transport_code)  	浠婃棩瀹屾垚鐨勫嚭搴撲綔涓氫换鍔$殑杩愯緭杞︽鏁�
-                     */
-                    if(StringUtils.isNotBlank(model.getOutDate()) && model.getOutDate().length()> 10){
-                        String tDate = model.getOutDate().substring(0,10);
-                        if(tDate.equals(todayDate)){
-                            //濡傛灉鏄綋鏃�
-                            data.setCrrentOutNum(data.getCrrentOutNum().add(Constants.formatBigdecimal(model.getNcTotality())));//浠婃棩璁㈠崟閲�
-                        }
-                        if(StringUtils.isNotBlank(model.getTransportCode()) && notInList(model.getTransportCode(),todayCodes)){
-                            todayCodes.add(model.getTransportCode());
-                        }
-                    }
+                    dealOutOrderBiz(data,model,planCodes,todayCodes,todayDate);
                 }
             }
             if(result.getCurrentDayAgoOrderList()!=null && result.getCurrentDayAgoOrderList().size()>0){
                 for(TmsOutboundCapabilityInfoResponse model :result.getCurrentDayAgoOrderList()){
-                    /**
-                     * out_date涓虹┖锛宻um(NC_TOTALITY)	鏄ㄥぉ鏈畬鎴愬嚭搴撹鍒掍换鍔�
-                     * out_date涓虹┖ 涓擳RANSPORT_CODE涓嶄负绌� * count(transport_code )	鏄ㄥぉ鏈畬鎴愬嚭搴撹鍒掍换鍔¤溅娆�
-                     */
-                    if(StringUtils.isBlank(model.getOutDate())){
-                        data.setCurrentPlanNum(data.getCurrentPlanNum().add(Constants.formatBigdecimal(model.getNcTotality())));//浠婃棩璁″垝閲�
-                        if(StringUtils.isNotBlank(model.getTransportCode()) && notInList(model.getTransportCode(),planCodes)){
-                            planCodes.add(model.getTransportCode());
-                        }
-                    }
+                    dealOutOrderBiz(data,model,planCodes,todayCodes,todayDate);
                 }
             }
-            data.setCurrentPlanCarNum(planCodes.size());//浠婃棩璁″垝杞︽
+            data.setCurrentPlanCarNum(planCodes.size());//浠婃棩浠诲姟杞︽
             data.setCrrentOutCarNum(todayCodes.size());//浠婃棩鍑哄簱杞︽
         }
-        data.setCrrentRestNum(data.getCurrentPlanNum().subtract(data.getCrrentOutNum()));
-        data.setCrrentRestCarNum(data.getCurrentPlanCarNum() -data.getCrrentOutCarNum());
+//        data.setCrrentRestNum(data.getCurrentPlanNum().subtract(data.getCrrentOutNum()));
+//        data.setCrrentRestCarNum(data.getCurrentPlanCarNum() -data.getCrrentOutCarNum());
+        data.setCrrentRestNum(data.getCurrentPlanNum());
+        data.setCrrentRestCarNum(data.getCurrentPlanCarNum());
         if(data.getCrrentRestNum().compareTo(new BigDecimal(0)) <=0){
             data.setCrrentRestNum(new BigDecimal(0));
         }
@@ -2336,9 +2315,61 @@
             data.setCurrentPlanNum(Constants.formatBigdecimal(data.getCurrentPlanNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
             data.setCrrentOutNum(Constants.formatBigdecimal(data.getCrrentOutNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
             data.setCurrentOrderNum(Constants.formatBigdecimal(data.getCurrentOrderNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
+            data.setNoNeedTransportOrderNum(Constants.formatBigdecimal(data.getNoNeedTransportOrderNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
+            data.setNeedTransportOrderNum(Constants.formatBigdecimal(data.getNeedTransportOrderNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
         }
     }
 
+    /**
+     * 1銆佸綋鍓嶈鍗曢噷锛氭埅姝㈢洰鍓嶆湭閰嶈浇璁㈠崟閲忥紱
+     * 2銆佸綋鍓嶄换鍔¢噺锛氭埅姝㈢洰鍓嶅凡閰嶈浇鏈嚭搴撹鍗曢噺+鏃犻渶閰嶈浇鐨勬湭鍑哄簱浠诲姟閲忥紱
+     * 3銆佸綋鍓嶄换鍔¢噺鍜屽墿浣欎换鍔¢噺缁熻閫昏緫涓�鑷达紱
+     * @param data
+     * @param model
+     */
+    private void dealOutOrderBiz(WholeProvinceBoardVO data, TmsOutboundCapabilityInfoResponse model,List<String> planCodes,List<String> todayCodes,  String todayDate ) {
+
+        /**
+         * 褰撳墠璁㈠崟閲忥細鎴嚦鐩墠鏈厤杞界殑鏁版嵁
+         */
+        if(StringUtils.isBlank(model.getTransportCode())
+                &&( StringUtils.equals("1",model.getDispatchType()) || StringUtils.equals("2",model.getDispatchType()))){
+            data.setCurrentOrderNum(data.getCurrentOrderNum().add(Constants.formatBigdecimal(model.getNcTotality())));//褰撳墠璁㈠崟閲�
+        }
+        /**
+         * 褰撳墠浠诲姟閲�(鍜屽墿浣欎换鍔¢噷锛夛細鎴嚦鐩墠宸查厤杞芥湭鍑哄簱鐨勮鍗�
+         */
+        if(StringUtils.isNotBlank(model.getTransportCode()) && StringUtils.isBlank(model.getOutDate())){
+            data.setCurrentPlanNum(data.getCurrentPlanNum().add(Constants.formatBigdecimal(model.getNcTotality())));//褰撳墠浠诲姟閲忥紙绱锛�
+            data.setNeedTransportOrderNum(data.getNeedTransportOrderNum().add(Constants.formatBigdecimal(model.getNcTotality())));//鍚屽煄鍓╀綑浠诲姟閲忥紙绱锛�
+            if(notInList(model.getTransportCode(),planCodes)){
+                planCodes.add(model.getTransportCode());
+            }
+        }
+        /**
+         *   鍚屽煄鍗曞瓙锛堟棤闇�閰嶈浇浣嗘槸鏈畬鎴愶級
+         */
+        if(StringUtils.isBlank(model.getOutDate())
+                && !StringUtils.equals("1",model.getDispatchType()) && !StringUtils.equals("2",model.getDispatchType())){
+            data.setNoNeedTransportOrderNum(data.getNoNeedTransportOrderNum().add(Constants.formatBigdecimal(model.getNcTotality())));//鍚屽煄鍓╀綑浠诲姟閲忥紙绱锛�
+            data.setCurrentPlanNum(data.getCurrentPlanNum().add(Constants.formatBigdecimal(model.getNcTotality())));//褰撳墠浠诲姟閲忥紙绱锛�
+        }
+        /**
+         * 浠婃棩鍑哄簱閲忥紝鍑哄簱鏃堕棿涓轰粖澶╃殑
+         */
+        if(StringUtils.isNotBlank(model.getOutDate()) && model.getOutDate().length()> 10){
+            String tDate = model.getOutDate().substring(0,10);
+            if(tDate.equals(todayDate)){
+                //濡傛灉鏄綋鏃�
+                data.setCrrentOutNum(data.getCrrentOutNum().add(Constants.formatBigdecimal(model.getNcTotality())));//浠婃棩鍑哄簱閲�
+                if(StringUtils.isNotBlank(model.getTransportCode()) && notInList(model.getTransportCode(),todayCodes)){
+                    todayCodes.add(model.getTransportCode());
+                }
+            }
+        }
+
+    }
+
     private boolean notInList(String transportCode, List<String> planCodes) {
         for(String s :planCodes){
             if(StringUtils.equals(transportCode,s)){
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java
index b8cd073..3a985c5 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java
@@ -2,6 +2,7 @@
 
 import com.doumee.core.haikang.model.cars.response.CarsAlarmResultListResponse;
 import com.doumee.core.haikang.model.param.respose.*;
+import com.doumee.dao.web.reqeust.CarsJobAndContractByJobIdDTO;
 import com.doumee.service.business.third.model.request.TmsOrderNoFinishListRequest;
 import com.doumee.service.business.third.model.response.TmsBasePageResponse;
 import com.doumee.service.business.third.model.response.TmsOrderNoFinishListResponse;
@@ -85,6 +86,7 @@
     PlatformJobRunBoardNewVO platformJobCenterData();
 
     CarsJobAndContractVO getCarsJobDetails(CarsJobAndContractDTO param);
+    CarsJobAndContractVO getJobDetailsById(CarsJobAndContractByJobIdDTO param);
 
     List<TransportMeasureVO> transportMeasure(Integer queryType);
 

--
Gitblit v1.9.3