Forráskód Böngészése

添加报警器导出

JX.Li 2 hónapja
szülő
commit
3bacbcb2dc

+ 6 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEngineeringCivilController.java

@@ -46,6 +46,12 @@ public class ZEngineeringCivilController extends BaseController {
     private IZEngineeringReviewService izEngineeringReviewService;
 
 
+    @PostMapping("/alarmApparatusExport")
+    public void alarmApparatusExport(ZEngineeringCivilBo bo, PageQuery pageQuery, HttpServletResponse response) {
+        List<ZEngineeringCivilAlarmApparatusExport> zEngineeringCivilAlarmApparatusExports = iZEngineeringCivilService.alarmApparatusExport(bo);
+        ExcelUtil.exportTemplate(Collections.singletonList(zEngineeringCivilAlarmApparatusExports), "民用工程-报警器", "excel/ZEngineeringCivilAlarmApparatusExport.xlsx", response);
+    }
+
     @PostMapping("/exportBottomLeg")
     public void exportBottomLeg(ZEngineeringCivilBo bo, PageQuery pageQuery, HttpServletResponse response) {
         List<ZEngineeringCivilBottomLegExport> zEngineeringCivilExportVos = iZEngineeringCivilService.exportBottomLeg(bo);

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

@@ -55,9 +55,9 @@ spring:
 #          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%...
-          url: jdbc:mysql://123.249.95.134:13306/zdsz?allowMultiQueries=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
-          username: root
-          password: ZDSZ1a2b3c4d%...
+#          url: jdbc:mysql://123.249.95.134:13306/zdsz?allowMultiQueries=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
+#          username: root
+#          password: ZDSZ1a2b3c4d%...
         # 从库数据源
 #        slave:
 #          lazy: true

BIN
ruoyi-admin/src/main/resources/excel/ZEngineeringCivilAlarmApparatusExport.xlsx


+ 1 - 1
ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DynamicNameAspect.java

@@ -65,7 +65,7 @@ public class DynamicNameAspect {
                 context.setVariable(paramNames[i], args[i]);
             }
             Date tableName = expression.getValue(context, Date.class);
-            log.info(tableName.toString());
+//            log.info(tableName.toString());
             //防止注入若想查询大于当前日期之后的表默认返回当前日期
             if (StringUtils.hasText(tableName.toString())&&new Date().after(tableName)) {
                 String date=  new SimpleDateFormat("yyyy_MM").format(tableName);

+ 1 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/ZEngineeringMaterial.java

@@ -51,6 +51,7 @@ public class ZEngineeringMaterial extends BaseEntity {
     /**
      * 材质
      */
+    private String materialQualityCode;
     private String materialQuality;
     /**
      * 规格

+ 1 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringMaterialBo.java

@@ -58,6 +58,7 @@ public class ZEngineeringMaterialBo extends BaseEntity {
      * 材质
      */
     private String materialQuality;
+    private String materialQualityCode;
     private String materialQualityName;
 
     /**

+ 69 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngineeringCivilAlarmApparatusExport.java

@@ -0,0 +1,69 @@
+package com.ruoyi.zdsz.domain.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.ruoyi.common.annotation.ExcelDictFormat;
+import com.ruoyi.common.convert.ExcelDictConvert;
+import com.ruoyi.common.core.domain.BaseEntity;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 民用工程视图对象 z_engineering_civil
+ *
+ * @author ruoyi
+ * @date 2023-12-27
+ */
+@Data
+@ExcelIgnoreUnannotated
+public class ZEngineeringCivilAlarmApparatusExport extends BaseEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+    // 序号
+    private String id;
+    // 管理所
+    private String managementName;
+    // 行政区
+    private String district;
+    // 小区
+    private String areaName;
+    // 楼栋
+    private String buildingName;
+    // 单元
+    private String unitName;
+    // 房间
+    private String houseName;
+    // 用户名称
+    private String userName;
+    // 用户电话
+    private String userPhone;
+    // 报警器编码
+    private String materialQualityCode;
+    // 报警器厂商
+    private String materialQualityName;
+    // 安装时间
+    private String installTime;
+    // 安装人员
+    private String installUser;
+    // 安装人员电话
+    private String installPhone;
+    // 用户id
+    private String userId;
+    // 用户号
+    private String userNumber;
+    // 审核时间
+    private String examineTime;
+    // 审核人员
+    private String examineUser;
+    // 审核人员电话
+    private String examinePhone;
+    // 开拴时间
+    private String openTime;
+    // 开拴人员
+    private String openUser;
+    // 开拴人员电话
+    private String openPhone;
+
+
+}

+ 1 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngineeringMaterialVo.java

@@ -64,6 +64,7 @@ public class ZEngineeringMaterialVo implements Serializable {
      */
     @ExcelProperty(value = "材质")
     private String materialQuality;
+    private String materialQualityCode;
     private String materialQualityName;
 
     /**

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

@@ -37,6 +37,7 @@ public interface ZEngineeringCivilMapper extends BaseMapperPlus<ZEngineeringCivi
     Map<String,Number> getsumStatus(String district);
     List<ZEngineeringCivilBottomLegExport> exportBottomLeg(@Param("p") ZEngineeringCivilBo bo,@Param("tableNames") List<String> list);
     List<ZEngineeringCivilObtainQualifiedRoom> exportObtainQualifiedRoom(@Param("p") ZEngineeringCivilBo bo,@Param("tableNames") List<String> list);
+    List<ZEngineeringCivilAlarmApparatusExport> alarmApparatusExport(@Param("p") ZEngineeringCivilBo bo,@Param("tableNames") List<String> list);
 
     areaMessageVo getHouseMessage(String Id);
     areaMessageVo getAreaMessage(String Id);

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

@@ -36,6 +36,7 @@ public interface IZEngineeringCivilService {
     TableDataInfo<ZEngineeringCivilVo> queryPageList(ZEngineeringCivilBo bo, PageQuery pageQuery);
     List<ZEngineeringCivilVo> queryAllList(ZEngineeringCivilBo bo);
     List<ZEngineeringCivilExportVos> exportList(ZEngineeringCivilBo bo);
+    List<ZEngineeringCivilAlarmApparatusExport> alarmApparatusExport(ZEngineeringCivilBo bo);
     List<ZEngineeringCivilBottomLegExport> exportBottomLeg(ZEngineeringCivilBo bo);
     List<ZEngineeringCivilObtainQualifiedRoom> exportObtainQualifiedRoom(ZEngineeringCivilBo bo);
     List<ZEngineeringCivilExportVos> exportListColor(ZEngineeringCivilBo bo);

+ 12 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringCivilServiceImpl.java

@@ -83,6 +83,18 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
     private IZEngineeringInfoService izEngineeringInfoService;
 
     @Override
+    public List<ZEngineeringCivilAlarmApparatusExport> alarmApparatusExport(ZEngineeringCivilBo bo) {
+        LocalDate startDate = LocalDate.of(2024, 3, 1); // 指定开始日期
+        LocalDate endDate = LocalDate.now(); // 当前日期
+        List<String> monthsBetween = getMonthsBetween(startDate, endDate);
+        List<ZEngineeringCivilAlarmApparatusExport> zEngineeringCivilAlarmApparatusExports = baseMapper.alarmApparatusExport(bo, monthsBetween);
+        for (int i = 0; i < zEngineeringCivilAlarmApparatusExports.size(); i++) {
+            zEngineeringCivilAlarmApparatusExports.get(i).setId(String.valueOf(i+1));
+        }
+        return zEngineeringCivilAlarmApparatusExports;
+    }
+
+    @Override
     public List<ZEngineeringCivilObtainQualifiedRoom> exportObtainQualifiedRoom(ZEngineeringCivilBo bo) {
         LocalDate startDate = LocalDate.of(2024, 3, 1); // 指定开始日期
         LocalDate endDate = LocalDate.now(); // 当前日期

+ 112 - 1
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringCivilMapper.xml

@@ -63,6 +63,117 @@
         </if>
     </select>
 
+    <select id="alarmApparatusExport" resultType="com.ruoyi.zdsz.domain.vo.ZEngineeringCivilAlarmApparatusExport">
+    select z.* from (
+        SELECT area.`name` AS area_name,
+            building.`name` AS building_name,
+            unit.`name` AS unit_name,
+            house.`name` AS house_name,
+            house.new_phone AS user_phone,
+            house.house_user_name AS user_name,
+            dict.dict_label AS district,
+            area.administrative AS management_name,
+            `user`.nick_name AS install_user,
+            `user`.phonenumber AS install_phone,
+            info.update_info_time AS install_time,
+            material.material_quality_code AS material_quality_code,
+            quality.`name` AS material_quality_name
+        FROM z_engineering_civil civil
+            LEFT JOIN z_engineering_node node ON civil.id = node.civli_id
+            LEFT JOIN z_area area ON area.id = civil.area_id
+            LEFT JOIN z_building building ON building.id = civil.building_id
+            LEFT JOIN z_unit unit ON unit.id = civil.unit_id
+            LEFT JOIN z_house house ON house.id = civil.house_id
+            LEFT JOIN sys_dict_data dict ON dict.dict_type = 'district'  AND dict.dict_value = civil.district
+            LEFT JOIN z_engineering_info info ON info.eng_info_id = node.id
+            LEFT JOIN sys_user `user` ON `user`.user_id = info.construct_user
+            LEFT JOIN z_engineering_material material ON material.details_id = info.id
+            LEFT JOIN z_engin_material_quality quality ON quality.id = material.brand
+        WHERE node.type = '报警器'
+        <if test="p.district != null and p.district != ''">
+            and civil.district = #{p.district}
+        </if>
+        <if test="p.areaId != null and p.areaId != ''">
+            and civil.area_id = #{p.areaId}
+        </if>
+        <if test="p.buildingId != null and p.buildingId != ''">
+            and civil.building_id = #{p.buildingId}
+        </if>
+        <if test="p.unitId != null and p.unitId != ''">
+            and civil.unit_id = #{p.unitId}
+        </if>
+        <if test="p.enginType != null and p.enginType != ''">
+            and civil.engin_type = #{p.enginType}
+        </if>
+        <if test="p.enginClassification != null and p.enginClassification != ''">
+            and civil.engin_classification = #{p.enginClassification}
+        </if>
+        <if test="p.enginCycle != null and p.enginCycle != ''">
+            and civil.engin_cycle = 0
+        </if>
+        <if test="p.beginTime != null and p.beginTime != ''">
+            AND info.update_info_time BETWEEN concat( #{p.beginTime[0]}, ' 00:00:00' ) AND concat( #{p.beginTime[1]}, ' 23:59:59' )
+        </if>
+        <if test="p.createBy != null and p.createBy != ''">
+            and info.create_by like CONCAT(#{p.createBy},'%')
+        </if>
+        <foreach collection="tableNames" item="name">
+            union
+            SELECT area.`name` AS area_name,
+            building.`name` AS building_name,
+            unit.`name` AS unit_name,
+            house.`name` AS house_name,
+            house.new_phone AS user_phone,
+            house.house_user_name AS user_name,
+            dict.dict_label AS district,
+            area.administrative AS management_name,
+            `user`.nick_name AS install_user,
+            `user`.phonenumber AS install_phone,
+            info.update_info_time AS install_time,
+            material.material_quality_code AS material_quality_code,
+            quality.`name` AS material_quality_name
+            FROM z_engineering_civil civil
+            LEFT JOIN z_engineering_node_${name} node ON civil.id = node.civli_id
+            LEFT JOIN z_area area ON area.id = civil.area_id
+            LEFT JOIN z_building building ON building.id = civil.building_id
+            LEFT JOIN z_unit unit ON unit.id = civil.unit_id
+            LEFT JOIN z_house house ON house.id = civil.house_id
+            LEFT JOIN sys_dict_data dict ON dict.dict_type = 'district'  AND dict.dict_value = civil.district
+            LEFT JOIN z_engineering_info_${name} info ON info.eng_info_id = node.id
+            LEFT JOIN sys_user `user` ON `user`.user_id = info.construct_user
+            LEFT JOIN z_engineering_material_${name} material ON material.details_id = info.id
+            LEFT JOIN z_engin_material_quality quality ON quality.id = material.brand
+            WHERE node.type = '报警器'
+            <if test="p.district != null and p.district != ''">
+                and civil.district = #{p.district}
+            </if>
+            <if test="p.areaId != null and p.areaId != ''">
+                and civil.area_id = #{p.areaId}
+            </if>
+            <if test="p.buildingId != null and p.buildingId != ''">
+                and civil.building_id = #{p.buildingId}
+            </if>
+            <if test="p.unitId != null and p.unitId != ''">
+                and civil.unit_id = #{p.unitId}
+            </if>
+            <if test="p.enginType != null and p.enginType != ''">
+                and civil.engin_type = #{p.enginType}
+            </if>
+            <if test="p.enginClassification != null and p.enginClassification != ''">
+                and civil.engin_classification = #{p.enginClassification}
+            </if>
+            <if test="p.enginCycle != null and p.enginCycle != ''">
+                and civil.engin_cycle = 0
+            </if>
+            <if test="p.beginTime != null and p.beginTime != ''">
+                AND info.update_info_time BETWEEN concat( #{p.beginTime[0]}, ' 00:00:00' ) AND concat( #{p.beginTime[1]}, ' 23:59:59' )
+            </if>
+            <if test="p.createBy != null and p.createBy != ''">
+                and info.create_by like CONCAT(#{p.createBy},'%')
+            </if>
+        </foreach>
+        ) as z
+    </select>
 
     <select id="exportObtainQualifiedRoom" resultType="com.ruoyi.zdsz.domain.vo.ZEngineeringCivilObtainQualifiedRoom">
         SELECT
@@ -348,7 +459,7 @@
         </foreach>
         order by a.update_info_time asc
     </select>
-<select id="getObtainRoomcCompletionInformationList" resultType="com.ruoyi.zdsz.domain.vo.roomStatusVo">
+    <select id="getObtainRoomcCompletionInformationList" resultType="com.ruoyi.zdsz.domain.vo.roomStatusVo">
     select
     a.area_id,
     a.building_id,

+ 2 - 0
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringMaterialMapper.xml

@@ -12,6 +12,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="selfClosingValveType" column="self_closing_valve_type"/>
         <result property="brand" column="brand"/>
         <result property="materialQuality" column="material_quality"/>
+        <result property="materialQualityCode" column="material_quality_code"/>
         <result property="specifications" column="specifications"/>
         <result property="number" column="number"/>
         <result property="version" column="version"/>
@@ -37,6 +38,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             a.self_closing_valve_type as selfClosingValveType,
             a.brand,
             a.material_quality as materialQuality,
+            a.material_quality_code as materialQualityCode,
             a.specifications,
             a.number,
             a.version,