From 9b9c5a44b115c5ba8d7ef84b433bb494f1514cd3 Mon Sep 17 00:00:00 2001
From: zhanglei <lei.zhang@kingtroldata.com>
Date: Mon, 24 Mar 2025 16:29:40 +0800
Subject: [PATCH] feat(dataAnalysis): 增加部门参数处理

- 在 CommandCentreServiceImpl 和 SysCommandCentreController 中添加对部门参数的处理
- 修改 FReportItemvMapper 接口和 XML 文件,增加 departIds 参数
- 优化 DeviceStatusJob 中的报警记录类型路径
---
 sk-module-alarm/src/main/java/com/skua/modules/quartz/DeviceStatusJob.java                           |  1 +
 sk-module-biz/src/main/java/com/skua/modules/dataAnalysis/controller/SysCommandCentreController.java | 30 ++++++++++++++----------------
 sk-module-biz/src/main/java/com/skua/modules/dataAnalysis/service/impl/CommandCentreServiceImpl.java |  2 +-
 sk-module-datafill/src/main/java/com/skua/modules/report/mapper/FReportItemvMapper.java              |  3 ++-
 sk-module-datafill/src/main/java/com/skua/modules/report/mapper/xml/FReportItemvMapper.xml           |  4 ++++
 sk-module-system/src/main/java/com/skua/modules/system/service/impl/SysDepartServiceImpl.java        |  6 +++---
 6 files changed, 25 insertions(+), 21 deletions(-)

diff --git a/sk-module-alarm/src/main/java/com/skua/modules/quartz/DeviceStatusJob.java b/sk-module-alarm/src/main/java/com/skua/modules/quartz/DeviceStatusJob.java
index 72d28cf..6d2e0b6 100644
--- a/sk-module-alarm/src/main/java/com/skua/modules/quartz/DeviceStatusJob.java
+++ b/sk-module-alarm/src/main/java/com/skua/modules/quartz/DeviceStatusJob.java
@@ -285,6 +285,7 @@ public class DeviceStatusJob implements Job {
             AlarmRecordHistory alarmRecordHistory = new AlarmRecordHistory();
             alarmRecordHistory.setAlarmParamCode(plc);
             alarmRecordHistory.setAlarmRuleType("B001B005");
+            alarmRecordHistory.setAlarmRuleTypeTreepath("B001,B001B005");
             alarmRecordHistory.setAlarmParamType(paramType);
             alarmRecordHistory.setActualAvgValue("断线");
             alarmRecordHistory.setDelFlag(1);
diff --git a/sk-module-biz/src/main/java/com/skua/modules/dataAnalysis/controller/SysCommandCentreController.java b/sk-module-biz/src/main/java/com/skua/modules/dataAnalysis/controller/SysCommandCentreController.java
index 1680caa..efcecec 100644
--- a/sk-module-biz/src/main/java/com/skua/modules/dataAnalysis/controller/SysCommandCentreController.java
+++ b/sk-module-biz/src/main/java/com/skua/modules/dataAnalysis/controller/SysCommandCentreController.java
@@ -5,6 +5,7 @@ import com.skua.core.api.vo.Result;
 import com.skua.core.aspect.annotation.AutoLog;
 import com.skua.core.context.BaseContextHandler;
 import com.skua.core.util.ConvertUtils;
+import com.skua.modules.common.service.ICommonSqlService;
 import com.skua.modules.custom.service.IFCustomReportDatasetService;
 import com.skua.modules.dataAnalysis.service.ICommandCentreService;
 import com.skua.modules.algorithm.service.impl.ReportItemvService;
@@ -12,7 +13,6 @@ import com.skua.modules.algorithm.vo.DepartLoadRateResultVO;
 import com.skua.modules.algorithm.vo.StackedAreaChartDataVO;
 import com.skua.modules.algorithm.vo.WaterTreatmentVO;
 import com.skua.modules.common.vo.DateVO;
-import com.skua.modules.equipment.vo.EquipmentRepairAnalysisVO;
 import com.skua.modules.guest.util.DateUtil;
 import com.skua.modules.report.vo.DepartDrugResult;
 import com.skua.modules.report.vo.FRportlCommandCenterVO;
@@ -56,7 +56,8 @@ public class SysCommandCentreController {
     private ReportItemvService reportItemvService;
     @Autowired
     private IFCustomReportDatasetService reportDatasetService;
-
+    @Autowired
+    private ICommonSqlService commonSqlService;
 
     /**
      * 分页列表查询
@@ -71,7 +72,7 @@ public class SysCommandCentreController {
         DateVO dateVO = new DateVO(reportItemvParam.getStartDate());
         String departIds = BaseContextHandler.getDeparts();
         if(StringUtils.isNotEmpty(reportItemvParam.getDepartIds()) ){
-            departIds = reportItemvParam.getDepartIds();
+            departIds = commonSqlService.getChildFactorys(reportItemvParam.getDepartIds());
         }
         //本月数据
         String monthCSL = reportItemvService.getSumCSL(departIds, dateVO.getNowMonthStartDate(), dateVO.getNowMonthEndDate());
@@ -109,7 +110,7 @@ public class SysCommandCentreController {
         Result<DepartLoadRateResultVO > result = new Result<>();
         String departIds = BaseContextHandler.getDeparts();//1818214519948836864,1711662624459804674
         if(StringUtils.isNotEmpty(reportItemvParam.getDepartIds()) ){
-            departIds = reportItemvParam.getDepartIds();
+            departIds = commonSqlService.getChildFactorys(reportItemvParam.getDepartIds());
         }
         Integer loadRateType = reportItemvParam.getLoadRateType();
         if(loadRateType == null ) loadRateType = 1;
@@ -142,7 +143,7 @@ public class SysCommandCentreController {
         Result<List<FRportlCommandCenterVO>> result = new Result();
         String departIds = BaseContextHandler.getDeparts();//1818214519948836864,1711662624459804674
         if(StringUtils.isNotEmpty(reportItemvParam.getDepartIds()) ){
-            departIds = reportItemvParam.getDepartIds();
+            departIds = commonSqlService.getChildFactorys(reportItemvParam.getDepartIds());
         }
         List<FRportlCommandCenterVO> dataList =  reportItemvService.statisticsByCement(departIds,reportItemvParam.getStartDate(),reportItemvParam.getEndDate());
         result.setResult(dataList  );
@@ -198,7 +199,7 @@ public class SysCommandCentreController {
         Result<List<FRportlCommandCenterVO>> result = new Result();
         String departId = BaseContextHandler.getDeparts();
         if(StringUtils.isNotEmpty(reportItemvParam.getDepartIds()) ){
-            departId = reportItemvParam.getDepartIds();
+            departId = commonSqlService.getChildFactorys(reportItemvParam.getDepartIds());
         }
         List<FRportlCommandCenterVO> dataList =  reportItemvService.statisticsByElectricity(departId,reportItemvParam.getStartDate(),reportItemvParam.getEndDate());
         result.setResult(dataList  );
@@ -243,7 +244,7 @@ public class SysCommandCentreController {
         List<String> consumeList =  new ArrayList<>();//电耗集合
         String departIds = BaseContextHandler.getDeparts();
         if(StringUtils.isNotEmpty(reportItemvParam.getDepartIds()) ){
-            departIds = reportItemvParam.getDepartIds();
+            departIds = commonSqlService.getChildFactorys(reportItemvParam.getDepartIds());
         }
         List<ReportDateTrendVO> dlhjDateList = reportItemvService.getDayDateFieldList(ReportConstant.view3a24, "DLHJ", departIds, reportItemvParam.getStartDate(), reportItemvParam.getEndDate());
         List<ReportDateTrendVO> cslDateList = reportItemvService.getDayDateFieldList(ReportConstant.view2119, "CSL", departIds, reportItemvParam.getStartDate(), reportItemvParam.getEndDate());
@@ -312,7 +313,7 @@ public class SysCommandCentreController {
         reportItemvParam.setEndDate( DateUtils.formatDate(endDate ,"YYYY-MM"));
         String departIds =  BaseContextHandler.getDeparts();
         if(StringUtils.isNotEmpty(reportItemvParam.getDepartIds()) ){
-            departIds = reportItemvParam.getDepartIds();
+            departIds = commonSqlService.getChildFactorys(reportItemvParam.getDepartIds());
         }
         reportItemvParam.setDepartIds( JSUtils.quoteEach(departIds,","));
         List<ReportDateTrendVO> fyDataList =  commandCentreService.getFyData(reportItemvParam);
@@ -363,14 +364,11 @@ public class SysCommandCentreController {
     @AutoLog(value = "指挥中心-药剂趋势")
     @ApiOperation(value="指挥中心-药剂趋势", notes="指挥中心-药剂趋势")
     @GetMapping(value = "/statisticsByYjqs")
-    public Result<DepartDrugResult> statisticsByYjqs(@RequestParam(name = "month", required = true)String month) {
-       // DateVO dateVO = new DateVO(month);
-
-        String departIds = BaseContextHandler.getDeparts();//1818214519948836864,1711662624459804674
-       /* if(StringUtils.isNotEmpty(reportItemvParam.getDepartIds()) ){
-            departIds = reportItemvParam.getDepartIds();
-        }*/
-        DepartDrugResult departDrugResult = commandCentreService.getYhTotal(departIds,month);
+    public Result<DepartDrugResult> statisticsByYjqs(@RequestParam(name = "month", required = true) String month,
+                                                     @RequestParam(name = "departIds", required = true) String departIds) {
+//        String departIds = BaseContextHandler.getDeparts();//1818214519948836864,1711662624459804674
+        String departId = commonSqlService.getChildFactorys(departIds);
+        DepartDrugResult departDrugResult = commandCentreService.getYhTotal(departId,month);
         Result<DepartDrugResult> result = new Result<>();
         result.setSuccess(true);
         result.setResult(departDrugResult);
diff --git a/sk-module-biz/src/main/java/com/skua/modules/dataAnalysis/service/impl/CommandCentreServiceImpl.java b/sk-module-biz/src/main/java/com/skua/modules/dataAnalysis/service/impl/CommandCentreServiceImpl.java
index 318a701..1aa18cd 100644
--- a/sk-module-biz/src/main/java/com/skua/modules/dataAnalysis/service/impl/CommandCentreServiceImpl.java
+++ b/sk-module-biz/src/main/java/com/skua/modules/dataAnalysis/service/impl/CommandCentreServiceImpl.java
@@ -60,7 +60,7 @@ public class CommandCentreServiceImpl implements ICommandCentreService {
         List<DepartDrugDataVO> drugList = null;
         drugList =  fReportItemvMapper.getYhList(month,monthTb,monthHb,
                 dataViewName2119,dataViewName2119tb,dataViewName2119hb,
-                dataViewName3a24,dataViewName3a24tb,dataViewName3a24hb);
+                dataViewName3a24,dataViewName3a24tb,dataViewName3a24hb,departIds);
         departDrugResult.setDrugList(drugList);
         return departDrugResult;
     }
diff --git a/sk-module-datafill/src/main/java/com/skua/modules/report/mapper/FReportItemvMapper.java b/sk-module-datafill/src/main/java/com/skua/modules/report/mapper/FReportItemvMapper.java
index f104d9e..195c245 100644
--- a/sk-module-datafill/src/main/java/com/skua/modules/report/mapper/FReportItemvMapper.java
+++ b/sk-module-datafill/src/main/java/com/skua/modules/report/mapper/FReportItemvMapper.java
@@ -52,7 +52,8 @@ public interface FReportItemvMapper extends BaseMapper<FReportItemv> {
     List<DepartDrugDataVO> getYhList(@Param("month") String month, @Param("monthTb") String monthTb, @Param("monthHb") String monthHb,
                                      @Param("dataViewName2119") String dataViewName2119, @Param("dataViewName2119tb") String dataViewName2119tb,
                                      @Param("dataViewName2119hb") String dataViewName2119hb, @Param("dataViewName3a24") String dataViewName3a24,
-                                     @Param("dataViewName3a24tb") String dataViewName3a24tb, @Param("dataViewName3a24hb") String dataViewName3a24hb);
+                                     @Param("dataViewName3a24tb") String dataViewName3a24tb, @Param("dataViewName3a24hb") String dataViewName3a24hb,
+                                     @Param("departIds") String departIds);
 
     DepartDrugResult getYhData(@Param("month") String month, @Param("monthTb") String monthTb, @Param("monthHb") String monthHb,
                                @Param("dataViewName3a24") String dataViewName3a24,@Param("dataViewName3a24tb") String dataViewName3a24tb,
diff --git a/sk-module-datafill/src/main/java/com/skua/modules/report/mapper/xml/FReportItemvMapper.xml b/sk-module-datafill/src/main/java/com/skua/modules/report/mapper/xml/FReportItemvMapper.xml
index 73a32c9..4e92c34 100644
--- a/sk-module-datafill/src/main/java/com/skua/modules/report/mapper/xml/FReportItemvMapper.xml
+++ b/sk-module-datafill/src/main/java/com/skua/modules/report/mapper/xml/FReportItemvMapper.xml
@@ -162,6 +162,10 @@
             ) dhhb ON dhhb.depart_id = d.id
         WHERE
             d.depart_type = '1'
+            and d.id in
+            <foreach item="item" index="index" collection="departIds.split(',')" open="(" separator="," close=")">
+                '${item}'
+            </foreach>
         ORDER BY dh.yjdh desc,d.depart_order
     </select>
     <select id="getYhData" resultType="com.skua.modules.report.vo.DepartDrugResult">
diff --git a/sk-module-system/src/main/java/com/skua/modules/system/service/impl/SysDepartServiceImpl.java b/sk-module-system/src/main/java/com/skua/modules/system/service/impl/SysDepartServiceImpl.java
index 45b3527..231521e 100644
--- a/sk-module-system/src/main/java/com/skua/modules/system/service/impl/SysDepartServiceImpl.java
+++ b/sk-module-system/src/main/java/com/skua/modules/system/service/impl/SysDepartServiceImpl.java
@@ -100,9 +100,9 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
 				listResult.addAll(jtList);
 			}
 		}
-		if (!StringUtils.isBlank(departType)) {
-			listResult = filterDepartList(listResult);
-		}
+//		if (!StringUtils.isBlank(departType)) {
+//			listResult = filterDepartList(listResult);
+//		}
 		return listResult;
 	}
 
--
libgit2 0.24.0