From e4aa9db5e3c91c969adf2361f8069b8c54244e1a Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期二, 15 四月 2025 12:02:39 +0800
Subject: [PATCH] 获取轮灌组详情接口,对轮灌组增加终止状态判断
---
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanCtrl.java | 154 +++++++++++++++++++++++++++++++++++---------------
1 files changed, 107 insertions(+), 47 deletions(-)
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanCtrl.java
index 121543d..ffd55e9 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanCtrl.java
@@ -2,15 +2,19 @@
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.pojoIr.IrIrrigatePlan;
import com.dy.pipIrrGlobal.pojoIr.IrIrrigateSchedule;
import com.dy.pipIrrGlobal.pojoIr.IrPlanOperate;
import com.dy.pipIrrGlobal.pojoIr.IrPlanSchedule;
-import com.dy.pipIrrGlobal.voIr.VoIrrigateSchedule;
-import com.dy.pipIrrGlobal.voIr.VoPlanSimple;
-import com.dy.pipIrrGlobal.voIr.VoPlans;
+import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory;
+import com.dy.pipIrrGlobal.voIr.*;
+import com.dy.pipIrrGlobal.voRm.VoIntakeVc;
import com.dy.pipIrrWechat.command.CommandSv;
import com.dy.pipIrrWechat.command.dto.AutomaticClose;
+import com.dy.pipIrrWechat.command.dto.ValveClose;
+import com.dy.pipIrrWechat.command.dto.ValveOpen;
import com.dy.pipIrrWechat.irrigatePlan.dto.IrrigatePlan;
import com.dy.pipIrrWechat.irrigatePlan.dto.IrrigateSchedule;
import com.dy.pipIrrWechat.irrigatePlan.dto.PlanSimple;
@@ -23,11 +27,13 @@
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
+import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.List;
+import java.util.Map;
import java.util.Objects;
/**
@@ -159,33 +165,22 @@
}
/**
- * 鑾峰彇鏈畬鎴愮殑璁″垝鍒楄〃锛屽皬绋嬪簭璁″垝鍒楄〃椤典娇鐢�
+ * 鍒犻櫎鐏屾簤璁″垝
+ * @param planSimple
+ * @param bindingResult
* @return
*/
- @GetMapping(path = "/getNotCompletePlans")
- public BaseResponse<List<VoPlans>> getNotCompletePlans() {
- try {
- List<VoPlans> res = irrigatePlanSv.getNotCompletePlans();
- return BaseResponseUtils.buildSuccess(res);
- } catch (Exception e) {
- log.error("鑾峰彇鏈畬鐨勮鍒掑紓甯�", e);
- return BaseResponseUtils.buildException(e.getMessage());
+ @PostMapping(path = "deletePlan")
+ public BaseResponse<Boolean> deletePlan(@RequestBody @Valid PlanSimple planSimple, BindingResult bindingResult) {
+ if(bindingResult != null && bindingResult.hasErrors()){
+ return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
}
- }
- /**
- * 鑾峰彇宸插畬鎴愮殑璁″垝鍒楄〃锛屽皬绋嬪簭璁″垝鍒楄〃椤典娇鐢�
- * @return
- */
- @GetMapping(path = "/getCompletedPlans")
- public BaseResponse<List<VoPlans>> getCompletedPlans() {
- try {
- List<VoPlans> res = irrigatePlanSv.getCompletedPlans();
- return BaseResponseUtils.buildSuccess(res);
- } catch (Exception e) {
- log.error("鑾峰彇椤圭洰璁板綍寮傚父", e);
- return BaseResponseUtils.buildException(e.getMessage());
+ Map map_result = irrigatePlanSv.deletePlan(planSimple);
+ if(map_result.get("success").equals(false)) {
+ return BaseResponseUtils.buildErrorMsg(map_result.get("msg").toString());
}
+ return BaseResponseUtils.buildSuccess() ;
}
/**
@@ -227,7 +222,9 @@
}
LocalDateTime startTime = planStartTime.toInstant().atZone(ZoneId.systemDefault()) .toLocalDateTime();
if(startupMode == 1){
- startTime = startTime.plusMinutes(5);
+ // 娴嬭瘯闃舵寤跺悗2鍒嗛挓锛屾寮忓彂甯冧负5鍒嗛挓
+ startTime = startTime.plusMinutes(2);
+ //startTime = startTime.plusMinutes(5);
}
planStartTime = Date.from(startTime.atZone(ZoneId.systemDefault()).toInstant());
LocalDateTime stopTime = startTime.plusMinutes(duration);
@@ -300,18 +297,52 @@
Long planId = planSimple.getPlanId();
Long operatorId = planSimple.getOperatorId();
- Byte operateType = 2;
// 鐢熸垚缁堟寮�濮嬫椂闂淬�佺粓姝㈢亴婧夋椂闀�
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
- String terminateStartTimeStr = "2000-01-01 00:00:00";
+ String terminateStartTimeStr = LocalDate.now().getYear() + "-01-01 00:00:00";
Date terminateStartTime = Date.from(LocalDateTime.parse(terminateStartTimeStr, formatter).atZone(ZoneId.systemDefault()).toInstant());
- Integer terminateDuration = 100000;
+ Integer terminateDuration = 9999;
- // 鑾峰彇鍙粓姝㈡搷浣滆鍒掔殑鐏屾簤寮�濮嬫椂闂�
+ // 鍒ゆ柇璇ヨ鍒掓槸鍚﹀彲鎵ц缁堟鎿嶄綔锛氭湭鍒犻櫎銆佹湭缁堟銆佸凡鍙戝竷銆佸綋鍓嶆椂闂村皬浜庤鍒掔粨鏉熸椂闂�
Date planStartTime = irrigatePlanSv.getToTerminatePlan(planId);
if(planStartTime == null){
return BaseResponseUtils.buildErrorMsg("璇ヨ鍒掍笉瀛樺湪鎴栦笉鏀寔缁堟鎿嶄綔");
+ }
+
+ List<VoToTerminateIntakes> toTerminateIntakes = irrigatePlanSv.getToTerminateIntakes(planId);
+ if(toTerminateIntakes != null && toTerminateIntakes.size() > 0){
+ for(VoToTerminateIntakes toTerminateIntake : toTerminateIntakes){
+ Long intakeId = toTerminateIntake.getIntakeId();
+ Long commandId = toTerminateIntake.getCommandId();
+ Date startTime = toTerminateIntake.getStartTime();
+ Date currentTime = new Date();
+ if(currentTime.before(startTime)){
+ // 鍙栨秷锛堣鐩栧紑闃�璁″垝锛�
+ AutomaticClose automaticClose = new AutomaticClose();
+ automaticClose.setIntakeId(intakeId);
+ automaticClose.setPlannedOpenTime(terminateStartTime);
+ automaticClose.setMinutes(terminateDuration);
+ automaticClose.setOperator(operatorId);
+ automaticClose.setOpenType(Byte.valueOf("1"));
+
+ commandSv.planedOpenTimedClose(automaticClose, planId, (byte)2, terminateStartTime, terminateDuration);
+ }else {
+ // 缁堟锛堣繙绋嬪叧闃�锛�
+ VoIntakeVc intakeVc = irrigatePlanSv.getValveOpen(commandId);
+ String rtuAddr = intakeVc.getRtuAddr();
+ String vcNum = intakeVc.getVcNum();
+ String orderNo = intakeVc.getOrderNo();
+
+ ValveClose valveClose = new ValveClose();
+ valveClose.setRtuAddr(rtuAddr);
+ valveClose.setVcNum(vcNum);
+ valveClose.setOrderNo(orderNo);
+ valveClose.setOperator(operatorId);
+ valveClose.setOpenType(Byte.valueOf("1"));
+ commandSv.closeWx(valveClose, planId, (byte)3);
+ }
+ }
}
// 缁堟璁″垝
@@ -336,26 +367,55 @@
if(irrigatePlanSv.addPlanOperate(planOperate) == 0){
return BaseResponseUtils.buildErrorMsg("娣诲姞缁堟鎿嶄綔璁板綍澶辫触");
}
+ return BaseResponseUtils.buildSuccess();
+ }
- Date currentTime = new Date();
- if(currentTime.before(planStartTime)){
- // 鍙栨秷寮�闃�璁″垝
- List<Long> intakeIds = irrigatePlanSv.getToTerminateIntakeIds(planId);
- for(Long intakeId : intakeIds) {
- AutomaticClose automaticClose = new AutomaticClose();
- automaticClose.setIntakeId(intakeId);
- automaticClose.setPlannedOpenTime(terminateStartTime);
- automaticClose.setMinutes(terminateDuration);
- automaticClose.setOperator(operatorId);
- automaticClose.setOpenType(Byte.valueOf("1"));
+ /**
+ * 鑾峰彇鏈畬鎴愮殑璁″垝鍒楄〃锛屽皬绋嬪簭璁″垝鍒楄〃椤典娇鐢�
+ * @return
+ */
+ @GetMapping(path = "/getNotCompletePlans")
+ public BaseResponse<List<VoPlans>> getNotCompletePlans() {
+ try {
+ List<VoPlans> res = irrigatePlanSv.getNotCompletePlans();
+ return BaseResponseUtils.buildSuccess(res);
+ } catch (Exception e) {
+ log.error("鑾峰彇鏈畬鐨勮鍒掑紓甯�", e);
+ return BaseResponseUtils.buildException(e.getMessage());
+ }
+ }
- commandSv.planedOpenTimedClose(automaticClose, planId, operateType, terminateStartTime, terminateDuration);
- }
- } else {
- // 鎵ц杩滅▼鍏抽榾
+ /**
+ * 鑾峰彇宸插畬鎴愮殑璁″垝鍒楄〃锛屽皬绋嬪簭璁″垝鍒楄〃椤典娇鐢�
+ * @return
+ */
+ @GetMapping(path = "/getCompletedPlans")
+ public BaseResponse<QueryResultVo<List<VoPlans>>> getCompletedPlans(QueryConditionVo qo) {
+ try {
+ return BaseResponseUtils.buildSuccess(irrigatePlanSv.getCompletedPlans(qo));
+ } catch (Exception e) {
+ log.error("鑾峰彇椤圭洰璁板綍寮傚父", e);
+ return BaseResponseUtils.buildException(e.getMessage());
+ }
+ }
+
+ /**
+ * 鏍规嵁璁″垝ID鑾峰彇璁″垝鍙戝竷缁撴灉
+ * @param planId
+ * @return
+ */
+ @GetMapping(path = "/getPublishResults")
+ public BaseResponse<VoPlanDetails> getPublishResults(@RequestParam Long planId) {
+ if(planId == null) {
+ return BaseResponseUtils.buildErrorMsg("璁″垝ID涓嶈兘涓虹┖");
}
- return BaseResponseUtils.buildSuccess();
-
+ try {
+ VoPlanDetails res = irrigatePlanSv.getPublishResults(planId);
+ return BaseResponseUtils.buildSuccess(res);
+ } catch (Exception e) {
+ log.error("鑾峰彇璁″垝鍙戝竷缁撴灉寮傚父", e);
+ return BaseResponseUtils.buildException(e.getMessage());
+ }
}
}
--
Gitblit v1.8.0