Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV
|  |  |  | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.mapper.BaseMapper; | 
|---|
|  |  |  | import com.dy.pipIrrGlobal.pojoRm.RmClientAmountDayLast; | 
|---|
|  |  |  | import com.dy.pipIrrGlobal.voRm.VoClientAmountDay; | 
|---|
|  |  |  | import com.dy.pipIrrGlobal.voSt.VoClient; | 
|---|
|  |  |  | import com.dy.pipIrrGlobal.voSt.VoDayClient; | 
|---|
|  |  |  | import com.dy.pipIrrGlobal.voSt.VoMonthClient; | 
|---|
|  |  |  | import org.apache.ibatis.annotations.Mapper; | 
|---|
|  |  |  | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | List<VoMonthClient> getMonthAmountAndMoney(Map<?, ?> params); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 最近未充值的农户数量 | 
|---|
|  |  |  | * @param params | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | Long getNotRechargeLastClientsCount(Map<String, Object> params); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 最近未充值的农户 | 
|---|
|  |  |  | * @param params | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | List<VoClient> getNotRechargeLastClients(Map<String, Object> params); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | tb.rtuAddr rtuAddr, | 
|---|
|  |  |  | tb.intakeId intakeId, | 
|---|
|  |  |  | tb.findDt findDt, | 
|---|
|  |  |  | tb.operateDt operateDt, | 
|---|
|  |  |  | itb.name intakeName | 
|---|
|  |  |  | FROM pr_controller tb | 
|---|
|  |  |  | INNER JOIN pr_intake itb on tb.intakeId = itb.id | 
|---|
|  |  |  | 
|---|
|  |  |  | ge.deleted = 0 | 
|---|
|  |  |  | AND divi.deleted = 0 | 
|---|
|  |  |  | AND blo.deleted = 0 | 
|---|
|  |  |  | AND cont.deleted = 0 | 
|---|
|  |  |  | <if test="intakeName != null and intakeName != ''"> | 
|---|
|  |  |  | AND ge.name LIKE CONCAT('%', #{intakeName}, '%') | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | 
|---|
|  |  |  | ge.deleted = 0 | 
|---|
|  |  |  | AND divi.deleted = 0 | 
|---|
|  |  |  | AND blo.deleted = 0 | 
|---|
|  |  |  | AND cont.deleted = 0 | 
|---|
|  |  |  | <if test="intakeName != null and intakeName != ''"> | 
|---|
|  |  |  | AND ge.name LIKE CONCAT('%', #{intakeName}, '%') | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </trim> | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  | <!--最近未充值的农户数量--> | 
|---|
|  |  |  | <select id="getNotRechargeLastClientsCount" resultType="java.lang.Long"> | 
|---|
|  |  |  | SELECT COUNT(*) | 
|---|
|  |  |  | FROM | 
|---|
|  |  |  | (        SELECT | 
|---|
|  |  |  | sc.id    AS clientId, | 
|---|
|  |  |  | sc.`name`   AS clientName, | 
|---|
|  |  |  | sc.clientNum  AS clientNum, | 
|---|
|  |  |  | sc.address   AS address, | 
|---|
|  |  |  | sc.phone    AS phone, | 
|---|
|  |  |  | sc.idCard   AS idCard | 
|---|
|  |  |  | FROM | 
|---|
|  |  |  | se_client sc | 
|---|
|  |  |  | LEFT JOIN (SELECT srh.clientId FROM `se_recharge_history` srh | 
|---|
|  |  |  | <where> | 
|---|
|  |  |  | srh.amount > 0 AND srh.operate_valid = 2 | 
|---|
|  |  |  | <if test="timeStart != null and timeStart != ''"> | 
|---|
|  |  |  | AND srh.operateDt > #{timeStart} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </where> | 
|---|
|  |  |  | ) c on c.clientId = sc.id | 
|---|
|  |  |  | WHERE c.clientId IS NULL | 
|---|
|  |  |  | GROUP BY sc.id) d | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  | <!--最近未充值的农户--> | 
|---|
|  |  |  | <select id="getNotRechargeLastClients" resultType="com.dy.pipIrrGlobal.voSt.VoClient"> | 
|---|
|  |  |  | SELECT | 
|---|
|  |  |  | sc.id    AS clientId, | 
|---|
|  |  |  | sc.`name`   AS clientName, | 
|---|
|  |  |  | sc.clientNum  AS clientNum, | 
|---|
|  |  |  | sc.address   AS address, | 
|---|
|  |  |  | sc.phone    AS phone, | 
|---|
|  |  |  | sc.idCard   AS idCard | 
|---|
|  |  |  | FROM | 
|---|
|  |  |  | se_client sc | 
|---|
|  |  |  | LEFT JOIN (SELECT srh.clientId FROM `se_recharge_history` srh | 
|---|
|  |  |  | <where> | 
|---|
|  |  |  | srh.amount > 0 AND srh.operate_valid = 2 | 
|---|
|  |  |  | <if test="timeStart != null and timeStart != ''"> | 
|---|
|  |  |  | AND srh.operateDt > #{timeStart} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </where> | 
|---|
|  |  |  | ) c on c.clientId = sc.id | 
|---|
|  |  |  | WHERE c.clientId IS NULL | 
|---|
|  |  |  | GROUP BY sc.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> | 
|---|
|  |  |  | 
|---|
|  |  |  | * @param dataCdC0Vo 开阀上报数据对象 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private void doDeal(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo dataCdC0Vo) throws Exception { | 
|---|
|  |  |  | Date findDt = controller.getFindDt() ;//发现此控制器的日期与时间 | 
|---|
|  |  |  | if(findDt != null){ | 
|---|
|  |  |  | String findDtStr = DateTime.yyyy_MM_dd(findDt) ; | 
|---|
|  |  |  | if(findDtStr.equals(DateTime.yyyy_MM_dd())){ | 
|---|
|  |  |  | //当天发现控制器,控制器计算的漏损量一定不正确,强制设置成0 | 
|---|
|  |  |  | Date operateDt = controller.getOperateDt() ;//取水中上绑定此控制器的日期与时间 | 
|---|
|  |  |  | if(operateDt != null){ | 
|---|
|  |  |  | String operateDtStr = DateTime.yyyy_MM_dd(operateDt) ; | 
|---|
|  |  |  | if(operateDtStr.equals(DateTime.yyyy_MM_dd())){ | 
|---|
|  |  |  | //当天发现(并绑定)控制器,控制器计算的漏损量一定不正确,强制设置成0 | 
|---|
|  |  |  | dataCdC0Vo.lossAmount = 0.0 ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 最近未充值的农户 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param qo | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @GetMapping(path = "/getNotRechargeLastClients") | 
|---|
|  |  |  | @SsoAop() | 
|---|
|  |  |  | public BaseResponse<QueryResultVo<List<VoClient>>> getNotRechargeLastClients(CommonQO qo) { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | QueryResultVo<List<VoClient>> res = clientSv.getNotRechargeLastClients(qo); | 
|---|
|  |  |  | return BaseResponseUtils.buildSuccess(res); | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("获取记录异常", e); | 
|---|
|  |  |  | return BaseResponseUtils.buildException(e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | rsVo.obj = rmClientAmountDayLastMapper.getMonthAmountAndMoney(params); | 
|---|
|  |  |  | return rsVo ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 最近未充值的农户 | 
|---|
|  |  |  | * @param qo | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public QueryResultVo<List<VoClient>> getNotRechargeLastClients(CommonQO qo) { | 
|---|
|  |  |  | String timeStart = qo.getTimeStart(); | 
|---|
|  |  |  | if (timeStart != null && timeStart != ""){ | 
|---|
|  |  |  | timeStart = timeStart + " 00:00:00"; | 
|---|
|  |  |  | qo.setTimeStart(timeStart); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 生成查询参数 | 
|---|
|  |  |  | Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取符合条件的记录数 | 
|---|
|  |  |  | Long itemTotal = Optional.ofNullable(rmClientAmountDayLastMapper.getNotRechargeLastClientsCount(params)).orElse(0L); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | QueryResultVo<List<VoClient>> rsVo = new QueryResultVo<>() ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | rsVo.pageSize = qo.pageSize ; | 
|---|
|  |  |  | rsVo.pageCurr = qo.pageCurr ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | rsVo.calculateAndSet(itemTotal, params); | 
|---|
|  |  |  | rsVo.obj = rmClientAmountDayLastMapper.getNotRechargeLastClients(params); | 
|---|
|  |  |  | return rsVo ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|