Jelajahi Sumber

工程量新增字段,EXCEL更换为模板导出

zx 1 bulan lalu
induk
melakukan
aff634d9f2

TEMPAT SAMPAH
ruoyi-admin/src/main/resources/excelTemplate/workComple.xlsx


+ 23 - 3
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/controller/PdmWorkCompleStatisticsController.java

@@ -1,8 +1,15 @@
 package com.ruoyi.powerdistribution.controller;
 
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.write.metadata.WriteSheet;
+import com.alibaba.excel.write.metadata.fill.FillConfig;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -53,11 +60,24 @@ public class PdmWorkCompleStatisticsController extends BaseController
     @Log(title = "导出工程量完成情况列表", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     @ApiOperation(value = "导出工程量完成情况列表")
-    public void export(HttpServletResponse response, PdmWorkCompleStatistics pdmWorkCompleStatistics)
+    public void export(HttpServletResponse response, PdmWorkCompleStatistics pdmWorkCompleStatistics) throws IOException
     {
         List<PdmWorkCompleStatistics> list = pdmWorkCompleStatisticsService.selectPdmWorkCompleStatisticsList(pdmWorkCompleStatistics);
-        ExcelUtil<PdmWorkCompleStatistics> util = new ExcelUtil<PdmWorkCompleStatistics>(PdmWorkCompleStatistics.class);
-        util.exportExcel(response, list, "工程量完成情况数据");
+        for(PdmWorkCompleStatistics workComple:list){
+            PdmWorkCompleStatistics.excelChange(workComple);
+        }
+        response.setContentType("application/vnd.ms-excel");
+        response.setCharacterEncoding("utf-8");
+        String fileName = java.util.UUID.randomUUID() + ".xlsx";
+        response.setHeader("Content-disposition", "attachment;filename=" + fileName);
+        String templateFileName = "excelTemplate/workComple.xlsx";
+        InputStream fis = Thread.currentThread().getContextClassLoader().getResourceAsStream(templateFileName);
+        OutputStream ops = response.getOutputStream();
+        ExcelWriter excelWriter = EasyExcel.write(ops).withTemplate(fis).build();
+        WriteSheet writeSheet = EasyExcel.writerSheet("工程量完成情况").build();
+        FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
+        excelWriter.fill(list, fillConfig, writeSheet);
+        excelWriter.finish();
     }
     /**
      * 获取工程量完成情况详细信息

+ 109 - 0
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/domain/PdmWorkCompleStatistics.java

@@ -206,6 +206,35 @@ public class PdmWorkCompleStatistics extends BaseEntity
     @Excel(name = "异常标志 0否1是")
     private String excType;
 
+    /** 10kV线路电缆异常标志 */
+    @Excel(name = "10kV线路电缆异常标志")
+    private String lineCableNewAccuQtExcType;
+
+    /** 10kV线路架空异常标志 */
+    @Excel(name = "10kV线路架空异常标志")
+    private String lineOverhdNewAccuQtExcType;
+
+    /** 配电变压器异常标志 */
+    @Excel(name = "配电变压器异常标志")
+    private String distTransNewAccuQtExcType;
+
+    /** 低压线路异常标志 */
+    @Excel(name = "低压线路异常标志")
+    private String lowVoltLineAccuQtExcType;
+
+    /** 杆塔基异常标志 */
+    @Excel(name = "杆塔基异常标志")
+    private String towerAccuQtExcType;
+
+    /** 环网柜台异常标志 */
+    @Excel(name = "环网柜台异常标志")
+    private String ringCabinetAccuQtExcType;
+
+    /** 柱上断路器台异常标志 */
+    @Excel(name = "柱上断路器台异常标志")
+    private String poleTabAccuQtExcType;
+
+
     /** 标准单位编码  */
     @Excel(name = "标准单位编码 ")
     private String stdOrgNo;
@@ -756,6 +785,62 @@ public class PdmWorkCompleStatistics extends BaseEntity
         this.workTotal = workTotal;
     }
 
+    public String getLineCableNewAccuQtExcType() {
+        return lineCableNewAccuQtExcType;
+    }
+
+    public void setLineCableNewAccuQtExcType(String lineCableNewAccuQtExcType) {
+        this.lineCableNewAccuQtExcType = lineCableNewAccuQtExcType;
+    }
+
+    public String getLineOverhdNewAccuQtExcType() {
+        return lineOverhdNewAccuQtExcType;
+    }
+
+    public void setLineOverhdNewAccuQtExcType(String lineOverhdNewAccuQtExcType) {
+        this.lineOverhdNewAccuQtExcType = lineOverhdNewAccuQtExcType;
+    }
+
+    public String getDistTransNewAccuQtExcType() {
+        return distTransNewAccuQtExcType;
+    }
+
+    public void setDistTransNewAccuQtExcType(String distTransNewAccuQtExcType) {
+        this.distTransNewAccuQtExcType = distTransNewAccuQtExcType;
+    }
+
+    public String getLowVoltLineAccuQtExcType() {
+        return lowVoltLineAccuQtExcType;
+    }
+
+    public void setLowVoltLineAccuQtExcType(String lowVoltLineAccuQtExcType) {
+        this.lowVoltLineAccuQtExcType = lowVoltLineAccuQtExcType;
+    }
+
+    public String getTowerAccuQtExcType() {
+        return towerAccuQtExcType;
+    }
+
+    public void setTowerAccuQtExcType(String towerAccuQtExcType) {
+        this.towerAccuQtExcType = towerAccuQtExcType;
+    }
+
+    public String getRingCabinetAccuQtExcType() {
+        return ringCabinetAccuQtExcType;
+    }
+
+    public void setRingCabinetAccuQtExcType(String ringCabinetAccuQtExcType) {
+        this.ringCabinetAccuQtExcType = ringCabinetAccuQtExcType;
+    }
+
+    public String getPoleTabAccuQtExcType() {
+        return poleTabAccuQtExcType;
+    }
+
+    public void setPoleTabAccuQtExcType(String poleTabAccuQtExcType) {
+        this.poleTabAccuQtExcType = poleTabAccuQtExcType;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@@ -817,4 +902,28 @@ public class PdmWorkCompleStatistics extends BaseEntity
             .append("excType", getExcType())
             .toString();
     }
+
+    /**
+     * 转换EXCEL对象
+     * @param workComple
+     */
+    public static void excelChange(PdmWorkCompleStatistics workComple){
+        workComple.setLineCableNewAccuQtExcType("1".equals(workComple.getLineCableNewAccuQtExcType())?"异常":"正常");
+        workComple.setLineOverhdNewAccuQtExcType("1".equals(workComple.getLineOverhdNewAccuQtExcType())?"异常":"正常");
+        workComple.setDistTransNewAccuQtExcType("1".equals(workComple.getDistTransNewAccuQtExcType())?"异常":"正常");
+        workComple.setLowVoltLineAccuQtExcType("1".equals(workComple.getLowVoltLineAccuQtExcType())?"异常":"正常");
+        workComple.setTowerAccuQtExcType("1".equals(workComple.getTowerAccuQtExcType())?"异常":"正常");
+        workComple.setRingCabinetAccuQtExcType("1".equals(workComple.getRingCabinetAccuQtExcType())?"异常":"正常");
+        workComple.setPoleTabAccuQtExcType("1".equals(workComple.getPoleTabAccuQtExcType())?"异常":"正常");
+        workComple.setExcType("1".equals(workComple.getExcType())?"异常":"正常");
+        workComple.setCompleteFlag("1".equals(workComple.getCompleteFlag())?"已竣工":"未竣工");
+        if("10".equals(workComple.getProCategory())){
+            workComple.setProCategory("农网");
+        }else if("20".equals(workComple.getProCategory())){
+            workComple.setProCategory("城网");
+        }else if("30".equals(workComple.getProCategory())){
+            workComple.setProCategory("技改");
+        }
+
+    }
 }

+ 8 - 1
ruoyi-powerdistribution/src/main/java/com/ruoyi/powerdistribution/service/impl/PdmWorkCompleStatisticsServiceImpl.java

@@ -256,7 +256,7 @@ public class PdmWorkCompleStatisticsServiceImpl implements IPdmWorkCompleStatist
     }
 
     /**
-     * 判断是否异常
+     * 判断是否异常 1是0否
      * @param work
      */
     private void compareExc(PdmWorkCompleStatistics work){
@@ -265,30 +265,37 @@ public class PdmWorkCompleStatisticsServiceImpl implements IPdmWorkCompleStatist
         if((work.getLineCableNewAccuQtWork().compareTo(BigDecimal.ZERO)==0 && work.getLineCableNewAccuQt().compareTo(BigDecimal.ZERO)!=0)
                 || (work.getLineCableNewAccuQtWork().compareTo(BigDecimal.ZERO)!=0 && work.getLineCableNewAccuQt().compareTo(BigDecimal.ZERO)==0)){
             excStatus = "1";
+            work.setLineCableNewAccuQtExcType("1");
         }
         if((work.getLineOverhdNewAccuQtWork().compareTo(BigDecimal.ZERO)==0 && work.getLineOverhdNewAccuQt().compareTo(BigDecimal.ZERO)!=0)
                 || (work.getLineOverhdNewAccuQtWork().compareTo(BigDecimal.ZERO)!=0 && work.getLineOverhdNewAccuQt().compareTo(BigDecimal.ZERO)==0)){
             excStatus = "1";
+            work.setLineOverhdNewAccuQtExcType("1");
         }
         if((work.getDistTransNewAccuQtWork().compareTo(BigDecimal.ZERO)==0 && work.getDistTransNewAccuQt().compareTo(BigDecimal.ZERO)!=0)
                 || (work.getDistTransNewAccuQtWork().compareTo(BigDecimal.ZERO)!=0 && work.getDistTransNewAccuQt().compareTo(BigDecimal.ZERO)==0)){
             excStatus = "1";
+            work.setDistTransNewAccuQtExcType("1");
         }
         if((work.getLowVoltLineAccuQtWork().compareTo(BigDecimal.ZERO)==0 && work.getLowVoltLineAccuQt().compareTo(BigDecimal.ZERO)!=0)
                 || (work.getLowVoltLineAccuQtWork().compareTo(BigDecimal.ZERO)!=0 && work.getLowVoltLineAccuQt().compareTo(BigDecimal.ZERO)==0)){
             excStatus = "1";
+            work.setLowVoltLineAccuQtExcType("1");
         }
         if((work.getTowerAccuQtWork().compareTo(BigDecimal.ZERO)==0 && work.getTowerAccuQt().compareTo(BigDecimal.ZERO)!=0)
                 || (work.getTowerAccuQtWork().compareTo(BigDecimal.ZERO)!=0 && work.getTowerAccuQt().compareTo(BigDecimal.ZERO)==0)){
             excStatus = "1";
+            work.setTowerAccuQtExcType("1");
         }
         if((work.getRingCabinetAccuQtWork().compareTo(BigDecimal.ZERO)==0 && work.getRingCabinetAccuQt().compareTo(BigDecimal.ZERO)!=0)
                 || (work.getRingCabinetAccuQtWork().compareTo(BigDecimal.ZERO)!=0 && work.getRingCabinetAccuQt().compareTo(BigDecimal.ZERO)==0)){
             excStatus = "1";
+            work.setRingCabinetAccuQtExcType("1");
         }
         if((work.getPoleTabAccuQtWork().compareTo(BigDecimal.ZERO)==0 && work.getPoleTabAccuQt().compareTo(BigDecimal.ZERO)!=0)
                 || (work.getPoleTabAccuQtWork().compareTo(BigDecimal.ZERO)!=0 && work.getPoleTabAccuQt().compareTo(BigDecimal.ZERO)==0)){
             excStatus = "1";
+            work.setPoleTabAccuQtExcType("1");
         }
         work.setExcType(excStatus);
 

+ 34 - 1
ruoyi-powerdistribution/src/main/resources/mapper/powerdistribution/PdmWorkCompleStatisticsMapper.xml

@@ -62,10 +62,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="poleTabAccuQtWorkWeek"    column="pole_tab_accu_qt_work_week"    />
         <result property="excType"    column="exc_type"    />
         <result property="workTotal"  column="work_total"    />
+
+        <result property="lineCableNewAccuQtExcType"  column="line_cable_new_accu_qt_exc_type"    />
+        <result property="lineOverhdNewAccuQtExcType"  column="line_overhd_new_accu_qt_exc_type"    />
+        <result property="distTransNewAccuQtExcType"  column="dist_trans_new_accu_qt_exc_type"    />
+        <result property="lowVoltLineAccuQtExcType"  column="low_volt_line_accu_qt_exc_type"    />
+        <result property="towerAccuQtExcType"  column="tower_accu_qt_exc_type"    />
+        <result property="ringCabinetAccuQtExcType"  column="ring_cabinet_accu_qt_exc_type"    />
+        <result property="poleTabAccuQtExcType"  column="pole_tab_accu_qt_exc_type"    />
+
     </resultMap>
 
     <sql id="selectPdmWorkCompleStatisticsVo">
-        select batch_id, batch_name, batch_code, plan_year, id, pro_code, pro_name, sort_serial, small_village_name, village_name, complete_flag, pro_category, line_cable_new_plan_qt, line_cable_new_accu_qt, line_overhd_new_plan_qt, line_overhd_new_accu_qt, dist_trans_new_plan_qt, dist_trans_new_accu_qt, low_volt_line_plan_qt, low_volt_line_accu_qt, tower_plan_qt, tower_accu_qt, ring_cabinet_plan_qt, ring_cabinet_accu_qt, pole_tab_plan_qt, pole_tab_accu_qt, std_org_no, std_org_nm, std_city_org_no, std_city_org_nm, std_county_org_no, std_county_org_nm, data_dt, etl_tm, line_cable_new_accu_qt_week, line_overhd_new_accu_qt_week, dist_trans_new_accu_qt_week, low_volt_line_accu_qt_week, tower_accu_qt_week, ring_cabinet_accu_qt_week, pole_tab_accu_qt_week, line_cable_new_accu_qt_work, line_overhd_new_accu_qt_work, dist_trans_new_accu_qt_work, low_volt_line_accu_qt_work, tower_accu_qt_work, ring_cabinet_accu_qt_work, pole_tab_accu_qt_work, line_cable_new_accu_qt_work_week, line_overhd_new_accu_qt_work_week, dist_trans_new_accu_qt_work_week, low_volt_line_accu_qt_work_week, tower_accu_qt_work_week, ring_cabinet_accu_qt_work_week, pole_tab_accu_qt_work_week, exc_type,work_total from pdm_work_comple_statistics
+        select batch_id, batch_name, batch_code, plan_year, id, pro_code, pro_name, sort_serial, small_village_name, village_name, complete_flag, pro_category, line_cable_new_plan_qt, line_cable_new_accu_qt, line_overhd_new_plan_qt, line_overhd_new_accu_qt, dist_trans_new_plan_qt, dist_trans_new_accu_qt, low_volt_line_plan_qt, low_volt_line_accu_qt, tower_plan_qt, tower_accu_qt, ring_cabinet_plan_qt, ring_cabinet_accu_qt, pole_tab_plan_qt, pole_tab_accu_qt, std_org_no, std_org_nm, std_city_org_no, std_city_org_nm, std_county_org_no, std_county_org_nm, data_dt, etl_tm, line_cable_new_accu_qt_week, line_overhd_new_accu_qt_week, dist_trans_new_accu_qt_week, low_volt_line_accu_qt_week, tower_accu_qt_week, ring_cabinet_accu_qt_week, pole_tab_accu_qt_week, line_cable_new_accu_qt_work, line_overhd_new_accu_qt_work, dist_trans_new_accu_qt_work, low_volt_line_accu_qt_work, tower_accu_qt_work, ring_cabinet_accu_qt_work, pole_tab_accu_qt_work, line_cable_new_accu_qt_work_week, line_overhd_new_accu_qt_work_week, dist_trans_new_accu_qt_work_week, low_volt_line_accu_qt_work_week, tower_accu_qt_work_week, ring_cabinet_accu_qt_work_week, pole_tab_accu_qt_work_week, exc_type,work_total,
+               line_cable_new_accu_qt_exc_type,line_overhd_new_accu_qt_exc_type,dist_trans_new_accu_qt_exc_type,low_volt_line_accu_qt_exc_type,tower_accu_qt_exc_type,ring_cabinet_accu_qt_exc_type,pole_tab_accu_qt_exc_type
+               from pdm_work_comple_statistics
     </sql>
 
     <select id="selectPdmWorkCompleStatisticsList" parameterType="PdmWorkCompleStatistics" resultMap="PdmWorkCompleStatisticsResult">
@@ -194,6 +205,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="poleTabAccuQtWorkWeek != null">pole_tab_accu_qt_work_week,</if>
             <if test="excType != null">exc_type,</if>
             <if test="workTotal != null">work_total,</if>
+            <if test="lineCableNewAccuQtExcType != null">line_cable_new_accu_qt_exc_type,</if>
+            <if test="lineOverhdNewAccuQtExcType != null">line_overhd_new_accu_qt_exc_type,</if>
+            <if test="distTransNewAccuQtExcType != null">dist_trans_new_accu_qt_exc_type,</if>
+            <if test="lowVoltLineAccuQtExcType != null">low_volt_line_accu_qt_exc_type,</if>
+            <if test="towerAccuQtExcType != null">tower_accu_qt_exc_type,</if>
+            <if test="ringCabinetAccuQtExcType != null">ring_cabinet_accu_qt_exc_type,</if>
+            <if test="poleTabAccuQtExcType != null">pole_tab_accu_qt_exc_type,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="batchId != null">#{batchId},</if>
@@ -253,6 +271,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="poleTabAccuQtWorkWeek != null">#{poleTabAccuQtWorkWeek},</if>
             <if test="excType != null">#{excType},</if>
             <if test="workTotal != null">#{workTotal},</if>
+            <if test="lineCableNewAccuQtExcType != null">#{lineCableNewAccuQtExcType},</if>
+            <if test="lineOverhdNewAccuQtExcType != null">#{lineOverhdNewAccuQtExcType},</if>
+            <if test="distTransNewAccuQtExcType != null">#{distTransNewAccuQtExcType},</if>
+            <if test="lowVoltLineAccuQtExcType != null">#{lowVoltLineAccuQtExcType},</if>
+            <if test="towerAccuQtExcType != null">#{towerAccuQtExcType},</if>
+            <if test="ringCabinetAccuQtExcType != null">#{ringCabinetAccuQtExcType},</if>
+            <if test="poleTabAccuQtExcType != null">#{poleTabAccuQtExcType},</if>
          </trim>
     </insert>
 
@@ -315,6 +340,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="poleTabAccuQtWorkWeek != null">pole_tab_accu_qt_work_week = #{poleTabAccuQtWorkWeek},</if>
             <if test="excType != null">exc_type = #{excType},</if>
             <if test="workTotal != null">work_total = #{workTotal},</if>
+
+            <if test="lineCableNewAccuQtExcType != null">line_cable_new_accu_qt_exc_type = #{lineCableNewAccuQtExcType},</if>
+            <if test="lineOverhdNewAccuQtExcType != null">line_overhd_new_accu_qt_exc_type = #{lineOverhdNewAccuQtExcType},</if>
+            <if test="distTransNewAccuQtExcType != null">dist_trans_new_accu_qt_exc_type = #{distTransNewAccuQtExcType},</if>
+            <if test="lowVoltLineAccuQtExcType != null">low_volt_line_accu_qt_exc_type = #{lowVoltLineAccuQtExcType},</if>
+            <if test="towerAccuQtExcType != null">tower_accu_qt_exc_type = #{towerAccuQtExcType},</if>
+            <if test="ringCabinetAccuQtExcType != null">ring_cabinet_accu_qt_exc_type = #{ringCabinetAccuQtExcType},</if>
+            <if test="poleTabAccuQtExcType != null">pole_tab_accu_qt_exc_type = #{poleTabAccuQtExcType},</if>
         </trim>
         where id = #{id}
     </update>