Browse Source

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

lihui007 3 years ago
parent
commit
4edf53e648

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

@@ -16,6 +16,7 @@ import com.huaxu.util.ReportExcelUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -66,6 +67,10 @@ public class DayMonthYearReportController {
     @RequestMapping(value = "/getReportBySceneIdsNews", method = RequestMethod.POST)
     @ResponseBody
     public AjaxMessage<Pagination<ReportDto>> getReportBySceneIdsNews(@RequestBody ReportQueryDto queryDto) {
+        if (StringUtils.isEmpty(queryDto.getStartTime()) || StringUtils.isEmpty(queryDto.getEndTime())){
+            queryDto.setStartTime(null);
+            queryDto.setEndTime(null);
+        }
         IPage<ReportDto> iPage = new Page<>(queryDto.getPageNum(), queryDto.getPageSize());
         iPage = reportService.getReportBySceneIdsNew(iPage, queryDto);
         Pagination<ReportDto> pages = new Pagination<>(iPage);
@@ -76,6 +81,10 @@ public class DayMonthYearReportController {
     @RequestMapping(value = "/getDevicePressReportByDeviceIdsNew", method = RequestMethod.POST)
     @ResponseBody
     public AjaxMessage<Pagination<ReportDto>> getDevicePressReportByDeviceIdsNew(@RequestBody ReportQueryDto queryDto) {
+        if (StringUtils.isEmpty(queryDto.getStartTime()) || StringUtils.isEmpty(queryDto.getEndTime())){
+            queryDto.setStartTime(null);
+            queryDto.setEndTime(null);
+        }
         IPage<ReportDto> iPage = new Page<>(queryDto.getPageNum(), queryDto.getPageSize());
         iPage = reportService.getPipeDevicePressReportByDeviceIds(iPage, queryDto);
         Pagination<ReportDto> pages = new Pagination<>(iPage);
@@ -191,6 +200,10 @@ public class DayMonthYearReportController {
     @ApiOperation(value = "报表导出")
     public AjaxMessage<String> exportExcel(@RequestBody ReportQueryDto queryDto) {
         IPage<ReportDto> iPage = new Page<>(1, 1000000);
+        if (StringUtils.isEmpty(queryDto.getStartTime()) || StringUtils.isEmpty(queryDto.getEndTime())){
+            queryDto.setStartTime(null);
+            queryDto.setEndTime(null);
+        }
         if (queryDto.getType() == null ){
             iPage = reportService.getReportBySceneIdsNew(iPage, queryDto);
         } else  {

+ 1 - 1
sms_water/src/main/resources/mapper/MonthReportMapper.xml

@@ -172,7 +172,7 @@
                     #{dramaId.id}
                 </foreach>
             </if>
-            <if test="monthReport.startTime != null and monthReport.endTime != null ">
+            <if test="monthReport.startTime != null and monthReport.endTime != null">
                 and a.COLLECT_DATE BETWEEN #{monthReport.startTime} AND #{monthReport.endTime}
             </if>
             <if test="monthReport.year != null ">and a.year = #{monthReport.year}</if>