zhubaomin
2024-09-14 cc1dd856e31c27f835ab2495f0415c4e8578b93f
2024-09-14 朱宝民 统计充值金额总计、水表消费金额总计
4个文件已修改
83 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardCtrl.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardSv.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java
@@ -218,4 +218,20 @@
     * @return
     */
    List<VoCardUsage> getCardUsages(Map<?, ?> params);
    /**
     * 获取指定时间段内水卡充值总计
     * @param timeStart
     * @param timeStop
     * @return
     */
    Float getTotalRecharge(@Param("timeStart")String timeStart, @Param("timeStop")String timeStop);
    /**
     * 获取指定时间段内水卡消费总计
     * @param timeStart
     * @param timeStop
     * @return
     */
    Float getTotalConsumption(@Param("timeStart")String timeStart, @Param("timeStop")String timeStop);
}
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
@@ -708,4 +708,18 @@
            </if>
        </trim>
    </select>
    <!--获取指定时间段内水卡充值总计-->
    <select id="getTotalRecharge" resultType="java.lang.Float">
        SELECT ROUND(SUM(amount),2) AS totalRecharge
        FROM se_recharge_history
        WHERE operateDt BETWEEN #{timeStart} AND #{timeStop}
    </select>
    <!--获取指定时间段内水卡消费总计-->
    <select id="getTotalConsumption" resultType="java.lang.Float">
        SELECT ROUND(SUM(cl_this_money),2) AS totalConsumption
        FROM rm_open_close_valve_history
        WHERE cl_dt BETWEEN #{timeStart} AND #{timeStop}
    </select>
</mapper>
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardCtrl.java
@@ -17,6 +17,7 @@
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
@@ -128,4 +129,25 @@
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
    /**
     * 获取售水总计信息:充值金额总计、水表消费金额总计
     * @param qo
     * @param bindingResult
     * @return
     */
    @GetMapping(path = "/total_water_use")
    @SsoAop()
    public BaseResponse<Map> getTotalWaterUse(@Valid CardUsageQO qo, BindingResult bindingResult) {
        if(bindingResult != null && bindingResult.hasErrors()){
            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
        try {
            return BaseResponseUtils.buildSuccess(icCardSv.getTotalWaterUse(qo));
        } catch (Exception e) {
            log.error("获取开卡记录异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
}
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardSv.java
@@ -14,8 +14,10 @@
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
/**
 * @author ZhuBaoMin
@@ -192,4 +194,33 @@
        rsVo.obj = seClientCardMapper.getCardUsages(params);
        return rsVo ;
    }
    /**
     * 获取售水总计信息:充值金额总计、水表消费金额总计
     * @param qo
     * @return
     */
    public Map getTotalWaterUse(CardUsageQO qo) {
        String timeStart = qo.getTimeStart();
        String timeStop = qo.getTimeStop();
        if (timeStart != null && timeStart != ""){
            timeStart = timeStart + " 00:00:00";
        }else {
            timeStart = LocalDate.now() + " 00:00:00";
        }
        if (timeStop != null && timeStop != ""){
            timeStop = timeStop + " 23:59:59";
        }else {
            timeStop = LocalDateTime.now().toString();
        }
        Float totalRecharge = Optional.ofNullable(seClientCardMapper.getTotalRecharge(timeStart, timeStop)).orElse(0f);
        Float totalConsumption = Optional.ofNullable(seClientCardMapper.getTotalConsumption(timeStart, timeStop)).orElse(0f);
        Map mat_total = new HashMap();
        mat_total.put("totalRecharge", totalRecharge);
        mat_total.put("totalConsumption", totalConsumption);
        return mat_total;
    }
}