wuzeyu
2024-08-09 dd2bcd8f3af56862e9a06d9fe99b359ed1640fbb
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java
@@ -2,7 +2,11 @@
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pipIrrGlobal.daoRm.RmOpenCloseValveHistoryMapper;
import com.dy.pipIrrGlobal.daoSe.SeCardOperateMapper;
import com.dy.pipIrrGlobal.voSt.VoClient;
import com.dy.pipIrrGlobal.voSt.VoClientOpenCardCount;
import com.dy.pipIrrGlobal.voSt.VoICCard;
import com.dy.pipIrrStatistics.card.IcCardqo.CommonQO;
import com.dy.pipIrrStatistics.client.qo.AmountSpentQO;
import com.dy.pipIrrStatistics.client.qo.OpenCountQO;
import com.dy.pipIrrStatistics.client.qo.WaterConsumptionQO;
@@ -13,6 +17,7 @@
import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import java.util.Optional;
@@ -29,6 +34,8 @@
public class ClientSv {
    @Autowired
    private RmOpenCloseValveHistoryMapper rmOpenCloseValveHistoryMapper;
    @Autowired
    private SeCardOperateMapper seCardOperateMapper;
    /**
     * 获取指定时间段内开阀次数超过指定值的农户
@@ -219,4 +226,39 @@
        rsVo.obj = rmOpenCloseValveHistoryMapper.getLargeWaterDurationClients(params);
        return rsVo ;
    }
    /**
     * 指定时间段内开物理卡农户
     * @param qo
     * @return
     */
    public QueryResultVo<List<VoClientOpenCardCount>> getOpenIcCardClients(CommonQO 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();
        }
        qo.setTimeStart(timeStart);
        qo.setTimeStop(timeStop);
        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
        Long itemTotal = seCardOperateMapper.getOpenIcCardClientsCount(params);
        QueryResultVo<List<VoClientOpenCardCount>> rsVo = new QueryResultVo<>() ;
        rsVo.pageSize = qo.pageSize ;
        rsVo.pageCurr = qo.pageCurr ;
        rsVo.calculateAndSet(itemTotal, params);
        rsVo.obj = seCardOperateMapper.getOpenIcCardClients(params);
        return rsVo ;
    }
}