35 changed files with 3214 additions and 0 deletions
@ -0,0 +1,148 @@ |
|||||
|
package com.epmet.dto.stats; |
||||
|
|
||||
|
import java.io.Serializable; |
||||
|
import java.util.Date; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* 人房信息统计数,按天统计 |
||||
|
* |
||||
|
* @author generator generator@elink-cn.com |
||||
|
* @since v1.0.0 2022-05-27 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class FactAgencyUserHouseDailyDTO implements Serializable { |
||||
|
|
||||
|
private static final long serialVersionUID = 1L; |
||||
|
|
||||
|
/** |
||||
|
* 主键,customer_id+AGENCY_ID+date_id只有一条记录 |
||||
|
*/ |
||||
|
private String id; |
||||
|
|
||||
|
/** |
||||
|
* 客户id |
||||
|
*/ |
||||
|
private String customerId; |
||||
|
|
||||
|
/** |
||||
|
* 数据更新至:yyyyMMdd; |
||||
|
*/ |
||||
|
private String dateId; |
||||
|
|
||||
|
/** |
||||
|
* 组织id |
||||
|
*/ |
||||
|
private String agencyId; |
||||
|
|
||||
|
/** |
||||
|
* agency_id所属的机关级别(社区级:community, |
||||
|
乡(镇、街道)级:street, |
||||
|
区县级: district, |
||||
|
市级: city |
||||
|
省级:province) |
||||
|
*/ |
||||
|
private String level; |
||||
|
|
||||
|
/** |
||||
|
* 组织i所属的组织id |
||||
|
*/ |
||||
|
private String pid; |
||||
|
|
||||
|
/** |
||||
|
* 组织i所有上级id |
||||
|
*/ |
||||
|
private String pids; |
||||
|
|
||||
|
/** |
||||
|
* 小区总数 |
||||
|
*/ |
||||
|
private Integer neighbourhoodsCount; |
||||
|
|
||||
|
/** |
||||
|
* 房屋总数 |
||||
|
*/ |
||||
|
private Integer houseCount; |
||||
|
|
||||
|
/** |
||||
|
* 自住房屋总数 |
||||
|
*/ |
||||
|
private Integer houseSelfCount; |
||||
|
|
||||
|
/** |
||||
|
* 出租房屋总数 |
||||
|
*/ |
||||
|
private Integer houseLeaseCount; |
||||
|
|
||||
|
/** |
||||
|
* 闲置房屋总数 |
||||
|
*/ |
||||
|
private Integer houseIdleCount; |
||||
|
|
||||
|
/** |
||||
|
* 居民总数 |
||||
|
*/ |
||||
|
private Integer userCount; |
||||
|
|
||||
|
/** |
||||
|
* 常住居民总数 |
||||
|
*/ |
||||
|
private Integer userResiCount; |
||||
|
|
||||
|
/** |
||||
|
* 流动居民总数 |
||||
|
*/ |
||||
|
private Integer userFloatCount; |
||||
|
|
||||
|
/** |
||||
|
* 当日新增房屋数 |
||||
|
*/ |
||||
|
private Integer houseIncr; |
||||
|
|
||||
|
/** |
||||
|
* 当日修改房屋数 |
||||
|
*/ |
||||
|
private Integer houseModify; |
||||
|
|
||||
|
/** |
||||
|
* 当日新增居民数 |
||||
|
*/ |
||||
|
private Integer userIncr; |
||||
|
|
||||
|
/** |
||||
|
* 当日修改居民数 |
||||
|
*/ |
||||
|
private Integer userModify; |
||||
|
|
||||
|
/** |
||||
|
* 删除标识 0未删除、1已删除 |
||||
|
*/ |
||||
|
private String delFlag; |
||||
|
|
||||
|
/** |
||||
|
* 乐观锁 |
||||
|
*/ |
||||
|
private Integer revision; |
||||
|
|
||||
|
/** |
||||
|
* 创建人 |
||||
|
*/ |
||||
|
private String createdBy; |
||||
|
|
||||
|
/** |
||||
|
* 创建时间:第一次提交审核的时间,注意和历史表的第一条记录时间一致 |
||||
|
*/ |
||||
|
private Date createdTime; |
||||
|
|
||||
|
/** |
||||
|
* 更新人 |
||||
|
*/ |
||||
|
private String updatedBy; |
||||
|
|
||||
|
/** |
||||
|
* 更新时间 |
||||
|
*/ |
||||
|
private Date updatedTime; |
||||
|
|
||||
|
} |
@ -0,0 +1,139 @@ |
|||||
|
package com.epmet.dto.stats; |
||||
|
|
||||
|
import java.io.Serializable; |
||||
|
import java.util.Date; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* 网格的人房信息统计数,按天统计 |
||||
|
* |
||||
|
* @author generator generator@elink-cn.com |
||||
|
* @since v1.0.0 2022-05-27 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class FactGridUserHouseDailyDTO implements Serializable { |
||||
|
|
||||
|
private static final long serialVersionUID = 1L; |
||||
|
|
||||
|
/** |
||||
|
* 主键,customer_id+grid_id+date_id只有一条记录 |
||||
|
*/ |
||||
|
private String id; |
||||
|
|
||||
|
/** |
||||
|
* 客户id |
||||
|
*/ |
||||
|
private String customerId; |
||||
|
|
||||
|
/** |
||||
|
* 数据更新至:yyyyMMdd; |
||||
|
*/ |
||||
|
private String dateId; |
||||
|
|
||||
|
/** |
||||
|
* 网格id |
||||
|
*/ |
||||
|
private String gridId; |
||||
|
|
||||
|
/** |
||||
|
* 网格所属的组织id |
||||
|
*/ |
||||
|
private String pid; |
||||
|
|
||||
|
/** |
||||
|
* 网格所有上级id |
||||
|
*/ |
||||
|
private String pids; |
||||
|
|
||||
|
/** |
||||
|
* 小区总数 |
||||
|
*/ |
||||
|
private Integer neighbourhoodsCount; |
||||
|
|
||||
|
/** |
||||
|
* 房屋总数 |
||||
|
*/ |
||||
|
private Integer houseCount; |
||||
|
|
||||
|
/** |
||||
|
* 自住房屋总数 |
||||
|
*/ |
||||
|
private Integer houseSelfCount; |
||||
|
|
||||
|
/** |
||||
|
* 出租房屋总数 |
||||
|
*/ |
||||
|
private Integer houseLeaseCount; |
||||
|
|
||||
|
/** |
||||
|
* 闲置房屋总数 |
||||
|
*/ |
||||
|
private Integer houseIdleCount; |
||||
|
|
||||
|
/** |
||||
|
* 居民总数 |
||||
|
*/ |
||||
|
private Integer userCount; |
||||
|
|
||||
|
/** |
||||
|
* 常住居民总数 |
||||
|
*/ |
||||
|
private Integer userResiCount; |
||||
|
|
||||
|
/** |
||||
|
* 流动居民总数 |
||||
|
*/ |
||||
|
private Integer userFloatCount; |
||||
|
|
||||
|
/** |
||||
|
* 当日新增房屋数 |
||||
|
*/ |
||||
|
private Integer houseIncr; |
||||
|
|
||||
|
/** |
||||
|
* 当日修改房屋数 |
||||
|
*/ |
||||
|
private Integer houseModify; |
||||
|
|
||||
|
/** |
||||
|
* 当日新增居民数 |
||||
|
*/ |
||||
|
private Integer userIncr; |
||||
|
|
||||
|
/** |
||||
|
* 当日修改居民数 |
||||
|
*/ |
||||
|
private Integer userModify; |
||||
|
|
||||
|
/** |
||||
|
* 删除标识 0未删除、1已删除 |
||||
|
*/ |
||||
|
private String delFlag; |
||||
|
|
||||
|
/** |
||||
|
* 乐观锁 |
||||
|
*/ |
||||
|
private Integer revision; |
||||
|
|
||||
|
/** |
||||
|
* 创建人 |
||||
|
*/ |
||||
|
private String createdBy; |
||||
|
|
||||
|
/** |
||||
|
* 创建时间:第一次提交审核的时间,注意和历史表的第一条记录时间一致 |
||||
|
*/ |
||||
|
private Date createdTime; |
||||
|
|
||||
|
/** |
||||
|
* 更新人 |
||||
|
*/ |
||||
|
private String updatedBy; |
||||
|
|
||||
|
/** |
||||
|
* 更新时间 |
||||
|
*/ |
||||
|
private Date updatedTime; |
||||
|
|
||||
|
} |
@ -0,0 +1,35 @@ |
|||||
|
package com.epmet.dto.stats.form; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.io.Serializable; |
||||
|
import java.util.Date; |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* 人房信息统计数,按天统计 |
||||
|
* |
||||
|
* @author generator generator@elink-cn.com |
||||
|
* @since v1.0.0 2022-05-27 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class FactUserHouseFormDTO implements Serializable { |
||||
|
|
||||
|
private static final long serialVersionUID = 1L; |
||||
|
|
||||
|
/** |
||||
|
* 客户id |
||||
|
*/ |
||||
|
private String customerId; |
||||
|
|
||||
|
/** |
||||
|
* 数据更新至:yyyyMMdd; |
||||
|
*/ |
||||
|
private String dateId; |
||||
|
|
||||
|
/** |
||||
|
* level |
||||
|
*/ |
||||
|
private String level; |
||||
|
|
||||
|
} |
@ -0,0 +1,159 @@ |
|||||
|
package com.epmet.dto.stats.result; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.io.Serializable; |
||||
|
import java.util.Date; |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* 人房信息统计数,按天统计 |
||||
|
* |
||||
|
* @author generator generator@elink-cn.com |
||||
|
* @since v1.0.0 2022-05-27 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class FactUserHouseResultDTO implements Serializable { |
||||
|
|
||||
|
private static final long serialVersionUID = 1L; |
||||
|
|
||||
|
/** |
||||
|
* 主键,customer_id+AGENCY_ID+date_id只有一条记录 |
||||
|
*/ |
||||
|
private String id; |
||||
|
|
||||
|
/** |
||||
|
* 客户id |
||||
|
*/ |
||||
|
private String customerId; |
||||
|
|
||||
|
/** |
||||
|
* 数据更新至:yyyyMMdd; |
||||
|
*/ |
||||
|
private String dateId; |
||||
|
|
||||
|
/** |
||||
|
* 网格id |
||||
|
*/ |
||||
|
private String gridId; |
||||
|
|
||||
|
/** |
||||
|
* 组织id |
||||
|
*/ |
||||
|
private String agencyId; |
||||
|
|
||||
|
/** |
||||
|
* 组织id |
||||
|
*/ |
||||
|
private String agencyName; |
||||
|
|
||||
|
/** |
||||
|
* agency_id所属的机关级别(社区级:community, |
||||
|
乡(镇、街道)级:street, |
||||
|
区县级: district, |
||||
|
市级: city |
||||
|
省级:province) |
||||
|
*/ |
||||
|
private String level; |
||||
|
|
||||
|
/** |
||||
|
* 组织i所属的组织id |
||||
|
*/ |
||||
|
private String pid; |
||||
|
|
||||
|
/** |
||||
|
* 组织i所有上级id |
||||
|
*/ |
||||
|
private String pids; |
||||
|
|
||||
|
/** |
||||
|
* 小区总数 |
||||
|
*/ |
||||
|
private Integer neighbourhoodsCount; |
||||
|
|
||||
|
/** |
||||
|
* 房屋总数 |
||||
|
*/ |
||||
|
private Integer houseCount; |
||||
|
|
||||
|
/** |
||||
|
* 自住房屋总数 |
||||
|
*/ |
||||
|
private Integer houseSelfCount; |
||||
|
|
||||
|
/** |
||||
|
* 出租房屋总数 |
||||
|
*/ |
||||
|
private Integer houseLeaseCount; |
||||
|
|
||||
|
/** |
||||
|
* 闲置房屋总数 |
||||
|
*/ |
||||
|
private Integer houseIdleCount; |
||||
|
|
||||
|
/** |
||||
|
* 居民总数 |
||||
|
*/ |
||||
|
private Integer userCount; |
||||
|
|
||||
|
/** |
||||
|
* 常住居民总数 |
||||
|
*/ |
||||
|
private Integer userResiCount; |
||||
|
|
||||
|
/** |
||||
|
* 流动居民总数 |
||||
|
*/ |
||||
|
private Integer userFloatCount; |
||||
|
|
||||
|
/** |
||||
|
* 当日新增房屋数 |
||||
|
*/ |
||||
|
private Integer houseIncr; |
||||
|
|
||||
|
/** |
||||
|
* 当日修改房屋数 |
||||
|
*/ |
||||
|
private Integer houseModify; |
||||
|
|
||||
|
/** |
||||
|
* 当日新增居民数 |
||||
|
*/ |
||||
|
private Integer userIncr; |
||||
|
|
||||
|
/** |
||||
|
* 当日修改居民数 |
||||
|
*/ |
||||
|
private Integer userModify; |
||||
|
|
||||
|
/** |
||||
|
* 删除标识 0未删除、1已删除 |
||||
|
*/ |
||||
|
private String delFlag; |
||||
|
|
||||
|
/** |
||||
|
* 乐观锁 |
||||
|
*/ |
||||
|
private Integer revision; |
||||
|
|
||||
|
/** |
||||
|
* 创建人 |
||||
|
*/ |
||||
|
private String createdBy; |
||||
|
|
||||
|
/** |
||||
|
* 创建时间:第一次提交审核的时间,注意和历史表的第一条记录时间一致 |
||||
|
*/ |
||||
|
private Date createdTime; |
||||
|
|
||||
|
/** |
||||
|
* 更新人 |
||||
|
*/ |
||||
|
private String updatedBy; |
||||
|
|
||||
|
/** |
||||
|
* 更新时间 |
||||
|
*/ |
||||
|
private Date updatedTime; |
||||
|
|
||||
|
} |
@ -0,0 +1,89 @@ |
|||||
|
package com.epmet.controller; |
||||
|
|
||||
|
import com.epmet.commons.tools.page.PageData; |
||||
|
import com.epmet.commons.tools.utils.ExcelUtils; |
||||
|
import com.epmet.commons.tools.utils.Result; |
||||
|
import com.epmet.dto.stats.form.FactUserHouseFormDTO; |
||||
|
import com.epmet.dto.stats.result.FactUserHouseResultDTO; |
||||
|
import com.epmet.excel.FactUserHouseExcel; |
||||
|
import com.epmet.service.stats.FactUserHouseService; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.web.bind.annotation.*; |
||||
|
|
||||
|
import javax.servlet.http.HttpServletResponse; |
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* 人房信息统计数,按天统计 |
||||
|
* |
||||
|
* @author generator generator@elink-cn.com |
||||
|
* @since v1.0.0 2022-05-27 |
||||
|
*/ |
||||
|
@RestController |
||||
|
@RequestMapping("factAgencyUserHouseDaily") |
||||
|
public class FactUserHouseController { |
||||
|
|
||||
|
@Autowired |
||||
|
private FactUserHouseService factUserHouseService; |
||||
|
|
||||
|
@RequestMapping("page") |
||||
|
public Result<PageData<FactUserHouseResultDTO>> page(@RequestParam Map<String, Object> params) { |
||||
|
PageData<FactUserHouseResultDTO> page = factUserHouseService.page(params); |
||||
|
return new Result<PageData<FactUserHouseResultDTO>>().ok(page); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 合计 |
||||
|
* |
||||
|
* @param params |
||||
|
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.stats.result.FactUserHouseResultDTO> |
||||
|
* @author zhy |
||||
|
* @date 2022/5/31 9:48 |
||||
|
*/ |
||||
|
@RequestMapping("total") |
||||
|
public Result<FactUserHouseResultDTO> total(@RequestParam Map<String, Object> params) { |
||||
|
FactUserHouseResultDTO dto = factUserHouseService.total(params); |
||||
|
return new Result<FactUserHouseResultDTO>().ok(dto); |
||||
|
} |
||||
|
|
||||
|
@GetMapping("export") |
||||
|
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception { |
||||
|
List<FactUserHouseResultDTO> list = factUserHouseService.list(params); |
||||
|
if (list.isEmpty()) { |
||||
|
FactUserHouseResultDTO dto = new FactUserHouseResultDTO(); |
||||
|
list.add(dto); |
||||
|
} |
||||
|
ExcelUtils.exportExcelToTarget(response, null, list, FactUserHouseExcel.class); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 统计网格纬度 |
||||
|
* |
||||
|
* @param formDTO |
||||
|
* @return com.epmet.commons.tools.utils.Result |
||||
|
* @author zhy |
||||
|
* @date 2022/5/31 9:48 |
||||
|
*/ |
||||
|
@PostMapping("userHouseStatGrid") |
||||
|
public Result userHouseStatGrid(@RequestBody FactUserHouseFormDTO formDTO) { |
||||
|
factUserHouseService.statGrid(formDTO); |
||||
|
return new Result(); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 统计组织纬度 |
||||
|
* |
||||
|
* @param formDTO |
||||
|
* @return com.epmet.commons.tools.utils.Result |
||||
|
* @author zhy |
||||
|
* @date 2022/5/31 9:48 |
||||
|
*/ |
||||
|
@PostMapping("userHouseStatAgency") |
||||
|
public Result userHouseStatAgency(@RequestBody FactUserHouseFormDTO formDTO) { |
||||
|
factUserHouseService.statAgency(formDTO); |
||||
|
return new Result(); |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,24 @@ |
|||||
|
package com.epmet.dao.org; |
||||
|
|
||||
|
import com.epmet.commons.mybatis.dao.BaseDao; |
||||
|
import com.epmet.dto.stats.form.FactUserHouseFormDTO; |
||||
|
import com.epmet.dto.stats.result.FactUserHouseResultDTO; |
||||
|
import com.epmet.entity.org.IcHouseEntity; |
||||
|
import org.apache.ibatis.annotations.Mapper; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* 房屋信息 |
||||
|
* |
||||
|
* @author generator generator@elink-cn.com |
||||
|
* @since v1.0.0 2021-10-25 |
||||
|
*/ |
||||
|
@Mapper |
||||
|
public interface IcHouseDao extends BaseDao<IcHouseEntity> { |
||||
|
|
||||
|
List<FactUserHouseResultDTO> houseStat(FactUserHouseFormDTO formDTO); |
||||
|
|
||||
|
List<FactUserHouseResultDTO> neighborhoodStatStat(FactUserHouseFormDTO formDTO); |
||||
|
|
||||
|
} |
@ -0,0 +1,26 @@ |
|||||
|
package com.epmet.dao.stats; |
||||
|
|
||||
|
import com.epmet.commons.mybatis.dao.BaseDao; |
||||
|
import com.epmet.dto.stats.form.FactUserHouseFormDTO; |
||||
|
import com.epmet.dto.stats.result.FactUserHouseResultDTO; |
||||
|
import com.epmet.entity.stats.FactAgencyUserHouseDailyEntity; |
||||
|
import org.apache.ibatis.annotations.Mapper; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
/** |
||||
|
* 人房信息统计数,按天统计 |
||||
|
* |
||||
|
* @author generator generator@elink-cn.com |
||||
|
* @since v1.0.0 2022-05-27 |
||||
|
*/ |
||||
|
@Mapper |
||||
|
public interface FactAgencyUserHouseDailyDao extends BaseDao<FactAgencyUserHouseDailyEntity> { |
||||
|
|
||||
|
List<FactUserHouseResultDTO> listPage(Map<String, Object> params); |
||||
|
|
||||
|
List<FactUserHouseResultDTO> getTotal(Map<String, Object> params); |
||||
|
|
||||
|
void deleteByDateId(FactUserHouseFormDTO formDTO); |
||||
|
} |
@ -0,0 +1,28 @@ |
|||||
|
package com.epmet.dao.stats; |
||||
|
|
||||
|
import com.epmet.commons.mybatis.dao.BaseDao; |
||||
|
import com.epmet.dto.stats.form.FactUserHouseFormDTO; |
||||
|
import com.epmet.dto.stats.result.FactUserHouseResultDTO; |
||||
|
import com.epmet.entity.stats.FactGridUserHouseDailyEntity; |
||||
|
import org.apache.ibatis.annotations.Mapper; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
/** |
||||
|
* 网格的人房信息统计数,按天统计 |
||||
|
* |
||||
|
* @author generator generator@elink-cn.com |
||||
|
* @since v1.0.0 2022-05-27 |
||||
|
*/ |
||||
|
@Mapper |
||||
|
public interface FactGridUserHouseDailyDao extends BaseDao<FactGridUserHouseDailyEntity> { |
||||
|
|
||||
|
List<FactUserHouseResultDTO> listPage(Map<String, Object> params); |
||||
|
|
||||
|
List<FactUserHouseResultDTO> getTotal(Map<String, Object> params); |
||||
|
|
||||
|
List<FactUserHouseResultDTO> statAgency(FactUserHouseFormDTO formDTO); |
||||
|
|
||||
|
void deleteByDateId(FactUserHouseFormDTO formDTO); |
||||
|
} |
@ -0,0 +1,40 @@ |
|||||
|
/** |
||||
|
* Copyright 2018 人人开源 https://www.renren.io
|
||||
|
* <p> |
||||
|
* This program is free software: you can redistribute it and/or modify |
||||
|
* it under the terms of the GNU General Public License as published by |
||||
|
* the Free Software Foundation, either version 3 of the License, or |
||||
|
* (at your option) any later version. |
||||
|
* <p> |
||||
|
* This program is distributed in the hope that it will be useful, |
||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
* GNU General Public License for more details. |
||||
|
* <p> |
||||
|
* You should have received a copy of the GNU General Public License |
||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
*/ |
||||
|
|
||||
|
package com.epmet.dao.user; |
||||
|
|
||||
|
import com.epmet.commons.mybatis.dao.BaseDao; |
||||
|
import com.epmet.dto.stats.form.FactUserHouseFormDTO; |
||||
|
import com.epmet.dto.stats.result.FactUserHouseResultDTO; |
||||
|
import com.epmet.entity.user.IcResiUserEntity; |
||||
|
import org.apache.ibatis.annotations.Mapper; |
||||
|
import org.apache.ibatis.annotations.Param; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* 用户基础信息 |
||||
|
* |
||||
|
* @author generator generator@elink-cn.com |
||||
|
* @since v1.0.0 2021-10-26 |
||||
|
*/ |
||||
|
@Mapper |
||||
|
public interface IcResiUserDao extends BaseDao<IcResiUserEntity> { |
||||
|
|
||||
|
List<FactUserHouseResultDTO> userStat(FactUserHouseFormDTO formDTO); |
||||
|
|
||||
|
} |
@ -0,0 +1,110 @@ |
|||||
|
/** |
||||
|
* Copyright 2018 人人开源 https://www.renren.io
|
||||
|
* <p> |
||||
|
* This program is free software: you can redistribute it and/or modify |
||||
|
* it under the terms of the GNU General Public License as published by |
||||
|
* the Free Software Foundation, either version 3 of the License, or |
||||
|
* (at your option) any later version. |
||||
|
* <p> |
||||
|
* This program is distributed in the hope that it will be useful, |
||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
* GNU General Public License for more details. |
||||
|
* <p> |
||||
|
* You should have received a copy of the GNU General Public License |
||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
*/ |
||||
|
|
||||
|
package com.epmet.entity.org; |
||||
|
|
||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||
|
import com.epmet.commons.mybatis.entity.BaseEpmetEntity; |
||||
|
import lombok.Data; |
||||
|
import lombok.EqualsAndHashCode; |
||||
|
|
||||
|
import java.math.BigDecimal; |
||||
|
|
||||
|
/** |
||||
|
* 房屋信息 |
||||
|
* |
||||
|
* @author generator generator@elink-cn.com |
||||
|
* @since v1.0.0 2021-10-25 |
||||
|
*/ |
||||
|
@Data |
||||
|
@EqualsAndHashCode(callSuper=false) |
||||
|
@TableName("ic_house") |
||||
|
public class IcHouseEntity extends BaseEpmetEntity { |
||||
|
|
||||
|
private static final long serialVersionUID = 1L; |
||||
|
|
||||
|
/** |
||||
|
* 客户id |
||||
|
*/ |
||||
|
private String customerId; |
||||
|
|
||||
|
/** |
||||
|
* 小区id |
||||
|
*/ |
||||
|
private String neighborHoodId; |
||||
|
|
||||
|
/** |
||||
|
* 片区id,neighbor_hood_part.id,可为空。 |
||||
|
*/ |
||||
|
private String partId; |
||||
|
|
||||
|
/** |
||||
|
* 所属楼栋id |
||||
|
*/ |
||||
|
private String buildingId; |
||||
|
|
||||
|
/** |
||||
|
* 所属单元id |
||||
|
*/ |
||||
|
private String buildingUnitId; |
||||
|
|
||||
|
/** |
||||
|
* 房屋名字后台插入时生成 |
||||
|
*/ |
||||
|
private String houseName; |
||||
|
|
||||
|
/** |
||||
|
* 门牌号 |
||||
|
*/ |
||||
|
private String doorName; |
||||
|
|
||||
|
/** |
||||
|
* 房屋类型,这里存储字典value就可以 |
||||
|
*/ |
||||
|
private String houseType; |
||||
|
|
||||
|
/** |
||||
|
* 存储字典value |
||||
|
*/ |
||||
|
private String purpose; |
||||
|
|
||||
|
/** |
||||
|
* 1出租;0未出租 |
||||
|
*/ |
||||
|
private Integer rentFlag; |
||||
|
|
||||
|
/** |
||||
|
* 房主姓名 |
||||
|
*/ |
||||
|
private String ownerName; |
||||
|
|
||||
|
/** |
||||
|
* 房主电话 |
||||
|
*/ |
||||
|
private String ownerPhone; |
||||
|
|
||||
|
/** |
||||
|
* 房主身份证号 |
||||
|
*/ |
||||
|
private String ownerIdCard; |
||||
|
|
||||
|
/** |
||||
|
* 排序 |
||||
|
*/ |
||||
|
private BigDecimal sort; |
||||
|
|
||||
|
} |
@ -0,0 +1,118 @@ |
|||||
|
package com.epmet.entity.stats; |
||||
|
|
||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||
|
|
||||
|
import com.epmet.commons.mybatis.entity.BaseEpmetEntity; |
||||
|
import lombok.Data; |
||||
|
import lombok.EqualsAndHashCode; |
||||
|
|
||||
|
import java.util.Date; |
||||
|
|
||||
|
/** |
||||
|
* 人房信息统计数,按天统计 |
||||
|
* |
||||
|
* @author generator generator@elink-cn.com |
||||
|
* @since v1.0.0 2022-05-27 |
||||
|
*/ |
||||
|
@Data |
||||
|
@EqualsAndHashCode(callSuper=false) |
||||
|
@TableName("fact_agency_user_house_daily") |
||||
|
public class FactAgencyUserHouseDailyEntity extends BaseEpmetEntity { |
||||
|
|
||||
|
private static final long serialVersionUID = 1L; |
||||
|
|
||||
|
/** |
||||
|
* 客户id |
||||
|
*/ |
||||
|
private String customerId; |
||||
|
|
||||
|
/** |
||||
|
* 数据更新至:yyyyMMdd; |
||||
|
*/ |
||||
|
private String dateId; |
||||
|
|
||||
|
/** |
||||
|
* 组织id |
||||
|
*/ |
||||
|
private String agencyId; |
||||
|
|
||||
|
/** |
||||
|
* agency_id所属的机关级别(社区级:community, |
||||
|
乡(镇、街道)级:street, |
||||
|
区县级: district, |
||||
|
市级: city |
||||
|
省级:province) |
||||
|
*/ |
||||
|
private String level; |
||||
|
|
||||
|
/** |
||||
|
* 组织i所属的组织id |
||||
|
*/ |
||||
|
private String pid; |
||||
|
|
||||
|
/** |
||||
|
* 组织i所有上级id |
||||
|
*/ |
||||
|
private String pids; |
||||
|
|
||||
|
/** |
||||
|
* 小区总数 |
||||
|
*/ |
||||
|
private Integer neighbourhoodsCount; |
||||
|
|
||||
|
/** |
||||
|
* 房屋总数 |
||||
|
*/ |
||||
|
private Integer houseCount; |
||||
|
|
||||
|
/** |
||||
|
* 自住房屋总数 |
||||
|
*/ |
||||
|
private Integer houseSelfCount; |
||||
|
|
||||
|
/** |
||||
|
* 出租房屋总数 |
||||
|
*/ |
||||
|
private Integer houseLeaseCount; |
||||
|
|
||||
|
/** |
||||
|
* 闲置房屋总数 |
||||
|
*/ |
||||
|
private Integer houseIdleCount; |
||||
|
|
||||
|
/** |
||||
|
* 居民总数 |
||||
|
*/ |
||||
|
private Integer userCount; |
||||
|
|
||||
|
/** |
||||
|
* 常住居民总数 |
||||
|
*/ |
||||
|
private Integer userResiCount; |
||||
|
|
||||
|
/** |
||||
|
* 流动居民总数 |
||||
|
*/ |
||||
|
private Integer userFloatCount; |
||||
|
|
||||
|
/** |
||||
|
* 当日新增房屋数 |
||||
|
*/ |
||||
|
private Integer houseIncr; |
||||
|
|
||||
|
/** |
||||
|
* 当日修改房屋数 |
||||
|
*/ |
||||
|
private Integer houseModify; |
||||
|
|
||||
|
/** |
||||
|
* 当日新增居民数 |
||||
|
*/ |
||||
|
private Integer userIncr; |
||||
|
|
||||
|
/** |
||||
|
* 当日修改居民数 |
||||
|
*/ |
||||
|
private Integer userModify; |
||||
|
|
||||
|
} |
@ -0,0 +1,109 @@ |
|||||
|
package com.epmet.entity.stats; |
||||
|
|
||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||
|
|
||||
|
import com.epmet.commons.mybatis.entity.BaseEpmetEntity; |
||||
|
import lombok.Data; |
||||
|
import lombok.EqualsAndHashCode; |
||||
|
|
||||
|
import java.util.Date; |
||||
|
|
||||
|
/** |
||||
|
* 网格的人房信息统计数,按天统计 |
||||
|
* |
||||
|
* @author generator generator@elink-cn.com |
||||
|
* @since v1.0.0 2022-05-27 |
||||
|
*/ |
||||
|
@Data |
||||
|
@EqualsAndHashCode(callSuper=false) |
||||
|
@TableName("fact_grid_user_house_daily") |
||||
|
public class FactGridUserHouseDailyEntity extends BaseEpmetEntity { |
||||
|
|
||||
|
private static final long serialVersionUID = 1L; |
||||
|
|
||||
|
/** |
||||
|
* 客户id |
||||
|
*/ |
||||
|
private String customerId; |
||||
|
|
||||
|
/** |
||||
|
* 数据更新至:yyyyMMdd; |
||||
|
*/ |
||||
|
private String dateId; |
||||
|
|
||||
|
/** |
||||
|
* 网格id |
||||
|
*/ |
||||
|
private String gridId; |
||||
|
|
||||
|
/** |
||||
|
* 网格所属的组织id |
||||
|
*/ |
||||
|
private String pid; |
||||
|
|
||||
|
/** |
||||
|
* 网格所有上级id |
||||
|
*/ |
||||
|
private String pids; |
||||
|
|
||||
|
/** |
||||
|
* 小区总数 |
||||
|
*/ |
||||
|
private Integer neighbourhoodsCount; |
||||
|
|
||||
|
/** |
||||
|
* 房屋总数 |
||||
|
*/ |
||||
|
private Integer houseCount; |
||||
|
|
||||
|
/** |
||||
|
* 自住房屋总数 |
||||
|
*/ |
||||
|
private Integer houseSelfCount; |
||||
|
|
||||
|
/** |
||||
|
* 出租房屋总数 |
||||
|
*/ |
||||
|
private Integer houseLeaseCount; |
||||
|
|
||||
|
/** |
||||
|
* 闲置房屋总数 |
||||
|
*/ |
||||
|
private Integer houseIdleCount; |
||||
|
|
||||
|
/** |
||||
|
* 居民总数 |
||||
|
*/ |
||||
|
private Integer userCount; |
||||
|
|
||||
|
/** |
||||
|
* 常住居民总数 |
||||
|
*/ |
||||
|
private Integer userResiCount; |
||||
|
|
||||
|
/** |
||||
|
* 流动居民总数 |
||||
|
*/ |
||||
|
private Integer userFloatCount; |
||||
|
|
||||
|
/** |
||||
|
* 当日新增房屋数 |
||||
|
*/ |
||||
|
private Integer houseIncr; |
||||
|
|
||||
|
/** |
||||
|
* 当日修改房屋数 |
||||
|
*/ |
||||
|
private Integer houseModify; |
||||
|
|
||||
|
/** |
||||
|
* 当日新增居民数 |
||||
|
*/ |
||||
|
private Integer userIncr; |
||||
|
|
||||
|
/** |
||||
|
* 当日修改居民数 |
||||
|
*/ |
||||
|
private Integer userModify; |
||||
|
|
||||
|
} |
@ -0,0 +1,513 @@ |
|||||
|
/** |
||||
|
* Copyright 2018 人人开源 https://www.renren.io
|
||||
|
* <p> |
||||
|
* This program is free software: you can redistribute it and/or modify |
||||
|
* it under the terms of the GNU General Public License as published by |
||||
|
* the Free Software Foundation, either version 3 of the License, or |
||||
|
* (at your option) any later version. |
||||
|
* <p> |
||||
|
* This program is distributed in the hope that it will be useful, |
||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
* GNU General Public License for more details. |
||||
|
* <p> |
||||
|
* You should have received a copy of the GNU General Public License |
||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
*/ |
||||
|
|
||||
|
package com.epmet.entity.user; |
||||
|
|
||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||
|
import com.epmet.commons.mybatis.entity.BaseEpmetEntity; |
||||
|
import lombok.Data; |
||||
|
import lombok.EqualsAndHashCode; |
||||
|
|
||||
|
/** |
||||
|
* 用户基础信息 |
||||
|
* |
||||
|
* @author generator generator@elink-cn.com |
||||
|
* @since v1.0.0 2021-10-26 |
||||
|
*/ |
||||
|
@Data |
||||
|
@EqualsAndHashCode(callSuper=false) |
||||
|
@TableName("ic_resi_user") |
||||
|
public class IcResiUserEntity extends BaseEpmetEntity { |
||||
|
|
||||
|
private static final long serialVersionUID = 1L; |
||||
|
|
||||
|
/** |
||||
|
* 客户Id customer.id |
||||
|
*/ |
||||
|
private String customerId; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
*/ |
||||
|
private String agencyId; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
*/ |
||||
|
private String pids; |
||||
|
|
||||
|
/** |
||||
|
* 网格ID |
||||
|
*/ |
||||
|
private String gridId; |
||||
|
|
||||
|
/** |
||||
|
* 所属小区ID |
||||
|
*/ |
||||
|
private String villageId; |
||||
|
|
||||
|
/** |
||||
|
* 所属楼宇Id |
||||
|
*/ |
||||
|
private String buildId; |
||||
|
|
||||
|
/** |
||||
|
* 单元id |
||||
|
*/ |
||||
|
private String unitId; |
||||
|
|
||||
|
/** |
||||
|
* 所属家庭Id |
||||
|
*/ |
||||
|
private String homeId; |
||||
|
|
||||
|
/** |
||||
|
* 是否本地户籍 |
||||
|
*/ |
||||
|
private String isBdhj; |
||||
|
|
||||
|
/** |
||||
|
* 姓名 |
||||
|
*/ |
||||
|
private String name; |
||||
|
|
||||
|
/** |
||||
|
* 手机号 |
||||
|
*/ |
||||
|
private String mobile; |
||||
|
|
||||
|
/** |
||||
|
* 性别 |
||||
|
*/ |
||||
|
private String gender; |
||||
|
|
||||
|
/** |
||||
|
* 身份证号 |
||||
|
*/ |
||||
|
private String idCard; |
||||
|
|
||||
|
/** |
||||
|
* 出生日期 |
||||
|
*/ |
||||
|
private String birthday; |
||||
|
|
||||
|
/** |
||||
|
* 备注 |
||||
|
*/ |
||||
|
private String remarks; |
||||
|
|
||||
|
/** |
||||
|
* 联系人 |
||||
|
*/ |
||||
|
private String contacts; |
||||
|
|
||||
|
/** |
||||
|
* 联系人电话 |
||||
|
*/ |
||||
|
private String contactsMobile; |
||||
|
|
||||
|
/** |
||||
|
* 九小场所url |
||||
|
*/ |
||||
|
private String ninePlace; |
||||
|
|
||||
|
/** |
||||
|
* 是否党员 |
||||
|
*/ |
||||
|
private String isParty; |
||||
|
|
||||
|
/** |
||||
|
* 是否低保户 |
||||
|
*/ |
||||
|
private String isDbh; |
||||
|
|
||||
|
/** |
||||
|
* 是否保障房 |
||||
|
*/ |
||||
|
private String isEnsureHouse; |
||||
|
|
||||
|
/** |
||||
|
* 是否失业 |
||||
|
*/ |
||||
|
private String isUnemployed; |
||||
|
|
||||
|
/** |
||||
|
* 是否育龄妇女 |
||||
|
*/ |
||||
|
private String isYlfn; |
||||
|
|
||||
|
/** |
||||
|
* 是否退役军人 |
||||
|
*/ |
||||
|
private String isVeterans; |
||||
|
|
||||
|
/** |
||||
|
* 是否统战人员 |
||||
|
*/ |
||||
|
private String isUnitedFront; |
||||
|
|
||||
|
/** |
||||
|
* 是否信访人员 |
||||
|
*/ |
||||
|
private String isXfry; |
||||
|
|
||||
|
/** |
||||
|
* 是否志愿者 |
||||
|
*/ |
||||
|
private String isVolunteer; |
||||
|
|
||||
|
/** |
||||
|
* 是否老年人 |
||||
|
*/ |
||||
|
private String isOldPeople; |
||||
|
|
||||
|
/** |
||||
|
* 是否空巢 |
||||
|
*/ |
||||
|
private String isKc; |
||||
|
|
||||
|
/** |
||||
|
* 是否失独 |
||||
|
*/ |
||||
|
private String isSd; |
||||
|
|
||||
|
/** |
||||
|
* 是否失能 |
||||
|
*/ |
||||
|
private String isSn; |
||||
|
|
||||
|
/** |
||||
|
* 是否失智 |
||||
|
*/ |
||||
|
private String isSz; |
||||
|
|
||||
|
/** |
||||
|
* 是否残疾 |
||||
|
*/ |
||||
|
private String isCj; |
||||
|
|
||||
|
/** |
||||
|
* 是否大病 |
||||
|
*/ |
||||
|
private String isDb; |
||||
|
|
||||
|
/** |
||||
|
* 是否慢病 |
||||
|
*/ |
||||
|
private String isMb; |
||||
|
|
||||
|
/** |
||||
|
* 是否特殊人群 |
||||
|
*/ |
||||
|
private String isSpecial; |
||||
|
|
||||
|
/** |
||||
|
* 是否租户【是:1 否:0】 |
||||
|
*/ |
||||
|
private String isTenant; |
||||
|
|
||||
|
/** |
||||
|
* 是否流动人口【是:1 否:0】 |
||||
|
*/ |
||||
|
private String isFloating; |
||||
|
|
||||
|
/** |
||||
|
* 文化程度【字典表】 |
||||
|
*/ |
||||
|
private String culture; |
||||
|
|
||||
|
/** |
||||
|
* 文化程度备注 |
||||
|
*/ |
||||
|
private String cultureRemakes; |
||||
|
|
||||
|
/** |
||||
|
* 特长【字典表】 |
||||
|
*/ |
||||
|
private String specialSkill; |
||||
|
|
||||
|
/** |
||||
|
* 兴趣爱好 |
||||
|
*/ |
||||
|
private String hobby; |
||||
|
|
||||
|
/** |
||||
|
* 兴趣爱好备注 |
||||
|
*/ |
||||
|
private String hobbyRemakes; |
||||
|
|
||||
|
/** |
||||
|
* 宗教信仰 |
||||
|
*/ |
||||
|
private String faith; |
||||
|
|
||||
|
/** |
||||
|
* 宗教信仰备注 |
||||
|
*/ |
||||
|
private String faithRemakes; |
||||
|
|
||||
|
/** |
||||
|
* 残疾类别【字典表】 |
||||
|
*/ |
||||
|
private String cjlb; |
||||
|
|
||||
|
/** |
||||
|
* 残疾登记(状况)【字典表】 |
||||
|
*/ |
||||
|
private String cjzk; |
||||
|
|
||||
|
/** |
||||
|
* 残疾证号 |
||||
|
*/ |
||||
|
private String cjzh; |
||||
|
|
||||
|
/** |
||||
|
* 残疾说明 |
||||
|
*/ |
||||
|
private String cjsm; |
||||
|
|
||||
|
/** |
||||
|
* 有无监护人【yes no】 |
||||
|
*/ |
||||
|
private String ynJdr; |
||||
|
|
||||
|
/** |
||||
|
* 有无技能特长【yes no】 |
||||
|
*/ |
||||
|
private String ynJntc; |
||||
|
|
||||
|
/** |
||||
|
* 有无劳动能力 |
||||
|
*/ |
||||
|
private String ynLdnl; |
||||
|
|
||||
|
/** |
||||
|
* 有无非义务教育阶段助学【yes no】 |
||||
|
*/ |
||||
|
private String ynFywjyjdzx; |
||||
|
|
||||
|
/** |
||||
|
* 所患大病 |
||||
|
*/ |
||||
|
private String shdb; |
||||
|
|
||||
|
/** |
||||
|
* 患大病时间 |
||||
|
*/ |
||||
|
private String dbsj; |
||||
|
|
||||
|
/** |
||||
|
* 所患慢性病 |
||||
|
*/ |
||||
|
private String shmxb; |
||||
|
|
||||
|
/** |
||||
|
* 患慢性病时间 |
||||
|
*/ |
||||
|
private String mxbsj; |
||||
|
|
||||
|
/** |
||||
|
* 是否参保 |
||||
|
*/ |
||||
|
private String isCb; |
||||
|
|
||||
|
/** |
||||
|
* 自付金额 |
||||
|
*/ |
||||
|
private String zfje; |
||||
|
|
||||
|
/** |
||||
|
* 救助金额 |
||||
|
*/ |
||||
|
private String jzje; |
||||
|
|
||||
|
/** |
||||
|
* 救助时间[yyyy-MM-dd] |
||||
|
*/ |
||||
|
private String jzsj; |
||||
|
|
||||
|
/** |
||||
|
* 享受救助明细序号 |
||||
|
*/ |
||||
|
private String jzmxxh; |
||||
|
|
||||
|
/** |
||||
|
* 健康信息备注 |
||||
|
*/ |
||||
|
private String healthRemakes; |
||||
|
|
||||
|
/** |
||||
|
* 工作单位 |
||||
|
*/ |
||||
|
private String gzdw; |
||||
|
|
||||
|
/** |
||||
|
* 职业 |
||||
|
*/ |
||||
|
private String zy; |
||||
|
|
||||
|
/** |
||||
|
* 离退休时间 |
||||
|
*/ |
||||
|
private String ltxsj; |
||||
|
|
||||
|
/** |
||||
|
* 工作信息备注 |
||||
|
*/ |
||||
|
private String workRemake; |
||||
|
|
||||
|
/** |
||||
|
* 退休金额 |
||||
|
*/ |
||||
|
private String txje; |
||||
|
|
||||
|
/** |
||||
|
* 月收入 |
||||
|
*/ |
||||
|
private String ysr; |
||||
|
|
||||
|
/** |
||||
|
* 籍贯 |
||||
|
*/ |
||||
|
private String jg; |
||||
|
|
||||
|
/** |
||||
|
* 户籍所在地 |
||||
|
*/ |
||||
|
private String hjszd; |
||||
|
|
||||
|
/** |
||||
|
* 现居住地 |
||||
|
*/ |
||||
|
private String xjzd; |
||||
|
|
||||
|
/** |
||||
|
* 人户情况 |
||||
|
*/ |
||||
|
private String rhzk; |
||||
|
|
||||
|
/** |
||||
|
* 居住信息备注 |
||||
|
*/ |
||||
|
private String jzxxRemakes; |
||||
|
|
||||
|
/** |
||||
|
* 民族【字典表】 |
||||
|
*/ |
||||
|
private String mz; |
||||
|
|
||||
|
/** |
||||
|
* 与户主关系【字典表】 |
||||
|
*/ |
||||
|
private String yhzgx; |
||||
|
|
||||
|
/** |
||||
|
* 居住情况【字典表】 |
||||
|
*/ |
||||
|
private String jzqk; |
||||
|
|
||||
|
/** |
||||
|
* 婚姻状况【字典表】 |
||||
|
*/ |
||||
|
private String hyzk; |
||||
|
|
||||
|
/** |
||||
|
* 配偶情况【字典表】 |
||||
|
*/ |
||||
|
private String poqk; |
||||
|
|
||||
|
/** |
||||
|
* 有无赡养人 |
||||
|
*/ |
||||
|
private String ynSyr; |
||||
|
|
||||
|
/** |
||||
|
* 与赡养人关系【字典表】 |
||||
|
*/ |
||||
|
private String ysyrgx; |
||||
|
|
||||
|
/** |
||||
|
* 赡养人电话 |
||||
|
*/ |
||||
|
private String syrMobile; |
||||
|
|
||||
|
/** |
||||
|
* 家庭信息备注 |
||||
|
*/ |
||||
|
private String jtxxRemakes; |
||||
|
|
||||
|
/** |
||||
|
* 用户状态【0:正常;1:迁出;2:注销】 |
||||
|
*/ |
||||
|
private String status; |
||||
|
|
||||
|
/** |
||||
|
* 用户详细状态:01:新增、02:导入、03:迁入、04:新生、11:迁出、21死亡 |
||||
|
*/ |
||||
|
private String subStatus; |
||||
|
|
||||
|
/** |
||||
|
* 预留字段1 |
||||
|
*/ |
||||
|
private String field1; |
||||
|
|
||||
|
/** |
||||
|
* 预留字段2 |
||||
|
*/ |
||||
|
private String field2; |
||||
|
|
||||
|
/** |
||||
|
* 预留字段3 |
||||
|
*/ |
||||
|
private String field3; |
||||
|
|
||||
|
/** |
||||
|
* 预留字段4 |
||||
|
*/ |
||||
|
private String field4; |
||||
|
|
||||
|
/** |
||||
|
* 预留字段5 |
||||
|
*/ |
||||
|
private String field5; |
||||
|
|
||||
|
/** |
||||
|
* 预留字段6 |
||||
|
*/ |
||||
|
private String field6; |
||||
|
|
||||
|
/** |
||||
|
* 预留字段7 |
||||
|
*/ |
||||
|
private String field7; |
||||
|
|
||||
|
/** |
||||
|
* 预留字段8 |
||||
|
*/ |
||||
|
private String field8; |
||||
|
|
||||
|
/** |
||||
|
* 预留字段9 |
||||
|
*/ |
||||
|
private String field9; |
||||
|
|
||||
|
/** |
||||
|
* 预留字段10 |
||||
|
*/ |
||||
|
private String field10; |
||||
|
|
||||
|
} |
@ -0,0 +1,56 @@ |
|||||
|
package com.epmet.excel; |
||||
|
|
||||
|
import cn.afterturn.easypoi.excel.annotation.Excel; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.util.Date; |
||||
|
|
||||
|
/** |
||||
|
* 人房信息统计数,按天统计 |
||||
|
* |
||||
|
* @author generator generator@elink-cn.com |
||||
|
* @since v1.0.0 2022-05-27 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class FactUserHouseExcel { |
||||
|
|
||||
|
@Excel(name = "组织结构") |
||||
|
private String agencyName; |
||||
|
|
||||
|
@Excel(name = "小区数") |
||||
|
private Integer neighbourhoodsCount; |
||||
|
|
||||
|
@Excel(name = "房屋数") |
||||
|
private Integer houseCount; |
||||
|
|
||||
|
@Excel(name = "自住房屋数") |
||||
|
private Integer houseSelfCount; |
||||
|
|
||||
|
@Excel(name = "出租房屋数") |
||||
|
private Integer houseLeaseCount; |
||||
|
|
||||
|
@Excel(name = "闲置房屋数") |
||||
|
private Integer houseIdleCount; |
||||
|
|
||||
|
@Excel(name = "居民总数") |
||||
|
private Integer userCount; |
||||
|
|
||||
|
@Excel(name = "常住人口数") |
||||
|
private Integer userResiCount; |
||||
|
|
||||
|
@Excel(name = "流动人口数") |
||||
|
private Integer userFloatCount; |
||||
|
|
||||
|
@Excel(name = "新增房屋数") |
||||
|
private Integer houseIncr; |
||||
|
|
||||
|
@Excel(name = "新增人口数") |
||||
|
private Integer userIncr; |
||||
|
|
||||
|
@Excel(name = "修改房屋数") |
||||
|
private Integer houseModify; |
||||
|
|
||||
|
@Excel(name = "修改人口数") |
||||
|
private Integer userModify; |
||||
|
|
||||
|
} |
@ -0,0 +1,53 @@ |
|||||
|
/** |
||||
|
* Copyright 2018 人人开源 https://www.renren.io
|
||||
|
* <p> |
||||
|
* This program is free software: you can redistribute it and/or modify |
||||
|
* it under the terms of the GNU General Public License as published by |
||||
|
* the Free Software Foundation, either version 3 of the License, or |
||||
|
* (at your option) any later version. |
||||
|
* <p> |
||||
|
* This program is distributed in the hope that it will be useful, |
||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
* GNU General Public License for more details. |
||||
|
* <p> |
||||
|
* You should have received a copy of the GNU General Public License |
||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
*/ |
||||
|
|
||||
|
package com.epmet.service.org; |
||||
|
|
||||
|
import com.epmet.dto.stats.form.FactUserHouseFormDTO; |
||||
|
import com.epmet.dto.stats.result.FactUserHouseResultDTO; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* 小区表 |
||||
|
* |
||||
|
* @author generator generator@elink-cn.com |
||||
|
* @since v1.0.0 2021-10-25 |
||||
|
*/ |
||||
|
public interface HouseService { |
||||
|
|
||||
|
/** |
||||
|
* 房屋统计 |
||||
|
* |
||||
|
* @param formDTO |
||||
|
* @return java.util.List<com.epmet.dto.stats.result.FactUserHouseResultDTO> |
||||
|
* @author zhy |
||||
|
* @date 2022/5/30 13:33 |
||||
|
*/ |
||||
|
List<FactUserHouseResultDTO> houseStat(FactUserHouseFormDTO formDTO); |
||||
|
|
||||
|
/** |
||||
|
* 小区统计 |
||||
|
* |
||||
|
* @param formDTO |
||||
|
* @return java.util.List<com.epmet.dto.stats.result.FactUserHouseResultDTO> |
||||
|
* @author zhy |
||||
|
* @date 2022/5/30 13:33 |
||||
|
*/ |
||||
|
List<FactUserHouseResultDTO> neighborhoodStat(FactUserHouseFormDTO formDTO); |
||||
|
|
||||
|
} |
@ -0,0 +1,32 @@ |
|||||
|
package com.epmet.service.org.impl; |
||||
|
|
||||
|
import com.epmet.commons.dynamic.datasource.annotation.DataSource; |
||||
|
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; |
||||
|
import com.epmet.commons.tools.feign.ResultDataResolver; |
||||
|
import com.epmet.constant.DataSourceConstant; |
||||
|
import com.epmet.dao.org.IcHouseDao; |
||||
|
import com.epmet.dto.stats.form.FactUserHouseFormDTO; |
||||
|
import com.epmet.dto.stats.result.FactUserHouseResultDTO; |
||||
|
import com.epmet.entity.org.IcHouseEntity; |
||||
|
import com.epmet.service.org.HouseService; |
||||
|
import lombok.extern.slf4j.Slf4j; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
@Slf4j |
||||
|
@DataSource(DataSourceConstant.GOV_ORG) |
||||
|
@Service |
||||
|
public class HouseServiceImpl extends BaseServiceImpl<IcHouseDao, IcHouseEntity> implements HouseService, ResultDataResolver { |
||||
|
|
||||
|
@Override |
||||
|
public List<FactUserHouseResultDTO> houseStat(FactUserHouseFormDTO formDTO) { |
||||
|
return baseDao.houseStat(formDTO); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<FactUserHouseResultDTO> neighborhoodStat(FactUserHouseFormDTO formDTO) { |
||||
|
return baseDao.neighborhoodStatStat(formDTO); |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,111 @@ |
|||||
|
package com.epmet.service.stats; |
||||
|
|
||||
|
import com.epmet.commons.mybatis.service.BaseService; |
||||
|
import com.epmet.commons.tools.page.PageData; |
||||
|
import com.epmet.dto.stats.FactAgencyUserHouseDailyDTO; |
||||
|
import com.epmet.dto.stats.FactGridUserHouseDailyDTO; |
||||
|
import com.epmet.dto.stats.form.FactUserHouseFormDTO; |
||||
|
import com.epmet.dto.stats.result.FactUserHouseResultDTO; |
||||
|
import com.epmet.entity.stats.FactAgencyUserHouseDailyEntity; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
/** |
||||
|
* 人房信息统计数,按天统计 |
||||
|
* |
||||
|
* @author generator generator@elink-cn.com |
||||
|
* @since v1.0.0 2022-05-27 |
||||
|
*/ |
||||
|
public interface FactAgencyUserHouseDailyService extends BaseService<FactAgencyUserHouseDailyEntity> { |
||||
|
|
||||
|
/** |
||||
|
* 默认分页 |
||||
|
* |
||||
|
* @param params |
||||
|
* @return PageData<FactAgencyUserHouseDailyDTO> |
||||
|
* @author generator |
||||
|
* @date 2022-05-27 |
||||
|
*/ |
||||
|
PageData<FactUserHouseResultDTO> page(Map<String, Object> params); |
||||
|
|
||||
|
/** |
||||
|
* 分页合计 |
||||
|
* |
||||
|
* @param params |
||||
|
* @return PageData<FactAgencyUserHouseDailyDTO> |
||||
|
* @author generator |
||||
|
* @date 2022-05-27 |
||||
|
*/ |
||||
|
FactUserHouseResultDTO getTotal(Map<String, Object> params); |
||||
|
|
||||
|
/** |
||||
|
* 默认查询 |
||||
|
* |
||||
|
* @param params |
||||
|
* @return java.util.List<FactAgencyUserHouseDailyDTO> |
||||
|
* @author generator |
||||
|
* @date 2022-05-27 |
||||
|
*/ |
||||
|
List<FactAgencyUserHouseDailyDTO> list(Map<String, Object> params); |
||||
|
|
||||
|
/** |
||||
|
* 查询导出数据 |
||||
|
* |
||||
|
* @param params |
||||
|
* @return java.util.List<FactUserHouseResultDTO> |
||||
|
* @author generator |
||||
|
* @date 2022-05-27 |
||||
|
*/ |
||||
|
List<FactUserHouseResultDTO> listExport(Map<String, Object> params); |
||||
|
|
||||
|
/** |
||||
|
* 单条查询 |
||||
|
* |
||||
|
* @param id |
||||
|
* @return FactAgencyUserHouseDailyDTO |
||||
|
* @author generator |
||||
|
* @date 2022-05-27 |
||||
|
*/ |
||||
|
FactAgencyUserHouseDailyDTO get(String id); |
||||
|
|
||||
|
/** |
||||
|
* 默认保存 |
||||
|
* |
||||
|
* @param dto |
||||
|
* @return void |
||||
|
* @author generator |
||||
|
* @date 2022-05-27 |
||||
|
*/ |
||||
|
void save(FactAgencyUserHouseDailyDTO dto); |
||||
|
|
||||
|
/** |
||||
|
* 默认更新 |
||||
|
* |
||||
|
* @param dto |
||||
|
* @return void |
||||
|
* @author generator |
||||
|
* @date 2022-05-27 |
||||
|
*/ |
||||
|
void update(FactAgencyUserHouseDailyDTO dto); |
||||
|
|
||||
|
/** |
||||
|
* 批量删除 |
||||
|
* |
||||
|
* @param ids |
||||
|
* @return void |
||||
|
* @author generator |
||||
|
* @date 2022-05-27 |
||||
|
*/ |
||||
|
void delete(String[] ids); |
||||
|
|
||||
|
/** |
||||
|
* 物理删除历史数据 |
||||
|
* |
||||
|
* @param formDTO |
||||
|
* @return void |
||||
|
* @author zhy |
||||
|
* @date 2022/5/30 13:32 |
||||
|
*/ |
||||
|
void deleteByDateId(FactUserHouseFormDTO formDTO); |
||||
|
} |
@ -0,0 +1,120 @@ |
|||||
|
package com.epmet.service.stats; |
||||
|
|
||||
|
import com.epmet.commons.mybatis.service.BaseService; |
||||
|
import com.epmet.commons.tools.page.PageData; |
||||
|
import com.epmet.dto.stats.FactGridUserHouseDailyDTO; |
||||
|
import com.epmet.dto.stats.form.FactUserHouseFormDTO; |
||||
|
import com.epmet.dto.stats.result.FactUserHouseResultDTO; |
||||
|
import com.epmet.entity.stats.FactGridUserHouseDailyEntity; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
/** |
||||
|
* 网格的人房信息统计数,按天统计 |
||||
|
* |
||||
|
* @author generator generator@elink-cn.com |
||||
|
* @since v1.0.0 2022-05-27 |
||||
|
*/ |
||||
|
public interface FactGridUserHouseDailyService extends BaseService<FactGridUserHouseDailyEntity> { |
||||
|
|
||||
|
/** |
||||
|
* 默认分页 |
||||
|
* |
||||
|
* @param params |
||||
|
* @return PageData<FactGridUserHouseDailyDTO> |
||||
|
* @author generator |
||||
|
* @date 2022-05-27 |
||||
|
*/ |
||||
|
PageData<FactUserHouseResultDTO> page(Map<String, Object> params); |
||||
|
|
||||
|
/** |
||||
|
* 页面合计 |
||||
|
* |
||||
|
* @param params |
||||
|
* @return PageData<FactGridUserHouseDailyDTO> |
||||
|
* @author generator |
||||
|
* @date 2022-05-27 |
||||
|
*/ |
||||
|
FactUserHouseResultDTO getTotal(Map<String, Object> params); |
||||
|
|
||||
|
/** |
||||
|
* 默认查询 |
||||
|
* |
||||
|
* @param params |
||||
|
* @return java.util.List<FactGridUserHouseDailyDTO> |
||||
|
* @author generator |
||||
|
* @date 2022-05-27 |
||||
|
*/ |
||||
|
List<FactGridUserHouseDailyDTO> list(Map<String, Object> params); |
||||
|
|
||||
|
/** |
||||
|
* 查询导出数据 |
||||
|
* |
||||
|
* @param params |
||||
|
* @return java.util.List<FactUserHouseResultDTO> |
||||
|
* @author generator |
||||
|
* @date 2022-05-27 |
||||
|
*/ |
||||
|
List<FactUserHouseResultDTO> listExport(Map<String, Object> params); |
||||
|
|
||||
|
/** |
||||
|
* 单条查询 |
||||
|
* |
||||
|
* @param id |
||||
|
* @return FactGridUserHouseDailyDTO |
||||
|
* @author generator |
||||
|
* @date 2022-05-27 |
||||
|
*/ |
||||
|
FactGridUserHouseDailyDTO get(String id); |
||||
|
|
||||
|
/** |
||||
|
* 默认保存 |
||||
|
* |
||||
|
* @param dto |
||||
|
* @return void |
||||
|
* @author generator |
||||
|
* @date 2022-05-27 |
||||
|
*/ |
||||
|
void save(FactGridUserHouseDailyDTO dto); |
||||
|
|
||||
|
/** |
||||
|
* 默认更新 |
||||
|
* |
||||
|
* @param dto |
||||
|
* @return void |
||||
|
* @author generator |
||||
|
* @date 2022-05-27 |
||||
|
*/ |
||||
|
void update(FactGridUserHouseDailyDTO dto); |
||||
|
|
||||
|
/** |
||||
|
* 批量删除 |
||||
|
* |
||||
|
* @param ids |
||||
|
* @return void |
||||
|
* @author generator |
||||
|
* @date 2022-05-27 |
||||
|
*/ |
||||
|
void delete(String[] ids); |
||||
|
|
||||
|
/** |
||||
|
* 物理删除历史数据 |
||||
|
* |
||||
|
* @param formDTO |
||||
|
* @return void |
||||
|
* @author zhy |
||||
|
* @date 2022/5/30 13:32 |
||||
|
*/ |
||||
|
void deleteByDateId(FactUserHouseFormDTO formDTO); |
||||
|
|
||||
|
/** |
||||
|
* 根据网格统计组织数据 |
||||
|
* |
||||
|
* @param formDTO |
||||
|
* @return java.util.List<com.epmet.dto.stats.result.FactUserHouseResultDTO> |
||||
|
* @author zhy |
||||
|
* @date 2022/5/30 13:32 |
||||
|
*/ |
||||
|
List<FactUserHouseResultDTO> statAgency(FactUserHouseFormDTO formDTO); |
||||
|
} |
@ -0,0 +1,68 @@ |
|||||
|
package com.epmet.service.stats; |
||||
|
|
||||
|
import com.epmet.commons.tools.page.PageData; |
||||
|
import com.epmet.dto.stats.FactAgencyUserHouseDailyDTO; |
||||
|
import com.epmet.dto.stats.form.FactUserHouseFormDTO; |
||||
|
import com.epmet.dto.stats.result.FactUserHouseResultDTO; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
/** |
||||
|
* 人房信息统计数,按天统计 |
||||
|
* |
||||
|
* @author generator generator@elink-cn.com |
||||
|
* @since v1.0.0 2022-05-27 |
||||
|
*/ |
||||
|
public interface FactUserHouseService { |
||||
|
|
||||
|
/** |
||||
|
* 默认分页 |
||||
|
* |
||||
|
* @param params |
||||
|
* @return PageData<FactAgencyUserHouseDailyDTO> |
||||
|
* @author generator |
||||
|
* @date 2022-05-27 |
||||
|
*/ |
||||
|
PageData<FactUserHouseResultDTO> page(Map<String, Object> params); |
||||
|
|
||||
|
/** |
||||
|
* 页面合计 |
||||
|
* |
||||
|
* @param params |
||||
|
* @return PageData<FactAgencyUserHouseDailyDTO> |
||||
|
* @author generator |
||||
|
* @date 2022-05-27 |
||||
|
*/ |
||||
|
FactUserHouseResultDTO total(Map<String, Object> params); |
||||
|
|
||||
|
/** |
||||
|
* 默认查询 |
||||
|
* |
||||
|
* @param params |
||||
|
* @return java.util.List<FactAgencyUserHouseDailyDTO> |
||||
|
* @author generator |
||||
|
* @date 2022-05-27 |
||||
|
*/ |
||||
|
List<FactUserHouseResultDTO> list(Map<String, Object> params); |
||||
|
|
||||
|
/** |
||||
|
* 人房网格数据 |
||||
|
* |
||||
|
* @param formDTO |
||||
|
* @return void |
||||
|
* @author zhy |
||||
|
* @date 2022/5/30 13:31 |
||||
|
*/ |
||||
|
void statGrid(FactUserHouseFormDTO formDTO); |
||||
|
|
||||
|
/** |
||||
|
* 人房组织数据 |
||||
|
* |
||||
|
* @param formDTO |
||||
|
* @return void |
||||
|
* @author zhy |
||||
|
* @date 2022/5/30 13:31 |
||||
|
*/ |
||||
|
void statAgency(FactUserHouseFormDTO formDTO); |
||||
|
} |
@ -0,0 +1,121 @@ |
|||||
|
package com.epmet.service.stats.impl; |
||||
|
|
||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
||||
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
|
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; |
||||
|
import com.epmet.commons.tools.constant.FieldConstant; |
||||
|
import com.epmet.commons.tools.constant.NumConstant; |
||||
|
import com.epmet.commons.tools.page.PageData; |
||||
|
import com.epmet.commons.tools.security.user.LoginUserUtil; |
||||
|
import com.epmet.commons.tools.utils.ConvertUtils; |
||||
|
import com.epmet.dao.stats.FactAgencyUserHouseDailyDao; |
||||
|
import com.epmet.dto.stats.FactAgencyUserHouseDailyDTO; |
||||
|
import com.epmet.dto.stats.form.FactUserHouseFormDTO; |
||||
|
import com.epmet.dto.stats.result.FactUserHouseResultDTO; |
||||
|
import com.epmet.entity.stats.FactAgencyUserHouseDailyEntity; |
||||
|
import com.epmet.service.stats.FactAgencyUserHouseDailyService; |
||||
|
import org.apache.commons.lang3.StringUtils; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
import org.springframework.transaction.annotation.Transactional; |
||||
|
|
||||
|
import java.util.Arrays; |
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
/** |
||||
|
* 人房信息统计数,按天统计 |
||||
|
* |
||||
|
* @author generator generator@elink-cn.com |
||||
|
* @since v1.0.0 2022-05-27 |
||||
|
*/ |
||||
|
@Service |
||||
|
public class FactAgencyUserHouseDailyServiceImpl extends BaseServiceImpl<FactAgencyUserHouseDailyDao, FactAgencyUserHouseDailyEntity> implements FactAgencyUserHouseDailyService { |
||||
|
|
||||
|
@Autowired |
||||
|
private LoginUserUtil loginUserUtil; |
||||
|
|
||||
|
@Override |
||||
|
public PageData<FactUserHouseResultDTO> page(Map<String, Object> params) { |
||||
|
params.put("customerId", loginUserUtil.getLoginUserCustomerId()); |
||||
|
IPage<FactUserHouseResultDTO> page = getPage(params); |
||||
|
List<FactUserHouseResultDTO> list = baseDao.listPage(params); |
||||
|
return new PageData<>(list, page.getTotal()); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public FactUserHouseResultDTO getTotal(Map<String, Object> params) { |
||||
|
params.put("customerId", loginUserUtil.getLoginUserCustomerId()); |
||||
|
List<FactUserHouseResultDTO> list = baseDao.getTotal(params); |
||||
|
|
||||
|
// 只有当日数据直接展示,否则需要统计时间段内两天差值进行Incr和Modify数据计算
|
||||
|
if (list.size() == NumConstant.ZERO) { |
||||
|
return null; |
||||
|
} else if (list.size() == NumConstant.ONE) { |
||||
|
return list.get(0); |
||||
|
} else { |
||||
|
FactUserHouseResultDTO first = list.get(0); |
||||
|
FactUserHouseResultDTO last = list.get(list.size() - 1); |
||||
|
FactUserHouseResultDTO dto = last; |
||||
|
dto.setHouseIncr(last.getHouseIncr() - first.getHouseIncr()); |
||||
|
dto.setHouseModify(last.getHouseModify() - first.getHouseModify()); |
||||
|
dto.setUserIncr(last.getUserIncr() - first.getUserIncr()); |
||||
|
dto.setUserModify(last.getUserModify() - first.getUserModify()); |
||||
|
return dto; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<FactAgencyUserHouseDailyDTO> list(Map<String, Object> params) { |
||||
|
List<FactAgencyUserHouseDailyEntity> entityList = baseDao.selectList(getWrapper(params)); |
||||
|
|
||||
|
return ConvertUtils.sourceToTarget(entityList, FactAgencyUserHouseDailyDTO.class); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<FactUserHouseResultDTO> listExport(Map<String, Object> params) { |
||||
|
return baseDao.listPage(params); |
||||
|
} |
||||
|
|
||||
|
private QueryWrapper<FactAgencyUserHouseDailyEntity> getWrapper(Map<String, Object> params) { |
||||
|
String id = (String) params.get(FieldConstant.ID_HUMP); |
||||
|
|
||||
|
QueryWrapper<FactAgencyUserHouseDailyEntity> wrapper = new QueryWrapper<>(); |
||||
|
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); |
||||
|
|
||||
|
return wrapper; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public FactAgencyUserHouseDailyDTO get(String id) { |
||||
|
FactAgencyUserHouseDailyEntity entity = baseDao.selectById(id); |
||||
|
return ConvertUtils.sourceToTarget(entity, FactAgencyUserHouseDailyDTO.class); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
@Transactional(rollbackFor = Exception.class) |
||||
|
public void save(FactAgencyUserHouseDailyDTO dto) { |
||||
|
FactAgencyUserHouseDailyEntity entity = ConvertUtils.sourceToTarget(dto, FactAgencyUserHouseDailyEntity.class); |
||||
|
insert(entity); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
@Transactional(rollbackFor = Exception.class) |
||||
|
public void update(FactAgencyUserHouseDailyDTO dto) { |
||||
|
FactAgencyUserHouseDailyEntity entity = ConvertUtils.sourceToTarget(dto, FactAgencyUserHouseDailyEntity.class); |
||||
|
updateById(entity); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
@Transactional(rollbackFor = Exception.class) |
||||
|
public void delete(String[] ids) { |
||||
|
// 逻辑删除(@TableLogic 注解)
|
||||
|
baseDao.deleteBatchIds(Arrays.asList(ids)); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void deleteByDateId(FactUserHouseFormDTO formDTO) { |
||||
|
baseDao.deleteByDateId(formDTO); |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,130 @@ |
|||||
|
package com.epmet.service.stats.impl; |
||||
|
|
||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
||||
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
|
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; |
||||
|
import com.epmet.commons.tools.constant.FieldConstant; |
||||
|
import com.epmet.commons.tools.constant.NumConstant; |
||||
|
import com.epmet.commons.tools.page.PageData; |
||||
|
import com.epmet.commons.tools.security.user.LoginUserUtil; |
||||
|
import com.epmet.commons.tools.utils.ConvertUtils; |
||||
|
import com.epmet.dao.stats.FactGridUserHouseDailyDao; |
||||
|
import com.epmet.dto.stats.FactGridUserHouseDailyDTO; |
||||
|
import com.epmet.dto.stats.form.FactUserHouseFormDTO; |
||||
|
import com.epmet.dto.stats.result.FactUserHouseResultDTO; |
||||
|
import com.epmet.entity.stats.FactGridUserHouseDailyEntity; |
||||
|
import com.epmet.service.stats.FactGridUserHouseDailyService; |
||||
|
import org.apache.commons.lang3.StringUtils; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
import org.springframework.transaction.annotation.Transactional; |
||||
|
|
||||
|
import java.util.Arrays; |
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
/** |
||||
|
* 网格的人房信息统计数,按天统计 |
||||
|
* |
||||
|
* @author generator generator@elink-cn.com |
||||
|
* @since v1.0.0 2022-05-27 |
||||
|
*/ |
||||
|
@Service |
||||
|
public class FactGridUserHouseDailyServiceImpl extends BaseServiceImpl<FactGridUserHouseDailyDao, FactGridUserHouseDailyEntity> implements FactGridUserHouseDailyService { |
||||
|
|
||||
|
@Autowired |
||||
|
private LoginUserUtil loginUserUtil; |
||||
|
|
||||
|
@Override |
||||
|
public PageData<FactUserHouseResultDTO> page(Map<String, Object> params) { |
||||
|
params.put("customerId", loginUserUtil.getLoginUserCustomerId()); |
||||
|
IPage<FactUserHouseResultDTO> page = getPage(params); |
||||
|
List<FactUserHouseResultDTO> list = baseDao.listPage(params); |
||||
|
return new PageData<>(list, page.getTotal()); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public FactUserHouseResultDTO getTotal(Map<String, Object> params) { |
||||
|
params.put("customerId", loginUserUtil.getLoginUserCustomerId()); |
||||
|
List<FactUserHouseResultDTO> list = baseDao.getTotal(params); |
||||
|
|
||||
|
// 只有当日数据直接展示,否则需要统计时间段内两天差值进行Incr和Modify数据计算
|
||||
|
if (list.size() == NumConstant.ZERO) { |
||||
|
return null; |
||||
|
} else if (list.size() == NumConstant.ONE) { |
||||
|
return list.get(0); |
||||
|
} else { |
||||
|
FactUserHouseResultDTO first = list.get(0); |
||||
|
FactUserHouseResultDTO last = list.get(list.size() - 1); |
||||
|
FactUserHouseResultDTO dto = last; |
||||
|
dto.setHouseIncr(last.getHouseIncr() - first.getHouseIncr()); |
||||
|
dto.setHouseModify(last.getHouseModify() - first.getHouseModify()); |
||||
|
dto.setUserIncr(last.getUserIncr() - first.getUserIncr()); |
||||
|
dto.setUserModify(last.getUserModify() - first.getUserModify()); |
||||
|
return dto; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<FactGridUserHouseDailyDTO> list(Map<String, Object> params) { |
||||
|
List<FactGridUserHouseDailyEntity> entityList = baseDao.selectList(getWrapper(params)); |
||||
|
|
||||
|
return ConvertUtils.sourceToTarget(entityList, FactGridUserHouseDailyDTO.class); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<FactUserHouseResultDTO> listExport(Map<String, Object> params) { |
||||
|
return baseDao.listPage(params); |
||||
|
} |
||||
|
|
||||
|
private QueryWrapper<FactGridUserHouseDailyEntity> getWrapper(Map<String, Object> params) { |
||||
|
String id = (String) params.get(FieldConstant.ID_HUMP); |
||||
|
String dateId = (String) params.get("dateId"); |
||||
|
String customerId = (String) params.get("customerId"); |
||||
|
|
||||
|
QueryWrapper<FactGridUserHouseDailyEntity> wrapper = new QueryWrapper<>(); |
||||
|
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); |
||||
|
wrapper.eq(StringUtils.isNotBlank(dateId), "DATE_ID", dateId); |
||||
|
wrapper.eq(StringUtils.isNotBlank(customerId), "CUSTOMER_ID", customerId); |
||||
|
|
||||
|
return wrapper; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public FactGridUserHouseDailyDTO get(String id) { |
||||
|
FactGridUserHouseDailyEntity entity = baseDao.selectById(id); |
||||
|
return ConvertUtils.sourceToTarget(entity, FactGridUserHouseDailyDTO.class); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
@Transactional(rollbackFor = Exception.class) |
||||
|
public void save(FactGridUserHouseDailyDTO dto) { |
||||
|
FactGridUserHouseDailyEntity entity = ConvertUtils.sourceToTarget(dto, FactGridUserHouseDailyEntity.class); |
||||
|
insert(entity); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
@Transactional(rollbackFor = Exception.class) |
||||
|
public void update(FactGridUserHouseDailyDTO dto) { |
||||
|
FactGridUserHouseDailyEntity entity = ConvertUtils.sourceToTarget(dto, FactGridUserHouseDailyEntity.class); |
||||
|
updateById(entity); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
@Transactional(rollbackFor = Exception.class) |
||||
|
public void delete(String[] ids) { |
||||
|
// 逻辑删除(@TableLogic 注解)
|
||||
|
baseDao.deleteBatchIds(Arrays.asList(ids)); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void deleteByDateId(FactUserHouseFormDTO formDTO) { |
||||
|
baseDao.deleteByDateId(formDTO); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<FactUserHouseResultDTO> statAgency(FactUserHouseFormDTO formDTO) { |
||||
|
return baseDao.statAgency(formDTO); |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,219 @@ |
|||||
|
package com.epmet.service.stats.impl; |
||||
|
|
||||
|
import com.epmet.commons.tools.constant.NumConstant; |
||||
|
import com.epmet.commons.tools.enums.OrgLevelEnum; |
||||
|
import com.epmet.commons.tools.page.PageData; |
||||
|
import com.epmet.commons.tools.utils.ConvertUtils; |
||||
|
import com.epmet.commons.tools.utils.DateUtils; |
||||
|
import com.epmet.dto.stats.FactGridUserHouseDailyDTO; |
||||
|
import com.epmet.dto.stats.form.FactUserHouseFormDTO; |
||||
|
import com.epmet.dto.stats.result.FactUserHouseResultDTO; |
||||
|
import com.epmet.entity.stats.FactAgencyUserHouseDailyEntity; |
||||
|
import com.epmet.entity.stats.FactGridUserHouseDailyEntity; |
||||
|
import com.epmet.service.org.HouseService; |
||||
|
import com.epmet.service.stats.DimGridService; |
||||
|
import com.epmet.service.stats.FactAgencyUserHouseDailyService; |
||||
|
import com.epmet.service.stats.FactGridUserHouseDailyService; |
||||
|
import com.epmet.service.stats.FactUserHouseService; |
||||
|
import com.epmet.service.user.IcResiUserService; |
||||
|
import org.apache.commons.lang3.StringUtils; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
import java.util.*; |
||||
|
|
||||
|
/** |
||||
|
* 人房信息统计数,按天统计 |
||||
|
* |
||||
|
* @author generator generator@elink-cn.com |
||||
|
* @since v1.0.0 2022-05-27 |
||||
|
*/ |
||||
|
@Service |
||||
|
public class FactUserHouseServiceImpl implements FactUserHouseService { |
||||
|
|
||||
|
@Autowired |
||||
|
private FactAgencyUserHouseDailyService factAgencyUserHouseDailyService; |
||||
|
|
||||
|
@Autowired |
||||
|
private FactGridUserHouseDailyService factGridUserHouseDailyService; |
||||
|
|
||||
|
@Autowired |
||||
|
private HouseService houseService; |
||||
|
|
||||
|
@Autowired |
||||
|
private IcResiUserService icResiUserService; |
||||
|
|
||||
|
@Autowired |
||||
|
private DimGridService dimGridService; |
||||
|
|
||||
|
@Override |
||||
|
public PageData<FactUserHouseResultDTO> page(Map<String, Object> params) { |
||||
|
PageData<FactUserHouseResultDTO> page = null; |
||||
|
if (params.containsKey("startTime") && params.containsKey("endTime")) { |
||||
|
if (StringUtils.isNotBlank(params.get("startTime").toString()) && StringUtils.isNotBlank(params.get("endTime").toString())) { |
||||
|
params.put("dateId", StringUtils.EMPTY); |
||||
|
} else { |
||||
|
params.put("dateId", DateUtils.getBeforeNDay(NumConstant.ONE)); |
||||
|
} |
||||
|
} else { |
||||
|
params.put("dateId", DateUtils.getBeforeNDay(NumConstant.ONE)); |
||||
|
} |
||||
|
if (params.containsKey("level")) { |
||||
|
if (OrgLevelEnum.GRID.getCode().equals(params.get("level").toString()) || OrgLevelEnum.COMMUNITY.getCode().equals(params.get("level").toString())) { |
||||
|
page = factGridUserHouseDailyService.page(params); |
||||
|
} else { |
||||
|
page = factAgencyUserHouseDailyService.page(params); |
||||
|
} |
||||
|
} |
||||
|
return page; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public FactUserHouseResultDTO total(Map<String, Object> params) { |
||||
|
FactUserHouseResultDTO dto = null; |
||||
|
// 不查询时间段默认查询当天
|
||||
|
if (params.containsKey("startTime") && params.containsKey("endTime")) { |
||||
|
if (StringUtils.isNotBlank(params.get("startTime").toString()) && StringUtils.isNotBlank(params.get("endTime").toString())) { |
||||
|
params.put("dateId", StringUtils.EMPTY); |
||||
|
} else { |
||||
|
params.put("dateId", DateUtils.getBeforeNDay(NumConstant.ONE)); |
||||
|
} |
||||
|
} else { |
||||
|
params.put("dateId", DateUtils.getBeforeNDay(NumConstant.ONE)); |
||||
|
} |
||||
|
// 网格纬度查询网格统计表,其余纬度查询组织统计表
|
||||
|
if (params.containsKey("level")) { |
||||
|
if (OrgLevelEnum.GRID.getCode().equals(params.get("level").toString())) { |
||||
|
dto = factGridUserHouseDailyService.getTotal(params); |
||||
|
} else { |
||||
|
dto = factAgencyUserHouseDailyService.getTotal(params); |
||||
|
} |
||||
|
} |
||||
|
return dto; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<FactUserHouseResultDTO> list(Map<String, Object> params) { |
||||
|
List<FactUserHouseResultDTO> list = new ArrayList<>(); |
||||
|
if (params.containsKey("level")) { |
||||
|
if (OrgLevelEnum.GRID.getCode().equals(params.get("level").toString()) || OrgLevelEnum.COMMUNITY.getCode().equals(params.get("level").toString())) { |
||||
|
list = factGridUserHouseDailyService.listExport(params); |
||||
|
} else { |
||||
|
list = factAgencyUserHouseDailyService.listExport(params); |
||||
|
} |
||||
|
} |
||||
|
FactUserHouseResultDTO dto = total(params); |
||||
|
dto.setAgencyName("合计"); |
||||
|
list.add(dto); |
||||
|
return list; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void statGrid(FactUserHouseFormDTO formDTO) { |
||||
|
if (StringUtils.isBlank(formDTO.getDateId())) { |
||||
|
formDTO.setDateId(DateUtils.getBeforeNDay(NumConstant.ONE)); |
||||
|
} |
||||
|
String dateId = formDTO.getDateId(); |
||||
|
String customerId = formDTO.getCustomerId(); |
||||
|
|
||||
|
// 先删除历史
|
||||
|
factGridUserHouseDailyService.deleteByDateId(formDTO); |
||||
|
|
||||
|
// 保证小区是全部网格后,其余数据进行循环匹配
|
||||
|
List<FactUserHouseResultDTO> neiList = houseService.neighborhoodStat(formDTO); |
||||
|
List<FactUserHouseResultDTO> houseList = houseService.houseStat(formDTO); |
||||
|
List<FactUserHouseResultDTO> userList = icResiUserService.userStat(formDTO); |
||||
|
|
||||
|
List<FactUserHouseResultDTO> addList = new ArrayList<>(); |
||||
|
|
||||
|
neiList.forEach(item -> { |
||||
|
String gridId = item.getGridId(); |
||||
|
FactUserHouseResultDTO dto = new FactUserHouseResultDTO(); |
||||
|
dto.setCustomerId(formDTO.getCustomerId()); |
||||
|
dto.setDateId(dateId); |
||||
|
dto.setGridId(gridId); |
||||
|
dto.setPid(item.getPid()); |
||||
|
dto.setPids(item.getPids()); |
||||
|
dto.setNeighbourhoodsCount(item.getNeighbourhoodsCount()); |
||||
|
|
||||
|
Optional<FactUserHouseResultDTO> houseOptional = houseList.stream().filter(house -> gridId.equals(house.getGridId()) && customerId.equals(house.getCustomerId())).findFirst(); |
||||
|
if (houseOptional.isPresent()) { |
||||
|
dto.setHouseCount(houseOptional.get().getHouseCount()); |
||||
|
dto.setHouseSelfCount(houseOptional.get().getHouseSelfCount()); |
||||
|
dto.setHouseLeaseCount(houseOptional.get().getHouseLeaseCount()); |
||||
|
dto.setHouseIdleCount(houseOptional.get().getHouseIdleCount()); |
||||
|
} else { |
||||
|
dto.setHouseCount(NumConstant.ZERO); |
||||
|
dto.setHouseSelfCount(NumConstant.ZERO); |
||||
|
dto.setHouseLeaseCount(NumConstant.ZERO); |
||||
|
dto.setHouseIdleCount(NumConstant.ZERO); |
||||
|
} |
||||
|
|
||||
|
Optional<FactUserHouseResultDTO> userOptional = userList.stream().filter(user -> gridId.equals(user.getGridId()) && customerId.equals(user.getCustomerId())).findFirst(); |
||||
|
if (userOptional.isPresent()) { |
||||
|
dto.setUserCount(userOptional.get().getUserCount()); |
||||
|
dto.setUserResiCount(userOptional.get().getUserResiCount()); |
||||
|
dto.setUserFloatCount(userOptional.get().getUserFloatCount()); |
||||
|
} else { |
||||
|
dto.setUserCount(NumConstant.ZERO); |
||||
|
dto.setUserResiCount(NumConstant.ZERO); |
||||
|
dto.setUserFloatCount(NumConstant.ZERO); |
||||
|
} |
||||
|
addList.add(dto); |
||||
|
}); |
||||
|
|
||||
|
List<FactGridUserHouseDailyEntity> entityList = ConvertUtils.sourceToTarget(addList, FactGridUserHouseDailyEntity.class); |
||||
|
factGridUserHouseDailyService.insertBatch(entityList); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void statAgency(FactUserHouseFormDTO formDTO) { |
||||
|
if (StringUtils.isBlank(formDTO.getDateId())) { |
||||
|
formDTO.setDateId(DateUtils.getBeforeNDay(NumConstant.ONE)); |
||||
|
} |
||||
|
|
||||
|
Map<String, Object> params = new HashMap<>(); |
||||
|
params.put("dateId", formDTO.getDateId()); |
||||
|
params.put("customerId", formDTO.getCustomerId()); |
||||
|
List<FactGridUserHouseDailyDTO> list = factGridUserHouseDailyService.list(params); |
||||
|
if (list.isEmpty()) { |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
// 先删除历史
|
||||
|
factAgencyUserHouseDailyService.deleteByDateId(formDTO); |
||||
|
|
||||
|
// 使用机构表左关联,对不同纬度的机构进行分组统计
|
||||
|
formDTO.setLevel("community"); |
||||
|
List<FactUserHouseResultDTO> commList = factGridUserHouseDailyService.statAgency(formDTO); |
||||
|
if (!commList.isEmpty()) { |
||||
|
commList.forEach(item -> item.setDateId(formDTO.getDateId())); |
||||
|
factAgencyUserHouseDailyService.insertBatch(ConvertUtils.sourceToTarget(commList, FactAgencyUserHouseDailyEntity.class)); |
||||
|
} |
||||
|
formDTO.setLevel("street"); |
||||
|
List<FactUserHouseResultDTO> streetList = factGridUserHouseDailyService.statAgency(formDTO); |
||||
|
if (!streetList.isEmpty()) { |
||||
|
streetList.forEach(item -> item.setDateId(formDTO.getDateId())); |
||||
|
factAgencyUserHouseDailyService.insertBatch(ConvertUtils.sourceToTarget(streetList, FactAgencyUserHouseDailyEntity.class)); |
||||
|
} |
||||
|
formDTO.setLevel("district"); |
||||
|
List<FactUserHouseResultDTO> districtList = factGridUserHouseDailyService.statAgency(formDTO); |
||||
|
if (!districtList.isEmpty()) { |
||||
|
districtList.forEach(item -> item.setDateId(formDTO.getDateId())); |
||||
|
factAgencyUserHouseDailyService.insertBatch(ConvertUtils.sourceToTarget(districtList, FactAgencyUserHouseDailyEntity.class)); |
||||
|
} |
||||
|
formDTO.setLevel("city"); |
||||
|
List<FactUserHouseResultDTO> cityList = factGridUserHouseDailyService.statAgency(formDTO); |
||||
|
if (!cityList.isEmpty()) { |
||||
|
cityList.forEach(item -> item.setDateId(formDTO.getDateId())); |
||||
|
factAgencyUserHouseDailyService.insertBatch(ConvertUtils.sourceToTarget(cityList, FactAgencyUserHouseDailyEntity.class)); |
||||
|
} |
||||
|
formDTO.setLevel("province"); |
||||
|
List<FactUserHouseResultDTO> provinceList = factGridUserHouseDailyService.statAgency(formDTO); |
||||
|
if (!provinceList.isEmpty()) { |
||||
|
provinceList.forEach(item -> item.setDateId(formDTO.getDateId())); |
||||
|
factAgencyUserHouseDailyService.insertBatch(ConvertUtils.sourceToTarget(provinceList, FactAgencyUserHouseDailyEntity.class)); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} |
@ -0,0 +1,45 @@ |
|||||
|
/** |
||||
|
* Copyright 2018 人人开源 https://www.renren.io
|
||||
|
* <p> |
||||
|
* This program is free software: you can redistribute it and/or modify |
||||
|
* it under the terms of the GNU General Public License as published by |
||||
|
* the Free Software Foundation, either version 3 of the License, or |
||||
|
* (at your option) any later version. |
||||
|
* <p> |
||||
|
* This program is distributed in the hope that it will be useful, |
||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
* GNU General Public License for more details. |
||||
|
* <p> |
||||
|
* You should have received a copy of the GNU General Public License |
||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
*/ |
||||
|
|
||||
|
package com.epmet.service.user; |
||||
|
|
||||
|
import com.epmet.commons.mybatis.service.BaseService; |
||||
|
import com.epmet.dto.stats.form.FactUserHouseFormDTO; |
||||
|
import com.epmet.dto.stats.result.FactUserHouseResultDTO; |
||||
|
import com.epmet.entity.user.IcResiUserEntity; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* 用户基础信息 |
||||
|
* |
||||
|
* @author generator generator@elink-cn.com |
||||
|
* @since v1.0.0 2021-10-26 |
||||
|
*/ |
||||
|
public interface IcResiUserService extends BaseService<IcResiUserEntity> { |
||||
|
|
||||
|
/** |
||||
|
* 居民统计 |
||||
|
* |
||||
|
* @param formDTO |
||||
|
* @return java.util.List<com.epmet.dto.stats.result.FactUserHouseResultDTO> |
||||
|
* @author zhy |
||||
|
* @date 2022/5/30 13:33 |
||||
|
*/ |
||||
|
List<FactUserHouseResultDTO> userStat(FactUserHouseFormDTO formDTO); |
||||
|
|
||||
|
} |
@ -0,0 +1,50 @@ |
|||||
|
/** |
||||
|
* Copyright 2018 人人开源 https://www.renren.io
|
||||
|
* <p> |
||||
|
* This program is free software: you can redistribute it and/or modify |
||||
|
* it under the terms of the GNU General Public License as published by |
||||
|
* the Free Software Foundation, either version 3 of the License, or |
||||
|
* (at your option) any later version. |
||||
|
* <p> |
||||
|
* This program is distributed in the hope that it will be useful, |
||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
* GNU General Public License for more details. |
||||
|
* <p> |
||||
|
* You should have received a copy of the GNU General Public License |
||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
*/ |
||||
|
|
||||
|
package com.epmet.service.user.impl; |
||||
|
|
||||
|
import com.epmet.commons.dynamic.datasource.annotation.DataSource; |
||||
|
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; |
||||
|
import com.epmet.commons.tools.feign.ResultDataResolver; |
||||
|
import com.epmet.constant.DataSourceConstant; |
||||
|
import com.epmet.dao.user.IcResiUserDao; |
||||
|
import com.epmet.dto.stats.form.FactUserHouseFormDTO; |
||||
|
import com.epmet.dto.stats.result.FactUserHouseResultDTO; |
||||
|
import com.epmet.entity.user.IcResiUserEntity; |
||||
|
import com.epmet.service.user.IcResiUserService; |
||||
|
import lombok.extern.slf4j.Slf4j; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* 用户基础信息 |
||||
|
* |
||||
|
* @author generator generator@elink-cn.com |
||||
|
* @since v1.0.0 2021-10-26 |
||||
|
*/ |
||||
|
@Slf4j |
||||
|
@DataSource(DataSourceConstant.EPMET_USER) |
||||
|
@Service |
||||
|
public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResiUserEntity> implements IcResiUserService, ResultDataResolver { |
||||
|
|
||||
|
@Override |
||||
|
public List<FactUserHouseResultDTO> userStat(FactUserHouseFormDTO formDTO) { |
||||
|
return baseDao.userStat(formDTO); |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,85 @@ |
|||||
|
/* |
||||
|
Navicat Premium Data Transfer |
||||
|
|
||||
|
Source Server : epmet_cloud_dev_statistical |
||||
|
Source Server Type : MySQL |
||||
|
Source Server Version : 50726 |
||||
|
Source Host : 192.168.1.140:3306 |
||||
|
Source Schema : epmet_data_statistical |
||||
|
|
||||
|
Target Server Type : MySQL |
||||
|
Target Server Version : 50726 |
||||
|
File Encoding : 65001 |
||||
|
|
||||
|
Date: 31/05/2022 13:29:46 |
||||
|
*/ |
||||
|
|
||||
|
SET NAMES utf8mb4; |
||||
|
SET FOREIGN_KEY_CHECKS = 0; |
||||
|
|
||||
|
-- ---------------------------- |
||||
|
-- Table structure for fact_grid_user_house_daily |
||||
|
-- ---------------------------- |
||||
|
DROP TABLE IF EXISTS `fact_grid_user_house_daily`; |
||||
|
CREATE TABLE `fact_grid_user_house_daily` ( |
||||
|
`ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键,customer_id+grid_id+date_id只有一条记录', |
||||
|
`CUSTOMER_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '客户id', |
||||
|
`DATE_ID` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据更新至:yyyyMMdd; ', |
||||
|
`GRID_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网格id', |
||||
|
`PID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网格所属的组织id', |
||||
|
`PIDS` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网格所有上级id', |
||||
|
`NEIGHBOURHOODS_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '小区总数', |
||||
|
`HOUSE_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '房屋总数', |
||||
|
`HOUSE_SELF_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '自住房屋总数', |
||||
|
`HOUSE_LEASE_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '出租房屋总数', |
||||
|
`HOUSE_IDLE_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '闲置房屋总数', |
||||
|
`USER_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '居民总数', |
||||
|
`USER_RESI_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '常住居民总数', |
||||
|
`USER_FLOAT_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '流动居民总数', |
||||
|
`HOUSE_INCR` int(11) NOT NULL DEFAULT 0 COMMENT '当日新增房屋数', |
||||
|
`HOUSE_MODIFY` int(11) NOT NULL DEFAULT 0 COMMENT '当日修改房屋数', |
||||
|
`USER_INCR` int(11) NOT NULL DEFAULT 0 COMMENT '当日新增居民数', |
||||
|
`USER_MODIFY` int(11) NOT NULL DEFAULT 0 COMMENT '当日修改居民数', |
||||
|
`DEL_FLAG` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '删除标识 0未删除、1已删除', |
||||
|
`REVISION` int(11) NOT NULL DEFAULT 0 COMMENT '乐观锁', |
||||
|
`CREATED_BY` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人', |
||||
|
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间:第一次提交审核的时间,注意和历史表的第一条记录时间一致', |
||||
|
`UPDATED_BY` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '更新人', |
||||
|
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', |
||||
|
PRIMARY KEY (`ID`) USING BTREE |
||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '网格的人房信息统计数,按天统计' ROW_FORMAT = DYNAMIC; |
||||
|
|
||||
|
-- ---------------------------- |
||||
|
-- Table structure for fact_agency_user_house_daily |
||||
|
-- ---------------------------- |
||||
|
DROP TABLE IF EXISTS `fact_agency_user_house_daily`; |
||||
|
CREATE TABLE `fact_agency_user_house_daily` ( |
||||
|
`ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键,customer_id+AGENCY_ID+date_id只有一条记录', |
||||
|
`CUSTOMER_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '客户id', |
||||
|
`DATE_ID` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据更新至:yyyyMMdd; ', |
||||
|
`AGENCY_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '组织id', |
||||
|
`LEVEL` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'agency_id所属的机关级别(社区级:community,\r\n乡(镇、街道)级:street,\r\n区县级: district,\r\n市级: city\r\n省级:province)', |
||||
|
`PID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '组织i所属的组织id', |
||||
|
`PIDS` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '组织i所有上级id', |
||||
|
`NEIGHBOURHOODS_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '小区总数', |
||||
|
`HOUSE_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '房屋总数', |
||||
|
`HOUSE_SELF_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '自住房屋总数', |
||||
|
`HOUSE_LEASE_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '出租房屋总数', |
||||
|
`HOUSE_IDLE_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '闲置房屋总数', |
||||
|
`USER_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '居民总数', |
||||
|
`USER_RESI_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '常住居民总数', |
||||
|
`USER_FLOAT_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '流动居民总数', |
||||
|
`HOUSE_INCR` int(11) NOT NULL DEFAULT 0 COMMENT '当日新增房屋数', |
||||
|
`HOUSE_MODIFY` int(11) NOT NULL DEFAULT 0 COMMENT '当日修改房屋数', |
||||
|
`USER_INCR` int(11) NOT NULL DEFAULT 0 COMMENT '当日新增居民数', |
||||
|
`USER_MODIFY` int(11) NOT NULL DEFAULT 0 COMMENT '当日修改居民数', |
||||
|
`DEL_FLAG` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '删除标识 0未删除、1已删除', |
||||
|
`REVISION` int(11) NOT NULL DEFAULT 0 COMMENT '乐观锁', |
||||
|
`CREATED_BY` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人', |
||||
|
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间:第一次提交审核的时间,注意和历史表的第一条记录时间一致', |
||||
|
`UPDATED_BY` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '更新人', |
||||
|
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', |
||||
|
PRIMARY KEY (`ID`) USING BTREE |
||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '人房信息统计数,按天统计' ROW_FORMAT = DYNAMIC; |
||||
|
|
||||
|
SET FOREIGN_KEY_CHECKS = 1; |
@ -0,0 +1,63 @@ |
|||||
|
<?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.epmet.dao.org.IcHouseDao"> |
||||
|
|
||||
|
<select id="houseStat" resultType="com.epmet.dto.stats.result.FactUserHouseResultDTO"> |
||||
|
SELECT |
||||
|
g.CUSTOMER_ID, |
||||
|
g.id AS GRID_ID, |
||||
|
g.PID, |
||||
|
g.PIDS, |
||||
|
sum( CASE WHEN t.RENT_FLAG = '0' THEN 1 ELSE 0 END ) AS houseSelfCount, |
||||
|
sum( CASE WHEN t.RENT_FLAG = '1' THEN 1 ELSE 0 END ) AS houseLeaseCount, |
||||
|
sum( CASE WHEN t.RENT_FLAG = '2' THEN 1 ELSE 0 END ) AS houseIdleCount, |
||||
|
sum( CASE WHEN t.id IS NOT NULL THEN 1 ELSE 0 END ) AS houseCount |
||||
|
FROM |
||||
|
customer_grid g |
||||
|
LEFT JOIN ( |
||||
|
SELECT |
||||
|
h.id, |
||||
|
h.RENT_FLAG, |
||||
|
n.GRID_ID |
||||
|
FROM |
||||
|
ic_house h |
||||
|
LEFT JOIN ic_neighbor_hood n ON h.NEIGHBOR_HOOD_ID = n.id |
||||
|
WHERE |
||||
|
h.CREATED_TIME < DATE_ADD( DATE_FORMAT(#{dateId},'%Y-%m-%d'), INTERVAL 1 DAY ) |
||||
|
AND n.DEL_FLAG = '0' |
||||
|
AND h.DEL_FLAG = '0' |
||||
|
) t ON t.GRID_ID = g.ID |
||||
|
WHERE |
||||
|
g.DEL_FLAG = '0' |
||||
|
<if test='customerId != "" and customerId != null '> |
||||
|
AND g.CUSTOMER_ID = #{customerId} |
||||
|
</if> |
||||
|
GROUP BY |
||||
|
g.CUSTOMER_ID, |
||||
|
g.id |
||||
|
</select> |
||||
|
|
||||
|
<select id="neighborhoodStatStat" resultType="com.epmet.dto.stats.result.FactUserHouseResultDTO"> |
||||
|
SELECT |
||||
|
g.CUSTOMER_ID, |
||||
|
g.id AS GRID_ID, |
||||
|
g.PID, |
||||
|
g.PIDS, |
||||
|
count( n.id ) AS neighbourhoodsCount |
||||
|
FROM |
||||
|
customer_grid g |
||||
|
LEFT JOIN ic_neighbor_hood n ON n.GRID_ID = g.id |
||||
|
AND n.CREATED_TIME < DATE_ADD( DATE_FORMAT(#{dateId},'%Y-%m-%d'), INTERVAL 1 DAY ) |
||||
|
AND n.DEL_FLAG = '0' |
||||
|
WHERE |
||||
|
g.DEL_FLAG = '0' |
||||
|
<if test='customerId != "" and customerId != null '> |
||||
|
AND g.CUSTOMER_ID = #{customerId} |
||||
|
</if> |
||||
|
GROUP BY |
||||
|
g.CUSTOMER_ID, |
||||
|
g.id; |
||||
|
</select> |
||||
|
|
||||
|
</mapper> |
@ -0,0 +1,138 @@ |
|||||
|
<?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.epmet.dao.stats.FactAgencyUserHouseDailyDao"> |
||||
|
|
||||
|
<resultMap type="com.epmet.entity.stats.FactAgencyUserHouseDailyEntity" id="factAgencyUserHouseDailyMap"> |
||||
|
<result property="id" column="ID"/> |
||||
|
<result property="customerId" column="CUSTOMER_ID"/> |
||||
|
<result property="dateId" column="DATE_ID"/> |
||||
|
<result property="agencyId" column="AGENCY_ID"/> |
||||
|
<result property="level" column="LEVEL"/> |
||||
|
<result property="pid" column="PID"/> |
||||
|
<result property="pids" column="PIDS"/> |
||||
|
<result property="neighbourhoodsCount" column="NEIGHBOURHOODS_COUNT"/> |
||||
|
<result property="houseCount" column="HOUSE_COUNT"/> |
||||
|
<result property="houseSelfCount" column="HOUSE_SELF_COUNT"/> |
||||
|
<result property="houseLeaseCount" column="HOUSE_LEASE_COUNT"/> |
||||
|
<result property="houseIdleCount" column="HOUSE_IDLE_COUNT"/> |
||||
|
<result property="userCount" column="USER_COUNT"/> |
||||
|
<result property="userResiCount" column="USER_RESI_COUNT"/> |
||||
|
<result property="userFloatCount" column="USER_FLOAT_COUNT"/> |
||||
|
<result property="houseIncr" column="HOUSE_INCR"/> |
||||
|
<result property="houseModify" column="HOUSE_MODIFY"/> |
||||
|
<result property="userIncr" column="USER_INCR"/> |
||||
|
<result property="userModify" column="USER_MODIFY"/> |
||||
|
<result property="delFlag" column="DEL_FLAG"/> |
||||
|
<result property="revision" column="REVISION"/> |
||||
|
<result property="createdBy" column="CREATED_BY"/> |
||||
|
<result property="createdTime" column="CREATED_TIME"/> |
||||
|
<result property="updatedBy" column="UPDATED_BY"/> |
||||
|
<result property="updatedTime" column="UPDATED_TIME"/> |
||||
|
</resultMap> |
||||
|
|
||||
|
<select id="listPage" resultType="com.epmet.dto.stats.result.FactUserHouseResultDTO"> |
||||
|
SELECT |
||||
|
d.AGENCY_NAME AS AGENCY_NAME, |
||||
|
max( NEIGHBOURHOODS_COUNT ) AS NEIGHBOURHOODS_COUNT, |
||||
|
max( HOUSE_COUNT ) AS HOUSE_COUNT, |
||||
|
max( HOUSE_SELF_COUNT ) AS HOUSE_SELF_COUNT, |
||||
|
max( HOUSE_LEASE_COUNT ) AS HOUSE_LEASE_COUNT, |
||||
|
max( HOUSE_IDLE_COUNT ) AS HOUSE_IDLE_COUNT, |
||||
|
max( USER_COUNT ) AS USER_COUNT, |
||||
|
max( USER_RESI_COUNT ) AS USER_RESI_COUNT, |
||||
|
max( USER_FLOAT_COUNT ) AS USER_FLOAT_COUNT, |
||||
|
max( HOUSE_INCR ) AS HOUSE_INCR, |
||||
|
max( HOUSE_MODIFY ) AS HOUSE_MODIFY, |
||||
|
max( USER_INCR ) AS USER_INCR, |
||||
|
max( USER_MODIFY ) AS USER_MODIFY |
||||
|
FROM |
||||
|
fact_agency_user_house_daily a |
||||
|
LEFT JOIN dim_agency d ON d.id = a.AGENCY_ID |
||||
|
WHERE |
||||
|
d.DEL_FLAG = '0' |
||||
|
<if test="customerId != null and customerId != ''"> |
||||
|
AND a.CUSTOMER_ID = #{customerId} |
||||
|
AND d.CUSTOMER_ID = #{customerId} |
||||
|
</if> |
||||
|
<if test="dateId != null and dateId != ''"> |
||||
|
AND a.DATE_ID = #{dateId} |
||||
|
</if> |
||||
|
<if test="level == 'street'"> |
||||
|
AND a.LEVEL = 'community' |
||||
|
AND a.PID = #{agencyId} |
||||
|
</if> |
||||
|
<if test="level == 'district'"> |
||||
|
AND a.LEVEL = 'street' |
||||
|
AND a.PID = #{agencyId} |
||||
|
</if> |
||||
|
<if test="level == 'city'"> |
||||
|
AND a.LEVEL = 'district' |
||||
|
AND a.PID = #{agencyId} |
||||
|
</if> |
||||
|
<if test="level == 'province'"> |
||||
|
AND a.LEVEL = 'city' |
||||
|
AND a.PID = #{agencyId} |
||||
|
</if> |
||||
|
<if test="startTime != null and startTime != ''"> |
||||
|
AND DATE_FORMAT( a.DATE_ID, '%Y-%m-%d' ) >= DATE_FORMAT( #{startTime}, '%Y-%m-%d' ) |
||||
|
</if> |
||||
|
<if test="endTime != null and endTime != ''"> |
||||
|
AND DATE_FORMAT( a.DATE_ID, '%Y-%m-%d' ) <= DATE_FORMAT( #{endTime}, '%Y-%m-%d' ) |
||||
|
</if> |
||||
|
GROUP BY |
||||
|
a.AGENCY_ID |
||||
|
</select> |
||||
|
|
||||
|
<select id="getTotal" resultType="com.epmet.dto.stats.result.FactUserHouseResultDTO"> |
||||
|
SELECT |
||||
|
d.AGENCY_NAME AS AGENCY_NAME, |
||||
|
sum( NEIGHBOURHOODS_COUNT ) AS NEIGHBOURHOODS_COUNT, |
||||
|
sum( HOUSE_COUNT ) AS HOUSE_COUNT, |
||||
|
sum( HOUSE_SELF_COUNT ) AS HOUSE_SELF_COUNT, |
||||
|
sum( HOUSE_LEASE_COUNT ) AS HOUSE_LEASE_COUNT, |
||||
|
sum( HOUSE_IDLE_COUNT ) AS HOUSE_IDLE_COUNT, |
||||
|
sum( USER_COUNT ) AS USER_COUNT, |
||||
|
sum( USER_RESI_COUNT ) AS USER_RESI_COUNT, |
||||
|
sum( USER_FLOAT_COUNT ) AS USER_FLOAT_COUNT, |
||||
|
sum( HOUSE_INCR ) AS HOUSE_INCR, |
||||
|
sum( HOUSE_MODIFY ) AS HOUSE_MODIFY, |
||||
|
sum( USER_INCR ) AS USER_INCR, |
||||
|
sum( USER_MODIFY ) AS USER_MODIFY |
||||
|
FROM |
||||
|
fact_agency_user_house_daily a |
||||
|
LEFT JOIN dim_agency d ON d.id = a.AGENCY_ID |
||||
|
WHERE |
||||
|
d.DEL_FLAG = '0' |
||||
|
<if test="customerId != null and customerId != ''"> |
||||
|
AND a.CUSTOMER_ID = #{customerId} |
||||
|
AND d.CUSTOMER_ID = #{customerId} |
||||
|
</if> |
||||
|
<if test="agencyId != null and agencyId != ''"> |
||||
|
AND a.AGENCY_ID = #{agencyId} |
||||
|
</if> |
||||
|
<if test="dateId != null and dateId != ''"> |
||||
|
AND a.DATE_ID = #{dateId} |
||||
|
</if> |
||||
|
<if test="startTime != null and startTime != ''"> |
||||
|
AND DATE_FORMAT( a.DATE_ID, '%Y-%m-%d' ) >= DATE_FORMAT( #{startTime}, '%Y-%m-%d' ) |
||||
|
</if> |
||||
|
<if test="endTime != null and endTime != ''"> |
||||
|
AND DATE_FORMAT( a.DATE_ID, '%Y-%m-%d' ) <= DATE_FORMAT( #{endTime}, '%Y-%m-%d' ) |
||||
|
</if> |
||||
|
GROUP BY |
||||
|
a.DATE_ID |
||||
|
ORDER BY |
||||
|
a.DATE_ID ASC |
||||
|
</select> |
||||
|
|
||||
|
<delete id="deleteByDateId"> |
||||
|
DELETE |
||||
|
FROM |
||||
|
fact_agency_user_house_daily |
||||
|
WHERE |
||||
|
DATE_ID = #{dateId} |
||||
|
AND CUSTOMER_ID = #{customerId} |
||||
|
</delete> |
||||
|
|
||||
|
</mapper> |
@ -0,0 +1,237 @@ |
|||||
|
<?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.epmet.dao.stats.FactGridUserHouseDailyDao"> |
||||
|
|
||||
|
<resultMap type="com.epmet.entity.stats.FactGridUserHouseDailyEntity" id="factGridUserHouseDailyMap"> |
||||
|
<result property="id" column="ID"/> |
||||
|
<result property="customerId" column="CUSTOMER_ID"/> |
||||
|
<result property="dateId" column="DATE_ID"/> |
||||
|
<result property="gridId" column="GRID_ID"/> |
||||
|
<result property="pid" column="PID"/> |
||||
|
<result property="pids" column="PIDS"/> |
||||
|
<result property="neighbourhoodsCount" column="NEIGHBOURHOODS_COUNT"/> |
||||
|
<result property="houseCount" column="HOUSE_COUNT"/> |
||||
|
<result property="houseSelfCount" column="HOUSE_SELF_COUNT"/> |
||||
|
<result property="houseLeaseCount" column="HOUSE_LEASE_COUNT"/> |
||||
|
<result property="houseIdleCount" column="HOUSE_IDLE_COUNT"/> |
||||
|
<result property="userCount" column="USER_COUNT"/> |
||||
|
<result property="userResiCount" column="USER_RESI_COUNT"/> |
||||
|
<result property="userFloatCount" column="USER_FLOAT_COUNT"/> |
||||
|
<result property="houseIncr" column="HOUSE_INCR"/> |
||||
|
<result property="houseModify" column="HOUSE_MODIFY"/> |
||||
|
<result property="userIncr" column="USER_INCR"/> |
||||
|
<result property="userModify" column="USER_MODIFY"/> |
||||
|
<result property="delFlag" column="DEL_FLAG"/> |
||||
|
<result property="revision" column="REVISION"/> |
||||
|
<result property="createdBy" column="CREATED_BY"/> |
||||
|
<result property="createdTime" column="CREATED_TIME"/> |
||||
|
<result property="updatedBy" column="UPDATED_BY"/> |
||||
|
<result property="updatedTime" column="UPDATED_TIME"/> |
||||
|
</resultMap> |
||||
|
|
||||
|
<select id="listPage" resultType="com.epmet.dto.stats.result.FactUserHouseResultDTO"> |
||||
|
SELECT |
||||
|
g.GRID_NAME AS AGENCY_NAME, |
||||
|
max( NEIGHBOURHOODS_COUNT ) AS NEIGHBOURHOODS_COUNT, |
||||
|
max( HOUSE_COUNT ) AS HOUSE_COUNT, |
||||
|
max( HOUSE_SELF_COUNT ) AS HOUSE_SELF_COUNT, |
||||
|
max( HOUSE_LEASE_COUNT ) AS HOUSE_LEASE_COUNT, |
||||
|
max( HOUSE_IDLE_COUNT ) AS HOUSE_IDLE_COUNT, |
||||
|
max( USER_COUNT ) AS USER_COUNT, |
||||
|
max( USER_RESI_COUNT ) AS USER_RESI_COUNT, |
||||
|
max( USER_FLOAT_COUNT ) AS USER_FLOAT_COUNT, |
||||
|
max( HOUSE_INCR ) AS HOUSE_INCR, |
||||
|
max( HOUSE_MODIFY ) AS HOUSE_MODIFY, |
||||
|
max( USER_INCR ) AS USER_INCR, |
||||
|
max( USER_MODIFY ) AS USER_MODIFY |
||||
|
FROM |
||||
|
fact_grid_user_house_daily d |
||||
|
LEFT JOIN dim_grid g ON g.id = d.GRID_ID |
||||
|
WHERE |
||||
|
g.DEL_FLAG = '0' |
||||
|
<if test="customerId != null and customerId != ''"> |
||||
|
AND g.CUSTOMER_ID = #{customerId} |
||||
|
AND d.CUSTOMER_ID = #{customerId} |
||||
|
</if> |
||||
|
<if test="level == 'grid'"> |
||||
|
AND d.GRID_ID = #{agencyId} |
||||
|
</if> |
||||
|
<if test="level == 'community'"> |
||||
|
AND d.PID = #{agencyId} |
||||
|
</if> |
||||
|
<if test="dateId != null and dateId != ''"> |
||||
|
AND d.DATE_ID = #{dateId} |
||||
|
</if> |
||||
|
<if test="startTime != null and startTime != ''"> |
||||
|
AND DATE_FORMAT( d.DATE_ID, '%Y-%m-%d' ) >= DATE_FORMAT( #{startTime}, '%Y-%m-%d' ) |
||||
|
</if> |
||||
|
<if test="endTime != null and endTime != ''"> |
||||
|
AND DATE_FORMAT( d.DATE_ID, '%Y-%m-%d' ) <= DATE_FORMAT( #{endTime}, '%Y-%m-%d' ) |
||||
|
</if> |
||||
|
GROUP BY |
||||
|
GRID_ID |
||||
|
</select> |
||||
|
|
||||
|
<select id="getTotal" resultType="com.epmet.dto.stats.result.FactUserHouseResultDTO"> |
||||
|
SELECT |
||||
|
g.GRID_NAME AS AGENCY_NAME, |
||||
|
sum( NEIGHBOURHOODS_COUNT ) AS NEIGHBOURHOODS_COUNT, |
||||
|
sum( HOUSE_COUNT ) AS HOUSE_COUNT, |
||||
|
sum( HOUSE_SELF_COUNT ) AS HOUSE_SELF_COUNT, |
||||
|
sum( HOUSE_LEASE_COUNT ) AS HOUSE_LEASE_COUNT, |
||||
|
sum( HOUSE_IDLE_COUNT ) AS HOUSE_IDLE_COUNT, |
||||
|
sum( USER_COUNT ) AS USER_COUNT, |
||||
|
sum( USER_RESI_COUNT ) AS USER_RESI_COUNT, |
||||
|
sum( USER_FLOAT_COUNT ) AS USER_FLOAT_COUNT, |
||||
|
sum( HOUSE_INCR ) AS HOUSE_INCR, |
||||
|
sum( HOUSE_MODIFY ) AS HOUSE_MODIFY, |
||||
|
sum( USER_INCR ) AS USER_INCR, |
||||
|
sum( USER_MODIFY ) AS USER_MODIFY |
||||
|
FROM |
||||
|
fact_grid_user_house_daily d |
||||
|
LEFT JOIN dim_grid g ON g.id = d.GRID_ID |
||||
|
LEFT JOIN dim_agency a ON a.id = d.PID |
||||
|
WHERE |
||||
|
g.DEL_FLAG = '0' |
||||
|
<if test="customerId != null and customerId != ''"> |
||||
|
AND g.CUSTOMER_ID = #{customerId} |
||||
|
AND d.CUSTOMER_ID = #{customerId} |
||||
|
</if> |
||||
|
<if test="agencyId != null and agencyId != ''"> |
||||
|
AND d.GRID_ID = #{agencyId} |
||||
|
</if> |
||||
|
<if test="dateId != null and dateId != ''"> |
||||
|
AND d.DATE_ID = #{dateId} |
||||
|
</if> |
||||
|
<if test="startTime != null and startTime != ''"> |
||||
|
AND DATE_FORMAT( d.DATE_ID, '%Y-%m-%d' ) >= DATE_FORMAT( #{startTime}, '%Y-%m-%d' ) |
||||
|
</if> |
||||
|
<if test="endTime != null and endTime != ''"> |
||||
|
AND DATE_FORMAT( d.DATE_ID, '%Y-%m-%d' ) <= DATE_FORMAT( #{endTime}, '%Y-%m-%d' ) |
||||
|
</if> |
||||
|
GROUP BY |
||||
|
d.DATE_ID |
||||
|
ORDER BY |
||||
|
d.DATE_ID ASC |
||||
|
</select> |
||||
|
|
||||
|
<select id="statAgency" resultType="com.epmet.dto.stats.result.FactUserHouseResultDTO"> |
||||
|
SELECT |
||||
|
t.*, |
||||
|
ag.id AS AGENCY_ID, |
||||
|
ag.CUSTOMER_ID, |
||||
|
ag.`LEVEL`, |
||||
|
ag.PID, |
||||
|
ag.PIDS |
||||
|
FROM |
||||
|
dim_agency ag |
||||
|
LEFT JOIN ( |
||||
|
SELECT |
||||
|
<if test="level == 'community'"> |
||||
|
c.id AS AGENCY, |
||||
|
</if> |
||||
|
<if test="level == 'street'"> |
||||
|
s.id AS AGENCY, |
||||
|
</if> |
||||
|
<if test="level == 'district'"> |
||||
|
di.id AS AGENCY, |
||||
|
</if> |
||||
|
<if test="level == 'city'"> |
||||
|
ci.id AS AGENCY, |
||||
|
</if> |
||||
|
<if test="level == 'province'"> |
||||
|
p.id AS AGENCY, |
||||
|
</if> |
||||
|
sum( NEIGHBOURHOODS_COUNT ) AS NEIGHBOURHOODS_COUNT, |
||||
|
sum( HOUSE_COUNT ) AS HOUSE_COUNT, |
||||
|
sum( HOUSE_SELF_COUNT ) AS HOUSE_SELF_COUNT, |
||||
|
sum( HOUSE_LEASE_COUNT ) AS HOUSE_LEASE_COUNT, |
||||
|
sum( HOUSE_IDLE_COUNT ) AS HOUSE_IDLE_COUNT, |
||||
|
sum( USER_COUNT ) AS USER_COUNT, |
||||
|
sum( USER_RESI_COUNT ) AS USER_RESI_COUNT, |
||||
|
sum( USER_FLOAT_COUNT ) AS USER_FLOAT_COUNT, |
||||
|
sum( HOUSE_INCR ) AS HOUSE_INCR, |
||||
|
sum( HOUSE_MODIFY ) AS HOUSE_MODIFY, |
||||
|
sum( USER_INCR ) AS USER_INCR, |
||||
|
sum( USER_MODIFY ) AS USER_MODIFY |
||||
|
FROM |
||||
|
fact_grid_user_house_daily d |
||||
|
INNER JOIN dim_grid g ON g.id = d.GRID_ID |
||||
|
INNER JOIN dim_agency c ON c.id = g.AGENCY_ID |
||||
|
<if test="level == 'community'"> |
||||
|
WHERE |
||||
|
d.DATE_ID = #{dateId} |
||||
|
AND d.CUSTOMER_ID = #{customerId} |
||||
|
GROUP BY |
||||
|
c.id |
||||
|
</if> |
||||
|
<if test="level == 'street'"> |
||||
|
INNER JOIN dim_agency s ON s.id = c.pid |
||||
|
WHERE |
||||
|
d.DATE_ID = #{dateId} |
||||
|
AND d.CUSTOMER_ID = #{customerId} |
||||
|
GROUP BY |
||||
|
s.id |
||||
|
</if> |
||||
|
<if test="level == 'district'"> |
||||
|
INNER JOIN dim_agency s ON s.id = c.pid |
||||
|
INNER JOIN dim_agency di ON di.id = s.pid |
||||
|
WHERE |
||||
|
d.DATE_ID = #{dateId} |
||||
|
AND d.CUSTOMER_ID = #{customerId} |
||||
|
GROUP BY |
||||
|
di.id |
||||
|
</if> |
||||
|
<if test="level == 'city'"> |
||||
|
INNER JOIN dim_agency s ON s.id = c.pid |
||||
|
INNER JOIN dim_agency di ON di.id = s.pid |
||||
|
INNER JOIN dim_agency ci ON ci.id = di.pid |
||||
|
INNER JOIN dim_agency p ON p.id = ci.pid |
||||
|
WHERE |
||||
|
d.DATE_ID = #{dateId} |
||||
|
AND d.CUSTOMER_ID = #{customerId} |
||||
|
GROUP BY |
||||
|
ci.id |
||||
|
</if> |
||||
|
<if test="level == 'province'"> |
||||
|
INNER JOIN dim_agency s ON s.id = c.pid |
||||
|
INNER JOIN dim_agency di ON di.id = s.pid |
||||
|
INNER JOIN dim_agency ci ON ci.id = di.pid |
||||
|
INNER JOIN dim_agency p ON p.id = ci.pid |
||||
|
WHERE |
||||
|
d.DATE_ID = #{dateId} |
||||
|
AND d.CUSTOMER_ID = #{customerId} |
||||
|
GROUP BY |
||||
|
p.id |
||||
|
</if> |
||||
|
) t ON t.AGENCY = ag.id |
||||
|
WHERE |
||||
|
ag.CUSTOMER_ID = #{customerId} |
||||
|
AND ag.AGENCY_DIM_TYPE = 'all' |
||||
|
<if test="level == 'community'"> |
||||
|
AND ag.`LEVEL` = 'community' |
||||
|
</if> |
||||
|
<if test="level == 'street'"> |
||||
|
AND ag.`LEVEL` = 'street' |
||||
|
</if> |
||||
|
<if test="level == 'district'"> |
||||
|
AND ag.`LEVEL` = 'district' |
||||
|
</if> |
||||
|
<if test="level == 'city'"> |
||||
|
AND ag.`LEVEL` = 'city' |
||||
|
</if> |
||||
|
<if test="level == 'province'"> |
||||
|
AND ag.`LEVEL` = 'province' |
||||
|
</if> |
||||
|
</select> |
||||
|
|
||||
|
<delete id="deleteByDateId"> |
||||
|
DELETE |
||||
|
FROM |
||||
|
fact_grid_user_house_daily |
||||
|
WHERE |
||||
|
DATE_ID = #{dateId} |
||||
|
AND CUSTOMER_ID = #{customerId} |
||||
|
</delete> |
||||
|
</mapper> |
@ -0,0 +1,23 @@ |
|||||
|
<?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.epmet.dao.user.IcResiUserDao"> |
||||
|
|
||||
|
<select id="userStat" resultType="com.epmet.dto.stats.result.FactUserHouseResultDTO"> |
||||
|
SELECT |
||||
|
CUSTOMER_ID, |
||||
|
GRID_ID, |
||||
|
sum( CASE WHEN IS_FLOATING = '0' THEN 1 ELSE 0 END ) AS userResiCount, |
||||
|
sum( CASE WHEN IS_FLOATING = '1' THEN 1 ELSE 0 END ) AS userFloatCount, |
||||
|
sum( CASE WHEN id IS NOT NULL THEN 1 ELSE 0 END ) AS userCount |
||||
|
FROM |
||||
|
ic_resi_user |
||||
|
WHERE |
||||
|
del_flag = '0' |
||||
|
AND CREATED_TIME <= DATE_ADD( DATE_FORMAT(#{dateId},'%Y-%m-%d'), INTERVAL 1 DAY ) |
||||
|
GROUP BY |
||||
|
CUSTOMER_ID, |
||||
|
AGENCY_ID |
||||
|
</select> |
||||
|
|
||||
|
</mapper> |
@ -0,0 +1,27 @@ |
|||||
|
package com.epmet.service; |
||||
|
|
||||
|
import com.epmet.commons.tools.utils.Result; |
||||
|
import com.epmet.dto.stats.form.FactUserHouseFormDTO; |
||||
|
|
||||
|
public interface StatsUserHouseService { |
||||
|
|
||||
|
/** |
||||
|
* 人房信息统计 |
||||
|
* |
||||
|
* @param formDTO |
||||
|
* @return com.epmet.commons.tools.utils.Result |
||||
|
* @author zhy |
||||
|
* @date 2022/5/30 10:25 |
||||
|
*/ |
||||
|
Result execUserHouseGridStatistical(FactUserHouseFormDTO formDTO); |
||||
|
|
||||
|
/** |
||||
|
* 人房信息统计 |
||||
|
* |
||||
|
* @param formDTO |
||||
|
* @return com.epmet.commons.tools.utils.Result |
||||
|
* @author zhy |
||||
|
* @date 2022/5/30 10:25 |
||||
|
*/ |
||||
|
Result execUserHouseAgencyStatistical(FactUserHouseFormDTO formDTO); |
||||
|
} |
@ -0,0 +1,30 @@ |
|||||
|
package com.epmet.service.impl; |
||||
|
|
||||
|
import com.epmet.commons.tools.utils.Result; |
||||
|
import com.epmet.dto.stats.form.FactUserHouseFormDTO; |
||||
|
import com.epmet.feign.DataStatisticalOpenFeignClient; |
||||
|
import com.epmet.service.StatsUserHouseService; |
||||
|
import org.slf4j.Logger; |
||||
|
import org.slf4j.LoggerFactory; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
|
||||
|
@Service |
||||
|
public class StatsUserHouseServiceImpl implements StatsUserHouseService { |
||||
|
|
||||
|
private Logger logger = LoggerFactory.getLogger(getClass()); |
||||
|
|
||||
|
@Autowired |
||||
|
private DataStatisticalOpenFeignClient dataStatisticalOpenFeignClient; |
||||
|
|
||||
|
@Override |
||||
|
public Result execUserHouseGridStatistical(FactUserHouseFormDTO formDTO) { |
||||
|
return dataStatisticalOpenFeignClient.userHouseStatGrid(formDTO); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Result execUserHouseAgencyStatistical(FactUserHouseFormDTO formDTO) { |
||||
|
return dataStatisticalOpenFeignClient.userHouseStatAgency(formDTO); |
||||
|
} |
||||
|
} |
@ -0,0 +1,48 @@ |
|||||
|
package com.epmet.task; |
||||
|
|
||||
|
import com.alibaba.fastjson.JSON; |
||||
|
import com.epmet.commons.tools.utils.Result; |
||||
|
import com.epmet.dto.stats.form.FactUserHouseFormDTO; |
||||
|
import com.epmet.service.StatsUserHouseService; |
||||
|
import org.apache.commons.lang3.StringUtils; |
||||
|
import org.slf4j.Logger; |
||||
|
import org.slf4j.LoggerFactory; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Component; |
||||
|
|
||||
|
/** |
||||
|
* 人房 |
||||
|
* |
||||
|
* @author zhy |
||||
|
* @date 2022/5/30 10:23 |
||||
|
*/ |
||||
|
@Component("statsUserHouseTask") |
||||
|
public class StatsUserHouseTask implements ITask { |
||||
|
|
||||
|
private Logger logger = LoggerFactory.getLogger(getClass()); |
||||
|
|
||||
|
@Autowired |
||||
|
private StatsUserHouseService statsUserHouseService; |
||||
|
|
||||
|
@Override |
||||
|
public void run(String params) { |
||||
|
logger.info("StatsUserHouseTask定时任务正在执行,参数为:{}", params); |
||||
|
FactUserHouseFormDTO formDTO = new FactUserHouseFormDTO(); |
||||
|
if (StringUtils.isNotBlank(params)) { |
||||
|
formDTO = JSON.parseObject(params, FactUserHouseFormDTO.class); |
||||
|
} |
||||
|
Result result = statsUserHouseService.execUserHouseGridStatistical(formDTO); |
||||
|
if (result.success()) { |
||||
|
logger.info("StatsUserHouseTask-grid定时任务执行成功"); |
||||
|
} else { |
||||
|
logger.error("StatsUserHouseTask-grid定时任务执行失败:" + result.getMsg()); |
||||
|
} |
||||
|
|
||||
|
result = statsUserHouseService.execUserHouseAgencyStatistical(formDTO); |
||||
|
if (result.success()) { |
||||
|
logger.info("StatsUserHouseTask-agency定时任务执行成功"); |
||||
|
} else { |
||||
|
logger.error("StatsUserHouseTask-agency定时任务执行失败:" + result.getMsg()); |
||||
|
} |
||||
|
} |
||||
|
} |
Loading…
Reference in new issue