From dca4aae965647cf8411931ed44d7cdfff92e386f Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期四, 26 九月 2024 17:59:41 +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/dao/business/model/Platform.java                                  |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java                               |   17 +++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java                          |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java                    |   10 -
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java                            |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java                 |   41 ++++++--
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java               |   30 +++--
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java                               |    7 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java           |    1 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java                               |   18 +++
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java                                   |   10 +
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/FindDeviceAlarmListRequest.java  |   21 ++++
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkInterfaceTestCloudController.java                     |   53 +++++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/FindDeviceAlarmListResponse.java |   27 +++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformReasonServiceImpl.java              |    1 
 15 files changed, 202 insertions(+), 42 deletions(-)

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 1214156..9b9ea96 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
@@ -5,6 +5,7 @@
 import com.doumee.config.annotation.CloudRequiredPermission;
 import com.doumee.config.annotation.LoginNoRequired;
 import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.haikang.model.param.BaseListPageResponse;
 import com.doumee.core.haikang.model.param.BaseResponse;
 import com.doumee.core.haikang.model.param.request.*;
 import com.doumee.core.haikang.model.param.request.event.acs.EventAcsRequest;
@@ -13,12 +14,14 @@
 import com.doumee.core.haikang.model.param.request.event.parks.EventPlatformRequest;
 import com.doumee.core.haikang.model.param.request.event.visit.EventVisitIccmRequest;
 import com.doumee.core.haikang.model.param.request.event.visit.EventVisitRequest;
+import com.doumee.core.haikang.model.param.respose.*;
 import com.doumee.core.haikang.service.HKService;
 import com.doumee.core.model.ApiResponse;
 import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.DESUtil;
 import com.doumee.dao.business.model.Device;
+import com.doumee.service.business.DeviceService;
 import com.doumee.service.business.impl.hksync.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -30,6 +33,10 @@
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * @author 姹熻箘韫�
@@ -42,7 +49,39 @@
 
     @Autowired
     private SystemDictDataBiz systemDictDataBiz;
+    @Autowired
+    private DeviceService deviceService;
 
+    @ApiOperation("銆愭捣搴枫�戞祴璇昄ED鏄剧ず灞�")
+    @PostMapping("/testLedAll")
+    @LoginNoRequired
+    public ApiResponse<List<Map<String,Object>> > testLedAll(@RequestBody TransparentChannelBodyRequest request, HttpServletResponse response) {
+        TransparentChannelHeadRequest head = new TransparentChannelHeadRequest();
+        head.setAbility("cld");//鍥哄畾鍊�
+        head.setTreatyType("haixuan_led_net");//鍥哄畾鍊�
+        head.setDeviceIndexCode("6a5498e9df924befbb9530e467e5e809");
+        Device p = new Device();
+        p.setType(Constants.TWO);
+        p.setIsdeleted(Constants.ZERO);
+        List<Device> list = deviceService.findList(p);
+        List<Map<String,Object>> dList = new ArrayList<>();
+        String content = request.getParams().getRegions().get(0).getContent();
+        if(list!=null){
+            for(Device d : list){
+                head.setDeviceIndexCode(d.getNo());
+                request.getParams().setIndexCode(d.getNo());
+                request.getParams().getRegions().get(0).setContent( content+"["+d.getName()+"]");
+                BaseResponse res= HKService.transparentchannel(head,request);
+                Map<String,Object> dn = new HashMap<>();
+                dn.put("name",d.getName());
+                dn.put("id",d.getNo());
+                dn.put("content",request.getParams().getRegions().get(0).getContent());
+                dn.put("result",res);
+                dList.add(dn);
+            }
+        }
+        return ApiResponse.success(dList);
+    }
     @ApiOperation("銆愭捣搴枫�戞祴璇昄ED鏄剧ず灞�")
     @PostMapping("/testLed")
     @LoginNoRequired
@@ -75,26 +114,32 @@
     @ApiOperation("銆愭捣搴枫�戝垎椤垫煡璇㈡秷闃蹭紶鎰熷櫒閮ㄤ欢鐘舵��")
     @PostMapping("/sensorStatusSearch")
     @LoginNoRequired
-    public ApiResponse<BaseResponse> sensorStatusSearch(@RequestBody SensorStatusListRequest param, HttpServletResponse response) {
+    public ApiResponse<BaseResponse<BaseListPageResponse<SensorStatusListResponse>>> sensorStatusSearch(@RequestBody SensorStatusListRequest param, HttpServletResponse response) {
         return ApiResponse.success(  HKService.sensorStatusSearch(param));
     }
     @ApiOperation("銆愭捣搴枫�戞煡璇㈡秷闃蹭紶鎰熷櫒鍒楄〃")
     @PostMapping("/fireChannelSearch")
     @LoginNoRequired
-    public ApiResponse<BaseResponse> fireChannelSearch(@RequestBody FireChannelListRequest param, HttpServletResponse response) {
+    public ApiResponse<BaseResponse<BaseListPageResponse<FireChannelListResponse>>> fireChannelSearch(@RequestBody FireChannelListRequest param, HttpServletResponse response) {
         return ApiResponse.success(  HKService.fireChannelSearch(param));
     }
     @ApiOperation("銆愭捣搴枫�戞捣搴疯娑堥槻璁惧鍒楄〃")
     @PostMapping("/fireDeviceSearch")
     @LoginNoRequired
-    public ApiResponse<BaseResponse> fireDeviceSearch(@RequestBody FireDeviceListRequest param, HttpServletResponse response) {
+    public ApiResponse<BaseResponse<BaseListPageResponse<FireDeviceListResponse>> > fireDeviceSearch(@RequestBody FireDeviceListRequest param, HttpServletResponse response) {
         return ApiResponse.success(  HKService.fireDeviceSearch(param));
     }
     @ApiOperation("銆愭捣搴枫�戝垎椤垫煡璇㈡秷闃茶澶囬儴浠剁姸鎬�")
     @PostMapping("/fireDeviceStatusSearch")
     @LoginNoRequired
-    public ApiResponse<BaseResponse> fireDeviceStatusSearch(@RequestBody FireDeviceStatuslListRequest param, HttpServletResponse response) {
+    public ApiResponse<BaseResponse<BaseListPageResponse<FireDeviceStatusListResponse>>> fireDeviceStatusSearch(@RequestBody FireDeviceStatuslListRequest param, HttpServletResponse response) {
         return ApiResponse.success(  HKService.fireDeviceStatusSearch(param));
     }
+    @ApiOperation("銆愭捣搴枫�戝垎椤垫煡璇㈣澶囦笅鐨勬墍鏈夋姤璀﹁褰�")
+    @PostMapping("/findDeviceAlarmPage")
+    @LoginNoRequired
+    public ApiResponse<BaseResponse<BaseListPageResponse<FindDeviceAlarmListResponse>> > findDeviceAlarmPage(@RequestBody FindDeviceAlarmListRequest param, HttpServletResponse response) {
+        return ApiResponse.success(  HKService.findDeviceAlarmPage(param));
+    }
 
 }
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java
index 150a642..0baf391 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java
@@ -230,7 +230,9 @@
     @PostMapping("/powerLevel")
     public ApiResponse powerLevel (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
         jobOperateDTO.setLoginUserInfo(getLoginUser(token));
-        platformJobService.powerLevel(jobOperateDTO);
+        PlatformJob platformJob =  platformJobService.powerLevel(jobOperateDTO);
+        //涓嬪彂绂诲洯鏉冮檺
+        platformJobService.sendInPark(platformJob);
         return ApiResponse.success("鎿嶄綔鎴愬姛");
     }
 
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 4579fe9..a62463a 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
@@ -133,9 +133,10 @@
         String[] nhRegionDataRanking= new String[]{"/api/ecm/v1/energy/regionDataRanking","鏍规嵁鏃堕棿缁村害鑾峰彇鍖哄煙鐢ㄩ噺鎺掑悕"};//1.8.5鏍规嵁鏃堕棿缁村害鑾峰彇鍖哄煙鐢ㄩ噺鎺掑悕
         String[] nhEnergyDistribution= new String[]{"/api/ecm/v1/energy/energyDistribution","鏍规嵁鏃堕棿缁村害鑾峰彇鑳借�楀垎甯�"};// 鏍规嵁鏃堕棿缁村害鑾峰彇鑳借�楀垎甯�
         String[] fireDeviceSearch= new String[]{"/api/resource/v1/fireDevice/search","璇㈡秷闃茶澶囧垪琛�"};// 1.12.1.1璇㈡秷闃茶澶囧垪琛�
-        String[] fireChannelSearch= new String[]{"/api/resource/v1/fireChannel/search","鏌ヨ娑堥槻浼犳劅鍣ㄥ垪琛�"};// 鏌ヨ娑堥槻浼犳劅鍣ㄥ垪琛�
-        String[] sensorStatusSearch= new String[]{"/api/fpnms/v2/sensor/status/search","鍒嗛〉鏌ヨ娑堥槻浼犳劅鍣ㄩ儴浠剁姸鎬�"};// 鍒嗛〉鏌ヨ娑堥槻浼犳劅鍣ㄩ儴浠剁姸鎬�
-        String[] fireDeviceStatusSearch= new String[]{"/api/fpnms/v2/device/status/search","鏌ヨ娑堥槻璁惧閮ㄤ欢鐘舵��"};// 鏌ヨ娑堥槻璁惧閮ㄤ欢鐘舵��
+        String[] fireChannelSearch= new String[]{"/api/resource/v1/fireChannel/search","鏌ヨ娑堥槻浼犳劅鍣ㄥ垪琛�"};//鏌ヨ娑堥槻浼犳劅鍣ㄥ垪琛�
+        String[] sensorStatusSearch= new String[]{"/api/fpnms/v2/sensor/status/search","鍒嗛〉鏌ヨ娑堥槻浼犳劅鍣ㄩ儴浠剁姸鎬�"};//鍒嗛〉鏌ヨ娑堥槻浼犳劅鍣ㄩ儴浠剁姸鎬�
+        String[] fireDeviceStatusSearch= new String[]{"/api/fpnms/v2/device/status/search","鏌ヨ娑堥槻璁惧閮ㄤ欢鐘舵��"};//鏌ヨ娑堥槻璁惧閮ㄤ欢鐘舵��
+        String[] findDeviceAlarmPage= new String[]{"/api/v1/alarm/findDeviceAlarmPage","鍒嗛〉鏌ヨ璁惧涓嬬殑鎵�鏈夋姤璀﹁褰�"};//鍒嗛〉鏌ヨ璁惧涓嬬殑鎵�鏈夋姤璀﹁褰�
     }
 
     /**
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 8e39c56..37d4740 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
@@ -597,7 +597,7 @@
 		return startDoPostStringArtemis(HKConstants.InterfacePath.fireDeviceStatusSearch,body);
 	}
 	/**
-	 *	鍒嗛〉鏌ヨ娑堥槻浼犳劅鍣ㄩ儴浠剁姸鎬�
+	 * 鍒嗛〉鏌ヨ娑堥槻浼犳劅鍣ㄩ儴浠剁姸鎬�
 	 * @param body
 	 * @return
 	 */
@@ -605,6 +605,14 @@
 		return startDoPostStringArtemis(HKConstants.InterfacePath.sensorStatusSearch,body);
 	}
 	/**
+	 * 鍒嗛〉鏌ヨ璁惧涓嬬殑鎵�鏈夋姤璀﹁褰�
+	 * @param body
+	 * @return
+	 */
+	public static String findDeviceAlarmPage(String body) {
+		return startDoPostStringArtemis(HKConstants.InterfacePath.findDeviceAlarmPage,body);
+	}
+	/**
 	 *	璇㈡秷闃茶澶囧垪琛�
 	 * @param body
 	 * @return
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/FindDeviceAlarmListRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/FindDeviceAlarmListRequest.java
new file mode 100644
index 0000000..edd4faf
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/FindDeviceAlarmListRequest.java
@@ -0,0 +1,21 @@
+package com.doumee.core.haikang.model.param.request;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class FindDeviceAlarmListRequest {
+   private String deviceIndexCode;//	String	false	鎵�灞炶澶噄d
+   private String resourceIndexCodes	;//String	false	璁惧/浼犳劅鍣╥d
+   private String searchName	;//String	false	鍚嶇О/缂栧彿
+   private String alarmTypes	;//String	false	鎶ヨ绫诲瀷
+   private String resSubTypes	;//String	false	璁惧/浼犳劅鍣ㄧ被鍨�
+   private String partNos	;//String	false	鍒嗗尯/鍥炶矾
+   private List<String> subareaNos;//	Array	false	鍒嗗尯鍙� 绛�
+   private  List<String> loopNos	;//Array	false	鍥炶矾鍙� 绛�
+   private String alarmStartTime;//	String	false	鎶ヨ寮�濮嬫椂闂�
+   private String alarmEndTime	;//String	false	鎶ヨ缁撴潫鏃堕棿
+   private int pageNo;//	Number	true	褰撳墠椤电爜
+   private int pageSize;//	Number	true	鍒嗛〉澶у皬
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/FindDeviceAlarmListResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/FindDeviceAlarmListResponse.java
new file mode 100644
index 0000000..469575b
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/FindDeviceAlarmListResponse.java
@@ -0,0 +1,27 @@
+package com.doumee.core.haikang.model.param.respose;
+
+import lombok.Data;
+
+@Data
+public class FindDeviceAlarmListResponse {
+     private String id	;//String	false	鎶ヨID
+     private String resourceId	;//String	false	鎶ヨ婧愭墍灞炶祫婧恑d
+     private String resourceName;//	String	false	鎶ヨ婧愯祫婧愬悕绉�
+     private String resourceCode;//	String	false	鎶ヨ婧愯祫婧愮紪鍙�
+     private Integer alarmType	;//Number	false	鎶ヨ绫诲瀷
+     private String alarmTypeName;//	String	false	鎶ヨ绫诲瀷鍚嶇О
+     private String equipTypeCode	;//String	false	璁惧/浼犳劅鍣� 绫诲瀷鐮�
+     private String loopNo	;//String	false	鍥炶矾鍙�
+     private String loopName;//	String	false	鍥炶矾鍚嶇О
+     private String subarea;//	String	false	鍒嗗尯鍙�
+     private String subareaName;//	String	false	鍒嗗尯鍚嶇О
+     private String regionIndexCode	;//String	false	鍖哄煙缂栫爜
+     private String regionName	;//String	false	鍖哄煙鍚嶇О
+     private String regionPath	;//String	false	鍖哄煙璺緞
+     private String location	;//String	false	鎶ヨ婧愯缁嗗湴鍧�
+     private String alarmTime;//	String	false	鎶ヨ鏃堕棿 鏃堕棿鏍煎紡yyyy/MM/dd HH:mm:ss
+     private String recoverAlarmTime	;//String	false	鎶ヨ鎭㈠鏃堕棿 鏃堕棿鏍煎紡yyyy/MM/dd HH:mm:ss
+     private Integer alarmLevel;//	Number	false	鎶ヨ绛夌骇
+     private String parentResourceId;//	String	false	鎶ヨ婧愭墍灞炶澶噄d
+     private String parentResourceName;//	String	false	鎶ヨ婧愭墍灞炶澶囧悕绉�
+}
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 e9f749e..63508a0 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
@@ -975,6 +975,24 @@
         return  null;
     }
     /**
+     *鍒嗛〉鏌ヨ璁惧涓嬬殑鎵�鏈夋姤璀﹁褰�
+     * @return
+     */
+    public  static  BaseResponse<BaseListPageResponse<FindDeviceAlarmListResponse>>   findDeviceAlarmPage(FindDeviceAlarmListRequest param){
+        log.info("銆愭捣搴峰垎椤垫煡璇㈣澶囦笅鐨勬墍鏈夋姤璀﹁褰曘��================寮�濮�===="+JSONObject.toJSONString(param));
+        try {
+            String res = HKTools.findDeviceAlarmPage(JSONObject.toJSONString(param));
+            TypeReference typeReference =
+                    new TypeReference<BaseResponse<BaseListPageResponse<FindDeviceAlarmListResponse>>>(){};
+            BaseResponse<BaseListPageResponse<FindDeviceAlarmListResponse>>   result = JSONObject.parseObject(res, typeReference.getType());
+            logResult(result,"娴峰悍鍒嗛〉鏌ヨ璁惧涓嬬殑鎵�鏈夋姤璀﹁褰�");
+            return  result;
+        }catch (Exception e){
+            log.error("銆愭捣搴峰垎椤垫煡璇㈣澶囦笅鐨勬墍鏈夋姤璀﹁褰曘��================澶辫触====锛歕n"+ e.getMessage());
+        }
+        return  null;
+    }
+    /**
      *璇㈡秷闃茶澶囧垪琛�
      * @return
      */
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Platform.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Platform.java
index 2574f93..05a3247 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Platform.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Platform.java
@@ -217,6 +217,8 @@
     @TableField(exist = false)
     private BigDecimal useRata;
 
+
+
     @ApiModelProperty(value = "鏈堝彴浣滀笟鏁版嵁")
     @TableField(exist = false)
     private PlatformWorkVO platformWorkVO;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
index c60aa27..0871a62 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
@@ -35,7 +35,6 @@
 
     @ApiModelProperty(value = "鍒涘缓鏃堕棿")
     @ExcelColumn(name="鍒涘缓鏃堕棿")
-  
     private Date createDate;
 
     @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
@@ -144,8 +143,10 @@
 
     @ApiModelProperty(value = "鍙彿鏃堕棿")
     @ExcelColumn(name="鍙彿鏃堕棿")
-  
     private Date callDate;
+
+
+
 
     @ApiModelProperty(value = "鍙彿浜虹紪鐮�", example = "1")
     @ExcelColumn(name="鍙彿浜虹紪鐮�")
@@ -286,6 +287,13 @@
     @ExcelColumn(name="纭浠诲姟鏃堕棿")
     private Date confirmTaskDate;
 
+    @ApiModelProperty(value = "鏈�鏂板彨鍙锋椂闂�")
+    @TableField(exist = false)
+    private Date newCallDate;
+
+    @ApiModelProperty(value = "鏈�鏂板紑濮嬩綔涓氭椂闂�")
+    @TableField(exist = false)
+    private Date newStartDate;
 
     @ApiModelProperty(value = "鍓嶆柟鎺掗槦鏁伴噺", example = "1")
     @TableField(exist = false)
@@ -303,6 +311,9 @@
     @TableField(exist = false)
     private String platformName ;
 
+    @ApiModelProperty(value = "WMS浠诲姟鏃堕棿")
+    @TableField(exist = false)
+    private String ioCreatedate;
 
     @ApiModelProperty(value = "绂诲満涓嬪彂鎿嶄綔浜哄悕绉�", example = "1")
     @TableField(exist = false)
@@ -356,10 +367,12 @@
     private Integer jobType;
 
     @ApiModelProperty(value = "寮�濮嬩綔涓氭椂闂磋捣")
+    @JsonFormat(pattern = "yyyy-MM-dd")
     @TableField(exist = false)
     private Date beginWorkDateStart;
 
     @ApiModelProperty(value = "寮�濮嬩綔涓氭椂闂存")
+    @JsonFormat(pattern = "yyyy-MM-dd")
     @TableField(exist = false)
     private Date beginWorkDateEnd;
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java
index 0100842..0ea961a 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java
@@ -197,7 +197,7 @@
      * 鎵嬪姩鎺堟潈杞﹁締绂诲満
      * @param jobOperateDTO
      */
-    void powerLevel(JobOperateDTO jobOperateDTO);
+    PlatformJob powerLevel(JobOperateDTO jobOperateDTO);
     /**
      * 鑾峰彇鏈堝彴涓嬬殑浠诲姟淇℃伅
      * @param groupId
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java
index a5be1ec..9e6f5d5 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java
@@ -12,10 +12,7 @@
 import com.doumee.dao.business.PlatformShowParamMapper;
 import com.doumee.dao.business.join.PlatformJobJoinMapper;
 import com.doumee.dao.business.join.PlatformJoinMapper;
-import com.doumee.dao.business.model.Platform;
-import com.doumee.dao.business.model.PlatformGroup;
-import com.doumee.dao.business.model.PlatformJob;
-import com.doumee.dao.business.model.PlatformShowParam;
+import com.doumee.dao.business.model.*;
 import com.doumee.dao.web.reqeust.PlatformDataDTO;
 import com.doumee.dao.web.response.PlatformGroupWorkVO;
 import com.doumee.dao.web.response.PlatformWorkVO;
@@ -253,8 +250,13 @@
         }
         if(Constants.equalsInteger(platformDataDTO.getQueryData(),Constants.ONE)){
             //鏌ヨ浠婂ぉ鎵�鏈夌殑浠诲姟鏁版嵁
-            List<PlatformJob> platformJobList =  platformJobJoinMapper.selectList(new QueryWrapper<PlatformJob>().lambda()
-                    .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+            List<PlatformJob> platformJobList =  platformJobJoinMapper.selectJoinList(PlatformJob.class,new MPJLambdaWrapper<PlatformJob>()
+                            .selectAll(PlatformJob.class)
+                            .select(" ( select pl.CREATE_DATE from platform_log pl where t.id = pl.obj_id and pl.OBJ_TYPE = 5 order by pl.CREATE_DATE desc  limit 1  ) as newStartDate  ")
+                            .select(" ( select pl.CREATE_DATE from platform_log pl where t.id = pl.obj_id and pl.OBJ_TYPE = 4 order by pl.CREATE_DATE desc  limit 1  ) as newCallDate  ")
+                            .selectAs(PlatformWmsJob::getCarrierName,PlatformJob::getCarrierName)
+                            .leftJoin(PlatformWmsJob.class,PlatformWmsJob::getCarryBillCode,PlatformJob::getBillCode)
+                            .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                             .in(PlatformJob::getStatus,
                                     Constants.PlatformJobStatus.WAIT_CALL.getKey(),
                                     Constants.PlatformJobStatus.IN_WAIT.getKey(),
@@ -283,15 +285,18 @@
         PlatformWorkVO platformWorkVO = new PlatformWorkVO();
         if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformJobList)){
             //鑾峰彇鏈堝彴涓嬬殑鎵�鏈変綔涓氭暟鎹�
-            List<PlatformJob> platformJobs = platformJobList.stream().filter(i->Constants.equalsInteger(i.getPlatformId(),platform.getId()) || Constants.equalsInteger(i.getPlatformGroupId(),platform.getGroupId())
+            List<PlatformJob> platformJobs = platformJobList.stream().filter(
+                    i->Constants.equalsInteger(i.getPlatformId(),platform.getId())
+                    || Constants.equalsInteger(i.getPlatformGroupId(),platform.getGroupId())
             ).collect(Collectors.toList());
             if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformJobs)){
                 platformWorkVO.setWorkNum(
-                        platformJobs.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())).collect(Collectors.toList()).size()
+                        platformJobs.stream().filter(i->Constants.equalsInteger(i.getPlatformId(),platform.getId())  && Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())).collect(Collectors.toList()).size()
                 );
                 platformWorkVO.setCallNum(
-                        platformJobs.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())).collect(Collectors.toList()).size()
+                        platformJobs.stream().filter(i->Constants.equalsInteger(i.getPlatformId(),platform.getId())  && Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())).collect(Collectors.toList()).size()
                 );
+
                 platformWorkVO.setWaitNum(
                         platformJobs.stream().filter(i->
                                  Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.TRANSFERING.getKey())
@@ -327,10 +332,9 @@
 
         platformGroupWorkVO.setWaitNum(platformJobJoinMapper.selectCount(new QueryWrapper<PlatformJob>().lambda()
                         .eq(PlatformJob::getPlatformGroupId,platformGroupId)
-                        .in(PlatformJob::getStatus,
-                                Constants.PlatformJobStatus.WAIT_CALL.getKey(),
-                                Constants.PlatformJobStatus.IN_WAIT.getKey(),
-                                Constants.PlatformJobStatus.CALLED.getKey()
+                        .and( i->i.eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CALL.getKey()).or()
+                                        .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.IN_WAIT.getKey()).or()
+                                        .apply(" ( status = "+Constants.PlatformJobStatus.TRANSFERING.getKey()+" and PLATFORM_GROUP_ID = "+platformGroupId+" ) ")
                         )
                 )
         );
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 7dcc323..cd03e09 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
@@ -174,7 +174,8 @@
                 .selectAs(PlatformGroup::getName,PlatformJob::getPlatformGroupName)
                 .selectAs(Platform::getWorkRate,PlatformJob::getWorkRate)
                 .selectAs(PlatformWmsJob::getCarrierName,PlatformJob::getCarrierName)
-                .selectAs(SystemUser::getUsername,PlatformJob::getOutUserName)
+                .selectAs(PlatformWmsJob::getIoCreatedate,PlatformJob::getIoCreatedate)
+                .selectAs(SystemUser::getRealname,PlatformJob::getOutUserName)
                 .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
                 .leftJoin(PlatformGroup.class,PlatformGroup::getId,Platform::getGroupId)
                 .leftJoin(PlatformWmsJob.class,PlatformWmsJob::getCarryBillCode,PlatformJob::getBillCode)
@@ -202,6 +203,7 @@
                 .eq(pageWrap.getModel().getSingType() != null, PlatformJob::getSingType, pageWrap.getModel().getSingType())
                 .eq(pageWrap.getModel().getSignDistance() != null, PlatformJob::getSignDistance, pageWrap.getModel().getSignDistance())
                 .eq(pageWrap.getModel().getPlatformNames() != null, PlatformJob::getPlatformNames, pageWrap.getModel().getPlatformNames())
+                .like(pageWrap.getModel().getPlatformName() != null, Platform::getName, pageWrap.getModel().getPlatformName())
                 .eq(pageWrap.getModel().getPlatforms() != null, PlatformJob::getPlatforms, pageWrap.getModel().getPlatforms())
                 .eq(pageWrap.getModel().getPlatformId() != null, PlatformJob::getPlatformId, pageWrap.getModel().getPlatformId())
                 .ge(pageWrap.getModel().getInwaitDate() != null, PlatformJob::getInwaitDate, Utils.Date.getStart(pageWrap.getModel().getInwaitDate()))
@@ -295,10 +297,6 @@
                 .leftJoin(PlatformWmsJob.class,PlatformWmsJob::getCarryBillCode,PlatformJob::getBillCode)
                 .eq(pageWrap.getModel().getPlatformGroupId() != null, PlatformJob::getPlatformGroupId, pageWrap.getModel().getPlatformGroupId())
                 .like(pageWrap.getModel().getCarCodeFront() != null, PlatformJob::getCarCodeFront, pageWrap.getModel().getCarCodeFront())
-//                .eq(Objects.nonNull(pageWrap.getModel().getCallType())
-//                        &&Constants.equalsInteger(pageWrap.getModel().getCallType(),Constants.ONE),
-//                        PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CALL.getKey()
-//                )
 
                 .apply(Objects.nonNull(pageWrap.getModel().getCallType())
                                 &&Constants.equalsInteger(pageWrap.getModel().getCallType(),Constants.ONE),
@@ -324,7 +322,7 @@
                                 &&Constants.equalsInteger(pageWrap.getModel().getCallType(),Constants.THREE),
                         i->i.eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CALL.getKey()).or()
                                 .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.IN_WAIT.getKey()).or()
-                                .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.CALLED.getKey()).or()
+//                                .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.CALLED.getKey()).or()
                                 .apply(" ( t.status = "+Constants.PlatformJobStatus.TRANSFERING.getKey()+" and t.PLATFORM_GROUP_ID = "+pageWrap.getModel().getPlatformGroupId()+" ) ")
                 )
 //                .like(PlatformJob::getArriveDate,DateUtil.dateTypeToString(new Date(),"yyyy-MM-dd"))
@@ -549,6 +547,16 @@
         }else{
             throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"绛惧埌绫诲瀷閿欒");
         }
+        //鏌ヨ鏈堝彴缁勬暟鎹�
+        PlatformGroup platformGroup = platformGroupMapper.selectById(platformJob.getPlatformGroupId());
+        if(Objects.isNull(platformGroup)){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏈煡璇㈠埌鏈堝彴缁勪俊鎭�");
+        }
+        if(System.currentTimeMillis() > DateUtil.getDateByString(DateUtil.getCurrDate() + " " + platformGroup.getEndTime() + ":59" ).getTime()
+        || System.currentTimeMillis() < DateUtil.getDateByString(DateUtil.getCurrDate() + " " + platformGroup.getStartTime() + ":00" ).getTime()){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈湪宸ヤ綔鏃堕棿["+platformGroup.getStartTime() + "-" + platformGroup.getEndTime() +"]锛屾棤娉曡繘琛岀鍒�");
+        }
+
         platformJob.setSignDate(new Date());
         platformJob.setSingType(signInDTO.getSignType());
         platformJob.setStatus(Constants.PlatformJobStatus.WAIT_CALL.getKey());
@@ -616,13 +624,16 @@
         ){
             //鏌ヨ鍓嶆柟鎺掗槦鏁伴噺
             this.queryWaitNum(platformJob);
+            Platform platform = platformJoinMapper.selectById(platformJob.getPlatformId());
+            if(Objects.nonNull(platform)){
+                platformJob.setPlatformName(platform.getName());
+            }
         }else if(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){
             //浣滀笟鏈堝彴淇℃伅
             Platform platform = platformJoinMapper.selectById(platformJob.getPlatformId());
             if(Objects.nonNull(platform)){
                 platformJob.setPlatformName(platform.getName());
             }
-
         }
         platformJob.dealTime();
         this.getWorkTime(platformJob);
@@ -916,7 +927,7 @@
         if(platformJobMapper.selectCount(new QueryWrapper<PlatformJob>().lambda()
                 .eq(PlatformJob::getPlatformId,platform.getId())
                 .in(PlatformJob::getStatus,Constants.PlatformJobStatus.CALLED.getKey(),Constants.PlatformJobStatus.WORKING.getKey())
-        )>platform.getWorkingNum()){
+        )>=platform.getWorkingNum()){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瓒呭嚭鏈堝彴鍙悓鏃朵綔涓氭暟閲廩"+platform.getWorkingNum()+"杈哴");
         };
 
@@ -1115,7 +1126,8 @@
         if(Objects.isNull(platformJob)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY);
         }
-        if(!Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){
+        if(! (Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())
+        ||Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.EXCEPTION.getKey()) )){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧�,涓氬姟鐘舵�佸凡娴佽浆锛�");
         }
         PlatformJob oldPlatformJob = new PlatformJob();
@@ -1145,7 +1157,7 @@
      */
     @Override
     @Transactional(rollbackFor = {Exception.class,BusinessException.class})
-    public void powerLevel(JobOperateDTO jobOperateDTO){
+    public PlatformJob powerLevel(JobOperateDTO jobOperateDTO){
         if(Objects.isNull(jobOperateDTO)
                 || Objects.isNull(jobOperateDTO.getJobId())){
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
@@ -1163,11 +1175,16 @@
         platformJob.setOutHkdate(new Date());
         platformJob.setStatus(Constants.PlatformJobStatus.AUTHED_LEAVE.getKey());
         platformJob.setEditDate(new Date());
+        platformJob.setRemark(jobOperateDTO.getRemark());
         platformJobMapper.updateById(platformJob);
         //瀛樺偍鎿嶄綔鏃ュ織
         savePlatformLog(Constants.PlatformJobLogType.AUTHED_LEAVE.getKey(),oldPlatformJob,platformJob ,
                 Constants.PlatformJobLogType.AUTHED_LEAVE.getInfo());
-        //TODO 鎺堟潈杞﹁締绂诲満鏉冮檺
+        return platformJob;
+
+
+
+
     }
 
 
@@ -1272,6 +1289,7 @@
                 platformLog.setParam2(DateUtil.dateTypeToString(platformLog.getCreateDate(),"yyyy-MM-dd HH:mm:ss"));
                 String v = Long.toString((platformLog.getCreateDate().getTime() - DateUtil.StringToDate(lastBeginPlatform.getParam1(),"yyyy-MM-dd HH:mm:ss").getTime() )/ 1000) ;
                 platformLog.setParam3(v);
+                platformLog.setRemark(platformJobBefor.getPlatformId().toString());
             }else{
                 platformLog.setParam3("0");
             }
@@ -1299,6 +1317,7 @@
                 platformLog.setParam2(DateUtil.dateTypeToString(platformLog.getCreateDate(),"yyyy-MM-dd HH:mm:ss"));
                 String v = Long.toString((platformJobAfter.getDoneDate().getTime() -  DateUtil.StringToDate(lastBeginPlatform.getParam1(),"yyyy-MM-dd HH:mm:ss").getTime()) / 1000) ;
                 platformLog.setParam3(v);
+                platformLog.setRemark(platformJobBefor.getPlatformId().toString());
             }
         }else if(Constants.equalsInteger(objType,Constants.PlatformJobLogType.WORKING.getKey())){
             platformLog.setParam1(DateUtil.dateTypeToString(platformLog.getCreateDate(),"yyyy-MM-dd HH:mm:ss"));
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformReasonServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformReasonServiceImpl.java
index 7500514..8cbe776 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformReasonServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformReasonServiceImpl.java
@@ -107,6 +107,7 @@
     public List<PlatformReason> findList(PlatformReason platformReason) {
         QueryWrapper<PlatformReason> wrapper = new QueryWrapper<>(platformReason);
         wrapper.eq("isdeleted",Constants.ZERO);
+        wrapper.orderByAsc("SORTNUM");
         return platformReasonMapper.selectList(wrapper);
     }
   
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java
index 6f2a9c0..37627fa 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java
@@ -316,6 +316,9 @@
                 .selectAs(PlatformGroup::getName,Platform::getGroupName)
                 .select(" (select ifnull(TIMESTAMPDIFF(HOUR, '2023-01-01 '||pg.start_time||':00', '2023-01-01 '||pg.end_time||':00' ),0) from platform_group pg " +
                         " where t.group_id = pg.id ) as openTime ")
+                .select(" ( select ROUND( ifnull(SUM(pl.PARAM3),0) / 3600 , 2 )   from platform_log pl  where pl.OBJ_ID = t.id and pl.remark = t.id  " +
+                        " and pl.CREATE_DATE > '"+Utils.Date.getStart(platform.getQueryDateStart())+"'  " +
+                        "and pl.CREATE_DATE <=  '"+Utils.Date.getEnd(platform.getQueryDateEnd())+"'  ) as workCountTime ")
                 .leftJoin(PlatformGroup.class,PlatformGroup::getId,Platform::getGroupId);
         queryWrapper
                 .eq(platform.getGroupId() != null, Platform::getGroupId, platform.getGroupId())
@@ -328,8 +331,6 @@
             List<PlatformJob> platformJobList = platformJobJoinMapper.selectJoinList(PlatformJob.class,
                     new MPJLambdaWrapper<PlatformJob>()
                     .selectAll(PlatformJob.class)
-                    .select(" ( select ROUND( ifnull(SUM(pl.PARAM3),0) / 3600 , 2 )   from platform_log pl  where pl.OBJ_ID = t.id " +
-                            " ) as workTimes ")
                     .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WORKING.getKey(),
                             Constants.PlatformJobStatus.DONE.getKey(),
                             Constants.PlatformJobStatus.TRANSFERING.getKey(),
@@ -346,16 +347,13 @@
             for (Platform bean:platformList) {
                 List<PlatformJob> beanJobList = platformJobList.stream().filter(i->Constants.equalsInteger(i.getPlatformId(),bean.getId())).collect(Collectors.toList());
                 bean.setStopCount(beanJobList.size());
-                bean.setWorkCountTime(
-                        beanJobList.stream().map(i->i.getWorkTimes()).reduce(BigDecimal.ZERO,BigDecimal::add)
-                );
                 if(Objects.isNull(bean.getOpenTime())||bean.getOpenTime().compareTo(BigDecimal.ZERO)<=0){
                     bean.setUseRata(BigDecimal.ZERO);
                     continue;
                 }
                 BigDecimal sumTime = BigDecimal.valueOf(sumDays).multiply(bean.getOpenTime());
                 bean.setUseRata(
-                        bean.getWorkCountTime().divide(sumTime,BigDecimal.ROUND_HALF_DOWN,2)
+                        bean.getWorkCountTime().multiply(new BigDecimal(100)).divide(sumTime,BigDecimal.ROUND_HALF_DOWN,2)
                 );
             }
         }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
index ba580d2..1b26bdc 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -1011,6 +1011,7 @@
                     .orderByDesc(PlatformLog::getCreateDate)
                     .last(" limit 1"));
             String v = Long.toString(job.getDoneDate().getTime() - lastBeginPlatform.getCreateDate().getTime() / 1000) ;
+            lastBeginPlatform.setRemark(job.getPlatformId().toString());
             lastBeginPlatform.setParam3(v);
             lastBeginPlatform.setParam2(DateUtil.getDate(lastBeginPlatform.getCreateDate(),"yyyy-MM-dd HH:mm:ss"));
             platformLogMapper.updateById(lastBeginPlatform);//鏇存柊涓婁竴娆′綔涓氱殑瀹屾垚鏃堕棿鍜屼綔涓氭椂闀�

--
Gitblit v1.9.3