修改轮灌组接口、分页获取轮灌组接口、获取全部轮灌组接口、获取轮灌组详情接口
6个文件已修改
2个文件已添加
319 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateGroupMapper.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoGroupDetail.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoGroupSimple.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml 80 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrProjectMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupCtrl.java 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupSv.java 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/qo/QoGroup.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateGroupMapper.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dy.pipIrrGlobal.pojoIr.IrIrrigateGroup;
import com.dy.pipIrrGlobal.voIr.VoGroup;
import com.dy.pipIrrGlobal.voIr.VoGroupDetail;
import com.dy.pipIrrGlobal.voIr.VoGroupOne;
import com.dy.pipIrrGlobal.voIr.VoGroupSimple;
import org.apache.ibatis.annotations.Mapper;
@@ -65,4 +66,11 @@
     * @return
     */
    List<VoGroupSimple> getSimpleGroups(Map<?, ?> params);
    /**
     * 根据轮灌组ID获取轮灌组详情
     * @param groupId
     * @return
     */
    VoGroupDetail getGroupDetail(Long groupId);
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoGroupDetail.java
New file
@@ -0,0 +1,32 @@
package com.dy.pipIrrGlobal.voIr;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Data;
/**
 * @author ZhuBaoMin
 * @date 2025-03-31 17:10
 * @LastEditTime 2025-03-31 17:10
 * @Description 轮灌组详情视图对象
 */
@Data
@JsonPropertyOrder({"groupCode", "defaultDuration", "intakes"})
public class VoGroupDetail {
    public static final long serialVersionUID = 202503311711001L;
    /**
     * 轮灌组编码
     */
    private String groupCode;
    /**
     * 默认灌溉时长
     */
    private Integer defaultDuration;
    /**
     * 取水口列表
     */
    private String intakes;
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voIr/VoGroupSimple.java
@@ -25,12 +25,12 @@
    private Long groupId;
    /**
     * 轮灌组编码
     * 轮灌组名称
     */
    private String groupCode;
    /**
     * 灌溉单元数量
     * 取水口数量
     */
    private Integer intakeCount;
pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml
@@ -230,16 +230,23 @@
  <!--根据指定条件获取轮灌组记录数-->
  <select id="getSimpleGroupCount" resultType="java.lang.Long">
    SELECT COUNT(*) AS recordCount
<!--    FROM ir_irrigate_group grp-->
<!--        INNER JOIN ir_project_group pg ON pg.group_id = grp.id-->
<!--        INNER JOIN ir_project pro ON pg.project_id = pro.id-->
<!--    <where>-->
<!--      AND grp.deleted = 0-->
<!--      <if test="projectId != null and projectId != ''">-->
<!--        AND pro.id = #{projectId}-->
<!--      </if>-->
<!--      <if test="groupCode != null and groupCode != ''">-->
<!--        AND grp.group_code LIKE CONCAT('%', #{groupCode}, '%')-->
<!--      </if>-->
<!--    </where>-->
    FROM ir_irrigate_group grp
        INNER JOIN ir_project_group pg ON pg.group_id = grp.id
        INNER JOIN ir_project pro ON pg.project_id = pro.id
    <where>
      AND grp.deleted = 0
      <if test="projectId != null and projectId != ''">
        AND pro.id = #{projectId}
      </if>
      <if test="groupCode != null and groupCode != ''">
        AND grp.group_code LIKE CONCAT('%', #{groupCode}, '%')
      </if>
@@ -248,31 +255,64 @@
  <!--根据指定条件获取轮灌组列表-->
  <select id="getSimpleGroups" resultType="com.dy.pipIrrGlobal.voIr.VoGroupSimple">
<!--    SELECT-->
<!--      grp.id AS groupId,-->
<!--      grp.group_code AS groupCode,-->
<!--      (SELECT COUNT(*) FROM ir_group_intake WHERE group_id = grp.id) AS intakeCount,-->
<!--      grp.default_duration AS defaultDuration,-->
<!--      pg.sort-->
<!--    FROM ir_irrigate_group grp-->
<!--           INNER JOIN ir_project_group pg ON pg.group_id = grp.id-->
<!--           INNER JOIN ir_project pro ON pg.project_id = pro.id-->
<!--    <where>-->
<!--      AND grp.deleted = 0-->
<!--      <if test="projectId != null and projectId != ''">-->
<!--        AND pro.id = #{projectId}-->
<!--      </if>-->
<!--      <if test="groupCode != null and groupCode != ''">-->
<!--        AND grp.group_code LIKE CONCAT('%', #{groupCode}, '%')-->
<!--      </if>-->
<!--    </where>-->
<!--    ORDER BY pg.sort-->
    SELECT
      grp.id AS groupId,
      grp.group_code AS groupCode,
      (SELECT COUNT(*) FROM ir_group_intake WHERE group_id = grp.id) AS intakeCount,
      grp.default_duration AS defaultDuration,
      pg.sort
        grp.id AS groupId,
        grp.group_code AS groupCode,
        (SELECT COUNT(*) FROM ir_group_intake WHERE group_id = grp.id) AS intakeCount,
        grp.default_duration AS defaultDuration,
        0 as sort
    FROM ir_irrigate_group grp
           INNER JOIN ir_project_group pg ON pg.group_id = grp.id
           INNER JOIN ir_project pro ON pg.project_id = pro.id
    <where>
      AND grp.deleted = 0
      <if test="projectId != null and projectId != ''">
        AND pro.id = #{projectId}
      </if>
      <if test="groupCode != null and groupCode != ''">
        AND grp.group_code LIKE CONCAT('%', #{groupCode}, '%')
      </if>
    </where>
    ORDER BY pg.sort
    ORDER BY grp.operate_time DESC
    <trim prefix="limit ">
      <if test="start != null and count != null">
        #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
      </if>
    </trim>
  </select>
  <select id="getGroupDetail" resultType="com.dy.pipIrrGlobal.voIr.VoGroupDetail">
    SELECT
      groupCode,
      defaultDuration,
      GROUP_CONCAT(intakeId) AS intakes
    FROM
      (
        SELECT
          grp.group_code AS groupCode,
          grp.default_duration AS defaultDuration,
          inta.id AS intakeId
        FROM ir_irrigate_group grp
               INNER JOIN ir_group_intake gi ON gi.group_id = grp.id
               INNER JOIN pr_intake inta ON inta.id = gi.intake_id
        WHERE grp.deleted = 0 AND grp.id = #{groupId}
      ) irrigateGroup
    GROUP BY groupCode,defaultDuration
  </select>
</mapper>
pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrProjectMapper.xml
@@ -322,7 +322,7 @@
        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}
        WHERE pro.deleted = 0 AND pro.id = #{projectId}
      ) project
    GROUP BY projectName
  </select>
pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupCtrl.java
@@ -9,10 +9,13 @@
import com.dy.pipIrrGlobal.pojoIr.IrGroupUnit;
import com.dy.pipIrrGlobal.pojoIr.IrIrrigateGroup;
import com.dy.pipIrrGlobal.voIr.VoGroup;
import com.dy.pipIrrGlobal.voIr.VoGroupDetail;
import com.dy.pipIrrGlobal.voIr.VoGroupOne;
import com.dy.pipIrrGlobal.voIr.VoGroupSimple;
import com.dy.pipIrrGlobal.voSe.VoActiveCard;
import com.dy.pipIrrIrrigate.irrigateGroup.dto.GroupClient;
import com.dy.pipIrrIrrigate.irrigateGroup.dto.IrrigateGroup;
import com.dy.pipIrrIrrigate.irrigateGroup.qo.QoGroup;
import com.dy.pipIrrIrrigate.result.IrrigateResultCode;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Content;
@@ -485,4 +488,79 @@
        return BaseResponseUtils.buildSuccess() ;
    }
    /**
     * 修改轮灌组,新代码
     * @param po
     * @param bindingResult
     * @return
     */
    @PostMapping(path = "updateIrrigateGroup", consumes = MediaType.APPLICATION_JSON_VALUE)
    @Transactional(rollbackFor = Exception.class)
    @SsoAop()
    public BaseResponse<Boolean> updateIrrigateGroup(@RequestBody @Valid IrrigateGroup po, BindingResult bindingResult){
        if (bindingResult != null && bindingResult.hasErrors()) {
            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
        if(po.getGroupId() == null) {
            return BaseResponseUtils.buildErrorMsg("轮灌组ID不能为空");
        }
        Map map_result = irrigateGroupSv.updateIrrigateGroup(po);
        if(map_result.get("success").equals(false)) {
            return BaseResponseUtils.buildErrorMsg(map_result.get("msg").toString());
        }
        return BaseResponseUtils.buildSuccess() ;
    }
    /**
     * 获取轮灌组列表,新代码
     * @param qo
     * @return
     */
    @GetMapping(path = "/getSimpleGroups")
    @SsoAop()
    public BaseResponse<QueryResultVo<List<VoGroupSimple>>> getSimpleGroups(QoGroup qo) {
        try {
            QueryResultVo<List<VoGroupSimple>> res = irrigateGroupSv.getSimpleGroups(qo);
            return BaseResponseUtils.buildSuccess(res);
        } catch (Exception e) {
            log.error("获取项目记录异常", e);
            return BaseResponseUtils.buildException(e.getMessage());
        }
    }
    /**
     * 获取全部轮灌组,新代码
     * @return
     */
    @GetMapping(path = "/getAllGroups")
    @SsoAop()
    public BaseResponse<List<VoGroupSimple>> getAllGroups() {
        try {
            return BaseResponseUtils.buildSuccess(irrigateGroupSv.getAllGroups());
        } catch (Exception e) {
            log.error("获取项目记录异常", e);
            return BaseResponseUtils.buildException(e.getMessage());
        }
    }
    /**
     * 获取轮灌组详情,新代码
     * @param groupId
     * @return
     */
    @GetMapping(path = "getGroupDetail")
    @SsoAop()
    public BaseResponse<VoGroupDetail> getGroupDetail(@RequestParam Long groupId) {
        if(groupId == null) {
            return BaseResponseUtils.buildErrorMsg("轮灌组ID不能为空");
        }
        Map map_result = irrigateGroupSv.getGroupDetail(groupId);
        if(map_result.get("success").equals(false)) {
            return BaseResponseUtils.buildErrorMsg(map_result.get("msg").toString());
        }
        return BaseResponseUtils.buildSuccess(map_result.get("content")) ;
    }
}
pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupSv.java
@@ -10,8 +10,11 @@
import com.dy.pipIrrGlobal.pojoIr.IrGroupUnit;
import com.dy.pipIrrGlobal.pojoIr.IrIrrigateGroup;
import com.dy.pipIrrGlobal.voIr.VoGroup;
import com.dy.pipIrrGlobal.voIr.VoGroupDetail;
import com.dy.pipIrrGlobal.voIr.VoGroupOne;
import com.dy.pipIrrGlobal.voIr.VoGroupSimple;
import com.dy.pipIrrIrrigate.irrigateGroup.dto.IrrigateGroup;
import com.dy.pipIrrIrrigate.irrigateGroup.qo.QoGroup;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.common.utils.PojoUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -33,6 +36,7 @@
public class IrrigateGroupSv {
    @Autowired
    private IrIrrigateGroupMapper irIrrigateGroupMapper;
    @Autowired
    private IrGroupUnitMapper irGroupUnitMapper;
@@ -249,4 +253,94 @@
            return map;
        }
    }
    /**
     * 修改轮灌组
     * @param po
     * @return
     */
    public Map updateIrrigateGroup(IrrigateGroup po) {
        Long groupId = po.getGroupId();
        Map map_deleteGroup = deleteGroup(groupId);
        if(map_deleteGroup.get("success").equals(false)) {
            Map map = new HashMap<>();
            map.put("success", false);
            map.put("msg", map_deleteGroup.get("msg").toString());
            map.put("content", null);
            return map;
        }
        Map map_addGroup = addIrrigateGroup(po);
        if(map_addGroup.get("success").equals(false)) {
            Map map = new HashMap<>();
            map.put("success", false);
            map.put("msg", map_addGroup.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 queryVo
     * @return
     */
    public QueryResultVo<List<VoGroupSimple>> getSimpleGroups(QoGroup queryVo) {
        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
        Long itemTotal = irIrrigateGroupMapper.getSimpleGroupCount(params);
        QueryResultVo<List<VoGroupSimple>> rsVo = new QueryResultVo<>();
        rsVo.pageSize = queryVo.pageSize;
        rsVo.pageCurr = queryVo.pageCurr;
        rsVo.calculateAndSet(itemTotal, params);
        rsVo.obj = irIrrigateGroupMapper.getSimpleGroups(params);
        return rsVo;
    }
    /**
     * 查询全部轮灌组
     * @return
     */
    public List<VoGroupSimple> getAllGroups() {
        //Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
        //Long itemTotal = irIrrigateGroupMapper.getSimpleGroupCount(params);
        //QueryResultVo<List<VoGroupSimple>> rsVo = new QueryResultVo<>();
        //rsVo.pageSize = queryVo.pageSize;
        //rsVo.pageCurr = queryVo.pageCurr;
        //rsVo.calculateAndSet(itemTotal, params);
        //rsVo.obj = irIrrigateGroupMapper.getSimpleGroups(null);
        //return rsVo;
        return irIrrigateGroupMapper.getSimpleGroups(null);
    }
    /**
     * 获取轮灌组详情
     * @param groupId
     * @return
     */
    public Map getGroupDetail(Long groupId) {
        try {
            VoGroupDetail voGroupDetail = irIrrigateGroupMapper.getGroupDetail(groupId);
            Map map = new HashMap<>();
            map.put("success", true);
            map.put("msg", "获取轮灌组详情成功");
            map.put("content", voGroupDetail);
            return map;
        } catch (Exception e) {
            Map map = new HashMap<>();
            map.put("success", false);
            map.put("msg", "获取轮灌组详情失败");
            map.put("content", null);
            return map;
        }
    }
}
pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/qo/QoGroup.java
New file
@@ -0,0 +1,21 @@
package com.dy.pipIrrIrrigate.irrigateGroup.qo;
import com.dy.common.webUtil.QueryConditionVo;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * @author ZhuBaoMin
 * @date 2025-03-31 16:02
 * @LastEditTime 2025-03-31 16:02
 * @Description 轮灌组查询对象
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class QoGroup extends QueryConditionVo {
    /**
     * 轮灌组编码
     */
    private String groupCode;
}