399 changed files with 22184 additions and 1641 deletions
@ -0,0 +1,11 @@ |
|||
INSERT INTO `epmet_admin`.`sys_dict_type` (`id`, `dict_type`, `dict_name`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1000000000000000014', 'ic_service_type', '服务类别', '', '20', '0', '0', '', '2022-05-27 16:23:27', '', '2022-05-27 16:23:27'); |
|||
|
|||
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('3100000000000000000', '1000000000000000014', '社区养老', '00', '0', '', '0', '0', '0', '', '2022-05-27 16:23:27', '', '2022-05-27 16:23:27'); |
|||
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('3100000000000000001', '1000000000000000014', '社会保障', '01', '0', '', '1', '0', '0', '', '2022-05-27 16:23:27', '', '2022-05-27 16:23:27'); |
|||
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('3100000000000000002', '1000000000000000014', '社区救助', '02', '0', '', '2', '0', '0', '', '2022-05-27 16:23:27', '', '2022-05-27 16:23:27'); |
|||
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('3100000000000000003', '1000000000000000014', '健康医疗', '03', '0', '', '3', '0', '0', '', '2022-05-27 16:23:27', '', '2022-05-27 16:23:27'); |
|||
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('3100000000000000004', '1000000000000000014', '社区安全', '04', '0', '', '4', '0', '0', '', '2022-05-27 16:23:27', '', '2022-05-27 16:23:27'); |
|||
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('3100000000000000005', '1000000000000000014', '社区卫生', '05', '0', '', '5', '0', '0', '', '2022-05-27 16:23:27', '', '2022-05-27 16:23:27'); |
|||
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('3100000000000000006', '1000000000000000014', '社区环境', '06', '0', '', '6', '0', '0', '', '2022-05-27 16:23:27', '', '2022-05-27 16:23:27'); |
|||
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('3100000000000000007', '1000000000000000014', '社区治安', '07', '0', '', '7', '0', '0', '', '2022-05-27 16:23:27', '', '2022-05-27 16:23:27'); |
|||
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('3100000000000000008', '1000000000000000014', '社区文化', '08', '0', '', '8', '0', '0', '', '2022-05-27 16:23:27', '', '2022-05-27 16:23:27'); |
|||
@ -0,0 +1,42 @@ |
|||
package com.epmet.commons.tools.enums; |
|||
|
|||
/** |
|||
* 组织级别枚举类 |
|||
* dev|test|prod |
|||
* |
|||
* @author jianjun liu |
|||
* @date 2020-07-03 11:14 |
|||
**/ |
|||
public enum HomeMemberOperationEnum { |
|||
|
|||
|
|||
ADD("add", "新增"), |
|||
UPDATE("update", "修改"), |
|||
DELETE("delele", "删除"); |
|||
|
|||
|
|||
private String code; |
|||
private String name; |
|||
|
|||
|
|||
HomeMemberOperationEnum(String code, String name) { |
|||
this.code = code; |
|||
this.name = name; |
|||
} |
|||
|
|||
public String getCode() { |
|||
return code; |
|||
} |
|||
|
|||
public void setCode(String code) { |
|||
this.code = code; |
|||
} |
|||
|
|||
public String getName() { |
|||
return name; |
|||
} |
|||
|
|||
public void setName(String name) { |
|||
this.name = name; |
|||
} |
|||
} |
|||
@ -0,0 +1,41 @@ |
|||
package com.epmet.commons.tools.enums; |
|||
|
|||
/** |
|||
* @describe: 一户一档二维码信息 |
|||
* @author wangtong |
|||
* @date 2022/6/1 13:34 |
|||
* @params |
|||
* @return |
|||
*/ |
|||
public enum HouseQrcodeEnum { |
|||
|
|||
SUFFIX(".png", "二维码格式的后缀"), |
|||
PREFIX_KEY("house_qrcode_pre", "二维码格式的前缀key"); |
|||
// PREFIX("https://epmet-dev.elinkservice.cn/cqrcode-ty/", "二维码地址的前缀");
|
|||
|
|||
|
|||
private String code; |
|||
private String name; |
|||
|
|||
|
|||
HouseQrcodeEnum(String code, String name) { |
|||
this.code = code; |
|||
this.name = name; |
|||
} |
|||
|
|||
public String getCode() { |
|||
return code; |
|||
} |
|||
|
|||
public void setCode(String code) { |
|||
this.code = code; |
|||
} |
|||
|
|||
public String getName() { |
|||
return name; |
|||
} |
|||
|
|||
public void setName(String name) { |
|||
this.name = name; |
|||
} |
|||
} |
|||
@ -0,0 +1,20 @@ |
|||
package com.epmet.commons.tools.feign; |
|||
|
|||
import com.epmet.commons.tools.constant.ServiceConstant; |
|||
import com.epmet.commons.tools.feign.fallback.CommonUserFeignClientFallBackFactory; |
|||
import com.epmet.commons.tools.redis.common.bean.ResiUserInfoCache; |
|||
import com.epmet.commons.tools.utils.Result; |
|||
import org.springframework.cloud.openfeign.FeignClient; |
|||
import org.springframework.web.bind.annotation.PathVariable; |
|||
import org.springframework.web.bind.annotation.PostMapping; |
|||
|
|||
/** |
|||
* @Author zqf |
|||
* @DateTime 2022/3/17 1:42 下午 |
|||
* @DESC |
|||
*/ |
|||
@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallbackFactory = CommonUserFeignClientFallBackFactory.class) |
|||
public interface CommonUserFeignClient { |
|||
@PostMapping("/epmetuser/userbaseinfo/getUserInfo/{userId}") |
|||
Result<ResiUserInfoCache> getUserInfo(@PathVariable("userId") String userId); |
|||
} |
|||
@ -0,0 +1,24 @@ |
|||
package com.epmet.commons.tools.feign.fallback; |
|||
|
|||
import com.epmet.commons.tools.exception.ExceptionUtils; |
|||
import com.epmet.commons.tools.feign.CommonUserFeignClient; |
|||
import feign.hystrix.FallbackFactory; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
/** |
|||
* @Author zqf |
|||
* @DateTime 2022/3/17 1:46 下午 |
|||
* @DESC |
|||
*/ |
|||
@Slf4j |
|||
@Component |
|||
public class CommonUserFeignClientFallBackFactory implements FallbackFactory<CommonUserFeignClient> { |
|||
private CommonUserFeignClientFallback fallback = new CommonUserFeignClientFallback(); |
|||
@Override |
|||
public CommonUserFeignClient create(Throwable cause) { |
|||
log.error(String.format("FeignClient调用发生异常,异常信息:%s", ExceptionUtils.getThrowableErrorStackTrace(cause))); |
|||
return fallback; |
|||
} |
|||
|
|||
} |
|||
@ -0,0 +1,23 @@ |
|||
package com.epmet.commons.tools.feign.fallback; |
|||
|
|||
import com.epmet.commons.tools.constant.ServiceConstant; |
|||
import com.epmet.commons.tools.feign.CommonUserFeignClient; |
|||
import com.epmet.commons.tools.redis.common.bean.ResiUserInfoCache; |
|||
import com.epmet.commons.tools.utils.ModuleUtils; |
|||
import com.epmet.commons.tools.utils.Result; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
/** |
|||
* 调用政府端权限 |
|||
* @Author zqf |
|||
* @Description |
|||
* @Date 2020/4/24 11:17 |
|||
**/ |
|||
@Component |
|||
public class CommonUserFeignClientFallback implements CommonUserFeignClient { |
|||
|
|||
@Override |
|||
public Result<ResiUserInfoCache> getUserInfo(String userId) { |
|||
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserInfo", userId); |
|||
} |
|||
} |
|||
@ -0,0 +1,90 @@ |
|||
package com.epmet.commons.tools.redis.common; |
|||
|
|||
import cn.hutool.core.bean.BeanUtil; |
|||
import com.epmet.commons.tools.exception.RenException; |
|||
import com.epmet.commons.tools.feign.CommonUserFeignClient; |
|||
import com.epmet.commons.tools.redis.RedisKeys; |
|||
import com.epmet.commons.tools.redis.RedisUtils; |
|||
import com.epmet.commons.tools.redis.common.bean.ResiUserInfoCache; |
|||
import com.epmet.commons.tools.utils.ConvertUtils; |
|||
import com.epmet.commons.tools.utils.Result; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.apache.commons.lang3.StringUtils; |
|||
import org.jetbrains.annotations.Nullable; |
|||
import org.springframework.stereotype.Component; |
|||
import org.springframework.util.CollectionUtils; |
|||
|
|||
import javax.annotation.PostConstruct; |
|||
import javax.annotation.Resource; |
|||
import java.util.Map; |
|||
|
|||
/** |
|||
* 居民缓存通用类 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2020-04-22 |
|||
*/ |
|||
@Slf4j |
|||
@Component |
|||
public class CustomerResiUserRedis { |
|||
@Resource |
|||
private RedisUtils redisUtils; |
|||
@Resource |
|||
private CommonUserFeignClient commonUserFeignClient; |
|||
|
|||
private static CustomerResiUserRedis customerResiUserRedis; |
|||
private static final String ROLE_MAP_KEY = "roleMap"; |
|||
|
|||
@PostConstruct |
|||
public void init() { |
|||
customerResiUserRedis = this; |
|||
customerResiUserRedis.redisUtils = this.redisUtils; |
|||
customerResiUserRedis.commonUserFeignClient = this.commonUserFeignClient; |
|||
} |
|||
|
|||
/** |
|||
* desc: 获取居民缓存 |
|||
* |
|||
* @param userId |
|||
* @return com.epmet.commons.tools.redis.common.bean.CustomerStaffInfoCache |
|||
* @author LiuJanJun |
|||
* @date 2021/8/19 10:29 下午 |
|||
* @remark 此方法仅用于 获取某个工作人员的信息,不用于获取客户下所有工作人员信息 |
|||
*/ |
|||
public static ResiUserInfoCache getUserBaseInfo(String userId) { |
|||
if (StringUtils.isBlank(userId)){ |
|||
log.warn("getUserBaseInfo param is blank,userId:{}",userId); |
|||
return null; |
|||
} |
|||
String key = RedisKeys.getResiUserKey(userId); |
|||
Map<String, Object> map = customerResiUserRedis.redisUtils.hGetAll(key); |
|||
if (!CollectionUtils.isEmpty(map)) { |
|||
return ConvertUtils.mapToEntity(map, ResiUserInfoCache.class); |
|||
} |
|||
|
|||
ResiUserInfoCache resultData = reloadStaffCache(userId, key); |
|||
if (resultData == null) { |
|||
return null; |
|||
} |
|||
|
|||
return resultData; |
|||
} |
|||
|
|||
@Nullable |
|||
private static ResiUserInfoCache reloadStaffCache(String userId, String key) { |
|||
Result<ResiUserInfoCache> result = customerResiUserRedis.commonUserFeignClient.getUserInfo(userId); |
|||
if (result == null || !result.success()) { |
|||
throw new RenException("获取居民信息失败"); |
|||
} |
|||
ResiUserInfoCache resultData = result.getData(); |
|||
if (null == resultData) { |
|||
log.warn("居民信息为空,userId:{}", userId); |
|||
return null; |
|||
} |
|||
|
|||
Map<String, Object> map = BeanUtil.beanToMap(resultData, false, true); |
|||
customerResiUserRedis.redisUtils.hMSet(key, map); |
|||
return resultData; |
|||
} |
|||
|
|||
} |
|||
@ -0,0 +1,99 @@ |
|||
package com.epmet.commons.tools.redis.common.bean; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* 房屋信息缓存 |
|||
* @author Administrator |
|||
*/ |
|||
@Data |
|||
public class ResiUserInfoCache implements Serializable { |
|||
private String id; |
|||
|
|||
/** |
|||
* 客户Id |
|||
* */ |
|||
private String customerId; |
|||
|
|||
/** |
|||
* 用户id |
|||
*/ |
|||
private String userId; |
|||
|
|||
/** |
|||
* 手机号(注册手机号) |
|||
*/ |
|||
private String mobile; |
|||
|
|||
/** |
|||
* 姓氏 |
|||
*/ |
|||
private String surname; |
|||
|
|||
/** |
|||
* 名 |
|||
*/ |
|||
private String name; |
|||
|
|||
/** |
|||
* 姓名 |
|||
*/ |
|||
private String realName; |
|||
|
|||
/** |
|||
* 身份证号 |
|||
*/ |
|||
private String idNum; |
|||
|
|||
/** |
|||
* 性别(1男2女0未知) |
|||
*/ |
|||
private String gender; |
|||
|
|||
/** |
|||
* 街道 |
|||
*/ |
|||
private String street; |
|||
|
|||
/** |
|||
* 小区名称 |
|||
*/ |
|||
private String district; |
|||
|
|||
/** |
|||
* 楼栋单元 |
|||
*/ |
|||
private String buildingAddress; |
|||
|
|||
/** |
|||
* 昵称(目前来源于微信昵称,后续系统可支持用户有昵称) |
|||
*/ |
|||
private String nickname; |
|||
|
|||
/** |
|||
* 头像(目前来源于微信,后续系统顾客支持上传头像) |
|||
*/ |
|||
private String headImgUrl; |
|||
|
|||
/** |
|||
* 网格Id |
|||
* */ |
|||
private String registeredGridId; |
|||
|
|||
/** |
|||
* xx机关-yy网格 |
|||
* */ |
|||
private String registeredGridName; |
|||
|
|||
/** |
|||
* 显示昵称 xx网格-y先生/女士 |
|||
* */ |
|||
private String showName; |
|||
|
|||
/** |
|||
* xxx街道-尹女士 |
|||
*/ |
|||
private String userShowName; |
|||
} |
|||
@ -0,0 +1,171 @@ |
|||
package com.epmet.commons.tools.utils; |
|||
|
|||
|
|||
import com.google.zxing.BarcodeFormat; |
|||
import com.google.zxing.EncodeHintType; |
|||
import com.google.zxing.MultiFormatWriter; |
|||
import com.google.zxing.WriterException; |
|||
import com.google.zxing.client.j2se.MatrixToImageConfig; |
|||
import com.google.zxing.client.j2se.MatrixToImageWriter; |
|||
import com.google.zxing.common.BitMatrix; |
|||
import com.google.zxing.common.CharacterSetECI; |
|||
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
|
|||
import javax.imageio.ImageIO; |
|||
import java.awt.*; |
|||
import java.awt.image.BufferedImage; |
|||
import java.io.ByteArrayOutputStream; |
|||
import java.io.File; |
|||
import java.io.IOException; |
|||
import java.util.HashMap; |
|||
|
|||
/** |
|||
* Date: 2022/06/7 10:01 |
|||
* Description:房屋一户一码生成工具类 |
|||
*/ |
|||
@Slf4j |
|||
public class HouseQRcodeUtils { |
|||
/** |
|||
* 二维码颜色 默认是黑色 |
|||
*/ |
|||
private static final Color QRCOLOR = Color.black; |
|||
/** |
|||
* 背景颜色 |
|||
*/ |
|||
private static final Color BGWHITE = Color.white; |
|||
public static final int WIDTH = 800; |
|||
public static final int HEIGHT = 800; |
|||
public static final int MARGIN = 10; |
|||
public static final int FONTSIZE = 40; |
|||
|
|||
|
|||
|
|||
/** |
|||
* 房屋一户一码生成-指定像素 |
|||
* |
|||
* @param contents 说明 |
|||
* @return BufferedImage |
|||
* @throws Exception |
|||
*/ |
|||
public static BufferedImage drawHouseQRImage(String pressText, String contents) throws Exception { |
|||
BufferedImage qRImage = null; |
|||
if (contents == null || "".equals(contents)) { |
|||
throw new Exception("content说明不能为空"); |
|||
} |
|||
// 二维码参数设置
|
|||
HashMap<EncodeHintType, Object> hints = new HashMap<>(); |
|||
hints.put(EncodeHintType.CHARACTER_SET, CharacterSetECI.UTF8); // 编码设置
|
|||
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H); // 安全等级,最高h
|
|||
hints.put(EncodeHintType.MARGIN, MARGIN); // 设置margin=0-10
|
|||
|
|||
// 二维码图片的生成
|
|||
BarcodeFormat format = BarcodeFormat.QR_CODE; |
|||
// 创建矩阵容器
|
|||
BitMatrix matrix = null; |
|||
try { |
|||
matrix = new MultiFormatWriter().encode(contents, format, WIDTH, HEIGHT, hints); |
|||
} catch (WriterException e) { |
|||
log.error("method exception", e); |
|||
} |
|||
|
|||
// 设置矩阵转为图片的参数
|
|||
MatrixToImageConfig toImageConfig = new MatrixToImageConfig(QRCOLOR.getRGB(), BGWHITE.getRGB()); |
|||
|
|||
// 矩阵转换图像
|
|||
qRImage = MatrixToImageWriter.toBufferedImage(matrix, toImageConfig); |
|||
return pressHouseText(pressText, qRImage); |
|||
} |
|||
|
|||
/** |
|||
* @param pressText 二维码下方插入文字 |
|||
* @param image 需要添加文字的图片 |
|||
* @为图片添加文字 |
|||
*/ |
|||
private static BufferedImage pressHouseText(String pressText, BufferedImage image) throws Exception { |
|||
|
|||
BufferedImage outImage = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB); |
|||
//计算文字开始的位置
|
|||
//x开始的位置:(图片宽度-字体大小*字的个数)/2
|
|||
int startX = (WIDTH - (FONTSIZE * pressText.length())) / 2; |
|||
//y开始的位置:图片高度-(图片高度-图片宽度)/2
|
|||
// int startY = HEIGHT - (HEIGHT - WIDTH) / 2 + FONTSIZE;
|
|||
int startY = 740; |
|||
|
|||
int imageW = outImage.getWidth(); |
|||
int imageH = outImage.getHeight(); |
|||
Graphics2D g = outImage.createGraphics(); |
|||
g.drawImage(image, 0, 0, imageW, imageH, null); |
|||
g.setColor(QRCOLOR); |
|||
g.setFont(new Font("Noto Sans SC Light", Font.BOLD, FONTSIZE)); |
|||
g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); |
|||
g.setBackground(Color.white); |
|||
// 获取文字数量 按照字节展示
|
|||
int size = pressText.getBytes("GBK").length; |
|||
// 获取一行最多能容纳多少文字 按照文字字节展示
|
|||
int maxSize = (WIDTH / FONTSIZE - 2) * 2; |
|||
if (size > maxSize) { |
|||
int v = size % maxSize; |
|||
for (int a = 0; a < (size / maxSize); a++) { |
|||
String s = outStringByByte(pressText, maxSize); |
|||
g.drawString(s, (WIDTH - (FONTSIZE * (WIDTH / FONTSIZE - 2))) / 2, startY); |
|||
pressText = pressText.substring(s.length(), pressText.length()); |
|||
startY = startY + 35; |
|||
} |
|||
if (v != 0) { |
|||
g.drawString(pressText, (WIDTH - (FONTSIZE * v)) / 2, startY); |
|||
} |
|||
} else { |
|||
g.drawString(pressText, (WIDTH - ((pressText.getBytes("GBK").length) / 2) * FONTSIZE) / 2, startY); |
|||
} |
|||
|
|||
g.dispose(); |
|||
return outImage; |
|||
} |
|||
|
|||
|
|||
|
|||
/** |
|||
* 保存二维码图片到本地 |
|||
* |
|||
* @param contents |
|||
* @throws Exception |
|||
*/ |
|||
public static void createImg(String pressText, String contents, String filename, String filePath) throws Exception { |
|||
BufferedImage qRImageWithLogo = drawHouseQRImage(pressText, contents); |
|||
// 写入返回
|
|||
ByteArrayOutputStream baos = new ByteArrayOutputStream(); |
|||
ImageIO.write(qRImageWithLogo, "jpg", baos); |
|||
//图片类型
|
|||
String imageType = "jpg"; |
|||
//生成二维码存放文件
|
|||
File file = new File(filePath + filename + ".jpg"); |
|||
if (!file.exists()) { |
|||
file.mkdirs(); |
|||
} |
|||
ImageIO.write(qRImageWithLogo, imageType, file); |
|||
baos.close(); |
|||
} |
|||
|
|||
|
|||
private static String outStringByByte(String str, int len) throws IOException { |
|||
byte[] btf = str.getBytes("GBK"); |
|||
int count = 0; |
|||
|
|||
for (int j = len - 1; j >= 0; j--) { |
|||
if (btf[j] < 0) { |
|||
count++; |
|||
} else { |
|||
break; |
|||
} |
|||
} |
|||
|
|||
if (count % 2 == 0) { |
|||
return new String(btf, 0, len, "GBK"); |
|||
} else { |
|||
return new String(btf, 0, len - 1, "GBK"); |
|||
} |
|||
} |
|||
|
|||
} |
|||
|
|||
@ -0,0 +1,132 @@ |
|||
package com.epmet.commons.tools.utils; |
|||
|
|||
import com.epmet.commons.tools.enums.GenderEnum; |
|||
import org.apache.commons.lang3.StringUtils; |
|||
|
|||
import java.text.SimpleDateFormat; |
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* @Description |
|||
* @Author zhaoqifeng |
|||
* @Date 2022/6/13 17:53 |
|||
*/ |
|||
public class IDCardUtil { |
|||
/** |
|||
* 15位身份证号 |
|||
*/ |
|||
private static final Integer FIFTEEN_ID_CARD=15; |
|||
/** |
|||
* 18位身份证号 |
|||
*/ |
|||
private static final Integer EIGHTEEN_ID_CARD=18; |
|||
private static final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); |
|||
|
|||
/** |
|||
* 根据身份证号获取性别 |
|||
* @param idCard |
|||
* @return |
|||
*/ |
|||
public static String getSex(String idCard){ |
|||
String sex =""; |
|||
if (StringUtils.isNotBlank(idCard)){ |
|||
//15位身份证号
|
|||
if (idCard.length() == FIFTEEN_ID_CARD){ |
|||
if (Integer.parseInt(idCard.substring(14, 15)) % 2 == 0) { |
|||
sex = GenderEnum.WOMAN.getCode(); |
|||
} else { |
|||
sex = GenderEnum.MAN.getCode(); |
|||
} |
|||
//18位身份证号
|
|||
}else if(idCard.length() == EIGHTEEN_ID_CARD){ |
|||
// 判断性别
|
|||
if (Integer.parseInt(idCard.substring(16).substring(0, 1)) % 2 == 0) { |
|||
sex = GenderEnum.WOMAN.getCode(); |
|||
} else { |
|||
sex = GenderEnum.MAN.getCode(); |
|||
} |
|||
} |
|||
} |
|||
return sex; |
|||
} |
|||
|
|||
/** |
|||
* 根据身份证号获取年龄 |
|||
* @param idCard |
|||
* @return |
|||
*/ |
|||
public static Integer getAge(String idCard){ |
|||
int age = 0; |
|||
Date date = new Date(); |
|||
if (StringUtils.isNotBlank(idCard)){ |
|||
//15位身份证号
|
|||
if (idCard.length() == FIFTEEN_ID_CARD){ |
|||
// 身份证上的年份(15位身份证为1980年前的)
|
|||
String uyear = "19" + idCard.substring(6, 8); |
|||
// 身份证上的月份
|
|||
String uyue = idCard.substring(8, 10); |
|||
// 当前年份
|
|||
String fyear = format.format(date).substring(0, 4); |
|||
// 当前月份
|
|||
String fyue = format.format(date).substring(5, 7); |
|||
if (Integer.parseInt(uyue) <= Integer.parseInt(fyue)) { |
|||
age = Integer.parseInt(fyear) - Integer.parseInt(uyear) + 1; |
|||
// 当前用户还没过生
|
|||
} else { |
|||
age = Integer.parseInt(fyear) - Integer.parseInt(uyear); |
|||
} |
|||
//18位身份证号
|
|||
}else if(idCard.length() == EIGHTEEN_ID_CARD){ |
|||
// 身份证上的年份
|
|||
String year = idCard.substring(6).substring(0, 4); |
|||
// 身份证上的月份
|
|||
String yue = idCard.substring(10).substring(0, 2); |
|||
// 当前年份
|
|||
String fyear = format.format(date).substring(0, 4); |
|||
// 当前月份
|
|||
String fyue = format.format(date).substring(5, 7); |
|||
// 当前月份大于用户出身的月份表示已过生日
|
|||
if (Integer.parseInt(yue) <= Integer.parseInt(fyue)) { |
|||
age = Integer.parseInt(fyear) - Integer.parseInt(year) + 1; |
|||
// 当前用户还没过生日
|
|||
} else { |
|||
age = Integer.parseInt(fyear) - Integer.parseInt(year); |
|||
} |
|||
} |
|||
} |
|||
return age; |
|||
} |
|||
|
|||
/** |
|||
* 获取出生日期 yyyy年MM月dd日 |
|||
* @param idCard |
|||
* @return |
|||
*/ |
|||
public static String getBirthday(String idCard){ |
|||
String birthday=""; |
|||
String year=""; |
|||
String month=""; |
|||
String day=""; |
|||
if (StringUtils.isNotBlank(idCard)){ |
|||
//15位身份证号
|
|||
if (idCard.length() == FIFTEEN_ID_CARD){ |
|||
// 身份证上的年份(15位身份证为1980年前的)
|
|||
year = "19" + idCard.substring(6, 8); |
|||
//身份证上的月份
|
|||
month = idCard.substring(8, 10); |
|||
//身份证上的日期
|
|||
day= idCard.substring(10, 12); |
|||
//18位身份证号
|
|||
}else if(idCard.length() == EIGHTEEN_ID_CARD){ |
|||
// 身份证上的年份
|
|||
year = idCard.substring(6).substring(0, 4); |
|||
// 身份证上的月份
|
|||
month = idCard.substring(10).substring(0, 2); |
|||
//身份证上的日期
|
|||
day=idCard.substring(12).substring(0,2); |
|||
} |
|||
birthday=year+"-"+month+"-"+day; |
|||
} |
|||
return birthday; |
|||
} |
|||
} |
|||
@ -0,0 +1,45 @@ |
|||
package com.epmet.commons.tools.utils; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
public class NodeTree<T> implements Serializable { |
|||
private static final long serialVersionUID = 8020505121785861117L; |
|||
/** |
|||
* 主键 |
|||
*/ |
|||
private String id; |
|||
/** |
|||
* 上级ID |
|||
*/ |
|||
private String pid; |
|||
/** |
|||
* 子节点列表 |
|||
*/ |
|||
private List<T> children = new ArrayList<>(); |
|||
|
|||
public String getId() { |
|||
return id; |
|||
} |
|||
|
|||
public void setId(String id) { |
|||
this.id = id; |
|||
} |
|||
|
|||
public String getPid() { |
|||
return pid; |
|||
} |
|||
|
|||
public void setPid(String pid) { |
|||
this.pid = pid; |
|||
} |
|||
|
|||
public List<T> getChildren() { |
|||
return children; |
|||
} |
|||
|
|||
public void setChildren(List<T> children) { |
|||
this.children = children; |
|||
} |
|||
} |
|||
@ -0,0 +1,31 @@ |
|||
package com.epmet.commons.tools.utils; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.LinkedHashMap; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
public class NodeTreeUtils { |
|||
|
|||
public static <T extends NodeTree> List<T> build(List<T> treeNodes) { |
|||
List<T> result = new ArrayList<>(); |
|||
|
|||
//list转map
|
|||
Map<String, T> nodeMap = new LinkedHashMap<>(treeNodes.size()); |
|||
for(T treeNode : treeNodes){ |
|||
nodeMap.put(treeNode.getId(), treeNode); |
|||
} |
|||
|
|||
for(T node : nodeMap.values()) { |
|||
T parent = nodeMap.get(node.getPid()); |
|||
if(parent != null && !(node.getId().equals(parent.getId()))){ |
|||
parent.getChildren().add(node); |
|||
continue; |
|||
} |
|||
|
|||
result.add(node); |
|||
} |
|||
|
|||
return result; |
|||
} |
|||
} |
|||
@ -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,149 @@ |
|||
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-06-01 |
|||
*/ |
|||
@Data |
|||
public class FactNeighborhoodUserHouseDailyDTO 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; |
|||
|
|||
/** |
|||
* 小区ID |
|||
*/ |
|||
private String neighbourhoodsId; |
|||
|
|||
/** |
|||
* 小区名称 |
|||
*/ |
|||
private String neighborHoodName; |
|||
|
|||
/** |
|||
* 小区总数 |
|||
*/ |
|||
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,169 @@ |
|||
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; |
|||
|
|||
/** |
|||
* 小区ID |
|||
*/ |
|||
private String neighbourhoodsId; |
|||
|
|||
/** |
|||
* 小区名称 |
|||
*/ |
|||
private String neighborHoodName; |
|||
|
|||
/** |
|||
* 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,103 @@ |
|||
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 wgf |
|||
* @date 2022/5/31 9:48 |
|||
*/ |
|||
@PostMapping("userHouseStatNeighborhood") |
|||
public Result userHouseStatNeighborhood(@RequestBody FactUserHouseFormDTO formDTO) { |
|||
factUserHouseService.statNeighborhood(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,28 @@ |
|||
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> houseStatNew(FactUserHouseFormDTO formDTO); |
|||
|
|||
List<FactUserHouseResultDTO> neighborhoodStatStat(FactUserHouseFormDTO formDTO); |
|||
|
|||
List<FactUserHouseResultDTO> neighborhoodStatStatNew(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,27 @@ |
|||
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.FactNeighborhoodUserHouseDailyEntity; |
|||
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-06-01 |
|||
*/ |
|||
@Mapper |
|||
public interface FactNeighborhoodUserHouseDailyDao extends BaseDao<FactNeighborhoodUserHouseDailyEntity> { |
|||
|
|||
void deleteByDateId(FactUserHouseFormDTO formDTO); |
|||
|
|||
List<FactUserHouseResultDTO> listPage(Map<String, Object> params); |
|||
|
|||
List<FactUserHouseResultDTO> getTotal(Map<String, Object> params); |
|||
|
|||
} |
|||
@ -0,0 +1,42 @@ |
|||
/** |
|||
* 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); |
|||
|
|||
List<FactUserHouseResultDTO> userStatNew(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,119 @@ |
|||
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-06-01 |
|||
*/ |
|||
@Data |
|||
@EqualsAndHashCode(callSuper=false) |
|||
@TableName("fact_neighborhood_user_house_daily") |
|||
public class FactNeighborhoodUserHouseDailyEntity 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; |
|||
|
|||
/** |
|||
* 小区ID |
|||
*/ |
|||
private String neighbourhoodsId; |
|||
|
|||
/** |
|||
* 小区名称 |
|||
*/ |
|||
private String neighborHoodName; |
|||
|
|||
/** |
|||
* 房屋总数 |
|||
*/ |
|||
private Integer houseCount; |
|||
|
|||
/** |
|||
* 小区总数 |
|||
*/ |
|||
private Integer neighbourhoodsCount; |
|||
|
|||
/** |
|||
* 自住房屋总数 |
|||
*/ |
|||
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,73 @@ |
|||
/** |
|||
* 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 wgf |
|||
* @date 2022/5/30 13:33 |
|||
*/ |
|||
List<FactUserHouseResultDTO> houseStatNew(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); |
|||
|
|||
/** |
|||
* 小区统计(小区) |
|||
* |
|||
* @param formDTO |
|||
* @return java.util.List<com.epmet.dto.stats.result.FactUserHouseResultDTO> |
|||
* @author wgf |
|||
* @date 2022/5/30 13:33 |
|||
*/ |
|||
List<FactUserHouseResultDTO> neighborhoodStatNew(FactUserHouseFormDTO formDTO); |
|||
|
|||
} |
|||
@ -0,0 +1,42 @@ |
|||
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> houseStatNew(FactUserHouseFormDTO formDTO) { |
|||
return baseDao.houseStatNew(formDTO); |
|||
} |
|||
|
|||
@Override |
|||
public List<FactUserHouseResultDTO> neighborhoodStat(FactUserHouseFormDTO formDTO) { |
|||
return baseDao.neighborhoodStatStat(formDTO); |
|||
} |
|||
|
|||
@Override |
|||
public List<FactUserHouseResultDTO> neighborhoodStatNew(FactUserHouseFormDTO formDTO) { |
|||
return baseDao.neighborhoodStatStatNew(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,113 @@ |
|||
package com.epmet.service.stats; |
|||
|
|||
import com.epmet.commons.mybatis.service.BaseService; |
|||
import com.epmet.commons.tools.page.PageData; |
|||
import com.epmet.dto.stats.FactNeighborhoodUserHouseDailyDTO; |
|||
import com.epmet.dto.stats.form.FactUserHouseFormDTO; |
|||
import com.epmet.dto.stats.result.FactUserHouseResultDTO; |
|||
import com.epmet.entity.stats.FactNeighborhoodUserHouseDailyEntity; |
|||
|
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
/** |
|||
* 网格的人房信息统计数,按天统计 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2022-06-01 |
|||
*/ |
|||
public interface FactNeighborhoodUserHouseDailyService extends BaseService<FactNeighborhoodUserHouseDailyEntity> { |
|||
|
|||
/** |
|||
* 默认分页 |
|||
* |
|||
* @param params |
|||
* @return PageData<FactNeighborhoodUserHouseDailyDTO> |
|||
* @author generator |
|||
* @date 2022-06-01 |
|||
*/ |
|||
PageData<FactUserHouseResultDTO> page(Map<String, Object> params); |
|||
|
|||
/** |
|||
* 默认查询 |
|||
* |
|||
* @param params |
|||
* @return java.util.List<FactNeighborhoodUserHouseDailyDTO> |
|||
* @author generator |
|||
* @date 2022-06-01 |
|||
*/ |
|||
List<FactNeighborhoodUserHouseDailyDTO> list(Map<String, Object> params); |
|||
|
|||
/** |
|||
* 单条查询 |
|||
* |
|||
* @param id |
|||
* @return FactNeighborhoodUserHouseDailyDTO |
|||
* @author generator |
|||
* @date 2022-06-01 |
|||
*/ |
|||
FactNeighborhoodUserHouseDailyDTO get(String id); |
|||
|
|||
/** |
|||
* 默认保存 |
|||
* |
|||
* @param dto |
|||
* @return void |
|||
* @author generator |
|||
* @date 2022-06-01 |
|||
*/ |
|||
void save(FactNeighborhoodUserHouseDailyDTO dto); |
|||
|
|||
/** |
|||
* 默认更新 |
|||
* |
|||
* @param dto |
|||
* @return void |
|||
* @author generator |
|||
* @date 2022-06-01 |
|||
*/ |
|||
void update(FactNeighborhoodUserHouseDailyDTO dto); |
|||
|
|||
/** |
|||
* 批量删除 |
|||
* |
|||
* @param ids |
|||
* @return void |
|||
* @author generator |
|||
* @date 2022-06-01 |
|||
*/ |
|||
void delete(String[] ids); |
|||
|
|||
|
|||
/** |
|||
* 物理删除历史数据 |
|||
* |
|||
* @param formDTO |
|||
* @return void |
|||
* @author wgf |
|||
* @date 2022/5/30 13:32 |
|||
*/ |
|||
void deleteByDateId(FactUserHouseFormDTO formDTO); |
|||
|
|||
/** |
|||
* 查询导出数据 |
|||
* |
|||
* @param params |
|||
* @return java.util.List<FactUserHouseResultDTO> |
|||
* @author wgf |
|||
* @date 2022-05-27 |
|||
*/ |
|||
List<FactUserHouseResultDTO> listExport(Map<String, Object> params); |
|||
|
|||
/** |
|||
* 页面合计 |
|||
* |
|||
* @param params |
|||
* @return PageData<FactGridUserHouseDailyDTO> |
|||
* @author wgf |
|||
* @date 2022-05-27 |
|||
*/ |
|||
FactUserHouseResultDTO getTotal(Map<String, Object> params); |
|||
|
|||
|
|||
} |
|||
@ -0,0 +1,78 @@ |
|||
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 wgf |
|||
* @date 2022/5/30 13:31 |
|||
*/ |
|||
void statNeighborhood(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,138 @@ |
|||
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 { |
|||
Integer houseIncr = 0; |
|||
Integer houseModify = 0; |
|||
Integer userIncr = 0; |
|||
Integer userModify = 0; |
|||
for(FactUserHouseResultDTO factUserHouseResultDTO : list){ |
|||
houseIncr = houseIncr + factUserHouseResultDTO.getHouseIncr(); |
|||
houseModify = houseModify + factUserHouseResultDTO.getHouseModify(); |
|||
userIncr = userIncr + factUserHouseResultDTO.getUserIncr(); |
|||
userModify = userModify + factUserHouseResultDTO.getUserModify(); |
|||
} |
|||
FactUserHouseResultDTO dto = list.get(list.size() - 1); |
|||
dto.setHouseIncr(houseIncr); |
|||
dto.setHouseModify(houseModify); |
|||
dto.setUserIncr(userIncr); |
|||
dto.setUserModify(userModify); |
|||
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,129 @@ |
|||
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.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.commons.tools.constant.FieldConstant; |
|||
import com.epmet.commons.tools.utils.DateUtils; |
|||
import com.epmet.dao.stats.FactNeighborhoodUserHouseDailyDao; |
|||
import com.epmet.dto.stats.FactNeighborhoodUserHouseDailyDTO; |
|||
import com.epmet.dto.stats.form.FactUserHouseFormDTO; |
|||
import com.epmet.dto.stats.result.FactUserHouseResultDTO; |
|||
import com.epmet.entity.stats.FactGridUserHouseDailyEntity; |
|||
import com.epmet.entity.stats.FactNeighborhoodUserHouseDailyEntity; |
|||
import com.epmet.service.stats.FactNeighborhoodUserHouseDailyService; |
|||
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.*; |
|||
|
|||
/** |
|||
* 网格的人房信息统计数,按天统计 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2022-06-01 |
|||
*/ |
|||
@Service |
|||
public class FactNeighborhoodUserHouseDailyServiceImpl extends BaseServiceImpl<FactNeighborhoodUserHouseDailyDao, FactNeighborhoodUserHouseDailyEntity> implements FactNeighborhoodUserHouseDailyService { |
|||
|
|||
@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 List<FactNeighborhoodUserHouseDailyDTO> list(Map<String, Object> params) { |
|||
List<FactNeighborhoodUserHouseDailyEntity> entityList = baseDao.selectList(getWrapper(params)); |
|||
|
|||
return ConvertUtils.sourceToTarget(entityList, FactNeighborhoodUserHouseDailyDTO.class); |
|||
} |
|||
|
|||
private QueryWrapper<FactNeighborhoodUserHouseDailyEntity> getWrapper(Map<String, Object> params){ |
|||
String id = (String)params.get(FieldConstant.ID_HUMP); |
|||
|
|||
QueryWrapper<FactNeighborhoodUserHouseDailyEntity> wrapper = new QueryWrapper<>(); |
|||
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); |
|||
|
|||
return wrapper; |
|||
} |
|||
|
|||
@Override |
|||
public FactNeighborhoodUserHouseDailyDTO get(String id) { |
|||
FactNeighborhoodUserHouseDailyEntity entity = baseDao.selectById(id); |
|||
return ConvertUtils.sourceToTarget(entity, FactNeighborhoodUserHouseDailyDTO.class); |
|||
} |
|||
|
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public void save(FactNeighborhoodUserHouseDailyDTO dto) { |
|||
FactNeighborhoodUserHouseDailyEntity entity = ConvertUtils.sourceToTarget(dto, FactNeighborhoodUserHouseDailyEntity.class); |
|||
insert(entity); |
|||
} |
|||
|
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public void update(FactNeighborhoodUserHouseDailyDTO dto) { |
|||
FactNeighborhoodUserHouseDailyEntity entity = ConvertUtils.sourceToTarget(dto, FactNeighborhoodUserHouseDailyEntity.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> listExport(Map<String, Object> params) { |
|||
return baseDao.listPage(params); |
|||
} |
|||
|
|||
@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 { |
|||
Integer houseIncr = 0; |
|||
Integer houseModify = 0; |
|||
Integer userIncr = 0; |
|||
Integer userModify = 0; |
|||
for(FactUserHouseResultDTO factUserHouseResultDTO : list){ |
|||
houseIncr = houseIncr + factUserHouseResultDTO.getHouseIncr(); |
|||
houseModify = houseModify + factUserHouseResultDTO.getHouseModify(); |
|||
userIncr = userIncr + factUserHouseResultDTO.getUserIncr(); |
|||
userModify = userModify + factUserHouseResultDTO.getUserModify(); |
|||
} |
|||
FactUserHouseResultDTO dto = list.get(list.size() - 1); |
|||
dto.setHouseIncr(houseIncr); |
|||
dto.setHouseModify(houseModify); |
|||
dto.setUserIncr(userIncr); |
|||
dto.setUserModify(userModify); |
|||
return dto; |
|||
} |
|||
} |
|||
|
|||
} |
|||
@ -0,0 +1,307 @@ |
|||
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.entity.stats.FactNeighborhoodUserHouseDailyEntity; |
|||
import com.epmet.service.org.HouseService; |
|||
import com.epmet.service.stats.*; |
|||
import com.epmet.service.user.IcResiUserService; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
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 |
|||
@Slf4j |
|||
public class FactUserHouseServiceImpl implements FactUserHouseService { |
|||
|
|||
@Autowired |
|||
private FactAgencyUserHouseDailyService factAgencyUserHouseDailyService; |
|||
|
|||
@Autowired |
|||
private FactGridUserHouseDailyService factGridUserHouseDailyService; |
|||
|
|||
@Autowired |
|||
private FactNeighborhoodUserHouseDailyService factNeighborhoodUserHouseDailyService; |
|||
|
|||
@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("neighborhood".equals(params.get("level").toString()) || OrgLevelEnum.GRID.getCode().equals(params.get("level").toString())){ |
|||
page = factNeighborhoodUserHouseDailyService.page(params); |
|||
|
|||
}else if (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("neighborhood".equals(params.get("level").toString())){ |
|||
dto = factNeighborhoodUserHouseDailyService.getTotal(params); |
|||
}else 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("neighborhood".equals(params.get("level").toString()) || OrgLevelEnum.GRID.getCode().equals(params.get("level").toString())){ |
|||
list = factNeighborhoodUserHouseDailyService.listExport(params); |
|||
}else if (OrgLevelEnum.COMMUNITY.getCode().equals(params.get("level").toString())) { |
|||
list = factGridUserHouseDailyService.listExport(params); |
|||
} else { |
|||
list = factAgencyUserHouseDailyService.listExport(params); |
|||
} |
|||
} |
|||
FactUserHouseResultDTO dto = total(params); |
|||
if (dto != null) { |
|||
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()); |
|||
dto.setHouseIncr(houseOptional.get().getHouseIncr()); |
|||
dto.setHouseModify(houseOptional.get().getHouseModify()); |
|||
} else { |
|||
dto.setHouseCount(NumConstant.ZERO); |
|||
dto.setHouseSelfCount(NumConstant.ZERO); |
|||
dto.setHouseLeaseCount(NumConstant.ZERO); |
|||
dto.setHouseIdleCount(NumConstant.ZERO); |
|||
dto.setHouseIncr(NumConstant.ZERO); |
|||
dto.setHouseModify(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()); |
|||
dto.setUserIncr(userOptional.get().getUserIncr()); |
|||
dto.setUserModify(userOptional.get().getUserModify()); |
|||
} else { |
|||
dto.setUserCount(NumConstant.ZERO); |
|||
dto.setUserResiCount(NumConstant.ZERO); |
|||
dto.setUserFloatCount(NumConstant.ZERO); |
|||
dto.setUserIncr(NumConstant.ZERO); |
|||
dto.setUserModify(NumConstant.ZERO); |
|||
} |
|||
addList.add(dto); |
|||
}); |
|||
|
|||
List<FactGridUserHouseDailyEntity> entityList = ConvertUtils.sourceToTarget(addList, FactGridUserHouseDailyEntity.class); |
|||
factGridUserHouseDailyService.insertBatch(entityList); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 小区 |
|||
* @author wgf |
|||
* @param formDTO |
|||
*/ |
|||
@Override |
|||
public void statNeighborhood(FactUserHouseFormDTO formDTO) { |
|||
log.info("$$$进入业务逻辑"); |
|||
if (StringUtils.isBlank(formDTO.getDateId())) { |
|||
formDTO.setDateId(DateUtils.getBeforeNDay(NumConstant.ONE)); |
|||
} |
|||
String dateId = formDTO.getDateId(); |
|||
String customerId = formDTO.getCustomerId(); |
|||
|
|||
// 先删除历史
|
|||
factNeighborhoodUserHouseDailyService.deleteByDateId(formDTO); |
|||
log.info("$$$删除历史完成"); |
|||
// 保证小区是全部网格后,其余数据进行循环匹配
|
|||
List<FactUserHouseResultDTO> neiList = houseService.neighborhoodStatNew(formDTO); |
|||
List<FactUserHouseResultDTO> houseList = houseService.houseStatNew(formDTO); |
|||
List<FactUserHouseResultDTO> userList = icResiUserService.userStatNew(formDTO); |
|||
|
|||
List<FactUserHouseResultDTO> addList = new ArrayList<>(); |
|||
|
|||
neiList.forEach(item -> { |
|||
String gridId = item.getGridId() == null ? "" : item.getGridId(); |
|||
String neighborHoodsId = item.getNeighbourhoodsId(); |
|||
FactUserHouseResultDTO dto = new FactUserHouseResultDTO(); |
|||
dto.setCustomerId(formDTO.getCustomerId()); |
|||
dto.setDateId(dateId); |
|||
dto.setGridId(gridId); |
|||
dto.setPid(item.getPid() == null ? "" : item.getPid()); |
|||
dto.setPids(item.getPids() == null ? "" : item.getPids()); |
|||
dto.setNeighbourhoodsCount(item.getNeighbourhoodsCount()); |
|||
dto.setNeighbourhoodsId(item.getNeighbourhoodsId()); |
|||
dto.setNeighborHoodName(item.getNeighborHoodName()); |
|||
|
|||
Optional<FactUserHouseResultDTO> houseOptional = houseList.stream().filter(house -> neighborHoodsId.equals(house.getNeighbourhoodsId()) && 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 -> neighborHoodsId.equals(user.getNeighbourhoodsId()) && 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); |
|||
}); |
|||
log.info("$$$addList:::::" + addList); |
|||
List<FactNeighborhoodUserHouseDailyEntity> entityList = ConvertUtils.sourceToTarget(addList, FactNeighborhoodUserHouseDailyEntity.class); |
|||
factNeighborhoodUserHouseDailyService.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,55 @@ |
|||
/** |
|||
* 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); |
|||
|
|||
/** |
|||
* 居民统计(小区) |
|||
* |
|||
* @param formDTO |
|||
* @return java.util.List<com.epmet.dto.stats.result.FactUserHouseResultDTO> |
|||
* @author wgf |
|||
* @date 2022/5/30 13:33 |
|||
*/ |
|||
List<FactUserHouseResultDTO> userStatNew(FactUserHouseFormDTO formDTO); |
|||
|
|||
} |
|||
@ -0,0 +1,55 @@ |
|||
/** |
|||
* 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); |
|||
} |
|||
|
|||
@Override |
|||
public List<FactUserHouseResultDTO> userStatNew(FactUserHouseFormDTO formDTO) { |
|||
return baseDao.userStatNew(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,124 @@ |
|||
<?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, |
|||
sum( CASE WHEN (t.id IS NOT NULL and DATE_FORMAT(t.CREATED_TIME,'%Y-%m-%d') = DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 DAY ),'%Y-%m-%d')) THEN 1 ELSE 0 END ) AS houseIncr, |
|||
sum( CASE WHEN (t.id IS NOT NULL and t.CREATED_TIME != t.UPDATED_TIME and DATE_FORMAT(t.UPDATED_TIME,'%Y-%m-%d') = DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 DAY ),'%Y-%m-%d')) THEN 1 ELSE 0 END ) AS houseModify |
|||
FROM |
|||
customer_grid g |
|||
LEFT JOIN ( |
|||
SELECT |
|||
h.id, |
|||
h.RENT_FLAG, |
|||
n.GRID_ID, |
|||
h.CREATED_TIME, |
|||
h.UPDATED_TIME |
|||
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="houseStatNew" resultType="com.epmet.dto.stats.result.FactUserHouseResultDTO"> |
|||
SELECT |
|||
t.NEIGHBOR_HOOD_ID as NEIGHBOURHOODS_ID, |
|||
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, |
|||
sum( CASE WHEN (t.id IS NOT NULL and DATE_FORMAT(t.CREATED_TIME,'%Y-%m-%d') = DATE_FORMAT(now(),'%Y-%m-%d')) THEN 1 ELSE 0 END ) AS houseIncr, |
|||
sum( CASE WHEN (t.id IS NOT NULL and t.CREATED_TIME != t.UPDATED_TIME and DATE_FORMAT(t.UPDATED_TIME,'%Y-%m-%d') = DATE_FORMAT(now(),'%Y-%m-%d')) THEN 1 ELSE 0 END ) AS houseModify |
|||
FROM ( |
|||
SELECT |
|||
h.id, |
|||
h.RENT_FLAG, |
|||
n.GRID_ID, |
|||
h.CREATED_TIME, |
|||
h.UPDATED_TIME, |
|||
h.NEIGHBOR_HOOD_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 |
|||
left join customer_grid g on g.id = t.GRID_ID and g.DEL_FLAG = '0' |
|||
WHERE 1=1 |
|||
<if test='customerId != "" and customerId != null '> |
|||
AND g.CUSTOMER_ID = #{customerId} |
|||
</if> |
|||
GROUP BY |
|||
g.CUSTOMER_ID,t.NEIGHBOR_HOOD_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> |
|||
|
|||
<select id="neighborhoodStatStatNew" resultType="com.epmet.dto.stats.result.FactUserHouseResultDTO"> |
|||
SELECT |
|||
n.ID as NEIGHBOURHOODS_ID, |
|||
n.NEIGHBOR_HOOD_NAME, |
|||
n.CUSTOMER_ID, |
|||
g.id AS GRID_ID, |
|||
g.PID, |
|||
g.PIDS, |
|||
1 AS neighbourhoodsCount |
|||
FROM |
|||
ic_neighbor_hood n |
|||
LEFT JOIN customer_grid g ON n.GRID_ID = g.id and g.DEL_FLAG = '0' |
|||
AND n.CREATED_TIME < DATE_ADD( DATE_FORMAT(#{dateId},'%Y-%m-%d'), INTERVAL 1 DAY ) |
|||
WHERE n.DEL_FLAG = '0' |
|||
<if test='customerId != "" and customerId != null '> |
|||
AND n.CUSTOMER_ID = #{customerId} |
|||
</if> |
|||
GROUP BY |
|||
n.CUSTOMER_ID,n.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,127 @@ |
|||
<?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.FactNeighborhoodUserHouseDailyDao"> |
|||
|
|||
<resultMap type="com.epmet.entity.stats.FactNeighborhoodUserHouseDailyEntity" id="factNeighborhoodUserHouseDailyMap"> |
|||
<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="neighbourhoodsId" column="NEIGHBOURHOODS_ID"/> |
|||
<result property="neighborHoodName" column="NEIGHBOR_HOOD_NAME"/> |
|||
<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> |
|||
|
|||
<delete id="deleteByDateId"> |
|||
DELETE |
|||
FROM |
|||
fact_neighborhood_user_house_daily |
|||
WHERE |
|||
DATE_ID = #{dateId} |
|||
AND CUSTOMER_ID = #{customerId} |
|||
</delete> |
|||
|
|||
<select id="listPage" resultType="com.epmet.dto.stats.result.FactUserHouseResultDTO"> |
|||
SELECT |
|||
d.NEIGHBOR_HOOD_NAME AS AGENCY_NAME, |
|||
d.NEIGHBOURHOODS_ID, |
|||
d.NEIGHBOR_HOOD_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_neighborhood_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 == 'neighborhood'"> |
|||
AND d.NEIGHBOURHOODS_ID = #{agencyId} |
|||
</if> |
|||
<if test="level == 'grid'"> |
|||
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.NEIGHBOURHOODS_ID |
|||
</select> |
|||
|
|||
<select id="getTotal" resultType="com.epmet.dto.stats.result.FactUserHouseResultDTO"> |
|||
SELECT |
|||
d.NEIGHBOR_HOOD_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_neighborhood_user_house_daily d |
|||
WHERE d.DEL_FLAG = '0' |
|||
<if test="customerId != null and customerId != ''"> |
|||
AND d.CUSTOMER_ID = #{customerId} |
|||
</if> |
|||
<if test="agencyId != null and agencyId != ''"> |
|||
AND d.NEIGHBOURHOODS_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> |
|||
|
|||
|
|||
</mapper> |
|||
@ -0,0 +1,47 @@ |
|||
<?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, |
|||
sum( CASE WHEN (id IS NOT NULL and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') = DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 DAY ),'%Y-%m-%d')) THEN 1 ELSE 0 END ) AS userIncr, |
|||
sum( CASE WHEN (id IS NOT NULL and CREATED_TIME != UPDATED_TIME and DATE_FORMAT(UPDATED_TIME,'%Y-%m-%d') = DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 DAY ),'%Y-%m-%d')) THEN 1 ELSE 0 END ) AS userModify |
|||
FROM |
|||
ic_resi_user |
|||
WHERE |
|||
del_flag = '0' |
|||
AND STATUS = '0' |
|||
AND CREATED_TIME <= DATE_ADD( DATE_FORMAT(#{dateId},'%Y-%m-%d'), INTERVAL 1 DAY ) |
|||
GROUP BY |
|||
CUSTOMER_ID, |
|||
GRID_ID |
|||
</select> |
|||
|
|||
<select id="userStatNew" resultType="com.epmet.dto.stats.result.FactUserHouseResultDTO"> |
|||
SELECT |
|||
CUSTOMER_ID, |
|||
GRID_ID, |
|||
VILLAGE_ID as NEIGHBOURHOODS_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, |
|||
sum( CASE WHEN (id IS NOT NULL and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') = DATE_FORMAT(now(),'%Y-%m-%d')) THEN 1 ELSE 0 END ) AS userIncr, |
|||
sum( CASE WHEN (id IS NOT NULL and CREATED_TIME != UPDATED_TIME and DATE_FORMAT(UPDATED_TIME,'%Y-%m-%d') = DATE_FORMAT(now(),'%Y-%m-%d')) THEN 1 ELSE 0 END ) AS userModify |
|||
FROM |
|||
ic_resi_user |
|||
WHERE |
|||
del_flag = '0' |
|||
AND STATUS = '0' |
|||
AND CREATED_TIME <= DATE_ADD( DATE_FORMAT(#{dateId},'%Y-%m-%d'), INTERVAL 1 DAY ) |
|||
GROUP BY |
|||
CUSTOMER_ID, |
|||
VILLAGE_ID |
|||
</select> |
|||
|
|||
</mapper> |
|||
@ -0,0 +1,115 @@ |
|||
package com.epmet.dto; |
|||
|
|||
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 IcServiceOrgDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* ID |
|||
*/ |
|||
private String id; |
|||
|
|||
/** |
|||
* 客户Id |
|||
*/ |
|||
private String customerId; |
|||
|
|||
/** |
|||
* 所属组织机构Id |
|||
*/ |
|||
private String agencyId; |
|||
|
|||
/** |
|||
* agencyId的所有上级,包含自己 |
|||
*/ |
|||
private String agencyIdPath; |
|||
|
|||
/** |
|||
* 服务类别【字典表 ic_service_type】多个值逗号分隔 |
|||
*/ |
|||
private String serviceType; |
|||
|
|||
/** |
|||
* 服务组织名称 |
|||
*/ |
|||
private String orgName; |
|||
|
|||
/** |
|||
* 组织描述 |
|||
*/ |
|||
private String orgDescribe; |
|||
|
|||
/** |
|||
* 负责人姓名 |
|||
*/ |
|||
private String principalName; |
|||
|
|||
/** |
|||
* 负责人电话 |
|||
*/ |
|||
private String principalMobile; |
|||
|
|||
/** |
|||
* 经度 |
|||
*/ |
|||
private String longitude; |
|||
|
|||
/** |
|||
* 纬度 |
|||
*/ |
|||
private String latitude; |
|||
|
|||
/** |
|||
* 地址 |
|||
*/ |
|||
private String address; |
|||
|
|||
/** |
|||
* 备注 |
|||
*/ |
|||
private String remark; |
|||
|
|||
/** |
|||
* 删除标识 |
|||
*/ |
|||
private String delFlag; |
|||
|
|||
/** |
|||
* 乐观锁 |
|||
*/ |
|||
private Integer revision; |
|||
|
|||
/** |
|||
* 创建人 |
|||
*/ |
|||
private String createdBy; |
|||
|
|||
/** |
|||
* 创建时间 |
|||
*/ |
|||
private Date createdTime; |
|||
|
|||
/** |
|||
* 更新人 |
|||
*/ |
|||
private String updatedBy; |
|||
|
|||
/** |
|||
* 更新时间 |
|||
*/ |
|||
private Date updatedTime; |
|||
|
|||
} |
|||
@ -0,0 +1,116 @@ |
|||
package com.epmet.dto; |
|||
|
|||
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 IcServiceProjectAttachmentDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 主键 |
|||
*/ |
|||
private String id; |
|||
|
|||
/** |
|||
* 客户ID |
|||
*/ |
|||
private String customerId; |
|||
|
|||
/** |
|||
* 事件Id |
|||
*/ |
|||
private String icServiceId; |
|||
|
|||
private String attachTo; |
|||
|
|||
/** |
|||
* 附件名 |
|||
*/ |
|||
private String attachmentName; |
|||
private String name; |
|||
|
|||
/** |
|||
* 文件格式(JPG、PNG、PDF、JPEG、BMP、MP4、WMA、M4A、MP3、DOC、DOCX、XLS) |
|||
*/ |
|||
private String attachmentFormat; |
|||
private String format; |
|||
|
|||
/** |
|||
* 附件类型((图片 - image、 视频 - video、 语音 - voice、 文档 - doc)) |
|||
*/ |
|||
private String attachmentType; |
|||
private String type; |
|||
|
|||
/** |
|||
* 附件地址 |
|||
*/ |
|||
private String attachmentUrl; |
|||
private String url; |
|||
|
|||
/** |
|||
* 排序字段 |
|||
*/ |
|||
private Integer sort; |
|||
|
|||
/** |
|||
* 附件状态(审核中:auditing; |
|||
auto_passed: 自动通过; |
|||
review:结果不确定,需要人工审核; |
|||
block: 结果违规; |
|||
rejected:人工审核驳回; |
|||
approved:人工审核通过) |
|||
现在图片是同步审核的,所以图片只有auto_passed一种状态 |
|||
*/ |
|||
private String status; |
|||
|
|||
/** |
|||
* 失败原因 |
|||
*/ |
|||
private String reason; |
|||
|
|||
/** |
|||
* 语音或视频时长,秒 |
|||
*/ |
|||
private Integer duration; |
|||
|
|||
/** |
|||
* 删除标记 0:未删除,1:已删除 |
|||
*/ |
|||
private String delFlag; |
|||
|
|||
/** |
|||
* 乐观锁 |
|||
*/ |
|||
private Integer revision; |
|||
|
|||
/** |
|||
* 创建人 |
|||
*/ |
|||
private String createdBy; |
|||
|
|||
/** |
|||
* 创建时间 |
|||
*/ |
|||
private Date createdTime; |
|||
|
|||
/** |
|||
* 更新人 |
|||
*/ |
|||
private String updatedBy; |
|||
|
|||
/** |
|||
* 更新时间 |
|||
*/ |
|||
private Date updatedTime; |
|||
|
|||
} |
|||
@ -0,0 +1,104 @@ |
|||
package com.epmet.dto; |
|||
|
|||
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 IcServiceProjectDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* ID |
|||
*/ |
|||
private String id; |
|||
|
|||
/** |
|||
* 客户ID |
|||
*/ |
|||
private String customerId; |
|||
|
|||
/** |
|||
* 组织ID |
|||
*/ |
|||
private String agencyId; |
|||
|
|||
/** |
|||
* 组织ID的上级 |
|||
*/ |
|||
private String pid; |
|||
|
|||
/** |
|||
* 组织ID的所有上级[包括自己] |
|||
*/ |
|||
private String agencyIdPath; |
|||
|
|||
/** |
|||
* 服务类别值 |
|||
*/ |
|||
private String serviceCategoryKey; |
|||
|
|||
/** |
|||
* 服务名称 |
|||
*/ |
|||
private String serviceName; |
|||
|
|||
/** |
|||
* 服务内容 |
|||
*/ |
|||
private String serviceContent; |
|||
|
|||
/** |
|||
* 政策级别,0市级;1区级;2街道级 |
|||
*/ |
|||
private String policyLevel; |
|||
|
|||
/** |
|||
* 政策依据 |
|||
*/ |
|||
private String policyGround; |
|||
|
|||
/** |
|||
* 启用状态,0启用,1禁用 |
|||
*/ |
|||
private Integer enabled; |
|||
|
|||
/** |
|||
* |
|||
*/ |
|||
private Integer delFlag; |
|||
|
|||
/** |
|||
* 乐观锁 |
|||
*/ |
|||
private Integer revision; |
|||
|
|||
/** |
|||
* 创建人 |
|||
*/ |
|||
private String createdBy; |
|||
|
|||
/** |
|||
* 创建时间 |
|||
*/ |
|||
private Date createdTime; |
|||
|
|||
/** |
|||
* 更新人 |
|||
*/ |
|||
private String updatedBy; |
|||
|
|||
/** |
|||
* 更新时间 |
|||
*/ |
|||
private Date updatedTime; |
|||
|
|||
} |
|||
@ -0,0 +1,49 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
|
|||
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; |
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import lombok.Data; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import javax.validation.constraints.NotNull; |
|||
import java.io.Serializable; |
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* 【服务项目记录】修改 |
|||
*/ |
|||
@Data |
|||
public class IcServiceEditFormDTO implements Serializable { |
|||
public interface AddUserInternalGroup { |
|||
} |
|||
|
|||
public interface AddUserShowGroup extends CustomerClientShowGroup { |
|||
} |
|||
|
|||
@NotBlank(message = "", groups = AddUserInternalGroup.class) |
|||
private String serviceRecordId; |
|||
private String principalName; |
|||
private String principalContact; |
|||
/** |
|||
* 服务时间 |
|||
*/ |
|||
@NotNull(message = "起始服务时间不能为空", groups = AddUserShowGroup.class) |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd") |
|||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
|||
private Date serviceTimeStart; |
|||
|
|||
/** |
|||
* 服务截止时间 |
|||
*/ |
|||
@NotNull(message = "截止服务时间不能为空", groups = AddUserShowGroup.class) |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd") |
|||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
|||
private Date serviceTimeEnd; |
|||
|
|||
/** |
|||
* 备注 |
|||
*/ |
|||
private String remark; |
|||
} |
|||
@ -0,0 +1,71 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import com.epmet.commons.tools.validator.group.AddGroup; |
|||
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; |
|||
import com.epmet.commons.tools.validator.group.UpdateGroup; |
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* @Description 服务组织新增/修改 |
|||
* @Author sun |
|||
*/ |
|||
@Data |
|||
public class IcServiceOrgAddEditFormDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
public interface Del extends CustomerClientShowGroup { |
|||
} |
|||
|
|||
/** |
|||
* 服务组织Id |
|||
*/ |
|||
@NotBlank(message = "服务组织Id不能为空", groups = {UpdateGroup.class, Del.class}) |
|||
private String icServiceOrgId; |
|||
/** |
|||
* 服务类型,多个值逗号分隔,字典值,字典key:ic_service_type |
|||
*/ |
|||
@NotBlank(message = "服务类型不能为空", groups = {AddGroup.class}) |
|||
private String serviceType; |
|||
/** |
|||
* 服务组织名称 |
|||
*/ |
|||
@NotBlank(message = "服务组织名称不能为空", groups = {AddGroup.class}) |
|||
private String orgName; |
|||
/** |
|||
* 组织描述 |
|||
*/ |
|||
private String orgDescribe; |
|||
/** |
|||
* 负责人姓名 |
|||
*/ |
|||
@NotBlank(message = "负责人姓名不能为空", groups = {AddGroup.class}) |
|||
private String principalName; |
|||
/** |
|||
* 联系方式 |
|||
*/ |
|||
@NotBlank(message = "联系方式不能为空", groups = {AddGroup.class}) |
|||
private String principalMobile; |
|||
/** |
|||
* 经度 |
|||
*/ |
|||
private String longitude; |
|||
/** |
|||
* 维度 |
|||
*/ |
|||
private String latitude; |
|||
/** |
|||
* 服务地址 |
|||
*/ |
|||
private String address; |
|||
/** |
|||
* 备注信息 |
|||
*/ |
|||
private String remark; |
|||
|
|||
private String customerId; |
|||
private String userId; |
|||
|
|||
} |
|||
@ -0,0 +1,46 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* @Description 【组织】服务组织列表--接口入参 |
|||
* @Author sun |
|||
*/ |
|||
@Data |
|||
public class IcServiceOrgListFormDTO implements Serializable { |
|||
private static final long serialVersionUID = 9156247659994638103L; |
|||
|
|||
/** |
|||
* 服务类型,字典值 |
|||
*/ |
|||
private String serviceType; |
|||
/** |
|||
* 服务组织名称 |
|||
*/ |
|||
private String orgName; |
|||
/** |
|||
* 服务地址 |
|||
*/ |
|||
private String address; |
|||
/** |
|||
* 备注信息 |
|||
*/ |
|||
private String remark; |
|||
/** |
|||
* 页码 |
|||
*/ |
|||
private Integer pageNo = 1; |
|||
/** |
|||
* 每页显示数量 |
|||
*/ |
|||
private Integer pageSize = 20; |
|||
|
|||
private Boolean isPage = true; |
|||
private String icServiceOrgId; |
|||
private String customerId; |
|||
private String staffId; |
|||
private String agencyId; |
|||
|
|||
} |
|||
@ -0,0 +1,57 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import javax.validation.Valid; |
|||
import javax.validation.constraints.NotBlank; |
|||
import java.util.List; |
|||
|
|||
@Data |
|||
public class ServiceProjectFeedbackFormDTO { |
|||
|
|||
/** |
|||
* 反馈接口分组 |
|||
*/ |
|||
public interface FeedbackGroup {} |
|||
|
|||
/** |
|||
* 发起服务接口分组 |
|||
*/ |
|||
public interface InitiateGroup {} |
|||
|
|||
@NotBlank(message = "服务记录id不能为空", groups = { FeedbackGroup.class }) |
|||
private String serviceRecordId; |
|||
private String serviceProjectId; |
|||
private String serviceGoal; |
|||
private String serviceEffect; |
|||
private Integer servicePeopleNumber; |
|||
/** |
|||
* 服务状态。in_service服务中;completed:已完成 |
|||
*/ |
|||
@NotBlank(message = "服务状态不能为空", groups = { FeedbackGroup.class, InitiateGroup.class }) |
|||
private String serviceStatus; |
|||
/** |
|||
* 满意度。不满意:bad、基本满意:good、非常满意:perfect |
|||
* 按理说,服务完成的时候才可以选,不完成应该不能选,可是谁知道呢,原型也没写 |
|||
*/ |
|||
private String satisfaction; |
|||
private String longitude; |
|||
private String latitude; |
|||
private String address; |
|||
|
|||
@Valid |
|||
private List<Attachment> attachmentList; |
|||
|
|||
@Data |
|||
public static class Attachment { |
|||
|
|||
@NotBlank(message = "附件名称不能为空", groups = { FeedbackGroup.class, InitiateGroup.class }) |
|||
private String attachmentName; |
|||
@NotBlank(message = "附件格式不能为空", groups = { FeedbackGroup.class, InitiateGroup.class }) |
|||
private String attachmentFormat; |
|||
@NotBlank(message = "附件类型不能为空", groups = { FeedbackGroup.class, InitiateGroup.class }) |
|||
private String attachmentType; |
|||
@NotBlank(message = "附件url不能为空", groups = { FeedbackGroup.class, InitiateGroup.class }) |
|||
private String attachmentUrl; |
|||
} |
|||
} |
|||
@ -0,0 +1,53 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import com.epmet.dto.IcServiceProjectAttachmentDTO; |
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.io.Serializable; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @Author zxc |
|||
* @DateTime 2022/5/27 15:53 |
|||
* @DESC |
|||
*/ |
|||
@Data |
|||
public class ServiceProjectFormDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = -4573264697450644498L; |
|||
|
|||
public interface ServiceProjectAddForm{} |
|||
public interface ServiceProjectUpdateForm{} |
|||
|
|||
@NotBlank(message = "服务类别不能为空",groups = {ServiceProjectAddForm.class}) |
|||
private String serviceCategoryKey; |
|||
|
|||
@NotBlank(message = "服务名称不能为空",groups = {ServiceProjectAddForm.class,ServiceProjectUpdateForm.class}) |
|||
private String serviceName; |
|||
|
|||
@NotBlank(message = "服务内容不能为空",groups = {ServiceProjectAddForm.class,ServiceProjectUpdateForm.class}) |
|||
private String serviceContent; |
|||
|
|||
/** |
|||
* 政策依据 |
|||
*/ |
|||
private String policyGround; |
|||
|
|||
/** |
|||
* 政策级别,0市级;1区级;2街道级 |
|||
*/ |
|||
private String policyLevel; |
|||
|
|||
private String customerId; |
|||
|
|||
private String userId; |
|||
|
|||
@NotBlank(message = "serviceProjectId不能为空",groups = {ServiceProjectUpdateForm.class}) |
|||
private String serviceProjectId; |
|||
|
|||
/** |
|||
* 附件集合 |
|||
*/ |
|||
private List<IcServiceProjectAttachmentDTO> attachmentList; |
|||
} |
|||
@ -0,0 +1,32 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import com.epmet.commons.tools.dto.form.PageFormDTO; |
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* @Author zxc |
|||
* @DateTime 2022/5/27 16:42 |
|||
* @DESC |
|||
*/ |
|||
@Data |
|||
public class ServiceProjectListFormDTO extends PageFormDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = -6508966695564469253L; |
|||
|
|||
public interface ServiceProjectDetail{} |
|||
|
|||
private String serviceCategoryKey; |
|||
private String serviceName; |
|||
private String serviceContent; |
|||
private String policyGround; |
|||
private String customerId; |
|||
private String userId; |
|||
private String agencyId; |
|||
|
|||
@NotBlank(message = "serviceProjectId不能为空",groups = ServiceProjectDetail.class) |
|||
private String serviceProjectId; |
|||
|
|||
} |
|||
@ -0,0 +1,66 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import com.epmet.dto.result.IcServiceScopeDTO; |
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import lombok.Data; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import javax.validation.Valid; |
|||
import javax.validation.constraints.NotBlank; |
|||
import javax.validation.constraints.NotEmpty; |
|||
import javax.validation.constraints.NotNull; |
|||
import java.util.Date; |
|||
import java.util.List; |
|||
|
|||
@Data |
|||
public class ServiceProjectRecordFormDTO { |
|||
|
|||
/** |
|||
* 发起服务 |
|||
*/ |
|||
public interface Initiate {} |
|||
|
|||
@NotBlank(message = "服务类别key不能为空", groups = { Initiate.class }) |
|||
private String serviceCategoryKey; |
|||
|
|||
@NotBlank(message = "服务项目Id不能为空", groups = { Initiate.class }) |
|||
private String serviceProjectId; |
|||
|
|||
private String serviceProjectName; |
|||
|
|||
@NotBlank(message = "服务组织Id不能为空", groups = { Initiate.class }) |
|||
private String serviceOrgId; |
|||
|
|||
private String serviceOrgName; |
|||
|
|||
@NotEmpty(message = "发布范围不能为空", groups = { Initiate.class }) |
|||
private List<IcServiceScopeDTO> serviceScope; |
|||
|
|||
@NotNull(message = "服务起始时间不能为空", groups = { Initiate.class }) |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
|||
private Date serviceTimeStart; |
|||
|
|||
@NotNull(message = "服务结束时间不能为空", groups = { Initiate.class }) |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
|||
private Date serviceTimeEnd; |
|||
private String serviceStatus; |
|||
private String satisfaction; |
|||
|
|||
private String principalName; |
|||
|
|||
private String principalContact; |
|||
|
|||
/** |
|||
* 备注 |
|||
*/ |
|||
private String remark; |
|||
|
|||
@Valid |
|||
private ServiceProjectFeedbackFormDTO feedback; |
|||
|
|||
private Integer pageNo = 1; |
|||
private Integer pageSize = 20; |
|||
|
|||
} |
|||
@ -0,0 +1,64 @@ |
|||
package com.epmet.dto.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 服务记录反馈 |
|||
*/ |
|||
@Data |
|||
public class IcServiceFeedbackResDTO implements Serializable { |
|||
|
|||
/** |
|||
* 反馈记录id |
|||
*/ |
|||
private String feedBackId; |
|||
|
|||
/** |
|||
* 服务目标 |
|||
*/ |
|||
private String serviceGoal; |
|||
|
|||
/** |
|||
* 服务效果 |
|||
*/ |
|||
private String serviceEffect; |
|||
|
|||
/** |
|||
* 服务人数 |
|||
*/ |
|||
// private Integer servicePeopleNumber;
|
|||
|
|||
/** |
|||
* 满意度。满意度 - 不满意:bad、基本满意:good、非常满意:perfect |
|||
*/ |
|||
private String satisfaction; |
|||
|
|||
/** |
|||
* 地址经度 |
|||
*/ |
|||
private String longitude; |
|||
|
|||
/** |
|||
* 地址纬度 |
|||
*/ |
|||
private String latitude; |
|||
|
|||
/** |
|||
* 地址 |
|||
*/ |
|||
private String address; |
|||
|
|||
private List<IcServiceFeedbackResDTO.Attachment> attachmentList; |
|||
|
|||
@Data |
|||
public static class Attachment { |
|||
private String attachmentName; |
|||
private String attachmentFormat; |
|||
private String attachmentType; |
|||
private String attachmentUrl; |
|||
} |
|||
|
|||
} |
|||
@ -0,0 +1,81 @@ |
|||
package com.epmet.dto.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @Description 【组织】服务组织列表--接口返参 |
|||
* @Author sun |
|||
*/ |
|||
@Data |
|||
public class IcServiceOrgListResultDTO implements Serializable { |
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 服务组织Id |
|||
*/ |
|||
private String icServiceOrgId; |
|||
/** |
|||
* 组织Id |
|||
*/ |
|||
private String agencyId; |
|||
/** |
|||
* 服务类别 |
|||
*/ |
|||
private List<ServiceType> serviceTypeList; |
|||
/** |
|||
* 服务类别,多个值逗号分隔 |
|||
*/ |
|||
private String serviceType; |
|||
/** |
|||
* 服务类别,多个值顿号分隔 |
|||
*/ |
|||
private String serviceTypeName; |
|||
/** |
|||
* 服务组织名称 |
|||
*/ |
|||
private String orgName; |
|||
/** |
|||
* 组织描述 |
|||
*/ |
|||
private String orgDescribe; |
|||
/** |
|||
* 负责人名称 |
|||
*/ |
|||
private String principalName; |
|||
/** |
|||
* 负责人电话 |
|||
*/ |
|||
private String principalMobile; |
|||
/** |
|||
* 经度 |
|||
*/ |
|||
private String longitude; |
|||
/** |
|||
* 纬度 |
|||
*/ |
|||
private String latitude; |
|||
/** |
|||
* 地址 |
|||
*/ |
|||
private String address; |
|||
/** |
|||
* 备注 |
|||
*/ |
|||
private String remark; |
|||
|
|||
@Data |
|||
public static class ServiceType { |
|||
/** |
|||
* 服务类别值 |
|||
*/ |
|||
private String value; |
|||
/** |
|||
* 服务类别名 |
|||
*/ |
|||
private String name; |
|||
} |
|||
|
|||
} |
|||
@ -0,0 +1,24 @@ |
|||
package com.epmet.dto.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* @Description 【组织】服务组织列表_下拉框使用--接口返参 |
|||
* @Author sun |
|||
*/ |
|||
@Data |
|||
public class IcServiceOrgSelectListResultDTO implements Serializable { |
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 服务组织Id |
|||
*/ |
|||
private String icServiceOrgId; |
|||
/** |
|||
* 服务组织名称 |
|||
*/ |
|||
private String orgName; |
|||
|
|||
} |
|||
@ -0,0 +1,90 @@ |
|||
package com.epmet.dto.result; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.Date; |
|||
import java.util.List; |
|||
|
|||
@Data |
|||
public class IcServiceRecDetailRes implements Serializable { |
|||
|
|||
|
|||
/** |
|||
* 联系方式 |
|||
*/ |
|||
private String principalContact; |
|||
|
|||
/** |
|||
* 经办人姓名 |
|||
*/ |
|||
private String principalName; |
|||
|
|||
/** |
|||
* 备注 |
|||
*/ |
|||
private String remark; |
|||
|
|||
/** |
|||
* 服务类别ID |
|||
*/ |
|||
private String serviceCategoryKey; |
|||
|
|||
/** |
|||
* 服务类别ID |
|||
*/ |
|||
private String serviceCategoryName; |
|||
|
|||
/** |
|||
* 服务组织ID |
|||
*/ |
|||
private String serviceOrgId; |
|||
|
|||
/** |
|||
* 服务组织名称 |
|||
*/ |
|||
private String serviceOrgName; |
|||
|
|||
/** |
|||
* 服务项目ID |
|||
*/ |
|||
private String serviceProjectId; |
|||
|
|||
/** |
|||
* 服务项目名称 |
|||
*/ |
|||
private String serviceProjectName; |
|||
|
|||
/** |
|||
* 服务时间 |
|||
*/ |
|||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
|||
private Date serviceTimeStart; |
|||
|
|||
/** |
|||
* 服务截止时间 |
|||
*/ |
|||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
|||
private Date serviceTimeEnd; |
|||
|
|||
/** |
|||
* in_service服务中;completed:已完成 |
|||
*/ |
|||
private String serviceStatus; |
|||
|
|||
/** |
|||
* 发布范围 |
|||
*/ |
|||
private List<IcServiceScopeDTO> serviceScope; |
|||
|
|||
/** |
|||
* 服务人数 |
|||
*/ |
|||
private Integer servicePeopleNumber; |
|||
|
|||
/** |
|||
* 反馈详情 |
|||
*/ |
|||
private IcServiceFeedbackResDTO feedBack; |
|||
} |
|||
@ -0,0 +1,15 @@ |
|||
package com.epmet.dto.result; |
|||
|
|||
|
|||
import lombok.Data; |
|||
|
|||
@Data |
|||
public class IcServiceScopeDTO { |
|||
private String objectId; |
|||
private String objectName; |
|||
private String objectType; |
|||
/** |
|||
* 发布范围的组织ID PATH |
|||
*/ |
|||
private String objectIdPath; |
|||
} |
|||
@ -0,0 +1,63 @@ |
|||
package com.epmet.dto.result; |
|||
|
|||
import com.epmet.commons.tools.dto.form.PageFormDTO; |
|||
import com.epmet.dto.IcServiceProjectAttachmentDTO; |
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @Author zxc |
|||
* @DateTime 2022/5/27 16:42 |
|||
* @DESC |
|||
*/ |
|||
@Data |
|||
public class ServiceProjectListResultDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = -6508966695564469113L; |
|||
|
|||
/** |
|||
* 服务类别 |
|||
*/ |
|||
private String serviceCategory; |
|||
private String serviceCategoryKey; |
|||
|
|||
/** |
|||
* 服务项目ID |
|||
*/ |
|||
private String serviceProjectId; |
|||
|
|||
/** |
|||
* 服务名称 |
|||
*/ |
|||
private String serviceName; |
|||
|
|||
/** |
|||
* 服务内容 |
|||
*/ |
|||
private String serviceContent; |
|||
|
|||
/** |
|||
* 政策依据 |
|||
*/ |
|||
private String policyGround; |
|||
|
|||
/** |
|||
* 政策级别 |
|||
*/ |
|||
private String policyLevel; |
|||
private String policyLevelName; |
|||
|
|||
private List<IcServiceProjectAttachmentDTO> attachmentList; |
|||
|
|||
public ServiceProjectListResultDTO() { |
|||
this.serviceCategory = ""; |
|||
this.serviceProjectId = ""; |
|||
this.serviceName = ""; |
|||
this.serviceContent = ""; |
|||
this.policyGround = ""; |
|||
this.policyLevel = ""; |
|||
this.policyLevelName = ""; |
|||
} |
|||
} |
|||
@ -0,0 +1,18 @@ |
|||
package com.epmet.dto.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
@Data |
|||
public class ServiceProjectRecordResultDTO { |
|||
private String serviceRecordId; |
|||
private String serviceCategoryKey; |
|||
private String serviceCategoryName; |
|||
private String serviceProjectId; |
|||
private String serviceProjectName; |
|||
private String serviceOrgId; |
|||
private String serviceOrgName; |
|||
private String serviceTimeStart; |
|||
private String serviceTimeEnd; |
|||
private String serviceStatus; |
|||
private String servicePeopleNumber; |
|||
} |
|||
@ -0,0 +1,91 @@ |
|||
package com.epmet.controller; |
|||
|
|||
import com.epmet.commons.tools.annotation.LoginUser; |
|||
import com.epmet.commons.tools.aop.NoRepeatSubmit; |
|||
import com.epmet.commons.tools.page.PageData; |
|||
import com.epmet.commons.tools.security.dto.TokenDto; |
|||
import com.epmet.commons.tools.utils.Result; |
|||
import com.epmet.commons.tools.validator.ValidatorUtils; |
|||
import com.epmet.commons.tools.validator.group.AddGroup; |
|||
import com.epmet.commons.tools.validator.group.DefaultGroup; |
|||
import com.epmet.commons.tools.validator.group.UpdateGroup; |
|||
import com.epmet.dto.IcServiceOrgDTO; |
|||
import com.epmet.dto.form.IcServiceOrgAddEditFormDTO; |
|||
import com.epmet.dto.form.IcServiceOrgListFormDTO; |
|||
import com.epmet.dto.result.IcServiceOrgListResultDTO; |
|||
import com.epmet.dto.result.IcServiceOrgSelectListResultDTO; |
|||
import com.epmet.service.IcServiceOrgService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
import java.util.List; |
|||
|
|||
|
|||
/** |
|||
* 服务组织表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2022-05-27 |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("icServiceOrg") |
|||
public class IcServiceOrgController { |
|||
|
|||
@Autowired |
|||
private IcServiceOrgService icServiceOrgService; |
|||
|
|||
@RequestMapping("list") |
|||
public Result<PageData<IcServiceOrgListResultDTO>> list(@LoginUser TokenDto tokenDto, @RequestBody IcServiceOrgListFormDTO formDTO){ |
|||
formDTO.setCustomerId(tokenDto.getCustomerId()); |
|||
formDTO.setStaffId(tokenDto.getUserId()); |
|||
return new Result<PageData<IcServiceOrgListResultDTO>>().ok(icServiceOrgService.list(formDTO)); |
|||
} |
|||
|
|||
@RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) |
|||
public Result<IcServiceOrgDTO> get(@PathVariable("id") String id){ |
|||
IcServiceOrgDTO data = icServiceOrgService.get(id); |
|||
return new Result<IcServiceOrgDTO>().ok(data); |
|||
} |
|||
|
|||
@NoRepeatSubmit |
|||
@PostMapping("add") |
|||
public Result save(@LoginUser TokenDto tokenDto, @RequestBody IcServiceOrgAddEditFormDTO dto) { |
|||
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); |
|||
dto.setCustomerId(tokenDto.getCustomerId()); |
|||
dto.setUserId(tokenDto.getUserId()); |
|||
icServiceOrgService.save(dto); |
|||
return new Result(); |
|||
} |
|||
|
|||
@NoRepeatSubmit |
|||
@PostMapping("edit") |
|||
public Result edit(@LoginUser TokenDto tokenDto, @RequestBody IcServiceOrgAddEditFormDTO dto){ |
|||
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); |
|||
dto.setCustomerId(tokenDto.getCustomerId()); |
|||
dto.setUserId(tokenDto.getUserId()); |
|||
icServiceOrgService.update(dto); |
|||
return new Result(); |
|||
} |
|||
|
|||
@PostMapping("del") |
|||
public Result delete(@LoginUser TokenDto tokenDto, @RequestBody IcServiceOrgAddEditFormDTO formDTO){ |
|||
ValidatorUtils.validateEntity(formDTO, IcServiceOrgAddEditFormDTO.Del.class); |
|||
formDTO.setCustomerId(tokenDto.getCustomerId()); |
|||
formDTO.setUserId(tokenDto.getUserId()); |
|||
icServiceOrgService.delete(formDTO); |
|||
return new Result(); |
|||
} |
|||
|
|||
@RequestMapping("detail") |
|||
public Result<IcServiceOrgListResultDTO> detail(@RequestBody IcServiceOrgListFormDTO formDTO) { |
|||
return new Result<IcServiceOrgListResultDTO>().ok(icServiceOrgService.detail(formDTO)); |
|||
} |
|||
|
|||
@RequestMapping("selectlist") |
|||
public Result<List<IcServiceOrgSelectListResultDTO>> selectList(@LoginUser TokenDto tokenDto, @RequestBody IcServiceOrgListFormDTO formDTO){ |
|||
formDTO.setCustomerId(tokenDto.getCustomerId()); |
|||
formDTO.setStaffId(tokenDto.getUserId()); |
|||
return new Result<List<IcServiceOrgSelectListResultDTO>>().ok(icServiceOrgService.selectList(formDTO)); |
|||
} |
|||
|
|||
} |
|||
@ -0,0 +1,72 @@ |
|||
package com.epmet.controller; |
|||
|
|||
import com.epmet.commons.tools.aop.NoRepeatSubmit; |
|||
import com.epmet.commons.tools.page.PageData; |
|||
import com.epmet.commons.tools.utils.ExcelUtils; |
|||
import com.epmet.commons.tools.utils.Result; |
|||
import com.epmet.commons.tools.validator.AssertUtils; |
|||
import com.epmet.commons.tools.validator.ValidatorUtils; |
|||
import com.epmet.commons.tools.validator.group.AddGroup; |
|||
import com.epmet.commons.tools.validator.group.UpdateGroup; |
|||
import com.epmet.commons.tools.validator.group.DefaultGroup; |
|||
import com.epmet.dto.IcServiceProjectAttachmentDTO; |
|||
import com.epmet.service.IcServiceProjectAttachmentService; |
|||
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("icServiceProjectAttachment") |
|||
public class IcServiceProjectAttachmentController { |
|||
|
|||
@Autowired |
|||
private IcServiceProjectAttachmentService icServiceProjectAttachmentService; |
|||
|
|||
@RequestMapping("page") |
|||
public Result<PageData<IcServiceProjectAttachmentDTO>> page(@RequestParam Map<String, Object> params){ |
|||
PageData<IcServiceProjectAttachmentDTO> page = icServiceProjectAttachmentService.page(params); |
|||
return new Result<PageData<IcServiceProjectAttachmentDTO>>().ok(page); |
|||
} |
|||
|
|||
@RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) |
|||
public Result<IcServiceProjectAttachmentDTO> get(@PathVariable("id") String id){ |
|||
IcServiceProjectAttachmentDTO data = icServiceProjectAttachmentService.get(id); |
|||
return new Result<IcServiceProjectAttachmentDTO>().ok(data); |
|||
} |
|||
|
|||
@NoRepeatSubmit |
|||
@PostMapping("save") |
|||
public Result save(@RequestBody IcServiceProjectAttachmentDTO dto){ |
|||
//效验数据
|
|||
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); |
|||
icServiceProjectAttachmentService.save(dto); |
|||
return new Result(); |
|||
} |
|||
|
|||
@NoRepeatSubmit |
|||
@PostMapping("update") |
|||
public Result update(@RequestBody IcServiceProjectAttachmentDTO dto){ |
|||
//效验数据
|
|||
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); |
|||
icServiceProjectAttachmentService.update(dto); |
|||
return new Result(); |
|||
} |
|||
|
|||
@PostMapping("delete") |
|||
public Result delete(@RequestBody String[] ids){ |
|||
//效验数据
|
|||
AssertUtils.isArrayEmpty(ids, "id"); |
|||
icServiceProjectAttachmentService.delete(ids); |
|||
return new Result(); |
|||
} |
|||
} |
|||
@ -0,0 +1,244 @@ |
|||
package com.epmet.controller; |
|||
|
|||
import com.epmet.commons.tools.annotation.LoginUser; |
|||
import com.epmet.commons.tools.aop.NoRepeatSubmit; |
|||
import com.epmet.commons.tools.exception.EpmetErrorCode; |
|||
import com.epmet.commons.tools.exception.EpmetException; |
|||
import com.epmet.commons.tools.page.PageData; |
|||
import com.epmet.commons.tools.security.dto.TokenDto; |
|||
import com.epmet.commons.tools.utils.Result; |
|||
import com.epmet.commons.tools.validator.AssertUtils; |
|||
import com.epmet.commons.tools.validator.ValidatorUtils; |
|||
import com.epmet.commons.tools.validator.group.AddGroup; |
|||
import com.epmet.commons.tools.validator.group.DefaultGroup; |
|||
import com.epmet.commons.tools.validator.group.UpdateGroup; |
|||
import com.epmet.dto.IcServiceProjectDTO; |
|||
import com.epmet.dto.form.*; |
|||
import com.epmet.dto.result.IcServiceRecDetailRes; |
|||
import com.epmet.dto.result.ServiceProjectListResultDTO; |
|||
import com.epmet.dto.result.ServiceProjectRecordResultDTO; |
|||
import com.epmet.entity.IcServiceRecordEntity; |
|||
import com.epmet.service.IcServiceProjectService; |
|||
import com.epmet.service.IcServiceRecordService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
|
|||
/** |
|||
* 服务项目管理表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2022-05-27 |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("icServiceProject") |
|||
public class IcServiceProjectController { |
|||
|
|||
@Autowired |
|||
private IcServiceProjectService icServiceProjectService; |
|||
@Autowired |
|||
private IcServiceRecordService icServiceRecordService; |
|||
|
|||
|
|||
@RequestMapping("page") |
|||
public Result<PageData<IcServiceProjectDTO>> page(@RequestParam Map<String, Object> params){ |
|||
PageData<IcServiceProjectDTO> page = icServiceProjectService.page(params); |
|||
return new Result<PageData<IcServiceProjectDTO>>().ok(page); |
|||
} |
|||
|
|||
@RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) |
|||
public Result<IcServiceProjectDTO> get(@PathVariable("id") String id){ |
|||
IcServiceProjectDTO data = icServiceProjectService.get(id); |
|||
return new Result<IcServiceProjectDTO>().ok(data); |
|||
} |
|||
|
|||
@NoRepeatSubmit |
|||
@PostMapping("save") |
|||
public Result save(@RequestBody IcServiceProjectDTO dto){ |
|||
//效验数据
|
|||
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); |
|||
icServiceProjectService.save(dto); |
|||
return new Result(); |
|||
} |
|||
|
|||
@NoRepeatSubmit |
|||
@PostMapping("update") |
|||
public Result update(@RequestBody IcServiceProjectDTO dto){ |
|||
//效验数据
|
|||
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); |
|||
icServiceProjectService.update(dto); |
|||
return new Result(); |
|||
} |
|||
|
|||
@PostMapping("delete") |
|||
public Result delete(@RequestBody String[] ids){ |
|||
//效验数据
|
|||
AssertUtils.isArrayEmpty(ids, "id"); |
|||
icServiceProjectService.delete(ids); |
|||
return new Result(); |
|||
} |
|||
|
|||
/** |
|||
* Desc: 服务项目新增 |
|||
* @param tokenDto |
|||
* @param formDTO |
|||
* @author zxc |
|||
* @date 2022/5/27 16:04 |
|||
*/ |
|||
@PostMapping("serviceProjectAdd") |
|||
public Result serviceProjectAdd(@LoginUser TokenDto tokenDto,@RequestBody ServiceProjectFormDTO formDTO){ |
|||
ValidatorUtils.validateEntity(formDTO, ServiceProjectFormDTO.ServiceProjectAddForm.class); |
|||
formDTO.setUserId(tokenDto.getUserId()); |
|||
formDTO.setCustomerId(tokenDto.getCustomerId()); |
|||
icServiceProjectService.serviceProjectAdd(formDTO); |
|||
return new Result(); |
|||
} |
|||
|
|||
/** |
|||
* Desc: 服务项目列表 |
|||
* @param formDTO |
|||
* @author zxc |
|||
* @date 2022/5/27 16:46 |
|||
*/ |
|||
@PostMapping("serviceProjectList") |
|||
public Result<PageData> serviceProjectList(@LoginUser TokenDto tokenDto,@RequestBody ServiceProjectListFormDTO formDTO){ |
|||
formDTO.setCustomerId(tokenDto.getCustomerId()); |
|||
formDTO.setUserId(tokenDto.getUserId()); |
|||
return new Result<PageData>().ok(icServiceProjectService.serviceProjectList(formDTO)); |
|||
} |
|||
|
|||
/** |
|||
* Desc: 服务项目详情 |
|||
* @param formDTO |
|||
* @author zxc |
|||
* @date 2022/5/30 15:46 |
|||
*/ |
|||
@PostMapping("serviceProjectDetail") |
|||
public Result<ServiceProjectListResultDTO> serviceProjectDetail(@RequestBody ServiceProjectListFormDTO formDTO){ |
|||
ValidatorUtils.validateEntity(formDTO, ServiceProjectListFormDTO.ServiceProjectDetail.class); |
|||
return new Result<ServiceProjectListResultDTO>().ok(icServiceProjectService.serviceProjectDetail(formDTO)); |
|||
} |
|||
|
|||
/** |
|||
* Desc: 修改【服务项目】 |
|||
* @param formDTO |
|||
* @author zxc |
|||
* @date 2022/5/30 09:36 |
|||
*/ |
|||
@PostMapping("serviceProjectEdit") |
|||
public Result serviceProjectEdit(@RequestBody ServiceProjectFormDTO formDTO,@LoginUser TokenDto tokenDto){ |
|||
ValidatorUtils.validateEntity(formDTO, ServiceProjectFormDTO.ServiceProjectUpdateForm.class); |
|||
formDTO.setCustomerId(tokenDto.getCustomerId()); |
|||
icServiceProjectService.serviceProjectEdit(formDTO); |
|||
return new Result(); |
|||
} |
|||
|
|||
/** |
|||
* Desc: 上下架【服务项目】 |
|||
* @param ids |
|||
* @author zxc |
|||
* @date 2022/5/30 10:17 |
|||
*/ |
|||
@PostMapping("serviceProjectEnabled") |
|||
public Result serviceProjectEnabled(@RequestBody List<String> ids){ |
|||
icServiceProjectService.serviceProjectEnabled(ids); |
|||
return new Result(); |
|||
} |
|||
|
|||
/** |
|||
* http://yapi.elinkservice.cn/project/245/interface/api/7820
|
|||
* |
|||
* @param serviceId |
|||
* @return 【服务项目记录】取消:进行中的项目可以取消。删除该记录 |
|||
*/ |
|||
@PostMapping("service/cancel/{service-id}") |
|||
public Result cancelService(@PathVariable("service-id") String serviceId) { |
|||
icServiceRecordService.cancelService(serviceId, "yzm"); |
|||
return new Result(); |
|||
} |
|||
|
|||
/** |
|||
* http://yapi.elinkservice.cn/project/245/interface/api/7821
|
|||
* @param serviceId |
|||
* @return 【服务项目记录】详情 |
|||
*/ |
|||
@PostMapping("service/detail/{service-id}") |
|||
public Result<IcServiceRecDetailRes> queryServiceDetail(@PathVariable("service-id") String serviceId) { |
|||
return new Result<IcServiceRecDetailRes>().ok(icServiceRecordService.queryServiceDetail(serviceId)); |
|||
} |
|||
|
|||
/** |
|||
* 【服务项目记录】修改 |
|||
* |
|||
* @param formDTO |
|||
* @return |
|||
*/ |
|||
@PostMapping("service/update") |
|||
public Result updateServiceRecord(@RequestBody IcServiceEditFormDTO formDTO) { |
|||
ValidatorUtils.validateEntity(formDTO, IcServiceEditFormDTO.AddUserShowGroup.class, IcServiceEditFormDTO.AddUserInternalGroup.class); |
|||
icServiceRecordService.updateServiceRecord(formDTO); |
|||
return new Result(); |
|||
} |
|||
|
|||
/** |
|||
* 服务列表 |
|||
* @param input |
|||
* @return |
|||
*/ |
|||
@PostMapping("/service/recordList") |
|||
public Result listServiceRecords(@RequestBody ServiceProjectRecordFormDTO input) { |
|||
|
|||
PageData<ServiceProjectRecordResultDTO> page = icServiceRecordService.listServiceRecords( |
|||
input.getServiceCategoryKey(), input.getServiceProjectName(), input.getServiceOrgName(), input.getServiceTimeStart(), |
|||
input.getServiceTimeEnd(), input.getServiceStatus(), input.getSatisfaction(), input.getPageNo(), input.getPageSize()); |
|||
|
|||
return new Result().ok(page); |
|||
} |
|||
|
|||
/** |
|||
* 发起服务 |
|||
* @param input |
|||
* @return |
|||
*/ |
|||
@PostMapping("/service/initiate") |
|||
public Result initiateService(@RequestBody ServiceProjectRecordFormDTO input) { |
|||
|
|||
ValidatorUtils.validateEntity(input, ServiceProjectRecordFormDTO.Initiate.class, ServiceProjectFeedbackFormDTO.InitiateGroup.class); |
|||
icServiceRecordService.initiateService(input); |
|||
|
|||
return new Result(); |
|||
} |
|||
|
|||
/** |
|||
* 反馈 |
|||
* @param input |
|||
* @return |
|||
*/ |
|||
@PostMapping("/service/feedback") |
|||
public Result serviceFeedback(@RequestBody ServiceProjectFeedbackFormDTO input) { |
|||
ValidatorUtils.validateEntity(input, ServiceProjectFeedbackFormDTO.FeedbackGroup.class); |
|||
String serviceRecordId = input.getServiceRecordId(); |
|||
|
|||
// 做状态检查,未反馈的,服务状态为服务中的才可以反馈
|
|||
IcServiceRecordEntity serviceRecord = icServiceRecordService.selectById(serviceRecordId); |
|||
if (serviceRecord == null) { |
|||
String msg = "未找到服务记录"; |
|||
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), msg, msg); |
|||
} |
|||
|
|||
if ("completed".equals(serviceRecord.getServiceStatus())) { |
|||
String msg = "服务已完成,不能再次反馈"; |
|||
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), msg, msg); |
|||
} |
|||
|
|||
icServiceRecordService.serviceFeedback(serviceRecord.getServiceCategoryKey(), |
|||
serviceRecord.getServiceOrgId(), |
|||
serviceRecord.getServiceProjectId(), |
|||
serviceRecord.getId(), |
|||
input); |
|||
return new Result(); |
|||
} |
|||
} |
|||
@ -0,0 +1,33 @@ |
|||
package com.epmet.dao; |
|||
|
|||
import com.epmet.commons.mybatis.dao.BaseDao; |
|||
import com.epmet.dto.result.IcServiceFeedbackResDTO; |
|||
import com.epmet.entity.IcServiceFeedbackEntity; |
|||
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 2022-05-30 |
|||
*/ |
|||
@Mapper |
|||
public interface IcServiceFeedbackDao extends BaseDao<IcServiceFeedbackEntity> { |
|||
|
|||
/** |
|||
* 根据服务记录id,查询反馈记录 |
|||
* @param serviceRecordId |
|||
* @return |
|||
*/ |
|||
IcServiceFeedbackResDTO selectByRecId(@Param("serviceRecordId") String serviceRecordId); |
|||
|
|||
/** |
|||
* 根据服务反馈id,查询附件列表 |
|||
* @param feedBackId |
|||
* @return |
|||
*/ |
|||
List<IcServiceFeedbackResDTO.Attachment> getAttachmentList(String feedBackId); |
|||
} |
|||
@ -0,0 +1,34 @@ |
|||
package com.epmet.dao; |
|||
|
|||
import com.epmet.commons.mybatis.dao.BaseDao; |
|||
import com.epmet.dto.form.IcServiceOrgListFormDTO; |
|||
import com.epmet.dto.result.IcServiceOrgListResultDTO; |
|||
import com.epmet.dto.result.IcServiceOrgSelectListResultDTO; |
|||
import com.epmet.entity.IcServiceOrgEntity; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 服务组织表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2022-05-27 |
|||
*/ |
|||
@Mapper |
|||
public interface IcServiceOrgDao extends BaseDao<IcServiceOrgEntity> { |
|||
|
|||
/** |
|||
* @Author sun |
|||
* @Description 服务组织-列表查询 |
|||
**/ |
|||
List<IcServiceOrgListResultDTO> selectServiceOrgList(IcServiceOrgListFormDTO formDTO); |
|||
|
|||
/** |
|||
* @Author sun |
|||
* @Description 服务组织列表_下拉框 |
|||
**/ |
|||
List<IcServiceOrgSelectListResultDTO> selectServiceOrgSelectList(IcServiceOrgListFormDTO formDTO); |
|||
|
|||
void del(IcServiceOrgEntity entity); |
|||
} |
|||
@ -0,0 +1,27 @@ |
|||
package com.epmet.dao; |
|||
|
|||
import com.epmet.commons.mybatis.dao.BaseDao; |
|||
import com.epmet.entity.IcServiceProjectAttachmentEntity; |
|||
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 2022-05-27 |
|||
*/ |
|||
@Mapper |
|||
public interface IcServiceProjectAttachmentDao extends BaseDao<IcServiceProjectAttachmentEntity> { |
|||
|
|||
/** |
|||
* Desc: 根据服务项目ID删除附件 |
|||
* @param id |
|||
* @author zxc |
|||
* @date 2022/5/30 09:50 |
|||
*/ |
|||
void delAttachmentByServiceProjectId(@Param("id")String id); |
|||
|
|||
} |
|||
@ -0,0 +1,37 @@ |
|||
package com.epmet.dao; |
|||
|
|||
import com.epmet.commons.mybatis.dao.BaseDao; |
|||
import com.epmet.dto.form.ServiceProjectListFormDTO; |
|||
import com.epmet.dto.result.ServiceProjectListResultDTO; |
|||
import com.epmet.entity.IcServiceProjectEntity; |
|||
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 2022-05-27 |
|||
*/ |
|||
@Mapper |
|||
public interface IcServiceProjectDao extends BaseDao<IcServiceProjectEntity> { |
|||
|
|||
/** |
|||
* Desc: 查询服务项目列表 |
|||
* @param formDTO |
|||
* @author zxc |
|||
* @date 2022/5/27 17:13 |
|||
*/ |
|||
List<ServiceProjectListResultDTO> getServiceProjectList(ServiceProjectListFormDTO formDTO); |
|||
|
|||
/** |
|||
* Desc: 上下架【服务项目】 |
|||
* @param ids |
|||
* @author zxc |
|||
* @date 2022/5/30 10:17 |
|||
*/ |
|||
void serviceProjectEnabled(@Param("ids") List<String> ids); |
|||
|
|||
} |
|||
@ -0,0 +1,29 @@ |
|||
package com.epmet.dao; |
|||
|
|||
import com.epmet.commons.mybatis.dao.BaseDao; |
|||
import com.epmet.dto.result.ServiceProjectRecordResultDTO; |
|||
import com.epmet.entity.IcServiceRecordEntity; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
import org.apache.ibatis.annotations.Param; |
|||
|
|||
import java.util.Date; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2022-05-30 |
|||
*/ |
|||
@Mapper |
|||
public interface IcServiceRecordDao extends BaseDao<IcServiceRecordEntity> { |
|||
|
|||
List<ServiceProjectRecordResultDTO> listServiceRecords( |
|||
@Param("serviceCategoryKey") String serviceCategoryKey, |
|||
@Param("serviceProjectName") String serviceProjectName, |
|||
@Param("serviceOrgName") String serviceOrgName, |
|||
@Param("serviceTimeStart") Date serviceTimeStart, |
|||
@Param("serviceTimeEnd") Date serviceTimeEnd, |
|||
@Param("serviceStatus") String serviceStatus, |
|||
@Param("satisfaction") String satisfaction); |
|||
} |
|||
@ -0,0 +1,23 @@ |
|||
package com.epmet.dao; |
|||
|
|||
import com.epmet.commons.mybatis.dao.BaseDao; |
|||
import com.epmet.dto.result.IcServiceScopeDTO; |
|||
import com.epmet.entity.IcServiceScopeEntity; |
|||
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 2022-05-30 |
|||
*/ |
|||
@Mapper |
|||
public interface IcServiceScopeDao extends BaseDao<IcServiceScopeEntity> { |
|||
|
|||
int update(@Param("serviceId") String serviceId, @Param("userId") String userId); |
|||
|
|||
List<IcServiceScopeDTO> selectList(String serviceRecordId); |
|||
} |
|||
@ -0,0 +1,83 @@ |
|||
package com.epmet.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.FieldFill; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
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-30 |
|||
*/ |
|||
@Data |
|||
@EqualsAndHashCode(callSuper=false) |
|||
@TableName("ic_service_feedback") |
|||
public class IcServiceFeedbackEntity extends BaseEpmetEntity { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
@TableField(fill = FieldFill.INSERT) |
|||
private String customerId; |
|||
/** |
|||
* 服务类别ID |
|||
*/ |
|||
private String serviceCategoryKey; |
|||
|
|||
/** |
|||
* 服务项目ID |
|||
*/ |
|||
private String serviceProjectId; |
|||
|
|||
/** |
|||
* 服务组织ID |
|||
*/ |
|||
private String serviceOrgId; |
|||
|
|||
/** |
|||
* 服务目标 |
|||
*/ |
|||
private String serviceGoal; |
|||
|
|||
/** |
|||
* 服务效果 |
|||
*/ |
|||
private String serviceEffect; |
|||
|
|||
/** |
|||
* 服务人数 |
|||
*/ |
|||
//private Integer servicePeopleNumber;
|
|||
|
|||
/** |
|||
* 满意度。满意度 - 不满意:bad、基本满意:good、非常满意:perfect |
|||
*/ |
|||
private String satisfaction; |
|||
|
|||
/** |
|||
* 地址经度 |
|||
*/ |
|||
private String longitude; |
|||
|
|||
/** |
|||
* 地址纬度 |
|||
*/ |
|||
private String latitude; |
|||
|
|||
/** |
|||
* 地址 |
|||
*/ |
|||
private String address; |
|||
|
|||
/** |
|||
* |
|||
*/ |
|||
private String serviceRecordId; |
|||
|
|||
} |
|||
@ -0,0 +1,81 @@ |
|||
package com.epmet.entity; |
|||
|
|||
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 2022-05-27 |
|||
*/ |
|||
@Data |
|||
@EqualsAndHashCode(callSuper=false) |
|||
@TableName("ic_service_org") |
|||
public class IcServiceOrgEntity extends BaseEpmetEntity { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 客户Id |
|||
*/ |
|||
private String customerId; |
|||
|
|||
/** |
|||
* 所属组织机构Id |
|||
*/ |
|||
private String agencyId; |
|||
|
|||
/** |
|||
* agencyId的所有上级,包含自己 |
|||
*/ |
|||
private String agencyIdPath; |
|||
|
|||
/** |
|||
* 服务类别【字典表 ic_service_type】多个值逗号分隔 |
|||
*/ |
|||
private String serviceType; |
|||
|
|||
/** |
|||
* 服务组织名称 |
|||
*/ |
|||
private String orgName; |
|||
|
|||
/** |
|||
* 组织描述 |
|||
*/ |
|||
private String orgDescribe; |
|||
|
|||
/** |
|||
* 负责人姓名 |
|||
*/ |
|||
private String principalName; |
|||
|
|||
/** |
|||
* 负责人电话 |
|||
*/ |
|||
private String principalMobile; |
|||
|
|||
/** |
|||
* 经度 |
|||
*/ |
|||
private String longitude; |
|||
|
|||
/** |
|||
* 纬度 |
|||
*/ |
|||
private String latitude; |
|||
|
|||
/** |
|||
* 地址 |
|||
*/ |
|||
private String address; |
|||
|
|||
/** |
|||
* 备注 |
|||
*/ |
|||
private String remark; |
|||
|
|||
} |
|||
@ -0,0 +1,88 @@ |
|||
package com.epmet.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.FieldFill; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
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("ic_service_project_attachment") |
|||
public class IcServiceProjectAttachmentEntity extends BaseEpmetEntity { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 客户ID |
|||
*/ |
|||
@TableField(fill = FieldFill.INSERT) |
|||
private String customerId; |
|||
|
|||
/** |
|||
* 事件Id |
|||
*/ |
|||
private String icServiceId; |
|||
|
|||
/** |
|||
* 隶属于。feedback:反馈;service:服务本身 |
|||
*/ |
|||
private String attachTo; |
|||
|
|||
/** |
|||
* 附件名 |
|||
*/ |
|||
private String attachmentName; |
|||
|
|||
/** |
|||
* 文件格式(JPG、PNG、PDF、JPEG、BMP、MP4、WMA、M4A、MP3、DOC、DOCX、XLS) |
|||
*/ |
|||
private String attachmentFormat; |
|||
|
|||
/** |
|||
* 附件类型((图片 - image、 视频 - video、 语音 - voice、 文档 - doc)) |
|||
*/ |
|||
private String attachmentType; |
|||
|
|||
/** |
|||
* 附件地址 |
|||
*/ |
|||
private String attachmentUrl; |
|||
|
|||
/** |
|||
* 排序字段 |
|||
*/ |
|||
private Integer sort; |
|||
|
|||
/** |
|||
* 附件状态(审核中:auditing; |
|||
auto_passed: 自动通过; |
|||
review:结果不确定,需要人工审核; |
|||
block: 结果违规; |
|||
rejected:人工审核驳回; |
|||
approved:人工审核通过) |
|||
现在图片是同步审核的,所以图片只有auto_passed一种状态 |
|||
*/ |
|||
private String status; |
|||
|
|||
/** |
|||
* 失败原因 |
|||
*/ |
|||
private String reason; |
|||
|
|||
/** |
|||
* 语音或视频时长,秒 |
|||
*/ |
|||
private Integer duration; |
|||
|
|||
} |
|||
@ -0,0 +1,74 @@ |
|||
package com.epmet.entity; |
|||
|
|||
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("ic_service_project") |
|||
public class IcServiceProjectEntity extends BaseEpmetEntity { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 客户ID |
|||
*/ |
|||
private String customerId; |
|||
|
|||
/** |
|||
* 组织ID |
|||
*/ |
|||
private String agencyId; |
|||
|
|||
/** |
|||
* 组织ID的上级 |
|||
*/ |
|||
private String pid; |
|||
|
|||
/** |
|||
* 组织ID的所有上级[包括自己] |
|||
*/ |
|||
private String agencyIdPath; |
|||
|
|||
/** |
|||
* 服务类别值 |
|||
*/ |
|||
private String serviceCategoryKey; |
|||
|
|||
/** |
|||
* 服务名称 |
|||
*/ |
|||
private String serviceName; |
|||
|
|||
/** |
|||
* 服务内容 |
|||
*/ |
|||
private String serviceContent; |
|||
|
|||
/** |
|||
* 政策级别,0市级;1区级;2街道级 |
|||
*/ |
|||
private String policyLevel; |
|||
|
|||
/** |
|||
* 政策依据 |
|||
*/ |
|||
private String policyGround; |
|||
|
|||
/** |
|||
* 启用状态,0启用,1禁用 |
|||
*/ |
|||
private Integer enabled; |
|||
|
|||
} |
|||
@ -0,0 +1,89 @@ |
|||
package com.epmet.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.FieldFill; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
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-30 |
|||
*/ |
|||
@Data |
|||
@EqualsAndHashCode(callSuper=false) |
|||
@TableName("ic_service_record") |
|||
public class IcServiceRecordEntity extends BaseEpmetEntity { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
@TableField(fill = FieldFill.INSERT) |
|||
private String customerId; |
|||
|
|||
/** |
|||
* 服务类别ID |
|||
*/ |
|||
private String serviceCategoryKey; |
|||
|
|||
/** |
|||
* 服务项目ID |
|||
*/ |
|||
private String serviceProjectId; |
|||
|
|||
/** |
|||
* 服务项目名称 |
|||
*/ |
|||
private String serviceProjectName; |
|||
|
|||
/** |
|||
* 服务组织ID |
|||
*/ |
|||
private String serviceOrgId; |
|||
|
|||
/** |
|||
* 服务组织名称 |
|||
*/ |
|||
private String serviceOrgName; |
|||
|
|||
/** |
|||
* 经办人姓名 |
|||
*/ |
|||
private String principalName; |
|||
|
|||
/** |
|||
* 联系方式 |
|||
*/ |
|||
private String principalContact; |
|||
|
|||
/** |
|||
* 服务时间 |
|||
*/ |
|||
private Date serviceTimeStart; |
|||
|
|||
/** |
|||
* 服务截止时间 |
|||
*/ |
|||
private Date serviceTimeEnd; |
|||
|
|||
/** |
|||
* in_service服务中;completed:已完成 |
|||
*/ |
|||
private String serviceStatus; |
|||
|
|||
/** |
|||
* 备注 |
|||
*/ |
|||
private String remark; |
|||
|
|||
/** |
|||
* 服务人数 |
|||
*/ |
|||
private Integer servicePeopleNumber; |
|||
|
|||
} |
|||
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue