server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/EnergyController.java
@@ -2,12 +2,15 @@ import com.doumee.api.BaseController; import com.doumee.config.annotation.LoginNoRequired; import com.doumee.core.haikang.model.param.respose.RegionEnergyListResponse; import com.doumee.core.model.ApiResponse; import com.doumee.core.utils.Constants; import com.doumee.dao.web.response.platformReport.*; import com.doumee.service.business.third.BoardService; import io.swagger.annotations.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @@ -30,36 +33,16 @@ @Slf4j @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/board/api/energy") public class EnergyController extends BaseController { @Autowired private BoardService boardService; @LoginNoRequired @ApiOperation("ä¸å¿æ°æ®") @GetMapping("/centerData") public ApiResponse<EnergyBoardVO> centerData() { EnergyBoardVO data = new EnergyBoardVO(); Random random = new Random(); data.setSmokeBoxTotal(random.nextInt(20000)); data.setCarbon(new BigDecimal(random.nextInt(1000))); data.setElectricityQuantity(random.nextInt(1000)); data.setElectricityYear(new BigDecimal(random.nextInt(10))); data.setElectricityMonth(new BigDecimal(random.nextInt(10))); data.setWaterQuantity(new BigDecimal(random.nextInt(1000))); data.setWaterYear(new BigDecimal(random.nextInt(10))); data.setWaterMonth(new BigDecimal(random.nextInt(10))); EnergyBoardVO data =boardService.centerEnergyData(); data.setGasQuantity(new BigDecimal(random.nextInt(1000))); data.setGasYear(new BigDecimal(random.nextInt(10))); data.setGasMonth(new BigDecimal(random.nextInt(10))); data.setOfficeQuantity(random.nextInt(20)); data.setPowerQuantity(random.nextInt(20)); data.setWorkHouseQuantity(random.nextInt(20)); data.setParkQuantity(random.nextInt(20)); data.setTodayElectricity(random.nextInt(20)); data.setMonthElectricity(random.nextInt(20)); data.setYesterdayElectricity(random.nextInt(20)); return ApiResponse.success(data); } @@ -68,17 +51,18 @@ @LoginNoRequired @ApiOperation("ç¨çµæ»è½è忝ãç¯æ¯ååºåç¨çµééå") @GetMapping("/energyRegionData") public ApiResponse< RegionEnergyListResponse> energyRegionData() { RegionEnergyListResponse data=boardService.energyRegionData(); return ApiResponse.success(data); } @LoginNoRequired @ApiOperation("宿¶è´è·æ²çº¿") @GetMapping("/loadCurve") public ApiResponse<List<EnergyDataVO>> loadCurve() { List<EnergyDataVO> loadCurveList = new ArrayList<>(); Random random = new Random(); for (int i = 1; i <= 23; i++) { EnergyDataVO data = new EnergyDataVO(); data.setTimeData(StringUtils.leftPad(i+"",2,"0") +":00"); data.setEnergy(new BigDecimal(random.nextInt(200))); loadCurveList.add(data); } List<EnergyDataVO> loadCurveList =boardService.loadEnergyCurve(); return ApiResponse.success(loadCurveList); } @@ -88,17 +72,10 @@ @ApiOperation("æè½èãæ²¹èåæ") @GetMapping("/energyDataList") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "type", value = "æ¥è¯¢ç±»åï¼0=æ°´ï¼1=æ°ï¼2=çµï¼3=æ²¹è", required = true), @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "type", value = "æ¥è¯¢ç±»åï¼0=æ°´ï¼1=æ°ï¼2=æ²¹èï¼3=ç¨çµ", required = true), }) public ApiResponse<List<EnergyDataVO>> energyDataList(@RequestParam Integer type) { List<EnergyDataVO> energyDataVOList = new ArrayList<>(); Random random = new Random(); for (int i = 1; i <= 12; i++) { EnergyDataVO data = new EnergyDataVO(); data.setTimeData(i +"æ"); data.setEnergy(new BigDecimal(random.nextInt(200))); energyDataVOList.add(data); } List<EnergyDataVO> energyDataVOList = boardService.energyDataList(type); return ApiResponse.success(energyDataVOList); } @@ -107,23 +84,7 @@ @ApiOperation("ä¸ææ²¹èæè¡") @GetMapping("/lastMonthOil") public ApiResponse<List<OilDataVO>> lastMonthOil() { List<OilDataVO> oilDataVOList = new ArrayList<>(); Random random = new Random(); BigDecimal maxOil = BigDecimal.ZERO; BigDecimal lastOil = BigDecimal.ZERO; for (int i = 1; i <= 7; i++) { OilDataVO oilDataVO = new OilDataVO(); oilDataVO.setCarNo("çA8" + random.nextInt(9) + random.nextInt(9) + random.nextInt(9) + random.nextInt(9)); if(i==1){ oilDataVO.setQuantity(new BigDecimal(random.nextInt(100))); maxOil = oilDataVO.getQuantity(); }else{ oilDataVO.setQuantity(new BigDecimal(random.nextInt(lastOil.intValue()))); } lastOil = oilDataVO.getQuantity(); oilDataVO.setMaxOil(maxOil); oilDataVOList.add(oilDataVO); } List<OilDataVO> oilDataVOList = boardService.energyLastMonthOilSort(); return ApiResponse.success(oilDataVOList); } } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
@@ -150,6 +150,12 @@ String[] getSecureDevStatusList= new String[]{"/api/secureDataService/v2/getSecureDevStatusList","å®é²çæ¿-ååºå®é²è®¾å¤-åç±»å设å¤ç¶ææ°æ®å表"};//å®é²çæ¿-ååºå®é²è®¾å¤-åç±»å设å¤ç¶ææ°æ®å表 String[] getSecureDevStatusTotal= new String[]{"/api/secureDataService/v2/getSecureDevStatusTotal","ç»è®¡ååºæ»ä½çå®é²è®¾å¤æ°éï¼å¨çº¿æ°ãå¨çº¿çã离线æ°ã离线ç"};//ç»è®¡ååºæ»ä½çå®é²è®¾å¤æ°éï¼å¨çº¿æ°ãå¨çº¿çã离线æ°ã离线ç String[] getParkingStatistics= new String[]{"/api/dataBoardService/v1/getParkingStatistics","å®é²çæ¿--ååºå®æ¶è½¦æ°é4"};//å®é²çæ¿--ååºå®æ¶è½¦æ°é4 String[] getCurrentMonthDataByMeterType= new String[]{"/api/board/v1/getCurrentMonthDataByMeterType","è½èçæ¿-1.è·åæ¬æç¨è½æ»é-èªç¶æ"};//è½èçæ¿-1.è·åæ¬æç¨è½æ»é-èªç¶æ String[] regionTopPower= new String[]{"/api/board/v1/region/topPower","è½èçæ¿-2.è·ååºåç¨è½åNä½"};//è½èçæ¿-2.è·ååºåç¨è½åNä½ String[] regionEnergyList= new String[]{"/api/board/v1/getRegionEnergyList","è½èçæ¿-3.è·åååºåç¨è½åæ»è½è"};//è½èçæ¿-3.è·åååºåç¨è½åæ»è½è String[] lastMonthFeeByMeterType= new String[]{"/api/board/v1/getLastMonthFeeByMeterType","è½èçæ¿-4.è·å䏿ç¨è½è´¹ç¨ï¼ä¸å¤©å·æ°ï¼åæ¨æä¸ªç¹å·"};//è½èçæ¿-4.è·å䏿ç¨è½è´¹ç¨ï¼ä¸å¤©å·æ°ï¼åæ¨æä¸ªç¹å· String[] energyTodayLoadData= new String[]{"/api/v1/exhibition/energy/getTodayLoadData","è½èçæ¿-5.ååºå®æ¶è´è·æ²çº¿"};//è½èçæ¿-5.ååºå®æ¶è´è·æ²çº¿ String[] energyTrend= new String[]{"/api/v1/report/energyTrend","è½èçæ¿-6æææ¥è¯¢è¿12个æçç¨çµæ»éæ°æ®"};//è½èçæ¿-6æææ¥è¯¢è¿12个æçç¨çµæ»éæ°æ® } /** * éå½A.55æ¶é²è®¾å¤ç±»å server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
@@ -775,6 +775,14 @@ return startDoPostStringArtemis(HKConstants.InterfacePath.getSecureDevStatusList,body); } /** * è½èçæ¿-6æææ¥è¯¢è¿12个æçç¨çµæ»éæ°æ® * @param body * @return */ public static String energyTrend(String body) { return startDoPostStringArtemis(HKConstants.InterfacePath.energyTrend,body); } /** * ç»è®¡ååºæ»ä½çå®é²è®¾å¤æ°éï¼å¨çº¿æ°ãå¨çº¿çã离线æ°ã离线ç * @param body * @return @@ -790,6 +798,41 @@ return startDoGetStringArtemis(HKConstants.InterfacePath.getParkingStatistics,null); } /** * è½èçæ¿-1.è·åæ¬æç¨è½æ»é-èªç¶æ * @return */ public static String getCurrentMonthDataByMeterType(Map<String,String> powerType) { return startDoGetStringArtemis(HKConstants.InterfacePath.getCurrentMonthDataByMeterType,powerType); } /** * è½èçæ¿-2.è·ååºåç¨è½åNä½ * @return */ public static String regionTopPower(Map<String,String> params) { return startDoGetStringArtemis(HKConstants.InterfacePath.regionTopPower,params); } /** * è½èçæ¿-3.è·åååºåç¨è½åæ»è½è * @return */ public static String regionEnergyList(Map<String,String> params) { return startDoGetStringArtemis(HKConstants.InterfacePath.regionEnergyList,params); } /** * è½èçæ¿-4.è·å䏿ç¨è½è´¹ç¨ï¼ä¸å¤©å·æ°ï¼åæ¨æä¸ªç¹å· * @return */ public static String lastMonthFeeByMeterType(Map<String,String> params) { return startDoGetStringArtemis(HKConstants.InterfacePath.lastMonthFeeByMeterType,params); } /** * è½èçæ¿-5.ååºå®æ¶è´è·æ²çº¿ * @return */ public static String energyTodayLoadData( ) { return startDoGetStringArtemis(HKConstants.InterfacePath.energyTodayLoadData,null); } /** * è·åæå°ç¶æ * @return */ server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/EnergyTrendRequest.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,13 @@ package com.doumee.core.haikang.model.param.request; import lombok.Data; @Data public class EnergyTrendRequest { private String date;// String true æ¥æ private int meterType;// Number true 仪表类å(1:çµè¡¨;2:水表;3:æ°è¡¨;4:ç表) private String nodeId ;//String true çéèç¹id private int nodeType ;//Number true çéèç¹ç±»åï¼1é¨é¨/2åºå private String periodType;// String true ç»è®¡ç»´åº¦day/quarter/month/year/custom private String showType;// String true å±ç¤ºç»´åº¦:1è¿6个æ/2è¿4个å£åº¦/3è¿3å¹´--------4:æ¥æç±»å } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/RegionTopPowerRequest.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,14 @@ 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 RegionTopPowerRequest { private int powerType ;//Query Number true è½æºç±»å çµ-1 æ°´-2 æ°-3 ç-4 private String timeType;// Query String true month,è¡¨ç¤ºæ¬æ private int top;// Query Number true åå 个åºåæ° } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/EnergyTodayLoadDataResponse.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,10 @@ package com.doumee.core.haikang.model.param.respose; import lombok.Data; @Data public class EnergyTodayLoadDataResponse { private String extra ;// String false è¾ å©åæ®µï¼ å端ä¸ç¨ private String name ;// String false æ¨ªåæ ï¼æé¥¼ç¶å¾çå ç´ å¼ï¼ private String value;// String false çºµåæ ï¼æé¥¼ç¶å¾çå ç´ åç§°ï¼ } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/EnergyTrendResponse.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ package com.doumee.core.haikang.model.param.respose; import lombok.Data; import java.util.List; @Data public class EnergyTrendResponse { private String names;// String false names private String pwValues ;//String false pwValues private String avgValues;// String false å¹³å弿°æ® private String timeNameList ;//String false timeNameList private String[] xvalues;// Array false xè½´æä»½ private List<EnergyTrendYvalueResponse> yvalues;// Array false yè½´ } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/EnergyTrendYvalueResponse.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,10 @@ package com.doumee.core.haikang.model.param.respose; import lombok.Data; @Data public class EnergyTrendYvalueResponse { private String name;// String false yè½´åç§° private String[] value ;// Array false yè½´å¼ } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/LastMonthFeeByMeterTypeResponse.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,19 @@ package com.doumee.core.haikang.model.param.respose; import lombok.Data; import java.util.List; @Data public class LastMonthFeeByMeterTypeResponse { private String value;// String false æ°å¼ private String quota;// String false é¢å®é private String samePercent;// String false 忝 private Boolean samePercentAbnorml;// Boolean false 忝æ¯å¦å¼å¸¸ï¼è¶ è¿éå¼ï¼ private String ringPercent ;//String false ç¯æ¯ private Boolean ringPercentAbnorml ;//Boolean false ç¯æ¯æ¯å¦å¼å¸¸ï¼è¶ è¿éå¼ï¼ private Boolean privateOpen ;//Boolean false éç§å¼å¯ private String innerFeeValue ;//String false è´¹ç¨ private String feeSamePercent ;//String false è´¹ç¨åæ¯ private String feeRingPercent ;//String false è´¹ç¨ç¯æ¯ } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/MonthDataByMeterTypeResponse.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,17 @@ package com.doumee.core.haikang.model.param.respose; import lombok.Data; @Data public class MonthDataByMeterTypeResponse { private String value ;//String false æ°å¼ private String quota;// String false é¢å®é private String samePercent;// String false 忝 private Boolean samePercentAbnorml;// Boolean false 忝æ¯å¦å¼å¸¸ï¼è¶ è¿éå¼ï¼ private String ringPercent;// String false ç¯æ¯ private Boolean ringPercentAbnorml ;//Boolean false ç¯æ¯æ¯å¦å¼å¸¸ï¼è¶ è¿éå¼ï¼ private Boolean privateOpen ;//Boolean false éç§å¼å¯ private String innerFeeValue ;//String false è´¹ç¨ private String feeSamePercent ;//String false è´¹ç¨åæ¯ private String feeRingPercent ;//String false è´¹ç¨ç¯æ¯ } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/RegionEnergyListResponse.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,19 @@ package com.doumee.core.haikang.model.param.respose; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.util.List; @Data public class RegionEnergyListResponse { @ApiModelProperty(value = "æ ¹èç¹æ»è½è") private String rootValue ;// String false @ApiModelProperty(value = "忝") private String samePercent;// String false 忝 @ApiModelProperty(value = "ç¯æ¯") private String ringPercent;// String false ç¯æ¯ @ApiModelProperty(value = "äºçº§åºåè½èæ°æ®") private List<RegionTopPowerResponse> secondRegionDataList ;//Array false äºçº§åºåè½èæ°æ® } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/RegionTopPowerResponse.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ package com.doumee.core.haikang.model.param.respose; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; @Data public class RegionTopPowerResponse { @ApiModelProperty(value = "åºååç§°") private String name;// String false åºååç§° @ApiModelProperty(value = "å¼") private BigDecimal value ;//Number false å¼ @ApiModelProperty(value = "å æ¯") private BigDecimal percent ;//Number false å æ¯ } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -1559,6 +1559,105 @@ } return null; } /** * è½èçæ¿-3.è·åååºåç¨è½åæ»è½è * @param powerType è½æºç±»å çµ-1 æ°´-2 æ°-3 ç-4 * @return */ public static BaseResponse<RegionEnergyListResponse> regionEnergyList(String powerType){ log.info("ãæµ·åº·è½èçæ¿-3.è·åååºåç¨è½åæ»è½èã================å¼å§===="); try { Map<String,String> map = new HashMap<>(); map.put("powerType",powerType); String res = HKTools.regionEnergyList(map); TypeReference typeReference = new TypeReference< BaseResponse<RegionEnergyListResponse>>(){}; BaseResponse<RegionEnergyListResponse> result = JSONObject.parseObject(res, typeReference.getType()); logResult(result,"ãæµ·åº·è½èçæ¿-3.è·åååºåç¨è½åæ»è½èã"); return result; }catch (Exception e){ log.error("ãæµ·åº·è½èçæ¿-3.è·åååºåç¨è½åæ»è½èã================失败====ï¼\n"+ e.getMessage()); } return null; } /** * è½èçæ¿-4.è·å䏿ç¨è½è´¹ç¨ï¼ä¸å¤©å·æ°ï¼åæ¨æä¸ªç¹å· * @param powerType è½æºç±»å çµ-1 æ°´-2 æ°-3 ç-4 * @return */ public static BaseResponse<LastMonthFeeByMeterTypeResponse> lastMonthFeeByMeterType(String powerType){ log.info("ãæµ·åº·è½èçæ¿-4.è·å䏿ç¨è½è´¹ç¨ï¼ä¸å¤©å·æ°ï¼åæ¨æä¸ªç¹å·ã================å¼å§===="); try { Map<String,String> map = new HashMap<>(); map.put("powerType",powerType); String res = HKTools.lastMonthFeeByMeterType(map); TypeReference typeReference = new TypeReference< BaseResponse<LastMonthFeeByMeterTypeResponse>>(){}; BaseResponse<LastMonthFeeByMeterTypeResponse> result = JSONObject.parseObject(res, typeReference.getType()); logResult(result,"ãæµ·åº·è½èçæ¿-4.è·å䏿ç¨è½è´¹ç¨ï¼ä¸å¤©å·æ°ï¼åæ¨æä¸ªç¹å·ã"); return result; }catch (Exception e){ log.error("ãæµ·åº·è½èçæ¿-4.è·å䏿ç¨è½è´¹ç¨ï¼ä¸å¤©å·æ°ï¼åæ¨æä¸ªç¹å·ã================失败====ï¼\n"+ e.getMessage()); } return null; } /** * 海康è½èçæ¿-5.ååºå®æ¶è´è·æ²çº¿ * @return */ public static BaseResponse<List<EnergyTodayLoadDataResponse>> energyTodayLoadData(){ log.info("ãæµ·åº·è½èçæ¿-5.ååºå®æ¶è´è·æ²çº¿ã================å¼å§===="); try { String res = HKTools.energyTodayLoadData(); TypeReference typeReference = new TypeReference< BaseResponse<List<EnergyTodayLoadDataResponse>>>(){}; BaseResponse<List<EnergyTodayLoadDataResponse>> result = JSONObject.parseObject(res, typeReference.getType()); logResult(result,"ãæµ·åº·è½èçæ¿-5.ååºå®æ¶è´è·æ²çº¿ã"); return result; }catch (Exception e){ log.error("ãæµ·åº·è½èçæ¿-5.ååºå®æ¶è´è·æ²çº¿ã================失败====ï¼\n"+ e.getMessage()); } return null; } /** * è½èçæ¿-2.è·ååºåç¨è½åNä½ * @param param * @return */ public static BaseResponse<List<RegionTopPowerResponse>> regionTopPower(RegionTopPowerRequest param){ log.info("ãæµ·åº·è½èçæ¿-2.è·ååºåç¨è½åNä½ã================å¼å§===="); try { String res = HKTools.regionTopPower(toMap(param)); TypeReference typeReference = new TypeReference< BaseResponse<List<RegionTopPowerResponse>>>(){}; BaseResponse<List<RegionTopPowerResponse>> result = JSONObject.parseObject(res, typeReference.getType()); logResult(result,"海康è½èçæ¿-2.è·ååºåç¨è½åNä½"); return result; }catch (Exception e){ log.error("ãæµ·åº·è½èçæ¿-2.è·ååºåç¨è½åNä½ã================失败====ï¼\n"+ e.getMessage()); } return null; } /** * è½èçæ¿-1.è·åæ¬æç¨è½æ»é-èªç¶æ * @param powerType è½æºç±»å çµ-1 æ°´-2 æ°-3 ç-4 * @return */ public static BaseResponse<MonthDataByMeterTypeResponse> getCurrentMonthDataByMeterType(String powerType){ log.info("ãè½èçæ¿-1.è·åæ¬æç¨è½æ»é-èªç¶æã================å¼å§===="); try { Map<String,String> map = new HashMap<>(); map.put("powerType",powerType); String res = HKTools.getCurrentMonthDataByMeterType(map); TypeReference typeReference = new TypeReference< BaseResponse<MonthDataByMeterTypeResponse>>(){}; BaseResponse<MonthDataByMeterTypeResponse> result = JSONObject.parseObject(res, typeReference.getType()); logResult(result,"è½èçæ¿-1.è·åæ¬æç¨è½æ»é-èªç¶æ"); return result; }catch (Exception e){ log.error("ãè½èçæ¿-1.è·åæ¬æç¨è½æ»é-èªç¶æã================失败====ï¼\n"+ e.getMessage()); } return null; } /** *ç»è®¡ååºæ»ä½çå®é²è®¾å¤æ°éï¼å¨çº¿æ°ãå¨çº¿çã离线æ°ã离线ç * @return @@ -1596,6 +1695,24 @@ return null; } /** *è½èçæ¿-6æææ¥è¯¢è¿12个æçç¨çµæ»éæ°æ® * @return */ public static BaseResponse<EnergyTrendResponse> energyTrend(EnergyTrendRequest param){ log.info("ãæµ·åº·è½èçæ¿-6æææ¥è¯¢è¿12个æçç¨çµæ»éæ°æ®ã================å¼å§===="+JSONObject.toJSONString(param)); try { String res = HKTools.energyTrend(JSONObject.toJSONString(param)); TypeReference typeReference = new TypeReference< BaseResponse<EnergyTrendResponse>>(){}; BaseResponse<EnergyTrendResponse> result = JSONObject.parseObject(res, typeReference.getType()); logResult(result,"海康è½èçæ¿-6æææ¥è¯¢è¿12个æçç¨çµæ»éæ°æ®"); return result; }catch (Exception e){ log.error("ãæµ·åº·è½èçæ¿-6æææ¥è¯¢è¿12个æçç¨çµæ»éæ°æ®ã================失败====ï¼\n"+ e.getMessage()); } return null; } /** *æ ¹æ®ç¨æ·æ è¯è·å客æ·ç«¯TGCæ¥å£ * @return */ server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWaterGas.java
@@ -53,8 +53,8 @@ @ApiModelProperty(value = "æåºç ", example = "1") private Integer sortnum; @ApiModelProperty(value = "ç±»å 0ç¨æ°´ 1ç¨æ° 2ç¨æ²¹", example = "1") @ExcelColumn(name="ç±»å",valueMapping = "0=ç¨æ°´;1=ç¨æ°;2=ç¨æ²¹;",index = 0) @ApiModelProperty(value = "ç±»å 0ç¨æ°´ 1ç¨æ° 2ç¨æ²¹ 3", example = "1") @ExcelColumn(name="ç±»å",valueMapping = "0=ç¨æ°´;1=ç¨æ°;2=ç¨æ²¹;3=çç®±;",index = 0) private Integer type; @ApiModelProperty(value = "æ°é (ç¨çµé¡¿ï¼ç¨çµåº¦ï¼ æ²¹èLï¼", example = "1") @@ -72,6 +72,9 @@ @ApiModelProperty(value = "å¼å§æ¶é´") @TableField(exist = false) private Date startTime; @ApiModelProperty(value = "å¹´ææ¶é´") @TableField(exist = false) private String timeInfoStr; @ApiModelProperty(value = "å¼å§æ¶é´") @TableField(exist = false) private Date endTime; server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/EnergyBoardVO.java
@@ -22,76 +22,24 @@ @ApiModelProperty(value = "ç¢³ææ¾ åä½ å¨") private BigDecimal carbon; @ApiModelProperty(value = "䏿ç¨çµ åä½ kw·h") private Integer electricityQuantity; @ApiModelProperty(value = "ç¨çµç¯æ¯") private BigDecimal electricityYear; @ApiModelProperty(value = "ç¨çµåæ¯") private BigDecimal electricityMonth; @ApiModelProperty(value = "䏿ç¨çµ åä½ kw·h æ»éã忝ãç¯æ¯") private EnergyModelDataVO electricityQuantity; @ApiModelProperty(value = "ä¸æç¨æ°´ åä½ t") private BigDecimal waterQuantity; @ApiModelProperty(value = "ç¨æ°´ç¯æ¯") private BigDecimal waterYear; @ApiModelProperty(value = "ç¨æ°´åæ¯") private BigDecimal waterMonth; @ApiModelProperty(value = "ä¸æç¨æ°´ åä½ t æ»éã忝ãç¯æ¯ ") private EnergyModelDataVO waterQuantity; @ApiModelProperty(value = "ä¸æç¨æ° åä½ æ»éã忝ãç¯æ¯ ") private EnergyModelDataVO gasQuantity; @ApiModelProperty(value = "ä¸æç¨æ° åä½ ") private BigDecimal gasQuantity; @ApiModelProperty(value = "仿¥ç¨çµ åä½ kw·hï¼æ»éã忝ãç¯æ¯") private EnergyModelDataVO todayElectricity; @ApiModelProperty(value = "ç¨æ°ç¯æ¯") private BigDecimal gasYear; @ApiModelProperty(value = "æ¬æç¨çµ åä½ kw·h æ»éã忝ãç¯æ¯") private EnergyModelDataVO monthElectricity; @ApiModelProperty(value = "ç¨æ°åæ¯") private BigDecimal gasMonth; @ApiModelProperty(value = "æ¨æ¥ç¨çµ åä½ kw·h æ»éã忝ãç¯æ¯") private EnergyModelDataVO yesterdayElectricity; @ApiModelProperty(value = "åå ¬æ¥¼ç¨çµ åä½ kw·h") private Integer officeQuantity; @ApiModelProperty(value = "æååºç¨çµ åä½ kw·h") private Integer productHouseQuantity; @ApiModelProperty(value = "èåå·¥æ¿ç¨çµ åä½ kw·h") private Integer workHouseQuantity; @ApiModelProperty(value = "ç©æµååºç¨çµ åä½ kw·h") private Integer parkQuantity; @ApiModelProperty(value = "å¨åç«æ¿ç¨çµ åä½ kw·h") private Integer powerQuantity; @ApiModelProperty(value = "仿¥ç¨çµ åä½ kw·h") private Integer todayElectricity; @ApiModelProperty(value = "æ¬æç¨çµ åä½ kw·h") private Integer monthElectricity; @ApiModelProperty(value = "æ¨æ¥ç¨çµ åä½ kw·h") private Integer yesterdayElectricity; @ApiModelProperty(value = "宿¶è´è·æ²çº¿",hidden = true) private List<EnergyDataVO> loadCurveList; @ApiModelProperty(value = "æè½èåæ - æ°´",hidden = true) private List<EnergyDataVO> energyDataWaterList; @ApiModelProperty(value = "æè½èåæ - æ°",hidden = true) private List<EnergyDataVO> energyDataGasList; @ApiModelProperty(value = "æè½èåæ - çµ",hidden = true) private List<EnergyDataVO> energyDataElectricityList; @ApiModelProperty(value = "ææ²¹èåæ",hidden = true) private List<EnergyDataVO> oilList; @ApiModelProperty(value = "ä¸ææ²¹èæè¡",hidden = true) private List<OilDataVO> lastMonthOilList; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/EnergyModelDataVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,31 @@ package com.doumee.dao.web.response.platformReport; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2024/10/25 16:25 */ @Data public class EnergyModelDataVO { @ApiModelProperty(value = "æ»é") private String total; @ApiModelProperty(value = "æ»é",hidden = true) private BigDecimal totalNum; @ApiModelProperty(value = "ç¯æ¯") private String ringRate; @ApiModelProperty(value = "ç¯æ¯å¼",hidden = true) private BigDecimal ringNum; @ApiModelProperty(value = "忝") private String sameRate; @ApiModelProperty(value = "忝å¼" ,hidden = true) private BigDecimal sameNum; } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -49,6 +49,8 @@ @Autowired private PlatformLogMapper platformLogMapper; @Autowired private PlatformWaterGasMapper platformWaterGasMapper; @Autowired private SystemDictDataBiz systemDictDataBiz; @Autowired private PlatformWarnEventMapper platformWarnEventMapper; @@ -395,6 +397,268 @@ return null; } @Override public List<EnergyDataVO> loadEnergyCurve(){ List<EnergyDataVO> loadCurveList = new ArrayList<>(); try { BaseResponse<List<EnergyTodayLoadDataResponse>> response = HKService.energyTodayLoadData(); if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) || response.getData()==null ){ for (EnergyTodayLoadDataResponse model :response.getData()) { EnergyDataVO data = new EnergyDataVO(); data.setTimeData(model.getName()); data.setEnergy(new BigDecimal(model.getName())); loadCurveList.add(data); } } }catch (Exception e){ e.printStackTrace(); } return loadCurveList; } @Override public List<OilDataVO> energyLastMonthOilSort(){ List<OilDataVO> oilDataVOList = new ArrayList<>(); //ä¸ææ²¹è List<PlatformWaterGas> list = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>().lambda() .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO) .eq(PlatformWaterGas::getType,Constants.TWO) .apply("DATE_FORMAT(time_info, '%Y-%m') = DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m')") .orderByDesc(PlatformWaterGas::getNum) .last("limit 30" ) ); for (PlatformWaterGas model :list) { OilDataVO oilDataVO = new OilDataVO(); oilDataVO.setCarNo(model.getCarCode()); oilDataVO.setQuantity(model.getNum()); oilDataVOList.add(oilDataVO); } return oilDataVOList; } /** * ç¨çµæ»è½è忝ãç¯æ¯ååºåç¨çµééå * @return */ @Override public EnergyBoardVO centerEnergyData(){ EnergyBoardVO data = new EnergyBoardVO(); Random random = new Random(); PlatformWaterGas smoke= platformWaterGasMapper.selectOne(new QueryWrapper<PlatformWaterGas>() .select("sum(num) as num") .lambda() .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO) .eq(PlatformWaterGas::getType,Constants.THREE) .apply("year(time_info) = year(now())") .last("limit 1 " )); data.setSmokeBoxTotal(0); if(smoke!=null){ data.setSmokeBoxTotal(Constants.formatBigdecimal(smoke.getNum()).intValue());//å½å¹´çç®±æ° } BigDecimal carbonGas = new BigDecimal(0);//æ¬æç¨æ° BigDecimal carbonWater = new BigDecimal(0);//æ¬æç¨æ°´ BigDecimal carbonElec = new BigDecimal(0);//ç¨çµ data.setTodayElectricity(getDefaultData());//仿¥ç¨çµ data.setElectricityQuantity(getDefaultData());//䏿ç¨çµ data.setWaterQuantity(getDefaultData());//ä¸æç¨æ°´ data.setGasQuantity(getDefaultData());//ä¸æç¨æ° data.setMonthElectricity(getDefaultData());//æ¬æç¨çµ data.setYesterdayElectricity(getDefaultData());//æ¨æ¥ç¨çµ getMonthElectricityData(data.getMonthElectricity());//éè¿å®é²å¹³è·åæ¬ææ°æ® carbonElec = new BigDecimal(StringUtils.defaultString(data.getMonthElectricity().getTotal(), "0")); getLastMonthElectricityData(data.getElectricityQuantity());//éè¿å®é²å¹³è·åä¸ææ°æ® String firstDate = DateUtil.getFirstDayOfThisMonth() +" 00:00:00"; Date month0 = DateUtil.getDateFromString(firstDate); Date month1 = DateUtil.increaseMonth(month0,-1);//䏿 Date month2 = DateUtil.increaseMonth(month0,-2);//ä¸ä¸æ Date month3 = DateUtil.increaseMonth(month0,-12);//å»å¹´åæ List<PlatformWaterGas> list = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>() .lambda() .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO) .in(PlatformWaterGas::getType,Constants.ZERO,Constants.ONE) .in(PlatformWaterGas::getTimeInfo,month0,month1,month3,month2) ); if(list!=null){ //ç±»å 0ç¨æ°´ 1ç¨æ° 2ç¨æ²¹ for(PlatformWaterGas model : list){ if(Constants.equalsInteger(model.getType(),Constants.ONE)){ if(model.getTimeInfo().getTime() == month0.getTime()){ carbonGas = Constants.formatBigdecimal(model.getNum()); } if(model.getTimeInfo().getTime() == month1.getTime()){ data.getGasQuantity().setTotalNum(Constants.formatBigdecimal(model.getNum()) ); data.getGasQuantity().setTotal(Constants.formatBigdecimal(model.getNum())+""); } if(model.getTimeInfo().getTime() == month2.getTime()){ data.getGasQuantity().setSameNum(Constants.formatBigdecimal(model.getNum()) ); } if(model.getTimeInfo().getTime() == month3.getTime()){ data.getGasQuantity().setRingNum(Constants.formatBigdecimal(model.getNum()) ); } }else if(Constants.equalsInteger(model.getType(),Constants.ZERO)){ if(model.getTimeInfo().getTime() == month0.getTime()){ carbonWater = Constants.formatBigdecimal(model.getNum()); } if(model.getTimeInfo().getTime() == month1.getTime()){ data.getWaterQuantity().setTotalNum(Constants.formatBigdecimal(model.getNum()) ); data.getWaterQuantity().setTotal(Constants.formatBigdecimal(model.getNum())+""); } if(model.getTimeInfo().getTime() == month2.getTime()){ data.getWaterQuantity().setSameNum(Constants.formatBigdecimal(model.getNum()) ); } if(model.getTimeInfo().getTime() == month3.getTime()){ data.getWaterQuantity().setRingNum(Constants.formatBigdecimal(model.getNum()) ); } } } } if( data.getGasQuantity().getTotalNum().compareTo(new BigDecimal(0)) !=0){ //计ç®ç¨æ°åæ¯ç¯æ¯ data.getGasQuantity().setSameRate(Constants.formatBigdecimal4Float(data.getGasQuantity().getSameNum().divide(data.getGasQuantity().getTotalNum())).doubleValue()*100 +""); data.getGasQuantity().setRingRate(Constants.formatBigdecimal4Float(data.getGasQuantity().getRingNum().divide(data.getGasQuantity().getTotalNum())).doubleValue()*100 +""); } if( data.getWaterQuantity().getTotalNum().compareTo(new BigDecimal(0)) !=0){ // //计ç®ç¨æ°´åæ¯ç¯æ¯ data.getWaterQuantity().setSameRate(Constants.formatBigdecimal4Float(data.getWaterQuantity().getSameNum().divide(data.getWaterQuantity().getTotalNum())).doubleValue()*100 +""); data.getWaterQuantity().setRingRate(Constants.formatBigdecimal4Float(data.getWaterQuantity().getRingNum().divide(data.getWaterQuantity().getTotalNum())).doubleValue()*100 +""); } /*计ç®ç¢³æéï¼ä»¥ä¸ä¸ä¸ªå ç´ ä¹å 1)ç¨çµçäºæ°§åç¢³ææ¾é(kg)=èçµé(kWh)x0.785ï¼ 2) å¤©ç¶æ°äºæ°§åç¢³ææ¾é(kg)=å¤©ç¶æ°ä½¿ç¨é(m3)Ã0.19ï¼ 3) èªæ¥æ°´äºæ°§åç¢³ææ¾é(kg)=èªæ¥æ°´ä½¿ç¨é(m3)Ã0.91ï¼*/ data.setCarbon(Constants.formatBigdecimal2Float((carbonElec.multiply(new BigDecimal(0.785))) .add(carbonGas.multiply(new BigDecimal(0.19))) .add(carbonWater.multiply(new BigDecimal(0.91))))); return data; } /** * éè¿å®é²å¹³è·åæ¬ææ°æ® * @param data */ private void getMonthElectricityData(EnergyModelDataVO data) { BaseResponse<MonthDataByMeterTypeResponse> response = HKService.getCurrentMonthDataByMeterType("1"); if(response != null && !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) && response.getData()!=null ){ data.setRingRate(StringUtils.defaultString(response.getData().getRingPercent(),"0")); data.setSameRate(StringUtils.defaultString(response.getData().getSamePercent(),"0")); data.setTotal(StringUtils.defaultString(response.getData().getValue(),"0")); } } /** * éè¿å®é²å¹³è·åä¸ææ°æ® * @param data */ private void getLastMonthElectricityData(EnergyModelDataVO data) { BaseResponse<LastMonthFeeByMeterTypeResponse> response = HKService.lastMonthFeeByMeterType("1"); if(response != null && !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) && response.getData()!=null ){ data.setRingRate(StringUtils.defaultString(response.getData().getRingPercent(),"0")); data.setSameRate(StringUtils.defaultString(response.getData().getSamePercent(),"0")); data.setTotal(StringUtils.defaultString(response.getData().getValue(),"0")); } } private EnergyModelDataVO getDefaultData() { EnergyModelDataVO data = new EnergyModelDataVO(); data.setTotal("0"); data.setSameRate("0"); data.setRingRate("0"); data.setTotalNum(new BigDecimal(0)); data.setSameNum(new BigDecimal(0)); data.setRingNum(new BigDecimal(0)); return data; } /** * ç¨çµæ»è½è忝ãç¯æ¯ååºåç¨çµééå * @return */ @Override public RegionEnergyListResponse energyRegionData(){ RegionEnergyListResponse data = null; BaseResponse<RegionEnergyListResponse> response = HKService.regionEnergyList("1"); if(response != null && !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) && response.getData()!=null ){ data = response.getData(); } if(data == null){ data = new RegionEnergyListResponse(); data.setSecondRegionDataList(new ArrayList<>()); data.setRootValue("0"); data.setSamePercent("0"); data.setRingPercent("0"); data.setSecondRegionDataList(new ArrayList<>()); } return data; } /** * è¿12ä¸ªæ°´çµæ°æ²¹èæ°æ®ç»è®¡ * @param type * @return */ @Override public List<EnergyDataVO> energyDataList(Integer type){ List<EnergyDataVO> energyDataVOList = new ArrayList<>(); List<OilDataVO> oilDataVOList = new ArrayList<>(); Date lastMonth = DateUtil.increaseMonth(new Date(),-11); if(type >=0 && type <=2){ //ç¨æ°´ç¨çµç¨æ° List<PlatformWaterGas> list = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>() .select("DATE_FORMAT(TIME_INFO,'yyyy-MM') as time_info_str,sum(num) as num") .lambda() .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO) .eq(PlatformWaterGas::getType,type) .apply("time_info BETWEEN DATE_SUB(CURDATE(), INTERVAL 12 MONTH) AND CURDATE()")//è¿12个æ .last(" groupby DATE_FORMAT(TIME_INFO,'yyyy-MM')") ); for (int i = 0; i < 12; i++) { Date tempDate = DateUtil.increaseMonth(lastMonth,i); EnergyDataVO data = new EnergyDataVO(); data.setTimeData(DateUtil.getFomartDate(tempDate,"YYYY-MM")); data.setEnergy(new BigDecimal(0)); if(list!=null){ for(PlatformWaterGas m : list){ if(StringUtils.equals(m.getTimeInfoStr(),data.getTimeData())){ data.setEnergy(Constants.formatBigdecimal(m.getNum())); } } } energyDataVOList.add(data); } }else{ for (int i = 0; i < 12; i++) { Date tempDate = DateUtil.increaseMonth(lastMonth,i); EnergyDataVO data = new EnergyDataVO(); data.setTimeData(DateUtil.getFomartDate(tempDate,(i+1)+"æ")); data.setEnergy(new BigDecimal(0)); energyDataVOList.add(data); } //妿æ¯ç¨çµæ°æ® EnergyTrendRequest param = new EnergyTrendRequest(); param.setDate(DateUtil.getFomartDate(new Date(),"yyyy"));//年份 param.setMeterType(1); param.setNodeType(2); param.setNodeId("root000000"); param.setPeriodType("year"); BaseResponse<EnergyTrendResponse> response = HKService.energyTrend(param); if(response != null && !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) && response.getData()!=null&& response.getData().getYvalues()!=null ){ for (int i = 0; i < 12; i++) { if(response.getData().getYvalues().size()>0 &&response.getData().getYvalues().get(0).getValue().length>i){ //åç¸åºçåæ°å¼ energyDataVOList.get(0).setEnergy(new BigDecimal(response.getData().getYvalues().get(0).getValue()[i])); } } } } return energyDataVOList; } @Override public VisitDataVO visitSecurityData(){ //å¾ è®¿é®ãå·²ç»è®°ãå·²ç¦»å¼ @@ -436,8 +700,6 @@ SecurityBoardVO data = new SecurityBoardVO(); getParkingCarsNum(data);//è·åè½¦ä½æ°æ® Random random = new Random(); List<Retention> retentionList = retentionMapper.selectJoinList(Retention.class, new MPJLambdaWrapper<Retention>() .selectAll(Retention.class) server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java
@@ -3,6 +3,7 @@ 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.RegionEnergyListResponse; import com.doumee.core.tms.model.request.TmsLockStatusQueryRequest; import com.doumee.core.tms.model.request.TmsOrderInfoRequest; import com.doumee.core.tms.model.request.TmsOrderListRequest; @@ -58,4 +59,14 @@ SecurityBoardVO centerSecurityData(); VisitDataVO visitSecurityData(); List<EnergyDataVO> loadEnergyCurve(); List<OilDataVO> energyLastMonthOilSort(); List<EnergyDataVO> energyDataList(Integer type); RegionEnergyListResponse energyRegionData(); EnergyBoardVO centerEnergyData(); }