Browse Source

修复导出excel关于列被合并的问题

lihui007 3 years ago
parent
commit
13024deaae

+ 3 - 2
operation_manager/src/main/resources/mapper/evaluation/EvaluationResultMapper.xml

@@ -65,7 +65,7 @@
         <include refid="evaluation_result_list"></include>
         from sc_evaluation_result a
         <where>
-            a.status = 1 and a.tenant_id = #{dto.tenantId}
+            a.tenant_id = #{dto.tenantId}
             <if test="dto.userType != null and dto.userType != -999 and dto.userType != -9999 and  dto.programItems != null and dto.programItems.size() > 0">
                 <include refid="permissonSql"></include>
             </if>
@@ -84,11 +84,12 @@
             <if test="dto.sort == 2">
                 and a.`STATE` = 1
             </if>
-            and a.`cycle` = #{dto.cycle}
             and a.`YEAR`  = #{dto.year}
+            and a.`cycle` = #{dto.cycle}
             <if test="dto.cycle != 2">
                 and a.`month` = #{dto.month}
             </if>
+            and a.status = 1
         </where>
         <if test="dto.sort == 1">
             order by a.date_start desc,a.`state`

+ 25 - 23
readme.md

@@ -142,29 +142,31 @@ CREATE TABLE `sc_evaluation_cycle` (
   PRIMARY KEY (`ID`)
 ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1 COMMENT='考评周期';
 
-CREATE TABLE `sc_evaluation_result` (
-  `ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
-  `TENANT_ID` varchar(100) DEFAULT NULL COMMENT '租户标识',
-  `COMPANY_ORG_ID` int(11) DEFAULT NULL COMMENT '所属公司',
-  `DEPT_ORG_ID` int(11) DEFAULT NULL COMMENT '所属部门',
-  `EVALUATION_BY` varchar(100) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '考评人',
-  `EVALUATION_BE` varchar(100) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '被考评人',
-  `STATE` int(11) DEFAULT NULL COMMENT '考评状态(0未考评 1已考评)',
-  `CYCLE` int(11) DEFAULT NULL COMMENT '周期(0月度 1季度 2年度)',
-  `YEAR` int(11) DEFAULT NULL COMMENT '考评年份',
-  `MONTH` int(11) DEFAULT NULL COMMENT '考评月份',
-  `EVALUATION_GRADE` int(11) DEFAULT NULL COMMENT '绩效等级(0A 1B 2C 3D 4E)',
-  `VALUE` DECIMAL(18,2) DEFAULT NULL COMMENT '考评得分',
-  `DATE_START` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '考评开始时间',
-  `DATE_END` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '考评结束时间',
-  `DATE_EVALUATION` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '考评时间', 
-  `STATUS` smallint(6) DEFAULT NULL COMMENT '数据删除标记',
-  `DATE_CREATE` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-  `CREATE_BY` varchar(100) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '创建人',
-  `DATE_UPDATE` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
-  `UPDATE_BY` varchar(100) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '更新人',
-  PRIMARY KEY (`ID`)
-) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1 COMMENT='考评结果';
+CREATE TABLE `sc_evaluation_result`  (
+`ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
+`TENANT_ID` varchar(100) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '租户标识',
+`COMPANY_ORG_ID` int(11) NULL DEFAULT NULL COMMENT '所属公司',
+`DEPT_ORG_ID` int(11) NULL DEFAULT NULL COMMENT '所属部门',
+`EVALUATION_BY` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '考评人',
+`EVALUATION_BE_USER_ID` int(11) NULL DEFAULT NULL COMMENT '被考评人用户ID',
+`EVALUATION_BE` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '被考评人',
+`STATE` int(11) NULL DEFAULT NULL COMMENT '考评状态(0未考评 1已考评)',
+`CYCLE` int(11) NULL DEFAULT NULL COMMENT '周期(0月度 1季度 2年度)',
+`YEAR` int(11) NULL DEFAULT NULL COMMENT '考评年份',
+`MONTH` int(11) NULL DEFAULT NULL COMMENT '考评月份',
+`EVALUATION_GRADE` int(11) NULL DEFAULT NULL COMMENT '绩效等级(0A 1B 2C 3D 4E)',
+`VALUE` decimal(18, 2) NULL DEFAULT NULL COMMENT '考评得分',
+`DATE_START` timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '考评开始时间',
+`DATE_END` timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '考评结束时间',
+`DATE_EVALUATION` timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '考评时间',
+`STATUS` smallint(6) NULL DEFAULT NULL COMMENT '数据删除标记',
+`DATE_CREATE` timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
+`CREATE_BY` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
+`DATE_UPDATE` timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',
+`UPDATE_BY` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人',
+PRIMARY KEY (`ID`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1463 CHARACTER SET = latin1 COLLATE = latin1_swedish_ci COMMENT = '考评结果' ROW_FORMAT = Dynamic;
+
 CREATE TABLE `sc_evaluation_result_task` (
   `ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
   `TENANT_ID` varchar(100) DEFAULT NULL COMMENT '租户标识',

+ 1 - 1
sms_water/src/main/java/com/huaxu/controller/DayMonthYearReportController.java

@@ -201,7 +201,7 @@ public class DayMonthYearReportController {
             return new AjaxMessage<>(ResultStatus.OK);
         }
         List<List<String>> reportTitle = ReportExcelUtil.toExcelTitleList(list.get(0).getReportTitle(), queryDto.getSceneType());
-        String filePath = ExcelUtil.writeSimpleExcelWithHeader(baseDir, SceneEnum.getMsg(queryDto.getSceneType()) +"报表", reportTitle, ReportExcelUtil.toReportExcelDto(list));
+        String filePath = ExcelUtil.writeSimpleExcelWithHeader(baseDir, SceneEnum.getMsg(queryDto.getSceneType()) +"报表", reportTitle, ReportExcelUtil.toReportExcelDto(list,queryDto.getSceneType()));
         return new AjaxMessage<>(ResultStatus.OK, filePath);
     }
 

+ 15 - 5
sms_water/src/main/java/com/huaxu/util/ReportExcelUtil.java

@@ -31,7 +31,7 @@ public class ReportExcelUtil {
     * @Param [list]
     * @return java.util.List<java.util.List<java.lang.String>>
     **/
-    public static List<List<String>> toReportExcelDto(List<ReportDto> list){
+    public static List<List<String>> toReportExcelDto(List<ReportDto> list, int titleType){
         int number = 1;
         List<List<String>> result = new ArrayList<>();
         if (CollectionUtil.isEmpty(list)){
@@ -42,10 +42,20 @@ public class ReportExcelUtil {
             dataList.add((number++) +"");
             dataList.add(reportDto.getParentSceneName());
             dataList.add(reportDto.getCollectDate());
-            dataList.add(doubleToString(reportDto.getIntakeWaterUsage()));
-            dataList.add(doubleToString(reportDto.getYieldWaterUsage()));
-            dataList.add(doubleToString(reportDto.getPowerUsage()));
-            dataList.add(doubleToString(reportDto.getDrugUsage()));
+            if (titleType == 1) {
+                dataList.add(doubleToString(reportDto.getIntakeWaterUsage()));
+                dataList.add(doubleToString(reportDto.getPowerUsage()));
+            }
+            if (titleType == 2) {
+                dataList.add(doubleToString(reportDto.getIntakeWaterUsage()));
+                dataList.add(doubleToString(reportDto.getYieldWaterUsage()));
+                dataList.add(doubleToString(reportDto.getPowerUsage()));
+                dataList.add(doubleToString(reportDto.getDrugUsage()));
+            }
+            if (titleType == 3) {
+                dataList.add(doubleToString(reportDto.getYieldWaterUsage()));
+                dataList.add(doubleToString(reportDto.getPowerUsage()));
+            }
             List<Map<String,Object>> childList = reportDto.getDataMapValues();
             if (CollectionUtil.isEmpty(childList)) {
                 continue;