From 955873b451cadfbc71bf21f4f7f8717d8a10936a Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期四, 19 十二月 2024 19:27:50 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit

---
 server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsTotalAndReportVehicleQtyResponse.java    |   25 ++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java                    |   16 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java                                      |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ext/HkSyncService.java                             |    1 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java                                 |    1 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java                 |   15 +
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java                                 |   18 ++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java                               |    7 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java                                    |    1 
 server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java                     |   50 ++++
 server/system_service/src/main/java/com/doumee/biz/system/impl/SystemDictDataBizImpl.java                                  |    3 
 server/system_service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java                                      |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/UserOpenidSaveRequest.java         |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java                     |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsInventoryListResponse.java               |   47 +++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java                     |   90 ++++++++-
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/WholeProvinceController.java                              |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsDistributionOfDeliveryLocResponse.java   |   29 +++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarUseBook.java                                  |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java |   16 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/TmsService.java                              |   31 ++
 server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/TMSContants.java                                     |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsFacrotyCodeListRequest.java               |   18 ++
 server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsOutQtyAndVehicleQtyResponse.java         |   26 ++
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java                                |   10 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java             |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java                        |   51 +++--
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java                                     |   16 +
 server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsOutQtyAndVehicleQtyRequest.java           |   19 ++
 29 files changed, 463 insertions(+), 52 deletions(-)

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 4f08d14..ee12e34 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
@@ -192,6 +192,10 @@
             throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), ResponseStatus.BAD_REQUEST.getMessage());
         }
 
+        if(Objects.nonNull(bookings.getId())){
+            return;
+        }
+
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
         String gsDate = format1.format(bookings.getStartTime());
@@ -371,11 +375,18 @@
         if(dbBookings.getStatus().equals(MeetConstants.ONE)){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "鏈鎿嶄綔澶辫触,棰勭害鐘舵�佸凡娴佽浆");
         }
+        Rooms rooms = roomsMapper.selectById(dbBookings.getRoomId());
+        if(rooms==null ){
+            throw  new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇ヤ細璁鏆傛椂鏃犳硶棰勭害");
+        }
+        bookings.setRoomName(rooms.getName());
         LoginUserInfo user = bookings.getLoginUserInfo();
         isCreateParamValid(bookings, user);
         bookings.setEditDate(new Date());
         bookings.setEditor(user.getId());
         bookingsMapper.updateById(bookings);
+        bookings.setManagerInfo(user.getRealname());
+        bookings.setCreator(dbBookings.getCreator());
         //鏇存柊浼氳瀹ら瀹氭椂闂存
         updateBookingTimes(bookings, user);
         //娣诲姞绠$悊浜哄憳
@@ -386,7 +397,7 @@
         //鍙戦�佷細璁�氱煡
         if(Constants.equalsInteger(bookings.getJoinNotice(),Constants.ZERO)){
             this.sendNotice(bookings, MeetConstants.TWO);
-            SystemUser systemUser = systemUserMapper.selectById(bookings.getUserId());
+            SystemUser systemUser = systemUserMapper.selectById(bookings.getCreator());
             this.sendWxNotice(bookings,Objects.isNull(systemUser)||StringUtils.isBlank(systemUser.getOpenid())?null:systemUser.getOpenid(),Constants.ZERO);
         }
     }
@@ -1054,12 +1065,13 @@
         }
         bookingsMapper.updateById(bookings);
         //鍙栨秷浼氳 鍙戦�佸彇娑堥�氱煡
-//        if(Constants.equalsInteger(bookings.getJoinNotice(),Constants.ZERO)){
+        if(Constants.equalsInteger(bookings.getJoinNotice(),Constants.ZERO)){
 //            this.sendNotice(bookings, 3);
-//        }
-        SystemUser systemUser = systemUserMapper.selectById(bookings.getCreator());
-        bookings.setManagerInfo(systemUser.getRealname());
-        this.sendWxNotice(bookings,Objects.isNull(systemUser)||StringUtils.isBlank(systemUser.getOpenid())?null:systemUser.getOpenid(),Constants.ONE);
+            SystemUser systemUser = systemUserMapper.selectById(bookings.getCreator());
+            bookings.setManagerInfo(systemUser.getRealname());
+            this.sendWxNotice(bookings,Objects.isNull(systemUser)||StringUtils.isBlank(systemUser.getOpenid())?null:systemUser.getOpenid(),Constants.ONE);
+
+        }
     }
 
 
@@ -1378,6 +1390,32 @@
                 }
             }
         }
+        //缁欏垱寤轰汉鍙戦�佺煭淇′俊鎭�
+        SystemUser systemUser = systemUserMapper.selectById(bookings.getCreator());
+        if(Objects.nonNull(systemUser)){
+            if(userRelList.stream().filter(i->Constants.equalsInteger(i.getUserId(),systemUser.getId())).collect(Collectors.toList()).size()==Constants.ZERO){
+                if (smsConfig!=null && Constants.equalsInteger(smsConfig.getStatus(),Constants.ZERO)){
+                    SmsEmail smsEmail = new SmsEmail();
+                    //{鍙備細浜哄憳濮撳悕}锛屾偍濂斤紒鎮ㄦ湁涓�涓柊鐨勪細璁紝浼氳涓婚锛歿浼氳涓婚}锛屼細璁湴鐐癸細{浼氳瀹ゅ悕绉皚锛屼細璁椂闂达細{浼氳鏃堕棿娈祡锛岃鎸夋椂鍙傚姞
+                    String timeInfo =DateUtil.getFomartDate( bookings.getStartTime(),"MM/dd HH:mm")+"-"
+                            +DateUtil.getFomartDate( bookings.getEndTime(),"HH:mm");
+                    smsEmail.setPhone(systemUser.getMobile());
+                    smsEmail.setRemark("绛夊緟鍙戦��");
+                    smsEmail.setStatus(Constants.TWO);//
+                    smsEmail.setIsdeleted(Constants.ZERO);
+                    smsEmail.setType(Constants.ZERO);
+                    smsEmail.setObjId(bookings.getId());
+                    smsEmail.setCreateDate(new Date());
+                    smsEmail.setTitle("浼氳瀹ょ敵璇峰弬浼氶�氱煡");
+                    smsEmail.setContent(StringUtils.defaultString(smsConfig.getContent(),"")
+                            .replace("{鍙備細浜哄憳濮撳悕}",StringUtils.defaultString(systemUser.getRealname(),""))
+                            .replace("{浼氳涓婚}",StringUtils.defaultString(bookings.getName(),""))
+                            .replace("{浼氳瀹ゅ悕绉皚",StringUtils.defaultString(bookings.getRoomName(),""))
+                            .replace("{浼氳鏃堕棿娈祡",StringUtils.defaultString(timeInfo,"")));
+                    smsEmailList.add(smsEmail);
+                }
+            }
+        }
         //缁欏弬浼氫汉鍛樻彃鍏�
         Notices notices = new Notices(noticeObjectType,bookings.getId(),noticeObjectType.getInfo(),bookings.getCreator(), Constants.ZERO);
         noticeList.add(notices);
diff --git a/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemDictDataBizImpl.java b/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemDictDataBizImpl.java
index 88b83ce..332639c 100644
--- a/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemDictDataBizImpl.java
+++ b/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemDictDataBizImpl.java
@@ -66,7 +66,8 @@
         queryDto.setDeleted(Boolean.FALSE);
         SystemDict dictData = systemDictService.findOne(queryDto);
         if (dictData == null) {
-            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "鏁版嵁鍊间笉瀛樺湪");
+            return  new SystemDictData();
+//            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "鏁版嵁鍊间笉瀛樺湪");
         }
         SystemDictData data = new SystemDictData();
         data.setDictId(dictData.getId());
diff --git a/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java b/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java
index db49413..40e2ebc 100644
--- a/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java
+++ b/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java
@@ -42,9 +42,9 @@
     @Autowired
     private RedisTemplate<String,Object> redisTemplate;
     @Autowired
-    private JwtProperties jwtProperties;
-    @Autowired
     private SystemUserService systemUserService;
+    @Autowired
+    private JwtProperties jwtProperties;
 
     @Autowired
     private SystemUserRoleService systemUserRoleService;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java
index f9da98c..a8b19f2 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java
@@ -114,13 +114,21 @@
         return ApiResponse.success(result);
     }
     @PreventRepeat
-    @ApiOperation("銆愭捣搴枫�戜繚鎸佹捣搴风敤鎴风粦瀹歰penid")
+    @ApiOperation("銆愭捣搴枫�戜繚瀛樻捣搴风敤鎴风粦瀹歰penid")
     @PostMapping("/saveHkUserOpenid")
     public ApiResponse syncHkUserOpenid( @RequestHeader(Constants.HEADER_USER_TOKEN) String token){
         String result     = hkSyncOrgUserToHKService.syncHkUserOpenid(this.getLoginUser(token).getId());
         return ApiResponse.success(result);
     }
     @PreventRepeat
+    @ApiOperation("銆愭捣搴枫�戞竻绌烘捣搴风敤鎴风粦瀹歰penid")
+    @PostMapping("/delHkUserOpenid")
+    @LoginNoRequired
+    public ApiResponse delHkUserOpenid( @RequestBody UserOpenidSaveRequest param){
+        String result     = hkSyncOrgUserToHKService.delHkUserOpenid(param);
+        return ApiResponse.success(result);
+    }
+    @PreventRepeat
     @ApiOperation("銆愭捣搴枫�戣幏鍙栫粍浠舵巿鏉冪櫥褰曞湴鍧�鎺ュ彛")
     @PostMapping("/getServiceUrl")
     public ApiResponse getServiceUrl(@RequestBody HKGetServiceLoginUrlRequest param,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/WholeProvinceController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/WholeProvinceController.java
index fa3115e..794b868 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/WholeProvinceController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/WholeProvinceController.java
@@ -1,6 +1,6 @@
 package com.doumee.cloud.board;
 
-import com.doumee.api.BaseController;
+import  com.doumee.api.BaseController;
 import com.doumee.config.annotation.LoginNoRequired;
 import com.doumee.core.model.ApiResponse;
 import com.doumee.core.utils.Constants;
@@ -8,7 +8,6 @@
 import com.doumee.dao.web.response.platformReport.*;
 import io.swagger.annotations.*;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
index 5f01230..beed8eb 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
@@ -623,6 +623,7 @@
         String[] fireMonitorData= new String[]{"/api/v2/monitor/fireMonitorData","鍒嗛〉鏌ヨ璁惧鐩戞祴鍘嗗彶鏁版嵁"};//鍒嗛〉鏌ヨ璁惧鐩戞祴鍘嗗彶鏁版嵁
 
         String[] userOpenidSave= new String[]{"/api/v1/oa/userOpenId/saveV2","淇濆瓨鐢ㄦ埛鍙妎penId缁戝畾淇℃伅寰俊鍏紬鍙�"};//淇濆瓨鐢ㄦ埛鍙妎penId缁戝畾淇℃伅寰俊鍏紬鍙�
+        String[] userOpenidDel= new String[]{"/api/v1/oa/userOpenId/delete","閫氳繃openId鎴杣serName绛夊垹闄ょ粦瀹氫俊鎭�"};//閫氳繃openId鎴杣serName绛夊垹闄ょ粦瀹氫俊鎭�
         String[] temperatureHumidityDataStatistic= new String[]{"/api/v2/public/monitor/sensor/list","娑堥槻鐪嬫澘-4娓╂箍搴︾粺璁�"};//娑堥槻鐪嬫澘-娓╂箍搴�
         String[] regionDataRanking= new String[]{"/api/ecm/v1/energy/regionDataRanking","娑堥槻鐪嬫澘-4鑾峰彇鍖哄煙鐢ㄩ噺鎺掑悕-鑳借�楃湅鏉�"};//娑堥槻鐪嬫澘-鑾峰彇鍖哄煙鐢ㄩ噺鎺掑悕 - 鑳借�楃湅鏉�
         String[] energyTotal= new String[]{"/api/ecm/v1/energy/energyTotal","娑堥槻鐪嬫澘-4鏍规嵁鏃堕棿鍜屾椂闂寸淮搴﹁幏鍙栧洯鍖鸿兘鑰楁暟鎹�"};//娑堥槻鐪嬫澘-鏍规嵁鏃堕棿鍜屾椂闂寸淮搴﹁幏鍙栧洯鍖鸿兘鑰楁暟鎹�
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
index 8b18aa6..21db23c 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
@@ -434,6 +434,12 @@
 		saveInterfaceLog(JSONObject.toJSONString(body),result,path,pathStr[1]);
 		return result;
 	}
+	public static String startDoGetStringArtemis(String[] pathStr,Map<String,String> querys ,Map<String, String> header ){
+		Map<String, String> path = getPath(pathStr[0]);
+		String result = ArtemisHttpUtil.doGetArtemis(path, querys, null, null,  header);
+		saveInterfaceLog(JSONObject.toJSONString(querys),result,path,pathStr[1]);
+		return result;
+	}
 	public static String startDoGetStringArtemisJson(String[] pathStr,Map<String,String> body ){
 		Map<String, String> path = getPath(pathStr[0]);
 		Map<String, String> header = new HashMap<>();
@@ -891,6 +897,16 @@
 		return startDoPostStringArtemis(HKConstants.InterfacePath.userOpenidSave,null,header,body);
 	}
 	/**
+	 *閫氳繃openId鎴杣serName绛夊垹闄ょ粦瀹氫俊鎭�
+	 * @param param
+	 * @return
+	 */
+	public static String userOpenidDel(Map<String,String>  param) {
+		Map<String,String> header = new HashMap<>();
+		header.put("userId","admin");
+		return startDoGetStringArtemis(HKConstants.InterfacePath.userOpenidDel,param,header);
+	}
+	/**
 	 *鍒嗛〉鏌ヨ璁惧鐩戞祴鍘嗗彶鏁版嵁
 	 * @param body
 	 * @return
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/UserOpenidSaveRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/UserOpenidSaveRequest.java
index fd6d26d..04ace14 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/UserOpenidSaveRequest.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/UserOpenidSaveRequest.java
@@ -11,4 +11,6 @@
  private String oaId;//	String	false	atwl
  private String platformName	;//String	false	瀹夋嘲鐗╂祦鍥尯
  private String operateTime	;//String	false	2024-12-09T15:49:04-07:00
+
+
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
index cbc861d..e69d2c0 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -1646,6 +1646,24 @@
         return  null;
     }
     /**
+     *閫氳繃openId鎴杣serName绛夊垹闄ょ粦瀹氫俊鎭�
+     * @return
+     */
+    public  static  BaseResponse  userOpenidDel(UserOpenidSaveRequest param){
+        log.info("銆愭捣搴烽�氳繃openId鎴杣serName绛夊垹闄ょ粦瀹氫俊鎭��================寮�濮�===="+JSONObject.toJSONString(param));
+        try {
+            String res = HKTools.userOpenidDel(toMap(param));
+            TypeReference typeReference =
+                    new TypeReference< BaseResponse >(){};
+            BaseResponse<Integer>   result = JSONObject.parseObject(res, typeReference.getType());
+            logResult(result,"娴峰悍閫氳繃openId鎴杣serName绛夊垹闄ょ粦瀹氫俊鎭�");
+            return  result;
+        }catch (Exception e){
+            log.error("銆愭捣搴烽�氳繃openId鎴杣serName绛夊垹闄ょ粦瀹氫俊鎭��================澶辫触====锛歕n"+ e.getMessage());
+        }
+        return  null;
+    }
+    /**
      *鍒嗛〉鏌ヨ璁惧鐩戞祴鍘嗗彶鏁版嵁
      * @return
      */
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/TMSContants.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/TMSContants.java
index 1b41a7a..5c30aeb 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/TMSContants.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/TMSContants.java
@@ -15,10 +15,12 @@
         String[] getInboundOutbound = new String[]{"/tms/zhyt/getInboundOutbound",  "銆怲MS銆戝嚭鍏ュ簱璁板綍鏌ヨ"};//TMS鍑哄叆搴撹褰曟煡璇㈡帴鍙e湴鍧�
         String[] getIntransitDetails = new String[]{"/tms/zhyt/getIntransitDetails",  "銆怲MS銆戝湪閫旀槑缁嗗垪琛�"};//TMS鍦ㄩ�旀槑缁嗗垪琛ㄦ帴鍙e湴鍧�
         String[] getOrderList = new String[]{"/tms/zhyt/getOrderList",  "銆怲MS銆戝悎鍚屽垪琛ㄦ煡璇�"};//TMS鍚堝悓鍒楄〃鏌ヨ鎺ュ彛鍦板潃
+        String[] getTotalAndReportVehicleQty = new String[]{"/tms/zhyt/getTotalAndReportVehicleQty",  "銆怲MS銆戞煡璇�5涓巶鐨勮繍鍔涜祫婧愬埄鐢ㄦ儏鍐点��"};//鏌ヨ5涓巶鐨勮繍鍔涜祫婧愬埄鐢ㄦ儏鍐点��
         String[] getElecByContractNumberList = new String[]{"/tms/zhyt/getElecByContractNumberList",  "銆怲MS銆戝悎鍚屼笂閿佺姸鎬�"};//TMS鍚堝悓涓婇攣鐘舵�佹帴鍙e湴鍧�
         String[] getOrderDetailByContractNumber = new String[]{"/tms/zhyt/getOrderDetailByContractNumber",  "銆怲MS銆戝悎鍚岃鎯�"};//TMS鍚堝悓璇︽儏鎺ュ彛鍦板潃
         String[] getGis = new String[]{"/tms/zhyt/getGis",  "銆怲MS銆戞牴鎹繍杈撳崟鍙锋煡璇is杞�"};//TMS鏍规嵁杩愯緭鍗曞彿鏌ヨgis杞ㄦ帴鍙e湴鍧�
         String[] getOrderStatusByContractNumber = new String[]{"/tms/zhyt/getOrderStatusByContractNumber",  "銆怲MS銆戝崟鐢熷懡鍛ㄦ湡"};//3.8璁㈠崟鐢熷懡鍛ㄦ湡
+        String[] getOutQtyAndVehicleQty = new String[]{"/tms/zhyt/getOutQtyAndVehicleQty",  "銆怲MS銆戞寚瀹氭椂闂磋寖鍥村唴绱鍑哄簱閲�"};//3.8鎸囧畾鏃堕棿鑼冨洿鍐呯疮璁″嚭搴撻噺
     }
 
     public  enum TopStatusLevel {
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsFacrotyCodeListRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsFacrotyCodeListRequest.java
new file mode 100644
index 0000000..5abbe5f
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsFacrotyCodeListRequest.java
@@ -0,0 +1,18 @@
+package com.doumee.core.tms.model.request;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/11/23 14:03
+ */
+@Data
+@ApiModel("tms鐑熷巶闆嗗悎璇锋眰鍙傛暟")
+public class TmsFacrotyCodeListRequest {
+
+    private List<String> facrotyCodeList;//鏄�	闆嗗悎	鐑熷巶闆嗗悎
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsOutQtyAndVehicleQtyRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsOutQtyAndVehicleQtyRequest.java
new file mode 100644
index 0000000..2c52a7e
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsOutQtyAndVehicleQtyRequest.java
@@ -0,0 +1,19 @@
+package com.doumee.core.tms.model.request;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/11/23 14:03
+ */
+@Data
+@ApiModel("tms鎸囧畾鏃堕棿鑼冨洿鍐呯疮璁″嚭搴撻噺璇锋眰鍙傛暟")
+public class TmsOutQtyAndVehicleQtyRequest {
+    private String dateStart;//	瀛楃涓�	寮�濮嬫棩鏈� 2024-12-19
+    private String dateEnd	;//	瀛楃涓�	缁撴潫鏃ユ湡 2024-12-19
+    private List<String> facrotyCodeList;//鏄�	闆嗗悎	鐑熷巶闆嗗悎
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsDistributionOfDeliveryLocResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsDistributionOfDeliveryLocResponse.java
new file mode 100644
index 0000000..3f90c78
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsDistributionOfDeliveryLocResponse.java
@@ -0,0 +1,29 @@
+package com.doumee.core.tms.model.response;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/11/23 14:03
+ */
+@Data
+@ApiModel("tms鍏ㄥ浗鍒拌揣鍦板垎甯冩煡璇㈣繑鍥炲弬鏁�")
+public class TmsDistributionOfDeliveryLocResponse {
+
+    @ApiModelProperty(value = "鍒拌揣鍦扮渷浠藉悕绉�" )
+    private String   toProvinceName; //	瀛楃涓�  //鍒拌揣鍦扮渷浠藉悕绉�
+    @ApiModelProperty(value = "鍒拌揣鍦扮渷浠借鏀跨紪鐮�" )
+    private String  toProvinceCode	; //瀛楃涓�	鍒拌揣鍦扮渷浠借鏀跨紪鐮�
+    @ApiModelProperty(value = "鍑鸿揣鍦扮渷浠藉悕绉�" )
+    private String   fromProvinceName; //	瀛楃涓�	鍑鸿揣鍦扮渷浠藉悕绉�
+    @ApiModelProperty(value = "鍑鸿揣鍦扮渷浠借鏀跨紪鐮�" )
+    private String    fromProvinceCode; //	瀛楃涓�	鍑鸿揣鍦扮渷浠借鏀跨紪鐮�
+    @ApiModelProperty(value = "鏈勾绱鍙戝線鍒拌揣鍦扮殑鍑哄簱閲�" )
+    private BigDecimal yearOutboundQuantity; //	鏁板瓧	鏈勾绱鍙戝線鍒拌揣鍦扮殑鍑哄簱閲�
+    @ApiModelProperty(value = "鏈湀绱鍙戞斁鍒拌揣鍦扮殑鍑哄簱閲�" )
+    private BigDecimal   monthOutboundQuantity; //鏁板瓧	鏈湀绱鍙戞斁鍒拌揣鍦扮殑鍑哄簱閲�
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsInventoryListResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsInventoryListResponse.java
new file mode 100644
index 0000000..356b364
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsInventoryListResponse.java
@@ -0,0 +1,47 @@
+package com.doumee.core.tms.model.response;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/11/23 14:03
+ */
+@Data
+@ApiModel("tms瀹炴椂搴撳瓨鏌ヨ杩斿洖鍙傛暟")
+public class TmsInventoryListResponse {
+
+    @ApiModelProperty(value = "缂栫爜" )
+    private String   id; //		瀛楃涓�
+    @ApiModelProperty(value = "鍝佽缂栫爜" )
+    private String   brandCode; //		瀛楃涓�	鍝佽缂栫爜
+    @ApiModelProperty(value = "鍝佽鍚嶇О" )
+    private String   productName; //		瀛楃涓�	鍝佽鍚嶇О
+    @ApiModelProperty(value = "宸ュ巶缂栧彿" )
+    private String   factoryCode	; //	瀛楃涓�	宸ュ巶缂栧彿
+    @ApiModelProperty(value = "浠撳簱缂栧彿" )
+    private String   repertotyCode	; //	瀛楃涓�	浠撳簱缂栧彿
+    @ApiModelProperty(value = "搴撳瓨缁勭粐缂栫爜" )
+    private String   productAreaCode	; //	瀛楃涓�	搴撳瓨缁勭粐缂栫爜
+    @ApiModelProperty(value = "搴撳瓨缁勭粐鍚嶇О" )
+    private String   productAreaName	; //	瀛楃涓�	搴撳瓨缁勭粐鍚嶇О
+    @ApiModelProperty(value = "搴撳瓨鏍囪瘑" )
+    private String   inventoryId	; //	瀛楃涓�	搴撳瓨鏍囪瘑
+    @ApiModelProperty(value = "鐑熷巶鍚嶇О,浜у湴" )
+    private String   factoryName	; //	瀛楃涓�	鐑熷巶鍚嶇О,浜у湴
+    @ApiModelProperty(value = "鎵�鍦ㄤ粨搴撳悕绉�" )
+    private String   repertoryName	; //	瀛楃涓�	鎵�鍦ㄤ粨搴撳悕绉�
+    @ApiModelProperty(value = "搴撳瓨鏁伴噺" )
+    private BigDecimal   stockQty	; //	瀛楃涓�	搴撳瓨鏁伴噺
+    @ApiModelProperty(value = "鐗堝瀷缂栫爜" )
+    private String   versionCode; //		瀛楃涓�	鐗堝瀷缂栫爜
+    @ApiModelProperty(value = "鐗堝瀷鍚嶇О" )
+    private String   versionName	; //	瀛楃涓�	鐗堝瀷鍚嶇О
+    @ApiModelProperty(value = "绠卞瀷" )
+    private String   vbatchCode	; //	瀛楃涓�	绠卞瀷
+    @ApiModelProperty(value = "鍝佽鍚嶇О" )
+    private String   proName	; //	瀛楃涓�	鍝佽鍚嶇О
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsOutQtyAndVehicleQtyResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsOutQtyAndVehicleQtyResponse.java
new file mode 100644
index 0000000..55153bd
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsOutQtyAndVehicleQtyResponse.java
@@ -0,0 +1,26 @@
+package com.doumee.core.tms.model.response;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.apache.commons.math3.fraction.BigFraction;
+
+import java.math.BigDecimal;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/11/23 14:03
+ */
+@Data
+@ApiModel("tms鎸囧畾鏃堕棿鑼冨洿鍐呯疮璁″嚭搴撻噺杩斿洖鍙傛暟")
+public class TmsOutQtyAndVehicleQtyResponse {
+
+    @ApiModelProperty(value = "绱鍑哄簱閲�")
+    private BigDecimal totalOutQty;//鏁板瓧	绱鍑哄簱閲�
+    @ApiModelProperty(value = "鐪佸绱鍑哄簱閲�")
+    private String outSideProvinceOutQty;//	鏁板瓧	鐪佸绱鍑哄簱閲�
+    @ApiModelProperty(value = "鐪佸唴绱鍑哄簱閲�")
+    private String inSideProvinceOutQty;//	鏁板瓧	鐪佸唴绱鍑哄簱閲�
+    @ApiModelProperty(value = "绱鍑哄簱杞︽")
+    private BigDecimal vehicleQty;//鏁板瓧	绱鍑哄簱杞︽
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsTotalAndReportVehicleQtyResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsTotalAndReportVehicleQtyResponse.java
new file mode 100644
index 0000000..c5043dc
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsTotalAndReportVehicleQtyResponse.java
@@ -0,0 +1,25 @@
+package com.doumee.core.tms.model.response;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/11/23 14:03
+ */
+@Data
+@ApiModel("tms杩愬姏璧勬簮鍒╃敤鐜囪繑鍥炲弬鏁�")
+public class TmsTotalAndReportVehicleQtyResponse {
+
+    @ApiModelProperty(value = "宸ュ巶缂栫爜" )
+    private String   factoryCode;//	瀛楃涓�	宸ュ巶缂栫爜
+    @ApiModelProperty(value = "宸ュ巶鍚嶇О" )
+    private String   factoryName;//	瀛楃涓�	宸ュ巶鍚嶇О
+    @ApiModelProperty(value = "鎻愭姤杩愬姏鏁�" )
+    private String   reportQty;//	鏁板瓧	鎻愭姤杩愬姏鏁�
+    @ApiModelProperty(value = "鎬昏繍鍔涙暟" )
+    private String   totalQty;//	鏁板瓧	鎬昏繍鍔涙暟
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java
index e7cd30e..d045111 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java
@@ -437,6 +437,7 @@
                     paramMap.put("touser", openId);
                     paramMap.put("data", dataMap);
                     String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap));
+                    log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}", JSONObject.toJSONString(paramMap));
                     if(StringUtils.isBlank(response)){
                         log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", "澶辫触");
                     }else{
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarUseBook.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarUseBook.java
index 80beb58..c0fa8a7 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarUseBook.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarUseBook.java
@@ -177,6 +177,9 @@
     @ApiModelProperty(value = "鐢宠浜虹數璇�")
     @TableField(exist = false)
     private String memberMobile;
+    @ApiModelProperty(value = "閫氱煡鎻忚堪")
+    @TableField(exist = false)
+    private String info;
     @ApiModelProperty(value = "瀹℃壒淇℃伅鏁版嵁")
     @TableField(exist = false)
     private ApproveDataVO approveDateVO;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java
index a90b863..a3d5f8d 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java
@@ -98,6 +98,8 @@
     @ExcelColumn(name="鍏ュ洯鍘熷洜",index = 1,width = 12)
     private String inReason;
 
+
+
     @ApiModelProperty(value = "鍏ュ洯鍘熷洜涓婚敭")
     private Integer reasonId;
 
@@ -139,6 +141,11 @@
     @TableField(exist = false)
     private String auditTime;
 
+    @ApiModelProperty(value = "閫氱煡鎻忚堪")
+    @TableField(exist = false)
+    private String info;
+
+
     @ApiModelProperty(value = "瀹℃壒淇℃伅鏁版嵁")
     @TableField(exist = false)
     private ApproveDataVO approveDateVO;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java
index bc3f6c0..159b872 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java
@@ -320,6 +320,10 @@
     @TableField(exist = false)
     private LoginUserInfo loginUserInfo;
 
+    @ApiModelProperty(value = "閫氱煡鎻忚堪")
+    @TableField(exist = false)
+    private String info;
+
     @ApiModelProperty(value = "瀹℃壒淇℃伅鏁版嵁")
     @TableField(exist = false)
     private ApproveDataVO approveDateVO;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ext/HkSyncService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ext/HkSyncService.java
index 9bfa3ee..06278c8 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ext/HkSyncService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ext/HkSyncService.java
@@ -102,4 +102,5 @@
     String dealPlatformCarsEvent(EventPlatformCarsRequest param, HttpServletResponse response);
 
     String syncHkUserOpenid(Integer id);
+    String delHkUserOpenid(UserOpenidSaveRequest param);
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
index 612951a..fbeefdc 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
@@ -248,6 +248,22 @@
             approveList.add(approve);
         }
         model.setApproveDateVO(approveDataVO);
+
+        Notices notices = noticesJoinMapper.selectOne(new QueryWrapper<Notices>().lambda()
+                .eq(Notices::getObjId,id)
+                .eq(Notices::getType,Constants.noticesObjectType.useCar)
+                .eq(Notices::getUserId,memberId)
+                .eq(Notices::getSendacopy,Constants.ZERO)
+                .orderByDesc(Notices::getId).last(" limit 1 "));
+        if(Objects.nonNull(notices)){
+            if(Constants.equalsInteger(notices.getStatus(),Constants.ZERO)){
+                model.setInfo("寰呮垜澶勭悊");
+            }else{
+                model.setInfo(notices.getInfo());
+            }
+        }
+
+
         return  model;
     }
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java
index 8a53ba9..9c6977e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java
@@ -21,6 +21,7 @@
 
 import com.doumee.dao.system.SystemUserMapper;
 import com.doumee.dao.system.join.NoticesJoinMapper;
+import com.doumee.dao.system.model.Notices;
 import com.doumee.dao.system.model.SystemUser;
 import com.doumee.dao.web.reqeust.PlatformBooksApplyDTO;
 import com.doumee.dao.web.reqeust.PlatformBooksCheckNumDTO;
@@ -392,6 +393,20 @@
             approve.setCheckDate(model.getCancelTime());
             approveList.add(approve);
         }
+
+        Notices notices = noticesJoinMapper.selectOne(new QueryWrapper<Notices>().lambda()
+                .eq(Notices::getObjId,id)
+                .eq(Notices::getType,Constants.noticesObjectType.reason)
+                .eq(Notices::getUserId,memberId)
+                .eq(Notices::getSendacopy,Constants.ZERO)
+                .orderByDesc(Notices::getId).last(" limit 1 "));
+        if(Objects.nonNull(notices)){
+            if(Constants.equalsInteger(notices.getStatus(),Constants.ZERO)){
+                model.setInfo("寰呮垜澶勭悊");
+            }else{
+                model.setInfo(notices.getInfo());
+            }
+        }
         return model;
     }
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
index d7cc716..ebf537c 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -1220,6 +1220,22 @@
             result.setBusinessStatus(result.getStatus());
         }
 
+
+        Notices notices = noticesJoinMapper.selectOne(new QueryWrapper<Notices>().lambda()
+                .eq(Notices::getObjId,id)
+                .eq(Notices::getType,Constants.equalsInteger(result.getType(),Constants.TWO)?Constants.noticesObjectType.visitReporting:Constants.noticesObjectType.visit)
+                .eq(Notices::getUserId,memberId)
+                .eq(Notices::getSendacopy,Constants.ZERO)
+                .orderByDesc(Notices::getId).last(" limit 1 "));
+        if(Objects.nonNull(notices)){
+            if(Constants.equalsInteger(notices.getStatus(),Constants.ZERO)){
+                result.setInfo("寰呮垜澶勭悊");
+            }else{
+                result.setInfo(notices.getInfo());
+            }
+        }
+
+
         return result;
     }
 
@@ -1422,30 +1438,21 @@
                             memberId)
             );
 //        }
-        if(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.waitCheck)||Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.submitCheck)){
-            Notices notices = noticesJoinMapper.selectOne(new QueryWrapper<Notices>().lambda().eq(Notices::getObjId,visits.getId())
-                    .eq(Notices::getType,Constants.equalsInteger(visits.getType(),Constants.TWO)?Constants.noticesObjectType.visitReporting:Constants.noticesObjectType.visit)
-                    .eq(Notices::getUserId,memberId)
-                    .eq(Notices::getSendacopy,Constants.ZERO)
-                    .last(" limit 1 ")
-            );
-            visitDetailVO.setInfoStatus(1);
-            if(Objects.nonNull(notices)){
-                visitDetailVO.setInfo(notices.getInfo());
-            }else{
-                visitDetailVO.setInfo("鏆傛棤");
-            }
-        }else if(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.noPass)){
-            visitDetailVO.setInfoStatus(Constants.VisitStatus.noPass);
-            visitDetailVO.setInfo("瀹℃壒鏈�氳繃");
 
-        }else if(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.cancel)){
-            visitDetailVO.setInfoStatus(Constants.VisitStatus.cancel);
-            visitDetailVO.setInfo("宸插彇娑�");
-        }else{
-            visitDetailVO.setInfoStatus(Constants.VisitStatus.pass);
-            visitDetailVO.setInfo("瀹℃壒宸查�氳繃");
+        Notices notices = noticesJoinMapper.selectOne(new QueryWrapper<Notices>().lambda()
+                .eq(Notices::getObjId,id)
+                .eq(Notices::getType,Constants.equalsInteger(visits.getType(),Constants.TWO)?Constants.noticesObjectType.visitReporting:Constants.noticesObjectType.visit)
+                .eq(Notices::getUserId,memberId)
+                .eq(Notices::getSendacopy,Constants.ZERO)
+                .orderByDesc(Notices::getId).last(" limit 1 "));
+        if(Objects.nonNull(notices)){
+            if(Constants.equalsInteger(notices.getStatus(),Constants.ZERO)){
+                visitDetailVO.setInfo("寰呮垜澶勭悊");
+            }else{
+                visitDetailVO.setInfo(notices.getInfo());
+            }
         }
+
         return visitDetailVO;
     }
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java
index 74cb678..e359692 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java
@@ -105,6 +105,10 @@
         return  null;
     }
     @Override
+    public   String delHkUserOpenid(UserOpenidSaveRequest param){
+        return  null;
+    }
+    @Override
     public String   dealAcsEvent(EventAcsRequest param, HttpServletResponse response){
         return  null;
     }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java
index b277c83..4fa0614 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java
@@ -106,6 +106,22 @@
         systemUserMapper.updateById(user);
         return  "鎴愬姛";
     }
+    @Override
+    public    String delHkUserOpenid(UserOpenidSaveRequest param){
+        UserOpenidSaveRequest request = new UserOpenidSaveRequest();
+        request.setUserName(param.getUserName());
+        request.setAppKey(systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_APPID).getCode());
+        BaseResponse response = HKService.userOpenidDel(request);
+        if(response!=null &&response.getCode().equals(HKConstants.RESPONSE_SUCCEE)){
+        }
+        request.setUserName(null);
+        request.setOpenId(param.getOpenId());
+        request.setAppKey(systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_APPID).getCode());
+        response = HKService.userOpenidDel(request);
+        if(response!=null &&response.getCode().equals(HKConstants.RESPONSE_SUCCEE)){
+        }
+        return  "鎴愬姛";
+    }
 
     /**
      * 鍚屾娴峰悍缁勭粐淇℃伅,鏍规嵁erp鍚屾缁勭粐缁撴灉锛屽畾鏃舵鏌ラ渶瑕佷笅鍙戝埌娴峰悍鐨勭粍缁囦俊鎭�
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java
index e49a6fc..645a5b9 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java
@@ -2,8 +2,6 @@
 
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.TypeReference;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.tms.model.TMSContants;
 import com.doumee.core.tms.model.request.*;
@@ -11,24 +9,15 @@
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.DateUtil;
 import com.doumee.core.utils.HttpsUtil;
-import com.doumee.core.wms.model.request.*;
-import com.doumee.core.wms.model.response.WmsBaseDataResponse;
-import com.doumee.core.wms.model.response.WmsBaseResponse;
-import com.doumee.core.wms.model.response.WmsInventoryDataResponse;
 import com.doumee.dao.business.*;
 import com.doumee.dao.business.dao.SmsEmailMapper;
 import com.doumee.dao.business.model.*;
-import com.doumee.service.business.impl.SmsEmailServiceImpl;
 import com.doumee.service.business.third.TmsService;
-import com.doumee.service.business.third.WmsService;
-import com.github.yulichang.wrapper.MPJLambdaWrapper;
-import io.swagger.models.auth.In;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
 
@@ -252,7 +241,8 @@
         }
         String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
                     +TMSContants.InterfacePath.getOrderDetailByContractNumber[0];
-        TmsBaseResponse<TmsOrderInfoResponse> response = sendHttpRequest(url,TMSContants.InterfacePath.getOrderDetailByContractNumber[1],param.getContractNumber()
+        TmsBaseResponse<TmsOrderInfoResponse> response = sendHttpRequest(url,TMSContants.InterfacePath.getOrderDetailByContractNumber[1]
+                ,param.getContractNumber()
                 ,new TypeReference< TmsBaseResponse<TmsOrderInfoResponse>>(){});
         if(response!=null && response.getData()!=null){
               result =response.getData();
@@ -267,6 +257,82 @@
         result.setCicleStatusList(getCicleStatusList(p1));
         return result;
     }
+    /**
+     * 鍏ㄥ浗鍒拌揣鍦板垎甯冩煡璇㈡煡璇�
+     * @param param 鍙傛暟
+     * @return TmsBaseResponse
+     */
+    @Override
+    public  List<TmsDistributionOfDeliveryLocResponse>   getDistributionOfDeliveryLocations(TmsFacrotyCodeListRequest param){
+        List<TmsDistributionOfDeliveryLocResponse> result = new ArrayList<>();
+        if( param.getFacrotyCodeList() == null || param.getFacrotyCodeList().size() == 0){
+            param.setFacrotyCodeList(new ArrayList<>());
+            param.getFacrotyCodeList().add("0");
+        }
+        String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
+                    +TMSContants.InterfacePath.getDistributionOfDeliveryLocations[0];
+        TmsBaseResponse< List<TmsDistributionOfDeliveryLocResponse>> response = sendHttpRequest(url,TMSContants.InterfacePath.getDistributionOfDeliveryLocations[1],
+                JSONObject.toJSONString(param)
+                ,new TypeReference< TmsBaseResponse< List<TmsDistributionOfDeliveryLocResponse>>>(){});
+        if(response!=null && response.getData()!=null){
+              result =response.getData();
+        }
+
+        return result;
+    }
+    /**
+     * 瀹炴椂搴撳瓨鏌ヨ
+     * @return TmsBaseResponse
+     */
+    @Override
+    public  List<TmsInventoryListResponse>   getRealTimeInventory( ){
+        List<TmsInventoryListResponse> result = new ArrayList<>();
+        String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
+                    +TMSContants.InterfacePath.getRealTimeInventory[0];
+        TmsBaseResponse< List<TmsInventoryListResponse>> response = sendHttpRequest(url,TMSContants.InterfacePath.getRealTimeInventory[1]
+                ,"{}"
+                ,new TypeReference< TmsBaseResponse< List<TmsInventoryListResponse>>>(){});
+        if(response!=null && response.getData()!=null){
+              result =response.getData();
+        }
+
+        return result;
+    }
+    /**
+     * 鏌ヨ5涓巶鐨勮繍鍔涜祫婧愬埄鐢ㄦ儏鍐�
+     * @return TmsBaseResponse
+     */
+    @Override
+    public  List<TmsTotalAndReportVehicleQtyResponse>   getTotalAndReportVehicleQty( ){
+        List<TmsTotalAndReportVehicleQtyResponse> result = new ArrayList<>();
+        String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
+                    +TMSContants.InterfacePath.getTotalAndReportVehicleQty[0];
+        TmsBaseResponse< List<TmsTotalAndReportVehicleQtyResponse>> response = sendHttpRequest(url,TMSContants.InterfacePath.getTotalAndReportVehicleQty[1]
+                ,"{}"
+                ,new TypeReference< TmsBaseResponse< List<TmsTotalAndReportVehicleQtyResponse>>>(){});
+        if(response!=null && response.getData()!=null){
+              result =response.getData();
+        }
+
+        return result;
+    }
+    /**
+     * 鎸囧畾鏃堕棿鑼冨洿鍐呯疮璁″嚭搴撻噺
+     * @return TmsBaseResponse
+     */
+    @Override
+    public  List<TmsOutQtyAndVehicleQtyResponse>   getOutQtyAndVehicleQty(TmsOutQtyAndVehicleQtyRequest param ){
+        List<TmsOutQtyAndVehicleQtyResponse> result = new ArrayList<>();
+        String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
+                    +TMSContants.InterfacePath.getOutQtyAndVehicleQty[0];
+        TmsBaseResponse< List<TmsOutQtyAndVehicleQtyResponse>> response = sendHttpRequest(url,TMSContants.InterfacePath.getOutQtyAndVehicleQty[1]
+                ,JSONObject.toJSONString(param)
+                ,new TypeReference< TmsBaseResponse< List<TmsOutQtyAndVehicleQtyResponse>>>(){});
+        if(response!=null && response.getData()!=null){
+              result =response.getData();
+        }
+        return result;
+    }
 
     /**
      * 鍙戣捣 tms鎺ュ彛璇锋眰
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java
index 9301a87..24a8dfd 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java
@@ -242,6 +242,7 @@
                 return returnFailReuslt("璇锋眰鍙傛暟涓嶆纭紝鍙傛暟涓嶈兘涓虹┖");
             }
             List<PlatformJob> jobList = new ArrayList<>();
+            List<Integer> jobIdList = new ArrayList<>();
             List<PlatformWmsDetail> details = new ArrayList<>();
             List<String> iocodeList = new ArrayList<>();
             for(WmsInboundNoticeRequest param : list.getData()){
@@ -277,6 +278,7 @@
                     platformWmsJobMapper.insert(job);
                     jobList.add(model);
                 }
+                jobIdList.add(job.getId());
                 if(param.getDetails()!=null && param.getDetails().size()>0){
                     for(WmsInboundDetailRequest d :param.getDetails()){
                         PlatformWmsDetail entity = new PlatformWmsDetail();
@@ -308,6 +310,7 @@
                 platformWmsDetailMapper.insert(details);
             }
             if(jobList.size()>0){
+                list.setJobIdList(jobIdList);
                 startEndNoticeToDriver(jobList);
             }
         }catch (Exception e){
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/TmsService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/TmsService.java
index 96842a4..bf6d19c 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/TmsService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/TmsService.java
@@ -2,12 +2,6 @@
 
 import com.doumee.core.tms.model.request.*;
 import com.doumee.core.tms.model.response.*;
-import com.doumee.core.wms.model.request.WmsActionNoticeRequest;
-import com.doumee.core.wms.model.request.WmsBaseRequest;
-import com.doumee.core.wms.model.request.WmsInboundNoticeRequest;
-import com.doumee.core.wms.model.request.WmsOutboundNoticeRequest;
-import com.doumee.core.wms.model.response.WmsBaseResponse;
-import com.doumee.dao.business.model.PlatformJob;
 
 import java.util.List;
 
@@ -45,4 +39,29 @@
      TmsOrderInfoResponse orderInfo(TmsOrderInfoRequest param);
     void  saveInterfaceLog(String url,String name,String  param,Integer success,String respone,int type);
 
+    /**
+     * 鍏ㄥ浗鍒拌揣鍦板垎甯冩煡璇㈡煡璇�
+     * @param param 鍙傛暟
+     * @return TmsBaseResponse
+     */
+    List<TmsDistributionOfDeliveryLocResponse>   getDistributionOfDeliveryLocations(TmsFacrotyCodeListRequest param);
+
+    /**
+     * 瀹炴椂瀛樺簱鏌ヨ
+     * @return
+     */
+    List<TmsInventoryListResponse>   getRealTimeInventory( );
+    /**
+     * 鏌ヨ5涓巶鐨勮繍鍔涜祫婧愬埄鐢ㄦ儏鍐�
+     * @return TmsBaseResponse
+     */
+      List<TmsTotalAndReportVehicleQtyResponse>   getTotalAndReportVehicleQty( );
+
+    /**
+     * 鎸囧畾鏃堕棿鑼冨洿鍐呯疮璁″嚭搴撻噺
+     * @param param
+     * @return
+     */
+
+    List<TmsOutQtyAndVehicleQtyResponse>   getOutQtyAndVehicleQty(TmsOutQtyAndVehicleQtyRequest param );
 }

--
Gitblit v1.9.3