zhubaomin
2024-09-10 ad416630c480a4e4af46674192b08277d17e1f1e
2024-09-10 朱宝民 片区、分水房二级联动
4个文件已修改
1个文件已添加
99 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrDivideMapper.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoSimpleDivide.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrDivideMapper.xml 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockSv.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrDivideMapper.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dy.pipIrrGlobal.pojoPr.PrDivide;
import com.dy.pipIrrGlobal.voPr.VoDivide;
import com.dy.pipIrrGlobal.voPr.VoSimpleDivide;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -56,4 +57,11 @@
     * @return
     */
    Long getBlockIdById(@Param("divideId") Long divideId);
    /**
     * 根据片区ID获取分水房列表
     * @param blockId
     * @return
     */
    List<VoSimpleDivide> getDividesByBlockId(Long blockId);
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoSimpleDivide.java
New file
@@ -0,0 +1,28 @@
package com.dy.pipIrrGlobal.voPr;
import com.alibaba.fastjson2.annotation.JSONField;
import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
import lombok.Data;
/**
 * @author ZhuBaoMin
 * @date 2024-09-09 20:05
 * @LastEditTime 2024-09-09 20:05
 * @Description
 */
@Data
public class VoSimpleDivide {
    private static final long serialVersionUID = 202409092005001L;
    /**
     * 分水房ID
     */
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    private Long divideId;
    /**
     * 分水房名称
     */
    private String divideName;
}
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrDivideMapper.xml
@@ -302,14 +302,23 @@
    update pr_divide set deleted = 1
    <where>
      <if test = "id != null and id > 0">
        AND id = ${id}
        AND id = #{id}
      </if>
    </where>
  </update>
  <!--根据分水房编号获取所属片区编号-->
  <select id="getBlockIdById" resultType="java.lang.Long">
    SELECT blockId FROM pr_divide WHERE id = ${divideId}
    SELECT blockId FROM pr_divide WHERE id = #{divideId}
  </select>
  <!--根据片区ID获取分水房列表-->
  <select id="getDividesByBlockId" resultType="com.dy.pipIrrGlobal.voPr.VoSimpleDivide">
    SELECT
      id As divideId,
      name AS divideName
    FROM pr_divide
    WHERE deleted = 0 AND blockId = #{blockId}
  </select>
</mapper>
pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java
@@ -388,4 +388,19 @@
        return BaseResponseUtils.buildSuccess(true);
    }
    /**
     * 获取片区、分水房联动视图,添加农户时使用
     * @return
     */
    @GetMapping(path = "/block_divides")
    @SsoAop()
    public BaseResponse<JSONArray> getBlockDivides() {
        try {
            return BaseResponseUtils.buildSuccess(this.sv.getBlockDivides());
        } catch (Exception e) {
            log.error("获取开卡记录异常", e);
            return BaseResponseUtils.buildException(e.getMessage());
        }
    }
}
pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockSv.java
@@ -7,20 +7,24 @@
import com.dy.pipIrrGlobal.daoBa.BaBlockMapper;
import com.dy.pipIrrGlobal.daoBa.BaMapCoordinatesMapper;
import com.dy.pipIrrGlobal.daoBa.BaMapGraphMapper;
import com.dy.pipIrrGlobal.daoPr.PrDivideMapper;
import com.dy.pipIrrGlobal.pojoBa.BaBlock;
import com.dy.pipIrrGlobal.pojoBa.BaMapCoordinates;
import com.dy.pipIrrGlobal.pojoBa.BaMapGraph;
import com.dy.pipIrrGlobal.voBa.VoBlock;
import com.dy.pipIrrGlobal.voBa.VoMapCoordinates;
import com.dy.pipIrrGlobal.voBa.VoMapGraph;
import com.dy.pipIrrGlobal.voPr.VoSimpleDivide;
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 org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Optional;
@Slf4j
@Service
@@ -38,6 +42,9 @@
    @Autowired
    private BaMapCoordinatesMapper baMapCoordinatesMapper;
    @Autowired
    private PrDivideMapper prDivideMapper;
    /**
     * 得到一个片区
@@ -212,4 +219,32 @@
        return this.baMapCoordinatesMapper.deleteByBlockId(blockId);
    }
    /**
     * 获取片区、分水房联动视图,添加农户时使用
     * @return
     */
    public JSONArray getBlockDivides() {
        JSONArray array_blocks = null;
        JSONArray array_divides = null;
        JSONArray array_result = new JSONArray();
        List<BaBlock> list_blocks = dao.selectAll();
        if(list_blocks != null && list_blocks.size() > 0) {
            array_blocks = (JSONArray) JSON.toJSON(list_blocks);
            for (int i = 0; i < array_blocks.size(); i++) {
                JSONObject job_block = array_blocks.getJSONObject(i);
                JSONObject job_blockNew = new JSONObject();
                job_blockNew.put("value", job_block.getLong("id"));
                job_blockNew.put("label", job_block.getString("name"));
                List<VoSimpleDivide> list_divides = Optional.ofNullable( prDivideMapper.getDividesByBlockId(job_block.getLong("id"))).orElse(new ArrayList<>());
                array_divides = (JSONArray) JSON.toJSON(list_divides);
                job_blockNew.put("children", array_divides);
                array_result.add(job_blockNew);
            }
            return array_result;
        }else {
            return new JSONArray();
        }
    }
}