فهرست منبع

河流,新加字段

lidongyu 1 سال پیش
والد
کامیت
1f9d7fa4e6

+ 27 - 2
data-ui/src/views/data/digitalwater/river/index.vue

@@ -92,6 +92,7 @@
       <el-table-column label="县域内面积(平方公里)" align="center" prop="basinAreaCounty"/>
       <el-table-column label="河源" align="center" prop="riverSource"/>
       <el-table-column label="河口" align="center" prop="estuary"/>
+      <el-table-column label="流经村" align="center" prop="hamletLabel"/>
       <el-table-column label="河道总长(公里)" align="center"  prop="riverwayLength"/>
       <el-table-column label="县域内河道长(公里)" align="center" prop="riverwayLengthCounty"/>
       <el-table-column label="所属部门" align="center" prop="deptName"/>
@@ -195,6 +196,15 @@
           </el-col>
         </el-row>
         <el-row>
+          <el-col :span="12">
+            <el-form-item label="流经村" prop="hamletNum">
+              <treeselect v-model="form.hamletNum" :options="deptOptions" multiple :show-count="true":flat="true"
+                          placeholder="请选择流经村" :noResultsText="'空'" :noOptionsText="'空'"@click="re"/>
+
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
           <el-col :span="24">
             <el-form-item label="绑定设备" prop="deviceList">
               <el-select v-model="form.deviceList" filterable placeholder="请选择设备" multiple>
@@ -269,9 +279,15 @@
           estuary: null,
         },
         // 表单参数
-        form: {},
+        form: {
+          hamletNum:[],
+          hamletNumLabel:[],
+        },
         // 表单校验
         rules: {
+          hamletNum:[{
+            required: true, message: "流经村不能为空", trigger: "change"
+          }],
           name: [
             {required: true, message: "名称不能为空", trigger: "blur"}
           ],
@@ -313,6 +329,11 @@
       });
     },
     methods: {
+      re(node){
+        this.form.hamletNum.splice(node.id)
+        this.form.hamletNumLabel.splice(node.label)
+        console.log(this.form.hamletNum)
+      },
       showMap() {
         this.ISuperMapvisible = true;
         this.$nextTick(() => {
@@ -342,11 +363,13 @@
         })
       },
       hx(node) {
+        console.log(node+"部门")
         this.form.dataDeptId = node.id
         this.form.deptId = node.id
         this.form.deptName = node.label
         this.$refs.form.validateField("deptId")
       },
+
       setDataDeptId(e) {
         this.form.deptId = e.deptId;
         this.form.deptName = e.deptName;
@@ -386,7 +409,9 @@
           updateTime: null,
           longitude: null,
           latitude: null,
-          dataStatus: "0"
+          dataStatus: "0",
+          hamletNum:[],
+          hamletNumLabel:[],
         };
         this.resetForm("form");
       },

+ 45 - 0
src/main/java/com/sooka/sponest/data/digitalwater/domain/CenterdataTHydraulicRiver.java

@@ -65,6 +65,16 @@ public class CenterdataTHydraulicRiver extends BaseBusinessEntity {
     @Excel(name = "河口 即河段终点")
     private String estuary;
 
+    @ApiModelProperty(value = "流经村", required = false)
+    private List<Long> hamletNum;//id
+
+
+    @Excel(name = "流经村")
+    private List<String> hamletNumLabel;//label
+
+    private String hamlet;//列表展示用id
+
+    private String hamletLabel;//列表展示用
     /**
      * 河道总长 公里
      */
@@ -111,6 +121,39 @@ public class CenterdataTHydraulicRiver extends BaseBusinessEntity {
     @NotBlank(message = "纬度不能为空")
     private String latitude;
 
+
+    public String getHamletLabel() {
+        return hamletLabel;
+    }
+
+    public void setHamletLabel(String hamletLabel) {
+        this.hamletLabel = hamletLabel;
+    }
+
+    public String getHamlet() {
+        return hamlet;
+    }
+
+    public void setHamlet(String hamlet) {
+        this.hamlet = hamlet;
+    }
+
+    public List<Long> getHamletNum() {
+        return hamletNum;
+    }
+
+    public void setHamletNum(List<Long> hamletNum) {
+        this.hamletNum = hamletNum;
+    }
+
+    public List<String> getHamletNumLabel() {
+        return hamletNumLabel;
+    }
+
+    public void setHamletNumLabel(List<String> hamletNumLabel) {
+        this.hamletNumLabel = hamletNumLabel;
+    }
+
     public String getLongitude() {
         return longitude;
     }
@@ -138,6 +181,8 @@ public class CenterdataTHydraulicRiver extends BaseBusinessEntity {
     @ApiModelProperty(value = "设备中间表主键", required = false,hidden = true)
     private List<String> deviceList;
 
+
+
     public List<String> getDeviceList() {
         return deviceList;
     }

+ 38 - 0
src/main/java/com/sooka/sponest/data/digitalwater/domain/CenterdataTHydraulicRiverBindHamlet.java

@@ -0,0 +1,38 @@
+package com.sooka.sponest.data.digitalwater.domain;
+
+import com.sooka.sponest.data.base.domain.BaseBusinessEntity;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+ * 河流资源绑定流经村 centerdata_t_hydraulic_river_bind_hamlet
+ *
+ * @author lyq
+ * @date 2022-11-17
+ */
+@ApiModel(value ="河流资源绑定流经村",description = "河流资源绑定流经村")
+@Data
+public class CenterdataTHydraulicRiverBindHamlet extends BaseBusinessEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    private String id;
+
+    /**
+     * 河流Id
+     */
+
+    private String riverId;
+
+    /**
+     * 村Id
+     */
+
+    private Long hamletId;
+
+
+
+}

+ 8 - 1
src/main/java/com/sooka/sponest/data/digitalwater/mapper/CenterdataTHydraulicRiverMapper.java

@@ -1,6 +1,7 @@
 package com.sooka.sponest.data.digitalwater.mapper;
 
 import com.sooka.sponest.data.digitalwater.domain.CenterdataTHydraulicRiver;
+import com.sooka.sponest.data.digitalwater.domain.CenterdataTHydraulicRiverBindHamlet;
 
 import java.util.List;
 
@@ -26,7 +27,7 @@ public interface CenterdataTHydraulicRiverMapper {
      * @param id 河流资源主键
      * @return 河流资源
      */
-    CenterdataTHydraulicRiver selectCenterdataTHydraulicRiverById(String id);
+    CenterdataTHydraulicRiver selectCenterdataTHydraulicRiverById(CenterdataTHydraulicRiver River);
 
     /**
      * 新增河流资源
@@ -55,4 +56,10 @@ public interface CenterdataTHydraulicRiverMapper {
     int selectchannelBlueLineNumByRiver(String id);
 
     int selectReachNumByRiver(String id);
+
+    void insertCenterdataTHydraulicRiverBindHamlet(List<CenterdataTHydraulicRiverBindHamlet> centerdataTHydraulicRiverBindHamletList);
+
+    void deletedCenterdataTHydraulicRiverBindHamlet(String[] id);
+
+    List<CenterdataTHydraulicRiverBindHamlet> selectCenterdataTHydraulicRiverBindHamletList(String id);
 }

+ 44 - 1
src/main/java/com/sooka/sponest/data/digitalwater/service/impl/CenterdataTHydraulicRiverServiceImpl.java

@@ -7,6 +7,7 @@ import com.ruoyi.common.datascope.annotation.DataScopeMutiDept;
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.sooka.sponest.data.base.service.impl.BaseServiceImpl;
 import com.sooka.sponest.data.digitalwater.domain.CenterdataTHydraulicRiver;
+import com.sooka.sponest.data.digitalwater.domain.CenterdataTHydraulicRiverBindHamlet;
 import com.sooka.sponest.data.digitalwater.mapper.CenterdataTHydraulicRiverMapper;
 import com.sooka.sponest.data.digitalwater.service.ICenterdataTHydraulicRiverService;
 import com.sooka.sponest.data.system.equipment.domain.CenterdataTEquipmentCamera;
@@ -14,7 +15,10 @@ import com.sooka.sponest.data.system.equipment.service.ICenterdataTEquipmentCame
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 河流资源Service业务层处理
@@ -52,8 +56,16 @@ public class CenterdataTHydraulicRiverServiceImpl extends BaseServiceImpl implem
      */
     @Override
     public CenterdataTHydraulicRiver selectCenterdataTHydraulicRiverById(String id) {
-        CenterdataTHydraulicRiver centerdataTHydraulicRiver = centerdataTHydraulicRiverMapper.selectCenterdataTHydraulicRiverById(id);
+        CenterdataTHydraulicRiver River = new CenterdataTHydraulicRiver();
+        River.setId(id);
+        setSookaDataBase(River);
+        CenterdataTHydraulicRiver centerdataTHydraulicRiver = centerdataTHydraulicRiverMapper.selectCenterdataTHydraulicRiverById(River);
         centerdataTHydraulicRiver.setDeviceList(centerdataTEquipmentCameraService.selectCenterdataTEquipmentCameraByBusinessId(id));
+        if (StringUtils.isNotEmpty(centerdataTHydraulicRiver.getHamlet())){
+            List<String> HamletList = Arrays.asList(centerdataTHydraulicRiver.getHamlet().split(","));
+            centerdataTHydraulicRiver.setHamletNum(HamletList.stream().map(Long::valueOf).collect(Collectors.toList()));
+            centerdataTHydraulicRiver.setHamletNumLabel(Arrays.asList(centerdataTHydraulicRiver.getHamletLabel().split(",")));
+        }
         return centerdataTHydraulicRiver;
     }
 
@@ -69,6 +81,19 @@ public class CenterdataTHydraulicRiverServiceImpl extends BaseServiceImpl implem
         centerdataTHydraulicRiver.setCreateBy(SecurityUtils.getUserId().toString());
         centerdataTHydraulicRiver.setCreateName(SecurityUtils.getLoginUser().getSysUser().getNickName());
         centerdataTHydraulicRiver.setCreateTime(DateUtils.getNowDate());
+        if (StringUtils.isNotEmpty(centerdataTHydraulicRiver.getHamletNum())){
+            List<CenterdataTHydraulicRiverBindHamlet> centerdataTHydraulicRiverBindHamletList = new ArrayList<>();
+            for (int i = 0; i < centerdataTHydraulicRiver.getHamletNum().size(); i++) {
+                CenterdataTHydraulicRiverBindHamlet centerdataTHydraulicRiverBindHamlet = new CenterdataTHydraulicRiverBindHamlet();
+                centerdataTHydraulicRiverBindHamlet.setId(IdUtils.simpleUUID());
+                centerdataTHydraulicRiverBindHamlet.setRiverId(centerdataTHydraulicRiver.getId());
+                centerdataTHydraulicRiverBindHamlet.setHamletId(centerdataTHydraulicRiver.getHamletNum().get(i));
+                centerdataTHydraulicRiverBindHamletList.add(centerdataTHydraulicRiverBindHamlet);
+            }
+            centerdataTHydraulicRiverMapper.insertCenterdataTHydraulicRiverBindHamlet(centerdataTHydraulicRiverBindHamletList);//添加流经村数中间表
+        }else {
+            centerdataTEquipmentCameraService.deleteCenterdataTEquipmentCameraByBusinessId(centerdataTHydraulicRiver.getId());
+        }
         if (StringUtils.isNotEmpty(centerdataTHydraulicRiver.getDeviceList())) {
             centerdataTHydraulicRiver.getDeviceList().forEach(item -> {
                 CenterdataTEquipmentCamera camera = new CenterdataTEquipmentCamera();
@@ -94,6 +119,23 @@ public class CenterdataTHydraulicRiverServiceImpl extends BaseServiceImpl implem
         centerdataTHydraulicRiver.setUpdateName(SecurityUtils.getLoginUser().getSysUser().getNickName());
         centerdataTHydraulicRiver.setUpdateTime(DateUtils.getNowDate());
         centerdataTEquipmentCameraService.deleteCenterdataTEquipmentCameraByBusinessId(centerdataTHydraulicRiver.getId());
+
+
+        if (StringUtils.isNotEmpty(centerdataTHydraulicRiver.getHamletNum())){
+            String[] ids = new String[1];
+            ids[0] = centerdataTHydraulicRiver.getId();
+            centerdataTHydraulicRiverMapper.deletedCenterdataTHydraulicRiverBindHamlet(ids);//删除中间表
+            List<CenterdataTHydraulicRiverBindHamlet> centerdataTHydraulicRiverBindHamletList = new ArrayList<>();
+            for (int i = 0; i < centerdataTHydraulicRiver.getHamletNum().size(); i++) {
+                CenterdataTHydraulicRiverBindHamlet centerdataTHydraulicRiverBindHamlet = new CenterdataTHydraulicRiverBindHamlet();
+                centerdataTHydraulicRiverBindHamlet.setId(IdUtils.simpleUUID());
+                centerdataTHydraulicRiverBindHamlet.setRiverId(centerdataTHydraulicRiver.getId());
+                centerdataTHydraulicRiverBindHamlet.setHamletId(centerdataTHydraulicRiver.getHamletNum().get(i));
+                centerdataTHydraulicRiverBindHamletList.add(centerdataTHydraulicRiverBindHamlet);
+            }
+            centerdataTHydraulicRiverMapper.insertCenterdataTHydraulicRiverBindHamlet(centerdataTHydraulicRiverBindHamletList);//添加流经村数中间表
+        }
+
         if (StringUtils.isNotEmpty(centerdataTHydraulicRiver.getDeviceList())) {
             centerdataTHydraulicRiver.getDeviceList().forEach(item -> {
                 CenterdataTEquipmentCamera camera = new CenterdataTEquipmentCamera();
@@ -118,6 +160,7 @@ public class CenterdataTHydraulicRiverServiceImpl extends BaseServiceImpl implem
         for (String id : ids) {
             centerdataTEquipmentCameraService.deleteCenterdataTEquipmentCameraByBusinessId(id);
         }
+        centerdataTHydraulicRiverMapper.deletedCenterdataTHydraulicRiverBindHamlet(ids);//删除中间表
         return centerdataTHydraulicRiverMapper.deleteCenterdataTHydraulicRiverByIds(ids);
     }
 

+ 44 - 3
src/main/resources/mapper/digitalwater/CenterdataTHydraulicRiverMapper.xml

@@ -26,13 +26,20 @@
         <result property="latitude" column="latitude"/>
     </resultMap>
 
+    <resultMap id="CenterdataTHydraulicRiverBindHamletResult" type="CenterdataTHydraulicRiverBindHamlet">
+        <result property="id" column="id"/>
+        <result property="riverId" column="river_id"/>
+        <result property="hamletId" column="hamlet_id"/>
+    </resultMap>
     <sql id="selectCenterdataTHydraulicRiverVo">
         select id, name, basin_area, basin_area_county, river_source, estuary, riverway_length, riverway_length_county, dept_id, dept_name, create_by, create_name, create_time, update_by, update_name, update_time, data_status, longitude, latitude from centerdata_t_hydraulic_river
     </sql>
 
     <select id="selectCenterdataTHydraulicRiverList" parameterType="CenterdataTHydraulicRiver"
             resultMap="CenterdataTHydraulicRiverResult">
-        select a.* from centerdata_t_hydraulic_river a
+        select a.*,group_concat(c.dept_name) hamletLabel,group_concat(c.dept_id) hamlet  from centerdata_t_hydraulic_river a
+        left join centerdata_t_hydraulic_river_bind_hamlet b ON b.river_id = a.id
+        left join ${database_system}.sys_dept c on c.dept_id = b.hamlet_id
         left join ${database_system}.sys_dept d on d.dept_id = a.dept_id
         <where>
             <if test="name != null  and name != ''">and name like concat('%', #{name}, '%')</if>
@@ -40,12 +47,17 @@
             <if test="estuary != null  and estuary != ''">and estuary = #{estuary}</if>
             ${params.dataScope}
         </where>
+        GROUP BY b.river_id
         order by a.create_time desc
     </select>
 
     <select id="selectCenterdataTHydraulicRiverById" parameterType="String" resultMap="CenterdataTHydraulicRiverResult">
-        <include refid="selectCenterdataTHydraulicRiverVo"/>
-        where id = #{id}
+        select a.id, a.name, a.basin_area, a.basin_area_county, a.river_source, a.estuary, a.riverway_length, a.riverway_length_county, a.dept_id, a.dept_name, a.create_by, a.create_name,
+               a.create_time, a.update_by, a.update_name, a.update_time, a.data_status, a.longitude, a.latitude,group_concat(c.dept_name) hamletLabel , group_concat(b.hamlet_id) hamlet
+        from centerdata_t_hydraulic_river a
+        left join centerdata_t_hydraulic_river_bind_hamlet b on a.id = b.river_id
+        left join ${database_system}.sys_dept c on c.dept_id = b.hamlet_id
+        where a.id = #{id}
     </select>
     <select id="selectchannelBlueLineNumByRiver" resultType="java.lang.Integer">
         select count(*) from centerdata_t_hydraulic_channel_blueline
@@ -55,6 +67,11 @@
         select count(*) from centerdata_t_hydraulic_reach
         where river = #{id}
     </select>
+    <select id="selectCenterdataTHydraulicRiverBindHamletList"
+            resultType="com.sooka.sponest.data.digitalwater.domain.CenterdataTHydraulicRiverBindHamlet" resultMap="CenterdataTHydraulicRiverBindHamletResult">
+        SELECT * FROM  centerdata_t_hydraulic_river_bind_hamlet
+        where river_id = #{id}
+    </select>
 
     <insert id="insertCenterdataTHydraulicRiver" parameterType="CenterdataTHydraulicRiver">
         insert into centerdata_t_hydraulic_river
@@ -102,6 +119,7 @@
         </trim>
     </insert>
 
+
     <update id="updateCenterdataTHydraulicRiver" parameterType="CenterdataTHydraulicRiver">
         update centerdata_t_hydraulic_river
         <trim prefix="SET" suffixOverrides=",">
@@ -135,5 +153,28 @@
             #{id}
         </foreach>
     </delete>
+    <delete id="deletedCenterdataTHydraulicRiverBindHamlet">
+        delete from centerdata_t_hydraulic_river_bind_hamlet where
+        river_id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+    <insert id="insertCenterdataTHydraulicRiverBindHamlet" >
+        insert into centerdata_t_hydraulic_river_bind_hamlet
+        (
+        id,
+        river_id,
+        hamlet_id
+        )
+        <foreach item="item" collection="list" open="values " separator="," close="">
+            <trim prefix="(" suffix=")" suffixOverrides=",">
+                <if test="item.id != null">#{item.id},</if>
+                <if test="item.riverId != null and item.riverId != ''">#{item.riverId},</if>
+                <if test="item.hamletId != null and item.hamletId != ''">#{item.hamletId},</if>
 
+            </trim>
+        </foreach>
+
+    </insert>
 </mapper>