Browse Source

水源信息模块

yq 4 years ago
parent
commit
ebf0a3aad6

+ 49 - 0
mhfire-mapping/src/main/java/com/bizmatics/mhfire/persistence/mapper/FireWaterMapper.java

@@ -0,0 +1,49 @@
+package com.bizmatics.mhfire.persistence.mapper;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.Map;
+
+/**
+ * @author yq
+ * @date 2021/5/27 15:46
+ * 消防水源信息
+ */
+@Repository
+public interface FireWaterMapper {
+
+
+    /**
+     * 根据id查询水源
+     * @param id
+     * @return
+     */
+    Map<String,Object> selectOne(@Param("id") String id);
+
+
+    /**
+     * 分页查询
+     * @param page
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    Page<Map<String,Object>> page(IPage<Map<String,Object>> page,
+                                  @Param("startTime") String startTime,
+                                  @Param("endTime")String endTime);
+
+
+    /**
+     *
+     * @param waterType 水源类型
+     * @param waterNature 水源性质
+     * @param getWaterType 取水形式
+     * @return
+     */
+    Integer selectCountByWaterNature(@Param("waterType") String waterType,
+                                     @Param("waterNature") String waterNature,
+                                     @Param("getWaterType") String getWaterType);
+}

+ 34 - 0
mhfire-mapping/src/main/resources/mapper/mysql/FireWaterMapper.xml

@@ -0,0 +1,34 @@
+<?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.bizmatics.mhfire.persistence.mapper.FireWaterMapper">
+
+    <select id="selectOne" resultType="java.util.Map">
+        select * from jbzb-syxx where ID = #{id}
+    </select>
+    <select id="page" resultType="java.util.Map">
+        select * from jbzb-syxx
+        <where>
+            <if test="startTime != null and startTime !=''">
+                and sy.BDP_AUDIT >= #{startTime}
+            </if>
+            <if test="endTime !=null and endTime !=''">
+                and sy.BDP_AUDIT &lt;= #{endTime}
+            </if>
+        </where>
+    </select>
+    <select id="selectCountByWaterNature" resultType="java.lang.Integer">
+        select count(1)
+        from jbzb-syxx as sy
+        <where>
+            <if test="waterType != null and waterType !=''">
+                and sy.水源类型 = #{waterType}
+            </if>
+            <if test="waterNature !=null and waterNature !=''">
+                and sy.水源性质 = #{waterNature}
+            </if>
+            <if test="getWaterType !=null and getWaterType != ''">
+                and sy.取水形式 = #{getWaterType}
+            </if>
+        </where>
+    </select>
+</mapper>

+ 39 - 0
mhfire-service/src/main/java/com/bizmatics/mhfire/service/FireWaterService.java

@@ -0,0 +1,39 @@
+package com.bizmatics.mhfire.service;
+
+import com.bizmatics.common.core.bean.CommonPage;
+import com.bizmatics.mhfire.service.po.FireWaterPO;
+import com.bizmatics.mhfire.service.vo.FireWaterStatisticsVO;
+
+/**
+ * @author yq
+ * @date 2021/5/27 16:16
+ * 水源信息
+ */
+public interface FireWaterService {
+
+
+    /**
+     * get one
+     * @param id
+     * @return
+     */
+    FireWaterPO getOne(String id);
+
+
+    /**
+     * 分页
+     * @param current
+     * @param size
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    CommonPage<FireWaterPO> page(Integer current,Integer size,String startTime,String endTime);
+
+
+    /**
+     * 水源统计
+     * @return
+     */
+    FireWaterStatisticsVO getFireWaterStatistics();
+}

+ 86 - 0
mhfire-service/src/main/java/com/bizmatics/mhfire/service/impl/FireWaterServiceImpl.java

@@ -0,0 +1,86 @@
+package com.bizmatics.mhfire.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.bizmatics.common.core.bean.CommonPage;
+import com.bizmatics.mhfire.persistence.mapper.FireWaterMapper;
+import com.bizmatics.mhfire.service.FireWaterService;
+import com.bizmatics.mhfire.service.po.FireWaterPO;
+import com.bizmatics.mhfire.service.po.UnitPO;
+import com.bizmatics.mhfire.service.vo.FireWaterStatisticsVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author yq
+ * @date 2021/5/27 16:16
+ */
+@Service
+public class FireWaterServiceImpl implements FireWaterService {
+
+    @Autowired
+    private FireWaterMapper fireWaterMapper;
+    @Override
+    public FireWaterPO getOne(String id) {
+        return enhanceFireWaterPo(fireWaterMapper.selectOne(id));
+    }
+
+    @Override
+    public CommonPage<FireWaterPO> page(Integer current, Integer size, String startTime, String endTime) {
+        List<FireWaterPO> list = new ArrayList<>();
+        Page<Map<String, Object>> page = new Page<>(current, size);
+        page = fireWaterMapper.page(page, startTime, endTime);
+        page.getRecords().forEach(stringObjectMap -> list.add(enhanceFireWaterPo(stringObjectMap)));
+        return new CommonPage<>(list, page.getTotal(), page.getSize(), page.getCurrent());
+    }
+
+    @Override
+    public FireWaterStatisticsVO getFireWaterStatistics() {
+        FireWaterStatisticsVO fireWaterStatisticsVO = new FireWaterStatisticsVO();
+        fireWaterStatisticsVO.setMunicipalFireCode(
+                fireWaterMapper.selectCountByWaterNature("消火栓","市政",null));
+        fireWaterStatisticsVO.setCommunityFireCode(
+                fireWaterMapper.selectCountByWaterNature("消火栓","社区",null));
+        fireWaterStatisticsVO.setUnitFireCode(
+                fireWaterMapper.selectCountByWaterNature("消火栓","单位",null));
+        fireWaterStatisticsVO.setNaturalWater(
+                fireWaterMapper.selectCountByWaterNature("天然水源",null,null));
+        fireWaterStatisticsVO.setMunicipalWater(
+                fireWaterMapper.selectCountByWaterNature(null,"市政",null));
+        fireWaterStatisticsVO.setResidentWater(
+                fireWaterMapper.selectCountByWaterNature(null,"居民",null));
+        fireWaterStatisticsVO.setUnitWater(
+                fireWaterMapper.selectCountByWaterNature(null,"单位",null));
+        fireWaterStatisticsVO.setMunicipalGetWater(
+                fireWaterMapper.selectCountByWaterNature(null,null,"市政"));
+        fireWaterStatisticsVO.setLandGetWater(
+                fireWaterMapper.selectCountByWaterNature(null,null,"地上"));
+        return fireWaterStatisticsVO;
+    }
+
+    /**
+     * map转换为unitpo
+     * @param fireWaterMap
+     * @return
+     */
+    public FireWaterPO enhanceFireWaterPo(Map<String,Object> fireWaterMap){
+        FireWaterPO fireWaterPO = new FireWaterPO();
+        fireWaterPO.setAddress(fireWaterMap.get("水源地址").toString());
+        //TODO 责任人字段没有
+        fireWaterPO.setDutyPerson(fireWaterMap.get("责任人").toString());
+        //TODO 手机号字段没有
+        fireWaterPO.setPhone(fireWaterMap.get("手机号").toString());
+        fireWaterPO.setType(fireWaterMap.get("水源类型").toString());
+        fireWaterPO.setJurisdictionalAgency(fireWaterMap.get("管辖机构名称").toString());
+        fireWaterPO.setGetWaterType(fireWaterMap.get("取水形式").toString());
+        //TODO 水源行政字段没有
+        fireWaterPO.setWaterAdministrative(fireWaterMap.get("手机号").toString());
+        fireWaterPO.setStatus(fireWaterMap.get("可用状态").toString());
+        fireWaterPO.setWaterUnit(fireWaterMap.get("供水单位").toString());
+        fireWaterPO.setWaterGage(fireWaterMap.get("管网压力").toString());
+        return fireWaterPO;
+    }
+}

+ 66 - 0
mhfire-service/src/main/java/com/bizmatics/mhfire/service/po/FireWaterPO.java

@@ -0,0 +1,66 @@
+package com.bizmatics.mhfire.service.po;
+
+import lombok.Data;
+
+/**
+ * @author yq
+ * @date 2021/5/27 16:17
+ * 水源信息
+ */
+@Data
+public class FireWaterPO {
+
+    /**
+     * 地址
+     */
+    public String address;
+
+    /**
+     * 责任人
+     */
+    private String dutyPerson;
+
+    /**
+     * 手机号
+     */
+    private String phone;
+
+
+    /**
+     * 水源类型
+     */
+    private String type;
+
+    /**
+     * 管辖机构
+     */
+    private String jurisdictionalAgency;
+
+    /**
+     * 取水形式
+     */
+    private String getWaterType;
+
+
+    /**
+     * 水源行政
+     */
+    private String waterAdministrative;
+
+    /**
+     * 状态
+     */
+    private String status;
+
+    /**
+     * 供水单位
+     */
+    private String waterUnit;
+
+
+    /**
+     * 水压
+     */
+    private String waterGage;
+
+}

+ 61 - 0
mhfire-service/src/main/java/com/bizmatics/mhfire/service/vo/FireWaterStatisticsVO.java

@@ -0,0 +1,61 @@
+package com.bizmatics.mhfire.service.vo;
+
+import lombok.Data;
+
+/**
+ * @author yq
+ * @date 2021/5/27 16:31
+ * 水源统计信息
+ */
+@Data
+public class FireWaterStatisticsVO {
+
+
+    /**
+     * 市政消火栓
+     */
+    private Integer municipalFireCode;
+
+
+    /**
+     * 社区消火栓
+     */
+    private Integer communityFireCode;
+
+    /**
+     * 单位消火栓
+     */
+    private Integer unitFireCode;
+
+    /**
+     * 天然水源
+     */
+    private Integer naturalWater;
+
+    /**
+     * 市政水源
+     */
+    private Integer municipalWater;
+
+    /**
+     * 居民水源
+     */
+    private Integer residentWater;
+
+    /**
+     * 单位水源
+     */
+    private Integer unitWater;
+
+    /**
+     * 市政取水
+     */
+    private Integer municipalGetWater;
+
+
+    /**
+     * 地下取水
+     */
+    private Integer landGetWater;
+
+}