From 43a19a4424f67c379934ed0d70e0d1b3512cd769 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期四, 27 三月 2025 09:31:44 +0800
Subject: [PATCH] 灌溉计划表中增加项目ID字段,计划列表返回值中增加项目名称,项目状态改为整数表示

---
 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-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/dto/IrrigatePlan.java |    5 +
 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 |    2 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigatePlan.java                        |    5 +
 6 files changed, 150 insertions(+), 116 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/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/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() &lt; plan_start_time, '鏈墽琛�',
-            IF(NOW() &gt;= plan_start_time AND NOW() &lt; 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() &lt; plan.plan_start_time, 2,
+            IF(NOW() &gt;= plan.plan_start_time AND NOW() &lt; plan.plan_stop_time, 3, 4)
+           )
+        ) AS planState
     FROM ir_irrigate_plan plan
-    WHERE deleted = 0 AND (plan_state = 1 OR NOW() &lt; 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() &lt; 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() &lt; plan_start_time, '鏈墽琛�',
-            IF(NOW() &gt;= plan_start_time AND NOW() &lt; 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() &lt; plan.plan_start_time, 2,
+            IF(NOW() &gt;= plan.plan_start_time AND NOW() &lt; plan.plan_stop_time, 3, 4)
+           )
+        ) AS planState
     FROM ir_irrigate_plan plan
-    WHERE deleted = 0 AND (plan_state = 2 AND NOW() &gt;= 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() &gt;= plan.plan_stop_time)
+    ORDER BY plan.plan_state DESC
   </select>
 
 </mapper>
\ No newline at end of file
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 f18a14b..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();;
@@ -94,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);
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