jiaosong
2023-10-25 c6faae18b9e8fa2bdf9e00aecac4e8152b09ef76
server/services/src/main/java/com/doumee/service/business/impl/SitesServiceImpl.java
@@ -205,17 +205,20 @@
        IPage<Sites> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<Sites> queryWrapper = new QueryWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
//        queryWrapper.select("*,(select count(r.id) from locks r where r.site_id = sites.id) as localCount" +
        queryWrapper.select("*,(select count(r.bike_code) from locks r where r.site_id = sites.id and r.bike_code is null and r.bike_code !='' ) as bikeCount");
        queryWrapper.select("*,(select count(r.id) from locks r where r.site_id = sites.id) as all_lock_num" +
         ",(select count(r.bike_code) from locks r where r.site_id = sites.id and r.bike_code is null and r.bike_code !='' ) as bikeCount");
//        Page<SitesMonitorDTO> sitesMonitorDTO = sitesMapper.getSitesMonitorDTO(page, pageWrap.getModel().getCode(), pageWrap.getModel().getName());
        queryWrapper.lambda().like(StringUtils.isNotBlank(pageWrap.getModel().getCode()),Sites::getCode,pageWrap.getModel().getCode());
        queryWrapper.lambda().like(StringUtils.isNotBlank(pageWrap.getModel().getName()),Sites::getCode,pageWrap.getModel().getName());
        queryWrapper.lambda().orderByAsc(Sites::getCode);
        IPage<Sites> sitesMonitorDTO = sitesMapper.selectPage(page, queryWrapper);
        if (!CollectionUtils.isEmpty(sitesMonitorDTO.getRecords())){
            sitesMonitorDTO.getRecords().forEach(s->{
                s.setRate(new BigDecimal(s.getBikeCount()).divide(new BigDecimal(s.getLockNum()).setScale(2)));
                if(Constants.formatIntegerNum(s.getAllLockNum()) >0){
                    s.setRate(new BigDecimal(s.getBikeCount()).divide(new BigDecimal(s.getAllLockNum()),BigDecimal.ROUND_UP).setScale(2));
                }else{
                    s.setRate(new BigDecimal(0.0));
                }
            });
        }