Quellcode durchsuchen

数据统计图

JX.Li vor 1 Jahr
Ursprung
Commit
6463b286ad

+ 9 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEngineeringCivilController.java

@@ -50,6 +50,14 @@ public class ZEngineeringCivilController extends BaseController {
 
 
     /**
+     * 根据某个行政区下所有小区进行施工统计(柱状图)
+     * */
+    @GetMapping("selectByDistrictStatistics")
+    public R<Map<String, List<?>>> selectByDistrictStatistics(String district){
+        return R.ok(iZEngineeringCivilService.selectByDistrictStatistics(district));
+    }
+
+    /**
      * 查询民用工程列表
      */
     @SaCheckPermission("zdsz:engineeringCivil:list")
@@ -165,7 +173,7 @@ public class ZEngineeringCivilController extends BaseController {
     }
     @Log(title = "民用工程", businessType = BusinessType.DELETE)
     @GetMapping("/getsumStatus")
-    public R getsumStatus(ZEngineeringCivilBo bo) {
+    public R<?> getsumStatus(ZEngineeringCivilBo bo) {
         return R.ok(iZEngineeringCivilService.getsumStatus(bo));
     }
 

+ 5 - 5
ruoyi-admin/src/main/resources/application-dev.yml

@@ -182,13 +182,13 @@ sms:
     territory: ap-guangzhou
 huawei:
   obs:
-    ak: KZVKAAUQENCKITHZ3EWO
-    sk: B7tLa82CJ5EdNOh5a2G9i77sPYh8skcydTk3C8sb
+    ak: TEAGJ1GSLMIJVDIX914U
+    sk: jKm4WzEoLaMKVpzQL7jxQaFqgh4rJubK02bLcB5H
     upload:
-      endPoint: obs.cn-north-4.myhuaweicloud.com
+      endPoint: obs.cn-south-1.myhuaweicloud.com
     access:
-      endPoint: https://szrqgz1.obs.cn-north-4.myhuaweicloud.com
-    bucketName: szrqgz1
+      endPoint: https://zdszcs.obs.cn-south-1.myhuaweicloud.com
+    bucketName: zdszcs
 tableNames:
   #动态表名月分(该处为需要动态表的表名,号分割)
   Month: z_engineering_review,z_engiineering_photo,z_engineering_info,z_engineering_material,z_engineering_node

+ 12 - 12
ruoyi-admin/src/main/resources/application-prod.yml

@@ -52,17 +52,17 @@ spring:
           driverClassName: com.mysql.cj.jdbc.Driver
           # jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
           # rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
-          url: jdbc:mysql://192.168.10.15:63306/sj_zdsz?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
-          username: root
-          password: sooka1a2b3c4d%...
+          url: jdbc:mysql://121.36.97.146:13306/zdsz?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
+          username: zdsz
+          password: ZDSZ1a2b3c4d%...
         # 从库数据源
-        slave:
-          lazy: true
-          type: ${spring.datasource.type}
-          driverClassName: com.mysql.cj.jdbc.Driver
-          url: jdbc:mysql://192.168.10.15:63306/sj_zdsz?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
-          username: root
-          password: sooka1a2b3c4d%...
+#        slave:
+#          lazy: true
+#          type: ${spring.datasource.type}
+#          driverClassName: com.mysql.cj.jdbc.Driver
+#          url: jdbc:mysql://192.168.10.15:63306/sj_zdsz?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
+#          username: root
+#          password: sooka1a2b3c4d%...
 #        oracle:
 #          type: ${spring.datasource.type}
 #          driverClassName: oracle.jdbc.OracleDriver
@@ -107,7 +107,7 @@ spring:
     # 数据库索引
     database: 0
     # 密码(如没有密码请注释掉)
-#    password: sooka123456
+    password: ZDSZ1a2b3c4d%...
     # 连接超时时间
     timeout: 10s
     # 是否开启ssl
@@ -199,4 +199,4 @@ tableNames:
   Year: z_engineering_review
 
 # 临时文件路径
-filePath: /temporary/
+filePath: /usr/local/zdsz/temporary/

+ 3 - 3
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/mapper/ZEngineeringCivilMapper.java

@@ -10,6 +10,7 @@ import com.ruoyi.common.core.mapper.BaseMapperPlus;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 民用工程Mapper接口
@@ -18,14 +19,13 @@ import java.util.List;
  * @date 2023-12-27
  */
 public interface ZEngineeringCivilMapper extends BaseMapperPlus<ZEngineeringCivilMapper, ZEngineeringCivil, ZEngineeringCivilVo> {
-
-
+    List<Map<String, Integer>> selectByDistrictStatistics(String district);
     Page<ZEngineeringCivilVo> queryPageList(@Param("p") ZEngineeringCivilBo bo,@Param("pa")Page<?> page,@Param("page") Integer pages,@Param("size") Integer size);
 
     List<roomStatusVo> getObtainRoomcCompletionInformationList(ZEngineeringCivilBo bo);
     List<areaWillDoneVo> getAreaCompletionInformationList(@Param("idList") List idList,@Param("enginCycle")String enginCycle);
     List<areaWillDoneVo> getAreaCompletionInformationList2(@Param("enginCycle")String enginCycle);
-    areaStatusVo getsumStatus(String enginCycle);
+    Map<String,Number> getsumStatus(String district);
 
     areaMessageVo getHouseMessage(String Id);
     areaMessageVo getAreaMessage(String Id);

+ 3 - 1
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringCivilService.java

@@ -23,6 +23,8 @@ import java.util.Map;
  */
 public interface IZEngineeringCivilService {
 
+
+    Map<String, List<?>> selectByDistrictStatistics(String district);
     /**
      * 查询民用工程
      */
@@ -63,7 +65,7 @@ public interface IZEngineeringCivilService {
 
     TableDataInfo<areaStatusVo> getAreaCompletionInformationList(ZEngineeringCivilBo bo,PageQuery po);
     List<areaStatusVo> getAreaCompletionInformationList2(ZEngineeringCivilBo bo);
-    areaStatusVo getsumStatus(ZEngineeringCivilBo bo);
+    Map<String,Number> getsumStatus(ZEngineeringCivilBo bo);
     int   batchReview (ZEngineeringCivilBo bo, ZEngineeringNodeBo zEngineeringNodeBo);
     /**
      * 审核并保存图片至服务器文件夹

+ 23 - 3
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringCivilServiceImpl.java

@@ -66,6 +66,26 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
     @Resource
     private IZEngiineeringPhotoService izEngiineeringPhotoService;
 
+    @Override
+    public Map<String, List<?>> selectByDistrictStatistics(String district) {
+        List<String> name = new ArrayList<>();
+        List<Integer> wsg = new ArrayList<>();
+        List<Integer> ysg = new ArrayList<>();
+        List<Integer> jg = new ArrayList<>();
+        for (Map<String, Integer> item : baseMapper.selectByDistrictStatistics(district)) {
+            name.add(String.valueOf(item.get("name")));
+            wsg.add(item.get("weishigong"));
+            ysg.add(item.get("shigongzhong"));
+            jg.add(item.get("jungong"));
+        }
+        Map<String, List<?>> listMap = new HashMap<>();
+        listMap.put("name",name);
+        listMap.put("wsh",wsg);
+        listMap.put("ysg",ysg);
+        listMap.put("jg",jg);
+        return listMap;
+    }
+
     /**
      * 查询民用工程
      */
@@ -394,9 +414,9 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
     }
 
     @Override
-    public areaStatusVo getsumStatus(ZEngineeringCivilBo bo) {
-        areaStatusVo areaStatusVo = baseMapper.getsumStatus(bo.getEnginCycle());
-        areaStatusVo.setNotstart(String.valueOf(Integer.parseInt(areaStatusVo.getNotstart()) - Integer.parseInt(areaStatusVo.getWillDone()) - Integer.parseInt(areaStatusVo.getDone())));
+    public Map<String,Number> getsumStatus(ZEngineeringCivilBo bo) {
+        Map<String,Number> areaStatusVo = baseMapper.getsumStatus(bo.getDistrict());
+//        areaStatusVo.setNotstart(String.valueOf(Integer.parseInt(areaStatusVo.getNotstart()) - Integer.parseInt(areaStatusVo.getWillDone()) - Integer.parseInt(areaStatusVo.getDone())));
         return areaStatusVo;
     }
 

+ 32 - 9
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringCivilMapper.xml

@@ -24,6 +24,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="updateBy" column="update_by"/>
         <result property="updateTime" column="update_time"/>
     </resultMap>
+
+    <select id="selectByDistrictStatistics" resultType="java.util.Map">
+        select aas.name AS name,
+               MAX(CASE aas.statu WHEN '未施工' THEN aas.num ELSE 0 END ) weishigong,
+               MAX(CASE aas.statu WHEN '施工中' THEN aas.num ELSE 0 END ) shigongzhong ,
+               MAX(CASE aas.statu WHEN '竣工' THEN aas.num ELSE 0 END ) jungong
+        FROM (SELECT
+                      (SELECT name FROM z_area WHERE id = al.zarea) AS name,
+                      IF(ISNULL(al.completion_status),'未施工',al.completion_status) AS statu,
+                      COUNT(ISNULL(al.completion_status)) AS num
+              FROM (SELECT zh.id zid, zh.area_id zarea,zec.* FROM z_house zh
+                                                                      LEFT JOIN z_engineering_civil zec on zec.house_id = zh.id
+                    WHERE zh.area_id in (SELECT id FROM z_area WHERE district = #{district} AND del_flag = '0')) al GROUP BY al.zarea,al.completion_status) aas group by aas.name
+    </select>
+
     <select id="queryPageList" resultType="com.ruoyi.zdsz.domain.vo.ZEngineeringCivilVo">
         select
         (select count(id)
@@ -152,15 +167,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         zh.del_flag = 0
         ORDER BY za.id ASC
     </select>
-    <select id="getsumStatus" resultType="com.ruoyi.zdsz.domain.vo.areaStatusVo">
-        SELECT
-            COUNT( DISTINCT a.house_id ) AS 'willDone' ,
-            ( SELECT COUNT( DISTINCT a.house_id ) FROM z_engineering_civil a WHERE a.completion_status = '竣工' AND a.engin_cycle=#{enginCycle}) AS 'done',
-            ( SELECT COUNT( a.id ) FROM z_house a )  AS 'notstart'
-        FROM
-            z_engineering_civil a
-        WHERE
-            a.completion_status = '施工中'AND a.engin_cycle=#{enginCycle}
+    <select id="getsumStatus" resultType="java.util.Map">
+        select
+            MAX(CASE aas.statu WHEN '未施工' THEN aas.num ELSE 0 END ) weishigong,
+            MAX(CASE aas.statu WHEN '施工中' THEN aas.num ELSE 0 END ) shigongzhong ,
+            MAX(CASE aas.statu WHEN '竣工' THEN aas.num ELSE 0 END ) jungong
+        FROM (
+                 SELECT
+
+                     al.completion_status AS statu,
+                     COUNT(ISNULL(al.completion_status)) AS num
+                 FROM (
+                          SELECT
+                              IF(ISNULL(zec.completion_status),'未施工',zec.completion_status) completion_status
+                          FROM z_house zh
+                                   LEFT JOIN z_engineering_civil zec on zec.house_id = zh.id and zec.del_flag = '0'
+                          WHERE zh.area_id IN (SELECT id FROM z_area za WHERE za.district = #{district} and za.del_flag = '0')
+                      ) al GROUP BY al.completion_status) aas
     </select>
     <select id="getHouseMessage" resultType="com.ruoyi.zdsz.domain.vo.areaMessageVo">
         SELECT