From 783babb9878c2bfab8a26460a0f25f4c7e25fc5d Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期五, 11 八月 2023 11:05:49 +0800 Subject: [PATCH] `1 --- src/main/java/com/yssh/service/XlsReportService.java | 52 ++++++++++++++++++++++++++++++++++------------------ 1 files changed, 34 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/yssh/service/XlsReportService.java b/src/main/java/com/yssh/service/XlsReportService.java index 5ce13df..c8ea350 100644 --- a/src/main/java/com/yssh/service/XlsReportService.java +++ b/src/main/java/com/yssh/service/XlsReportService.java @@ -151,7 +151,7 @@ */ public void createDayReport(Date date) { try { - Date yesterday = DateUtils.getAPeriodOfTime(date, -1, Calendar.DATE); + Date yesterday = DateUtils.getAPeriodOfTime(date, -1, Calendar.DATE); // 2023-07-24 String yyyy = DateUtils.parseDateToStr(DateUtils.YYYY, yesterday); // 2023 String yyyymmdd = DateUtils.parseDateToStr(DateUtils.YYYYMMDD, yesterday); // 20230724 // String yyyy_mm_dd = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, yesterday); // 2023-07-24 @@ -164,7 +164,9 @@ for (int i = 1; i < 47; i++) { String name = "AI-" + (i < 10 ? "0" : "") + i; double rjz = mapper.selectDayAvg(yyyymmdd + "%", name); // 鏃ュ潎鍊� + double lj = mapper.selectAccumulate(yearStart, end, name); // 绱 + double ljjz = mapper.selectYearAccumulate(yyyy + "%", name); // 浠婂勾绱鍧囧�� double qnLjjz = mapper.selectYearAccumulate(lastYear + "%", name); // 鍘诲勾绱鍧囧�� double ljtb = CalculateUtils.round2((ljjz - qnLjjz) / qnLjjz * 100); // 绱鍚屾瘮 @@ -173,9 +175,9 @@ String id = point.getId().substring(0, point.getId().lastIndexOf("_") + 1) + "0"; // List<SuYuan700> suList = mapper.selectSuYuanByTime(id, yyyy_mm_dd + " 00:00:00", yyyy_mm_dd + " 23:00:00"); List<SuYuan700> suList = mapper.selectSuYuanByStartAndEnd(id, name, yjz, dayStart, end); - String ys = getYs(suList); + String ys = getYs(suList); // 鍙楀奖鍝嶅洜绱犲強鍘熷洜 - list.add(new DayExcel("" + rjz, "" + lj, ljtb + "%", ys, "", "", "")); + list.add(new DayExcel(rjz + "", lj + "", ljtb + "%", ys, "", "", "")); } saveResult("day", yesterday, list); } catch (Exception ex) { @@ -188,41 +190,55 @@ */ public void createWeekReport(Date date) { try { - Date mon = DateUtils.getAPeriodOfTime(date, -7, Calendar.DATE); - Date sun = DateUtils.getAPeriodOfTime(date, -1, Calendar.DATE); - Date lastMon = DateUtils.getAPeriodOfTime(date, -14, Calendar.DATE); - Date lastSun = DateUtils.getAPeriodOfTime(date, -8, Calendar.DATE); - Date lastYearMon = DateUtils.getAPeriodOfTime(mon, -1, Calendar.YEAR); - Date lastYearSun = DateUtils.getAPeriodOfTime(sun, -1, Calendar.YEAR); + Date mon = DateUtils.getAPeriodOfTime(date, -7, Calendar.DATE); // 2023-07-24 + Date sun = DateUtils.getAPeriodOfTime(date, -1, Calendar.DATE); // 2023-07-30 + Date lastMon = DateUtils.getAPeriodOfTime(date, -14, Calendar.DATE); // 2023-07-17 + Date lastSun = DateUtils.getAPeriodOfTime(date, -8, Calendar.DATE); // 2023-07-23 + Date lastYear1 = DateUtils.getAPeriodOfTime(mon, -1, Calendar.YEAR); // 2022-07-24 + Date lastYear7 = DateUtils.getAPeriodOfTime(sun, -1, Calendar.YEAR); // 2022-07-30 Integer intMon = Integer.parseInt(DateUtils.parseDateToStr(DateUtils.YYYYMMDD, mon) + "00"); // 2023072400 Integer intSun = Integer.parseInt(DateUtils.parseDateToStr(DateUtils.YYYYMMDD, sun) + "23"); // 2023073023 Integer intLastMon = Integer.parseInt(DateUtils.parseDateToStr(DateUtils.YYYYMMDD, lastMon) + "00"); // 2023071700 Integer intLastSun = Integer.parseInt(DateUtils.parseDateToStr(DateUtils.YYYYMMDD, lastSun) + "23"); // 2023072323 - Integer intLastYearMon = Integer.parseInt(DateUtils.parseDateToStr(DateUtils.YYYYMMDD, lastYearMon) + "00"); // 2022071700 - Integer intLastYearSun = Integer.parseInt(DateUtils.parseDateToStr(DateUtils.YYYYMMDD, lastYearSun) + "23"); // 2022072323 + Integer intLastYear1 = Integer.parseInt(DateUtils.parseDateToStr(DateUtils.YYYYMMDD, lastYear1) + "00"); // 2022072400 + Integer intLastYear7 = Integer.parseInt(DateUtils.parseDateToStr(DateUtils.YYYYMMDD, lastYear7) + "23"); // 2022073023 String yyyy = DateUtils.parseDateToStr(DateUtils.YYYY, sun); // 2023 Integer yearStart = Integer.parseInt(yyyy + "010100"); // 2023010100 String lastYear = DateUtils.parseDateToStr(DateUtils.YYYY, DateUtils.lastYear(sun)); // 2022 + int weekOfYear = DateUtils.getWeekOfYear(sun); // 31 + Date lastYearSun = DateUtils.getWeekOfYearForSun(Integer.parseInt(lastYear), weekOfYear); // 2022-07-24 + Date lastYearMon = DateUtils.getAPeriodOfTime(lastYearSun, -6, Calendar.DATE); // 2022-07-18 + Integer intLastYearMon = Integer.parseInt(DateUtils.parseDateToStr(DateUtils.YYYYMMDD, lastYearMon) + "00"); // 2022071800 + Integer intLastYearSun = Integer.parseInt(DateUtils.parseDateToStr(DateUtils.YYYYMMDD, lastYearSun) + "23"); // 2022072423 List<WeekExcel> list = new ArrayList<>(); for (int i = 1; i < 47; i++) { String name = "AI-" + (i < 10 ? "0" : "") + i; double sz = mapper.selectAccumulate(intMon, intSun, name); // 涓婂懆 + double ssz = mapper.selectAccumulate(intLastMon, intLastSun, name); // 涓婁笂鍛� double zhb = CalculateUtils.round2((sz - ssz) / ssz * 100); // 鍛ㄧ幆姣� - double qntq = mapper.selectAccumulate(intLastYearMon, intLastYearSun, name); // 鍘诲勾鍚屾湡 - double ztb = CalculateUtils.round2((sz - qntq) / qntq * 100); // 鍛ㄥ悓姣� + + double qntq = mapper.selectAccumulate(intLastYear1, intLastYear7, name); // 鍘诲勾鍚屾湡 + double ztq = CalculateUtils.round2((sz - qntq) / qntq * 100); // 鍛ㄥ悓鏈� + + double qntz = mapper.selectAccumulate(intLastYearMon, intLastYearSun, name); // 鍘诲勾鍚屽懆 + double ztb = CalculateUtils.round2((sz - qntz) / qntz * 100); // 鍛ㄥ悓姣� + double lj = mapper.selectAccumulate(yearStart, intSun, name); // 绱 - double lastLj = mapper.selectYearAccumulate(lastYear + "%", name); // 鍘诲勾绱 - double ljtb = CalculateUtils.round2((lj - lastLj) / lastLj * 100); // 绱鍚屾瘮 - double syn = CalculateUtils.round2((lj - lastLj) / lastLj * 100); // 杈冧笂涓�骞村害鍙樺寲骞呭害 + + double ljjz = mapper.selectYearAccumulate(yyyy + "%", name); // 浠婂勾绱鍧囧�� + double qnLjjz = mapper.selectYearAccumulate(lastYear + "%", name); // 鍘诲勾绱鍧囧�� + double ljtb = CalculateUtils.round2((ljjz - qnLjjz) / qnLjjz * 100); // 绱鍚屾瘮 + + double syn = CalculateUtils.round2((ljjz - qnLjjz) / qnLjjz * 100); // 杈冧笂涓�骞村害鍙樺寲骞呭害 MonitorPointPosition point = commonService.select3dCheckPointByName(name); String id = point.getId().substring(0, point.getId().lastIndexOf("_") + 1) + "0"; List<SuYuan700> suList = mapper.selectSuYuanByStartAndEnd(id, name, yjz, intMon, intSun); - String ys = getYs(suList); + String ys = getYs(suList); // 鍙楀奖鍝嶅洜绱犲強鍘熷洜 - list.add(new WeekExcel("" + sz, zhb + "%", "", ztb + "%", "" + lj, "" + ljtb, "", ys, "", "", "")); + list.add(new WeekExcel(sz + "", zhb + "%", ztq + "", ztb + "%", lj + "", ljtb + "", syn + "", ys, "", "", "")); } saveResult("week", sun, list); } catch (Exception ex) { -- Gitblit v1.9.3