From 93860049875e89890c32d22732329a6985dad898 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期五, 28 三月 2025 17:06:08 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV
---
pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/PipIrrIrrigateApplication.java | 2
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrProjectMapper.java | 8
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrProjectGroupMapper.java | 7
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoProjectDetail.java | 27 ++
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/dto/IrrigatePlan.java | 5
pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/ProjectCtrl.java | 155 +++++++++++
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/PipIrrRemoteApplication.java | 3
pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/ProjectSv.java | 172 ++++++++++++
pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrProjectGroupMapper.xml | 5
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoPlans.java | 7
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigatePlanMapper.java | 6
pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrProjectMapper.xml | 18 +
pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml | 241 +++++++++--------
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanCtrl.java | 20 +
pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/dto/IrrigateProject.java | 40 +++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigatePlan.java | 5
16 files changed, 589 insertions(+), 132 deletions(-)
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigatePlanMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigatePlanMapper.java
index 1cbb726..44d7b26 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigatePlanMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigatePlanMapper.java
@@ -12,8 +12,8 @@
/**
* @author ZhuBaoMin
- * @date 2025-02-25 14:59
- * @LastEditTime 2025-02-25 14:59
+ * @date 2025-03-27 8:54
+ * @LastEditTime 2025-03-27 8:54
* @Description
*/
@@ -67,12 +67,14 @@
/**
* 鑾峰彇鏈畬鎴愮殑璁″垝鍒楄〃锛屽皬绋嬪簭璁″垝鍒楄〃椤典娇鐢�
+ * 璁″垝鐘舵�侊細1-鑽夌锛�2-鏈墽琛岋紝3-鎵ц涓紝4-宸插畬鎴�
* @return
*/
List<VoPlans> getNotCompletePlans();
/**
* 鑾峰彇宸插畬鎴愮殑璁″垝鍒楄〃锛屽皬绋嬪簭璁″垝鍒楄〃椤典娇鐢�
+ * 璁″垝鐘舵�侊細1-鑽夌锛�2-鏈墽琛岋紝3-鎵ц涓紝4-宸插畬鎴�
* @return
*/
List<VoPlans> getCompletedPlans();
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrProjectGroupMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrProjectGroupMapper.java
index adfa010..766733e 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrProjectGroupMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrProjectGroupMapper.java
@@ -25,4 +25,11 @@
int updateByPrimaryKey(IrProjectGroup record);
+ /**
+ * 瑙g粦椤圭洰涓庤疆缃愮粍鍏宠仈
+ * @param projectId
+ * @return
+ */
+ Integer unbindGroup(Long projectId);
+
}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrProjectMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrProjectMapper.java
index 9b0380b..82bb1ae 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrProjectMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrProjectMapper.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dy.pipIrrGlobal.pojoIr.IrProject;
import com.dy.pipIrrGlobal.voIr.VoProject;
+import com.dy.pipIrrGlobal.voIr.VoProjectDetail;
import com.dy.pipIrrGlobal.voIr.VoProjectOne;
import com.dy.pipIrrGlobal.voIr.VoProjectSimple;
import org.apache.ibatis.annotations.Mapper;
@@ -79,4 +80,11 @@
* @return
*/
List<VoProjectSimple> getSimpleProjects(Map<?, ?> params);
+
+ /**
+ * 鏍规嵁椤圭洰Id鑾峰彇椤圭洰璇︽儏锛岀紪杈戦」鐩俊鎭娇鐢�
+ * @param projectId
+ * @return
+ */
+ VoProjectDetail getProjectDetail(Long projectId);
}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigatePlan.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigatePlan.java
index ea5f063..8b79933 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigatePlan.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigatePlan.java
@@ -36,6 +36,11 @@
private Long id;
/**
+ * 椤圭洰ID
+ */
+ private Long projectId;
+
+ /**
* 璁″垝鍚嶇О
*/
@NotBlank(message = "璁″垝鍚嶇О涓嶈兘涓虹┖")
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoPlans.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoPlans.java
index 2318ee7..6e16dee 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoPlans.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoPlans.java
@@ -16,11 +16,16 @@
*/
@Data
-@JsonPropertyOrder({"planId", "planName", "startupMode", "planStartTime", "planStopTime", "duration", "planState"})
+@JsonPropertyOrder({"projectName","planId", "planName", "startupMode", "planStartTime", "planStopTime", "duration", "planState"})
public class VoPlans {
public static final long serialVersionUID = 202503261555001L;
/**
+ * 椤圭洰鍚嶇О
+ */
+ private String projectName;
+
+ /**
* 璁″垝ID
*/
@JSONField(serializeUsing= ObjectWriterImplToString.class)
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoProjectDetail.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoProjectDetail.java
new file mode 100644
index 0000000..29c2859
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoProjectDetail.java
@@ -0,0 +1,27 @@
+package com.dy.pipIrrGlobal.voIr;
+
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2025-03-28 8:49
+ * @LastEditTime 2025-03-28 8:49
+ * @Description 鐏屾簤椤圭洰璇︽儏瑙嗗浘瀵硅薄
+ */
+
+@Data
+@JsonPropertyOrder({"projectName", "irrigateGroups"})
+public class VoProjectDetail {
+ public static final long serialVersionUID = 202503280850001L;
+
+ /**
+ * 椤圭洰鍚嶇О
+ */
+ private String projectName;
+
+ /**
+ * 鐏屾簤缁勫垪琛�
+ */
+ private String irrigateGroups;
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml
index 699d758..08b7a87 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigatePlanMapper.xml
@@ -5,6 +5,7 @@
<!--@mbg.generated-->
<!--@Table ir_irrigate_plan-->
<id column="id" jdbcType="BIGINT" property="id" />
+ <result column="project_id" jdbcType="BIGINT" property="projectId" />
<result column="plan_name" jdbcType="VARCHAR" property="planName" />
<result column="startup_mode" jdbcType="TINYINT" property="startupMode" />
<result column="plan_start_time" jdbcType="TIMESTAMP" property="planStartTime" />
@@ -16,7 +17,7 @@
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
- id, plan_name, startup_mode, plan_start_time, plan_stop_time, duration,
+ id, project_id, plan_name, startup_mode, plan_start_time, plan_stop_time, duration,
plan_state, executing_state, deleted
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
@@ -33,11 +34,11 @@
</delete>
<insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoIr.IrIrrigatePlan">
<!--@mbg.generated-->
- insert into ir_irrigate_plan (id, plan_name,
+ insert into ir_irrigate_plan (id, project_id, plan_name,
startup_mode, plan_start_time, plan_stop_time,
duration, plan_state, executing_state,
deleted)
- values (#{id,jdbcType=BIGINT}, #{planName,jdbcType=VARCHAR},
+ values (#{id,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, #{planName,jdbcType=VARCHAR},
#{startupMode,jdbcType=TINYINT}, #{planStartTime,jdbcType=TIMESTAMP}, #{planStopTime,jdbcType=TIMESTAMP},
#{duration,jdbcType=INTEGER}, #{planState,jdbcType=TINYINT}, #{executingState,jdbcType=TINYINT},
#{deleted,jdbcType=BIGINT})
@@ -48,6 +49,9 @@
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
+ </if>
+ <if test="projectId != null">
+ project_id,
</if>
<if test="planName != null">
plan_name,
@@ -77,6 +81,9 @@
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=BIGINT},
+ </if>
+ <if test="projectId != null">
+ #{projectId,jdbcType=BIGINT},
</if>
<if test="planName != null">
#{planName,jdbcType=VARCHAR},
@@ -108,6 +115,9 @@
<!--@mbg.generated-->
update ir_irrigate_plan
<set>
+ <if test="projectId != null">
+ project_id = #{projectId,jdbcType=BIGINT},
+ </if>
<if test="planName != null">
plan_name = #{planName,jdbcType=VARCHAR},
</if>
@@ -138,7 +148,8 @@
<update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoIr.IrIrrigatePlan">
<!--@mbg.generated-->
update ir_irrigate_plan
- set plan_name = #{planName,jdbcType=VARCHAR},
+ set project_id = #{projectId,jdbcType=BIGINT},
+ plan_name = #{planName,jdbcType=VARCHAR},
startup_mode = #{startupMode,jdbcType=TINYINT},
plan_start_time = #{planStartTime,jdbcType=TIMESTAMP},
plan_stop_time = #{planStopTime,jdbcType=TIMESTAMP},
@@ -152,111 +163,111 @@
<!--鏍规嵁鎸囧畾鐨勮鍒扞D鑾峰彇鍚姩妯″紡-->
<select id="getStartupMode" resultType="java.lang.Byte">
SELECT
- startup_mode AS startupMode
+ startup_mode AS startupMode
FROM ir_irrigate_plan
WHERE id = #{planId}
</select>
<!--鏍规嵁鎸囧畾鐨勬潯浠惰幏鍙栬鍒掓暟閲�-->
-<!-- <select id="getIrrigatePlanCount" resultType="java.lang.Long">-->
-<!-- SELECT COUNT(*)-->
-<!-- FROM ir_irrigate_plan plan-->
-<!-- INNER JOIN ir_project pro ON pro.id = plan.project_id-->
-<!-- <where>-->
-<!-- AND plan.deleted = 0-->
-<!-- AND pro.deleted = 0-->
-<!-- <if test="projectName != null and projectName != ''">-->
-<!-- AND pro.project_name LIKE CONCAT('%', #{projectName}, '%')-->
-<!-- </if>-->
+ <!-- <select id="getIrrigatePlanCount" resultType="java.lang.Long">-->
+ <!-- SELECT COUNT(*)-->
+ <!-- FROM ir_irrigate_plan plan-->
+ <!-- INNER JOIN ir_project pro ON pro.id = plan.project_id-->
+ <!-- <where>-->
+ <!-- AND plan.deleted = 0-->
+ <!-- AND pro.deleted = 0-->
+ <!-- <if test="projectName != null and projectName != ''">-->
+ <!-- AND pro.project_name LIKE CONCAT('%', #{projectName}, '%')-->
+ <!-- </if>-->
-<!-- <if test="planName != null and planName != ''">-->
-<!-- AND plan.plan_name LIKE CONCAT('%', #{planName}, '%')-->
-<!-- </if>-->
+ <!-- <if test="planName != null and planName != ''">-->
+ <!-- AND plan.plan_name LIKE CONCAT('%', #{planName}, '%')-->
+ <!-- </if>-->
-<!-- <if test="startupMode != null">-->
-<!-- AND plan.startup_mode = #{startupMode}-->
-<!-- </if>-->
+ <!-- <if test="startupMode != null">-->
+ <!-- AND plan.startup_mode = #{startupMode}-->
+ <!-- </if>-->
-<!-- <if test="planState != null">-->
-<!-- AND plan.plan_state = #{planState}-->
-<!-- </if>-->
+ <!-- <if test="planState != null">-->
+ <!-- AND plan.plan_state = #{planState}-->
+ <!-- </if>-->
-<!-- <if test="executingState != null">-->
-<!-- AND plan.executing_state = #{executingState}-->
-<!-- </if>-->
-<!-- </where>-->
-<!-- </select>-->
+ <!-- <if test="executingState != null">-->
+ <!-- AND plan.executing_state = #{executingState}-->
+ <!-- </if>-->
+ <!-- </where>-->
+ <!-- </select>-->
<!--鏍规嵁鎸囧畾鐨勬潯浠惰幏鍙栬鍒掑垪琛�-->
-<!-- <select id="getIrrigatePlans" resultType="com.dy.pipIrrGlobal.voIr.VoIrrigatePlan">-->
-<!-- SELECT-->
-<!-- plan.id AS planId,-->
-<!-- pro.project_name AS projectName,-->
-<!-- plan.plan_name AS planName,-->
-<!-- CASE plan.startup_mode-->
-<!-- WHEN 1 THEN '鎵嬪姩鍚姩'-->
-<!-- WHEN 2 THEN '鑷姩鍚姩'-->
-<!-- END AS startupMode,-->
-<!-- plan.plan_start_time AS startTime,-->
-<!-- plan.plan_stop_time AS stopTime,-->
-<!-- plan.duration AS duration,-->
-<!-- CASE plan.plan_state-->
-<!-- WHEN 1 THEN '鑽夌'-->
-<!-- WHEN 2 THEN '宸插彂甯�'-->
-<!-- END AS planState,-->
+ <!-- <select id="getIrrigatePlans" resultType="com.dy.pipIrrGlobal.voIr.VoIrrigatePlan">-->
+ <!-- SELECT-->
+ <!-- plan.id AS planId,-->
+ <!-- pro.project_name AS projectName,-->
+ <!-- plan.plan_name AS planName,-->
+ <!-- CASE plan.startup_mode-->
+ <!-- WHEN 1 THEN '鎵嬪姩鍚姩'-->
+ <!-- WHEN 2 THEN '鑷姩鍚姩'-->
+ <!-- END AS startupMode,-->
+ <!-- plan.plan_start_time AS startTime,-->
+ <!-- plan.plan_stop_time AS stopTime,-->
+ <!-- plan.duration AS duration,-->
+ <!-- CASE plan.plan_state-->
+ <!-- WHEN 1 THEN '鑽夌'-->
+ <!-- WHEN 2 THEN '宸插彂甯�'-->
+ <!-- END AS planState,-->
-<!-- CASE plan.executing_state-->
-<!-- WHEN 1 THEN-->
-<!-- '鏈墽琛�'-->
-<!-- WHEN 2 THEN-->
-<!-- '鎵ц涓�'-->
-<!-- WHEN 3 THEN-->
-<!-- '宸叉殏鍋�'-->
-<!-- WHEN 4 THEN-->
-<!-- '宸茬粓姝�'-->
-<!-- END AS executingState-->
-<!-- FROM ir_irrigate_plan plan-->
-<!-- INNER JOIN ir_project pro ON pro.id = plan.project_id-->
-<!-- <where>-->
-<!-- AND plan.deleted = 0-->
-<!-- AND pro.deleted = 0-->
-<!-- <if test="projectName != null and projectName != ''">-->
-<!-- AND pro.project_name LIKE CONCAT('%', #{projectName}, '%')-->
-<!-- </if>-->
+ <!-- CASE plan.executing_state-->
+ <!-- WHEN 1 THEN-->
+ <!-- '鏈墽琛�'-->
+ <!-- WHEN 2 THEN-->
+ <!-- '鎵ц涓�'-->
+ <!-- WHEN 3 THEN-->
+ <!-- '宸叉殏鍋�'-->
+ <!-- WHEN 4 THEN-->
+ <!-- '宸茬粓姝�'-->
+ <!-- END AS executingState-->
+ <!-- FROM ir_irrigate_plan plan-->
+ <!-- INNER JOIN ir_project pro ON pro.id = plan.project_id-->
+ <!-- <where>-->
+ <!-- AND plan.deleted = 0-->
+ <!-- AND pro.deleted = 0-->
+ <!-- <if test="projectName != null and projectName != ''">-->
+ <!-- AND pro.project_name LIKE CONCAT('%', #{projectName}, '%')-->
+ <!-- </if>-->
-<!-- <if test="planName != null and planName != ''">-->
-<!-- AND plan.plan_name LIKE CONCAT('%', #{planName}, '%')-->
-<!-- </if>-->
+ <!-- <if test="planName != null and planName != ''">-->
+ <!-- AND plan.plan_name LIKE CONCAT('%', #{planName}, '%')-->
+ <!-- </if>-->
-<!-- <if test="startupMode != null">-->
-<!-- AND plan.startup_mode = #{startupMode}-->
-<!-- </if>-->
+ <!-- <if test="startupMode != null">-->
+ <!-- AND plan.startup_mode = #{startupMode}-->
+ <!-- </if>-->
-<!-- <if test="planState != null">-->
-<!-- AND plan.plan_state = #{planState}-->
-<!-- </if>-->
+ <!-- <if test="planState != null">-->
+ <!-- AND plan.plan_state = #{planState}-->
+ <!-- </if>-->
-<!-- <if test="executingState != null">-->
-<!-- AND plan.executing_state = #{executingState}-->
-<!-- </if>-->
-<!-- </where>-->
-<!-- ORDER BY plan.plan_state DESC, plan.plan_start_time-->
-<!-- <trim prefix="limit ">-->
-<!-- <if test="start != null and count != null">-->
-<!-- #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}-->
-<!-- </if>-->
-<!-- </trim>-->
-<!-- </select>-->
+ <!-- <if test="executingState != null">-->
+ <!-- AND plan.executing_state = #{executingState}-->
+ <!-- </if>-->
+ <!-- </where>-->
+ <!-- ORDER BY plan.plan_state DESC, plan.plan_start_time-->
+ <!-- <trim prefix="limit ">-->
+ <!-- <if test="start != null and count != null">-->
+ <!-- #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}-->
+ <!-- </if>-->
+ <!-- </trim>-->
+ <!-- </select>-->
<!--鏍规嵁璁″垝ID鑾峰彇璁″垝绠�鍗曚俊鎭�-->
<select id="getPlanSimple" resultType="com.dy.pipIrrGlobal.voIr.VoPlanSimple">
SELECT
- plan.startup_mode AS startupMode,
- plan.plan_start_time AS planStartTime,
- plan.duration AS duration
+ plan.startup_mode AS startupMode,
+ plan.plan_start_time AS planStartTime,
+ plan.duration AS duration
FROM ir_irrigate_plan plan
WHERE plan.id = #{planId}
- AND plan.deleted = 0 AND plan_state = 1
+ AND plan.deleted = 0 AND plan_state = 1
LIMIT 1
</select>
@@ -270,39 +281,43 @@
<!--鑾峰彇鏈畬鎴愮殑璁″垝鍒楄〃锛屽皬绋嬪簭璁″垝鍒楄〃椤典娇鐢�-->
<select id="getNotCompletePlans" resultType="com.dy.pipIrrGlobal.voIr.VoPlans">
SELECT
- id AS planId,
- plan_name AS planName,
- startup_mode AS startupMode,
- plan_start_time AS planStartTime,
- plan_stop_time AS planStopTime,
- duration,
- IF(plan_state = 1,'鑽夌',
- IF(NOW() < plan_start_time, '鏈墽琛�',
- IF(NOW() >= plan_start_time AND NOW() < plan_stop_time, '鎵ц涓�', '宸插畬鎴�')
- )
- ) AS planState
+ pro.project_name AS projectName,
+ plan.id AS planId,
+ plan.plan_name AS planName,
+ plan.startup_mode AS startupMode,
+ plan.plan_start_time AS planStartTime,
+ plan.plan_stop_time AS planStopTime,
+ plan.duration,
+ IF(plan.plan_state = 1, 1,
+ IF(NOW() < plan.plan_start_time, 2,
+ IF(NOW() >= plan.plan_start_time AND NOW() < plan.plan_stop_time, 3, 4)
+ )
+ ) AS planState
FROM ir_irrigate_plan plan
- WHERE deleted = 0 AND (plan_state = 1 OR NOW() < plan_stop_time)
- ORDER BY plan_state DESC
+ INNER JOIN ir_project pro ON pro.id = plan.project_id
+ WHERE plan.deleted = 0 AND (plan.plan_state = 1 OR NOW() < plan.plan_stop_time)
+ ORDER BY plan.plan_state DESC
</select>
<!--鑾峰彇宸插畬鎴愮殑璁″垝鍒楄〃锛屽皬绋嬪簭璁″垝鍒楄〃椤典娇鐢�-->
<select id="getCompletedPlans" resultType="com.dy.pipIrrGlobal.voIr.VoPlans">
SELECT
- id AS planId,
- plan_name AS planName,
- startup_mode AS startupMode,
- plan_start_time AS planStartTime,
- plan_stop_time AS planStopTime,
- duration,
- IF(plan_state = 1,'鑽夌',
- IF(NOW() < plan_start_time, '鏈墽琛�',
- IF(NOW() >= plan_start_time AND NOW() < plan_stop_time, '鎵ц涓�', '宸插畬鎴�')
- )
- ) AS planState
+ pro.project_name AS projectName,
+ plan.id AS planId,
+ plan.plan_name AS planName,
+ plan.startup_mode AS startupMode,
+ plan.plan_start_time AS planStartTime,
+ plan.plan_stop_time AS planStopTime,
+ plan.duration,
+ IF(plan.plan_state = 1, 1,
+ IF(NOW() < plan.plan_start_time, 2,
+ IF(NOW() >= plan.plan_start_time AND NOW() < plan.plan_stop_time, 3, 4)
+ )
+ ) AS planState
FROM ir_irrigate_plan plan
- WHERE deleted = 0 AND (plan_state = 2 AND NOW() >= plan_stop_time)
- ORDER BY plan_state DESC
+ INNER JOIN ir_project pro ON pro.id = plan.project_id
+ WHERE plan.deleted = 0 AND (plan.plan_state = 2 AND NOW() >= plan.plan_stop_time)
+ ORDER BY plan.plan_state DESC
</select>
</mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrProjectGroupMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrProjectGroupMapper.xml
index d9ab535..62d8fdb 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrProjectGroupMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrProjectGroupMapper.xml
@@ -88,4 +88,9 @@
sort = #{sort,jdbcType=INTEGER}
where id = #{id,jdbcType=BIGINT}
</update>
+
+ <!--瑙g粦椤圭洰涓庤疆缃愮粍鍏宠仈-->
+ <delete id="unbindGroup">
+ delete from ir_project_group where project_id=#{projectId}
+ </delete>
</mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrProjectMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrProjectMapper.xml
index 050c788..304156e 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrProjectMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrProjectMapper.xml
@@ -308,4 +308,22 @@
</if>
</trim>
</select>
+
+ <!--鏍规嵁椤圭洰Id鑾峰彇椤圭洰璇︽儏锛岀紪杈戦」鐩俊鎭娇鐢�-->
+ <select id="getProjectDetail" resultType="com.dy.pipIrrGlobal.voIr.VoProjectDetail">
+ SELECT
+ projectName,
+ GROUP_CONCAT(groupId) AS irrigateGroups
+ FROM
+ (
+ SELECT
+ pro.project_name AS projectName,
+ grp.id AS groupId
+ FROM ir_project pro
+ INNER JOIN ir_project_group pg ON pg.project_id = pro.id
+ INNER JOIN ir_irrigate_group grp ON grp.id = pg.group_id
+ WHERE pro.id = #{projectId}
+ ) project
+ GROUP BY projectName
+ </select>
</mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/PipIrrIrrigateApplication.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/PipIrrIrrigateApplication.java
index 2d31732..297f1a0 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/PipIrrIrrigateApplication.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/PipIrrIrrigateApplication.java
@@ -9,7 +9,7 @@
import org.springframework.context.annotation.FilterType;
@SpringBootApplication
-@EnableAspectJAutoProxy
+@EnableAspectJAutoProxy(exposeProxy = true)
@EnableMultiDataSource
@ComponentScan(basePackages = {"com.dy.common", "com.dy.pipIrrGlobal", "com.dy.pipIrrIrrigate"},
excludeFilters = {
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/ProjectCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/ProjectCtrl.java
index 973bccf..30ab742 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/ProjectCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/ProjectCtrl.java
@@ -7,8 +7,11 @@
import com.dy.common.webUtil.ResultCodeMsg;
import com.dy.pipIrrGlobal.pojoIr.IrProject;
import com.dy.pipIrrGlobal.voIr.VoProject;
+import com.dy.pipIrrGlobal.voIr.VoProjectDetail;
import com.dy.pipIrrGlobal.voIr.VoProjectOne;
+import com.dy.pipIrrGlobal.voIr.VoProjectSimple;
import com.dy.pipIrrGlobal.voSe.VoActiveCard;
+import com.dy.pipIrrIrrigate.project.dto.IrrigateProject;
import com.dy.pipIrrIrrigate.result.IrrigateResultCode;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Content;
@@ -44,8 +47,7 @@
private final ProjectSv projectSv;
/**
- * 娣诲姞椤圭洰
- *
+ * 娣诲姞椤圭洰锛屾棫鐗堟湰锛屽師鍒欎笂搴熷純
* @param po 椤圭洰瀹炰綋瀵硅薄
* @param bindingResult
* @return 娣诲姞鏄惁鎴愬姛
@@ -79,7 +81,7 @@
}
/**
- * 閫昏緫鍒犻櫎椤圭洰
+ * 閫昏緫鍒犻櫎椤圭洰锛屾棫鐗堟湰锛屽師鍒欎笂搴熷純
* @param map
* @return
*/
@@ -141,7 +143,7 @@
}
/**
- * 淇敼椤圭洰淇℃伅
+ * 淇敼椤圭洰淇℃伅锛屾棫鐗堟湰锛屽師鍒欎笂搴熷純
* @param po
* @param bindingResult
* @return
@@ -175,7 +177,7 @@
}
/**
- * 淇敼椤圭洰鐘舵��
+ * 淇敼椤圭洰鐘舵�侊紝鏃犵敤鎺ュ彛锛屽師鍒欎笂搴熷純
* @param po
* @param
* @return
@@ -206,8 +208,7 @@
}
/**
- * 鑾峰彇涓�涓」鐩暟鎹�
- *
+ * 鑾峰彇涓�涓」鐩暟鎹紝鏃х増鏈紝鍘熷垯涓婂簾寮�
* @return 鑾峰彇涓�涓」鐩暟鎹�
*/
@Operation(summary = "鑾峰彇涓�涓」鐩暟鎹�", description = "鑾峰彇涓�涓」鐩暟鎹�")
@@ -229,7 +230,7 @@
}
/**
- * 鍒嗛〉鏌ヨ
+ * 鍒嗛〉鏌ヨ锛屾棫鐗堟湰锛屽師鍒欎笂搴熷純
* @param vo
* @return
*/
@@ -253,4 +254,142 @@
return BaseResponseUtils.buildException(e.getMessage());
}
}
+
+ /**
+ * 娣诲姞椤圭洰锛屾柊鐗堟湰锛屼娇鐢ㄨ繖涓�
+ * @param po 椤圭洰瀹炰綋瀵硅薄
+ * @param bindingResult
+ * @return 娣诲姞鏄惁鎴愬姛
+ */
+ @PostMapping(path = "addIrrigateProject", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @Transactional(rollbackFor = Exception.class)
+ @SsoAop()
+ public BaseResponse<Boolean> addIrrigateProject(@RequestBody @Valid IrrigateProject po, BindingResult bindingResult) {
+ if (bindingResult != null && bindingResult.hasErrors()) {
+ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+ }
+
+ Map map_result = projectSv.addIrrigateProject(po);
+ if(map_result.get("success").equals(false)) {
+ return BaseResponseUtils.buildErrorMsg(map_result.get("msg").toString());
+ }
+ return BaseResponseUtils.buildSuccess() ;
+
+ //String projectName = po.getProjectName();
+ //String irrigateGroups = po.getIrrigateGroups();
+ //Long operatorId = po.getOperatorId();
+ //
+ //IrProject irProject = new IrProject();
+ //irProject.setProjectName(projectName);
+ //irProject.setProjectState((byte)1);
+ //irProject.setOperator(operatorId);
+ //irProject.setOperateTime(new Date());
+ //irProject.setDeleted((byte)0);
+ //Long projectId = projectSv.addIrrigateProject(irProject);
+ //if(projectId == null) {
+ // return BaseResponseUtils.buildErrorMsg("鍒涘缓鐏屾簤椤圭洰澶辫触");
+ //}
+ //
+ //String[] irrigateGroupArr = irrigateGroups.split(",");
+ //Integer sort = 1;
+ //for(String irrigateGroupId : irrigateGroupArr) {
+ // String trimmed = irrigateGroupId.trim();
+ // if(trimmed.isEmpty()) {
+ // continue;
+ // }
+ // try {
+ // Long irrigateGroupIdLong = Long.parseLong(trimmed);
+ // IrProjectGroup irProjectGroup = new IrProjectGroup();
+ // irProjectGroup.setProjectId(projectId);
+ // irProjectGroup.setGroupId(irrigateGroupIdLong);
+ // irProjectGroup.setSort(sort++);
+ // projectSv.projectBindGroup(irProjectGroup);
+ //
+ // } catch (NumberFormatException e) {
+ // return BaseResponseUtils.buildErrorMsg("鐏屾簤缁処D鏍煎紡閿欒");
+ // }
+ //}
+
+ }
+
+ /**
+ * 鍒犻櫎椤圭洰锛屾柊鐗堟湰锛屼娇鐢ㄨ繖涓�
+ * @param projectId
+ * @return
+ */
+ @PostMapping(path = "deleteIrrigateProject")
+ @Transactional(rollbackFor = Exception.class)
+ @SsoAop()
+ public BaseResponse<Boolean> deleteIrrigateProject(@RequestParam(required = false) Long projectId) {
+ if(projectId == null) {
+ return BaseResponseUtils.buildErrorMsg("椤圭洰ID涓嶈兘涓虹┖");
+ }
+
+ Map map_result = projectSv.deleteIrrigateProject(projectId);
+ if(map_result.get("success").equals(false)) {
+ return BaseResponseUtils.buildErrorMsg(map_result.get("msg").toString());
+ }
+ return BaseResponseUtils.buildSuccess() ;
+ }
+
+ /**
+ * 淇敼椤圭洰锛屾柊鐗堟湰锛屼娇鐢ㄨ繖涓�
+ * @param po
+ * @param bindingResult
+ * @return
+ */
+ @PostMapping(path = "updateIrrigateProject", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @Transactional(rollbackFor = Exception.class)
+ @SsoAop()
+ public BaseResponse<Boolean> updateIrrigateProject(@RequestBody @Valid IrrigateProject po, BindingResult bindingResult){
+ if (bindingResult != null && bindingResult.hasErrors()) {
+ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+ }
+
+ if(po.getProjectId() == null) {
+ return BaseResponseUtils.buildErrorMsg("椤圭洰ID涓嶈兘涓虹┖");
+ }
+
+ Map map_result = projectSv.updateIrrigateProject(po);
+ if(map_result.get("success").equals(false)) {
+ return BaseResponseUtils.buildErrorMsg(map_result.get("msg").toString());
+ }
+ return BaseResponseUtils.buildSuccess() ;
+ }
+
+ /**
+ * 鍒嗛〉鏌ヨ椤圭洰锛屾柊鐗堟湰锛岀洰鍓嶄娇鐢�
+ * @param qo
+ * @return
+ */
+ @GetMapping(path = "/getSimpleProjects")
+ @SsoAop()
+ public BaseResponse<QueryResultVo<List<VoProjectSimple>>> getSimpleProjects(QueryVo qo) {
+ try {
+ QueryResultVo<List<VoProjectSimple>> res = projectSv.getSimpleProjects(qo);
+ return BaseResponseUtils.buildSuccess(res);
+ } catch (Exception e) {
+ log.error("鑾峰彇椤圭洰璁板綍寮傚父", e);
+ return BaseResponseUtils.buildException(e.getMessage());
+ }
+ }
+
+ /**
+ * 鏍规嵁椤圭洰Id鑾峰彇椤圭洰璇︽儏锛岀紪杈戦」鐩俊鎭娇鐢�
+ * @param projectId
+ * @return
+ */
+ @GetMapping(path = "getProject")
+ @SsoAop()
+ public BaseResponse<VoProjectDetail> getProject(@RequestParam Long projectId) {
+ if(projectId == null) {
+ return BaseResponseUtils.buildErrorMsg("椤圭洰ID涓嶈兘涓虹┖");
+ }
+
+ Map map_result = projectSv.getProjectDetail(projectId);
+ if(map_result.get("success").equals(false)) {
+ return BaseResponseUtils.buildErrorMsg(map_result.get("msg").toString());
+ }
+ return BaseResponseUtils.buildSuccess(map_result.get("content")) ;
+ }
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/ProjectSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/ProjectSv.java
index adad9dc..0e913ac 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/ProjectSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/ProjectSv.java
@@ -2,16 +2,24 @@
import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.daoIr.IrProjectGroupMapper;
import com.dy.pipIrrGlobal.daoIr.IrProjectMapper;
import com.dy.pipIrrGlobal.pojoIr.IrProject;
+import com.dy.pipIrrGlobal.pojoIr.IrProjectGroup;
import com.dy.pipIrrGlobal.voIr.VoProject;
+import com.dy.pipIrrGlobal.voIr.VoProjectDetail;
import com.dy.pipIrrGlobal.voIr.VoProjectOne;
+import com.dy.pipIrrGlobal.voIr.VoProjectSimple;
+import com.dy.pipIrrIrrigate.project.dto.IrrigateProject;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.common.utils.PojoUtils;
+import org.springframework.aop.framework.AopContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -27,9 +35,11 @@
@Autowired
private IrProjectMapper irProjectMapper;
+ @Autowired
+ private IrProjectGroupMapper irProjectGroupMapper;
+
/**
- * 娣诲姞椤圭洰
- *
+ * 娣诲姞椤圭洰锛屾棫鐗堟湰锛屽師鍒欎笂搴熷純
* @param po
* @return
*/
@@ -62,8 +72,121 @@
}
/**
- * 鍒犻櫎椤圭洰
- *
+ * 娣诲姞椤圭洰锛岀洰鍓嶄娇鐢�
+ * @param po
+ * @return
+ */
+ @Transactional(rollbackFor = Exception.class)
+ public Map addIrrigateProject(IrrigateProject po) {
+ String projectName = po.getProjectName();
+ String irrigateGroups = po.getIrrigateGroups();
+ Long operatorId = po.getOperatorId();
+
+ IrProject irProject = new IrProject();
+ irProject.setProjectName(projectName);
+ irProject.setProjectState((byte)1);
+ irProject.setOperator(operatorId);
+ irProject.setOperateTime(new Date());
+ irProject.setDeleted((byte)0);
+ irProjectMapper.insert(irProject);
+ Long projectId = irProject.getId();
+ if(projectId == null) {
+ Map map = new HashMap<>();
+ map.put("success", false);
+ map.put("msg", "鍒涘缓鐏屾簤椤圭洰澶辫触");
+ map.put("content", null);
+ return map;
+ }
+
+ String[] irrigateGroupArr = irrigateGroups.split(",");
+ Integer sort = 1;
+ for(String irrigateGroupId : irrigateGroupArr) {
+ String trimmed = irrigateGroupId.trim();
+ if(trimmed.isEmpty()) {
+ continue;
+ }
+ try {
+ Long irrigateGroupIdLong = Long.parseLong(trimmed);
+ IrProjectGroup irProjectGroup = new IrProjectGroup();
+ irProjectGroup.setProjectId(projectId);
+ irProjectGroup.setGroupId(irrigateGroupIdLong);
+ irProjectGroup.setSort(sort++);
+ irProjectGroupMapper.insert(irProjectGroup);
+ } catch (NumberFormatException e) {
+ Map map = new HashMap<>();
+ map.put("success", false);
+ map.put("msg", "鐏屾簤缁処D鏍煎紡閿欒");
+ map.put("content", null);
+ return map;
+ }
+ }
+ Map map = new HashMap<>();
+ map.put("success", true);
+ map.put("msg", "娣诲姞鐏屾簤椤圭洰鎴愬姛");
+ map.put("content", null);
+ return map;
+ }
+
+ /**
+ * 鍒犻櫎鐏屾簤椤圭洰锛岀洰鍓嶄娇鐢�
+ * @param projectId
+ * @return
+ */
+ @Transactional(rollbackFor = Exception.class)
+ public Map deleteIrrigateProject(Long projectId) {
+ try {
+ irProjectGroupMapper.unbindGroup(projectId);
+ irProjectMapper.deleteByPrimaryKey(projectId);
+
+ Map map = new HashMap<>();
+ map.put("success", true);
+ map.put("msg", "鐏屾簤椤圭洰鍒犻櫎鎴愬姛");
+ map.put("content", null);
+ return map;
+ } catch (Exception e) {
+ Map map = new HashMap<>();
+ map.put("success", false);
+ map.put("msg", "鐏屾簤椤圭洰鍒犻櫎澶辫触");
+ map.put("content", null);
+ return map;
+ }
+ }
+
+ /**
+ * 淇敼鐏屾簤椤圭洰锛岀洰鍓嶄娇鐢�
+ * @param po
+ * @return
+ */
+ @Transactional(rollbackFor = Exception.class)
+ public Map updateIrrigateProject(IrrigateProject po) {
+ Long projectId = po.getProjectId();
+ Map map_deleteProject = ((ProjectSv) AopContext.currentProxy()).deleteIrrigateProject(projectId);
+ if(map_deleteProject.get("success").equals(false)) {
+ Map map = new HashMap<>();
+ map.put("success", false);
+ map.put("msg", map_deleteProject.get("msg").toString());
+ map.put("content", null);
+ return map;
+ }
+
+ Map map_addProject = ((ProjectSv) AopContext.currentProxy()).addIrrigateProject(po);
+ if(map_addProject.get("success").equals(false)) {
+ Map map = new HashMap<>();
+ map.put("success", false);
+ map.put("msg", map_addProject.get("msg").toString());
+ map.put("content", null);
+ return map;
+ }
+
+ Map map = new HashMap<>();
+ map.put("success", true);
+ map.put("msg", "淇敼鐏屾簤椤圭洰鎴愬姛");
+ map.put("content", null);
+ return map;
+ }
+
+ /**
+ * 鍒犻櫎椤圭洰锛屾棫鐗堟湰锛屽師鍒欎笂搴熷純
* @param id
*/
public Integer deleteProject(Long id) {
@@ -131,7 +254,7 @@
}
/**
- * 鍒嗛〉鏌ヨ椤圭洰
+ * 鍒嗛〉鏌ヨ椤圭洰锛屾棫鐗堟湰锛屽師鍒欎笂搴熷純
* @param queryVo
* @return
*/
@@ -146,4 +269,43 @@
rsVo.obj = irProjectMapper.getProjects(params);
return rsVo;
}
+
+ /**
+ * 鍒嗛〉鏌ヨ椤圭洰锛屾柊鐗堟湰锛岀洰鍓嶄娇鐢�
+ * @param queryVo
+ * @return
+ */
+ public QueryResultVo<List<VoProjectSimple>> getSimpleProjects(QueryVo queryVo) {
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
+ Long itemTotal = irProjectMapper.getSimpleProjectsCount(params);
+
+ QueryResultVo<List<VoProjectSimple>> rsVo = new QueryResultVo<>();
+ rsVo.pageSize = queryVo.pageSize;
+ rsVo.pageCurr = queryVo.pageCurr;
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = irProjectMapper.getSimpleProjects(params);
+ return rsVo;
+ }
+
+ /**
+ * 鏍规嵁椤圭洰Id鑾峰彇椤圭洰璇︽儏锛岀紪杈戦」鐩俊鎭娇鐢�
+ * @param projectId
+ * @return
+ */
+ public Map getProjectDetail(Long projectId) {
+ try {
+ VoProjectDetail voProjectDetail = irProjectMapper.getProjectDetail(projectId);
+ Map map = new HashMap<>();
+ map.put("success", true);
+ map.put("msg", "鑾峰彇椤圭洰璇︽儏鎴愬姛");
+ map.put("content", voProjectDetail);
+ return map;
+ } catch (Exception e) {
+ Map map = new HashMap<>();
+ map.put("success", false);
+ map.put("msg", "鑾峰彇椤圭洰璇︽儏澶辫触");
+ map.put("content", null);
+ return map;
+ }
+ }
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/dto/IrrigateProject.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/dto/IrrigateProject.java
new file mode 100644
index 0000000..6c44efe
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/dto/IrrigateProject.java
@@ -0,0 +1,40 @@
+package com.dy.pipIrrIrrigate.project.dto;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2025-03-27 15:09
+ * @LastEditTime 2025-03-27 15:09
+ * @Description 鐏屾簤椤圭洰瀹炰綋绫伙紝娣诲姞椤圭洰浣跨敤
+ */
+
+@Data
+public class IrrigateProject {
+ public static final long serialVersionUID = 202503271510001L;
+
+ /**
+ * 椤圭洰ID锛屼慨鏀归」鐩俊鎭椂闇�瑕佷紶鍏�
+ */
+ private Long projectId;
+
+ /**
+ * 椤圭洰鍚嶇О
+ */
+ @NotBlank(message = "椤圭洰鍚嶇О涓嶈兘涓虹┖")
+ private String projectName;
+
+ /**
+ * 杞亴缁勫垪琛�
+ */
+ @NotBlank(message = "椤圭洰蹇呴』鍖呭惈杞亴缁�")
+ private String irrigateGroups;
+
+ /**
+ * 鎿嶄綔鍛業D
+ */
+ @NotNull(message = "鎿嶄綔鍛業D涓嶈兘涓虹┖")
+ private Long operatorId;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/PipIrrRemoteApplication.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/PipIrrRemoteApplication.java
index e0c3ded..3992ced 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/PipIrrRemoteApplication.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/PipIrrRemoteApplication.java
@@ -29,7 +29,8 @@
"com.dy.pipIrrGlobal.daoBa",
"com.dy.pipIrrGlobal.daoFi",
"com.dy.pipIrrGlobal.daoAllRound",
- "com.dy.pipIrrGlobal.daoLargeScreen"
+ "com.dy.pipIrrGlobal.daoLargeScreen",
+ "com.dy.pipIrrGlobal.daoIr"
})
public class PipIrrRemoteApplication {
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 2e03d8f..e60cbae 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
@@ -60,6 +60,7 @@
return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
}
+ Long projectId = planAndSchedule.getProjectId();
Long operatorId = planAndSchedule.getOperatorId();
Byte startupMode = planAndSchedule.getStartupMode();
Date planStartTime = planAndSchedule.getPlanStartTime();;
@@ -68,6 +69,20 @@
Integer duration = 0;
for(IrrigateSchedule schedule : planAndSchedule.getSchedules()){
duration = duration + schedule.getDuration();
+ }
+
+ if(startupMode == 2){
+ if(planStartTime == null) {
+ return BaseResponseUtils.buildErrorMsg("鑷姩鍚姩妯″紡蹇呴』鎸囧畾璁″垝鍚姩鏃堕棿");
+ }
+
+ LocalDateTime startTime = planStartTime.toInstant().atZone(ZoneId.systemDefault()) .toLocalDateTime();
+ LocalDateTime currentTime = LocalDateTime.now();
+ currentTime = currentTime.plusHours(8);
+
+ if(!startTime.isAfter(currentTime)) {
+ return BaseResponseUtils.buildErrorMsg("鍚姩鏃堕棿涓嶈兘鍦�8灏忔椂涔嬪唴");
+ }
}
//if(startupMode == 1){
@@ -80,6 +95,7 @@
//planStopTime = Date.from(stopTime.atZone(ZoneId.systemDefault()).toInstant());
IrIrrigatePlan plan = new IrIrrigatePlan();
+ plan.setProjectId(projectId);
plan.setPlanName(planAndSchedule.getPlanName());
plan.setStartupMode(startupMode);
plan.setPlanStartTime(planStartTime);
@@ -208,7 +224,9 @@
planStartTime = new Date();
}
LocalDateTime startTime = planStartTime.toInstant().atZone(ZoneId.systemDefault()) .toLocalDateTime();
- startTime = startTime.plusMinutes(5);
+ if(startupMode == 1){
+ startTime = startTime.plusMinutes(5);
+ }
planStartTime = Date.from(startTime.atZone(ZoneId.systemDefault()).toInstant());
LocalDateTime stopTime = startTime.plusMinutes(duration);
planStopTime = Date.from(stopTime.atZone(ZoneId.systemDefault()).toInstant());
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/dto/IrrigatePlan.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/dto/IrrigatePlan.java
index 7327f5b..c7fa0f7 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/dto/IrrigatePlan.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/dto/IrrigatePlan.java
@@ -18,6 +18,11 @@
public static final long serialVersionUID = 202502201511001L;
/**
+ * 椤圭洰ID
+ */
+ private Long projectId;
+
+ /**
* 璁″垝鍚嶇О
*/
@NotBlank(message = "璁″垝鍚嶇О涓嶈兘涓虹┖")
--
Gitblit v1.8.0