燕山石化溯源三维电子沙盘-【后端】-服务
1
13693261870
2023-08-11 49213ff0e8aec6941aedc9cee204c2fcb95537d7
1
已修改2个文件
71 ■■■■ 文件已修改
src/main/java/com/yssh/controller/XlsReportController.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/XlsReportMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yssh/controller/XlsReportController.java
@@ -16,10 +16,7 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.*;
@Api(tags="Excel报告")
@RestController
@@ -67,4 +64,62 @@
    public void downloadById(@RequestParam(value = "id", required = true) int id, HttpServletResponse res) {
        xlsReportService.downloadById(id, res);
    }
    @ApiOperationSupport(order = 3)
    @GetMapping("/createDayReport")
    @ApiOperation(value = "创建日报", notes = "创建日报")
    public Result createDayReport(@RequestParam(value = "start", required = true) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date start,
                                  @RequestParam(value = "end", required = true) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date end) {
        if (null != start && null != end && start.getTime() > end.getTime()) {
            Date tmp = start;
            start = end;
            end = tmp;
        }
        return Result.OK("执行完毕!");
    }
    @ApiOperationSupport(order = 4)
    @GetMapping("/createWeekReport")
    @ApiOperation(value = "创建周报", notes = "创建周报")
    public Result createWeekReport(@RequestParam(value = "start", required = true) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date start,
                                   @RequestParam(value = "end", required = true) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date end) {
        if (null != start && null != end && start.getTime() > end.getTime()) {
            Date tmp = start;
            start = end;
            end = tmp;
        }
        Calendar cal = Calendar.getInstance();
        cal.setTime(start);
        while (cal.getTime().getTime() < end.getTime()) {
            xlsReportService.createWeekReport(cal.getTime());
            cal.add(Calendar.DATE, 7);
        }
        return Result.OK("执行完毕!");
    }
    @ApiOperationSupport(order = 5)
    @GetMapping("/createMonthReport")
    @ApiOperation(value = "创建月报", notes = "创建月报")
    public Result createMonthReport(@RequestParam(value = "start", required = true) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date start,
                                    @RequestParam(value = "end", required = true) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date end) {
        if (null != start && null != end && start.getTime() > end.getTime()) {
            Date tmp = start;
            start = end;
            end = tmp;
        }
        Calendar cal = Calendar.getInstance();
        cal.setTime(start);
        while (cal.getTime().getTime() < end.getTime()) {
            xlsReportService.createMonthReport(cal.getTime());
            cal.add(Calendar.MONTH, 1);
        }
        return Result.OK("执行完毕!");
    }
}
src/main/resources/mapper/XlsReportMapper.xml
@@ -17,7 +17,7 @@
                and create_time &lt;= #{end}
            </if>
        </where>
        order by id desc
        order by create_time desc
        limit #{limit} offset #{offset}
    </select>
@@ -45,21 +45,21 @@
    <!-- 查询日均值 -->
    <select id="selectDayAvg" resultType="java.lang.Double">
        select ifnull(format(avg(value), 2), 0)
        select ifnull(round(avg(value), 2), 0)
        from yssh_qxsh
        where time like #{time} and name = #{name};
    </select>
    <!-- 查询累计值 -->
    <select id="selectAccumulate" resultType="java.lang.Double">
        select ifnull(format(avg(value), 2), 0)
        select ifnull(round(avg(value), 2), 0)
        from yssh_qxsh
        where time between #{start} and #{end} and name = #{name};
    </select>
    <!-- 查询年累计值 -->
    <select id="selectYearAccumulate" resultType="java.lang.Double">
        select ifnull(format(avg(value), 2), 0)
        select ifnull(round(avg(value), 2), 0)
        from yssh_qxsh
        where time like #{time} and name = #{name};
    </select>