From 1d60a3906937ebfca560a4877eba185fad8b24d1 Mon Sep 17 00:00:00 2001 From: whyclxw <810412026@qq.com> Date: 星期三, 04 六月 2025 13:47:47 +0800 Subject: [PATCH] 实施页面系统概论半小时数据 --- src/main/java/com/whyc/service/SubTablePageInfoService.java | 38 ++++++++++++------ src/main/java/com/whyc/service/BattRealdataIdService.java | 4 +- src/main/java/com/whyc/service/PwrdevHistorydataIdService.java | 8 ++-- src/main/java/com/whyc/controller/RealContoller.java | 12 +++--- 4 files changed, 37 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/whyc/controller/RealContoller.java b/src/main/java/com/whyc/controller/RealContoller.java index 4586bfe..b69d7bf 100644 --- a/src/main/java/com/whyc/controller/RealContoller.java +++ b/src/main/java/com/whyc/controller/RealContoller.java @@ -28,19 +28,19 @@ @ApiOperation(value = "绯荤粺姒傝鑾峰彇鍗婂皬鏃朵氦娴佽緭鍏ョ粺璁�") @GetMapping("getHalfHourPwrHisAcinData") - public Response getHalfHourPwrHisAcinData(@RequestParam Integer powerId){ - return pwrdevHistorydataIdService.getHalfHourPwrHisAcinData(powerId); + public Response getHalfHourPwrHisAcinData(@RequestParam Integer powerId,@RequestParam Integer granularity){ + return pwrdevHistorydataIdService.getHalfHourPwrHisAcinData(powerId,granularity); } @ApiOperation(value = "绯荤粺姒傝鑾峰彇鍗婂皬鏃剁洿娴佽緭鍑虹粺璁�") @GetMapping("getHalfHourPwrHisDcoutData") - public Response getHalfHourPwrHisDcoutData(@RequestParam Integer powerId){ - return pwrdevHistorydataIdService.getHalfHourPwrHisDcoutData(powerId); + public Response getHalfHourPwrHisDcoutData(@RequestParam Integer powerId,@RequestParam Integer granularity){ + return pwrdevHistorydataIdService.getHalfHourPwrHisDcoutData(powerId,granularity); } @ApiOperation(value = "绯荤粺姒傝鑾峰彇鍗婂皬鏃舵牳瀹硅澶囦俊鎭�") @GetMapping("getHalfHourBattDevData") - public Response getHalfHourBattDevData(@RequestParam Integer battgroupId){ - return battRealdataIdService.getHalfHourBattDevData(battgroupId); + public Response getHalfHourBattDevData(@RequestParam Integer battgroupId,@RequestParam Integer granularity){ + return battRealdataIdService.getHalfHourBattDevData(battgroupId,granularity); } } \ No newline at end of file diff --git a/src/main/java/com/whyc/service/BattRealdataIdService.java b/src/main/java/com/whyc/service/BattRealdataIdService.java index 0c8d961..dcf709e 100644 --- a/src/main/java/com/whyc/service/BattRealdataIdService.java +++ b/src/main/java/com/whyc/service/BattRealdataIdService.java @@ -153,14 +153,14 @@ return new Response().setII(1,map.size()>0,map,"鑾峰彇鐢垫睜缁勬渶杩戜竴瀛e害鐨勬俯搴︽暟鎹�"); } //绯荤粺姒傝鑾峰彇鍗婂皬鏃舵牳瀹硅澶囦俊鎭� - public Response getHalfHourBattDevData(Integer battgroupId) { + public Response getHalfHourBattDevData(Integer battgroupId,Integer granularity) { String dateTime = ActionUtil.sdfwithOutday.format(new Date()); String tableName ="db_data_history.tb_batt_realdata_"+battgroupId+"_"+dateTime; String existTableName = commonMapper.existTable("db_data_history", "tb_batt_realdata_"+battgroupId+"_"+dateTime); if(existTableName == null){ return new Response().set(1,false,"褰撳墠鐢垫睜缁勪笉瀛樺湪鍓嶉潰灏忔椂鏁版嵁"); } - List<BattHisRealDto> datalist=subTablePageInfoService.getHalfHourBattDevData(tableName); + List<BattHisRealDto> datalist=subTablePageInfoService.getHalfHourBattDevData(tableName,granularity); return new Response().setII(1,datalist.size()>0,datalist,"鑾峰彇鍗婂皬鏃跺唴鏍稿璁惧淇℃伅"); } } \ No newline at end of file diff --git a/src/main/java/com/whyc/service/PwrdevHistorydataIdService.java b/src/main/java/com/whyc/service/PwrdevHistorydataIdService.java index a773e28..5f78d5f 100644 --- a/src/main/java/com/whyc/service/PwrdevHistorydataIdService.java +++ b/src/main/java/com/whyc/service/PwrdevHistorydataIdService.java @@ -22,26 +22,26 @@ private CommonMapper commonMapper; //绯荤粺姒傝鑾峰彇鍗婂皬鏃朵氦娴佽緭鍏ョ粺璁� - public Response getHalfHourPwrHisAcinData(Integer powerId) { + public Response getHalfHourPwrHisAcinData(Integer powerId,Integer granularity) { String dateTime = ActionUtil.sdfwithOutday.format(new Date()); String tableName ="db_data_history.tb_pwrdev_historydata_"+powerId+"_"+dateTime; String existTableName = commonMapper.existTable("db_data_history", "tb_pwrdev_historydata_"+powerId+"_"+dateTime); if(existTableName == null){ return new Response().set(1,false,"褰撳墠鐢垫睜缁勪笉瀛樺湪鍓嶉潰灏忔椂鏁版嵁"); } - List<PwrHisRealAcInDto> datalist=subTablePageInfoService.getHalfHourPwrHisAcinData(tableName); + List<PwrHisRealAcInDto> datalist=subTablePageInfoService.getHalfHourPwrHisAcinData(tableName,granularity); return new Response().setII(1,datalist.size()>0,datalist,"鑾峰彇鍗婂皬鏃跺唴浜ゆ祦杈撳叆缁熻"); } //绯荤粺姒傝鑾峰彇鍗婂皬鏃剁洿娴佽緭鍑虹粺璁� - public Response getHalfHourPwrHisDcoutData(Integer powerId) { + public Response getHalfHourPwrHisDcoutData(Integer powerId,Integer granularity) { String dateTime = ActionUtil.sdfwithOutday.format(new Date()); String tableName ="db_data_history.tb_pwrdev_historydata_"+powerId+"_"+dateTime; String existTableName = commonMapper.existTable("db_data_history", "tb_pwrdev_historydata_"+powerId+"_"+dateTime); if(existTableName == null){ return new Response().set(1,false,"褰撳墠鐢垫簮涓嶅瓨鍦ㄥ墠闈㈠皬鏃舵暟鎹�"); } - List<PwrHisRealDcoutInDto> datalist=subTablePageInfoService.getHalfHourPwrHisDcoutData(tableName); + List<PwrHisRealDcoutInDto> datalist=subTablePageInfoService.getHalfHourPwrHisDcoutData(tableName,granularity); return new Response().setII(1,datalist.size()>0,datalist,"鑾峰彇鍗婂皬鏃跺唴鐩存祦杈撳嚭缁熻"); } } \ No newline at end of file diff --git a/src/main/java/com/whyc/service/SubTablePageInfoService.java b/src/main/java/com/whyc/service/SubTablePageInfoService.java index 6370eb3..17fd08c 100644 --- a/src/main/java/com/whyc/service/SubTablePageInfoService.java +++ b/src/main/java/com/whyc/service/SubTablePageInfoService.java @@ -558,11 +558,15 @@ }); return list; } - //绯荤粺姒傝鑾峰彇鍗婂皬鏃舵牳瀹硅澶囦俊鎭� - public List<BattHisRealDto> getHalfHourBattDevData(String tableName) { - String sql="select distinct mon_num,record_time,group_vol,online_vol,group_curr,group_tmp from "+tableName+" "; - sql+="where record_time>date_sub(now(),interval 0.5 hour)"; - sql+="order by record_time asc"; + //绯荤粺姒傝鑾峰彇鍗婂皬鏃舵牳瀹硅澶囦俊鎭�(缁勭淇℃伅鍙栦竴涓崟浣撲俊鎭嵆鍙�) + public List<BattHisRealDto> getHalfHourBattDevData(String tableName,Integer granularity) { + String sql="select distinct mon_num,record_time,group_vol,online_vol,group_curr,group_tmp " + + "from (select a.*, (@i:= @i+1) as number " + + " from (select * from "+tableName+" "+ + " where record_time>date_sub(now(),interval 0.5 hour) and mon_num=1) a, " + + " (select @i:=0) b) c "+ + " where c.number%"+granularity+"=0 or c.number=1 "; + sql+=" order by record_time asc"; List<BattHisRealDto> list = sqlExecuteService.executeQuery_call(sql, new CallBack() { @Override public List getResults(ResultSet rs) throws SQLException { @@ -582,11 +586,15 @@ return list; } //绯荤粺姒傝鑾峰彇鍗婂皬鏃朵氦娴佽緭鍏ョ粺璁� - public List<PwrHisRealAcInDto> getHalfHourPwrHisAcinData(String tableName) { + public List<PwrHisRealAcInDto> getHalfHourPwrHisAcinData(String tableName,Integer granularity) { String sql="select distinct record_datetime,acin1_vola,acin1_volb,acin1_volc,acin2_vola,acin2_volb,acin2_volc " + - ",acin1_curra,acin1_currb,acin1_currc,acin2_curra,acin2_currb,acin2_currc from "+tableName+" "; - sql+="where record_datetime>date_sub(now(),interval 0.5 hour)"; - sql+="order by record_datetime asc"; + ",acin1_curra,acin1_currb,acin1_currc,acin2_curra,acin2_currb,acin2_currc " + + "from (select a.*, (@i:= @i+1) as number " + + " from (select * from "+tableName+" "+ + " where record_datetime>date_sub(now(),interval 0.5 hour)) a, " + + " (select @i:=0) b) c "+ + " where c.number%"+granularity+"=0 or c.number=1 "; + sql+=" order by record_datetime asc"; List<PwrHisRealAcInDto> list = sqlExecuteService.executeQuery_call(sql, new CallBack() { @Override public List getResults(ResultSet rs) throws SQLException { @@ -614,10 +622,14 @@ return list; } - public List<PwrHisRealDcoutInDto> getHalfHourPwrHisDcoutData(String tableName) { - String sql="select distinct record_datetime,dcout_vol,dcout_curr,battgroup1_vol,battgroup1_curr,battgroup2_vol,battgroup2_curr from "+tableName+" "; - sql+="where record_datetime>date_sub(now(),interval 0.5 hour)"; - sql+="order by record_datetime asc"; + public List<PwrHisRealDcoutInDto> getHalfHourPwrHisDcoutData(String tableName,Integer granularity) { + String sql="select distinct record_datetime,dcout_vol,dcout_curr,battgroup1_vol,battgroup1_curr,battgroup2_vol,battgroup2_curr " + + "from (select a.*, (@i:= @i+1) as number " + + " from (select * from "+tableName+" "+ + " where record_datetime>date_sub(now(),interval 0.5 hour)) a, " + + " (select @i:=0) b) c "+ + " where c.number%"+granularity+"=0 or c.number=1 "; + sql+=" order by record_datetime asc"; List<PwrHisRealDcoutInDto> list = sqlExecuteService.executeQuery_call(sql, new CallBack() { @Override public List getResults(ResultSet rs) throws SQLException { -- Gitblit v1.9.1