From 85f4fbf75505c35a4d0e53515ffb3affb6fd95f2 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 31 七月 2025 14:29:02 +0800
Subject: [PATCH] 增加查询单个设备(RTU或FBox)是否在线的功能接口
---
pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigatePlan/IrrigatePlanSv.java | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 113 insertions(+), 7 deletions(-)
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigatePlan/IrrigatePlanSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigatePlan/IrrigatePlanSv.java
index 9f05099..6e43aca 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigatePlan/IrrigatePlanSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigatePlan/IrrigatePlanSv.java
@@ -7,6 +7,8 @@
import com.dy.common.mw.protocol.CommandType;
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.common.webUtil.QueryConditionVo;
+import com.dy.common.webUtil.QueryResultVo;
import com.dy.pipIrrGlobal.daoIr.*;
import com.dy.pipIrrGlobal.daoRm.RmCommandHistoryMapper;
import com.dy.pipIrrGlobal.pojoIr.IrIrrigatePlan;
@@ -14,9 +16,7 @@
import com.dy.pipIrrGlobal.pojoIr.IrPlanOperate;
import com.dy.pipIrrGlobal.pojoIr.IrPlanSchedule;
import com.dy.pipIrrGlobal.rtuMw.CodeLocal;
-import com.dy.pipIrrGlobal.voIr.VoIrrigateSchedule;
-import com.dy.pipIrrGlobal.voIr.VoPlanSimple;
-import com.dy.pipIrrGlobal.voIr.VoToTerminateIntakes;
+import com.dy.pipIrrGlobal.voIr.*;
import com.dy.pipIrrGlobal.voRm.VoIntakeVc;
import com.dy.pipIrrIrrigate.command.CommandSv;
import com.dy.pipIrrIrrigate.command.dto.AutomaticClose;
@@ -26,6 +26,7 @@
import com.dy.pipIrrIrrigate.irrigatePlan.dto.PlanSimple;
import com.dy.pipIrrIrrigate.irrigatePlan.enums.OperateTypeENUM;
import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.common.utils.PojoUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.env.Environment;
@@ -42,10 +43,7 @@
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* @author ZhuBaoMin
@@ -80,6 +78,9 @@
@Autowired
private RmCommandHistoryMapper rmdCommandHistoryMapper;
+
+ @Autowired
+ private IrIrrigateGroupMapper irIrrigateGroupMapper;
protected String comSendUrl;
private String key_mw = "comSendUrl";
@@ -647,4 +648,109 @@
map.put("msg", "缁堟鐏屾簤璁″垝鎴愬姛");
return map;
}
+
+ /**
+ * 鑾峰彇鏈畬鎴愮殑璁″垝鍒楄〃锛岀亴婧夋ā鍧楄鍒掑垪琛ㄩ〉浣跨敤
+ *
+ * @return
+ */
+ public List<VoPlans> getNotCompletePlans() {
+ return irrigatePlanMapper.getNotCompletePlans();
+ }
+
+ /**
+ * 鑾峰彇宸插畬鎴愮殑璁″垝鍒楄〃锛岀亴婧夋ā鍧楄鍒掑垪琛ㄩ〉浣跨敤
+ *
+ * @return
+ */
+ public QueryResultVo<List<VoPlans>> getCompletedPlans(QueryConditionVo queryVo) {
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
+
+ Long itemTotal = (long) irrigatePlanMapper.getCompletedPlansCount(params);
+ QueryResultVo<List<VoPlans>> rsVo = new QueryResultVo<>();
+ rsVo.pageSize = queryVo.pageSize;
+ rsVo.pageCurr = queryVo.pageCurr;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = irrigatePlanMapper.getCompletedPlans(params);
+
+ return rsVo;
+ }
+
+ /**
+ * 鏍规嵁璁″垝ID鑾峰彇璁″垝鍙戝竷缁撴灉
+ *
+ * @param planId
+ * @return
+ */
+ public VoPlanDetails getPublishResults(Long planId) {
+ VoPlanDetails planDetails = irrigatePlanMapper.getPlanDetails(planId);
+ if (planDetails == null) {
+ return null;
+ }
+ Integer failureCount = Optional.ofNullable(irIntakeOperateMapper.getFailureCount(planId)).orElse(0);
+ planDetails.setFailureCount(failureCount);
+
+ Date terminateTime = Optional.ofNullable(irPlanOperateMapper.getTerminateTime(planId)).orElse(null);
+
+ List<VoGroupResult> groupResults = irIrrigateGroupMapper.getGroupResult(planId);
+ if (groupResults == null || groupResults.size() == 0) {
+ return null;
+ }
+
+ for (VoGroupResult groupResult : groupResults) {
+ List<VoIntakeResult> intakeResults = irIntakeOperateMapper.getIntakeResult(planId, groupResult.getGroupId());
+ if (intakeResults != null) {
+ groupResult.setPublishResult(intakeResults);
+ }
+ }
+
+ planDetails.setGroups(groupResults);
+ return planDetails;
+
+ }
+
+ /**
+ * 鏍规嵁璁″垝ID鑾峰彇璁″垝缁堟鎿嶄綔缁撴灉
+ *
+ * @param planId
+ * @return
+ */
+ public VoPlanDetails getTerminateResults(Long planId) {
+ // 鑾峰彇璁″垝缁堟鏃堕棿
+ Date terminateTime = Optional.ofNullable(irPlanOperateMapper.getTerminateTime(planId)).orElse(null);
+
+ VoPlanDetails planDetails = irrigatePlanMapper.getPlanDetails_terminate(planId, terminateTime);
+ if (planDetails == null) {
+ return null;
+ }
+ Integer failureCount = Optional.ofNullable(irIntakeOperateMapper.getFailureCount(planId)).orElse(0);
+ planDetails.setFailureCount(failureCount);
+
+ List<VoGroupResult> groupResults = irIrrigateGroupMapper.getGroupResult_terminate(planId, terminateTime);
+ if (groupResults == null || groupResults.size() == 0) {
+ return null;
+ }
+
+ for (VoGroupResult groupResult : groupResults) {
+ List<VoIntakeResult> intakeResults = irIntakeOperateMapper.getIntakeResult(planId, groupResult.getGroupId());
+ if (intakeResults != null) {
+ groupResult.setPublishResult(intakeResults);
+ }
+ }
+
+ planDetails.setGroups(groupResults);
+ return planDetails;
+
+ }
+
+ /**
+ * 鏍规嵁璁″垝ID鑾峰彇璁″垝鏈�鏂扮姸鎬�
+ *
+ * @param planId
+ * @return
+ */
+ public Integer getPlanLatestState(Long planId) {
+ return irrigatePlanMapper.getPlanLatestState(planId);
+ }
}
\ No newline at end of file
--
Gitblit v1.8.0