diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/OrgOrStaffMQMsg.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/OrgOrStaffMQMsg.java index fdd9e5d860..f579fbb1fc 100644 --- a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/OrgOrStaffMQMsg.java +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/OrgOrStaffMQMsg.java @@ -22,6 +22,11 @@ public class OrgOrStaffMQMsg implements Serializable { //删除网格:grid_delete;删除组织:agency_delete private String type; + /** + * org原有的Code + */ + private String oldCode; + //工作人员Id集合 private List staffIdList; diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CollectUrlEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CollectUrlEnum.java new file mode 100644 index 0000000000..935064e933 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CollectUrlEnum.java @@ -0,0 +1,34 @@ +package com.epmet.commons.tools.enums; + +public enum CollectUrlEnum { + + + URL_PRE("subpages/points/pages/fangyi/xinxi/create/index", "小程序码跳转地址"), + GET_CODE_URL("https://api.weixin.qq.com/wxa/getwxacode?access_token=", "获取二维码的url"); + + + private String code; + private String name; + + + CollectUrlEnum(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; + } +} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java index e900f79875..07d47ba7b0 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java @@ -28,6 +28,7 @@ public enum DictTypeEnum { IC_SERVICE_TYPE("ic_service_type","服务类别",20), IC_DANGER_TYPE("ic_danger_type","危化品种类",24), POLICY_LEVEL("policy_level","政策级别",25), + LOG_TYPE("log_type", "日志类型", 33), ; private final String code; diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/ResiCategoryEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/ResiCategoryEnum.java index 6416582380..f4343639e0 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/ResiCategoryEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/ResiCategoryEnum.java @@ -18,7 +18,8 @@ public enum ResiCategoryEnum { IS_CJ("IS_CJ", "残疾"), IS_DB("IS_DB", "大病"), IS_MB("IS_MB", "慢病"), - IS_SPECIAL("IS_SPECIAL", "特殊人群"); + IS_SPECIAL("IS_SPECIAL", "特殊人群"), + IS_XJC("IS_XJC", "新阶层人士"); private String colName; private String label; diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmetuser/IcResiUserEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmetuser/IcResiUserEntity.java index 657b37bb14..517b65938a 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmetuser/IcResiUserEntity.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmetuser/IcResiUserEntity.java @@ -215,6 +215,21 @@ public class IcResiUserEntity extends BaseEpmetEntity { */ private String isSpecial; + /** + * 是否租户【是:1 否:0】 + */ + private String isTenant; + + /** + * 是否流动人口【是:1 否:0】 + */ + private String isFloating; + + /** + * 是否新阶层人士【是:1 否:0】 + */ + private String isXjc; + /** * 文化程度【字典表】 */ diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/IcResiServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/IcResiServiceImpl.java index 10293c2a8f..2fceaabfd6 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/IcResiServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/IcResiServiceImpl.java @@ -118,6 +118,8 @@ public class IcResiServiceImpl implements IcResiService { query.eq(IcResiUserEntity::getIsMb, true); } else if (ResiCategoryEnum.IS_SPECIAL.getColName().equals(categoryKey)) { query.eq(IcResiUserEntity::getIsSpecial, true); + } else if(ResiCategoryEnum.IS_XJC.getColName().equals(categoryKey)){ + query.eq(IcResiUserEntity::getIsXjc, true); } if (StringUtils.isNotBlank(search)) { diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java index 7639f6c561..19b7c71d7e 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java @@ -244,17 +244,18 @@ public class CoverageServiceImpl implements CoverageService { if (CollectionUtils.isEmpty(customerMenuList)){ return result; } - List tables = new ArrayList<>(); + List tableMore = new ArrayList<>(); customerMenuList.forEach(cm -> { resources.forEach(r -> { if (cm.getUrl().equals(r)){ String tableName = MenusEnums.getValueByUrl(r); if (StringUtils.isNotBlank(tableName)){ - tables.add(tableName); + tableMore.add(tableName); } } }); }); + List tables = tableMore.stream().distinct().collect(Collectors.toList()); if (CollectionUtils.isEmpty(tables)){ return result; } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/user/IcResiUserEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/user/IcResiUserEntity.java index 4a2260b045..7436847fd2 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/user/IcResiUserEntity.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/user/IcResiUserEntity.java @@ -225,6 +225,11 @@ public class IcResiUserEntity extends BaseEpmetEntity { */ private String isFloating; + /** + * 是否新阶层人士【是:1 否:0】 + */ + private String isXjc; + /** * 文化程度【字典表】 */ diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerGridDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerGridDTO.java index 0acd914fa6..9184969e62 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerGridDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerGridDTO.java @@ -155,4 +155,9 @@ public class CustomerGridDTO implements Serializable { * 弃用:1;正常使用:0 */ private Integer abandonFlag; + + /** + * 网格排序 + */ + private Integer sort; } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcWorkLogDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcWorkLogDTO.java new file mode 100644 index 0000000000..3e14c72b1d --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcWorkLogDTO.java @@ -0,0 +1,131 @@ +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +import lombok.Data; + + +/** + * 网格员工作日志 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-08-05 + */ +@Data +public class IcWorkLogDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 唯一标识 + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 组织Id + */ + private String agencyId; + + /** + * 组织Id + */ + private String allAgencyName; + + /** + * agency_id的所有上级 + */ + private String pids; + + /** + * 网格Id【场所区域】 + */ + private String gridId; + + /** + * 网格Id【场所区域】 + */ + private String gridName; + + /** + * 标题 + */ + private String title; + + /** + * 日志类型【admin库sys_dict_data表value值】 + */ + private String logType; + + /** + * 日志日期 + */ + private String logDate; + + /** + * 内容 + */ + private String content; + + /** + * 备注 + */ + private String remark; + + /** + * 手机 + */ + private String mobile; + + /** + * 删除标识:0.未删除 1.已删除 + */ + private Integer delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + + /** + * 创建人名称 + */ + private String createdUser; + + /** + * url + */ + private String url; + + /** + * 附件 + */ + private List fileList; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcWorkLogFileDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcWorkLogFileDTO.java new file mode 100644 index 0000000000..c7529b3b5a --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcWorkLogFileDTO.java @@ -0,0 +1,89 @@ +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-08-05 + */ +@Data +public class IcWorkLogFileDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 唯一标识 + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 日志Id + */ + private String logId; + + /** + * 地址 + */ + private String url; + + /** + * 文件名 + */ + private String fileName; + + /** + * 文件名 + */ + private String name; + + /** + * 文件类型,0图片 + */ + private String fileType; + + /** + * 内容 + */ + private Integer sort; + + /** + * 删除标识:0.未删除 1.已删除 + */ + private Integer delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CollectHouseFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CollectHouseFormDTO.java new file mode 100644 index 0000000000..677660bdbb --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CollectHouseFormDTO.java @@ -0,0 +1,36 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author wgf + * @date 2022/8/3 11:18 + */ +@Data +public class CollectHouseFormDTO implements Serializable { + private static final long serialVersionUID = 2636608477324780974L; + + private String id; + + /** + * 房屋状态 1:出租 0:自住 2:闲置 3:未售出 + */ + private Integer rentFlag; + + /** + * 房主姓名 + */ + private String ownerName; + + /** + * 客户ID + */ + private String customerId; + + /** + * 居住人数 + */ + private Integer resiNumber; +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditGridFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditGridFormDTO.java index 8774da4f99..0159e3d4b0 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditGridFormDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditGridFormDTO.java @@ -25,6 +25,7 @@ public class EditGridFormDTO implements Serializable { /** * gridId 网格id */ + @NotBlank(message = "网格ID不能为空") private String gridId; /** @@ -77,4 +78,9 @@ public class EditGridFormDTO implements Serializable { * 中心点位位置 */ private String centerAddress; + + /** + * 网格排序 + */ + private Integer sort; } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/GetHouseInfoToCollectFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/GetHouseInfoToCollectFormDTO.java new file mode 100644 index 0000000000..62f5de1216 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/GetHouseInfoToCollectFormDTO.java @@ -0,0 +1,25 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author wgf + * @date 2022/8/3 11:18 + */ +@Data +public class GetHouseInfoToCollectFormDTO implements Serializable { + private static final long serialVersionUID = 2636608477324780974L; + + /** + * 单元 + */ + private String buildingUnitId; + + /** + * 门牌号 + */ + private String doorName; + +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridDetailResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridDetailResultDTO.java index cae98d8bc4..22d4951210 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridDetailResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridDetailResultDTO.java @@ -91,4 +91,9 @@ public class GridDetailResultDTO implements Serializable { */ private String mobile = ""; + /** + * 网格排序 + */ + private Integer gridSort = 0; + } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcHouseInfoCollectResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcHouseInfoCollectResultDTO.java new file mode 100644 index 0000000000..ab08b38bec --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcHouseInfoCollectResultDTO.java @@ -0,0 +1,124 @@ + +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * desc:房屋列表结果类 + * + * @author liujianjun + */ +@Data +public class IcHouseInfoCollectResultDTO implements Serializable { + + + private static final long serialVersionUID = 4963952996288796744L; + + /** + * id + */ + private String id; + + /** + * 客户id + */ + private String customerId; + + /** + * 所属组织的PIDS,包括agency,grid + */ + private String orgIdPath; + + /** + * 小区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 fullName; + + /** + * 门牌号 + */ + private String doorName; + + /** + * 房屋类型,这里存储字典value就可以 + */ + private String houseType; + + /** + * 存储字典value + */ + private String purpose; + + /** + * 1:出租 0:自住 2:闲置 3:未出售 + */ + private Integer rentFlag; + + /** + * 房主姓名 + */ + private String ownerName; + + /** + * 房主电话 + */ + private String ownerPhone; + + /** + * 房主身份证号 + */ + private String ownerIdCard; + + /** + * 排序 + */ + private BigDecimal sort; + + /** + * 备注 + */ + private String remark; + + /** + * 房屋编码 + */ + private String houseCode; + private String houseQrcodeUrl; + + /** + * 居住人数 + */ + private Integer resiNumber; + /** + * 房屋可编辑编码 + */ + private String coding; +} diff --git a/epmet-module/gov-org/gov-org-server/pom.xml b/epmet-module/gov-org/gov-org-server/pom.xml index 0ac2bc0ff1..08b8b0337e 100644 --- a/epmet-module/gov-org/gov-org-server/pom.xml +++ b/epmet-module/gov-org/gov-org-server/pom.xml @@ -147,6 +147,12 @@ 2.0.0 compile + + com.epmet + epmet-third-client + 2.0.0 + compile + diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java index 893bc95cda..3d86d05fb6 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java @@ -17,31 +17,35 @@ package com.epmet.controller; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.epmet.commons.rocketmq.messages.OrgOrStaffMQMsg; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.annotation.RequirePermission; import com.epmet.commons.tools.constant.StrConstant; -import com.epmet.commons.tools.enums.EnvEnum; +import com.epmet.commons.tools.enums.CollectUrlEnum; import com.epmet.commons.tools.enums.RequirePermissionEnum; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; -import com.epmet.commons.tools.utils.BarcodeUtils; +import com.epmet.commons.tools.utils.HttpClientManager; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.constant.CustomerAgencyConstant; import com.epmet.constant.OrgInfoConstant; import com.epmet.dto.CustomerAgencyDTO; -import com.epmet.dto.IcNeighborHoodDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.CustomerAgencyEntity; import com.epmet.feign.EpmetMessageOpenFeignClient; +import com.epmet.feign.OssFeignClient; +import com.epmet.resi.group.dto.QRCodeMultipartFileDTO; import com.epmet.send.SendMqMsgUtil; import com.epmet.service.AgencyService; import com.epmet.service.CustomerAgencyService; import com.epmet.service.IcNeighborHoodService; +import com.epmet.utils.ThirdUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; @@ -56,9 +60,9 @@ import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.io.OutputStream; +import java.net.URL; import java.net.URLEncoder; -import java.time.LocalDateTime; -import java.time.ZoneOffset; +import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -82,6 +86,8 @@ public class AgencyController { private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient; @Autowired private IcNeighborHoodService neighborHoodService; + @Autowired + private OssFeignClient ossFeignClient; /** * @param formDTO @@ -177,16 +183,7 @@ public class AgencyController { formDTO.setCustomerId(tokenDTO.getCustomerId()); ValidatorUtils.validateEntity(formDTO, EditAgencyFormDTO.DefaultUserShowGroup.class, EditAgencyFormDTO.AddUserInternalGroup.class); Result result = agencyService.editAgency(formDTO); - - //2021-10-18 推送mq,数据同步到中介库 start【中介库只放了组织的名称、级别,所以涉及批量修改pname的操作不涉及同步中间库】 - OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg(); - mq.setCustomerId(tokenDTO.getCustomerId()); - mq.setOrgId(formDTO.getAgencyId()); - mq.setOrgType("agency"); - mq.setType("agency_change"); - SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq); - //2021-10-18 end - + //发送mq 消息迁移至service return result; } @@ -409,45 +406,60 @@ public class AgencyController { public void createQrCode(@LoginUser TokenDto tokenDto, @RequestBody CreateQrCodeFormDTO formDTO, HttpServletResponse response) { ValidatorUtils.validateEntity(formDTO, CreateQrCodeFormDTO.CreateQrCodeForm.class); String id = formDTO.getId(); - String type = formDTO.getType(); String name = ""; + if(!formDTO.getType().equals(OrgInfoConstant.COMMUNITY)){ + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "只可生成社区码"); + } try { - if (type.equals(OrgInfoConstant.COMMUNITY)) { - CustomerAgencyDTO customerAgencyDTO = customerAgencyService.get(id); - if (customerAgencyDTO == null) { - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "组织信息不存在"); - } - name = customerAgencyDTO.getOrganizationName(); - } else if (type.equals(OrgInfoConstant.NEIGHBOR_HOOD)) { - IcNeighborHoodDTO icNeighborHoodDTO = neighborHoodService.get(id); - if (icNeighborHoodDTO == null) { - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "小区信息不存在"); + //获取AccessToken + String accessToken = ThirdUtils.getAccessToken(tokenDto.getCustomerId()).getResiToken(); + if (org.apache.commons.lang3.StringUtils.isBlank(accessToken)) { + log.warn("获取accessToken失败,customerId:{}", tokenDto.getCustomerId()); + throw new RenException("获取accessToken失败,customerId:{}", tokenDto.getCustomerId()); + } + CustomerAgencyDTO customerAgencyDTO = customerAgencyService.get(id); + if (customerAgencyDTO == null) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "组织信息不存在"); + } + name = customerAgencyDTO.getOrganizationName(); + //url组成:信息采集地址?社区id + StringBuilder path = new StringBuilder(CollectUrlEnum.URL_PRE.getCode()); + path.append("?agencyId=").append(formDTO.getId()); + //需要发送的Json + JSONObject data = new JSONObject(); + data.put("path", path.toString()); + data.put("width", 400); + //发送 + byte[] buffer = HttpClientManager.getInstance().getMediaByteArray(CollectUrlEnum.GET_CODE_URL.getCode() + accessToken, JSON.toJSONString(data)).getData(); + if (buffer != null && buffer.length < 500) { + String wxResult = ""; + wxResult = new String(buffer, StandardCharsets.UTF_8); + if (-1 != wxResult.indexOf("errcode")) { + log.error("获取二维码接口返回错误:{}", wxResult); + throw new RenException("获取二维码失败"); } - name = icNeighborHoodDTO.getNeighborHoodName(); } - //url组成:数字社区地址?小区id&用户id - //String url = "https://demo.tduckapp.com/s/7314b64b3a26455ab793fb8c640856b6?id="+id; - String url = EnvEnum.getCurrentEnv().getUrl() - .replace("cloud", "open") - .replace("api/", StrConstant.EPMETY_STR) - .concat("epmet-oper-gov/#/caiji/") - .concat(id).concat("?") - .concat("name=").concat(URLEncoder.encode(name, StrConstant.UTF_8)).concat(StrConstant.AND_MARK) - .concat("customerId=").concat(tokenDto.getCustomerId()).concat(StrConstant.AND_MARK) - .concat("type=").concat(type).concat(StrConstant.AND_MARK) - .concat("userId=").concat(tokenDto.getUserId()) - .concat(StrConstant.AND_MARK).concat(String.valueOf(LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli())); - BufferedImage image = BarcodeUtils.drawQRImage(name, url); - //BufferedImage 转 InputStream + //上传 + QRCodeMultipartFileDTO qrCodeMultipartFile = new QRCodeMultipartFileDTO(); + qrCodeMultipartFile.setBytes(buffer); + String originalFilename = name.concat(".jpg"); + qrCodeMultipartFile.setOriginalFilename(originalFilename); + Result uploadResult = ossFeignClient.uploadQrCode(qrCodeMultipartFile); + if (!uploadResult.success()) { + throw new RenException("调用oss服务上传活动居民信息录入码失败"); + } + + URL url = new URL(uploadResult.getData().getUrl()); + BufferedImage img = ImageIO.read(url); + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); ImageOutputStream imageOutput = ImageIO.createImageOutputStream(byteArrayOutputStream); - ImageIO.write(image, "png", imageOutput); + ImageIO.write(img, "png", imageOutput); InputStream inputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray()); long length = imageOutput.length(); - String fileName = name + ".png"; response.setContentType("application/octet-stream"); response.setContentLength((int) length); - response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, StrConstant.UTF_8)); + response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(originalFilename, StrConstant.UTF_8)); //输出流 byte[] bytes = new byte[1024]; @@ -459,10 +471,69 @@ public class AgencyController { outputStream.write(bytes, 0, len); } outputStream.flush(); + } catch (Exception e) { log.error("method exception", e); } } +// @PostMapping("create-qrcode") +// public void createQrCode(@LoginUser TokenDto tokenDto, @RequestBody CreateQrCodeFormDTO formDTO, HttpServletResponse response) { +// ValidatorUtils.validateEntity(formDTO, CreateQrCodeFormDTO.CreateQrCodeForm.class); +// String id = formDTO.getId(); +// String type = formDTO.getType(); +// String name = ""; +// try { +// if (type.equals(OrgInfoConstant.COMMUNITY)) { +// CustomerAgencyDTO customerAgencyDTO = customerAgencyService.get(id); +// if (customerAgencyDTO == null) { +// throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "组织信息不存在"); +// } +// name = customerAgencyDTO.getOrganizationName(); +// } else if (type.equals(OrgInfoConstant.NEIGHBOR_HOOD)) { +// IcNeighborHoodDTO icNeighborHoodDTO = neighborHoodService.get(id); +// if (icNeighborHoodDTO == null) { +// throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "小区信息不存在"); +// } +// name = icNeighborHoodDTO.getNeighborHoodName(); +// } +// //url组成:数字社区地址?小区id&用户id +// //String url = "https://demo.tduckapp.com/s/7314b64b3a26455ab793fb8c640856b6?id="+id; +// String url = EnvEnum.getCurrentEnv().getUrl() +// .replace("cloud", "open") +// .replace("api/", StrConstant.EPMETY_STR) +// .concat("epmet-oper-gov/#/caiji/") +// .concat(id).concat("?") +// .concat("name=").concat(URLEncoder.encode(name, StrConstant.UTF_8)).concat(StrConstant.AND_MARK) +// .concat("customerId=").concat(tokenDto.getCustomerId()).concat(StrConstant.AND_MARK) +// .concat("type=").concat(type).concat(StrConstant.AND_MARK) +// .concat("userId=").concat(tokenDto.getUserId()) +// .concat(StrConstant.AND_MARK).concat(String.valueOf(LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli())); +// BufferedImage image = BarcodeUtils.drawQRImage(name, url); +// //BufferedImage 转 InputStream +// ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); +// ImageOutputStream imageOutput = ImageIO.createImageOutputStream(byteArrayOutputStream); +// ImageIO.write(image, "png", imageOutput); +// InputStream inputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray()); +// long length = imageOutput.length(); +// String fileName = name + ".png"; +// response.setContentType("application/octet-stream"); +// response.setContentLength((int) length); +// response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, StrConstant.UTF_8)); +// +// //输出流 +// byte[] bytes = new byte[1024]; +// OutputStream outputStream = response.getOutputStream(); +// long count = 0; +// while (count < length) { +// int len = inputStream.read(bytes, 0, 1024); +// count += len; +// outputStream.write(bytes, 0, len); +// } +// outputStream.flush(); +// } catch (Exception e) { +// log.error("method exception", e); +// } +// } /** * Desc: 查询工作人员所属组织下的所有社区 diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java index c7d3f5ecb6..878200dc01 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java @@ -15,6 +15,7 @@ import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.send.SendMqMsgUtil; import com.epmet.service.CustomerGridService; import com.epmet.service.CustomerStaffAgencyService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -26,6 +27,7 @@ import java.util.List; */ @RestController @RequestMapping("grid") +@Slf4j public class GridController { @Autowired @@ -79,16 +81,7 @@ public class GridController { editGridFormDTO.setCustomerId(tokenDto.getCustomerId()); Result result = customerGridService.editGrid(tokenDto,editGridFormDTO); - //2021-10-18 推送mq,数据同步到中介库 start - if (result.success()) { - OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg(); - mq.setCustomerId(tokenDto.getCustomerId()); - mq.setOrgId(editGridFormDTO.getGridId()); - mq.setOrgType("grid"); - mq.setType("grid_change"); - SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq); - } - //2021-10-18 end + //发送mq 消息 移至service return result; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java index 62dfafccdf..0be889c93d 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java @@ -200,6 +200,34 @@ public class HouseController implements ResultDataResolver { return new Result(); } + /** + * 信息登记,更新房屋信息 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author wgf + * @date 2022/8/3 11:16 + */ + @NoRepeatSubmit + @PostMapping("updateCollect") + public Result updateCollect(@RequestBody CollectHouseFormDTO formDTO) { + houseService.updateCollect(formDTO); + return new Result(); + } + + /** + * 获取房屋信息 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author wgf + * @date 2022/8/3 11:16 + */ + @PostMapping("getHouseInfoToCollect") + public Result getHouseInfoToCollect(@RequestBody GetHouseInfoToCollectFormDTO formDTO) { + return houseService.getHouseInfoToCollect(formDTO); + } + /** * lzh * diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcWorkLogController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcWorkLogController.java new file mode 100644 index 0000000000..21c0f918fc --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcWorkLogController.java @@ -0,0 +1,88 @@ +package com.epmet.controller; + +import com.alibaba.nacos.client.naming.utils.CollectionUtils; +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.IcWorkLogDTO; +import com.epmet.excel.IcWorkLogExcel; +import com.epmet.service.IcWorkLogService; +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-08-05 + */ +@RestController +@RequestMapping("icWorkLog") +public class IcWorkLogController { + + @Autowired + private IcWorkLogService icWorkLogService; + + @RequestMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = icWorkLogService.page(params); + return new Result>().ok(page); + } + + @RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET}) + public Result get(@PathVariable("id") String id){ + IcWorkLogDTO data = icWorkLogService.get(id); + return new Result().ok(data); + } + + @NoRepeatSubmit + @PostMapping + public Result save(@RequestBody IcWorkLogDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + icWorkLogService.save(dto); + return new Result(); + } + + @NoRepeatSubmit + @PutMapping + public Result update(@RequestBody IcWorkLogDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + icWorkLogService.update(dto); + return new Result(); + } + + @RequestMapping(value = "delete", method = {RequestMethod.POST, RequestMethod.DELETE}) + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + icWorkLogService.delete(ids); + return new Result(); + } + + @GetMapping("export") + public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { + List list = icWorkLogService.list4Export(params); + if(CollectionUtils.isEmpty(list)){ + IcWorkLogDTO dto = new IcWorkLogDTO(); + dto.setId(""); + list.add(dto); + } + ExcelUtils.exportExcelToTarget(response, null, list, IcWorkLogExcel.class); + } + + + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcWorkLogFileController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcWorkLogFileController.java new file mode 100644 index 0000000000..65881f1876 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcWorkLogFileController.java @@ -0,0 +1,82 @@ +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.IcWorkLogFileDTO; +import com.epmet.excel.IcWorkLogFileExcel; +import com.epmet.service.IcWorkLogFileService; +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-08-05 + */ +@RestController +@RequestMapping("icWorkLogFile") +public class IcWorkLogFileController { + + @Autowired + private IcWorkLogFileService icWorkLogFileService; + + @RequestMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = icWorkLogFileService.page(params); + return new Result>().ok(page); + } + + @RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET}) + public Result get(@PathVariable("id") String id){ + IcWorkLogFileDTO data = icWorkLogFileService.get(id); + return new Result().ok(data); + } + + @NoRepeatSubmit + @PostMapping("save") + public Result save(@RequestBody IcWorkLogFileDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + icWorkLogFileService.save(dto); + return new Result(); + } + + @NoRepeatSubmit + @PostMapping("update") + public Result update(@RequestBody IcWorkLogFileDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + icWorkLogFileService.update(dto); + return new Result(); + } + + @RequestMapping(value = "delete", method = {RequestMethod.POST, RequestMethod.DELETE}) + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + icWorkLogFileService.delete(ids); + return new Result(); + } + + @GetMapping("export") + public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { + List list = icWorkLogFileService.list(params); + ExcelUtils.exportExcelToTarget(response, null, list, IcWorkLogFileExcel.class); + } + + + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/NeighborHoodController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/NeighborHoodController.java index ece90f219d..d318f9116b 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/NeighborHoodController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/NeighborHoodController.java @@ -141,4 +141,18 @@ public class NeighborHoodController { TemplateExportParams templatePath = new TemplateExportParams("excel/neighbor_template.xlsx"); ExcelPoiUtils.exportExcel(templatePath ,new HashMap<>(),"小区信息录入表",response); } + + /** + * @describe: 批量生成小区二维码 + * @author wangtong + * @date 2022/8/4 15:15 + * @params [loginUser] + * @return com.epmet.commons.tools.utils.Result + */ + @NoRepeatSubmit + @PostMapping("createBatchNeiQrUrl") + public Result createBatchNeiQrUrl(@LoginUser TokenDto loginUser) { + return neighborHoodService.createBatchNeiQrUrl(loginUser.getCustomerId()); + + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java index ac4eba65fd..3ae10791bf 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java @@ -2,6 +2,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.ImportGeneralDTO; +import com.epmet.dto.form.GetHouseInfoToCollectFormDTO; import com.epmet.dto.form.IcHouseListFormDTO; import com.epmet.dto.result.*; import com.epmet.entity.CustomerOrgParameterEntity; @@ -192,4 +193,12 @@ public interface IcHouseDao extends BaseDao { * @params [coding] */ IcHouseEntity selectByCoding(@Param("coding") String coding); + + /** + * 获取房屋信息 + * @param formDTO + * @return + */ + IcHouseInfoCollectResultDTO getHouseInfoToCollect(GetHouseInfoToCollectFormDTO formDTO); + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcWorkLogDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcWorkLogDao.java new file mode 100644 index 0000000000..dea24ced9c --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcWorkLogDao.java @@ -0,0 +1,39 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.IcWorkLogDTO; +import com.epmet.entity.IcWorkLogEntity; +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-08-05 + */ +@Mapper +public interface IcWorkLogDao extends BaseDao { + + /** + * 分页列表 + * + * @param params + * @return java.util.List + * @author zhy + * @date 2022/8/9 17:23 + */ + List listPage(Map params); + + /** + * 导出列表 + * + * @param params + * @return java.util.List + * @author zhy + * @date 2022/8/9 17:23 + */ + List list4Export(Map params); +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcWorkLogFileDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcWorkLogFileDao.java new file mode 100644 index 0000000000..3165b1039d --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcWorkLogFileDao.java @@ -0,0 +1,26 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.IcWorkLogFileEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 网格员工作日志附件 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-08-05 + */ +@Mapper +public interface IcWorkLogFileDao extends BaseDao { + + /** + * 删除 + * + * @param logId + * @return void + * @author generator + * @date 2022-08-05 + */ + void deleteByLogId(@Param("logId") String logId); +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcNeighborHoodEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcNeighborHoodEntity.java index f96edb70bb..26e278fd16 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcNeighborHoodEntity.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcNeighborHoodEntity.java @@ -116,4 +116,9 @@ public class IcNeighborHoodEntity extends BaseEpmetEntity { * 实有楼栋数 */ private Integer realBuilding; + + /** + * 二维码地址 + */ + private String qrcodeUrl; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcWorkLogEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcWorkLogEntity.java new file mode 100644 index 0000000000..1a7b7596be --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcWorkLogEntity.java @@ -0,0 +1,79 @@ +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-08-05 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_work_log") +public class IcWorkLogEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id + */ + private String customerId; + + /** + * 组织Id + */ + private String agencyId; + + /** + * agency_id的所有上级 + */ + private String pids; + + /** + * 网格Id【场所区域】 + */ + private String gridId; + + /** + * 标题 + */ + private String title; + + /** + * 日志类型【admin库sys_dict_data表value值】 + */ + private String logType; + + /** + * 日志日期 + */ + private String logDate; + + /** + * 内容 + */ + private String content; + + /** + * 备注 + */ + private String remark; + + /** + * 手机 + */ + private String mobile; + + /** + * 创建人名称 + */ + private String createdUser; + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcWorkLogFileEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcWorkLogFileEntity.java new file mode 100644 index 0000000000..361672c822 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcWorkLogFileEntity.java @@ -0,0 +1,54 @@ +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-08-05 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_work_log_file") +public class IcWorkLogFileEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id + */ + private String customerId; + + /** + * 日志Id + */ + private String logId; + + /** + * 地址 + */ + private String url; + + /** + * 文件名 + */ + private String fileName; + + /** + * 文件类型,0图片 + */ + private String fileType; + + /** + * 内容 + */ + private Integer sort; + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcWorkLogExcel.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcWorkLogExcel.java new file mode 100644 index 0000000000..3b58d200b8 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcWorkLogExcel.java @@ -0,0 +1,47 @@ +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-08-05 + */ +@Data +public class IcWorkLogExcel { + + @Excel(name = "网格员") + private String createdUser; + + @Excel(name = "联系电话") + private String mobile; + + @Excel(name = "所属镇街") + private String allAgencyName; + + @Excel(name = "所属网格") + private String gridName; + + @Excel(name = "标题") + private String title; + + @Excel(name = "日志时间") + private String logDate; + + @Excel(name = "日志类型") + private String logType; + + @Excel(name = "内容") + private String content; + + @Excel(name = "备注") + private String remark; + + @Excel(name = "照片") + private String url; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcWorkLogFileExcel.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcWorkLogFileExcel.java new file mode 100644 index 0000000000..cd03a4d193 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcWorkLogFileExcel.java @@ -0,0 +1,57 @@ +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-08-05 + */ +@Data +public class IcWorkLogFileExcel { + + @Excel(name = "唯一标识") + private String id; + + @Excel(name = "客户Id") + private String customerId; + + @Excel(name = "日志Id") + private String logId; + + @Excel(name = "地址") + private String url; + + @Excel(name = "文件名") + private String fileName; + + @Excel(name = "文件类型,0图片") + private String fileType; + + @Excel(name = "内容") + private Integer sort; + + @Excel(name = "删除标识:0.未删除 1.已删除") + private Integer delFlag; + + @Excel(name = "乐观锁") + private Integer revision; + + @Excel(name = "创建人") + private String createdBy; + + @Excel(name = "创建时间") + private Date createdTime; + + @Excel(name = "更新人") + private String updatedBy; + + @Excel(name = "更新时间") + private Date updatedTime; + + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcWorkLogFileRedis.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcWorkLogFileRedis.java new file mode 100644 index 0000000000..16a455e7bc --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcWorkLogFileRedis.java @@ -0,0 +1,30 @@ +package com.epmet.redis; + +import com.epmet.commons.tools.redis.RedisUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * 网格员工作日志附件 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-08-05 + */ +@Component +public class IcWorkLogFileRedis { + @Autowired + private RedisUtils redisUtils; + + public void delete(Object[] ids) { + + } + + public void set(){ + + } + + public String get(String id){ + return null; + } + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcWorkLogRedis.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcWorkLogRedis.java new file mode 100644 index 0000000000..fbada49154 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcWorkLogRedis.java @@ -0,0 +1,30 @@ +package com.epmet.redis; + +import com.epmet.commons.tools.redis.RedisUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * 网格员工作日志 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-08-05 + */ +@Component +public class IcWorkLogRedis { + @Autowired + private RedisUtils redisUtils; + + public void delete(Object[] ids) { + + } + + public void set(){ + + } + + public String get(String id){ + return null; + } + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java index a5c940b0c1..225c28405a 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java @@ -43,6 +43,7 @@ public interface HouseService { void updateHouse(String customerId, IcHouseAddFormDTO formDTO); + void updateCollect(CollectHouseFormDTO formDTO); /** * Desc: 房屋变更记录 @@ -54,6 +55,16 @@ public interface HouseService { */ void houseChangeRecord(String houseId, String customerId, IcHouseDTO houseDTO); + /** + * Desc: 房屋变更记录(信息登记) + * @param houseId + * @param customerId + * @param houseDTO + * @author wgf + * @date 2022/5/10 10:57 + */ + void houseChangeRecordCollect(String houseId, String customerId, IcHouseDTO houseDTO); + /** * 小寨子社区-合同签订后变更成出租状态 * @@ -175,4 +186,11 @@ public interface HouseService { Result getHomeInfoByHouseCode(HouseInfoFormDTO dto); void orgIdPathInit(); + + /** + * 获取房屋信息 + * @param formDTO + * @return + */ + Result getHouseInfoToCollect(GetHouseInfoToCollectFormDTO formDTO); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcWorkLogFileService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcWorkLogFileService.java new file mode 100644 index 0000000000..b5813982cd --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcWorkLogFileService.java @@ -0,0 +1,88 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.IcWorkLogFileDTO; +import com.epmet.entity.IcWorkLogFileEntity; + +import java.util.List; +import java.util.Map; + +/** + * 网格员工作日志附件 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-08-05 + */ +public interface IcWorkLogFileService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2022-08-05 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2022-08-05 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return IcWorkLogFileDTO + * @author generator + * @date 2022-08-05 + */ + IcWorkLogFileDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2022-08-05 + */ + void save(IcWorkLogFileDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2022-08-05 + */ + void update(IcWorkLogFileDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2022-08-05 + */ + void delete(String[] ids); + + /** + * 删除 + * + * @param logId + * @return void + * @author generator + * @date 2022-08-05 + */ + void deleteByLogId(String logId); +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcWorkLogService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcWorkLogService.java new file mode 100644 index 0000000000..d8c435a64a --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcWorkLogService.java @@ -0,0 +1,88 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.IcWorkLogDTO; +import com.epmet.entity.IcWorkLogEntity; + +import java.util.List; +import java.util.Map; + +/** + * 网格员工作日志 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-08-05 + */ +public interface IcWorkLogService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2022-08-05 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2022-08-05 + */ + List list(Map params); + + /** + * 查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2022-08-05 + */ + List list4Export(Map params); + + /** + * 单条查询 + * + * @param id + * @return IcWorkLogDTO + * @author generator + * @date 2022-08-05 + */ + IcWorkLogDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2022-08-05 + */ + void save(IcWorkLogDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2022-08-05 + */ + void update(IcWorkLogDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2022-08-05 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/NeighborHoodService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/NeighborHoodService.java index 24427a6657..b091fc4e32 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/NeighborHoodService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/NeighborHoodService.java @@ -18,6 +18,7 @@ package com.epmet.service; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.IcHouseListFormDTO; import com.epmet.dto.form.IcNeighborHoodAddFormDTO; import com.epmet.dto.form.IcNeighborHoodListFormDTO; @@ -51,4 +52,13 @@ public interface NeighborHoodService{ * @param response */ void exportNeighborhoodinfo(IcHouseListFormDTO formDTO, HttpServletResponse response) throws Exception ; + + /** + * @describe: 批量生成小区二维码 + * @author wangtong + * @date 2022/8/4 15:18 + * @params [customerId] + * @return com.epmet.commons.tools.utils.Result + */ + Result createBatchNeiQrUrl(String customerId); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index 61059fb01c..10499f4b52 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -20,6 +20,7 @@ package com.epmet.service.impl; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.epmet.commons.rocketmq.messages.OrgOrStaffMQMsg; import com.epmet.commons.tools.constant.Constant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; @@ -52,13 +53,14 @@ import com.epmet.entity.CustomerAgencyEntity; import com.epmet.entity.CustomerDepartmentEntity; import com.epmet.entity.CustomerGridEntity; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; +import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.OperCrmFeignClient; import com.epmet.redis.CustomerAgencyRedis; +import com.epmet.send.SendMqMsgUtil; import com.epmet.service.AgencyService; import com.epmet.service.CustomerAgencyService; import com.epmet.service.CustomerOrgParameterService; -import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.base.Joiner; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -71,7 +73,6 @@ import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.util.*; -import java.util.function.Function; import java.util.stream.Collectors; /** @@ -107,6 +108,8 @@ public class AgencyServiceImpl implements AgencyService { private IcBuildingDao icBuildingDao; @Autowired private CustomerDepartmentDao customerDepartmentDao; + @Autowired + private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient; /** * @param formDTO @@ -240,6 +243,16 @@ public class AgencyServiceImpl implements AgencyService { //5.redis缓存 customerAgencyRedis.delete(formDTO.getAgencyId()); + + //2021-10-18 推送mq,数据同步到中介库 start【中介库只放了组织的名称、级别,所以涉及批量修改pname的操作不涉及同步中间库】 + OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg(); + mq.setCustomerId(originalEntity.getCustomerId()); + mq.setOrgId(formDTO.getAgencyId()); + mq.setOrgType("agency"); + mq.setType("agency_change"); + mq.setOldCode(originalEntity.getCode()); + SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq); + //2021-10-18 end //6.一些下拉组织树的缓存要清除掉 String orgTreeCachePrexKey = RedisKeys.getOrgTreeCachePrexKey(formDTO.getCustomerId()); customerAgencyRedis.deleteByPrex(orgTreeCachePrexKey); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java index 77fb6a3d53..86e54b4356 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java @@ -202,7 +202,7 @@ public class BuildingServiceImpl implements BuildingService { // agencyIdList.add(customerAgency.getId()); LambdaQueryWrapper gridWrapper = new LambdaQueryWrapper<>(); gridWrapper.in(CustomerGridEntity::getPid, agencyIdList); - gridWrapper.last("ORDER BY CAST(GRID_NAME AS SIGNED),CONVERT(GRID_NAME using gbk)"); + gridWrapper.last("ORDER BY sort,CAST(GRID_NAME AS SIGNED),CONVERT(GRID_NAME using gbk)"); List customerGridList = customerGridDao.selectList(gridWrapper); if (CollectionUtils.isEmpty(customerGridList)) { diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java index 162aed146b..df84bed116 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java @@ -55,7 +55,6 @@ import com.epmet.entity.CustomerGridEntity; import com.epmet.entity.CustomerStaffGridEntity; import com.epmet.entity.StaffOrgRelationEntity; import com.epmet.feign.*; -import com.epmet.resi.partymember.feign.ResiPartyMemberOpenFeignClient; import com.epmet.send.SendMqMsgUtil; import com.epmet.service.CustomerAgencyService; import com.epmet.service.CustomerGridService; @@ -111,10 +110,6 @@ public class CustomerGridServiceImpl extends BaseServiceImpl wrapper = new LambdaQueryWrapper<>(); wrapper.eq(CustomerGridEntity::getPid, agencyId); - wrapper.last("ORDER BY CONVERT ( GRID_NAME USING gbk ) ASC"); + wrapper.last("ORDER BY sort,CONVERT ( GRID_NAME USING gbk ) desc"); List list = baseDao.selectList(wrapper); if (CollectionUtils.isEmpty(list)) { return Collections.emptyList(); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index 5d0556337b..f7c5713e7a 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -244,6 +244,30 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { icHouseRedis.delHouseInfo(formDTO.getHouseId(), customerId); } + /** + * 更新房屋(信息登记) + * + * @param + * @param formDTO + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void updateCollect(CollectHouseFormDTO formDTO) { + IcHouseEntity entity = new IcHouseEntity(); + entity.setId(formDTO.getId()); + entity.setRentFlag(formDTO.getRentFlag()); + entity.setOwnerName(formDTO.getOwnerName()); + entity.setResiNumber(formDTO.getResiNumber()); + + // 更新变更记录 + IcHouseDTO icHouseDTO = ConvertUtils.sourceToTarget(formDTO, IcHouseDTO.class); + houseChangeRecordCollect(formDTO.getId(), formDTO.getCustomerId(), icHouseDTO); + + icHouseDao.updateById(entity); + //删除房屋缓存 + icHouseRedis.delHouseInfo(formDTO.getId(), entity.getCustomerId()); + } + /** * Desc: 房屋变更记录 * @@ -337,6 +361,64 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { } } + /** + * Desc: 房屋变更记录(信息登记) + * + * @param houseId + * @param customerId + * @param houseDTO + * @author wgf + * @date 2022/5/10 10:57 + */ + @Transactional(rollbackFor = Exception.class) + @Override + public void houseChangeRecordCollect(String houseId, String customerId, IcHouseDTO houseDTO) { + IcHouseEntity entity = icHouseService.selectById(houseId); + entity.setOwnerName(null == entity.getOwnerName() ? "" : entity.getOwnerName()); + entity.setOwnerPhone(null == entity.getOwnerPhone() ? "" : entity.getOwnerPhone()); + entity.setOwnerIdCard(null == entity.getOwnerIdCard() ? "" : entity.getOwnerIdCard()); + if (null == entity) { + throw new EpmetException("不存在此房屋..."); + } + StringBuilder sbBefore = new StringBuilder(); + StringBuilder sbAfter = new StringBuilder(); + List entityList = new ArrayList<>(); + + if (!houseDTO.getRentFlag().equals(entity.getRentFlag())) { + sbAfter.append(HouseChangeEnums.RENT_FLAG.getColumnName()).append(":").append(null == houseDTO.getRentName() ? HouseRentFlagEnums.getTypeValue(houseDTO.getRentFlag()) : houseDTO.getRentName()).append(";"); + sbBefore.append(HouseChangeEnums.RENT_FLAG.getColumnName()).append(":").append(HouseRentFlagEnums.getTypeValue(entity.getRentFlag())).append(";"); + IcHouseChangeDetailEntity e = new IcHouseChangeDetailEntity(); + e.setChangeCol(HouseChangeEnums.RENT_FLAG.getColumn()); + e.setChangeAfter(null == houseDTO.getRentName() ? HouseRentFlagEnums.getTypeValue(houseDTO.getRentFlag()) : houseDTO.getRentName()); + e.setChangeBefore(HouseRentFlagEnums.getTypeValue(entity.getRentFlag())); + entityList.add(e); + } + if (null != houseDTO.getOwnerName() && !houseDTO.getOwnerName().equals(entity.getOwnerName())) { + sbAfter.append(HouseChangeEnums.OWNER_NAME.getColumnName()).append(":").append(StringUtils.isNotBlank(houseDTO.getOwnerName()) ? houseDTO.getOwnerName() : "无").append(";"); + sbBefore.append(HouseChangeEnums.OWNER_NAME.getColumnName()).append(":").append(StringUtils.isNotBlank(entity.getOwnerName()) ? entity.getOwnerName() : "无").append(";"); + IcHouseChangeDetailEntity e = new IcHouseChangeDetailEntity(); + e.setChangeCol(HouseChangeEnums.OWNER_NAME.getColumn()); + e.setChangeAfter(StringUtils.isNotBlank(houseDTO.getOwnerName()) ? houseDTO.getOwnerName() : "无"); + e.setChangeBefore(StringUtils.isNotBlank(entity.getOwnerName()) ? entity.getOwnerName() : "无"); + entityList.add(e); + } + if (StringUtils.isNotBlank(sbAfter)) { + String before = sbBefore.substring(NumConstant.ZERO, sbBefore.length() - NumConstant.ONE); + String after = sbAfter.substring(NumConstant.ZERO, sbAfter.length() - NumConstant.ONE); + HouseAgencyInfoResultDTO houseAgencyInfo = icHouseDao.getHouseAgencyInfo(houseId); + IcHouseChangeRecordEntity recordEntity = ConvertUtils.sourceToTarget(houseAgencyInfo, IcHouseChangeRecordEntity.class); + recordEntity.setCustomerId(customerId); + recordEntity.setChangeBefore(before); + recordEntity.setChangeAfter(after); + changeRecordService.insert(recordEntity); + entityList.forEach(e -> { + e.setCustomerId(customerId); + e.setRecordId(recordEntity.getId()); + }); + changeDetailService.insertBatch(entityList); + } + } + @Override @Transactional(rollbackFor = Exception.class) public void update2Rent(RentHouseFormDTO formDTO) { @@ -1220,4 +1302,12 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { } recureAppendParentAgencyId(pid, result); } + + + @Override + public Result getHouseInfoToCollect(GetHouseInfoToCollectFormDTO formDTO) { + IcHouseInfoCollectResultDTO icHouseInfoCollectResultDTO = icHouseDao.getHouseInfoToCollect(formDTO); + + return new Result().ok(icHouseInfoCollectResultDTO); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcWorkLogFileServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcWorkLogFileServiceImpl.java new file mode 100644 index 0000000000..eac5f28c73 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcWorkLogFileServiceImpl.java @@ -0,0 +1,95 @@ +package com.epmet.service.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.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.dao.IcWorkLogFileDao; +import com.epmet.dto.IcWorkLogFileDTO; +import com.epmet.entity.IcWorkLogFileEntity; +import com.epmet.redis.IcWorkLogFileRedis; +import com.epmet.service.IcWorkLogFileService; +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-08-05 + */ +@Service +public class IcWorkLogFileServiceImpl extends BaseServiceImpl implements IcWorkLogFileService { + + @Autowired + private IcWorkLogFileRedis icWorkLogFileRedis; + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, IcWorkLogFileDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, IcWorkLogFileDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + String logId = (String)params.get("logId"); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + wrapper.eq(StringUtils.isNotBlank(logId), "LOG_ID", logId); + + return wrapper; + } + + @Override + public IcWorkLogFileDTO get(String id) { + IcWorkLogFileEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, IcWorkLogFileDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(IcWorkLogFileDTO dto) { + IcWorkLogFileEntity entity = ConvertUtils.sourceToTarget(dto, IcWorkLogFileEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(IcWorkLogFileDTO dto) { + IcWorkLogFileEntity entity = ConvertUtils.sourceToTarget(dto, IcWorkLogFileEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteByLogId(String id) { + baseDao.deleteByLogId(id); + } + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcWorkLogServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcWorkLogServiceImpl.java new file mode 100644 index 0000000000..49d3a2b73a --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcWorkLogServiceImpl.java @@ -0,0 +1,198 @@ +package com.epmet.service.impl; + +import com.alibaba.fastjson.JSON; +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.enums.DictTypeEnum; +import com.epmet.commons.tools.exception.EpmetException; +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.utils.Result; +import com.epmet.dao.CustomerGridDao; +import com.epmet.dao.IcWorkLogDao; +import com.epmet.dto.CustomerStaffDTO; +import com.epmet.dto.IcWorkLogDTO; +import com.epmet.dto.IcWorkLogFileDTO; +import com.epmet.dto.form.CustomerGridFormDTO; +import com.epmet.dto.result.GridDetailResultDTO; +import com.epmet.entity.IcWorkLogEntity; +import com.epmet.entity.IcWorkLogFileEntity; +import com.epmet.feign.EpmetAdminOpenFeignClient; +import com.epmet.feign.EpmetUserFeignClient; +import com.epmet.redis.IcWorkLogRedis; +import com.epmet.service.IcWorkLogFileService; +import com.epmet.service.IcWorkLogService; +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 javax.annotation.Resource; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 网格员工作日志 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-08-05 + */ +@Service +public class IcWorkLogServiceImpl extends BaseServiceImpl implements IcWorkLogService { + + @Autowired + private IcWorkLogRedis icWorkLogRedis; + + @Autowired + private LoginUserUtil loginUserUtil; + + @Autowired + private IcWorkLogFileService icWorkLogFileService; + + @Autowired + private EpmetUserFeignClient epmetUserFeignClient; + + @Autowired + private EpmetAdminOpenFeignClient epmetAdminOpenFeignClient; + + @Resource + private CustomerGridDao customerGridDao; + + + @Override + public PageData page(Map params) { + params.put("customerId", loginUserUtil.getLoginUserCustomerId()); + params.put("createdBy", loginUserUtil.getLoginUserId()); + IPage page = getPage(params); + List list = baseDao.listPage(params); + return new PageData<>(list, page.getTotal()); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, IcWorkLogDTO.class); + } + + @Override + public List list4Export(Map params) { + params.put("customerId", loginUserUtil.getLoginUserCustomerId()); + params.put("createdBy", loginUserUtil.getLoginUserId()); + List list = baseDao.list4Export(params); + Result> result = epmetAdminOpenFeignClient.dictMap(DictTypeEnum.LOG_TYPE.getCode()); + if (!result.success() || null == result.getData()) { + throw new EpmetException("查询字典信息失败" + JSON.toJSONString(result)); + } else { + Map logTypeMap = result.getData(); + list.forEach(item -> item.setLogType(logTypeMap.get(item.getLogType()))); + } + + return list; + } + + private QueryWrapper getWrapper(Map params) { + String id = (String) params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public IcWorkLogDTO get(String id) { + IcWorkLogEntity entity = baseDao.selectById(id); + IcWorkLogDTO dto = ConvertUtils.sourceToTarget(entity, IcWorkLogDTO.class); + Map params = new HashMap<>(2); + params.put("logId", id); + List files = icWorkLogFileService.list(params); + files.forEach(item -> item.setName(item.getFileName())); + dto.setFileList(files); + return dto; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(IcWorkLogDTO dto) { + dto.setCustomerId(loginUserUtil.getLoginUserCustomerId()); + //查询当前申请用户的基本信息 + CustomerStaffDTO customerStaffParam = new CustomerStaffDTO(); + customerStaffParam.setUserId(loginUserUtil.getLoginUserId()); + Result staffInfo = epmetUserFeignClient.getCustomerStaffInfoByUserId(customerStaffParam); + if (!staffInfo.success() || null == staffInfo.getData()) { + throw new EpmetException("查询用户信息失败" + JSON.toJSONString(customerStaffParam)); + } else { + dto.setCreatedUser(staffInfo.getData().getRealName()); + dto.setMobile(staffInfo.getData().getMobile()); + } + // 查询网格信息 + CustomerGridFormDTO customerGridFormDTO = new CustomerGridFormDTO(); + customerGridFormDTO.setGridId(dto.getGridId()); + GridDetailResultDTO gridDetailResultDTO = customerGridDao.griddetail(customerGridFormDTO); + if (gridDetailResultDTO != null) { + dto.setAgencyId(gridDetailResultDTO.getAgencyId()); + dto.setPids(gridDetailResultDTO.getPIds()); + } + IcWorkLogEntity entity = ConvertUtils.sourceToTarget(dto, IcWorkLogEntity.class); + insert(entity); + + // 处理附件 + fileHandle(dto.getFileList(), entity.getId()); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(IcWorkLogDTO dto) { + // 查询网格信息 + CustomerGridFormDTO customerGridFormDTO = new CustomerGridFormDTO(); + customerGridFormDTO.setGridId(dto.getGridId()); + GridDetailResultDTO gridDetailResultDTO = customerGridDao.griddetail(customerGridFormDTO); + if (gridDetailResultDTO != null) { + dto.setAgencyId(gridDetailResultDTO.getAgencyId()); + dto.setPids(gridDetailResultDTO.getPIds()); + } + IcWorkLogEntity entity = ConvertUtils.sourceToTarget(dto, IcWorkLogEntity.class); + updateById(entity); + + // 处理附件 + icWorkLogFileService.deleteByLogId(entity.getId()); + fileHandle(dto.getFileList(), entity.getId()); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + + /** + * 附件处理 + * + * @param fileList + * @param logId + * @return void + * @author zhy + * @date 2022/8/9 17:24 + */ + private void fileHandle(List fileList, String logId) { + if (!fileList.isEmpty()) { + fileList.forEach(item -> { + item.setLogId(logId); + item.setCustomerId(loginUserUtil.getLoginUserCustomerId()); + item.setFileType(NumConstant.ZERO_STR); + }); + + List fileEntityList = ConvertUtils.sourceToTarget(fileList, IcWorkLogFileEntity.class); + icWorkLogFileService.insertBatch(fileEntityList); + } + } + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java index 0f5079181b..a7d6cf0769 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java @@ -1,20 +1,22 @@ package com.epmet.service.impl; import cn.afterturn.easypoi.excel.entity.TemplateExportParams; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.enums.CollectUrlEnum; import com.epmet.commons.tools.enums.OrgTypeEnum; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.HttpClientManager; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.NeighborhoodConstant; -import com.epmet.dao.CustomerGridDao; -import com.epmet.dao.IcNeighborHoodDao; -import com.epmet.dao.IcNeighborHoodPropertyDao; -import com.epmet.dao.IcOrganizationCodeInfoDao; +import com.epmet.dao.*; import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.IcNeighborHoodDTO; import com.epmet.dto.IcNeighborHoodPropertyDTO; @@ -24,18 +26,19 @@ import com.epmet.dto.form.IcNeighborHoodListFormDTO; import com.epmet.dto.form.IcUserBelongToChangedFormDTO; import com.epmet.dto.result.IcNeighborHoodResultDTO; import com.epmet.dto.result.OrganizationCommunityDTO; -import com.epmet.entity.IcHouseEntity; -import com.epmet.entity.IcNeighborHoodEntity; -import com.epmet.entity.IcNeighborHoodPropertyEntity; -import com.epmet.entity.IcOrganizationCodeInfoEntity; +import com.epmet.dto.result.UploadImgResultDTO; +import com.epmet.entity.*; import com.epmet.enums.OrganizationTypeEnums; import com.epmet.excel.IcNeighborHoodExcel; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.GovOrgOpenFeignClient; +import com.epmet.feign.OssFeignClient; +import com.epmet.resi.group.dto.QRCodeMultipartFileDTO; import com.epmet.service.IcNeighborHoodPropertyService; import com.epmet.service.IcNeighborHoodService; import com.epmet.service.NeighborHoodService; import com.epmet.util.ExcelPoiUtils; +import com.epmet.utils.ThirdUtils; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; @@ -46,6 +49,7 @@ import org.springframework.util.StringUtils; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -73,6 +77,10 @@ public class NeighborHoodServiceImpl extends BaseServiceImpl uploadResult = ossFeignClient.uploadQrCode(qrCodeMultipartFile); + if (!uploadResult.success()) { + throw new RenException("调用oss服务上传活动居民信息录入码失败"); + } + return uploadResult.getData().getUrl(); } /** @@ -271,6 +336,28 @@ public class NeighborHoodServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(IcNeighborHoodEntity::getCustomerId,customerId) + .eq(IcNeighborHoodEntity::getDelFlag, NumConstant.ZERO_STR);; + List neiList = baseDao.selectList(queryWrapper); + //保存二维码地址 + neiList.forEach(nei->{ + if(org.apache.commons.lang3.StringUtils.isBlank(nei.getQrcodeUrl())){ + try { + nei.setQrcodeUrl(createNeiQrcodeUrl(nei)); + } catch (Exception e) { + e.printStackTrace(); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"二维码生成失败:"+nei.getId(),"二维码生成失败:"+nei.getId()); + } + } + baseDao.updateById(nei); + }); + return new Result().ok("批量生成成功"); + } + private List searchAllNeighborhood(IcHouseListFormDTO formDTO) { IcNeighborHoodEntity neighbor = ConvertUtils.sourceToTarget(formDTO, IcNeighborHoodEntity.class); neighbor.setDelFlag("0"); diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.40__add_column.sql b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.40__add_column.sql new file mode 100644 index 0000000000..c7700c344b --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.40__add_column.sql @@ -0,0 +1,2 @@ +ALTER TABLE `epmet_gov_org`.`customer_grid` +ADD COLUMN `sort` int(11) NULL COMMENT '网格排序' AFTER `MOBILE`; diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.41__ic_neighbor_hood_update.sql b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.41__ic_neighbor_hood_update.sql new file mode 100644 index 0000000000..754bf0631a --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.41__ic_neighbor_hood_update.sql @@ -0,0 +1 @@ +alter table ic_neighbor_hood add COLUMN `QRCODE_URL` varchar(255) DEFAULT NULL COMMENT '二维码地址'; diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.42__add_work_log.sql b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.42__add_work_log.sql new file mode 100644 index 0000000000..611985c76e --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.42__add_work_log.sql @@ -0,0 +1,67 @@ +/* + Navicat Premium Data Transfer + + Source Server : epmet_cloud_dev_gov + Source Server Type : MySQL + Source Server Version : 50726 + Source Host : 192.168.1.140:3306 + Source Schema : epmet_gov_org + + Target Server Type : MySQL + Target Server Version : 50726 + File Encoding : 65001 + + Date: 09/08/2022 10:41:08 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for ic_work_log +-- ---------------------------- +DROP TABLE IF EXISTS `ic_work_log`; +CREATE TABLE `ic_work_log` ( + `ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '唯一标识', + `CUSTOMER_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '客户Id', + `AGENCY_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '组织Id', + `PIDS` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'agency_id的所有上级', + `GRID_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网格Id【场所区域】', + `TITLE` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '标题', + `LOG_TYPE` char(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '日志类型【admin库sys_dict_data表value值】', + `LOG_DATE` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '日志日期', + `CONTENT` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '内容', + `REMARK` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `MOBILE` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机', + `DEL_FLAG` int(11) NOT NULL COMMENT '删除标识:0.未删除 1.已删除', + `REVISION` int(11) NOT NULL 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 '更新时间', + `CREATED_USER` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人名称', + PRIMARY KEY (`ID`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '网格员工作日志' ROW_FORMAT = COMPACT; + +-- ---------------------------- +-- Table structure for ic_work_log_file +-- ---------------------------- +DROP TABLE IF EXISTS `ic_work_log_file`; +CREATE TABLE `ic_work_log_file` ( + `ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '唯一标识', + `CUSTOMER_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '客户Id', + `LOG_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '日志Id', + `URL` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '地址', + `FILE_NAME` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件名', + `FILE_TYPE` char(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '文件类型,0图片', + `SORT` int(11) NOT NULL DEFAULT 0 COMMENT '内容', + `DEL_FLAG` int(11) NOT NULL COMMENT '删除标识:0.未删除 1.已删除', + `REVISION` int(11) NOT NULL 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 = COMPACT; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index d0e2d2e34c..28f1953c93 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -371,6 +371,7 @@ WHERE cg.DEL_FLAG = '0' AND cg.PID =#{agencyId} + order by cg.sort @@ -474,8 +482,10 @@ AND grid.customer_id = #{customerId} ORDER BY - grid.customer_id, - CONVERT ( gridName USING gbk ) ASC + grid.sort, + CONVERT ( gridName USING gbk ) ASC, + grid.customer_id + LIMIT #{pageNo}, #{pageSize} @@ -488,7 +498,9 @@ SELECT a.id AS grid_id, a.customer_id, - concat( agency.fullname, '-', a.grid_name ) AS gridName + concat( agency.fullname, '-', a.grid_name ) AS gridName, + a.sort as sort, + agency.fullname as fullName FROM CUSTOMER_GRID a LEFT JOIN ( @@ -512,7 +524,7 @@ and a.ABANDON_FLAG='0' AND a.customer_id = #{customerId} ) AS c - ORDER BY CONVERT ( gridName USING gbk ) ASC + ORDER BY fullName,c.sort,CONVERT ( gridName USING gbk ) ASC LIMIT #{pageNo}, #{pageSize} diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml index 2abb12cdda..8b900c90dd 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml @@ -541,5 +541,13 @@ and CODING=#{coding} + + diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcWorkLogDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcWorkLogDao.xml new file mode 100644 index 0000000000..0e0c4dae24 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcWorkLogDao.xml @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcWorkLogFileDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcWorkLogFileDao.xml new file mode 100644 index 0000000000..7461622a6e --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcWorkLogFileDao.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + DELETE + FROM + ic_work_log_file + WHERE + LOG_ID = #{logId} + + \ No newline at end of file diff --git a/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/ExractGridInfoPingYinFormDTO.java b/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/ExractGridInfoPingYinFormDTO.java index 970f98e1ab..66903400f5 100644 --- a/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/ExractGridInfoPingYinFormDTO.java +++ b/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/ExractGridInfoPingYinFormDTO.java @@ -36,5 +36,10 @@ public class ExractGridInfoPingYinFormDTO implements Serializable { */ @NotBlank(message = "操作类型【新增:add 修改删除:edit 初始化所有数据:all】不能为空", groups = {GridInfo.class}) private String type; + + /** + * org 编辑之前的Code 如果有修改 则直接更新其他涉及到的表 + */ + private String oldCode; } diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataOrgChangeEventListener.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataOrgChangeEventListener.java index deb7384c61..d1b1bf0912 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataOrgChangeEventListener.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataOrgChangeEventListener.java @@ -37,12 +37,12 @@ public class OpenDataOrgChangeEventListener implements MessageListenerConcurrent private RedisUtils redisUtils; private DistributedLock distributedLock; - + public OpenDataOrgChangeEventListener(DistributedLock distributedLock) { this.distributedLock = distributedLock; } - - + + @Override public ConsumeConcurrentlyStatus consumeMessage(List msgs, ConsumeConcurrentlyContext context) { @@ -51,7 +51,7 @@ public class OpenDataOrgChangeEventListener implements MessageListenerConcurrent } try { - msgs.forEach(msg -> consumeMessage(msg)); + msgs.forEach(this::consumeMessage); } catch (Exception e) { logger.error(ExceptionUtils.getErrorStackTrace(e)); return ConsumeConcurrentlyStatus.RECONSUME_LATER; @@ -94,6 +94,7 @@ public class OpenDataOrgChangeEventListener implements MessageListenerConcurrent ExractGridInfoPingYinFormDTO extractFormDto = new ExractGridInfoPingYinFormDTO(); extractFormDto.setCustomerId(obj.getCustomerId()); extractFormDto.setType(obj.getType()); + extractFormDto.setOldCode(obj.getOldCode()); List orgIdList = new ArrayList<>(); if(StringUtils.isNotBlank(obj.getOrgId())){ orgIdList.add(obj.getOrgId()); diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/GridInfoPingyinServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/GridInfoPingyinServiceImpl.java index c2d915155f..9958530251 100755 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/GridInfoPingyinServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/GridInfoPingyinServiceImpl.java @@ -1,5 +1,6 @@ package com.epmet.opendata.service.impl; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.Constant; import com.epmet.commons.tools.constant.NumConstant; @@ -7,14 +8,22 @@ import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.IndexCalConstant; +import com.epmet.dto.org.form.GridBaseInfoFormDTO; import com.epmet.dto.org.result.CustomerAgencyDTO; import com.epmet.dto.org.result.CustomerGridDTO; import com.epmet.feign.DataStatisticalOpenFeignClient; +import com.epmet.opendata.dao.EventreportPingyinDao; import com.epmet.opendata.dao.GridInfoPingyinDao; +import com.epmet.opendata.dao.GridstaffInfoPingyinDao; +import com.epmet.opendata.dao.GridstaffWorkInfoPingyinDao; import com.epmet.opendata.dto.constant.DataWorkerConstant; import com.epmet.opendata.dto.form.ExractGridInfoPingYinFormDTO; +import com.epmet.opendata.entity.EventreportPingyinEntity; import com.epmet.opendata.entity.GridInfoPingyinEntity; +import com.epmet.opendata.entity.GridstaffInfoPingyinEntity; +import com.epmet.opendata.entity.GridstaffWorkInfoPingyinEntity; import com.epmet.opendata.service.GridInfoPingyinService; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.ListUtils; import org.apache.commons.lang3.StringUtils; @@ -33,11 +42,18 @@ import java.util.List; * @author generator generator@elink-cn.com * @since v1.0.0 2022-07-22 */ +@Slf4j @Service public class GridInfoPingyinServiceImpl extends BaseServiceImpl implements GridInfoPingyinService { @Autowired private DataStatisticalOpenFeignClient dataStatisticalOpenFeignClient; + @Autowired + private GridstaffInfoPingyinDao gridstaffInfoPingyinDao; + @Autowired + private GridstaffWorkInfoPingyinDao gridstaffWorkInfoPingyinDao; + @Autowired + private EventreportPingyinDao eventreportPingyinDao; /** * 抽取customer_agency到grid_info_pingyin表 @@ -99,9 +115,13 @@ public class GridInfoPingyinServiceImpl extends BaseServiceImpl orginList = baseDao.selectByGridCode(entity.getGridCode()); if (CollectionUtils.isNotEmpty(orginList)) { @@ -138,7 +158,7 @@ public class GridInfoPingyinServiceImpl extends BaseServiceImpl> result = dataStatisticalOpenFeignClient.getGridBaseInfo(formDTO1); if (!result.success()) { + log.warn("根据网格Id 没有找到网格 等待再次调用"); throw new RenException(result.getInternalMsg()); } if (null == result.getData() || result.getData().size() < NumConstant.ONE) { @@ -195,7 +216,9 @@ public class GridInfoPingyinServiceImpl extends BaseServiceImpl orginList = baseDao.selectByGridCode(entity.getGridCode()); if (CollectionUtils.isNotEmpty(orginList)) { @@ -224,5 +247,51 @@ public class GridInfoPingyinServiceImpl extends BaseServiceImpl updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(GridInfoPingyinEntity::getGridCode,formDTO.getOldCode()); + int update = baseDao.update(gridInfoEntity, updateWrapper); + log.info("code changed gridinfo effect row:{}",update); + //更新完 网格code 去更新其他的业务【工作人员、例行工作、事件】数据对应的code + + GridstaffInfoPingyinEntity staffInfo = new GridstaffInfoPingyinEntity(); + staffInfo.setGridCode(entity.getGridCode()); + staffInfo.setUpdateTime(new Date()); + + LambdaUpdateWrapper staffInfoWrapper = new LambdaUpdateWrapper<>(); + staffInfoWrapper.eq(GridstaffInfoPingyinEntity::getGridCode,formDTO.getOldCode()); + update = gridstaffInfoPingyinDao.update(staffInfo, staffInfoWrapper); + log.info("code changed gridStaffInfo effect row:{}",update); + + GridstaffWorkInfoPingyinEntity workInfo = new GridstaffWorkInfoPingyinEntity(); + workInfo.setGridCode(entity.getGridCode()); + workInfo.setUpdateTime(new Date()); + + LambdaUpdateWrapper workInfoWrapper = new LambdaUpdateWrapper<>(); + workInfoWrapper.eq(GridstaffWorkInfoPingyinEntity::getGridCode,formDTO.getOldCode()); + update = gridstaffWorkInfoPingyinDao.update(workInfo, workInfoWrapper); + log.info("code changed staffWorkInfo effect row:{}",update); + + EventreportPingyinEntity eventEntity = new EventreportPingyinEntity(); + eventEntity.setGridCode(entity.getGridCode()); + eventEntity.setUpdateTime(new Date()); + + LambdaUpdateWrapper eventWrapper = new LambdaUpdateWrapper<>(); + eventWrapper.eq(EventreportPingyinEntity::getGridCode,formDTO.getOldCode()); + update = eventreportPingyinDao.update(eventEntity, eventWrapper); + log.info("code changed eventreport effect row:{}",update); + + } + } + } diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IcFormDataAnalysisDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IcFormDataAnalysisDTO.java new file mode 100644 index 0000000000..50553ab568 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IcFormDataAnalysisDTO.java @@ -0,0 +1,27 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description + * @Author yzm + * @Date 2022/8/11 13:35 + */ +@Data +public class IcFormDataAnalysisDTO implements Serializable { + private String itemId; + private String label; + /** + * 分组ID,'默认,0' + */ + private String itemGroupId; + private String tableName; + /** + * 列名 + */ + private String columnName; + private Integer sort; +} + diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormItemDao.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormItemDao.java index df9da799b0..fbc68cac11 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormItemDao.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormItemDao.java @@ -97,4 +97,6 @@ public interface IcFormItemDao extends BaseDao { */ List getItemListByGroupId(@Param("customerId") String customerId, @Param("groupId") String groupId); List getItemListByGroupIdV2(@Param("customerId") String customerId, @Param("groupId") String groupId,@Param("policyFlag")String policyFlag); + + List selectDataAnalysisItem(String customerId); } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/ResiCategoryStatsConfigServiceImpl.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/ResiCategoryStatsConfigServiceImpl.java index a21534cdce..6bd45b6152 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/ResiCategoryStatsConfigServiceImpl.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/ResiCategoryStatsConfigServiceImpl.java @@ -1,20 +1,15 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.epmet.commons.tools.constant.NumConstant; -import com.epmet.commons.tools.constant.StrConstant; -import com.epmet.constant.IcResiCategoryStatsConfigConstant; import com.epmet.dao.IcFormItemDao; -import com.epmet.dao.IcFormItemGroupDao; import com.epmet.dao.IcResiCategoryStatsConfigDao; import com.epmet.dao.IcResiCategoryWarnConfigDao; import com.epmet.dto.IcResiCategoryStatsConfigDTO; import com.epmet.dto.form.IcResiCategoryStatsConfigFormDTO; import com.epmet.dto.form.IcResiCategoryStatsConfigSortFormDTO; import com.epmet.dto.form.ResiCategoryStatsConfigListFormDTO; +import com.epmet.dto.result.IcFormDataAnalysisDTO; import com.epmet.dto.result.IcResiCategoryStatsConfigResultDTO; -import com.epmet.entity.IcFormItemEntity; -import com.epmet.entity.IcFormItemGroupEntity; import com.epmet.entity.IcResiCategoryStatsConfigEntity; import com.epmet.entity.IcResiCategoryWarnConfigEntity; import com.epmet.service.IcResiCategoryStatsConfigService; @@ -28,7 +23,10 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; @Slf4j @@ -40,8 +38,6 @@ public class ResiCategoryStatsConfigServiceImpl implements ResiCategoryStatsConf @Resource private IcFormItemDao icFormItemDao; @Resource - private IcFormItemGroupDao icFormItemGroupDao; - @Resource private IcResiCategoryStatsConfigDao icResiCategoryStatsConfigDao; @Resource private IcResiCategoryWarnConfigDao icResiCategoryWarnConfigDao; @@ -52,60 +48,39 @@ public class ResiCategoryStatsConfigServiceImpl implements ResiCategoryStatsConf @Transactional(rollbackFor = Exception.class) public List list(String customerId, ResiCategoryStatsConfigListFormDTO formDTO) { //1.获取IC_FORM_ITEM 中 用于数据分析字段的 id 和label - List icFormItemEntityList = icFormItemDao.selectList(new QueryWrapper().lambda().eq(IcFormItemEntity::getCustomerId,customerId).eq(IcFormItemEntity::getDataAnalyse, 1)); - if(CollectionUtils.isEmpty(icFormItemEntityList)){ - return new ArrayList<>(); - } - Set groupIds = icFormItemEntityList.stream().filter(item-> !"0".equals(item.getItemGroupId())).map(IcFormItemEntity::getItemGroupId).collect(Collectors.toSet()); - List icFormItemGroupEntityList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(groupIds)){ - icFormItemGroupEntityList.addAll(icFormItemGroupDao.selectList(new QueryWrapper().lambda().eq(IcFormItemGroupEntity::getCustomerId,customerId).in(IcFormItemGroupEntity::getId, groupIds))); - } - - //获取tableName和COLUMN_NAME - Map tableColumnMap = new HashMap<>(); + List dataItemList=icFormItemDao.selectDataAnalysisItem(customerId); + //key:tableName-columnName value: ic_form_item + Map tableColumnMap = new HashMap<>(); + //key:ic_form_item.id value:对应的表名 Map idTableMap = new HashMap<>(); - icFormItemEntityList.forEach(item->{ - Map map = new HashMap<>(); - item.setColumnName(item.getColumnName().concat(NumConstant.ZERO == item.getColumnNum() ? StrConstant.EPMETY_STR : item.getColumnNum().toString())); - if("0".equals(item.getItemGroupId())){ - tableColumnMap.put(IcResiCategoryStatsConfigConstant.IC_RESI_USER+"-"+item.getColumnName(),item); - idTableMap.put(item.getId(),IcResiCategoryStatsConfigConstant.IC_RESI_USER); - }else{ - List collect = icFormItemGroupEntityList.stream().filter(i -> item.getItemGroupId().equals(i.getId())).collect(Collectors.toList()); - tableColumnMap.put(CollectionUtils.isEmpty(collect)?IcResiCategoryStatsConfigConstant.IC_RESI_USER:collect.get(0).getTableName()+"-"+item.getColumnName(),item); - idTableMap.put(item.getId(),CollectionUtils.isEmpty(collect)?IcResiCategoryStatsConfigConstant.IC_RESI_USER:collect.get(0).getTableName()); - } + dataItemList.forEach(item->{ + tableColumnMap.put(item.getTableName()+"-"+item.getColumnName(),item); + idTableMap.put(item.getItemId(),item.getTableName()); }); - //2.获取ic_resi_category_stats_config 和 ic_resi_category_warn_config 表中的数据 + //2.获取居民类别配置表ic_resi_category_stats_config 和 居民类别预警配置表ic_resi_category_warn_config 表中的数据 List statsConfigEntityList = icResiCategoryStatsConfigDao.selectList(new QueryWrapper().lambda().eq(IcResiCategoryStatsConfigEntity::getCustomerId,customerId)); - if (!CollectionUtils.isEmpty(statsConfigEntityList)){ - return icResiCategoryStatsConfigDao.listInfo(customerId,formDTO.getIsWarn(),formDTO.getLevel()); - } + List warnConfigEntityList = icResiCategoryWarnConfigDao.selectList(new QueryWrapper().lambda().eq(IcResiCategoryWarnConfigEntity::getCustomerId,customerId)); - //3.新增不存在的,删除不在tableColumnMap的 + //获取居民类别配置表 Map statsTableColumnMap = new HashMap<>(); statsConfigEntityList.forEach(item->{ statsTableColumnMap.put(item.getTableName()+"-"+item.getColumnName(),item); }); - Map warnTableColumnMap = new HashMap<>(); - warnConfigEntityList.forEach(item->{ - warnTableColumnMap.put(item.getTableName()+"-"+item.getColumnName(),item); - }); + + //3.新增不存在的,删除不在tableColumnMap的 //差集 - //新增 List newStatsList = tableColumnMap.keySet().stream().filter(item -> !statsTableColumnMap.containsKey(item)).collect(Collectors.toList()); List newStatsEntityList = new ArrayList<>(); newStatsList.forEach(item->{ - IcFormItemEntity icFormItemEntity = tableColumnMap.get(item); + IcFormDataAnalysisDTO icFormItemEntity = tableColumnMap.get(item); IcResiCategoryStatsConfigEntity entity = new IcResiCategoryStatsConfigEntity(); entity.setCustomerId(customerId); entity.setLabel(icFormItemEntity.getLabel()); - entity.setTableName(idTableMap.get(icFormItemEntity.getId())); + entity.setTableName(idTableMap.get(icFormItemEntity.getItemId())); entity.setColumnName(icFormItemEntity.getColumnName()); entity.setManagementIcon(""); entity.setDataIcon(""); @@ -115,16 +90,24 @@ public class ResiCategoryStatsConfigServiceImpl implements ResiCategoryStatsConf newStatsEntityList.add(entity); }); if(!CollectionUtils.isEmpty(newStatsEntityList)){ + //新增居民类别配置表 icResiCategoryStatsConfigService.insertBatch(newStatsEntityList); } + + //4、新增居民类别预警配置表 + Map warnTableColumnMap = new HashMap<>(); + warnConfigEntityList.forEach(item->{ + warnTableColumnMap.put(item.getTableName()+"-"+item.getColumnName(),item); + }); + List newWarnList = tableColumnMap.keySet().stream().filter(item -> !warnTableColumnMap.containsKey(item)).collect(Collectors.toList()); List newWarnEntityList = new ArrayList<>(); newWarnList.forEach(item->{ - IcFormItemEntity icFormItemEntity = tableColumnMap.get(item); + IcFormDataAnalysisDTO icFormItemEntity = tableColumnMap.get(item); IcResiCategoryWarnConfigEntity entity = new IcResiCategoryWarnConfigEntity(); entity.setCustomerId(customerId); entity.setLabel(icFormItemEntity.getLabel()); - entity.setTableName(idTableMap.get(icFormItemEntity.getId())); + entity.setTableName(idTableMap.get(icFormItemEntity.getItemId())); entity.setColumnName(icFormItemEntity.getColumnName()); entity.setWarn("0"); entity.setSort(icFormItemEntity.getSort()); @@ -133,6 +116,8 @@ public class ResiCategoryStatsConfigServiceImpl implements ResiCategoryStatsConf if(!CollectionUtils.isEmpty(newWarnEntityList)){ icResiCategoryWarnConfigService.insertBatch(newWarnEntityList); } + + //5、原来用于数据分析,现在不用于数据分析的,要删除类别配置表和预警表 List delStatsEntityIdList = new ArrayList<>(); List delWarnEntityIdList = new ArrayList<>(); //需要删除的 @@ -151,7 +136,7 @@ public class ResiCategoryStatsConfigServiceImpl implements ResiCategoryStatsConf icResiCategoryWarnConfigService.deleteBatchIds(delWarnEntityIdList); } - //4.返回数据 + //6.返回数据 return icResiCategoryStatsConfigDao.listInfo(customerId,formDTO.getIsWarn(),formDTO.getLevel()); } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml index e2689c4c62..02070f1b63 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml +++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml @@ -322,4 +322,23 @@ ORDER BY ifi.SORT + diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiCollectVisitorDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiCollectVisitorDTO.java new file mode 100644 index 0000000000..01a79ad36e --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiCollectVisitorDTO.java @@ -0,0 +1,144 @@ +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-08-02 + */ +@Data +public class IcResiCollectVisitorDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 目的地 + */ + private String address; + + /** + * 客户Id customer.id + */ + private String customerId; + + /** + * 网格ID + */ + private String gridId; + + /** + * 组织Id + */ + private String agencyId; + + /** + * 组织的pids + */ + private String pids; + + /** + * 所属小区ID; + */ + private String villageId; + + /** + * 所属小区名称 + */ + private String villageName; + + /** + * 所属楼宇Id + */ + private String buildId; + + /** + * 所属楼宇名称 + */ + private String buildName; + + /** + * 单元id + */ + private String unitId; + + /** + * 单元名 + */ + private String unitName; + + /** + * 所属家庭Id + */ + private String homeId; + + /** + * 房间名 + */ + private String homeName; + + /** + * 姓名 + */ + private String name; + + /** + * 手机号 + */ + private String mobile; + + /** + * 身份证号 + */ + private String idCard; + + /** + * 来访事由 + */ + private String comeReason; + + /** + * 人脸照片 + */ + private String faceImg; + + /** + * 删除标识 0.未删除 1.已删除 + */ + private Integer delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiUserDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiUserDTO.java index 2cd1167802..d4d3cbe812 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiUserDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiUserDTO.java @@ -219,6 +219,21 @@ public class IcResiUserDTO implements Serializable { */ private String isSpecial; + /** + * 是否租户【是:1 否:0】 + */ + private String isTenant; + + /** + * 是否是流动人口【是:1 否:0】 + */ + private String isFloating; + + /** + * 是否新阶层人士【是:1 否:0】 + */ + private String isXjc; + /** * 文化程度【字典表】 */ diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/SaveCollectVisitorFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/SaveCollectVisitorFormDTO.java new file mode 100644 index 0000000000..2f7c71dfd8 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/SaveCollectVisitorFormDTO.java @@ -0,0 +1,122 @@ +package com.epmet.dto; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + + +/** + * 居民信息采集-访客 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-08-02 + */ +@Data +public class SaveCollectVisitorFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id customer.id + */ + private String customerId; + + /** + * 网格ID + */ + private String gridId; + + /** + * 组织Id + */ + private String agencyId; + + /** + * 组织的pids + */ + private String pids; + + /** + * 所属小区ID; + */ + @NotBlank(message = "小区ID不能为空") + private String villageId; + + /** + * 所属小区名称 + */ + @NotBlank(message = "小区名称不能为空") + private String villageName; + + /** + * 所属楼宇Id + */ + @NotBlank(message = "楼宇Id不能为空") + private String buildId; + + /** + * 所属楼宇名称 + */ + @NotBlank(message = "楼宇名称不能为空") + private String buildName; + + /** + * 单元id + */ + @NotBlank(message = "单元id不能为空") + private String unitId; + + /** + * 单元名 + */ + @NotBlank(message = "单元名不能为空") + private String unitName; + + /** + * 所属家庭Id + */ + @NotBlank(message = "家庭Id不能为空") + private String homeId; + + /** + * 房间名 + */ + @NotBlank(message = "房间名不能为空") + private String homeName; + + /** + * 详细地址 + */ + @NotBlank(message = "家庭地址不能为空") + private String address; + + /** + * 姓名 + */ + @NotBlank(message = "姓名不能为空") + private String name; + + /** + * 手机号 + */ + @NotBlank(message = "手机号不能为空") + private String mobile; + + /** + * 身份证号 + */ + private String idCard; + + /** + * 来访事由 + */ + private String comeReason; + + /** + * 人脸照片 + */ + private String faceImg; + + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectDetailFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectDetailFormDTO.java new file mode 100644 index 0000000000..1aa8776d36 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectDetailFormDTO.java @@ -0,0 +1,20 @@ +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; + +/** + * @program: epmet-cloud + * @description: + * @author: wangtong + * @create: 2022-08-03 14:15 + **/ +@Data +public class CollectDetailFormDTO extends PageFormDTO implements Serializable { + + @NotBlank(message = "id不可为空") + private String id; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectDetailResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectDetailResultDTO.java new file mode 100644 index 0000000000..3f2f2f728b --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectDetailResultDTO.java @@ -0,0 +1,76 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * 收集居民信息入参 + */ +@Data +public class CollectDetailResultDTO implements Serializable { + + private String id; + + /** + * 组织Id + */ + private String agencyId; + + /** + * 所属小区ID + */ + private String villageId; + private String villageName; + + /** + * 所属楼宇Id + */ + private String buildId; + private String buildName; + + /** + * 单元id + */ + private String unitId; + private String unitName; + + /** + * 所属家庭Id + */ + private String homeId; + private String homeName; + + /** + * 详细地址 + */ + private String address; + + /** + * 房屋状态 + */ + private String houseType; + + /** + * 户主姓名 + */ + private String houseHolderName; + + /** + * 居住成员人数 + */ + private Integer totalResi; + + /** + * 审核状态:0待审核 1未通过 2已通过 + */ + private String checkState; + + /** + * 审核原因 + */ + private String checkReason; + + private List memberList; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectPageFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectPageFormDTO.java new file mode 100644 index 0000000000..1654fe09b3 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectPageFormDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.dto.form.PageFormDTO; +import lombok.Data; + +import java.io.Serializable; + +/** + * @program: epmet-cloud + * @description: + * @author: wangtong + * @create: 2022-08-03 14:15 + **/ +@Data +public class CollectPageFormDTO extends PageFormDTO implements Serializable { + + private String customerId; + + private String userId; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectCheckFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectCheckFormDTO.java new file mode 100644 index 0000000000..ad0ac9f106 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectCheckFormDTO.java @@ -0,0 +1,65 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.Date; + + +/** + * 居民信息采集-审核入参 + * + * @author wgf + * @since v1.0.0 2022-08-02 + */ +@Data +public class IcResiCollectCheckFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @NotBlank(message = "Id不能为空") + private String id; + + /** + * 审核状态:0待审核 1未通过 2已通过 + */ + @NotBlank(message = "审核状态不能为空") + private String checkState; + + /** + * 审核原因 + */ + private String checkReason; + + /** + * 单元号 + */ + private String buildingUnitId; + + /** + * 房间号 + */ + private String doorName; + + /** + * 客户ID(审核人) + */ + private String customerId; + + /** + * 员工ID(审核人) + */ + private String userId; + + /** + * 员工姓名(审核人) + */ + private String realName; + + + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectGetDetailFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectGetDetailFormDTO.java new file mode 100644 index 0000000000..3de6728d72 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectGetDetailFormDTO.java @@ -0,0 +1,28 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + + +/** + * 居民信息采集-获取房屋信息 + * + * @author wgf + * @since v1.0.0 2022-08-02 + */ +@Data +public class IcResiCollectGetDetailFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @NotBlank(message = "Id不能为空") + private String id; + + + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectMemDetailDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectMemDetailDTO.java new file mode 100644 index 0000000000..004d5a082f --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectMemDetailDTO.java @@ -0,0 +1,93 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 家庭成员信息 + * 前端做校验 + */ +@Data +public class IcResiCollectMemDetailDTO implements Serializable { + + /** + * 居住成员1姓名 + */ + // @NotBlank(message = "姓名不能为空", groups = {ResiCollectFormDTO.InternalShowGroup.class, IcResiCollectFormDTO.ExternalShowGroup.class}) + private String name; + + /** + * 居住成员1身份证号 + */ + // @NotBlank(message = "身份证号不能为空", groups = {ResiCollectFormDTO.InternalShowGroup.class, IcResiCollectFormDTO.ExternalShowGroup.class}) + private String idNum; + + /** + * 居住成员1手机号 + */ + // @NotBlank(message = "手机号不能为空", groups = {IcResiCollectFormDTO.InternalShowGroup.class, IcResiCollectFormDTO.ExternalShowGroup.class}) + private String mobile; + + /** + * 居住成员1是否参加几轮全员核算检测,数字1-10 + */ + // @NotBlank(message = "核算检测情况不能为空", groups = {IcResiCollectFormDTO.InternalShowGroup.class, IcResiCollectFormDTO.ExternalShowGroup.class}) + private String heSuanCount; + + /** + * 居住成员1新冠疫苗接种情况;1:已全程接种;2:未全程接种;0未接种; + */ + // @NotNull(message = "疫苗接种情况不能为空", groups = {IcResiCollectFormDTO.InternalShowGroup.class, IcResiCollectFormDTO.ExternalShowGroup.class}) + private Integer ymjz; + + /** + * 户籍所在地 + */ + private String domicilePlace; + + /** + * 户籍所在地行政地区编码 + */ + private String domicilePlaceCode; + + /** + * 户籍所在地行政地区编码全路径,包含自己,英文逗号隔开例如:37,3702,370203 + */ + private String domicilePlaceCodePath; + + /** + * 学校或公司 + */ + private String workPlace; + + /** + * 备注 + */ + private String remark; + + /** + * 社区居民信息登记-查询返参用 + */ + private String id; + + /** + * 与房主关系 + */ + private String relationship; + + /** + * 人脸头像 + */ + private String faceImg; + + /** + * 是否是党员 + */ + private String isParty; + + /** + * 客户ID + */ + private String customerId; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectMemFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectMemFormDTO.java index 7e7cb6e846..987783a172 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectMemFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiCollectMemFormDTO.java @@ -73,4 +73,15 @@ public class IcResiCollectMemFormDTO implements Serializable { * 社区居民信息登记-查询返参用 */ private String id; + + /** + * 与房主关系 + */ + private String relationship; + + /** + * 人脸头像 + */ + private String faceImg; + } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SaveCollectFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SaveCollectFormDTO.java new file mode 100644 index 0000000000..7c3dd2983d --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SaveCollectFormDTO.java @@ -0,0 +1,105 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.List; + +/** + * 收集居民信息入参 + */ +@Data +public class SaveCollectFormDTO implements Serializable { + + /** + * id + */ + private String id; + + /** + * 客户Id customer.id + */ + private String customerId; + + /** + * 内部:internal;外部:external + */ + private String origin; + + /** + * 网格ID_后端接口赋值 + */ + private String gridId; + + /** + * 组织Id_后端接口赋值 + */ + private String agencyId; + + /** + * 组织的pid_后端接口赋值 + */ + private String pids; + + /** + * 所属小区ID + */ + @NotBlank(message = "小区不能为空") + private String villageId; + @NotBlank(message = "小区名不能为空") + private String villageName; + + /** + * 所属楼宇Id + */ + @NotBlank(message = "楼栋不能为空") + private String buildId; + @NotBlank(message = "楼栋名不能为空") + private String buildName; + + /** + * 单元id + */ + @NotBlank(message = "单元不能为空") + private String unitId; + @NotBlank(message = "单元名不能为空") + private String unitName; + + /** + * 所属家庭Id + */ + private String homeId; + @NotBlank(message = "家庭名不能为空") + private String homeName; + + /** + * 详细地址 + */ + @NotBlank(message = "家庭地址不能为空") + private String address; + + /** + * 1自有0租住 + */ + @NotBlank(message = "房子属于自有还是租住?") + private String houseType; + + /** + * 户主姓名 + */ + @NotBlank(message = "户主姓名不能为空") + private String houseHolderName; + + /** + * 居住成员人数 + */ + @NotNull(message = "居住成员人数不能为空") + private Integer totalResi; + + + @NotEmpty(message = "成员信息不能为空") + private List memberList; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VisitListFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VisitListFormDTO.java new file mode 100644 index 0000000000..09ca9bf294 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VisitListFormDTO.java @@ -0,0 +1,26 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.dto.form.PageFormDTO; +import lombok.Data; + +/** + * @Author wgf + * @DateTime 2022/8/5 8:00 + * @DESC + */ +@Data +public class VisitListFormDTO extends PageFormDTO { + + private static final long serialVersionUID = 2106773724057183577L; + + private String startTime; + + private String endTime; + + private String userId; + + private String customerId; + + private String orgId; + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectHouseInfoResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectHouseInfoResultDTO.java new file mode 100644 index 0000000000..6e9fa340ee --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectHouseInfoResultDTO.java @@ -0,0 +1,57 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Author wgf + * @DateTime 2022/3/18 19:00 + * @DESC + */ +@Data +public class CollectHouseInfoResultDTO implements Serializable { + + private static final long serialVersionUID = -6692672375850864451L; + + /** + * label + */ + private String label; + + /** + * 所属小区id + */ + private String neighborHoodId; + + /** + * 所属小区姓名 + */ + private String neighborHoodName; + + /** + * 所属楼栋id + */ + private String buildingId; + /** + * 所属楼栋名称 + */ + private String buildName; + /** + * 所属单元id + */ + private String buildingUnitId; + /** + * 所属单元名称 + */ + private String buildingUnitName; + /** + * 门牌号 + */ + private String doorName; + /** + * 房主姓名 + */ + private String ownerName; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectListMemberExcelResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectListMemberExcelResultDTO.java index 85208ba924..89742845fa 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectListMemberExcelResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectListMemberExcelResultDTO.java @@ -54,7 +54,7 @@ public class CollectListMemberExcelResultDTO implements Serializable { /** * 学校或公司 */ - @Excel(name = "单位或学校", width = 60) + @Excel(name = "单位名称", width = 60) private String workPlace; /** diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectListResultDTO.java index 0fcaa480d4..9851be6340 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectListResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectListResultDTO.java @@ -24,6 +24,9 @@ public class CollectListResultDTO implements Serializable { // @JsonIgnore private String id; + // 组织Id + private String agencyId; + /** * 居住地址 */ @@ -39,6 +42,16 @@ public class CollectListResultDTO implements Serializable { */ private Integer totalResi; + /** + * 所属家庭Id + */ + private String homeId; + + /** + * 审核状态:0待审核 1审核不通过 2审核通过 + */ + private String checkState; + private String domicilePlace; private List list; @@ -95,5 +108,15 @@ public class CollectListResultDTO implements Serializable { * 备注 */ private String remark; + + /** + * 与户主关系 + */ + private String relationship; + + /** + * 人脸照片 + */ + private String faceImg; } } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectPageListDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectPageListDTO.java new file mode 100644 index 0000000000..a25dbcdfec --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectPageListDTO.java @@ -0,0 +1,56 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2022/3/18 19:00 + * @DESC + */ +@Data +public class CollectPageListDTO implements Serializable { + + private static final long serialVersionUID = -6692672375850864451L; + + + private String id; + + /** + * 居住地址 + */ + private String address; + + /** + * 居民:resi 访客:visitor + */ + private String type; + + /** + * 居民登记/访客登记 + */ + private String title; + + /** + * 审核状态:0待审核 1审核不通过 2审核通过 + */ + private String checkState; + + /** + * 审核状态名称 + */ + private String checkStateName; + + /** + * 审核原因 + */ + private String checkReason; + + /** + * 提交时间 + */ + private String createTime; + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectController.java index 543493a395..cca091439f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectController.java @@ -10,14 +10,8 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.dto.form.CollectListFormDTO; -import com.epmet.dto.form.IcResiCollectFormDTO; -import com.epmet.dto.form.LatestSubmitCollectFormDTO; -import com.epmet.dto.form.ResiCollectFormDTO; -import com.epmet.dto.result.CollectListExcelResultDTO; -import com.epmet.dto.result.CollectListMemberExcelResultDTO; -import com.epmet.dto.result.CollectListResultDTO; -import com.epmet.dto.result.LatestCollectResDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.*; import com.epmet.service.IcResiCollectService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -156,4 +150,76 @@ public class IcResiCollectController { ValidatorUtils.validateEntity(formDTO,LatestSubmitCollectFormDTO.AddUserInternalGroup.class); return new Result().ok(icResiCollectService.latestSubmit(formDTO)); } + + /** + * 信息采集-审核 + * @param formDTO + * @param tokenDto + * @return + */ + @PostMapping("collectCheck") + public Result collectCheck(@RequestBody IcResiCollectCheckFormDTO formDTO, @LoginUser TokenDto tokenDto) { + formDTO.setUserId(tokenDto.getUserId()); + formDTO.setCustomerId(tokenDto.getCustomerId()); + icResiCollectService.collectCheck(formDTO,tokenDto); + + return new Result(); + } + + + /** + * @describe: 扫描社区/小区二维码进行居民信息登记 + * @author wangtong + * @date 2022/8/2 16:01 + * @params [formDTO] + * @return com.epmet.commons.tools.utils.Result + */ + @NoRepeatSubmit + @PostMapping("saveCollectInfo") + public Result saveCollectInfo(@RequestBody SaveCollectFormDTO formDTO) { + //效验数据 + ValidatorUtils.validateEntity(formDTO); + formDTO.setOrigin("internal");//固定为内部 + return icResiCollectService.saveCollectInfo(formDTO); + } + + /** + * @describe: 我的登记列表 + * @author wangtong + * @date 2022/8/3 13:59 + * @params [dto] + * @return com.epmet.commons.tools.utils.Result> + */ + @PostMapping("getCollectPage") + public Result> getCollectPage(@LoginUser TokenDto tokenDto,@RequestBody CollectPageFormDTO dto) { + dto.setUserId(tokenDto.getUserId()); + dto.setCustomerId(tokenDto.getCustomerId()); + PageData page = icResiCollectService.getCollectPage(dto); + return new Result>().ok(page); + } + + /** + * 信息采集-审核通过-新增房屋-复显房屋信息 + * @param formDTO + * @param tokenDto + * @return + */ + @PostMapping("getHouseDetailByCollect") + public Result getHouseDetailByCollect(@RequestBody IcResiCollectGetDetailFormDTO formDTO, @LoginUser TokenDto tokenDto) { + return new Result().ok(icResiCollectService.getHouseDetailByCollect(formDTO)); + } + + /** + * @describe: 查看居民采集信息详情 + * @author wangtong + * @date 2022/8/3 15:05 + * @params [dto] + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("getCollectDetail") + public Result getCollectDetail(@RequestBody CollectDetailFormDTO dto) { + ValidatorUtils.validateEntity(dto); + return icResiCollectService.getCollectDetail(dto); + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectVisitorController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectVisitorController.java new file mode 100644 index 0000000000..60995a0211 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectVisitorController.java @@ -0,0 +1,137 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.annotation.MaskResponse; +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.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.DefaultGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; +import com.epmet.dto.IcResiCollectVisitorDTO; +import com.epmet.dto.SaveCollectVisitorFormDTO; +import com.epmet.dto.form.CollectDetailFormDTO; +import com.epmet.dto.form.CollectListFormDTO; +import com.epmet.dto.form.VisitListFormDTO; +import com.epmet.dto.result.CollectListResultDTO; +import com.epmet.excel.IcResiCollectVisitorExcel; +import com.epmet.service.IcResiCollectVisitorService; +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-08-02 + */ +@RestController +@RequestMapping("icResiCollectVisitor") +public class IcResiCollectVisitorController { + + @Autowired + private IcResiCollectVisitorService icResiCollectVisitorService; + + @RequestMapping("page") + public Result> page(@RequestParam Map params){ +// PageData page = icResiCollectVisitorService.page(params); + PageData page = icResiCollectVisitorService.getPhrasePage(params); + return new Result>().ok(page); + + + } + + /** + * Desc: 访客记录列表 + * @param formDTO + * @param tokenDto + * @author wgf + * @date 2022/8/5 8:23 + */ + @PostMapping("list") +// @MaskResponse(fieldNames = { "memberIdNum", "memberMobile" }, +// fieldsMaskType = { MaskResponse.MASK_TYPE_ID_CARD, MaskResponse.MASK_TYPE_MOBILE }) + public Result> getVisitorList(@RequestBody VisitListFormDTO formDTO, @LoginUser TokenDto tokenDto){ + ValidatorUtils.validateEntity(formDTO,CollectListFormDTO.CollectListForm.class); + formDTO.setUserId(tokenDto.getUserId()); + formDTO.setCustomerId(tokenDto.getCustomerId()); + return new Result>().ok(icResiCollectVisitorService.getVisitorList(formDTO)); + } + + @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) + public Result get(@PathVariable("id") String id){ + IcResiCollectVisitorDTO data = icResiCollectVisitorService.get(id); + return new Result().ok(data); + } + + @NoRepeatSubmit + @PostMapping("save") + public Result save(@RequestBody IcResiCollectVisitorDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + icResiCollectVisitorService.save(dto); + return new Result(); + } + + @NoRepeatSubmit + @PostMapping("update") + public Result update(@RequestBody IcResiCollectVisitorDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + icResiCollectVisitorService.update(dto); + return new Result(); + } + + @PostMapping("delete") + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + icResiCollectVisitorService.delete(ids); + return new Result(); + } + + @GetMapping("export") + public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { + List list = icResiCollectVisitorService.list(params); + ExcelUtils.exportExcelToTarget(response, null, list, IcResiCollectVisitorExcel.class); + } + + /** + * @describe: 保存访客信息 + * @author wangtong + * @date 2022/8/3 10:33 + * @params [dto] + * @return com.epmet.commons.tools.utils.Result + */ + @NoRepeatSubmit + @PostMapping("saveInfo") + public Result saveInfo(@RequestBody SaveCollectVisitorFormDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto); + return icResiCollectVisitorService.saveInfo(dto); + } + + /** + * @describe: 访客信息详情 + * @author wangtong + * @date 2022/8/3 15:41 + * @params [dto] + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("getVisitorDetail") + public Result getVisitorDetail(@RequestBody CollectDetailFormDTO dto) { + ValidatorUtils.validateEntity(dto); + return icResiCollectVisitorService.getVisitorDetail(dto); + } + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiCollectDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiCollectDao.java index db8eb3db7c..5210b45a27 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiCollectDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiCollectDao.java @@ -2,7 +2,10 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.form.CollectListFormDTO; +import com.epmet.dto.form.IcResiCollectGetDetailFormDTO; +import com.epmet.dto.result.CollectHouseInfoResultDTO; import com.epmet.dto.result.CollectListResultDTO; +import com.epmet.dto.result.CollectPageListDTO; import com.epmet.entity.IcResiCollectEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -43,4 +46,20 @@ public interface IcResiCollectDao extends BaseDao { * @return */ List selectLastSubmitId(@Param("customerId") String customerId, @Param("userId") String userId); -} \ No newline at end of file + + /** + * @describe: 我的登记列表 + * @author wangtong + * @date 2022/8/3 14:19 + * @params [customerId] + * @return java.util.List + */ + List getCollectPage(@Param("customerId") String customerId, @Param("userId") String userId); + + /** + * 获取房屋信息 + * @param formDTO + * @return + */ + CollectHouseInfoResultDTO getHouseDetailByCollect(IcResiCollectGetDetailFormDTO formDTO); +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiCollectVisitorDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiCollectVisitorDao.java new file mode 100644 index 0000000000..acf3fe568c --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiCollectVisitorDao.java @@ -0,0 +1,38 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.IcResiCollectVisitorDTO; +import com.epmet.dto.form.CollectListFormDTO; +import com.epmet.dto.form.VisitListFormDTO; +import com.epmet.dto.result.CollectListResultDTO; +import com.epmet.entity.IcResiCollectVisitorEntity; +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-08-02 + */ +@Mapper +public interface IcResiCollectVisitorDao extends BaseDao { + + /** + * 条件查询 + * @param params + * @return + */ + List getPhrasePage(Map params); + + /** + * Desc: 查询访客信息 + * @param formDTO + * @author wgf + * @date 2022/8/5 8:41 + */ + List getCollectList(VisitListFormDTO formDTO); + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiMemberDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiMemberDao.java index e61539e1da..bd4c629d53 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiMemberDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiMemberDao.java @@ -1,6 +1,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.form.IcResiCollectMemDetailDTO; import com.epmet.dto.form.IcResiCollectMemFormDTO; import com.epmet.entity.IcResiMemberEntity; import org.apache.ibatis.annotations.Mapper; @@ -18,4 +19,12 @@ import java.util.List; public interface IcResiMemberDao extends BaseDao { List selectMySubmit(@Param("latestResiCollectId") String latestResiCollectId, @Param("userId")String userId); -} \ No newline at end of file + + /** + * 审核在用 + * @param collectId + * @return + */ + List selectListByCollectId(@Param("collectId") String collectId); + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiCollectEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiCollectEntity.java index 3b4b8ac3e0..8c11f4a849 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiCollectEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiCollectEntity.java @@ -86,4 +86,14 @@ public class IcResiCollectEntity extends BaseEpmetEntity { private String buildName; private String unitName; private String homeName; + + /** + * 审核状态:0待审核 1未通过 2已通过 + */ + private String checkState; + + /** + * 审核原因 + */ + private String checkReason; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiCollectVisitorEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiCollectVisitorEntity.java new file mode 100644 index 0000000000..7b9c8a7501 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiCollectVisitorEntity.java @@ -0,0 +1,111 @@ +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-08-02 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_resi_collect_visitor") +public class IcResiCollectVisitorEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id customer.id + */ + private String customerId; + + /** + * 网格ID + */ + private String gridId; + + /** + * 组织Id + */ + private String agencyId; + + /** + * 组织的pids + */ + private String pids; + + /** + * 所属小区ID; + */ + private String villageId; + + /** + * 所属小区名称 + */ + private String villageName; + + /** + * 所属楼宇Id + */ + private String buildId; + + /** + * 所属楼宇名称 + */ + private String buildName; + + /** + * 单元id + */ + private String unitId; + + /** + * 单元名 + */ + private String unitName; + + /** + * 所属家庭Id + */ + private String homeId; + + /** + * 房间名 + */ + private String homeName; + + /** + * 详细地址 + */ + private String address; + + /** + * 姓名 + */ + private String name; + + /** + * 手机号 + */ + private String mobile; + + /** + * 身份证号 + */ + private String idCard; + + /** + * 来访事由 + */ + private String comeReason; + + /** + * 人脸照片 + */ + private String faceImg; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiMemberEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiMemberEntity.java index 583663a1a1..e49fbeb008 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiMemberEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiMemberEntity.java @@ -77,4 +77,14 @@ public class IcResiMemberEntity extends BaseEpmetEntity { * 备注 */ private String remark; + + /** + * 与房主关系 + */ + private String relationship; + + /** + * 人脸头像 + */ + private String faceImg; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserEntity.java index 5b70e7a653..f787399b23 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserEntity.java @@ -225,6 +225,10 @@ public class IcResiUserEntity extends BaseEpmetEntity { */ private String isFloating; + /** + * 是否新阶层人士【是:1 否:0】 + */ + private String isXjc; /** * 文化程度【字典表】 */ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/enums/IcResiUserTableEnum.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/enums/IcResiUserTableEnum.java index 7ae5d5d706..c921136c00 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/enums/IcResiUserTableEnum.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/enums/IcResiUserTableEnum.java @@ -35,7 +35,8 @@ public enum IcResiUserTableEnum { IC_DB("virtual_db","大病人员信息录入表", null, 2, "IS_DB", false), IC_MB("virtual_mb","慢病人员信息录入表", null, 2, "IS_MB", false), IC_TENANT("virtual_tenant","租户信息录入表", null, 2, "IS_TENANT", false), - IC_FLOATING("virtual_floating","流动人口信息录入表", null, 2, "IS_FLOATING", false); + IC_FLOATING("virtual_floating","流动人口信息录入表", null, 2, "IS_FLOATING", false), + IC_XJC("virtual_xjc","新阶层人士信息录入表", null, 2, "IS_XJC", false); private String tableName; /** diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcResiCollectVisitorExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcResiCollectVisitorExcel.java new file mode 100644 index 0000000000..32d4ce6836 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcResiCollectVisitorExcel.java @@ -0,0 +1,90 @@ +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-08-02 + */ +@Data +public class IcResiCollectVisitorExcel { + + @Excel(name = "主键") + private String id; + + @Excel(name = "客户Id customer.id") + private String customerId; + + @Excel(name = "网格ID") + private String gridId; + + @Excel(name = "组织Id") + private String agencyId; + + @Excel(name = "组织的pids") + private String pids; + + @Excel(name = "所属小区ID;") + private String villageId; + + @Excel(name = "所属小区名称") + private String villageName; + + @Excel(name = "所属楼宇Id") + private String buildId; + + @Excel(name = "所属楼宇名称") + private String buildName; + + @Excel(name = "单元id") + private String unitId; + + @Excel(name = "单元名") + private String unitName; + + @Excel(name = "所属家庭Id") + private String homeId; + + @Excel(name = "房间名") + private String homeName; + + @Excel(name = "姓名") + private String name; + + @Excel(name = "手机号") + private String mobile; + + @Excel(name = "身份证号") + private String idCard; + + @Excel(name = "来访事由") + private String comeReason; + + @Excel(name = "人脸照片") + private String faceImg; + + @Excel(name = "删除标识 0.未删除 1.已删除") + private Integer delFlag; + + @Excel(name = "乐观锁") + private Integer revision; + + @Excel(name = "创建人") + private String createdBy; + + @Excel(name = "创建时间") + private Date createdTime; + + @Excel(name = "更新人") + private String updatedBy; + + @Excel(name = "更新时间") + private Date updatedTime; + + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java index 8f3c43251c..be03fdfc96 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java @@ -3,11 +3,10 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerGridDTO; -import com.epmet.dto.form.CommonGridIdFormDTO; -import com.epmet.dto.form.CustomerGridFormDTO; -import com.epmet.dto.form.OrgInfoPointFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.CommunityInfoResultDTO; import com.epmet.dto.result.GridInfoResultDTO; +import com.epmet.dto.result.IcHouseInfoCollectResultDTO; import com.epmet.feign.fallback.GovOrgFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; @@ -85,4 +84,24 @@ public interface GovOrgFeignClient { @GetMapping("/gov/org/customeragency/getCommunityInfoByUserId/{userId}") Result getCommunityInfoByUserId(@PathVariable("userId") String userId); + /** + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @Author wgf + * @Description 更新房屋新 + * @Date 2020/4/26 23:16 + **/ + @PostMapping("/gov/org/house/updateCollect") + Result updateCollect(CollectHouseFormDTO formDTO); + + /** + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @Author wgf + * @Description 获取房屋信息 + * @Date 2020/4/26 23:16 + **/ + @PostMapping("/gov/org/house/getHouseInfoToCollect") + Result getHouseInfoToCollect(GetHouseInfoToCollectFormDTO formDTO); + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java index 0c1f3a6342..77d306b310 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java @@ -4,11 +4,10 @@ import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerGridDTO; -import com.epmet.dto.form.CommonGridIdFormDTO; -import com.epmet.dto.form.CustomerGridFormDTO; -import com.epmet.dto.form.OrgInfoPointFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.CommunityInfoResultDTO; import com.epmet.dto.result.GridInfoResultDTO; +import com.epmet.dto.result.IcHouseInfoCollectResultDTO; import com.epmet.feign.GovOrgFeignClient; import org.springframework.stereotype.Component; @@ -51,4 +50,14 @@ public class GovOrgFeignClientFallBack implements GovOrgFeignClient { public Result getCommunityInfoByUserId(String userId) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getCommunityInfoByUserId",userId); } + + @Override + public Result updateCollect(CollectHouseFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "updateCollect",formDTO); + } + + @Override + public Result getHouseInfoToCollect(GetHouseInfoToCollectFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getHouseInfoToCollect",formDTO); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/IcResiCollectVisitorRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/IcResiCollectVisitorRedis.java new file mode 100644 index 0000000000..f22d25ee1a --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/IcResiCollectVisitorRedis.java @@ -0,0 +1,30 @@ +package com.epmet.redis; + +import com.epmet.commons.tools.redis.RedisUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * 居民信息采集-访客 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-08-02 + */ +@Component +public class IcResiCollectVisitorRedis { + @Autowired + private RedisUtils redisUtils; + + public void delete(Object[] ids) { + + } + + public void set(){ + + } + + public String get(String id){ + return null; + } + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiCollectService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiCollectService.java index 17b6031472..07a97f933d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiCollectService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiCollectService.java @@ -2,11 +2,12 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; -import com.epmet.dto.form.CollectListFormDTO; -import com.epmet.dto.form.IcResiCollectFormDTO; -import com.epmet.dto.form.LatestSubmitCollectFormDTO; -import com.epmet.dto.form.ResiCollectFormDTO; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.*; +import com.epmet.dto.result.CollectHouseInfoResultDTO; import com.epmet.dto.result.CollectListResultDTO; +import com.epmet.dto.result.CollectPageListDTO; import com.epmet.dto.result.LatestCollectResDTO; import com.epmet.entity.IcResiCollectEntity; @@ -56,4 +57,46 @@ public interface IcResiCollectService extends BaseService { * @return */ CollectListResultDTO detail(CollectListFormDTO formDTO); -} \ No newline at end of file + + /** + * 信息登记审核 + * @param formDTO + * @return + */ + void collectCheck(IcResiCollectCheckFormDTO formDTO, TokenDto tokenDto); + + /** + * @describe: 扫描社区/小区二维码进行居民信息登记 + * @author wangtong + * @date 2022/8/2 17:14 + * @params [formDTO] + * @return com.epmet.commons.tools.utils.Result + */ + Result saveCollectInfo(SaveCollectFormDTO formDTO); + + /** + * @describe: 我的登记列表 + * @author wangtong + * @date 2022/8/3 14:14 + * @params [dto] + * @return com.epmet.commons.tools.page.PageData + */ + PageData getCollectPage(CollectPageFormDTO dto); + + /** + * @describe: 查看居民采集信息详情 + * @author wangtong + * @date 2022/8/3 15:08 + * @params [dto] + * @return com.epmet.commons.tools.utils.Result + */ + Result getCollectDetail(CollectDetailFormDTO dto); + + /** + * 信息采集-获取房屋信息 + * @param formDTO + * @return + */ + CollectHouseInfoResultDTO getHouseDetailByCollect(IcResiCollectGetDetailFormDTO formDTO); +} + diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiCollectVisitorService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiCollectVisitorService.java new file mode 100644 index 0000000000..5f7f3e4d25 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiCollectVisitorService.java @@ -0,0 +1,111 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.IcResiCollectVisitorDTO; +import com.epmet.dto.SaveCollectVisitorFormDTO; +import com.epmet.dto.form.CollectDetailFormDTO; +import com.epmet.dto.form.CollectListFormDTO; +import com.epmet.dto.form.VisitListFormDTO; +import com.epmet.dto.result.CollectListResultDTO; +import com.epmet.entity.IcResiCollectVisitorEntity; + +import java.util.List; +import java.util.Map; + +/** + * 居民信息采集-访客 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-08-02 + */ +public interface IcResiCollectVisitorService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2022-08-02 + */ + PageData page(Map params); + + /** + * 分页条件查询 + * @param params + * @return + */ + PageData getPhrasePage(Map params); + + PageData getVisitorList(VisitListFormDTO formDTO); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2022-08-02 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return IcResiCollectVisitorDTO + * @author generator + * @date 2022-08-02 + */ + IcResiCollectVisitorDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2022-08-02 + */ + void save(IcResiCollectVisitorDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2022-08-02 + */ + void update(IcResiCollectVisitorDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2022-08-02 + */ + void delete(String[] ids); + + /** + * @describe: 保存访客信息 + * @author wangtong + * @date 2022/8/3 10:44 + * @params [dto] + * @return com.epmet.commons.tools.utils.Result + */ + Result saveInfo(SaveCollectVisitorFormDTO dto); + + /** + * @describe: 访客信息详情 + * @author wangtong + * @date 2022/8/3 15:43 + * @params [dto] + * @return com.epmet.commons.tools.utils.Result + */ + Result getVisitorDetail(CollectDetailFormDTO dto); +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java index 5caeb3a008..93c25d9ec5 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java @@ -5,6 +5,7 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; +import com.epmet.commons.tools.enums.RelationshipEnum; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.page.PageData; @@ -12,18 +13,24 @@ import com.epmet.commons.tools.redis.common.CustomerOrgRedis; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; import com.epmet.commons.tools.redis.common.bean.GridInfoCache; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dao.IcResiCollectDao; import com.epmet.dao.IcResiMemberDao; +import com.epmet.dao.IcResiUserDao; import com.epmet.dto.IcNeighborHoodDTO; import com.epmet.dto.form.*; -import com.epmet.dto.result.CollectListResultDTO; -import com.epmet.dto.result.LatestCollectResDTO; +import com.epmet.dto.result.*; import com.epmet.entity.IcResiCollectEntity; import com.epmet.entity.IcResiMemberEntity; +import com.epmet.entity.IcResiUserEntity; +import com.epmet.entity.IcUserChangeRecordEntity; +import com.epmet.feign.EpmetUserOpenFeignClient; +import com.epmet.feign.GovOrgFeignClient; import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.service.IcResiCollectService; +import com.epmet.service.IcUserChangeRecordService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.apache.commons.collections4.CollectionUtils; @@ -51,6 +58,19 @@ public class IcResiCollectServiceImpl extends BaseServiceImpl newMemberList = ConvertUtils.sourceToTarget(formDTO.getMemberList(), IcResiMemberEntity.class); //查询之前录入的成员表 Map memMap = queryOriginMem(origin.getId()); - saveOrUpdateMem(newMemberList, memMap,origin.getId()); + saveOrUpdateMem(newMemberList, memMap,origin); } } @@ -130,7 +150,64 @@ public class IcResiCollectServiceImpl extends BaseServiceImpl memberList = ConvertUtils.sourceToTarget(formDTO.getMemberList(), IcResiMemberEntity.class); + memberList.forEach(mem -> { + if (StringUtils.isNotBlank(mem.getName()) || StringUtils.isNotBlank(mem.getIdNum())) { + //姓名或份身份证号不为空时插入 + mem.setCustomerId(neighborHoodDTO.getCustomerId()); + mem.setIcResiCollectId(entity.getId()); + icResiMemberDao.insert(mem); + } + }); + } else { + IcResiCollectEntity collectInfo = baseDao.selectByAddress(formDTO.getAddress()); + //更新主表 + baseDao.updateRec(collectInfo.getId(), formDTO.getHouseType(), formDTO.getHouseHolderName(), formDTO.getTotalResi(),null); + List newMemberList = ConvertUtils.sourceToTarget(formDTO.getMemberList(), IcResiMemberEntity.class); + //查询之前录入的成员表 + Map memMap = queryOriginMem(collectInfo.getId()); + saveOrUpdateMem(newMemberList, memMap,collectInfo); + } + return new Result().ok("提交成功"); + } + + @Override + public PageData getCollectPage(CollectPageFormDTO dto) { + PageHelper.startPage(dto.getPageNo(), dto.getPageSize()); + List list = baseDao.getCollectPage(dto.getCustomerId(),dto.getUserId()); + PageInfo pageInfo = new PageInfo<>(list); + return new PageData<>(list, pageInfo.getTotal()); + } + + @Override + public Result getCollectDetail(CollectDetailFormDTO dto) { + IcResiCollectEntity entity = baseDao.selectById(dto.getId()); + if(null == entity){ + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "暂无查询到信息","暂无查询到信息"); + } + CollectDetailResultDTO result = ConvertUtils.sourceToTarget(entity, CollectDetailResultDTO.class); + //查询成员信息 + List memberList = icResiMemberDao.selectListByCollectId(dto.getId()); + result.setMemberList(memberList); + return new Result().ok(result); + } + + public IcNeighborHoodDTO queryIcNeighborHood(String villageId) { Result res = govOrgOpenFeignClient.getIcNeighbordhoodById(villageId); if (!res.success() || null == res.getData()) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "小区信息查询异常", "小区信息查询异常"); @@ -146,12 +223,12 @@ public class IcResiCollectServiceImpl extends BaseServiceImpl newMemberList, Map memMap, String originIcResiCollectId) { + private void saveOrUpdateMem(List newMemberList, Map memMap, IcResiCollectEntity collectInfo) { for (IcResiMemberEntity entity : newMemberList) { if(StringUtils.isNotBlank(entity.getIdNum())){ if (MapUtils.isNotEmpty(memMap) && memMap.containsKey(entity.getIdNum())) { - entity.setIcResiCollectId(originIcResiCollectId); - entity.setCustomerId(memMap.get(entity.getIdNum()).getCustomerId()); + entity.setIcResiCollectId(collectInfo.getId()); + entity.setCustomerId(collectInfo.getCustomerId()); entity.setId(memMap.get(entity.getIdNum()).getId()); icResiMemberDao.updateById(entity); continue; @@ -161,7 +238,8 @@ public class IcResiCollectServiceImpl extends BaseServiceImpl newMemberList = ConvertUtils.sourceToTarget(formDTO.getMemberList(), IcResiMemberEntity.class); //查询之前录入的成员表 Map memMap = queryOriginMem(origin.getId()); - saveOrUpdateMem(newMemberList, memMap,origin.getId()); + saveOrUpdateMem(newMemberList, memMap,origin); } } @@ -254,4 +332,245 @@ public class IcResiCollectServiceImpl extends BaseServiceImpl memberList = icResiMemberDao.selectListByCollectId(formDTO.getId()); + + // 更新审核信息 + icResiCollectEntity.setCheckState(formDTO.getCheckState()); + icResiCollectEntity.setCheckReason(formDTO.getCheckReason()); + baseDao.updateById(icResiCollectEntity); + + // 审核状态:0待审核 1未通过 2已通过 + if("2".equals(formDTO.getCheckState())){ + + if("other".equals(icResiCollectEntity.getHomeId())){ + // 新增房屋(新增房屋操作已在审核接口之前,前端调用新增接口实现) + // 更新登记表房屋ID + icResiCollectEntity = updateHomeId(icResiCollectEntity,formDTO); + + for(int i = 0 ; i < memberList.size() ; i++){ + // 根据身份证号和房屋ID获取人员信息 + IcResiUserEntity userIdCardEntity = queryOriginUserByIdCard(memberList.get(i).getIdNum(),icResiCollectEntity.getCustomerId()); + if(userIdCardEntity != null){ + // 已存在人员 人员房屋不一致(更新人员信息和变更记录) + updateUserInfo(icResiCollectEntity,memberList.get(i),true,formDTO,userIdCardEntity); + }else{ + // 不存在人员 + insertUserInfo(icResiCollectEntity,memberList.get(i),formDTO); + } + } + }else{ + // 更新房屋 + updateHouseInfo(icResiCollectEntity); + + for(int i = 0 ; i < memberList.size() ; i++){ + // 根据身份证号和房屋ID获取人员信息 + IcResiUserEntity userIdCardEntity = queryOriginUserByIdCard(memberList.get(i).getIdNum(),icResiCollectEntity.getCustomerId()); + Map userMap = queryOriginUserByHomeId(icResiCollectEntity.getHomeId(),icResiCollectEntity.getCustomerId()); + if(userIdCardEntity != null){ + // 已存在人员 + if(userMap.containsKey(memberList.get(i).getIdNum())){ + // 人员房屋一致(只更新人员信息) + updateUserInfo(icResiCollectEntity,memberList.get(i),false,formDTO,userIdCardEntity); + }else{ + // 人员房屋不一致(更新人员信息和变更记录) + updateUserInfo(icResiCollectEntity,memberList.get(i),true,formDTO,userIdCardEntity); + } + }else{ + // 不存在人员 + insertUserInfo(icResiCollectEntity,memberList.get(i),formDTO); + } + } + } + } + } + + /** + * 更新登记表房屋ID + * @param icResiCollectEntity + * @param formDTO + * @return + */ + private IcResiCollectEntity updateHomeId(IcResiCollectEntity icResiCollectEntity,IcResiCollectCheckFormDTO formDTO){ + + // fegin获取房屋信息 + GetHouseInfoToCollectFormDTO getHouseInfoToCollectFormDTO = new GetHouseInfoToCollectFormDTO(); + getHouseInfoToCollectFormDTO.setBuildingUnitId(formDTO.getBuildingUnitId()); + getHouseInfoToCollectFormDTO.setDoorName(formDTO.getDoorName()); + Result resultDTOResult = govOrgFeignClient.getHouseInfoToCollect(getHouseInfoToCollectFormDTO); + IcHouseInfoCollectResultDTO icHouseInfoCollectResultDTO = resultDTOResult.getData(); + + // 新增房屋后需要collect更新上房屋ID + // log + icResiCollectEntity.setHomeId(icHouseInfoCollectResultDTO.getId()); + baseDao.updateById(icResiCollectEntity); + return icResiCollectEntity; + + } + + /** + * 更新房屋信息 + * @param icResiCollectEntity + */ + private void updateHouseInfo(IcResiCollectEntity icResiCollectEntity){ + CollectHouseFormDTO collectHouseFormDTO = new CollectHouseFormDTO(); + collectHouseFormDTO.setId(icResiCollectEntity.getHomeId()); + collectHouseFormDTO.setOwnerName(icResiCollectEntity.getHouseHolderName()); + collectHouseFormDTO.setRentFlag(Integer.parseInt(icResiCollectEntity.getHouseType())); + collectHouseFormDTO.setCustomerId(icResiCollectEntity.getCustomerId()); + collectHouseFormDTO.setResiNumber(icResiCollectEntity.getTotalResi()); + govOrgFeignClient.updateCollect(collectHouseFormDTO); + + } + + /** + * 更新人员信息 + * @param icResiCollectEntity 登记信息 + * @param icResiCollectMemDetailDTO 登记城阳信息 + * @param isUpdateLog 是否更新记录 + * @param formDTO 入参 + * @param userEntity 根据身份证号查询到的user信息 + */ + private void updateUserInfo(IcResiCollectEntity icResiCollectEntity,IcResiCollectMemDetailDTO icResiCollectMemDetailDTO,Boolean isUpdateLog, + IcResiCollectCheckFormDTO formDTO,IcResiUserEntity userEntity){ + + // 这个房屋下已经设置了户主后,再次选择户主时提示提示“房屋下已存在户主” PS.户主指与户主关系是本人的用户 + if (RelationshipEnum.SELF.getCode().equals(icResiCollectMemDetailDTO.getRelationship())) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(IcResiUserEntity::getHomeId, icResiCollectEntity.getHomeId()); + wrapper.eq(IcResiUserEntity::getYhzgx, RelationshipEnum.SELF.getCode()); + List entityList = icResiUserDao.selectList(wrapper); + if (CollectionUtils.isNotEmpty(entityList)) { + String errorMsg = "房屋下已存在户主"; + throw new EpmetException(EpmetErrorCode.ORG_ADD_FAILED.getCode(), errorMsg, errorMsg); + } + } + + userEntity.setPids(icResiCollectEntity.getPids() + ":" + icResiCollectEntity.getAgencyId()); // ic_resi_user表的组织的pids 含agencyId本身 + userEntity.setAgencyId(icResiCollectEntity.getAgencyId()); + userEntity.setGridId(icResiCollectEntity.getGridId()); + userEntity.setVillageId(icResiCollectEntity.getVillageId()); + userEntity.setBuildId(icResiCollectEntity.getBuildId()); + userEntity.setUnitId(icResiCollectEntity.getUnitId()); + userEntity.setHomeId(icResiCollectEntity.getHomeId()); + userEntity.setName(icResiCollectMemDetailDTO.getName()); + userEntity.setMobile(icResiCollectMemDetailDTO.getMobile()); + userEntity.setIdCard(icResiCollectMemDetailDTO.getIdNum()); + userEntity.setYhzgx(icResiCollectMemDetailDTO.getRelationship()); + userEntity.setGzdw(icResiCollectMemDetailDTO.getWorkPlace()); + userEntity.setRemarks(icResiCollectMemDetailDTO.getRemark()); + userEntity.setHjszd(icResiCollectMemDetailDTO.getDomicilePlace()); + icResiUserDao.updateById(userEntity); + + // 判断是否需要更新记录 + if(isUpdateLog){ + //变更记录表 + IcUserChangeRecordEntity changeRecordEntity = new IcUserChangeRecordEntity(); + changeRecordEntity.setCustomerId(icResiCollectEntity.getCustomerId()); + changeRecordEntity.setOperatorId(formDTO.getUserId()); + changeRecordEntity.setIcUserId(userEntity.getId()); + changeRecordEntity.setOperatorName(formDTO.getRealName()); + changeRecordEntity.setIcUserName(userEntity.getName()); + changeRecordEntity.setType("update"); + changeRecordEntity.setTypeName("修改"); + changeRecordEntity.setBeforeChangeName("-"); + changeRecordEntity.setAfterChangeName("-"); + changeRecordEntity.setChangeTime(new java.util.Date()); + icUserChangeRecordService.insert(changeRecordEntity); + } + + } + + /** + * 新增人员信息 + * @param icResiCollectMemDetailDTO + */ + private void insertUserInfo(IcResiCollectEntity icResiCollectEntity,IcResiCollectMemDetailDTO icResiCollectMemDetailDTO,IcResiCollectCheckFormDTO formDTO){ + + // 这个房屋下已经设置了户主后,再次选择户主时提示提示“房屋下已存在户主” PS.户主指与户主关系是本人的用户 + if (RelationshipEnum.SELF.getCode().equals(icResiCollectMemDetailDTO.getRelationship())) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(IcResiUserEntity::getHomeId, icResiCollectEntity.getHomeId()); + wrapper.eq(IcResiUserEntity::getYhzgx, RelationshipEnum.SELF.getCode()); + List entityList = icResiUserDao.selectList(wrapper); + if (CollectionUtils.isNotEmpty(entityList)) { + String errorMsg = "房屋下已存在户主"; + throw new EpmetException(EpmetErrorCode.ORG_ADD_FAILED.getCode(), errorMsg, errorMsg); + } + } + + // 新增人员 + IcResiUserEntity userEntity = new IcResiUserEntity(); + userEntity.setPids(icResiCollectEntity.getPids() + ":" + icResiCollectEntity.getAgencyId()); // ic_resi_user表的组织的pids 含agencyId本身 + userEntity.setAgencyId(icResiCollectEntity.getAgencyId()); + userEntity.setGridId(icResiCollectEntity.getGridId()); + userEntity.setVillageId(icResiCollectEntity.getVillageId()); + userEntity.setBuildId(icResiCollectEntity.getBuildId()); + userEntity.setUnitId(icResiCollectEntity.getUnitId()); + userEntity.setHomeId(icResiCollectEntity.getHomeId()); + userEntity.setName(icResiCollectMemDetailDTO.getName()); + userEntity.setMobile(icResiCollectMemDetailDTO.getMobile()); + userEntity.setIdCard(icResiCollectMemDetailDTO.getIdNum()); + userEntity.setYhzgx(icResiCollectMemDetailDTO.getRelationship()); + userEntity.setGzdw(icResiCollectMemDetailDTO.getWorkPlace()); + userEntity.setRemarks(icResiCollectMemDetailDTO.getRemark()); + userEntity.setCustomerId(icResiCollectMemDetailDTO.getCustomerId()); + userEntity.setHjszd(icResiCollectMemDetailDTO.getDomicilePlace()); + icResiUserDao.insert(userEntity); + + //变更记录表 + IcUserChangeRecordEntity changeRecordEntity = new IcUserChangeRecordEntity(); + changeRecordEntity.setCustomerId(icResiCollectEntity.getCustomerId()); + changeRecordEntity.setOperatorId(formDTO.getUserId()); + changeRecordEntity.setIcUserId(userEntity.getId()); + changeRecordEntity.setOperatorName(formDTO.getRealName()); + changeRecordEntity.setIcUserName(userEntity.getName()); + changeRecordEntity.setType("add"); + changeRecordEntity.setTypeName("新增"); + changeRecordEntity.setBeforeChangeName("-"); + changeRecordEntity.setAfterChangeName("-"); + changeRecordEntity.setChangeTime(new java.util.Date()); + icUserChangeRecordService.insert(changeRecordEntity); + + } + + /** + * 获取人员信息 + * @param idCard + * @return + */ + private IcResiUserEntity queryOriginUserByIdCard(String idCard,String customerId) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcResiUserEntity::getIdCard, idCard); + query.eq(IcResiUserEntity::getCustomerId, customerId); + IcResiUserEntity originUser = icResiUserDao.selectOne(query); + return originUser; + } + private Map queryOriginUserByHomeId(String homeId,String customerId) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcResiUserEntity::getHomeId, homeId); + query.eq(IcResiUserEntity::getCustomerId, customerId); + List originUserList = icResiUserDao.selectList(query); + Map memMap = originUserList.stream().collect(Collectors.toMap(IcResiUserEntity::getIdCard, Function.identity())); + return memMap; + } + + @Override + public CollectHouseInfoResultDTO getHouseDetailByCollect(IcResiCollectGetDetailFormDTO formDTO) { + + CollectHouseInfoResultDTO collectHouseInfoResultDTO = baseDao.getHouseDetailByCollect(formDTO); + + return collectHouseInfoResultDTO; + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectVisitorServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectVisitorServiceImpl.java new file mode 100644 index 0000000000..ccb7451952 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectVisitorServiceImpl.java @@ -0,0 +1,158 @@ +package com.epmet.service.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.dto.result.CustomerStaffInfoCacheResult; +import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dao.IcResiCollectVisitorDao; +import com.epmet.dto.IcNeighborHoodDTO; +import com.epmet.dto.IcResiCollectVisitorDTO; +import com.epmet.dto.SaveCollectVisitorFormDTO; +import com.epmet.dto.form.CollectDetailFormDTO; +import com.epmet.dto.form.CollectListFormDTO; +import com.epmet.dto.form.VisitListFormDTO; +import com.epmet.dto.result.CollectListResultDTO; +import com.epmet.entity.IcResiCollectVisitorEntity; +import com.epmet.redis.IcResiCollectVisitorRedis; +import com.epmet.service.IcResiCollectVisitorService; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +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.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 居民信息采集-访客 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-08-02 + */ +@Service +public class IcResiCollectVisitorServiceImpl extends BaseServiceImpl implements IcResiCollectVisitorService { + + @Autowired + private IcResiCollectVisitorRedis icResiCollectVisitorRedis; + + @Autowired + private IcResiCollectServiceImpl icResiCollectServiceImpl; + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, IcResiCollectVisitorDTO.class); + } + + /** + * 条件查询 + * @param params + * @return + */ + @Override + public PageData getPhrasePage(Map params) { + IPage page = getPage(params); + List list = baseDao.getPhrasePage(params); + return new PageData<>(list, page.getTotal()); + } + + /** + * Desc: 查询访客信息 + * @param formDTO + * @author wgf + * @date 2022/8/5 8:23 + */ + @Override + public PageData getVisitorList(VisitListFormDTO formDTO) { + PageData result = new PageData<>(new ArrayList<>(), 0); + if (StringUtils.isBlank(formDTO.getStartTime()) && StringUtils.isBlank(formDTO.getEndTime()) ){ + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); + if (null == staffInfo){ + throw new EpmetException("查询人员信息失败"+formDTO.getUserId()); + } + formDTO.setOrgId(staffInfo.getAgencyId()); + } + PageInfo pageList = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.getCollectList(formDTO)); + result.setList(pageList.getList()); + result.setTotal(Integer.parseInt(String.valueOf(pageList.getTotal()))); + return result; + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, IcResiCollectVisitorDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public IcResiCollectVisitorDTO get(String id) { + IcResiCollectVisitorEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, IcResiCollectVisitorDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(IcResiCollectVisitorDTO dto) { + IcResiCollectVisitorEntity entity = ConvertUtils.sourceToTarget(dto, IcResiCollectVisitorEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(IcResiCollectVisitorDTO dto) { + IcResiCollectVisitorEntity entity = ConvertUtils.sourceToTarget(dto, IcResiCollectVisitorEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + + + @Override + @Transactional(rollbackFor = Exception.class) + public Result saveInfo(SaveCollectVisitorFormDTO dto) { + IcResiCollectVisitorEntity entity = ConvertUtils.sourceToTarget(dto, IcResiCollectVisitorEntity.class); + //根据小区id查询网格相关信息 + IcNeighborHoodDTO neighborHoodDTO = icResiCollectServiceImpl.queryIcNeighborHood(dto.getVillageId()); + entity.setGridId(neighborHoodDTO.getGridId()); + entity.setAgencyId(neighborHoodDTO.getAgencyId()); + entity.setPids(neighborHoodDTO.getAgencyPids()); + entity.setCustomerId(neighborHoodDTO.getCustomerId()); + insert(entity); + return new Result().ok("提交成功"); + } + + @Override + public Result getVisitorDetail(CollectDetailFormDTO dto) { + IcResiCollectVisitorEntity entity = baseDao.selectById(dto.getId()); + return new Result().ok(entity); + } + +} diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.63__alter_collect.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.63__alter_collect.sql new file mode 100644 index 0000000000..fa54cfab0e --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.63__alter_collect.sql @@ -0,0 +1,36 @@ +alter table ic_resi_collect add COLUMN `CHECK_STATE` varchar(1) DEFAULT NULL COMMENT '审核状态:0待审核 1审核不通过 2审核通过'; +alter table ic_resi_collect add COLUMN `CHECK_REASON` varchar(255) DEFAULT NULL COMMENT '审核理由'; + + +alter table ic_resi_member add COLUMN `RELATIONSHIP` varchar(10) DEFAULT NULL COMMENT '与户主关系'; +alter table ic_resi_member add COLUMN `FACE_IMG` varchar(255) DEFAULT NULL COMMENT '人脸照片'; + + +CREATE TABLE `ic_resi_collect_visitor` ( + `ID` varchar(64) NOT NULL COMMENT '主键', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id customer.id', + `GRID_ID` varchar(64) DEFAULT NULL COMMENT '网格ID', + `AGENCY_ID` varchar(64) DEFAULT NULL COMMENT '组织Id', + `PIDS` varchar(255) DEFAULT NULL COMMENT '组织的pids', + `VILLAGE_ID` varchar(64) DEFAULT NULL COMMENT '所属小区ID;', + `VILLAGE_NAME` varchar(64) DEFAULT NULL COMMENT '所属小区名称', + `BUILD_ID` varchar(64) DEFAULT NULL COMMENT '所属楼宇Id', + `BUILD_NAME` varchar(64) DEFAULT NULL COMMENT '所属楼宇名称', + `UNIT_ID` varchar(64) DEFAULT NULL COMMENT '单元id', + `UNIT_NAME` varchar(64) DEFAULT NULL COMMENT '单元名', + `HOME_ID` varchar(64) DEFAULT NULL COMMENT '所属家庭Id', + `HOME_NAME` varchar(64) DEFAULT NULL COMMENT '房间名', + `ADDRESS` varchar(255) NOT NULL COMMENT '详细地址', + `NAME` varchar(64) NOT NULL COMMENT '姓名', + `MOBILE` varchar(15) NOT NULL COMMENT '手机号', + `ID_CARD` varchar(18) DEFAULT NULL COMMENT '身份证号', + `COME_REASON` varchar(255) DEFAULT NULL COMMENT '来访事由', + `FACE_IMG` varchar(255) DEFAULT NULL COMMENT '人脸照片', + `DEL_FLAG` int(11) NOT NULL DEFAULT '0' COMMENT '删除标识 0.未删除 1.已删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(64) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(64) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='居民信息采集-访客'; diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.64__resi_xjc.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.64__resi_xjc.sql new file mode 100644 index 0000000000..9ce60670d4 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.64__resi_xjc.sql @@ -0,0 +1 @@ +alter table ic_resi_user add COLUMN IS_XJC CHAR(1) DEFAULT'0' COMMENT '是否新阶层人士【是:1 否:0】'after IS_FLOATING; \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiCollectDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiCollectDao.xml index d2ca4339c1..35090d4a12 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiCollectDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiCollectDao.xml @@ -4,7 +4,7 @@ @@ -16,6 +16,9 @@ + + + @@ -26,6 +29,9 @@ c.ADDRESS AS address, c.HOUSE_TYPE AS houseType, c.TOTAL_RESI AS totalResi, + c.HOME_ID as homeId, + c.CHECK_STATE as checkState, + c.AGENCY_ID as agencyId, #{domicilePlace} as domicile_place FROM ic_resi_collect c left join ic_resi_member m on(c.id=m.IC_RESI_COLLECT_ID and m.del_flag='0') @@ -61,7 +67,9 @@ m.DOMICILE_PLACE_CODE as domicilePlaceCode, m.DOMICILE_PLACE_CODE_PATH as domicilePlaceCodePath, m.WORK_PLACE as workPlace, - m.REMARK as remark + m.REMARK as remark, + m.RELATIONSHIP as relationship, + m.FACE_IMG as faceImg from ic_resi_member m where m.DEL_FLAG = 0 and m.IC_RESI_COLLECT_ID = #{id} @@ -85,7 +93,8 @@ UPDATED_BY = #{updatedBy}, - UPDATED_TIME = NOW() + UPDATED_TIME = NOW(), + CHECK_STATE = '0' WHERE id = #{id} @@ -102,4 +111,56 @@ ORDER BY m.UPDATED_TIME DESC - \ No newline at end of file + + + + diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiCollectVisitorDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiCollectVisitorDao.xml new file mode 100644 index 0000000000..52cdb9ace8 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiCollectVisitorDao.xml @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiMemberDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiMemberDao.xml index 13db077a3c..d7cfcc48f2 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiMemberDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiMemberDao.xml @@ -25,4 +25,11 @@ AND m.DEL_FLAG = '0' AND ( m.CREATED_BY = #{userId} OR m.UPDATED_BY = #{userId} ) - \ No newline at end of file + + diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index 8ba307f70c..da04d1a58c 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -213,7 +213,7 @@ ORDER BY - IC_RESI_USER.GRID_ID ASC, + IC_RESI_USER.GRID_ID desc, IC_RESI_USER.VILLAGE_ID ASC, IC_RESI_USER.BUILD_ID ASC, IC_RESI_USER.UNIT_ID ASC,