2024-08-28 朱宝民 管网添加接口、管网查询接口
New file |
| | |
| | | package com.dy.pipIrrGlobal.daoPr; |
| | | |
| | | import com.dy.pipIrrGlobal.pojoPr.PrNetworkCoordinates; |
| | | import com.dy.pipIrrGlobal.voPr.VoNetworkCoordinates; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author ZhuBaoMin |
| | | * @date 2024-08-27 17:23 |
| | | * @LastEditTime 2024-08-27 17:23 |
| | | * @Description |
| | | */ |
| | | public interface PrNetworkCoordinatesMapper { |
| | | int deleteByPrimaryKey(Long id); |
| | | |
| | | int insert(PrNetworkCoordinates record); |
| | | |
| | | int insertSelective(PrNetworkCoordinates record); |
| | | |
| | | PrNetworkCoordinates selectByPrimaryKey(Long id); |
| | | |
| | | int updateByPrimaryKeySelective(PrNetworkCoordinates record); |
| | | |
| | | int updateByPrimaryKey(PrNetworkCoordinates record); |
| | | |
| | | /** |
| | | * 清除全部管网坐标 |
| | | */ |
| | | void clearCoordinates(); |
| | | |
| | | /** |
| | | * 根据管网ID获取管网坐标列表 |
| | | * @param networkId |
| | | * @return |
| | | */ |
| | | List<VoNetworkCoordinates> getCoordinatesByNetworkId(Long networkId); |
| | | |
| | | } |
New file |
| | |
| | | package com.dy.pipIrrGlobal.daoPr; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.dy.pipIrrGlobal.pojoPr.PrWaterNetwork; |
| | | import com.dy.pipIrrGlobal.voPr.VoNetwork; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author ZhuBaoMin |
| | | * @date 2024-08-27 17:14 |
| | | * @LastEditTime 2024-08-27 17:14 |
| | | * @Description |
| | | */ |
| | | |
| | | @Mapper |
| | | public interface PrWaterNetworkMapper extends BaseMapper<PrWaterNetwork> { |
| | | int deleteByPrimaryKey(Long id); |
| | | |
| | | int insert(PrWaterNetwork record); |
| | | |
| | | int insertSelective(PrWaterNetwork record); |
| | | |
| | | PrWaterNetwork selectByPrimaryKey(Long id); |
| | | |
| | | int updateByPrimaryKeySelective(PrWaterNetwork record); |
| | | |
| | | int updateByPrimaryKey(PrWaterNetwork record); |
| | | |
| | | /** |
| | | * 清除全部管网 |
| | | */ |
| | | void clearNetworks(); |
| | | |
| | | /** |
| | | * 获取全部管网 |
| | | * @return |
| | | */ |
| | | List<VoNetwork> getAllNewworks(); |
| | | |
| | | } |
New file |
| | |
| | | package com.dy.pipIrrGlobal.pojoPr; |
| | | |
| | | 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 jakarta.validation.constraints.NotNull; |
| | | import lombok.*; |
| | | |
| | | import java.math.BigDecimal; |
| | | |
| | | /** |
| | | * @author ZhuBaoMin |
| | | * @date 2024-08-27 17:23 |
| | | * @LastEditTime 2024-08-27 17:23 |
| | | * @Description |
| | | */ |
| | | |
| | | /** |
| | | * 管网坐标表 |
| | | */ |
| | | |
| | | @TableName(value="pr_network_coordinates", autoResultMap = true) |
| | | @Data |
| | | @Builder |
| | | @ToString |
| | | @NoArgsConstructor |
| | | @AllArgsConstructor |
| | | public class PrNetworkCoordinates implements BaseEntity { |
| | | public static final long serialVersionUID = 202408271720001L; |
| | | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @JSONField(serializeUsing= ObjectWriterImplToString.class) |
| | | @TableId(type = IdType.INPUT) |
| | | private Long id; |
| | | |
| | | /** |
| | | * 管网ID |
| | | */ |
| | | @JSONField(serializeUsing= ObjectWriterImplToString.class) |
| | | @NotNull(message = "所属管网不能为空") |
| | | private Long networkId; |
| | | |
| | | /** |
| | | * 纬度 |
| | | */ |
| | | private BigDecimal lat; |
| | | |
| | | /** |
| | | * 经度 |
| | | */ |
| | | private BigDecimal lng; |
| | | |
| | | } |
New file |
| | |
| | | package com.dy.pipIrrGlobal.pojoPr; |
| | | |
| | | /** |
| | | * @author ZhuBaoMin |
| | | * @date 2024-08-27 17:14 |
| | | * @LastEditTime 2024-08-27 17:14 |
| | | * @Description |
| | | */ |
| | | |
| | | 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 jakarta.validation.constraints.NotNull; |
| | | import lombok.*; |
| | | |
| | | /** |
| | | * 输配水管网表 |
| | | */ |
| | | |
| | | @TableName(value="pr_water_network", autoResultMap = true) |
| | | @Data |
| | | @Builder |
| | | @ToString |
| | | @NoArgsConstructor |
| | | @AllArgsConstructor |
| | | public class PrWaterNetwork implements BaseEntity { |
| | | public static final long serialVersionUID = 202408271719001L; |
| | | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @JSONField(serializeUsing= ObjectWriterImplToString.class) |
| | | @TableId(type = IdType.INPUT) |
| | | private Long id; |
| | | |
| | | /** |
| | | * 管网类型;1-输水,2-配水 |
| | | */ |
| | | @NotNull(message = "管网类型不能为空") |
| | | private Byte networkType; |
| | | |
| | | } |
New file |
| | |
| | | package com.dy.pipIrrGlobal.voPr; |
| | | |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | import com.alibaba.fastjson2.annotation.JSONField; |
| | | import com.alibaba.fastjson2.writer.ObjectWriterImplToString; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @author ZhuBaoMin |
| | | * @date 2024-08-28 11:42 |
| | | * @LastEditTime 2024-08-28 11:42 |
| | | * @Description |
| | | */ |
| | | |
| | | @Data |
| | | public class VoNetwork { |
| | | private static final long serialVersionUID = 202408281143001L; |
| | | |
| | | /** |
| | | * 管网ID |
| | | */ |
| | | @JSONField(serializeUsing= ObjectWriterImplToString.class) |
| | | private Long networkId; |
| | | |
| | | /** |
| | | * 管网类型,1-输水,2-配水 |
| | | */ |
| | | private Byte type; |
| | | |
| | | /** |
| | | * 管网对象,包含管网坐标 |
| | | */ |
| | | private JSONObject data; |
| | | } |
New file |
| | |
| | | package com.dy.pipIrrGlobal.voPr; |
| | | |
| | | import com.alibaba.fastjson2.annotation.JSONField; |
| | | import com.alibaba.fastjson2.writer.ObjectWriterImplToString; |
| | | import lombok.Data; |
| | | |
| | | import java.math.BigDecimal; |
| | | |
| | | /** |
| | | * @author ZhuBaoMin |
| | | * @date 2024-08-28 14:06 |
| | | * @LastEditTime 2024-08-28 14:06 |
| | | * @Description |
| | | */ |
| | | @Data |
| | | public class VoNetworkCoordinates { |
| | | private static final long serialVersionUID = 202408281407001L; |
| | | |
| | | /** |
| | | * 纬度 |
| | | */ |
| | | @JSONField(serializeUsing= ObjectWriterImplToString.class) |
| | | private BigDecimal lat; |
| | | |
| | | /** |
| | | * 经度 |
| | | */ |
| | | @JSONField(serializeUsing= ObjectWriterImplToString.class) |
| | | private BigDecimal lng; |
| | | } |
New file |
| | |
| | | <?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.daoPr.PrNetworkCoordinatesMapper"> |
| | | <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoPr.PrNetworkCoordinates"> |
| | | <!--@mbg.generated--> |
| | | <!--@Table pr_network_coordinates--> |
| | | <id column="id" jdbcType="BIGINT" property="id"/> |
| | | <result column="network_id" jdbcType="BIGINT" property="networkId"/> |
| | | <result column="lat" jdbcType="DECIMAL" property="lat"/> |
| | | <result column="lng" jdbcType="DECIMAL" property="lng"/> |
| | | </resultMap> |
| | | <sql id="Base_Column_List"> |
| | | <!--@mbg.generated--> |
| | | id, |
| | | network_id, |
| | | lat, |
| | | lng |
| | | </sql> |
| | | <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> |
| | | <!--@mbg.generated--> |
| | | select |
| | | <include refid="Base_Column_List"/> |
| | | from pr_network_coordinates |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </select> |
| | | <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> |
| | | <!--@mbg.generated--> |
| | | delete |
| | | from pr_network_coordinates |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </delete> |
| | | <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoPr.PrNetworkCoordinates"> |
| | | <!--@mbg.generated--> |
| | | insert into pr_network_coordinates (id, network_id, lat, |
| | | lng) |
| | | values (#{id,jdbcType=BIGINT}, #{networkId,jdbcType=BIGINT}, #{lat,jdbcType=DECIMAL}, |
| | | #{lng,jdbcType=DECIMAL}) |
| | | </insert> |
| | | <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoPr.PrNetworkCoordinates"> |
| | | <!--@mbg.generated--> |
| | | insert into pr_network_coordinates |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="id != null"> |
| | | id, |
| | | </if> |
| | | <if test="networkId != null"> |
| | | network_id, |
| | | </if> |
| | | <if test="lat != null"> |
| | | lat, |
| | | </if> |
| | | <if test="lng != null"> |
| | | lng, |
| | | </if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="id != null"> |
| | | #{id,jdbcType=BIGINT}, |
| | | </if> |
| | | <if test="networkId != null"> |
| | | #{networkId,jdbcType=BIGINT}, |
| | | </if> |
| | | <if test="lat != null"> |
| | | #{lat,jdbcType=DECIMAL}, |
| | | </if> |
| | | <if test="lng != null"> |
| | | #{lng,jdbcType=DECIMAL}, |
| | | </if> |
| | | </trim> |
| | | </insert> |
| | | <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoPr.PrNetworkCoordinates"> |
| | | <!--@mbg.generated--> |
| | | update pr_network_coordinates |
| | | <set> |
| | | <if test="networkId != null"> |
| | | network_id = #{networkId,jdbcType=BIGINT}, |
| | | </if> |
| | | <if test="lat != null"> |
| | | lat = #{lat,jdbcType=DECIMAL}, |
| | | </if> |
| | | <if test="lng != null"> |
| | | lng = #{lng,jdbcType=DECIMAL}, |
| | | </if> |
| | | </set> |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </update> |
| | | <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoPr.PrNetworkCoordinates"> |
| | | <!--@mbg.generated--> |
| | | update pr_network_coordinates |
| | | set network_id = #{networkId,jdbcType=BIGINT}, |
| | | lat = #{lat,jdbcType=DECIMAL}, |
| | | lng = #{lng,jdbcType=DECIMAL} |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </update> |
| | | |
| | | <!--清除全部管网坐标--> |
| | | <delete id="clearCoordinates"> |
| | | TRUNCATE pr_network_coordinates |
| | | </delete> |
| | | |
| | | <!--根据管网ID获取管网坐标列表--> |
| | | <select id="getCoordinatesByNetworkId" resultType="com.dy.pipIrrGlobal.voPr.VoNetworkCoordinates"> |
| | | SELECT lat, |
| | | lng |
| | | FROM pr_network_coordinates |
| | | WHERE network_id = #{networkId} |
| | | </select> |
| | | </mapper> |
New file |
| | |
| | | <?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.daoPr.PrWaterNetworkMapper"> |
| | | <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoPr.PrWaterNetwork"> |
| | | <!--@mbg.generated--> |
| | | <!--@Table pr_water_network--> |
| | | <id column="id" jdbcType="BIGINT" property="id"/> |
| | | <result column="network_type" jdbcType="TINYINT" property="networkType"/> |
| | | </resultMap> |
| | | <sql id="Base_Column_List"> |
| | | <!--@mbg.generated--> |
| | | id, |
| | | network_type |
| | | </sql> |
| | | <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> |
| | | <!--@mbg.generated--> |
| | | select |
| | | <include refid="Base_Column_List"/> |
| | | from pr_water_network |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </select> |
| | | <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> |
| | | <!--@mbg.generated--> |
| | | delete |
| | | from pr_water_network |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </delete> |
| | | <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoPr.PrWaterNetwork"> |
| | | <!--@mbg.generated--> |
| | | insert into pr_water_network (id, network_type) |
| | | values (#{id,jdbcType=BIGINT}, #{networkType,jdbcType=TINYINT}) |
| | | </insert> |
| | | <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoPr.PrWaterNetwork"> |
| | | <!--@mbg.generated--> |
| | | insert into pr_water_network |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="id != null"> |
| | | id, |
| | | </if> |
| | | <if test="networkType != null"> |
| | | network_type, |
| | | </if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="id != null"> |
| | | #{id,jdbcType=BIGINT}, |
| | | </if> |
| | | <if test="networkType != null"> |
| | | #{networkType,jdbcType=TINYINT}, |
| | | </if> |
| | | </trim> |
| | | </insert> |
| | | <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoPr.PrWaterNetwork"> |
| | | <!--@mbg.generated--> |
| | | update pr_water_network |
| | | <set> |
| | | <if test="networkType != null"> |
| | | network_type = #{networkType,jdbcType=TINYINT}, |
| | | </if> |
| | | </set> |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </update> |
| | | <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoPr.PrWaterNetwork"> |
| | | <!--@mbg.generated--> |
| | | update pr_water_network |
| | | set network_type = #{networkType,jdbcType=TINYINT} |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </update> |
| | | |
| | | <!--清除全部管网--> |
| | | <delete id="clearNetworks"> |
| | | TRUNCATE pr_water_network |
| | | </delete> |
| | | |
| | | <!--获取全部管网--> |
| | | <select id="getAllNewworks" resultType="com.dy.pipIrrGlobal.voPr.VoNetwork"> |
| | | SELECT id AS networkId, |
| | | network_type AS type |
| | | FROM pr_water_network |
| | | </select> |
| | | </mapper> |
New file |
| | |
| | | package com.dy.pipIrrProject.network; |
| | | |
| | | import com.dy.common.aop.SsoAop; |
| | | import com.dy.common.webUtil.BaseResponse; |
| | | import com.dy.common.webUtil.BaseResponseUtils; |
| | | import com.dy.pipIrrGlobal.voPr.VoNetwork; |
| | | import com.dy.pipIrrProject.network.dto.Network; |
| | | import jakarta.validation.Valid; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | 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.Objects; |
| | | |
| | | /** |
| | | * @author ZhuBaoMin |
| | | * @date 2024-08-27 17:08 |
| | | * @LastEditTime 2024-08-27 17:08 |
| | | * @Description |
| | | */ |
| | | |
| | | @Slf4j |
| | | @RestController |
| | | @RequestMapping(path = "network") |
| | | @RequiredArgsConstructor |
| | | public class NetworkCtrl { |
| | | private final NetworkSv networkSv; |
| | | |
| | | /** |
| | | * 添加管网 |
| | | * @param po |
| | | * @param bindingResult |
| | | * @return |
| | | */ |
| | | @PostMapping(path = "save", consumes = MediaType.APPLICATION_JSON_VALUE) |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @SsoAop() |
| | | public BaseResponse<Boolean> save(@RequestBody @Valid Network po, BindingResult bindingResult) { |
| | | if (bindingResult != null && bindingResult.hasErrors()) { |
| | | return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); |
| | | } |
| | | |
| | | String result = networkSv.addNetworks(po); |
| | | if(result.trim().length()> 0) { |
| | | return BaseResponseUtils.buildErrorMsg(result); |
| | | } |
| | | |
| | | //PrWaterNetwork prWaterNetwork = null; |
| | | //Long networkId = null; |
| | | // |
| | | //JSONArray networks = po.getData(); |
| | | //for (int i = 0; i < networks.size(); i++) { |
| | | // // 取出一笔绘画 |
| | | // JSONObject polyline = networks.getJSONObject(i); |
| | | // // 添加该笔绘画 |
| | | // prWaterNetwork = new PrWaterNetwork(); |
| | | // prWaterNetwork.setNetworkType(po.getType()); |
| | | // networkId = networkSv.addNetwork(prWaterNetwork); |
| | | // |
| | | // // 取出一笔绘画中的坐标点 |
| | | // JSONArray coordinates = polyline.getJSONArray("coordinates"); |
| | | // for (int j = 0; j < coordinates.size(); j++) { |
| | | // JSONObject point = coordinates.getJSONObject(j); |
| | | // |
| | | // PrNetworkCoordinates prNetworkCoordinates = new PrNetworkCoordinates(); |
| | | // prNetworkCoordinates.setNetworkId(networkId); |
| | | // prNetworkCoordinates.setLat(point.getBigDecimal("lat")); |
| | | // prNetworkCoordinates.setLng(point.getBigDecimal("lng")); |
| | | // |
| | | // Long coordinateId = Optional.ofNullable(networkSv.addNetworkCoordinate(prNetworkCoordinates)).orElse(0L); |
| | | // if (coordinateId.equals(0)) { |
| | | // return BaseResponseUtils.buildErrorMsg(ProjectResultCode.SAVA_NETWORK_ERROR.getMessage()); |
| | | // } |
| | | // } |
| | | //} |
| | | return BaseResponseUtils.buildSuccess(true); |
| | | } |
| | | |
| | | /** |
| | | * 获取全部管网 |
| | | * @return |
| | | */ |
| | | @GetMapping(path = "/all") |
| | | @SsoAop() |
| | | public BaseResponse<List<VoNetwork>> getNetworks() { |
| | | try { |
| | | return BaseResponseUtils.buildSuccess(networkSv.getNetworks()); |
| | | } catch (Exception e) { |
| | | log.error("获取开卡记录异常", e); |
| | | return BaseResponseUtils.buildException(e.getMessage()); |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | package com.dy.pipIrrProject.network; |
| | | |
| | | import com.alibaba.fastjson2.JSON; |
| | | import com.alibaba.fastjson2.JSONArray; |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | import com.dy.pipIrrGlobal.daoPr.PrNetworkCoordinatesMapper; |
| | | import com.dy.pipIrrGlobal.daoPr.PrWaterNetworkMapper; |
| | | import com.dy.pipIrrGlobal.pojoPr.PrNetworkCoordinates; |
| | | import com.dy.pipIrrGlobal.pojoPr.PrWaterNetwork; |
| | | import com.dy.pipIrrGlobal.voPr.VoNetwork; |
| | | import com.dy.pipIrrGlobal.voPr.VoNetworkCoordinates; |
| | | import com.dy.pipIrrProject.network.dto.Network; |
| | | import com.dy.pipIrrProject.result.ProjectResultCode; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Optional; |
| | | |
| | | /** |
| | | * @author ZhuBaoMin |
| | | * @date 2024-08-27 17:08 |
| | | * @LastEditTime 2024-08-27 17:08 |
| | | * @Description |
| | | */ |
| | | |
| | | @Slf4j |
| | | @Service |
| | | @RequiredArgsConstructor |
| | | public class NetworkSv { |
| | | private final PrWaterNetworkMapper prWaterNetworkMapper; |
| | | private final PrNetworkCoordinatesMapper prNetworkCoordinatesMapper; |
| | | |
| | | /** |
| | | * 添加管网 |
| | | * @param po |
| | | * @return |
| | | */ |
| | | public Long addNetwork(PrWaterNetwork po) { |
| | | prWaterNetworkMapper.insert(po); |
| | | return po.getId(); |
| | | } |
| | | |
| | | /** |
| | | * 添加管网坐标 |
| | | * @param po |
| | | * @return |
| | | */ |
| | | public Long addNetworkCoordinate(PrNetworkCoordinates po) { |
| | | prNetworkCoordinatesMapper.insert(po); |
| | | return po.getId(); |
| | | }; |
| | | |
| | | /** |
| | | * 添加管网 |
| | | * @param po |
| | | * @return |
| | | */ |
| | | public String addNetworks(Network po) { |
| | | String result = ""; |
| | | PrWaterNetwork prWaterNetwork = null; |
| | | Long networkId = null; |
| | | |
| | | prWaterNetworkMapper.clearNetworks(); |
| | | prNetworkCoordinatesMapper.clearCoordinates(); |
| | | |
| | | JSONArray networks = po.getData(); |
| | | for (int i = 0; i < networks.size(); i++) { |
| | | // 取出一笔绘画 |
| | | JSONObject polyline = networks.getJSONObject(i); |
| | | // 添加该笔绘画 |
| | | prWaterNetwork = new PrWaterNetwork(); |
| | | prWaterNetwork.setNetworkType(po.getType()); |
| | | networkId = addNetwork(prWaterNetwork); |
| | | |
| | | // 取出一笔绘画中的坐标点 |
| | | JSONArray coordinates = polyline.getJSONArray("coordinates"); |
| | | for (int j = 0; j < coordinates.size(); j++) { |
| | | JSONObject point = coordinates.getJSONObject(j); |
| | | |
| | | PrNetworkCoordinates prNetworkCoordinates = new PrNetworkCoordinates(); |
| | | prNetworkCoordinates.setNetworkId(networkId); |
| | | prNetworkCoordinates.setLat(point.getBigDecimal("lat")); |
| | | prNetworkCoordinates.setLng(point.getBigDecimal("lng")); |
| | | |
| | | Long coordinateId = Optional.ofNullable(addNetworkCoordinate(prNetworkCoordinates)).orElse(0L); |
| | | if (coordinateId.equals(0)) { |
| | | //return BaseResponseUtils.buildErrorMsg(ProjectResultCode.SAVA_NETWORK_ERROR.getMessage()); |
| | | result = ProjectResultCode.SAVA_NETWORK_ERROR.getMessage(); |
| | | } |
| | | } |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * 获取全部管网 |
| | | * @return |
| | | */ |
| | | public List<VoNetwork> getNetworks() { |
| | | JSONArray array_result = new JSONArray(); |
| | | JSONArray array_networks = null; |
| | | |
| | | List<VoNetwork> list_networks = prWaterNetworkMapper.getAllNewworks(); |
| | | if(list_networks != null && list_networks.size() > 0) { |
| | | array_networks = (JSONArray) JSON.toJSON(list_networks); |
| | | for (int i = 0; i < array_networks.size(); i++) { |
| | | JSONObject job_network = array_networks.getJSONObject(i); |
| | | |
| | | List<VoNetworkCoordinates> list_networkCoordinates = prNetworkCoordinatesMapper.getCoordinatesByNetworkId(job_network.getLong("networkId")); |
| | | if(list_networkCoordinates == null) { |
| | | list_networkCoordinates = new ArrayList<>(); |
| | | } |
| | | |
| | | JSONObject job_points = new JSONObject(); |
| | | job_points.put("type", "Polyline"); |
| | | job_points.put("coordinates", (JSONArray) JSON.toJSON(list_networkCoordinates)); |
| | | job_network.put("data", job_points); |
| | | array_result.add(job_network); |
| | | } |
| | | return array_result.toList(VoNetwork.class); |
| | | |
| | | }else { |
| | | return new ArrayList<>(); |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | package com.dy.pipIrrProject.network.dto; |
| | | |
| | | import com.alibaba.fastjson2.JSONArray; |
| | | import jakarta.validation.constraints.NotNull; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @author ZhuBaoMin |
| | | * @date 2024-08-28 10:23 |
| | | * @LastEditTime 2024-08-28 10:23 |
| | | * @Description 管网传输对象 |
| | | */ |
| | | |
| | | @Data |
| | | public class Network { |
| | | public static final long serialVersionUID = 202408281024001L; |
| | | |
| | | /** |
| | | * 管网类型,1-输水,2-配水 |
| | | */ |
| | | @NotNull(message = "管网类型不能为空") |
| | | private Byte type; |
| | | |
| | | /** |
| | | * 管网对象数组,每个对象是一笔绘画 |
| | | */ |
| | | private JSONArray data; |
| | | } |
| | |
| | | MONITORING_FLOWMETER_BIND_FAIL(70002, "流量监测站与流量计绑定失败"), |
| | | STATION_OR_FLOWMETER_NO_EXIST(70003, "流量监测站或流量计不存在"), |
| | | STATION_FLOWMETER_HAS_UNBOUND(70004, "流量监测站与流量计已解绑"), |
| | | NO_MONITORING_FLOWMETERS(70005, "没有符合条件的绑定记录数据"); |
| | | NO_MONITORING_FLOWMETERS(70005, "没有符合条件的绑定记录数据"), |
| | | |
| | | /** |
| | | * 管网 |
| | | */ |
| | | SAVA_NETWORK_ERROR(30001, "保存管网失败"); |
| | | |
| | | private final Integer code; |
| | | private final String message; |
| | |
| | | public void exportGeneral(HttpServletResponse response, QoGeneral vo) { |
| | | ExcelUtil.setExcelRespProp(response, "总账" + LocalDate.now()); |
| | | List<VoGeneral> generalList = generalSv.exportGenerals(vo).getObj(); |
| | | |
| | | EasyExcel.write(response.getOutputStream(), VoGeneral.class) |
| | | .registerWriteHandler(new ReportExportCellWriteHandler("财务对账-总账")) |
| | | .sheet("总账") |
| | |
| | | * 总账 |
| | | */ |
| | | GENERAL_ID_CANNOT_BE_NULL(80001, "总账编号不能为空"), |
| | | GENERAL_NOT_EXIST(80001, "总账不存在"), |
| | | GENERAL_AUDIT_FAIL(80001, "总账审核失败"), |
| | | AUDITS_ADD_FAIL(80001, "总账审核记录添加失败"), |
| | | GENERAL_NOT_EXIST(80002, "总账不存在"), |
| | | GENERAL_AUDIT_FAIL(80003, "总账审核失败"), |
| | | AUDITS_ADD_FAIL(80004, "总账审核记录添加失败"), |
| | | GENERAL_IS_NULL(80005, "要导出的总账为空"), |
| | | TRADE_DETAILS_IS_NULL(80006, "要导出的交易明细为空"), |
| | | |
| | | /** |
| | | * 虚拟卡 |