server/meeting/meeting_service/src/main/resources/application-dev.yml
@@ -29,7 +29,6 @@ # password: 111111 debug_model: true captcha_check: false # Swaggeré ç½® server/system_gateway/src/main/resources/application-dev.yml
@@ -1,12 +1,12 @@ spring: # æ°æ®æºé ç½® datasource: url: jdbc:mysql://sh-cdb-aiskr3vy.sql.tencentcdb.com:62443/antaiwuliu?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai username: doumee password: rtjgfEr@&0c0m # url: jdbc:mysql://10.50.250.253:3306/antaiwuliu?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai # username: root # password: Atwl@2024 # url: jdbc:mysql://sh-cdb-aiskr3vy.sql.tencentcdb.com:62443/antaiwuliu?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai # username: doumee # password: rtjgfEr@&0c0m url: jdbc:mysql://10.50.250.253:3306/antaiwuliu?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai username: root password: Atwl@2024 driver-class-name: com.mysql.cj.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/ChangNeiDiaoduController.java
@@ -85,6 +85,8 @@ public ApiResponse<List<PlatformWarnEvent>> warningList(@RequestParam Integer size) { int limit = Constants.formatIntegerNum(size)>0?size:7; List<PlatformWarnEvent> data = boardService.warningList(limit); if(data ==null || data.size()==0){ } return ApiResponse.success(data); } server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/SecurityController.java
@@ -3,6 +3,7 @@ import com.doumee.api.BaseController; import com.doumee.config.annotation.LoginNoRequired; import com.doumee.core.haikang.model.param.respose.PageRegionInfoResponse; import com.doumee.core.haikang.model.param.respose.RuleEventSearchResponse; import com.doumee.core.model.ApiResponse; import com.doumee.core.utils.Constants; import com.doumee.dao.web.response.platformReport.*; @@ -73,7 +74,8 @@ @ApiOperation("ååºå®é²è®¾å¤") @GetMapping("/securityDeviceData") public ApiResponse<List<SecurityDeviceDataVO>> securityDeviceData() { List<SecurityDeviceDataVO> list = new ArrayList<>(); List<SecurityDeviceDataVO> list = boardService.securityDeviceData(); /* Random random = new Random(); for (int i = 1; i <= 3; i++) { SecurityDeviceDataVO data = new SecurityDeviceDataVO(); @@ -82,7 +84,27 @@ data.setOfflineDeviceNum(random.nextInt(10)); data.setTotalNum(data.getOnlineNum() + data.getOfflineDeviceNum() ); list.add(data); } }*/ return ApiResponse.success(list); } @LoginNoRequired @ApiOperation("å®é²åè¦æ¥å£") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "type", value = "ç±»å 0å ¨é¨ 1åºååè¦ 2è¡ä¸ºåè¦", required = false) }) @GetMapping("/warningEventData") public ApiResponse<List<WaningEventDataVO>> warningEventData(Integer type) { List<WaningEventDataVO> list = boardService.warningEventData(type); /* Random random = new Random(); for (int i = 1; i <= 3; i++) { SecurityDeviceDataVO data = new SecurityDeviceDataVO(); data.setDeviceType("设å¤ç±»å_"+i); data.setOnlineNum(random.nextInt(10)); data.setOfflineDeviceNum(random.nextInt(10)); data.setTotalNum(data.getOnlineNum() + data.getOfflineDeviceNum() ); list.add(data); }*/ return ApiResponse.success(list); } server/visits/dmvisit_admin/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@ spring: profiles: active: pro active: dev application: name: visitsAdmin # å®å ¨é ç½® server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
@@ -146,11 +146,14 @@ String[] cameraPreviewURLs= new String[]{"/api/video/v1/cameras/previewURLs","è·åçæ§ç¹é¢è§åæµURL"};//è·åçæ§ç¹é¢è§åæµURL String[] pageFireChannel= new String[]{"/api/resource/v1/fireChannel/get","å页è·åæ¶é²ä¼ æå¨å表"};//å页è·åæ¶é²ä¼ æå¨å表 String[] pageSensorStatus= new String[]{"/api/fpnms/v2/sensor/status/search","å页æ¥è¯¢æ¶é²ä¼ æå¨é¨ä»¶ç¶æv2"};//å页æ¥è¯¢æ¶é²ä¼ æå¨é¨ä»¶ç¶æv2 String[] ruleEventSearch= new String[]{"/api/v2/ruleEvent/search","å®é²çæ¿-仿¥åè¦äºä»¶-æ ¹æ®eventTypeåæ®µ3"};//å®é²çæ¿-仿¥åè¦äºä»¶-æ ¹æ®eventTypeåæ®µ3[å¾ç] String[] getSecureDevStatusList= new String[]{"/api/secureDataService/v2/getSecureDevStatusList","å®é²çæ¿-ååºå®é²è®¾å¤-åç±»å设å¤ç¶ææ°æ®å表"};//å®é²çæ¿-ååºå®é²è®¾å¤-åç±»å设å¤ç¶ææ°æ®å表 String[] getSecureDevStatusTotal= new String[]{"/api/secureDataService/v2/getSecureDevStatusTotal","ç»è®¡ååºæ»ä½çå®é²è®¾å¤æ°éï¼å¨çº¿æ°ãå¨çº¿çã离线æ°ã离线ç"};//ç»è®¡ååºæ»ä½çå®é²è®¾å¤æ°éï¼å¨çº¿æ°ãå¨çº¿çã离线æ°ã离线ç } /** * éå½A.55æ¶é²è®¾å¤ç±»å */ public interface XiaofangCGQType{ String[] hzbjzj = new String[]{"1020001" , "ç«ç¾æ¥è¦ä¸»æº" } ; String[] gycgq = new String[]{"1020002" , "æçä¼ æå¨" } ; server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
@@ -759,6 +759,30 @@ return startDoPostStringArtemis(HKConstants.InterfacePath.pageSensorStatus,body); } /** * å®é²çæ¿-仿¥åè¦äºä»¶-æ ¹æ®eventTypeåæ®µ3 * @param body * @return */ public static String ruleEventSearch(String body) { return startDoPostStringArtemis(HKConstants.InterfacePath.ruleEventSearch,body); } /** * å®é²çæ¿-ååºå®é²è®¾å¤-åç±»å设å¤ç¶ææ°æ®å表 * @param body * @return */ public static String getSecureDevStatusList(String body) { return startDoPostStringArtemis(HKConstants.InterfacePath.getSecureDevStatusList,body); } /** * ç»è®¡ååºæ»ä½çå®é²è®¾å¤æ°éï¼å¨çº¿æ°ãå¨çº¿çã离线æ°ã离线ç * @param body * @return */ public static String getSecureDevStatusTotal(String body) { return startDoPostStringArtemis(HKConstants.InterfacePath.getSecureDevStatusTotal,body); } /** * è·åæå°ç¶æ * @return */ server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/RuleEventFiledOptionsRequest.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,12 @@ package com.doumee.core.haikang.model.param.request; import lombok.Data; import java.util.List; @Data public class RuleEventFiledOptionsRequest { private String fieldName;// String false åæ®µåç§° private String fieldValue ;//String false åæ®µå¼ private String type;// String false æ¥è¯¢ç±»åï¼å¯éèå´ï¼eqï¼ç¸çï¼ãneq(ä¸ç¸ç)ãlikeï¼ç±»ä¼¼ï¼ãltï¼å°äºï¼ãgtï¼å¤§äºï¼ãlteï¼å°äºçäºï¼ãgteï¼å¤§äºçäºï¼ãinï¼èå´ï¼ãnotIn(èå´ä¹å¤)ãinï¼fieldValueçå¼å¯ä»¥å¡«å¤ä¸ªï¼ç¨è±æéå·åéãnotNull(ä¸ä¸ºç©º)ãisNull(为空)ãrecently(æè¿)ã } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/RuleEventSearchRequest.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,13 @@ package com.doumee.core.haikang.model.param.request; import com.doumee.core.haikang.model.param.BaseListPageRequest; import lombok.Data; import java.util.List; @Data public class RuleEventSearchRequest extends BaseListPageRequest { private String[] regionIds;// Array false ååºå¯¹åºåºåidä¿¡æ¯,item ç±»å: stringï¼ä¼ 空listæ¥å ¨é¨ private String includeBool;// Number false æ¯å¦å å«ä¸çº§åèç¹,0-ä¸å å«,1-å å« private List<RuleEventFiledOptionsRequest > filedOptions;// Array false çéåæ®µå表> } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/SecureDevStatusListRequest.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,9 @@ package com.doumee.core.haikang.model.param.request; import lombok.Data; @Data public class SecureDevStatusListRequest { private String[] regionIds;// Array false ååºå¯¹åºåºåidä¿¡æ¯,item ç±»å: stringï¼ä¼ 空listæ¥å ¨é¨ private String includeBool;// Number false æ¯å¦å å«ä¸çº§åèç¹,0-ä¸å å«,1-å å« } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/SecureDevStatusTotalRequest.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,9 @@ package com.doumee.core.haikang.model.param.request; import lombok.Data; @Data public class SecureDevStatusTotalRequest { private String[] regionIds;// Array false ååºå¯¹åºåºåidä¿¡æ¯,item ç±»å: stringï¼ä¼ 空listæ¥å ¨é¨ private String includeBool;// Number false æ¯å¦å å«ä¸çº§åèç¹,0-ä¸å å«,1-å å« } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/PageRegionInfoResponse.java
@@ -11,10 +11,10 @@ public class PageRegionInfoResponse { @ApiModelProperty(value = "åºåå¯ä¸æ è¯ç ") private String regionIndexCode;// Body String false åºåå¯ä¸æ è¯ç private String indexCode;// Body String false åºåå¯ä¸æ è¯ç @ApiModelProperty(value = "åºååç§°") private String regionName ;// Body String false åºååç§° private String name ;// Body String false åºååç§° @ApiModelProperty(value = "ç¶åºåå¯ä¸æ è¯ç ") private String parentIndexCode ;// Body String false ç¶åºåå¯ä¸æ è¯ç server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/RuleEventSearchDataResponse.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,49 @@ package com.doumee.core.haikang.model.param.respose; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; @Data public class RuleEventSearchDataResponse { private String model_data_id;// String false id private String update_time;// String false æ´æ°æ¶é´ private String create_time;// String false å建æ¶é´ private String biz_id;// String false biz_id private String event_id;// String false event_id private String rule_event_id;// String false rule_event_id private String rule_event_type;// Number false rule_event_type private String rule_event_category;// String false rule_event_category private String rule_event_name;// String false åç§° private String src_index_code;// String false ç¼ç private String src_type;// String false 设å¤ç±»å private String src_name;// String false 设å¤åç§° private String ability;// String false ability private String level;// Number false ç级 private String level_name;// String false ç»è®°åç§° private String event_type;// String false äºä»¶ç private String event_type_name;// String false äºä»¶åç§° private String region_index_code;// String false åºåç¼ç private String region_name;// String false åºååç§° private String happen_time;// String false åçæ¶é´ private String handle_status;// Number false å¤ç½®ç¶æ private String handle_status_name;// String false å¤ç¶æåç§° private String rule_id;// String false rule_id private String rule_name;// String false å¨çå ¥ä¾µéç¥çæ§ä¸å¿ private String status;// Number false ç¶æ private String linkage_other_info;// String false linkage_other_info private String report_from;// Number false report_from private String report_from_name;// String false è®¾å¤ private String plan_execute_status;// Number false plan_execute_status private String image_server_code;// String false image_server_code private String image_url;// String false å¾ç private String app_id;// String false app_id private String flow_id;// Number false flow_id private String flow_name;// String false é¢ç½®æµç¨ private String node_id;// String false node_id private String node_name;// String false äºä»¶ç å¤ private String from_cascade;// Number false from_cascade private String level_color;// String false level_color private String plan_exec_status;// String false plan_exec_status @JsonProperty(value = "_image_url") private String imgurl;// String false ææå¾çå°å } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/RuleEventSearchResponse.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,12 @@ package com.doumee.core.haikang.model.param.respose; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; import java.util.List; @Data public class RuleEventSearchResponse { private String hasNext;// String false id private List<RuleEventSearchDataResponse> list; } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/SecureDevStatusListResponse.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,13 @@ package com.doumee.core.haikang.model.param.respose; import lombok.Data; @Data public class SecureDevStatusListResponse { private String devType ;//String false 设å¤ç±»å private String devTypeName;// String false 设å¤åç§° private Integer onlineCount ;//Number false å¨çº¿æ° private Integer offlineCount ;//Number false ç¦»çº¿æ° private String onlinePercent ;//String false å¨çº¿ç } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/SecureDevStatusTotalResponse.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,10 @@ package com.doumee.core.haikang.model.param.respose; import lombok.Data; @Data public class SecureDevStatusTotalResponse { private String name ;//String false å¨çº¿/离线 private String value ;// String false æ°é private String valueColor ;// String false é¢è² } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -1524,6 +1524,60 @@ return null; } /** *å®é²çæ¿-仿¥åè¦äºä»¶-æ ¹æ®eventTypeåæ®µ3 * @return */ public static BaseResponse< RuleEventSearchResponse> ruleEventSearch(RuleEventSearchRequest param){ log.info("ãæµ·åº·å®é²çæ¿-仿¥åè¦äºä»¶-æ ¹æ®eventTypeåæ®µ3ã================å¼å§===="+JSONObject.toJSONString(param)); try { String res = HKTools.ruleEventSearch(JSONObject.toJSONString(param)); TypeReference typeReference = new TypeReference< BaseResponse<RuleEventSearchResponse> >(){}; BaseResponse<RuleEventSearchResponse> result = JSONObject.parseObject(res, typeReference.getType()); logResult(result,"海康å®é²çæ¿-仿¥åè¦äºä»¶-æ ¹æ®eventTypeåæ®µ3"); return result; }catch (Exception e){ log.error("ãæµ·åº·å®é²çæ¿-仿¥åè¦äºä»¶-æ ¹æ®eventTypeåæ®µ3ã================失败====ï¼\n"+ e.getMessage()); } return null; } /** *ç»è®¡ååºæ»ä½çå®é²è®¾å¤æ°éï¼å¨çº¿æ°ãå¨çº¿çã离线æ°ã离线ç * @return */ public static BaseResponse<List<SecureDevStatusTotalResponse>> getSecureDevStatusTotal(SecureDevStatusTotalRequest param){ log.info("ãæµ·åº·ç»è®¡ååºæ»ä½çå®é²è®¾å¤æ°éï¼å¨çº¿æ°ãå¨çº¿çã离线æ°ã离线çã================å¼å§===="+JSONObject.toJSONString(param)); try { String res = HKTools.getSecureDevStatusTotal(JSONObject.toJSONString(param)); TypeReference typeReference = new TypeReference< BaseResponse<List<SecureDevStatusTotalResponse>> >(){}; BaseResponse<List<SecureDevStatusTotalResponse>> result = JSONObject.parseObject(res, typeReference.getType()); logResult(result,"海康ç»è®¡ååºæ»ä½çå®é²è®¾å¤æ°éï¼å¨çº¿æ°ãå¨çº¿çã离线æ°ã离线ç"); return result; }catch (Exception e){ log.error("ãæµ·åº·ç»è®¡ååºæ»ä½çå®é²è®¾å¤æ°éï¼å¨çº¿æ°ãå¨çº¿çã离线æ°ã离线çã================失败====ï¼\n"+ e.getMessage()); } return null; } /** *å®é²çæ¿-ååºå®é²è®¾å¤-åç±»å设å¤ç¶ææ°æ®å表 * @return */ public static BaseResponse<List<SecureDevStatusListResponse>> getSecureDevStatusList(SecureDevStatusTotalRequest param){ log.info("ãæµ·åº·å®é²çæ¿-ååºå®é²è®¾å¤-åç±»å设å¤ç¶ææ°æ®å表ã================å¼å§===="+JSONObject.toJSONString(param)); try { String res = HKTools.getSecureDevStatusList(JSONObject.toJSONString(param)); TypeReference typeReference = new TypeReference< BaseResponse<List<SecureDevStatusListResponse>> >(){}; BaseResponse<List<SecureDevStatusListResponse>> result = JSONObject.parseObject(res, typeReference.getType()); logResult(result,"海康å®é²çæ¿-ååºå®é²è®¾å¤-åç±»å设å¤ç¶ææ°æ®å表"); return result; }catch (Exception e){ log.error("ãæµ·åº·å®é²çæ¿-ååºå®é²è®¾å¤-åç±»å设å¤ç¶ææ°æ®å表ã================失败====ï¼\n"+ e.getMessage()); } return null; } /** *æ ¹æ®ç¨æ·æ è¯è·å客æ·ç«¯TGCæ¥å£ * @return */ server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformGroupMapper.java
@@ -2,11 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.doumee.dao.business.model.PlatformGroup; import com.github.yulichang.base.MPJBaseMapper; /** * @author æ±è¹è¹ * @date 2024/06/28 10:03 */ public interface PlatformGroupMapper extends BaseMapper<PlatformGroup> { public interface PlatformGroupMapper extends MPJBaseMapper<PlatformGroup> { } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformGroup.java
@@ -10,6 +10,8 @@ import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -90,4 +92,10 @@ @ApiModelProperty(value = "å·²ç¾å°æé车è¾", example = "1") @TableField(exist = false) private List<PlatformJob> signJobList; @ApiModelProperty(value = "è®¡åæ¶è´§æ°é(wms)", example = "1") @TableField(exist = false) private BigDecimal totalNum; @ApiModelProperty(value = "è®¡åæ¶è´§æ°é(éwms)", example = "1") @TableField(exist = false) private BigDecimal ortherTotalNum; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsDetail.java
@@ -92,7 +92,13 @@ @ApiModelProperty(value = "æåç»åç§°" ,hidden = true) @TableField(exist = false) private String groupName ; @ApiModelProperty(value = "æåç»ç¼ç " ,hidden = true) @TableField(exist = false) private Integer groupId ; @ApiModelProperty(value = "ä½ä¸å®ææ¶é´ï¼æç»æ¶é´ï¼") @TableField(exist = false) private Date doneDate; @ApiModelProperty(value = "è®¡åæ¶è´§æ°é(éwms)", example = "1") @TableField(exist = false) private BigDecimal ortherIoQty; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/RegionTreeVO.java
@@ -42,13 +42,25 @@ for (PageRegionInfoResponse treeNode : nodeList){ // 夿å½åèç¹æ¯å¦ä¸ºæ ¹èç¹ï¼æ¤å¤æ³¨æï¼è¥parentIdç±»åæ¯Stringï¼åè¦éç¨equals()æ¹æ³å¤æã if (Objects.isNull(treeNode.getParentIndexCode()) || StringUtils.equals(treeNode.getParentIndexCode(),"null")) { || StringUtils.equals(treeNode.getParentIndexCode(),"null") || !isValidParentCode(treeNode.getParentIndexCode(),nodeList)) { // æ¯ï¼æ·»å rootNodeList.add(treeNode); } } return rootNodeList; } private boolean isValidParentCode(String parentIndexCode, List<PageRegionInfoResponse> nodeList) { for (PageRegionInfoResponse treeNode : nodeList){ // 夿å½åèç¹æ¯å¦ä¸ºæ ¹èç¹ï¼æ¤å¤æ³¨æï¼è¥parentIdç±»åæ¯Stringï¼åè¦éç¨equals()æ¹æ³å¤æã if ( StringUtils.equals(treeNode.getIndexCode(),parentIndexCode)) { return true; } } return false; } @@ -59,7 +71,7 @@ public List<PageRegionInfoResponse> buildTree(){ // treeNodesï¼ä¿åä¸ä¸ªé¡¶çº§èç¹ææå»ºåºæ¥ç宿´æ å½¢ List<PageRegionInfoResponse> treeNodes = new ArrayList<PageRegionInfoResponse>(); // getRootNode()ï¼è·åææçæ ¹èç¹ getRootNode();//ï¼è·åææçæ ¹èç¹ for (PageRegionInfoResponse treeRootNode : getRootNode()) { // å°é¡¶çº§èç¹è¿è¡æå»ºåæ treeRootNode = buildChildTree(treeRootNode); @@ -79,7 +91,7 @@ // nodeListï¼ææèç¹éåï¼æææ°æ®ï¼ for (PageRegionInfoResponse treeNode : nodeList) { // 夿å½åèç¹çç¶èç¹IDæ¯å¦çäºæ ¹èç¹çIDï¼å³å½åèç¹ä¸ºå ¶ä¸çåèç¹ if (!Objects.isNull(treeNode.getParentIndexCode())&&treeNode.getParentIndexCode().equals(pNode.getRegionIndexCode())) { if (!Objects.isNull(treeNode.getParentIndexCode())&&treeNode.getParentIndexCode().equals(pNode.getIndexCode())) { // åéå½è¿è¡å¤æå½åèç¹çæ åµï¼è°ç¨èªèº«æ¹æ³ childTree.add(buildChildTree(treeNode)); } server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/WaningEventDataVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,30 @@ package com.doumee.dao.web.response.platformReport; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** * ååºå®é²è®¾å¤ * * @Author : Rk * @create 2024/10/25 10:59 */ @Data public class WaningEventDataVO { @ApiModelProperty(value = "æ é¢") private String title; @ApiModelProperty(value = "å¾çå°å") private String img; @ApiModelProperty(value = "æ¶é´") private String createDate; @ApiModelProperty(value = "åçå°ç¹") private String addr; @ApiModelProperty(value = "å 容") private String content; } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -799,7 +799,7 @@ .last(" limit 1 ") ); if(Objects.nonNull(lastBeginPlatform)){ String v = Long.toString(System.currentTimeMillis() - lastBeginPlatform.getCreateDate().getTime() / 1000) ; String v = Long.toString((System.currentTimeMillis() - lastBeginPlatform.getCreateDate().getTime() )/ 1000) ; optTime = optTime + Long.valueOf(v); } } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -8,11 +8,11 @@ import com.doumee.core.haikang.model.param.BaseListPageResponse; import com.doumee.core.haikang.model.param.BaseResponse; import com.doumee.core.haikang.model.param.BaseListPageRequest; import com.doumee.core.haikang.model.param.request.RuleEventFiledOptionsRequest; import com.doumee.core.haikang.model.param.request.RuleEventSearchRequest; import com.doumee.core.haikang.model.param.request.SecureDevStatusTotalRequest; import com.doumee.core.haikang.model.param.request.SensorStatusListRequest; import com.doumee.core.haikang.model.param.respose.PageCameraInfoResponse; import com.doumee.core.haikang.model.param.respose.PageFireChannelInfoResponse; import com.doumee.core.haikang.model.param.respose.PageRegionInfoResponse; import com.doumee.core.haikang.model.param.respose.PageSensorStatusResponse; 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.utils.Constants; @@ -52,6 +52,8 @@ private PlatformWmsDetailMapper platformWmsDetailMapper; @Autowired private PlatformMapper platformMapper; @Autowired private PlatformGroupMapper platformGroupMapper; /** * è·ååºåæ å½¢ç»ææ°æ® * @return @@ -95,7 +97,7 @@ if(carmeraListVOList!=null && carmeraListVOList.size()>0){ for(PageRegionInfoResponse p : allList){ for(CarmeraListVO c : carmeraListVOList){ if(StringUtils.equals(p.getRegionIndexCode(),c.getReginCode()) if(StringUtils.equals(p.getIndexCode(),c.getReginCode()) && (StringUtils.contains(c.getName(),name) ||StringUtils.isBlank(name))){ if(p.getCarmeraList()==null){ p.setCarmeraList(new ArrayList<>()); @@ -248,28 +250,42 @@ @Override public List<PlatformGroupFinishVO> platformGroupFinish(){ List<PlatformGroupFinishVO> data = new ArrayList<>(); List<PlatformWmsDetail> jobList = platformWmsDetailMapper.selectJoinList(PlatformWmsDetail.class, new MPJLambdaWrapper<PlatformWmsDetail>() .selectSum( PlatformWmsDetail::getIoQty) .selectAs(PlatformGroup::getName, PlatformWmsDetail::getGroupName) .leftJoin(PlatformJob.class,PlatformJob::getId,PlatformWmsDetail::getJobId) .rightJoin(PlatformGroup.class,PlatformGroup::getId,PlatformJob::getPlatformGroupId) .eq(PlatformWmsDetail::getIsdeleted, Constants.ZERO) .eq(PlatformJob::getIsdeleted, Constants.ZERO) .in(PlatformJob::getStatus, Constants.PlatformJobStatus.DONE.getKey() , Constants.PlatformJobStatus.AUTHED_LEAVE.getKey() , Constants.PlatformJobStatus.LEAVED.getKey()) .apply("to_days(t1.create_date) = to_days(now())") .groupBy(PlatformGroup::getId) List<PlatformGroup> groups = platformGroupMapper.selectJoinList(PlatformGroup.class, new MPJLambdaWrapper<PlatformGroup>() .select("(select sum(a.TOTAL_NUM) from platform_job a where a.PLATFORM_GROUP_ID=t.id and a.isdeleted=0 and a.status in(6,9,10) and to_days(a.done_date) = to_days(now()))",PlatformGroup::getOrtherTotalNum) .selectAll(PlatformGroup.class) .eq(PlatformGroup::getIsdeleted,Constants.ZERO) ); if(jobList!=null){ for(PlatformWmsDetail d : jobList){ if(groups!=null && groups.size()>0){ List<PlatformWmsDetail> jobList = platformWmsDetailMapper.selectJoinList(PlatformWmsDetail.class, new MPJLambdaWrapper<PlatformWmsDetail>() .selectSum( PlatformWmsDetail::getIoQty) .selectAs(PlatformGroup::getId, PlatformWmsDetail::getGroupId) .leftJoin(PlatformJob.class,PlatformJob::getId,PlatformWmsDetail::getJobId) .eq(PlatformWmsDetail::getIsdeleted, Constants.ZERO) .eq(PlatformJob::getIsdeleted, Constants.ZERO) .in(PlatformJob::getStatus, Constants.PlatformJobStatus.DONE.getKey() , Constants.PlatformJobStatus.AUTHED_LEAVE.getKey() , Constants.PlatformJobStatus.LEAVED.getKey()) .apply("to_days(t1.create_date) = to_days(now())") .groupBy(PlatformJob::getPlatformGroupId) ); for(PlatformGroup d : groups){ PlatformGroupFinishVO t = new PlatformGroupFinishVO(); t.setFinishData(Constants.formatBigdecimal(d.getIoQty()).intValue()); t.setPlatformGroupName(d.getGroupName()); if(jobList!=null){ for(PlatformWmsDetail dd : jobList){ if(Constants.equalsInteger(dd.getGroupId(),d.getId())){ d.setTotalNum(dd.getIoQty()); } } } t.setFinishData(Constants.formatBigdecimal(d.getTotalNum()).intValue()+Constants.formatBigdecimal(d.getOrtherTotalNum()).intValue()); t.setPlatformGroupName(d.getName()); data.add(t); } } return data; } @Override public CarWorkSituationVO carWorkSituation(int limit){ CarWorkSituationVO carWorkSituationVO = new CarWorkSituationVO(); @@ -279,6 +295,61 @@ ); carWorkSituationVO.setPlatformLogList(platformLogList); return carWorkSituationVO; } @Override public List<SecurityDeviceDataVO> securityDeviceData(){ List<SecurityDeviceDataVO> list = new ArrayList<>(); BaseResponse<List<SecureDevStatusListResponse>> result = HKService.getSecureDevStatusList(new SecureDevStatusTotalRequest()) ; if(result!=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) && result.getData()!=null){ List<SecureDevStatusListResponse> rlist = result.getData(); for(SecureDevStatusListResponse r :rlist){ SecurityDeviceDataVO data = new SecurityDeviceDataVO(); data.setDeviceType(r.getDevTypeName()); data.setOnlineNum(r.getOnlineCount()); data.setOfflineDeviceNum(r.getOfflineCount()); data.setTotalNum(data.getOnlineNum() + data.getOfflineDeviceNum() ); list.add(data); } } /* Random random = new Random(); for (int i = 1; i <= 3; i++) { SecurityDeviceDataVO data = new SecurityDeviceDataVO(); data.setDeviceType("设å¤ç±»å_"+i); data.setOnlineNum(random.nextInt(10)); data.setOfflineDeviceNum(random.nextInt(10)); data.setTotalNum(data.getOnlineNum() + data.getOfflineDeviceNum() ); list.add(data); }*/ return list; } @Override public List<WaningEventDataVO> warningEventData(Integer type){ List<WaningEventDataVO> list = new ArrayList<>(); RuleEventSearchRequest request = new RuleEventSearchRequest(); request.setFiledOptions(new ArrayList<>()); RuleEventFiledOptionsRequest file = new RuleEventFiledOptionsRequest(); file.setFieldName("event_type"); file.setFieldValue("131588");//å®é²åè¦ file.setType("eq"); request.getFiledOptions().add(file); BaseResponse< RuleEventSearchResponse> result = HKService.ruleEventSearch(request); if(result!=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) && result.getData()!=null){ List<RuleEventSearchDataResponse> rlist = result.getData().getList(); if(rlist!=null){ for(RuleEventSearchDataResponse r :rlist){ WaningEventDataVO data = new WaningEventDataVO(); data.setAddr(r.getSrc_name()); data.setImg(r.getImage_url()); data.setTitle(r.getEvent_type_name()); data.setCreateDate(r.getCreate_time()); // data.setContent(r.get); list.add(data); } } } return list; } @Override @@ -328,7 +399,7 @@ }else{ platformDurationVO.setWorkType(Constants.ZERO);//妿æ¯å¸è´§ } Integer workMinute = job.getWorkNum().multiply(new BigDecimal(60)).divide(model.getWorkRate(),0,BigDecimal.ROUND_HALF_UP).intValue(); Integer workMinute = Constants.formatBigdecimal(job.getWorkNum()).multiply(new BigDecimal(60)).divide(model.getWorkRate(),0,BigDecimal.ROUND_HALF_UP).intValue(); Date overDate = DateUtil.getXMinuteAfterDate(job.getNewStartDate(),workMinute + model.getWorkTimeoutAlarmTime());//é¢è®¡å®ææ¶é´ platformDurationVO.setFinishTimeStr(DateUtil.DateToStr(overDate,"HH:mm")); @@ -374,7 +445,22 @@ public List<WorkEfficiencyVO> workEfficiency(Integer type){ //ä½ä¸ç±»å 0èªæè½¦å¸è´§ 1èªæè½¦è£ è´§ 2å¤å车å¸è´§ 3å¤åè½¦è£ è´§ 4å¸å ¬å¸å¤å车å¸è´§ List<WorkEfficiencyVO> workEfficiencyVOList = new ArrayList<>(); List<PlatformWmsDetail> jobList = platformWmsDetailMapper.selectJoinList(PlatformWmsDetail.class, new MPJLambdaWrapper<PlatformWmsDetail>() List<PlatformJob> jobList = platformJobMapper.selectJoinList(PlatformJob.class, new MPJLambdaWrapper<PlatformJob>() .selectAll( PlatformJob.class) .select("(select sum(ifnull(a.io_qty,0)) from platform_wms_detail a where a.isdeleted=0 and a.job_id =t.id )", PlatformJob::getIoQty) .apply("to_days(t.create_date) = to_days(now())") .eq(Platform::getIsdeleted, Constants.ZERO) .in(PlatformJob::getStatus, Constants.PlatformJobStatus.DONE.getKey() , Constants.PlatformJobStatus.AUTHED_LEAVE.getKey() , Constants.PlatformJobStatus.LEAVED.getKey()) .in(Constants.equalsInteger(type,Constants.ZERO),PlatformJob::getType,new Integer[]{0,2,4}) .in(Constants.equalsInteger(type,Constants.ONE),PlatformJob::getType,new Integer[]{1,3}) ); if(jobList==null || jobList.size()==0){ return workEfficiencyVOList; } /* List<PlatformWmsDetail> jobList = platformWmsDetailMapper.selectJoinList(PlatformWmsDetail.class, new MPJLambdaWrapper<PlatformWmsDetail>() .selectAll( PlatformWmsDetail.class) .selectAs( PlatformJob::getDoneDate,PlatformWmsDetail::getDoneDate) .leftJoin(PlatformJob.class,PlatformJob::getId,PlatformWmsDetail::getJobId) @@ -386,28 +472,30 @@ , Constants.PlatformJobStatus.AUTHED_LEAVE.getKey() , Constants.PlatformJobStatus.LEAVED.getKey()) .apply("to_days(t1.create_date) = to_days(now())") ); );*/ int curtotalNum = 0; Date today = Utils.Date.getStart(new Date()); long curTime=0, lastTime=0; for (int i = 0; i < 8; i++) { lastTime = curTime;//䏿¬¡çæ¶é´ int curHour = 8+(i*2); long time = curHour*60*60*1000 + today.getTime(); curTime = curHour*60*60*1000 + today.getTime(); WorkEfficiencyVO workEfficiencyVO = new WorkEfficiencyVO(); workEfficiencyVO.setWorkTime(curHour+":00"); workEfficiencyVO.setTotalWorkNum(0); workEfficiencyVO.setWorkNum(0); if(jobList!=null && jobList.size()>0){ for(PlatformWmsDetail detail : jobList){ if(detail.getDoneDate()!=null && detail.getDoneDate().getTime()<= time){ for(PlatformJob detail : jobList){ if(detail.getDoneDate()!=null && detail.getDoneDate().getTime()<= curTime){ //å½åé if(detail.getDoneDate()!=null && detail.getDoneDate().getTime() > lastTime){ //åºé´å¼ åå®è¿2å°æ¶å çç´¯è®¡å¼ workEfficiencyVO.setWorkNum(Constants.formatIntegerNum(workEfficiencyVO.getWorkNum())+Constants.formatBigdecimal(detail.getIoQty()).intValue()); workEfficiencyVO.setWorkNum(Constants.formatIntegerNum(workEfficiencyVO.getWorkNum())+Constants.formatBigdecimal(detail.getIoQty()).intValue() +Constants.formatBigdecimal(detail.getTotalNum()).intValue()); //累积é } //累积é curtotalNum += Constants.formatBigdecimal(detail.getIoQty()).intValue(); } } curtotalNum += Constants.formatIntegerNum(workEfficiencyVO.getWorkNum()) ; } workEfficiencyVO.setTotalWorkNum(curtotalNum);//ç´¯è®¡å¼ workEfficiencyVOList.add(workEfficiencyVO); @@ -419,7 +507,7 @@ List<PlatformDurationVO> platformDurationList = new ArrayList<>(); List<Platform> jobList = platformMapper.selectJoinList(Platform.class, new MPJLambdaWrapper<Platform>() .selectAll( Platform.class) .select(" ( select ROUND( ifnull(SUM(pl.PARAM3),0)/60 , 2 ) from platform_log pl where pl.remark = t.id and to_days(pl.CREATE_DATE) =to_days now())",Platform::getWorkCountTime) .select(" (select ROUND( SUM(ifnull(pl.PARAM3,0)/60 ) , 2 ) from platform_log pl where pl.remark = t.id and to_days(pl.CREATE_DATE) =to_days(now()))",Platform::getWorkCountTime) .eq(Platform::getIsdeleted, Constants.ZERO) ); if(jobList!=null){ server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java
@@ -48,4 +48,8 @@ List<WorkEfficiencyVO> workEfficiency(Integer type); List<PlatformWorkDataVO> platformWorkData(); List<SecurityDeviceDataVO> securityDeviceData(); List<WaningEventDataVO> warningEventData(Integer type); } server/visits/dmvisit_service/src/main/resources/application-dev.yml
@@ -1,9 +1,12 @@ spring: # æ°æ®æºé ç½® datasource: url: jdbc:mysql://sh-cdb-aiskr3vy.sql.tencentcdb.com:62443/antaiwuliu?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai username: doumee password: rtjgfEr@&0c0m # url: jdbc:mysql://sh-cdb-aiskr3vy.sql.tencentcdb.com:62443/antaiwuliu?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai # username: doumee # password: rtjgfEr@&0c0m url: jdbc:mysql://10.50.250.253:3306/antaiwuliu?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai username: root password: Atwl@2024 driver-class-name: com.mysql.cj.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource redis: