From c60767599cf741fde1cb7a10544d8c0ebb8db6a5 Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期四, 08 八月 2024 19:36:33 +0800 Subject: [PATCH] 2024-08-08 朱宝民 统计指定月份各天漏算了、统计指定年份各月漏算量 --- pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmIntakeAmountDayMapper.java | 4 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayMapper.xml | 88 ++-- pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java | 34 + pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoDayLoss.java | 62 +++ pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java | 61 +++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmLossDayLastMapper.java | 32 + pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/qo/IntakeAmountQO.java | 2 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayLastMapper.xml | 737 +++++++++++++++++++++++++++++----------- pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml | 2 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoMonthAmount.java | 4 10 files changed, 767 insertions(+), 259 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmIntakeAmountDayMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmIntakeAmountDayMapper.java index e23bad8..a934457 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmIntakeAmountDayMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmIntakeAmountDayMapper.java @@ -5,7 +5,7 @@ import com.dy.pipIrrGlobal.voRm.VoIntakeAmountDay; import com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount; import com.dy.pipIrrGlobal.voSt.VoIntakeAmountStatistics; -import com.dy.pipIrrGlobal.voSt.VoMonthIntakeAmount; +import com.dy.pipIrrGlobal.voSt.VoMonthAmount; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -118,5 +118,5 @@ * @param params * @return */ - List<VoMonthIntakeAmount> getMonthIntakeAmount(Map<?, ?> params); + List<VoMonthAmount> getMonthIntakeAmount(Map<?, ?> params); } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmLossDayLastMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmLossDayLastMapper.java index b2cc73d..255d4da 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmLossDayLastMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmLossDayLastMapper.java @@ -1,11 +1,11 @@ package com.dy.pipIrrGlobal.daoRm; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.dy.pipIrrGlobal.voRm.VoLossDay; -import com.dy.pipIrrGlobal.voSt.VoIntakeLossStatistics; import com.dy.pipIrrGlobal.pojoRm.RmLossDayLast; +import com.dy.pipIrrGlobal.voRm.VoLossDay; +import com.dy.pipIrrGlobal.voSt.VoDayLoss; +import com.dy.pipIrrGlobal.voSt.VoMonthAmount; import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; import java.util.Date; import java.util.List; @@ -88,6 +88,32 @@ */ List<VoLossDay> getLossDayLast(Map<?, ?> params); + /** + * 缁熻鎸囧畾鏈堜唤鍚勫ぉ婕忔崯閲忚褰曟暟閲� + * @param params + * @return + */ + Long getDayLossAmountCount(Map<?, ?> params); + /** + * 缁熻鎸囧畾鏈堜唤鍚勫ぉ婕忔崯閲� + * @param params + * @return + */ + List<VoDayLoss> getDayLossAmount(Map<?, ?> params); + + /** + * 缁熻鎸囧畾骞翠唤鍚勬湀婕忔崯閲忚褰曟暟閲� + * @param params + * @return + */ + Long getMonthLossAmountCount(Map<?, ?> params); + + /** + * 缁熻鎸囧畾骞翠唤鍚勬湀婕忔崯閲� + * @param params + * @return + */ + List<VoMonthAmount> getMonthLossAmount(Map<?, ?> params); } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoDayLoss.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoDayLoss.java new file mode 100644 index 0000000..3216a6e --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoDayLoss.java @@ -0,0 +1,62 @@ +package com.dy.pipIrrGlobal.voSt; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.alibaba.fastjson2.writer.ObjectWriterImplToString; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import lombok.Data; + +/** + * @author ZhuBaoMin + * @date 2024-08-08 15:21 + * @LastEditTime 2024-08-08 15:21 + * @Description 鏃ユ紡鎹熻鍥� + */ + +@Data +@JsonPropertyOrder({ "intakeId", "intakeNum", "lossAmount1" , "lossAmount2" , "lossAmount3" , "lossAmount4" , "lossAmount5" , "lossAmount6" , "lossAmount7" , "lossAmount8" , "lossAmount9" , "lossAmount10" , "lossAmount11" , "lossAmount12" , "lossAmount13" , "lossAmount14" , "lossAmount15" , "lossAmount16" , "lossAmount17" , "lossAmount18" , "lossAmount19" , "lossAmount20" , "lossAmount21" , "lossAmount22" , "lossAmount23" , "lossAmount24" , "lossAmount25" , "lossAmount26" , "lossAmount27" , "lossAmount28" , "lossAmount29" , "lossAmount30" , "lossAmount31" }) +public class VoDayLoss { + private static final long serialVersionUID = 202408081523001L; + + /** + * 鍙栨按鍙D + */ + @JSONField(serializeUsing= ObjectWriterImplToString.class) + private Long intakeId; + + /** + * 鍙栨按鍙g紪鍙� + */ + private String intakeNum; + + private Double lossAmount1; + private Double lossAmount2; + private Double lossAmount3; + private Double lossAmount4; + private Double lossAmount5; + private Double lossAmount6; + private Double lossAmount7; + private Double lossAmount8; + private Double lossAmount9; + private Double lossAmount10; + private Double lossAmount11; + private Double lossAmount12; + private Double lossAmount13; + private Double lossAmount14; + private Double lossAmount15; + private Double lossAmount16; + private Double lossAmount17; + private Double lossAmount18; + private Double lossAmount19; + private Double lossAmount20; + private Double lossAmount21; + private Double lossAmount22; + private Double lossAmount23; + private Double lossAmount24; + private Double lossAmount25; + private Double lossAmount26; + private Double lossAmount27; + private Double lossAmount28; + private Double lossAmount29; + private Double lossAmount30; + private Double lossAmount31; +} diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoMonthIntakeAmount.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoMonthAmount.java similarity index 92% rename from pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoMonthIntakeAmount.java rename to pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoMonthAmount.java index b4fdfe2..71d1525 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoMonthIntakeAmount.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoMonthAmount.java @@ -9,12 +9,12 @@ * @author ZhuBaoMin * @date 2024-08-08 14:16 * @LastEditTime 2024-08-08 14:16 - * @Description 鍙栨按鍙f湀鐢ㄦ按瑙嗗浘 + * @Description 鍙栨按鍙f湀鐢ㄦ按瑙嗗浘銆佹湀婕忔崯瑙嗗浘 */ @Data @JsonPropertyOrder({ "intakeId", "intakeNum", "month1" , "month2" , "month3" , "month4" , "month5" , "month6" , "month7" , "month8" , "month9" , "month10" , "month11" , "month12" }) -public class VoMonthIntakeAmount { +public class VoMonthAmount { private static final long serialVersionUID = 202408081417001L; /** diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml index 6d2c24c..682d4eb 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml @@ -72,7 +72,7 @@ pipIrr: global: - dev: true #鏄惁寮�鍙戦樁娈碉紝true鎴杅alse + dev: false #鏄惁寮�鍙戦樁娈碉紝true鎴杅alse dsName: ym #寮�鍙戦樁娈碉紝璁剧疆涓存椂鐨勬暟鎹簱鍚嶇О mw: webPort: 8070 diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayMapper.xml index ff1f3fa..c68b2b7 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayMapper.xml @@ -247,187 +247,187 @@ SELECT inta.id AS intakeId, inta.name AS intakeNum, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 1), 0) AS amount1, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 2), 0) AS amount2, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 3), 0) AS amount3, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 4), 0) AS amount4, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 5), 0) AS amount5, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 6), 0) AS amount6, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 7), 0) AS amount7, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 8), 0) AS amount8, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 9), 0) AS amount9, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 10), 0) AS amount10, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 11), 0) AS amount11, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 12), 0) AS amount12, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 13), 0) AS amount13, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 14), 0) AS amount14, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 15), 0) AS amount15, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 16), 0) AS amount16, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 17), 0) AS amount17, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 18), 0) AS amount18, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 19), 0) AS amount19, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 20), 0) AS amount20, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 21), 0) AS amount21, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 22), 0) AS amount22, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 23), 0) AS amount23, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 24), 0) AS amount24, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 25), 0) AS amount25, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 26), 0) AS amount26, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 27), 0) AS amount27, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 28), 0) AS amount28, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 29), 0) AS amount29, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} AND DAY(intaDay.dt) = 30), 0) AS amount30, IFNULL((SELECT IFNULL(amount, 0) - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = #{month} @@ -460,77 +460,77 @@ </select> <!--缁熻鎸囧畾骞翠唤鍚勬湀鐢ㄦ按閲�--> - <select id="getMonthIntakeAmount" resultType="com.dy.pipIrrGlobal.voSt.VoMonthIntakeAmount"> + <select id="getMonthIntakeAmount" resultType="com.dy.pipIrrGlobal.voSt.VoMonthAmount"> SELECT inta.id AS intakeId, inta.name AS intakeNum, IFNULL((SELECT SUM(amount) AS amount - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = 1 GROUP BY(intaDay.intake_id)), 0) AS month1, IFNULL((SELECT SUM(amount) AS amount - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = 2 GROUP BY(intaDay.intake_id)), 0) AS month2, IFNULL((SELECT SUM(amount) AS amount - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = 3 GROUP BY(intaDay.intake_id)), 0) AS month3, IFNULL((SELECT SUM(amount) AS amount - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = 4 GROUP BY(intaDay.intake_id)), 0) AS month4, IFNULL((SELECT SUM(amount) AS amount - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = 5 GROUP BY(intaDay.intake_id)), 0) AS month5, IFNULL((SELECT SUM(amount) AS amount - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = 6 GROUP BY(intaDay.intake_id)), 0) AS month6, IFNULL((SELECT SUM(amount) AS amount - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = 7 GROUP BY(intaDay.intake_id)), 0) AS month7, IFNULL((SELECT SUM(amount) AS amount - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = 8 GROUP BY(intaDay.intake_id)), 0) AS month8, IFNULL((SELECT SUM(amount) AS amount - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = 9 GROUP BY(intaDay.intake_id)), 0) AS month9, IFNULL((SELECT SUM(amount) AS amount - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = 10 GROUP BY(intaDay.intake_id)), 0) AS month10, IFNULL((SELECT SUM(amount) AS amount - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = 11 GROUP BY(intaDay.intake_id)), 0) AS month11, IFNULL((SELECT SUM(amount) AS amount - FROM rm_intake_amount_day intaDay + FROM rm_intake_amount_day_last intaDay WHERE intaDay.intake_id = inta.id AND YEAR(intaDay.dt) = #{year} AND MONTH(intaDay.dt) = 12 diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayLastMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayLastMapper.xml index fab983b..f70b447 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayLastMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayLastMapper.xml @@ -1,215 +1,548 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.dy.pipIrrGlobal.daoRm.RmLossDayLastMapper"> - <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmLossDayLast"> - <!--@mbg.generated--> - <!--@Table rm_loss_day_last--> - <id column="id" jdbcType="BIGINT" property="id" /> - <result column="last_history_id" jdbcType="BIGINT" property="lastHistoryId" /> - <result column="controller_id" jdbcType="BIGINT" property="controllerId" /> - <result column="intake_id" jdbcType="BIGINT" property="intakeId" /> - <result column="rtu_addr" jdbcType="VARCHAR" property="rtuAddr" /> - <result column="dt" jdbcType="DATE" property="dt" /> - <result column="dt_last" jdbcType="TIMESTAMP" property="dtLast" /> - <result column="dt_rtu" jdbcType="TIMESTAMP" property="dtRtu" /> - <result column="loss_amount" jdbcType="DOUBLE" property="lossAmount" /> - </resultMap> - <sql id="Base_Column_List"> - <!--@mbg.generated--> - id, last_history_id, controller_id, intake_id, rtu_addr, dt, dt_last, dt_rtu, loss_amount - </sql> - <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> - <!--@mbg.generated--> - select - <include refid="Base_Column_List" /> - from rm_loss_day_last - where id = #{id,jdbcType=BIGINT} - </select> - <select id="selectByIntakeId" parameterType="java.lang.Long" resultMap="BaseResultMap"> - <!--@mbg.generated--> - select - <include refid="Base_Column_List" /> - from rm_loss_day_last - where intake_id = #{intakeId,jdbcType=BIGINT} - </select> - <select id="selectByDate" parameterType="java.util.Date" resultMap="BaseResultMap"> - <!--@mbg.generated--> - select - <include refid="Base_Column_List" /> - from rm_loss_day_last - where dt = #{dt,jdbcType=DATE} - </select> - <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> - <!--@mbg.generated--> - delete from rm_loss_day_last - where id = #{id,jdbcType=BIGINT} - </delete> - <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossDayLast"> - <!--@mbg.generated--> - insert into rm_loss_day_last (id, last_history_id, controller_id, - intake_id, rtu_addr, dt, dt_last, dt_rtu, - loss_amount) - values (#{id,jdbcType=BIGINT}, #{lastHistoryId,jdbcType=BIGINT}, #{controllerId,jdbcType=BIGINT}, - #{intakeId,jdbcType=BIGINT}, #{rtuAddr,jdbcType=VARCHAR}, #{dt,jdbcType=DATE}, #{dtLast,jdbcType=TIMESTAMP}, #{dtRtu,jdbcType=TIMESTAMP}, - #{lossAmount,jdbcType=DOUBLE}) - </insert> - <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossDayLast"> - <!--@mbg.generated--> - insert into rm_loss_day_last - <trim prefix="(" suffix=")" suffixOverrides=","> - <if test="id != null"> + <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmLossDayLast"> + <!--@mbg.generated--> + <!--@Table rm_loss_day_last--> + <id column="id" jdbcType="BIGINT" property="id"/> + <result column="last_history_id" jdbcType="BIGINT" property="lastHistoryId"/> + <result column="controller_id" jdbcType="BIGINT" property="controllerId"/> + <result column="intake_id" jdbcType="BIGINT" property="intakeId"/> + <result column="rtu_addr" jdbcType="VARCHAR" property="rtuAddr"/> + <result column="dt" jdbcType="DATE" property="dt"/> + <result column="dt_last" jdbcType="TIMESTAMP" property="dtLast"/> + <result column="dt_rtu" jdbcType="TIMESTAMP" property="dtRtu"/> + <result column="loss_amount" jdbcType="DOUBLE" property="lossAmount"/> + </resultMap> + <sql id="Base_Column_List"> + <!--@mbg.generated--> id, - </if> - <if test="lastHistoryId != null"> last_history_id, - </if> - <if test="controllerId != null"> controller_id, - </if> - <if test="intakeId != null"> intake_id, - </if> - <if test="rtuAddr != null"> rtu_addr, - </if> - <if test="dt != null"> dt, - </if> - <if test="dtLast != null"> dt_last, - </if> - <if test="dtRtu != null"> dt_rtu, - </if> - <if test="lossAmount != null"> - loss_amount, - </if> - </trim> - <trim prefix="values (" suffix=")" suffixOverrides=","> - <if test="id != null"> - #{id,jdbcType=BIGINT}, - </if> - <if test="lastHistoryId != null"> - #{lastHistoryId,jdbcType=BIGINT}, - </if> - <if test="controllerId != null"> - #{controllerId,jdbcType=BIGINT}, - </if> - <if test="intakeId != null"> - #{intakeId,jdbcType=BIGINT}, - </if> - <if test="rtuAddr != null"> - #{rtuAddr,jdbcType=VARCHAR}, - </if> - <if test="dt != null"> - #{dt,jdbcType=DATE}, - </if> - <if test="dtLast != null"> - #{dtLast,jdbcType=TIMESTAMP}, - </if> - <if test="dtRtu != null"> - #{dtRtu,jdbcType=TIMESTAMP}, - </if> - <if test="lossAmount != null"> - #{lossAmount,jdbcType=DOUBLE}, - </if> - </trim> - </insert> - <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossDayLast"> - <!--@mbg.generated--> - update rm_loss_day_last - <set> - <if test="lastHistoryId != null"> - last_history_id = #{lastHistoryId,jdbcType=BIGINT}, - </if> - <if test="controllerId != null"> - controller_id = #{controllerId,jdbcType=BIGINT}, - </if> - <if test="intakeId != null"> - intake_id = #{intakeId,jdbcType=BIGINT}, - </if> - <if test="rtuAddr != null"> - rtu_addr = #{rtuAddr,jdbcType=VARCHAR}, - </if> - <if test="dt != null"> - dt = #{dt,jdbcType=DATE}, - </if> - <if test="dtLast != null"> - dt_last = #{dtLast,jdbcType=TIMESTAMP}, - </if> - <if test="dtRtu != null"> - dt_rtu = #{dtRtu,jdbcType=TIMESTAMP}, - </if> - <if test="lossAmount != null"> - loss_amount = #{lossAmount,jdbcType=DOUBLE}, - </if> - </set> - where id = #{id,jdbcType=BIGINT} - </update> - <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossDayLast"> - <!--@mbg.generated--> - update rm_loss_day_last - set last_history_id = #{lastHistoryId,jdbcType=BIGINT}, - controller_id = #{controllerId,jdbcType=BIGINT}, - intake_id = #{intakeId,jdbcType=BIGINT}, - rtu_addr = #{rtuAddr,jdbcType=VARCHAR}, - dt = #{dt,jdbcType=DATE}, - dt_last = #{dtLast,jdbcType=TIMESTAMP}, - dt_rtu = #{dtRtu,jdbcType=TIMESTAMP}, - loss_amount = #{lossAmount,jdbcType=DOUBLE} - where id = #{id,jdbcType=BIGINT} - </update> - <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍鎬绘暟--> - <select id="getRecordCount" resultType="java.lang.Long"> - select count(*) - from rm_loss_day_last rldl - Left join pr_intake pint on pint.id = rldl.intake_id - <where> - <if test="intakeId != null and intakeId != '' "> - and rash.intake_id = #{intakeId} - </if> - <if test="intakeName != null and intakeName != '' "> - and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%') - </if> - <if test="startDt != null"> - and rldl.dt >= #{startDt,jdbcType=DATE} - </if> - <if test="endDt != null"> - and rldl.dt <= #{endDt,jdbcType=DATE} - </if> - </where> - </select> - <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍--> - <select id="getLossDayLast" resultType="com.dy.pipIrrGlobal.voRm.VoLossDay"> - select - CAST(rldl.intake_id AS char)AS intakeId, - CAST(rldl.controller_id AS char)AS controllerId, - pint.name as intakeName, - rldl.rtu_addr as rtuAddr, - rldl.dt as dt, - rldl.dt_last as dtLast, - rldl.dt_rtu as dtRtu, - rldl.loss_amount as lossAmount - from rm_loss_day_last rldl - Left join pr_intake pint on pint.id = rldl.intake_id - <where> - <if test="intakeId != null and intakeId != '' "> - and rash.intake_id = #{intakeId} - </if> - <if test="intakeName != null and intakeName != '' "> - and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%') - </if> - <if test="startDt != null"> - and rldl.dt >= #{startDt,jdbcType=DATE} - </if> - <if test="endDt != null"> - and rldl.dt <= #{endDt,jdbcType=DATE} - </if> - </where> - ORDER BY rldl.dt DESC , rldl.loss_amount DESC - <if test="pageCurr != null and pageSize != null"> - LIMIT ${(pageCurr-1)*pageSize}, ${pageSize} - </if> - </select> + loss_amount + </sql> + <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> + <!--@mbg.generated--> + select + <include refid="Base_Column_List"/> + from rm_loss_day_last + where id = #{id,jdbcType=BIGINT} + </select> + <select id="selectByIntakeId" parameterType="java.lang.Long" resultMap="BaseResultMap"> + <!--@mbg.generated--> + select + <include refid="Base_Column_List"/> + from rm_loss_day_last + where intake_id = #{intakeId,jdbcType=BIGINT} + </select> + <select id="selectByDate" parameterType="java.util.Date" resultMap="BaseResultMap"> + <!--@mbg.generated--> + select + <include refid="Base_Column_List"/> + from rm_loss_day_last + where dt = #{dt,jdbcType=DATE} + </select> + <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> + <!--@mbg.generated--> + delete + from rm_loss_day_last + where id = #{id,jdbcType=BIGINT} + </delete> + <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossDayLast"> + <!--@mbg.generated--> + insert into rm_loss_day_last (id, last_history_id, controller_id, + intake_id, rtu_addr, dt, dt_last, dt_rtu, + loss_amount) + values (#{id,jdbcType=BIGINT}, #{lastHistoryId,jdbcType=BIGINT}, #{controllerId,jdbcType=BIGINT}, + #{intakeId,jdbcType=BIGINT}, #{rtuAddr,jdbcType=VARCHAR}, #{dt,jdbcType=DATE}, + #{dtLast,jdbcType=TIMESTAMP}, #{dtRtu,jdbcType=TIMESTAMP}, + #{lossAmount,jdbcType=DOUBLE}) + </insert> + <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossDayLast"> + <!--@mbg.generated--> + insert into rm_loss_day_last + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="id != null"> + id, + </if> + <if test="lastHistoryId != null"> + last_history_id, + </if> + <if test="controllerId != null"> + controller_id, + </if> + <if test="intakeId != null"> + intake_id, + </if> + <if test="rtuAddr != null"> + rtu_addr, + </if> + <if test="dt != null"> + dt, + </if> + <if test="dtLast != null"> + dt_last, + </if> + <if test="dtRtu != null"> + dt_rtu, + </if> + <if test="lossAmount != null"> + loss_amount, + </if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test="id != null"> + #{id,jdbcType=BIGINT}, + </if> + <if test="lastHistoryId != null"> + #{lastHistoryId,jdbcType=BIGINT}, + </if> + <if test="controllerId != null"> + #{controllerId,jdbcType=BIGINT}, + </if> + <if test="intakeId != null"> + #{intakeId,jdbcType=BIGINT}, + </if> + <if test="rtuAddr != null"> + #{rtuAddr,jdbcType=VARCHAR}, + </if> + <if test="dt != null"> + #{dt,jdbcType=DATE}, + </if> + <if test="dtLast != null"> + #{dtLast,jdbcType=TIMESTAMP}, + </if> + <if test="dtRtu != null"> + #{dtRtu,jdbcType=TIMESTAMP}, + </if> + <if test="lossAmount != null"> + #{lossAmount,jdbcType=DOUBLE}, + </if> + </trim> + </insert> + <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossDayLast"> + <!--@mbg.generated--> + update rm_loss_day_last + <set> + <if test="lastHistoryId != null"> + last_history_id = #{lastHistoryId,jdbcType=BIGINT}, + </if> + <if test="controllerId != null"> + controller_id = #{controllerId,jdbcType=BIGINT}, + </if> + <if test="intakeId != null"> + intake_id = #{intakeId,jdbcType=BIGINT}, + </if> + <if test="rtuAddr != null"> + rtu_addr = #{rtuAddr,jdbcType=VARCHAR}, + </if> + <if test="dt != null"> + dt = #{dt,jdbcType=DATE}, + </if> + <if test="dtLast != null"> + dt_last = #{dtLast,jdbcType=TIMESTAMP}, + </if> + <if test="dtRtu != null"> + dt_rtu = #{dtRtu,jdbcType=TIMESTAMP}, + </if> + <if test="lossAmount != null"> + loss_amount = #{lossAmount,jdbcType=DOUBLE}, + </if> + </set> + where id = #{id,jdbcType=BIGINT} + </update> + <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossDayLast"> + <!--@mbg.generated--> + update rm_loss_day_last + set last_history_id = #{lastHistoryId,jdbcType=BIGINT}, + controller_id = #{controllerId,jdbcType=BIGINT}, + intake_id = #{intakeId,jdbcType=BIGINT}, + rtu_addr = #{rtuAddr,jdbcType=VARCHAR}, + dt = #{dt,jdbcType=DATE}, + dt_last = #{dtLast,jdbcType=TIMESTAMP}, + dt_rtu = #{dtRtu,jdbcType=TIMESTAMP}, + loss_amount = #{lossAmount,jdbcType=DOUBLE} + where id = #{id,jdbcType=BIGINT} + </update> + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍鎬绘暟--> + <select id="getRecordCount" resultType="java.lang.Long"> + select count(*) + from rm_loss_day_last rldl + Left join pr_intake pint on pint.id = rldl.intake_id + <where> + <if test="intakeId != null and intakeId != ''"> + and rldl.intake_id = #{intakeId} + </if> + <if test="intakeName != null and intakeName != ''"> + and pint.name like CONCAT('%', #{intakeName,jdbcType=VARCHAR}, '%') + </if> + <if test="startDt != null"> + and rldl.dt >= #{startDt,jdbcType=DATE} + </if> + <if test="endDt != null"> + and rldl.dt <= #{endDt,jdbcType=DATE} + </if> + </where> + </select> + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍--> + <select id="getLossDayLast" resultType="com.dy.pipIrrGlobal.voRm.VoLossDay"> + select CAST(rldl.intake_id AS char) AS intakeId, + CAST(rldl.controller_id AS char) AS controllerId, + pint.name as intakeName, + rldl.rtu_addr as rtuAddr, + rldl.dt as dt, + rldl.dt_last as dtLast, + rldl.dt_rtu as dtRtu, + rldl.loss_amount as lossAmount + from rm_loss_day_last rldl + Left join pr_intake pint on pint.id = rldl.intake_id + <where> + <if test="intakeId != null and intakeId != ''"> + and rldl.intake_id = #{intakeId} + </if> + <if test="intakeName != null and intakeName != ''"> + and pint.name like CONCAT('%', #{intakeName,jdbcType=VARCHAR}, '%') + </if> + <if test="startDt != null"> + and rldl.dt >= #{startDt,jdbcType=DATE} + </if> + <if test="endDt != null"> + and rldl.dt <= #{endDt,jdbcType=DATE} + </if> + </where> + ORDER BY rldl.dt DESC, rldl.loss_amount DESC + <!-- <if test="pageCurr != null and pageSize != null">--> + <!-- LIMIT ${(pageCurr-1)*pageSize}, ${pageSize}--> + <!-- </if>--> + <trim prefix="limit "> + <if test="start != null and count != null"> + #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} + </if> + </trim> + </select> + <!--缁熻鎸囧畾鏈堜唤鍚勫ぉ婕忔崯閲忚褰曟暟閲�--> + <select id="getDayLossAmountCount" resultType="java.lang.Long"> + SELECT COUNT(*) AS recordCount + FROM pr_intake inta + <where> + AND inta.deleted = 0 + <if test="intakeNum != null and intakeNum != ''"> + AND inta.name = #{intakeNum} + </if> + </where> + </select> + + <!--缁熻鎸囧畾鏈堜唤鍚勫ぉ婕忔崯閲�--> + <select id="getDayLossAmount" resultType="com.dy.pipIrrGlobal.voSt.VoDayLoss"> + SELECT inta.id AS intakeId, + inta.name AS intakeNum, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 1), 0) AS lossAmount1, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 2), 0) AS lossAmount2, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 3), 0) AS lossAmount3, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 4), 0) AS lossAmount4, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 5), 0) AS lossAmount5, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 6), 0) AS lossAmount6, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 7), 0) AS lossAmount7, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 8), 0) AS lossAmount8, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 9), 0) AS lossAmount9, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 10), 0) AS lossAmount10, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 11), 0) AS lossAmount11, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 12), 0) AS lossAmount12, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 13), 0) AS lossAmount13, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 14), 0) AS lossAmount14, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 15), 0) AS lossAmount15, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 16), 0) AS lossAmount16, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 17), 0) AS lossAmount17, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 18), 0) AS lossAmount18, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 19), 0) AS lossAmount19, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 20), 0) AS lossAmount20, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 21), 0) AS lossAmount21, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 22), 0) AS lossAmount22, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 23), 0) AS lossAmount23, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 24), 0) AS lossAmount24, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 25), 0) AS lossAmount25, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 26), 0) AS lossAmount26, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 27), 0) AS lossAmount27, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 28), 0) AS lossAmount28, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 29), 0) AS lossAmount29, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 30), 0) AS lossAmount30, + IFNULL((SELECT IFNULL(loss_amount, 0) + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = #{month} + AND DAY(intaDay.dt) = 31), 0) AS lossAmount31 + FROM pr_intake inta + <where> + AND inta.deleted = 0 + <if test="intakeNum != null and intakeNum != ''"> + AND inta.name = #{intakeNum} + </if> + </where> + ORDER BY inta.id + <trim prefix="limit "> + <if test="start != null and count != null"> + #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} + </if> + </trim> + </select> + + <!--缁熻鎸囧畾骞翠唤鍚勬湀婕忔崯閲忚褰曟暟閲�--> + <select id="getMonthLossAmountCount" resultType="java.lang.Long"> + SELECT COUNT(*) AS recordCount + FROM pr_intake inta + <where> + AND inta.deleted = 0 + <if test="intakeNum != null and intakeNum != ''"> + AND inta.name = #{intakeNum} + </if> + </where> + </select> + + <!--缁熻鎸囧畾骞翠唤鍚勬湀婕忔崯閲�--> + <select id="getMonthLossAmount" resultType="com.dy.pipIrrGlobal.voSt.VoMonthAmount"> + SELECT inta.id AS intakeId, + inta.name AS intakeNum, + IFNULL((SELECT SUM(loss_amount) AS amount + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = 1 + GROUP BY(intaDay.intake_id)), 0) AS month1, + IFNULL((SELECT SUM(loss_amount) AS amount + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = 2 + GROUP BY(intaDay.intake_id)), 0) AS month2, + IFNULL((SELECT SUM(loss_amount) AS amount + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = 3 + GROUP BY(intaDay.intake_id)), 0) AS month3, + IFNULL((SELECT SUM(loss_amount) AS amount + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = 4 + GROUP BY(intaDay.intake_id)), 0) AS month4, + IFNULL((SELECT SUM(loss_amount) AS amount + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = 5 + GROUP BY(intaDay.intake_id)), 0) AS month5, + IFNULL((SELECT SUM(loss_amount) AS amount + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = 6 + GROUP BY(intaDay.intake_id)), 0) AS month6, + IFNULL((SELECT SUM(loss_amount) AS amount + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = 7 + GROUP BY(intaDay.intake_id)), 0) AS month7, + IFNULL((SELECT SUM(loss_amount) AS amount + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = 8 + GROUP BY(intaDay.intake_id)), 0) AS month8, + IFNULL((SELECT SUM(loss_amount) AS amount + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = 9 + GROUP BY(intaDay.intake_id)), 0) AS month9, + IFNULL((SELECT SUM(loss_amount) AS amount + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = 10 + GROUP BY(intaDay.intake_id)), 0) AS month10, + IFNULL((SELECT SUM(loss_amount) AS amount + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = 11 + GROUP BY(intaDay.intake_id)), 0) AS month11, + IFNULL((SELECT SUM(loss_amount) AS amount + FROM rm_loss_day_last intaDay + WHERE intaDay.intake_id = inta.id + AND YEAR(intaDay.dt) = #{year} + AND MONTH(intaDay.dt) = 12 + GROUP BY(intaDay.intake_id)), 0) AS month12 + FROM pr_intake inta + <where> + AND inta.deleted = 0 + <if test="intakeNum != null and intakeNum != ''"> + AND inta.name = #{intakeNum} + </if> + </where> + ORDER BY inta.id + <trim prefix="limit "> + <if test="start != null and count != null"> + #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} + </if> + </trim> + </select> </mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java index 4f1b5f9..704e2c0 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java @@ -12,7 +12,6 @@ import java.text.DecimalFormat; import java.time.LocalDate; -import java.time.LocalDateTime; import java.util.Calendar; import java.util.List; import java.util.Map; @@ -39,6 +38,8 @@ @Autowired private RmIntakeAmountDayMapper rmIntakeAmountDayMapper; + @Autowired + private RmLossDayLastMapper rmLossDayLastMapper; @Value("${rtu.batteryVolt}") private Double batteryVolt; @@ -674,7 +675,7 @@ * @param qo * @return */ - public QueryResultVo<List<VoMonthIntakeAmount>> getMonthIntakeAmount(IntakeAmountQO qo) { + public QueryResultVo<List<VoMonthAmount>> getMonthIntakeAmount(IntakeAmountQO qo) { Calendar calendar = Calendar.getInstance(); Integer year = Optional.ofNullable(qo.getYear()).orElse(calendar.get(Calendar.YEAR)); qo.setYear(year); @@ -685,7 +686,7 @@ // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟 Long itemTotal = Optional.ofNullable(rmIntakeAmountDayMapper.getMonthIntakeAmountCount(params)).orElse(0L); - QueryResultVo<List<VoMonthIntakeAmount>> rsVo = new QueryResultVo<>() ; + QueryResultVo<List<VoMonthAmount>> rsVo = new QueryResultVo<>() ; rsVo.pageSize = qo.pageSize ; rsVo.pageCurr = qo.pageCurr ; @@ -694,4 +695,58 @@ rsVo.obj = rmIntakeAmountDayMapper.getMonthIntakeAmount(params); return rsVo ; } + + /** + * 缁熻鎸囧畾鏈堜唤鍚勫ぉ婕忔崯閲� + * @param qo + * @return + */ + public QueryResultVo<List<VoDayLoss>> getDayLossAmount(IntakeAmountQO qo) { + Calendar calendar = Calendar.getInstance(); + Integer year = Optional.ofNullable(qo.getYear()).orElse(calendar.get(Calendar.YEAR)); + Integer month = Optional.ofNullable(qo.getMonth()).orElse(calendar.get(Calendar.MONTH)); + qo.setYear(year); + qo.setMonth(month); + + // 鐢熸垚鏌ヨ鍙傛暟 + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ; + + // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟 + Long itemTotal = Optional.ofNullable(rmLossDayLastMapper.getDayLossAmountCount(params)).orElse(0L); + + QueryResultVo<List<VoDayLoss>> rsVo = new QueryResultVo<>() ; + + rsVo.pageSize = qo.pageSize ; + rsVo.pageCurr = qo.pageCurr ; + + rsVo.calculateAndSet(itemTotal, params); + rsVo.obj = rmLossDayLastMapper.getDayLossAmount(params); + return rsVo ; + } + + /** + * 缁熻鎸囧畾骞翠唤鍚勬湀婕忔崯閲� + * @param qo + * @return + */ + public QueryResultVo<List<VoMonthAmount>> getMonthLossAmount(IntakeAmountQO qo) { + Calendar calendar = Calendar.getInstance(); + Integer year = Optional.ofNullable(qo.getYear()).orElse(calendar.get(Calendar.YEAR)); + qo.setYear(year); + + // 鐢熸垚鏌ヨ鍙傛暟 + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ; + + // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟 + Long itemTotal = Optional.ofNullable(rmLossDayLastMapper.getMonthLossAmountCount(params)).orElse(0L); + + QueryResultVo<List<VoMonthAmount>> rsVo = new QueryResultVo<>() ; + + rsVo.pageSize = qo.pageSize ; + rsVo.pageCurr = qo.pageCurr ; + + rsVo.calculateAndSet(itemTotal, params); + rsVo.obj = rmLossDayLastMapper.getMonthLossAmount(params); + return rsVo ; + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java index d6c8a55..948a8e2 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java @@ -350,7 +350,7 @@ */ @GetMapping(path = "/getMonthIntakeAmount") @SsoAop() - public BaseResponse<QueryResultVo<List<VoMonthIntakeAmount>>> getMonthIntakeAmount(IntakeAmountQO qo) { + public BaseResponse<QueryResultVo<List<VoMonthAmount>>> getMonthIntakeAmount(IntakeAmountQO qo) { try { return BaseResponseUtils.buildSuccess(intakeSv.getMonthIntakeAmount(qo)); } catch (Exception e) { @@ -358,4 +358,36 @@ return BaseResponseUtils.buildException(e.getMessage()) ; } } + + /** + * 缁熻鎸囧畾鏈堜唤鍚勫ぉ婕忔崯閲� + * @param qo + * @return + */ + @GetMapping(path = "/getDayLossAmount") + @SsoAop() + public BaseResponse<QueryResultVo<List<VoDayLoss>>> getDayLossAmount(IntakeAmountQO qo) { + try { + return BaseResponseUtils.buildSuccess(intakeSv.getDayLossAmount(qo)); + } catch (Exception e) { + log.error("鑾峰彇璁板綍寮傚父", e); + return BaseResponseUtils.buildException(e.getMessage()) ; + } + } + + /** + * 缁熻鎸囧畾骞翠唤鍚勬湀婕忔崯閲� + * @param qo + * @return + */ + @GetMapping(path = "/getMonthLossAmount") + @SsoAop() + public BaseResponse<QueryResultVo<List<VoMonthAmount>>> getMonthLossAmount(IntakeAmountQO qo) { + try { + return BaseResponseUtils.buildSuccess(intakeSv.getMonthLossAmount(qo)); + } catch (Exception e) { + log.error("鑾峰彇璁板綍寮傚父", e); + return BaseResponseUtils.buildException(e.getMessage()) ; + } + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/qo/IntakeAmountQO.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/qo/IntakeAmountQO.java index 3c56028..eea4659 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/qo/IntakeAmountQO.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/qo/IntakeAmountQO.java @@ -7,7 +7,7 @@ * @author ZhuBaoMin * @date 2024-08-08 9:59 * @LastEditTime 2024-08-08 9:59 - * @Description + * @Description 鍙栨按鍙g敤姘存煡璇㈠璞°�佹紡绠楁煡璇㈠璞� */ @Data -- Gitblit v1.8.0