Browse Source

Merge remote-tracking branch 'origin/feature_zhujian' into feature_zhujian

Memory_LG 1 year ago
parent
commit
d29361262e

+ 3 - 0
data-ui/src/views/data/housingconstruction/personnel/index.vue

@@ -303,6 +303,9 @@ export default {
         post: [
           {required: true, message: "岗位不能为空", trigger: "blur"},
         ],
+        registerTime: [
+          {required: true, message: "登记时间不能为空", trigger: "blur"},
+        ],
         deptId: [
           {required: true, message: "所属部门不能为空", trigger: "change"},
         ],

+ 3 - 0
data-ui/src/views/data/housingconstruction/practitioner/index.vue

@@ -357,6 +357,9 @@ export default {
         post: [
           {required: true, message: "岗位不能为空", trigger: "blur"},
         ],
+        registerTime: [
+          {required: true, message: "登记不能为空", trigger: "blur"},
+        ],
         deptId: [
           {required: true, message: "所属部门不能为空", trigger: "change"},
         ],

+ 123 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/controller/CenterdataTHousingconstructionViewController.java

@@ -0,0 +1,123 @@
+package com.sooka.sponest.data.housingconstruction.controller;
+
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.sooka.sponest.data.housingconstruction.domain.*;
+import com.sooka.sponest.data.housingconstruction.service.ICenterdataTHousingconstructionViewService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/*
+* 住建-可视化
+*
+* @author 韩福成
+* @date 2024/8/1 下午3:01
+*/
+@RestController
+@RequestMapping("/housingView")
+public class CenterdataTHousingconstructionViewController extends BaseController {
+
+    @Autowired
+    private ICenterdataTHousingconstructionViewService housingconstructionViewService;
+
+    /*
+    * 液化气罐总数
+    *
+    * @author 韩福成
+    * @date 2024/8/1 下午3:03
+    */
+    @GetMapping("/getGasCylinderList")
+    public AjaxResult getGasCylinderList(CenterdataTHousingconstructionSteelcylinder steelcylinder) {
+        return AjaxResult.success(housingconstructionViewService.getGasCylinderList(steelcylinder));
+    }
+
+    /*
+    * 订单分析
+    *
+    * @author 韩福成
+    * @date 2024/8/1 下午3:28
+    */
+    @GetMapping("/getOrderList")
+    public AjaxResult getOrderList(CenterdataTHousingconstructionSteelcylinder steelcylinder) {
+        return AjaxResult.success(housingconstructionViewService.getOrderList(steelcylinder));
+    }
+
+    /*
+    * 车辆分析
+    *
+    * @author 韩福成
+    * @date 2024/8/1 下午4:18
+    */
+    @GetMapping("/getCarList")
+    public AjaxResult getCarList(CenterdataTHousingconstructionCar car) {
+        return AjaxResult.success(housingconstructionViewService.getCarList(car));
+    }
+
+    /*
+    * 用户分析
+    *
+    * @author 韩福成
+    * @date 2024/8/1 下午4:34
+    */
+    @GetMapping("/getUserList")
+    public AjaxResult getUserList(CenterdataTHousingconstructionRealnameuser realnameuser) {
+        return AjaxResult.success(housingconstructionViewService.getUserList(realnameuser));
+    }
+
+    /*
+    * 按规格统计钢瓶
+    *
+    * @author 韩福成
+    * @date 2024/8/1 下午4:49
+    */
+    @GetMapping("/getSteelcylinderList")
+    public AjaxResult getSteelcylinderList(CenterdataTHousingconstructionSteelcylinder steelcylinder) {
+        return AjaxResult.success(housingconstructionViewService.getSteelcylinderList(steelcylinder));
+    }
+
+    /*
+    * 从业人员、配送员、实名用户 统计
+    *
+    * @author 韩福成
+    * @date 2024/8/1 下午6:31
+    */
+    @GetMapping("/getThreeUserList")
+    public AjaxResult getThreeUserList(CenterdataTHousingconstructionRealnameuser realnameuser) {
+        return AjaxResult.success(housingconstructionViewService.getThreeUserList(realnameuser));
+    }
+
+    /*
+    * 实名用户
+    *
+    * @author 韩福成
+    * @date 2024/8/1 下午5:08
+    */
+    @GetMapping("/getRealnameuserList")
+    public AjaxResult getRealnameuserList(CenterdataTHousingconstructionRealnameuser realnameuser) {
+        return AjaxResult.success(housingconstructionViewService.getRealnameuserList(realnameuser));
+    }
+
+    /*
+    * 送气工作人员
+    *
+    * @author 韩福成
+    * @date 2024/8/1 下午5:31
+    */
+    @GetMapping("/getDeliverymanList")
+    public AjaxResult getDeliverymanList(CenterdataTHousingconstructionDeliveryPersonnel deliveryPersonnel) {
+        return AjaxResult.success(housingconstructionViewService.getDeliverymanList(deliveryPersonnel));
+    }
+
+    /*
+    * 企业库
+    *
+    * @author 韩福成
+    * @date 2024/8/1 下午7:24
+    */
+    @GetMapping("/getEnterpriseList")
+    public AjaxResult getEnterpriseList(CenterdataTHousingconstructionEnterprise enterprise) {
+        return AjaxResult.success(housingconstructionViewService.getEnterpriseList(enterprise));
+    }
+}

+ 35 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/mapper/CenterdataTHousingconstructionViewMapper.java

@@ -0,0 +1,35 @@
+package com.sooka.sponest.data.housingconstruction.mapper;
+
+
+import com.sooka.sponest.data.housingconstruction.domain.*;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 车辆数据Mapper接口
+ *
+ * @author 韩福成
+ * @date 2024-07-30
+ */
+public interface CenterdataTHousingconstructionViewMapper {
+
+    public Map<String,Object> getGasCylinderList(CenterdataTHousingconstructionSteelcylinder steelcylinder);
+
+    public List<Map<String,Object>> getOrderList(CenterdataTHousingconstructionSteelcylinder steelcylinder);
+
+    public List<Map<String,Object>> getCarList(CenterdataTHousingconstructionCar car);
+
+    public List<Map<String,Object>> getUserList(CenterdataTHousingconstructionRealnameuser realnameuser);
+
+    public List<Map<String,Object>> getSteelcylinderList(CenterdataTHousingconstructionSteelcylinder steelcylinder);
+
+    public List<Map<String,Object>> getThreeUserList(CenterdataTHousingconstructionRealnameuser realnameuser);
+
+    public List<Map<String,Object>> getRealnameuserList(CenterdataTHousingconstructionRealnameuser realnameuser);
+
+    public List<Map<String,Object>> getDeliverymanList(CenterdataTHousingconstructionDeliveryPersonnel deliveryPersonnel);
+
+    public List<Map<String,Object>> getEnterpriseList(CenterdataTHousingconstructionEnterprise enterprise);
+
+}

+ 35 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/service/ICenterdataTHousingconstructionViewService.java

@@ -0,0 +1,35 @@
+package com.sooka.sponest.data.housingconstruction.service;
+
+
+import com.sooka.sponest.data.housingconstruction.domain.*;
+
+import java.util.List;
+import java.util.Map;
+
+/*
+* 住建-可视化
+*
+* @author 韩福成
+* @date 2024/8/1 下午3:08
+*/
+public interface ICenterdataTHousingconstructionViewService {
+
+    public Map<String,Object> getGasCylinderList(CenterdataTHousingconstructionSteelcylinder steelcylinder);
+
+    public List<Map<String,Object>> getOrderList(CenterdataTHousingconstructionSteelcylinder steelcylinder);
+
+    public List<Map<String,Object>> getCarList(CenterdataTHousingconstructionCar car);
+
+    public List<Map<String,Object>> getUserList(CenterdataTHousingconstructionRealnameuser realnameuser);
+
+    public List<Map<String,Object>> getSteelcylinderList(CenterdataTHousingconstructionSteelcylinder steelcylinder);
+
+    public List<Map<String,Object>> getThreeUserList(CenterdataTHousingconstructionRealnameuser realnameuser);
+
+    public List<Map<String,Object>> getRealnameuserList(CenterdataTHousingconstructionRealnameuser realnameuser);
+
+    public List<Map<String,Object>> getDeliverymanList(CenterdataTHousingconstructionDeliveryPersonnel deliveryPersonnel);
+
+    public List<Map<String,Object>> getEnterpriseList(CenterdataTHousingconstructionEnterprise enterprise);
+
+}

+ 2 - 2
src/main/java/com/sooka/sponest/data/housingconstruction/service/impl/CenterdataTHousingconstructionPractitionerServiceImpl.java

@@ -67,7 +67,7 @@ public class CenterdataTHousingconstructionPractitionerServiceImpl extends BaseS
         centerdataTHousingconstructionPractitioner.setCreateBy(SecurityUtils.getUserId().toString());
         centerdataTHousingconstructionPractitioner.setCreateName(SecurityUtils.getLoginUser().getSysUser().getNickName());
         centerdataTHousingconstructionPractitioner.setCreateTime(DateUtils.getNowDate());
-        extracted(centerdataTHousingconstructionPractitioner);
+        //extracted(centerdataTHousingconstructionPractitioner);
         return centerdataTHousingconstructionPractitionerMapper.insertCenterdataTHousingconstructionPractitioner(centerdataTHousingconstructionPractitioner);
     }
 
@@ -82,7 +82,7 @@ public class CenterdataTHousingconstructionPractitionerServiceImpl extends BaseS
         centerdataTHousingconstructionPractitioner.setUpdateBy(SecurityUtils.getUserId());
         centerdataTHousingconstructionPractitioner.setUpdateName(SecurityUtils.getLoginUser().getSysUser().getNickName());
         centerdataTHousingconstructionPractitioner.setUpdateTime(DateUtils.getNowDate());
-        extracted(centerdataTHousingconstructionPractitioner);
+        //extracted(centerdataTHousingconstructionPractitioner);
         return centerdataTHousingconstructionPractitionerMapper.updateCenterdataTHousingconstructionPractitioner(centerdataTHousingconstructionPractitioner);
     }
 

+ 142 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/service/impl/CenterdataTHousingconstructionViewServiceImpl.java

@@ -0,0 +1,142 @@
+package com.sooka.sponest.data.housingconstruction.service.impl;
+
+import com.ruoyi.common.datascope.annotation.DataScopeMutiDept;
+import com.sooka.sponest.data.base.service.impl.BaseServiceImpl;
+import com.sooka.sponest.data.housingconstruction.domain.*;
+import com.sooka.sponest.data.housingconstruction.mapper.CenterdataTHousingconstructionViewMapper;
+import com.sooka.sponest.data.housingconstruction.service.ICenterdataTHousingconstructionViewService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 车辆数据Service业务层处理
+ *
+ * @author 韩福成
+ * @date 2024-07-30
+ */
+@Service
+public class CenterdataTHousingconstructionViewServiceImpl extends BaseServiceImpl implements ICenterdataTHousingconstructionViewService {
+    @Autowired
+    private CenterdataTHousingconstructionViewMapper centerdataTHousingconstructionViewMapper;
+
+    /*
+    * 液化气罐总数
+    *
+    * @author 韩福成
+    * @date 2024/8/1 下午3:13
+    */
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
+    public Map<String,Object> getGasCylinderList(CenterdataTHousingconstructionSteelcylinder steelcylinder) {
+        setSookaDataBase(steelcylinder);
+        return centerdataTHousingconstructionViewMapper.getGasCylinderList(steelcylinder);
+    }
+
+    /*
+    * 订单分析
+    *
+    * @author 韩福成
+    * @date 2024/8/1 下午3:30
+    */
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
+    public List<Map<String,Object>> getOrderList(CenterdataTHousingconstructionSteelcylinder steelcylinder) {
+        setSookaDataBase(steelcylinder);
+        return centerdataTHousingconstructionViewMapper.getOrderList(steelcylinder);
+    }
+
+    /*
+    * 车辆分析
+    *
+    * @author 韩福成
+    * @date 2024/8/1 下午4:20
+    */
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
+    public List<Map<String,Object>> getCarList(CenterdataTHousingconstructionCar car) {
+        setSookaDataBase(car);
+        return centerdataTHousingconstructionViewMapper.getCarList(car);
+    }
+
+    /*
+    * 用户分析
+    *
+    * @author 韩福成
+    * @date 2024/8/1 下午4:35
+    */
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
+    public List<Map<String,Object>> getUserList(CenterdataTHousingconstructionRealnameuser realnameuser) {
+        setSookaDataBase(realnameuser);
+        return centerdataTHousingconstructionViewMapper.getUserList(realnameuser);
+    }
+
+    /*
+    * 按规格统计钢瓶
+    *
+    * @author 韩福成
+    * @date 2024/8/1 下午4:51
+    */
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
+    public List<Map<String,Object>> getSteelcylinderList(CenterdataTHousingconstructionSteelcylinder steelcylinder) {
+        setSookaDataBase(steelcylinder);
+        return centerdataTHousingconstructionViewMapper.getSteelcylinderList(steelcylinder);
+    }
+
+    /*
+    *从业人员、配送员、实名用户 统计
+    *
+    * @author 韩福成
+    * @date 2024/8/1 下午6:34
+    */
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
+    public List<Map<String,Object>> getThreeUserList(CenterdataTHousingconstructionRealnameuser realnameuser) {
+        setSookaDataBase(realnameuser);
+        return centerdataTHousingconstructionViewMapper.getThreeUserList(realnameuser);
+    }
+
+    /*
+    * 实名用户
+    *
+    * @author 韩福成
+    * @date 2024/8/1 下午5:29
+    */
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
+    public List<Map<String,Object>> getRealnameuserList(CenterdataTHousingconstructionRealnameuser realnameuser) {
+        setSookaDataBase(realnameuser);
+        return centerdataTHousingconstructionViewMapper.getRealnameuserList(realnameuser);
+    }
+
+    /*
+    * 送气工作人员
+    *
+    * @author 韩福成
+    * @date 2024/8/1 下午6:22
+    */
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
+    public List<Map<String,Object>> getDeliverymanList(CenterdataTHousingconstructionDeliveryPersonnel deliveryPersonnel) {
+        setSookaDataBase(deliveryPersonnel);
+        return centerdataTHousingconstructionViewMapper.getDeliverymanList(deliveryPersonnel);
+    }
+
+    /*
+    * 企业库
+    *
+    * @author 韩福成
+    * @date 2024/8/1 下午7:27
+    */
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
+    public List<Map<String,Object>> getEnterpriseList(CenterdataTHousingconstructionEnterprise enterprise) {
+        setSookaDataBase(enterprise);
+        return centerdataTHousingconstructionViewMapper.getEnterpriseList(enterprise);
+    }
+
+}

+ 191 - 0
src/main/resources/mapper/housingconstruction/CenterdataTHousingconstructionViewMapper.xml

@@ -0,0 +1,191 @@
+<?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.sooka.sponest.data.housingconstruction.mapper.CenterdataTHousingconstructionViewMapper">
+
+    <select id="getGasCylinderList" parameterType="CenterdataTHousingconstructionSteelcylinder" resultType="map">
+        select
+            sum(case when state='state_4' then 1 else 0 end) inUse,
+            sum(case when state!='state_4' then 1 else 0 end) toUse
+        from centerdata_t_housingconstruction_steelcylinder a
+        LEFT JOIN ${database_system}.sys_dept d ON a.dept_id = d.dept_id
+        WHERE 1=1 ${params.dataScope}
+    </select>
+
+    <select id="getOrderList" parameterType="CenterdataTHousingconstructionSteelcylinder" resultType="map">
+        SELECT concat(a.`month`,'月') `month`, IFNULL(b.num, 0) num
+        FROM (SELECT 1 AS `month` UNION
+              SELECT 2 AS `month` UNION
+              SELECT 3 AS `month` UNION
+              SELECT 4 AS `month` UNION
+              SELECT 5 AS `month` UNION
+              SELECT 6 AS `month` UNION
+              SELECT 7 AS `month` UNION
+              SELECT 8 AS `month` UNION
+              SELECT 9 AS `month` UNION
+              SELECT 10 AS `month` UNION
+              SELECT 11 AS `month` UNION
+              SELECT 12 AS `month`) a
+                 left join
+             (SELECT MONTH( b.sign_time ) `month`, count( b.id ) num
+              FROM
+                  centerdata_t_housingconstruction_steelcylinder a
+                  LEFT JOIN ${database_system}.sys_dept d ON a.dept_id = d.dept_id
+                  LEFT JOIN centerdata_t_housingconstruction_steelcylinder_log b ON a.id = b.steelcylinder_id
+              WHERE
+                  YEAR( b.sign_time ) = YEAR( CURRENT_DATE )
+                  ${params.dataScope}
+              GROUP BY
+                  MONTH( b.sign_time )) b on a.`month` = b.`month`
+        ORDER BY a.`month`
+    </select>
+
+    <select id="getCarList" parameterType="CenterdataTHousingconstructionCar" resultType="map">
+        SELECT
+            a.car_number carNumber,
+            a.manager_name managerName,
+            a.speed
+        FROM
+            centerdata_t_housingconstruction_car a
+            left join ${database_system}.sys_dept d on a.dept_id = d.dept_id
+        <where>
+            <if test="enterpriseId != null  and enterpriseId != ''"> and a.enterprise_id = #{enterpriseId}</if>
+            <if test="carNumber != null  and carNumber != ''"> and a.car_number like concat('%', #{carNumber}, '%')</if>
+            ${params.dataScope}
+        </where>
+    </select>
+
+    <select id="getUserList" parameterType="CenterdataTHousingconstructionRealnameuser" resultType="map">
+        SELECT
+            'total' type,
+            count( a.id ) num
+        FROM
+            centerdata_t_housingconstruction_realnameuser a
+                LEFT JOIN ${database_system}.sys_dept d ON a.dept_id = d.dept_id
+        where 1=1 ${params.dataScope}
+        UNION ALL
+        SELECT
+            'add' type,
+            count( a.id ) num
+        FROM
+            centerdata_t_housingconstruction_realnameuser a
+                LEFT JOIN ${database_system}.sys_dept d ON a.dept_id = d.dept_id
+        WHERE a.create_time >= DATE_SUB( CURRENT_DATE, INTERVAL 30 DAY )
+            ${params.dataScope}
+    </select>
+
+    <select id="getSteelcylinderList" parameterType="CenterdataTHousingconstructionSteelcylinder" resultType="map">
+        SELECT
+            a.dict_label type,
+            IFNULL(b.num,0) num
+        from onest_system.sys_dict_data a
+        left join (
+        SELECT
+            a.standards,
+            count(a.id) num
+        FROM
+            centerdata_t_housingconstruction_steelcylinder a
+                LEFT JOIN ${database_system}.sys_dept d ON a.dept_id = d.dept_id
+        <where>
+            <if test="enterpriseId != null  and enterpriseId != ''"> and a.enterprise_id = #{enterpriseId}</if>
+            ${params.dataScope}
+        </where>
+        GROUP BY a.standards) b on a.dict_value = b.standards
+        where a.dict_type = 'steelcylinder_type'
+        order by a.dict_code
+    </select>
+
+    <select id="getThreeUserList" parameterType="CenterdataTHousingconstructionRealnameuser" resultType="map">
+
+        SELECT concat(a.`month`,'月') `month`,IFNULL(b.num,0) cyNum,IFNULL(c.num,0) psNum,IFNULL(d.num,0) smNum FROM
+            (SELECT 1 AS `month` UNION
+             SELECT 2 AS `month` UNION
+             SELECT 3 AS `month` UNION
+             SELECT 4 AS `month` UNION
+             SELECT 5 AS `month` UNION
+             SELECT 6 AS `month` UNION
+             SELECT 7 AS `month` UNION
+             SELECT 8 AS `month` UNION
+             SELECT 9 AS `month` UNION
+             SELECT 10 AS `month` UNION
+             SELECT 11 AS `month` UNION
+             SELECT 12 AS `month`) a
+                left join
+            (SELECT MONTH( a.register_time ) `month`,count( a.id ) num
+             FROM
+                 centerdata_t_housingconstruction_practitioner a
+                 LEFT JOIN ${database_system}.sys_dept d ON a.dept_id = d.dept_id
+             WHERE
+                 YEAR ( a.register_time ) = YEAR ( CURRENT_DATE )
+            <if test="enterpriseId != null  and enterpriseId != ''"> and a.enterprise_id = #{enterpriseId}</if>
+                 ${params.dataScope}
+             group by MONTH( a.register_time )) b on a.`month` = b.`month`
+                left join
+            (SELECT MONTH( a.register_time ) `month`,
+                 count( a.id ) num
+             FROM
+                 centerdata_t_housingconstruction_delivery_personnel a
+                 LEFT JOIN ${database_system}.sys_dept d ON a.dept_id = d.dept_id
+             WHERE
+                 YEAR ( a.register_time ) = YEAR ( CURRENT_DATE )
+            <if test="enterpriseId != null  and enterpriseId != ''"> and a.enterprise_id = #{enterpriseId}</if>
+                 ${params.dataScope}
+             group by MONTH( a.register_time )) c on a.`month` =c.`month`
+
+                left join
+            (SELECT MONTH( a.account_open_time ) `month`,
+                 count( a.id ) num
+             FROM
+                 centerdata_t_housingconstruction_realnameuser a
+                 LEFT JOIN ${database_system}.sys_dept d ON a.dept_id = d.dept_id
+             WHERE
+                 YEAR ( a.account_open_time ) = YEAR ( CURRENT_DATE )
+            <if test="enterpriseId != null  and enterpriseId != ''"> and a.enterprise_id = #{enterpriseId}</if>
+                 ${params.dataScope}
+             group by MONTH( a.account_open_time )) d on a.`month` =d.`month`
+        ORDER BY a.`month`
+    </select>
+
+    <select id="getRealnameuserList" parameterType="CenterdataTHousingconstructionRealnameuser" resultType="map">
+        SELECT a.enterprise_user_type type,
+               count(a.id) num
+        FROM centerdata_t_housingconstruction_realnameuser a
+                 LEFT JOIN ${database_system}.sys_dept d ON a.dept_id = d.dept_id
+        <where>
+            <if test="enterpriseId != null  and enterpriseId != ''"> and a.enterprise_id = #{enterpriseId}</if>
+            ${params.dataScope}
+        </where>
+        GROUP BY
+            a.enterprise_user_type
+    </select>
+
+    <select id="getDeliverymanList" parameterType="CenterdataTHousingconstructionDeliveryPersonnel" resultType="map">
+        SELECT
+            a.staff_name staffName,
+            a.phone,
+            '送货中' type
+        FROM
+            centerdata_t_housingconstruction_delivery_personnel a
+                LEFT JOIN ${database_system}.sys_dept d ON a.dept_id = d.dept_id
+        WHERE a.post = 'personnel_sj'
+        <if test="enterpriseId != null  and enterpriseId != ''"> and a.enterprise_id = #{enterpriseId}</if>
+            ${params.dataScope}
+    </select>
+
+    <select id="getEnterpriseList" parameterType="CenterdataTHousingconstructionEnterprise" resultType="map">
+        SELECT
+            a.id enterpriseId,
+            a.enterprise_name enterpriseName,
+            count( b.id ) num
+        FROM
+            centerdata_t_housingconstruction_enterprise a
+                LEFT JOIN ${database_system}.sys_dept d ON a.dept_id = d.dept_id
+                LEFT JOIN centerdata_t_housingconstruction_steelcylinder b ON a.id = b.enterprise_id
+        <where>
+            ${params.dataScope}
+        </where>
+        GROUP BY
+            a.id
+    </select>
+</mapper>