From 2ac948f13f9af6963bccb99ea9403f5cd934a617 Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期三, 22 五月 2024 17:02:07 +0800
Subject: [PATCH] 田间灌溉项目管理 轮灌组 实现创建、删除、查一个、分页查、修改、批量删、绑定灌溉单元、移除灌溉单元接口

---
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateGroupMapper.java                        |   50 ++
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrGroupUnitMapper.xml                                           |   91 +++++
 pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupSv.java   |  135 +++++++
 pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/QueryVo.java           |   26 +
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrGroupUnitMapper.java                            |   28 +
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrGroupUnit.java                                 |   77 ++++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigateGroup.java                             |   84 ++++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoGroup.java                                       |   51 ++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoGroupOne.java                                    |   51 ++
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml                                       |  172 +++++++++
 pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupCtrl.java |  301 ++++++++++++++++
 11 files changed, 1,066 insertions(+), 0 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrGroupUnitMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrGroupUnitMapper.java
new file mode 100644
index 0000000..5ec4a32
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrGroupUnitMapper.java
@@ -0,0 +1,28 @@
+package com.dy.pipIrrGlobal.daoIr;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dy.pipIrrGlobal.pojoIr.IrGroupUnit;
+import com.dy.pipIrrGlobal.pojoIr.IrIrrigateGroup;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/5/22  13:41
+ * @LastEditTime :2024/5/22  13:41
+ * @Description
+ */
+@Mapper
+public interface IrGroupUnitMapper extends BaseMapper<IrGroupUnit> {
+    //澧�
+    int insertSelective(IrGroupUnit record);
+
+    //鍒�
+    int deleteLogicById(Long id);
+
+    //鍒燽y unitId groupId
+    int deleteByUnitIdGroupId(IrGroupUnit record);
+    //鍒燽y unitId
+    int deleteByUnitId(Long unitId);
+    //鍒燽y  groupId
+    int deleteByGroupId(Long groupId);
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateGroupMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateGroupMapper.java
new file mode 100644
index 0000000..744862d
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateGroupMapper.java
@@ -0,0 +1,50 @@
+package com.dy.pipIrrGlobal.daoIr;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dy.pipIrrGlobal.pojoIr.IrIrrigateGroup;
+import com.dy.pipIrrGlobal.pojoIr.IrIrrigateUnit;
+import com.dy.pipIrrGlobal.voIr.VoGroup;
+import com.dy.pipIrrGlobal.voIr.VoGroupOne;
+import com.dy.pipIrrGlobal.voIr.VoUnit;
+import com.dy.pipIrrGlobal.voIr.VoUnitOne;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/5/21  15:32
+ * @LastEditTime :2024/5/21  15:32
+ * @Description
+ */
+@Mapper
+public interface IrIrrigateGroupMapper extends BaseMapper<IrIrrigateGroup> {
+    //澧�
+    int insertSelective(IrIrrigateGroup record);
+
+    //鍒�
+    int deleteLogicById(Long id);
+
+    //鏀�
+    int updateByPrimaryKeySelective(IrIrrigateGroup record);
+
+    //鏌ヤ竴涓�
+    VoGroupOne selectById(Long id);
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍙栨按鍙h褰曟暟
+     *
+     * @param params
+     * @return
+     */
+    Long getRecordCount(Map<?, ?> params);
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍙栨按鍙h褰�
+     *
+     * @param params
+     * @return
+     */
+    List<VoGroup> getIrrigateGroups(Map<?, ?> params);
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrGroupUnit.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrGroupUnit.java
new file mode 100644
index 0000000..766d3db
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrGroupUnit.java
@@ -0,0 +1,77 @@
+package com.dy.pipIrrGlobal.pojoIr;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dy.common.po.BaseEntity;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotNull;
+import lombok.*;
+
+import java.util.Date;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/5/22  13:43
+ * @LastEditTime :2024/5/22  13:43
+ * @Description
+ */
+/**
+ * 杞亴缁勭亴婧夊崟鍏冧腑闂磋〃
+ */
+
+@TableName(value="ir_group_unit", autoResultMap = true)
+@Data
+@Builder
+@ToString
+@NoArgsConstructor
+@AllArgsConstructor
+@Schema(name = "杞亴缁勭亴婧夊崟鍏冧腑闂磋〃瀹炰綋")
+public class IrGroupUnit implements BaseEntity {
+
+    public static final long serialVersionUID = 202405221354001L;
+
+    /**
+     * 涓婚敭
+     */
+    @JSONField(serializeUsing= ObjectWriterImplToString.class)
+    @TableId(type = IdType.INPUT)
+    @Schema(description = "瀹炰綋id", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    private Long id;
+
+    /**
+     * 杞亴缁処D
+     */
+    @Schema(description = "杞亴缁処D", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotNull(message = "杞亴缁処D涓嶈兘涓虹┖")
+    private Long groupId;
+
+    /**
+     * 鐏屾簤鍗曞厓ID
+     */
+    @Schema(description = "鐏屾簤鍗曞厓ID", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotNull(message = "鐏屾簤鍗曞厓ID涓嶈兘涓虹┖")
+    private Long unitId;
+
+    /**
+     * 鎿嶄綔浜篒D
+     */
+    @Schema(description = "鎿嶄綔浜篒D", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    @NotNull(message = "鎿嶄綔浜篒D涓嶈兘涓虹┖")
+    private Long operator;
+
+    /**
+     * 鎿嶄綔鏃堕棿
+     */
+    @Schema(description = "鎿嶄綔鏃堕棿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    private Date operateDt;
+
+
+    /**
+     * 閫昏緫鍒犻櫎鏍囪瘑;0-鏈垹闄わ紝1-鍒犻櫎
+     */
+    @Schema(description = "鍒犻櫎鏍囪瘑", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    private Byte deleted;
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigateGroup.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigateGroup.java
new file mode 100644
index 0000000..9c098d3
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoIr/IrIrrigateGroup.java
@@ -0,0 +1,84 @@
+package com.dy.pipIrrGlobal.pojoIr;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dy.common.po.BaseEntity;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotNull;
+import lombok.*;
+import org.apache.logging.log4j.core.config.plugins.validation.constraints.NotBlank;
+
+import java.util.Date;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/5/21  15:34
+ * @LastEditTime :2024/5/21  15:34
+ * @Description
+ */
+/**
+ * 杞亴缁勮〃
+ */
+
+@TableName(value="ir_irrigate_group", autoResultMap = true)
+@Data
+@Builder
+@ToString
+@NoArgsConstructor
+@AllArgsConstructor
+@Schema(name = "杞亴缁勫疄浣�")
+public class IrIrrigateGroup implements BaseEntity {
+
+    public static final long serialVersionUID = 202405211534001L;
+
+    /**
+     * 涓婚敭
+     */
+    @JSONField(serializeUsing= ObjectWriterImplToString.class)
+    @TableId(type = IdType.INPUT)
+    @Schema(description = "瀹炰綋id", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    private Long id;
+
+    /**
+     * 杞亴缁勭紪鐮�
+     */
+    @Schema(description = "杞亴缁勭紪鐮�", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotBlank(message = "杞亴缁勭紪鐮佷笉鑳戒负绌�")
+    private String groupCode;
+
+    /**
+     * 椤圭洰ID
+     */
+    @Schema(description = "椤圭洰ID", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotNull(message = "椤圭洰ID涓嶈兘涓虹┖")
+    private Long projectId;
+
+    /**
+     * 澶囨敞
+     */
+    @Schema(description = "澶囨敞", requiredMode = Schema.RequiredMode.REQUIRED)
+    private String remarks;
+
+    /**
+     * 鎿嶄綔浜篒D
+     */
+    @Schema(description = "鎿嶄綔浜篒D", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    @NotNull(message = "鎿嶄綔浜篒D涓嶈兘涓虹┖")
+    private Long operator;
+
+    /**
+     * 鎿嶄綔鏃堕棿
+     */
+    @Schema(description = "鎿嶄綔鏃堕棿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    private Date operateDt;
+
+
+    /**
+     * 閫昏緫鍒犻櫎鏍囪瘑;0-鏈垹闄わ紝1-鍒犻櫎
+     */
+    @Schema(description = "鍒犻櫎鏍囪瘑", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    private Byte deleted;
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoGroup.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoGroup.java
new file mode 100644
index 0000000..506cd9a
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoGroup.java
@@ -0,0 +1,51 @@
+package com.dy.pipIrrGlobal.voIr;
+
+import com.dy.common.po.BaseEntity;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/5/21  16:34
+ * @LastEditTime :2024/5/21  16:34
+ * @Description
+ */
+@Data
+@Schema(name = "杞亴缁勮鍥�")
+public class VoGroup  implements BaseEntity {
+    @Schema(description = "鎵�灞為」鐩悕绉�")
+    public String projectName;
+
+    @Schema(description = "杞亴缁勭紪鐮�")
+    private String groupCode;
+
+    @Schema(description = "鐏屾簤鍗曞厓鏁伴噺")
+    private Integer itemCount;
+
+    @Schema(description = "杞亴缁処D")
+    private String id;
+
+
+    @Schema(description = "澶囨敞")
+    private String remarks;
+
+    @Schema(description = "鎵�灞為」鐩甀d")
+    public String projectId;
+
+    /**
+     * 鎿嶄綔浜哄悕瀛�
+     */
+    @Schema(description = "鎿嶄綔浜哄悕瀛�")
+    private String operatorName;
+
+    @Schema(description = "鎿嶄綔浜篒d")
+    private String operator;
+
+    /**
+     * 鎿嶄綔鏃堕棿
+     */
+    @Schema(description = "鎿嶄綔鏃堕棿")
+    private Date operateDt;
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoGroupOne.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoGroupOne.java
new file mode 100644
index 0000000..6af70a6
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoGroupOne.java
@@ -0,0 +1,51 @@
+package com.dy.pipIrrGlobal.voIr;
+
+import com.dy.common.po.BaseEntity;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/5/21  16:34
+ * @LastEditTime :2024/5/21  16:34
+ * @Description
+ */
+@Data
+@Schema(name = "杞亴缁勮鍥�(鏌ヤ竴涓�)")
+public class VoGroupOne  implements BaseEntity {
+    @Schema(description = "鎵�灞為」鐩悕绉�")
+    public String projectName;
+
+    @Schema(description = "杞亴缁勭紪鐮�")
+    private String groupCode;
+
+    @Schema(description = "鐏屾簤鍗曞厓鏁伴噺")
+    private Integer itemCount;
+
+    @Schema(description = "杞亴缁処D")
+    private String id;
+
+
+    @Schema(description = "澶囨敞")
+    private String remarks;
+
+    @Schema(description = "鎵�灞為」鐩甀d")
+    public String projectId;
+
+    /**
+     * 鎿嶄綔浜哄悕瀛�
+     */
+    @Schema(description = "鎿嶄綔浜哄悕瀛�")
+    private String operatorName;
+
+    @Schema(description = "鎿嶄綔浜篒d")
+    private String operator;
+
+    /**
+     * 鎿嶄綔鏃堕棿
+     */
+    @Schema(description = "鎿嶄綔鏃堕棿")
+    private Date operateDt;
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrGroupUnitMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrGroupUnitMapper.xml
new file mode 100644
index 0000000..4fa6d92
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrGroupUnitMapper.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dy.pipIrrGlobal.daoIr.IrGroupUnitMapper">
+    <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoIr.IrGroupUnit">
+        <!--@mbg.generated-->
+        <!--@Table ir_group_unit-->
+        <id column="id" jdbcType="BIGINT" property="id" />
+        <result column="group_id" jdbcType="BIGINT" property="groupId" />
+        <result column="unit_id" jdbcType="BIGINT" property="unitId" />
+        <result column="operator" jdbcType="BIGINT" property="operator" />
+        <result column="operate_time" jdbcType="TIMESTAMP" property="operateDt" />
+        <result column="deleted" jdbcType="TINYINT" property="deleted" />
+    </resultMap>
+    <sql id="Base_Column_List">
+        <!--@mbg.generated-->
+        id, group_id, unit_id, `operator`,
+        operate_time, deleted
+    </sql>
+
+    <!--娣诲姞-->
+    <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoIr.IrGroupUnit">
+        <!--@mbg.generated-->
+        insert into ir_group_unit
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">
+                id,
+            </if>
+            <if test="groupId != null">
+                group_id,
+            </if>
+            <if test="unitId != null">
+                unit_id,
+            </if>
+            <if test="operator != null">
+                `operator`,
+            </if>
+            <if test="operateDt != null">
+                operate_time,
+            </if>
+            <if test="deleted != null">
+                deleted,
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">
+                #{id,jdbcType=BIGINT},
+            </if>
+            <if test="groupId != null">
+                #{groupId,jdbcType=BIGINT},
+            </if>
+            <if test="unitId != null">
+                #{unitId,jdbcType=BIGINT},
+            </if>
+            <if test="operator != null">
+                #{operator,jdbcType=BIGINT},
+            </if>
+            <if test="operateDt != null">
+                #{operateDt,jdbcType=TIMESTAMP},
+            </if>
+            <if test="deleted != null">
+                #{deleted,jdbcType=TINYINT},
+            </if>
+        </trim>
+    </insert>
+
+    <!--閫昏緫鍒犻櫎-->
+    <delete id="deleteLogicById" parameterType="java.lang.Long">
+        <!--@mbg.generated-->
+        update ir_group_unit
+        set deleted = 1
+        where id = #{id,jdbcType=BIGINT}
+    </delete>
+
+    <delete id="deleteByUnitIdGroupId" parameterType="com.dy.pipIrrGlobal.pojoIr.IrGroupUnit">
+        update ir_group_unit
+        set deleted = 1,operator = #{operator,jdbcType=BIGINT},operate_time = #{operateDt,jdbcType=TIMESTAMP}
+        where group_id = #{groupId,jdbcType=BIGINT} and unit_id = #{unitId,jdbcType=BIGINT}
+    </delete>
+
+    <delete id="deleteByUnitId">
+        update ir_group_unit
+        set deleted = 1
+        where unit_id = #{unitId,jdbcType=BIGINT}
+    </delete>
+
+    <delete id="deleteByGroupId">
+        update ir_group_unit
+        set deleted = 1
+        where group_id = #{groupId,jdbcType=BIGINT}
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml
new file mode 100644
index 0000000..fa78683
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dy.pipIrrGlobal.daoIr.IrIrrigateGroupMapper">
+    <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoIr.IrIrrigateGroup">
+        <!--@mbg.generated-->
+        <!--@Table ir_irrigate_group-->
+        <id column="id" jdbcType="BIGINT" property="id" />
+        <result column="project_id" jdbcType="BIGINT" property="projectId" />
+        <result column="group_code" jdbcType="VARCHAR" property="groupCode" />
+        <result column="remarks" jdbcType="VARCHAR" property="remarks" />
+        <result column="operator" jdbcType="BIGINT" property="operator" />
+        <result column="operate_time" jdbcType="TIMESTAMP" property="operateDt" />
+        <result column="deleted" jdbcType="TINYINT" property="deleted" />
+    </resultMap>
+    <sql id="Base_Column_List">
+        <!--@mbg.generated-->
+        id, project_id, group_code, remarks, `operator`,
+        operate_time, deleted
+    </sql>
+    <!--娣诲姞-->
+    <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoIr.IrIrrigateGroup">
+        <!--@mbg.generated-->
+        insert into ir_irrigate_group
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">
+                id,
+            </if>
+            <if test="projectId != null">
+                project_id,
+            </if>
+            <if test="groupCode != null">
+                group_code,
+            </if>
+            <if test="remarks != null">
+                remarks,
+            </if>
+            <if test="operator != null">
+                `operator`,
+            </if>
+            <if test="operateDt != null">
+                operate_time,
+            </if>
+            <if test="deleted != null">
+                deleted,
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">
+                #{id,jdbcType=BIGINT},
+            </if>
+            <if test="projectId != null">
+                #{projectId,jdbcType=BIGINT},
+            </if>
+            <if test="groupCode != null">
+                #{groupCode,jdbcType=VARCHAR},
+            </if>
+            <if test="remarks != null">
+                #{remarks,jdbcType=VARCHAR},
+            </if>
+            <if test="operator != null">
+                #{operator,jdbcType=BIGINT},
+            </if>
+            <if test="operateDt != null">
+                #{operateDt,jdbcType=TIMESTAMP},
+            </if>
+            <if test="deleted != null">
+                #{deleted,jdbcType=TINYINT},
+            </if>
+        </trim>
+    </insert>
+
+    <!--閫昏緫鍒犻櫎-->
+    <delete id="deleteLogicById" parameterType="java.lang.Long">
+        <!--@mbg.generated-->
+        update ir_irrigate_group
+        set deleted = 1
+        where id = #{id,jdbcType=BIGINT}
+    </delete>
+
+    <!--淇敼涓�涓疆缃愮粍-->
+    <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoIr.IrIrrigateGroup">
+        update ir_irrigate_group
+        <set>
+            <if test="projectId != null">
+                project_id = #{projectId,jdbcType=BIGINT},
+            </if>
+            <if test="groupCode != null">
+                group_code = #{groupCode,jdbcType=VARCHAR},
+            </if>
+            <if test="remarks != null">
+                remarks = #{remarks,jdbcType=VARCHAR},
+            </if>
+            <if test="operator != null">
+                operator = #{operator,jdbcType=BIGINT},
+            </if>
+            <if test="operateDt != null">
+                operate_time = #{operateDt,jdbcType=TIMESTAMP},
+            </if>
+            <if test="deleted != null">
+                deleted = #{deleted,jdbcType=TINYINT},
+            </if>
+        </set>
+        where id = #{id,jdbcType=BIGINT}
+    </update>
+
+    <!--鏌ヤ竴涓疆缃愮粍-->
+    <select id="selectById" resultType="com.dy.pipIrrGlobal.voIr.VoGroupOne">
+        select
+        CAST(pro.id AS char)AS projectId,
+        pro.project_name  AS  projectName,
+        CAST(gro.id AS char)AS id,
+        CAST(gro.operator AS char)AS operator,
+        cli.name         AS operatorName,
+        gro.group_code   AS groupCode,
+        COUNT(gu.group_id)   AS itemCount,
+        gro.remarks,
+        gro.operate_time  AS  operateDt
+        from ir_irrigate_group gro
+        left join ir_project pro on pro.id = gro.project_id
+        left join se_client cli on cli.id = gro.operator
+        left join ir_group_unit gu on gu.group_id = gro.id
+        where gro.id = #{id,jdbcType=BIGINT} and gro.deleted = 0 and gu.deleted = 0 and pro.deleted = 0
+    </select>
+
+    <!--鍒嗛〉鏌ヨ疆鐏岀粍-->
+    <select id="getIrrigateGroups" resultType="com.dy.pipIrrGlobal.voIr.VoGroup">
+        SELECT
+        CAST(pro.id AS char)AS projectId,
+        pro.project_name  AS  projectName,
+        CAST(gro.id AS char)AS id,
+        CAST(gro.operator AS char)AS operator,
+        cli.name         AS operatorName,
+        gro.group_code   AS groupCode,
+        COUNT(gu.group_id)   AS itemCount,
+        gro.remarks,
+        gro.operate_time  AS  operateDt
+        from ir_irrigate_group gro
+        left join ir_project pro on pro.id = gro.project_id
+        left join se_client cli on cli.id = gro.operator
+        left join ir_group_unit gu on gu.group_id = gro.id
+        <where>
+            gro.deleted = 0 and gu.deleted = 0 and pro.deleted = 0
+            <if test="projectName != null and projectName != ''">
+                AND pro.project_name LIKE CONCAT('%', #{projectName}, '%')
+            </if>
+        <if test="groupCode != null and groupCode != ''">
+            AND gro.group_code = #{groupCode}
+        </if>
+        </where>
+        ORDER BY gro.operate_time DESC
+        <if test="pageCurr != null and pageSize != null">
+            LIMIT ${(pageCurr-1)*pageSize}, ${pageSize}
+        </if>
+    </select>
+    <!--鍒嗛〉鏌ヨ疆鐏岀粍璁板綍鏁�-->
+    <select id="getRecordCount" resultType="java.lang.Long">
+        SELECT COUNT(*) AS recordCount
+        from ir_irrigate_group gro
+        left join ir_project pro on pro.id = gro.project_id
+        left join se_client cli on cli.id = gro.operator
+        left join ir_group_unit gu on gu.group_id = gro.id
+        <where>
+            gro.deleted = 0 and gu.deleted = 0 and pro.deleted = 0
+            <if test="projectName != null and projectName != ''">
+                AND pro.project_name LIKE CONCAT('%', #{projectName}, '%')
+            </if>
+            <if test="groupCode != null and groupCode != ''">
+                AND gro.group_code = #{groupCode}
+            </if>
+        </where>
+    </select>
+</mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupCtrl.java
new file mode 100644
index 0000000..092c73d
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupCtrl.java
@@ -0,0 +1,301 @@
+package com.dy.pipIrrIrrigate.irrigateGroup;
+
+import com.dy.common.aop.SsoAop;
+import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.common.webUtil.ResultCodeMsg;
+import com.dy.pipIrrGlobal.pojoIr.IrGroupUnit;
+import com.dy.pipIrrGlobal.pojoIr.IrIrrigateGroup;
+import com.dy.pipIrrGlobal.pojoIr.IrIrrigateUnit;
+import com.dy.pipIrrGlobal.voIr.VoGroup;
+import com.dy.pipIrrGlobal.voIr.VoGroupOne;
+import com.dy.pipIrrGlobal.voIr.VoUnit;
+import com.dy.pipIrrGlobal.voIr.VoUnitOne;
+import com.dy.pipIrrGlobal.voSe.VoActiveCard;
+import com.dy.pipIrrIrrigate.irrigateUnit.IrrigateUnitSv;
+import com.dy.pipIrrIrrigate.irrigateGroup.QueryVo;
+import com.dy.pipIrrIrrigate.result.IrrigateResultCode;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.media.Content;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.responses.ApiResponse;
+import io.swagger.v3.oas.annotations.responses.ApiResponses;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/5/21  16:19
+ * @LastEditTime :2024/5/21  16:19
+ * @Description
+ */
+@Slf4j
+@Tag(name = "杞亴缁�", description = "杞亴缁�")
+@RestController
+@RequestMapping(path = "group")
+@RequiredArgsConstructor
+public class IrrigateGroupCtrl {
+    @Autowired
+    private IrrigateGroupSv irrigateGroupSv;
+
+    /**
+     * 鍒涘缓杞亴缁�
+     *
+     * @param po            杞亴缁勫疄浣撳璞�
+     * @param bindingResult
+     * @return 娣诲姞鏄惁鎴愬姛
+     */
+    @Operation(summary = "鍒涘缓杞亴缁勮褰�", description = "鍒涘缓杞亴缁勮褰�")
+    @ApiResponses(value = {
+            @ApiResponse(
+                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+                    description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
+                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+                            schema = @Schema(implementation = Boolean.class))}
+            )
+    })
+    @PostMapping(path = "add", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @Transactional(rollbackFor = Exception.class)
+    @SsoAop()
+    public BaseResponse<Boolean> add(@RequestBody @Valid IrIrrigateGroup po, BindingResult bindingResult) {
+        if (bindingResult != null && bindingResult.hasErrors()) {
+            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+        try {
+            Integer rec = Optional.ofNullable(irrigateGroupSv.addIrrigateGroup(po)).orElse(0);
+            if (rec == 0) {
+                return BaseResponseUtils.buildFail(IrrigateResultCode.ADD_PROJECT_FAIL.getMessage());
+            }
+        } catch (Exception e) {
+            log.error("鍒涘缓杞亴缁勫紓甯�", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+        return BaseResponseUtils.buildSuccess(true);
+    }
+
+    /**
+     * 閫昏緫鍒犻櫎鐏屾簤鍗曞厓
+     * @param
+     * @return
+     */
+    @Operation(summary = "閫昏緫鍒犻櫎杞亴缁�", description = "閫昏緫鍒犻櫎杞亴缁�")
+    @ApiResponses(value = {
+            @ApiResponse(
+                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+                    description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
+                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+                            schema = @Schema(implementation = Boolean.class))}
+            )
+    })
+    @GetMapping(path = "delete")
+    @Transactional(rollbackFor = Exception.class)
+    @SsoAop()
+    public BaseResponse<Boolean> delete( Long id) {
+        if (id == null ) {
+            BaseResponseUtils.buildFail(IrrigateResultCode.PLEASE_INPUT_PROJECT_ID.getMessage());
+        }
+//        Long groupId = Long.parseLong(map.get("id").toString());
+        try {
+            Integer rows = irrigateGroupSv.deleteIrrigateGroup(id);
+            if (rows == 0) {
+                return BaseResponseUtils.buildFail(IrrigateResultCode.DELETE_PROJECT_FAIL.getMessage());
+            }
+        } catch (Exception e) {
+            log.error("鍒犻櫎杞亴缁勫紓甯�", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+        return BaseResponseUtils.buildSuccess(true);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎
+     * @param groupIds
+     * @return
+     */
+    @PostMapping(path = "delete_batch", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @Transactional(rollbackFor = Exception.class)
+    @SsoAop()
+    public BaseResponse<Boolean> delete_batch(@RequestBody Map<String, List> groupIds) {
+        if (groupIds == null || groupIds.size() <= 0) {
+            BaseResponseUtils.buildFail(IrrigateResultCode.PLEASE_INPUT_PROJECT_ID.getMessage());
+        }
+        List ids = groupIds.get("groupIds");
+        for (int i = 0; i < ids.size(); i++) {
+            long groupId = Long.parseLong(ids.get(i).toString());
+            try {
+                Integer rows = irrigateGroupSv.deleteIrrigateGroup(groupId);
+                if (rows == 0) {
+                    return BaseResponseUtils.buildFail(IrrigateResultCode.DELETE_PROJECT_FAIL.getMessage());
+                }
+            } catch (Exception e) {
+                log.error("鍒犻櫎杞亴缁勫紓甯�", e);
+                return BaseResponseUtils.buildException(e.getMessage());
+            }
+        }
+        return BaseResponseUtils.buildSuccess(true);
+    }
+
+    /**
+     * 淇敼鐏屾簤鍗曞厓
+     * @param po
+     * @param bindingResult
+     * @return
+     */
+    @Operation(summary = "淇敼杞亴缁�", description = "淇敼杞亴缁�")
+    @ApiResponses(value = {
+            @ApiResponse(
+                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+                    description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
+                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+                            schema = @Schema(implementation = Boolean.class))}
+            )
+    })
+    @PostMapping(path = "update", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @Transactional(rollbackFor = Exception.class)
+    @SsoAop()
+    public BaseResponse<Boolean> update(@RequestBody @Valid IrIrrigateGroup po, BindingResult bindingResult){
+        if (bindingResult != null && bindingResult.hasErrors()) {
+            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+        try {
+            Integer rec = Optional.ofNullable(irrigateGroupSv.updateIrrigateGroup(po)).orElse(0);
+            if (rec == 0) {
+                return BaseResponseUtils.buildFail(IrrigateResultCode.UPDATE_PROJECT_FAIL.getMessage());
+            }
+        } catch (Exception e) {
+            log.error("淇敼杞亴缁勫紓甯�", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+        return BaseResponseUtils.buildSuccess(true);
+    }
+
+    /**
+     * 鑾峰彇涓�涓疆鐏岀粍
+     *
+     * @return 鑾峰彇涓�涓疆鐏岀粍
+     */
+    @Operation(summary = "鑾峰彇涓�涓疆鐏岀粍", description = "鑾峰彇涓�涓疆鐏岀粍")
+    @ApiResponses(value = {
+            @ApiResponse(
+                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+                    description = "鑾峰彇涓�涓疆鐏岀粍锛圔aseResponse.content:{}锛�",
+                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+                            schema = @Schema(implementation = IrIrrigateGroup.class))}
+            )
+    })
+    @GetMapping(path = "one")
+    @SsoAop()
+    public BaseResponse<VoGroupOne> one(@RequestParam Long id) {
+        VoGroupOne irIrrigateGroup = this.irrigateGroupSv.selectById(id);
+
+        return BaseResponseUtils.buildSuccess(irIrrigateGroup);
+
+    }
+
+    /**
+     * 鍒嗛〉鏌ヨ
+     * @param vo
+     * @return
+     */
+    @Operation(summary = "鑾峰緱涓�椤佃疆鐏岀粍璁板綍", description = "鑾峰緱涓�椤佃疆鐏岀粍璁板綍")
+    @ApiResponses(value = {
+            @ApiResponse(
+                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+                    description = "鑾峰緱涓�椤电亴婧夊崟鍏冭褰曪紙BaseResponse.content:QueryResultVo[{}]锛�",
+                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+                            schema = @Schema(implementation = VoActiveCard.class))}
+            )
+    })
+    @GetMapping(path = "some")
+    @SsoAop()
+    public BaseResponse<QueryResultVo<List<VoGroup>>> getIrrigateGroups(QueryVo vo) {
+        try {
+            QueryResultVo<List<VoGroup>> res = irrigateGroupSv.getIrrigateGroups(vo);
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鑾峰彇杞亴缁勮褰曞紓甯�", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
+
+    /**
+     * 杞亴缁勬坊鍔犵亴婧夊崟鍏�
+     *
+     * @param po            杞亴缁勭亴婧夊崟鍏冧腑闂磋〃
+     * @param bindingResult
+     * @return 娣诲姞鏄惁鎴愬姛
+     */
+    @Operation(summary = "杞亴缁勬坊鍔犵亴婧夊崟鍏�", description = "杞亴缁勬坊鍔犵亴婧夊崟鍏�")
+    @ApiResponses(value = {
+            @ApiResponse(
+                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+                    description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
+                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+                            schema = @Schema(implementation = Boolean.class))}
+            )
+    })
+    @PostMapping(path = "add_unit", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @Transactional(rollbackFor = Exception.class)
+    @SsoAop()
+    public BaseResponse<Boolean> addGroupUnit(@RequestBody @Valid IrGroupUnit po, BindingResult bindingResult) {
+        if (bindingResult != null && bindingResult.hasErrors()) {
+            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+        try {
+            Integer rec = Optional.ofNullable(irrigateGroupSv.addGroupUnit(po)).orElse(0);
+            if (rec == 0) {
+                return BaseResponseUtils.buildFail(IrrigateResultCode.ADD_PROJECT_FAIL.getMessage());
+            }
+        } catch (Exception e) {
+            log.error("杞亴缁勬坊鍔犵亴婧夊崟鍏冨紓甯�", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+        return BaseResponseUtils.buildSuccess(true);
+    }
+
+    /**
+     * 閫昏緫鍒犻櫎 杞亴缁勭Щ闄ょ亴婧夊崟鍏�
+     * @param
+     * @return
+     */
+    @Operation(summary = "杞亴缁勭Щ闄ょ亴婧夊崟鍏�", description = "杞亴缁勭Щ闄ょ亴婧夊崟鍏�")
+    @ApiResponses(value = {
+            @ApiResponse(
+                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+                    description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
+                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+                            schema = @Schema(implementation = Boolean.class))}
+            )
+    })
+    @PostMapping(path = "remove_unit")
+    @Transactional(rollbackFor = Exception.class)
+    @SsoAop()
+    public BaseResponse<Boolean> deleteGroupUnit(@RequestBody @Valid IrGroupUnit po, BindingResult bindingResult) {
+        if (bindingResult != null && bindingResult.hasErrors()) {
+            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+        try {
+            Integer rec = Optional.ofNullable(irrigateGroupSv.deleteGroupUnit(po)).orElse(0);
+            if (rec == 0) {
+                return BaseResponseUtils.buildFail(IrrigateResultCode.DELETE_PROJECT_FAIL.getMessage());
+            }
+        } catch (Exception e) {
+            log.error("杞亴缁勭Щ闄ょ亴婧夊崟鍏冨紓甯�", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+        return BaseResponseUtils.buildSuccess(true);
+    }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupSv.java
new file mode 100644
index 0000000..f776ad5
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupSv.java
@@ -0,0 +1,135 @@
+package com.dy.pipIrrIrrigate.irrigateGroup;
+
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.daoIr.IrGroupUnitMapper;
+import com.dy.pipIrrGlobal.daoIr.IrIrrigateGroupMapper;
+import com.dy.pipIrrGlobal.pojoIr.IrGroupUnit;
+import com.dy.pipIrrGlobal.pojoIr.IrIrrigateGroup;
+import com.dy.pipIrrGlobal.voIr.VoGroup;
+import com.dy.pipIrrGlobal.voIr.VoGroupOne;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.common.utils.PojoUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/5/21  15:57
+ * @LastEditTime :2024/5/21  15:57
+ * @Description
+ */
+@Slf4j
+@Service
+public class IrrigateGroupSv {
+
+    @Autowired
+    private IrIrrigateGroupMapper irIrrigateGroupMapper;
+    @Autowired
+    private IrGroupUnitMapper irGroupUnitMapper;
+
+    /**
+     * 鍒涘缓杞亴缁�
+     *
+     * @param po
+     * @return
+     */
+    public Integer addIrrigateGroup(IrIrrigateGroup po) {
+        po.setOperateDt(new Date());
+        po.setDeleted((byte) 0);
+        int rows = irIrrigateGroupMapper.insertSelective(po);
+        if (rows == 0) {
+            return 0;
+        }
+        return 1;
+    }
+
+    /**
+     * 鍒犻櫎杞亴缁�
+     *
+     * @param id
+     */
+    public Integer deleteIrrigateGroup(Long id) {
+        int rows = irIrrigateGroupMapper.deleteLogicById(id);
+        int rows1 = irGroupUnitMapper.deleteByGroupId(id);
+        if (rows == 0) {
+            return 0;
+        }
+        return 1;
+    }
+
+    /**
+     * 淇敼杞亴缁�
+     * @param po
+     * @return
+     */
+    public Integer updateIrrigateGroup(IrIrrigateGroup po){
+        po.setOperateDt(new Date());
+        int rows = irIrrigateGroupMapper.updateByPrimaryKeySelective(po);
+        if (rows == 0){
+            return 0;
+        }
+        return 1;
+    }
+
+    /**
+     * 鑾峰彇涓�涓疆鐏岀粍
+     * @param id
+     * @return
+     */
+    public VoGroupOne selectById(Long id){
+        VoGroupOne unit = irIrrigateGroupMapper.selectById(id);
+        return unit;
+    }
+
+    /**
+     * 鍒嗛〉鏌ヨ杞亴缁�
+     * @param queryVo
+     * @return
+     */
+    public QueryResultVo<List<VoGroup>> getIrrigateGroups(QueryVo queryVo){
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
+        Long itemTotal = irIrrigateGroupMapper.getRecordCount(params);
+
+        QueryResultVo<List<VoGroup>> rsVo = new QueryResultVo<>();
+        rsVo.pageSize = queryVo.pageSize;
+        rsVo.pageCurr = queryVo.pageCurr;
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = irIrrigateGroupMapper.getIrrigateGroups(params);
+        return rsVo;
+    }
+
+    /**
+     * 杞亴缁勬坊鍔犵亴婧夊崟鍏�
+     *
+     * @param po
+     * @return
+     */
+    public Integer addGroupUnit(IrGroupUnit po) {
+        po.setOperateDt(new Date());
+        po.setDeleted((byte) 0);
+        int rows = irGroupUnitMapper.insertSelective(po);
+        if (rows == 0) {
+            return 0;
+        }
+        return 1;
+    }
+
+    /**
+     * 杞亴缁勭Щ闄ょ亴婧夊崟鍏�
+     *
+     * @param po
+     * @return
+     */
+    public Integer deleteGroupUnit(IrGroupUnit po) {
+        po.setOperateDt(new Date());
+        int rows = irGroupUnitMapper.deleteByUnitIdGroupId(po);
+        if (rows == 0) {
+            return 0;
+        }
+        return 1;
+    }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/QueryVo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/QueryVo.java
new file mode 100644
index 0000000..85437aa
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/QueryVo.java
@@ -0,0 +1,26 @@
+package com.dy.pipIrrIrrigate.irrigateGroup;
+
+import com.dy.common.webUtil.QueryConditionVo;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/5/15  21:11
+ * @LastEditTime :2024/5/15  21:11
+ * @Description
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ToString(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Schema(name = "椤圭洰鏌ヨ鏉′欢")
+public class QueryVo extends QueryConditionVo {
+    @Schema(description = "椤圭洰鍚嶇О")
+    public String projectName;
+
+    @Schema(description = "杞綈缁勫悕绉�")
+    public String groupCode;
+}

--
Gitblit v1.8.0