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/CollectPageFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectPageFormDTO.java new file mode 100644 index 0000000000..5abb777798 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectPageFormDTO.java @@ -0,0 +1,18 @@ +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; +} 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..2435748e79 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectPageListDTO.java @@ -0,0 +1,51 @@ +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 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 c7807a9469..b535406555 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 @@ -166,6 +166,37 @@ public class IcResiCollectController { 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, IcResiCollectFormDTO.class); + 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.setCustomerId(tokenDto.getCustomerId()); + PageData page = icResiCollectService.getCollectPage(dto); + return new Result>().ok(page); + } + /** * 信息采集-审核通过-新增房屋-复显房屋信息 * @param formDTO 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 index e027dca097..63a5d38371 100644 --- 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 @@ -7,9 +7,10 @@ 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.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.IcResiCollectVisitorDTO; +import com.epmet.dto.SaveCollectVisitorFormDTO; import com.epmet.excel.IcResiCollectVisitorExcel; import com.epmet.service.IcResiCollectVisitorService; import org.springframework.beans.factory.annotation.Autowired; @@ -77,6 +78,20 @@ public class IcResiCollectVisitorController { 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); + } } 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 77066a9b26..3a3560beef 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 @@ -5,6 +5,7 @@ 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; @@ -46,6 +47,15 @@ public interface IcResiCollectDao extends BaseDao { */ List selectLastSubmitId(@Param("customerId") String customerId, @Param("userId") String userId); + /** + * @describe: 我的登记列表 + * @author wangtong + * @date 2022/8/3 14:19 + * @params [customerId] + * @return java.util.List + */ + List getCollectPage(@Param("customerId") String customerId); + /** * 获取房屋信息 * @param formDTO 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 index 4fc4495495..7b9c8a7501 100644 --- 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 @@ -78,6 +78,11 @@ public class IcResiCollectVisitorEntity extends BaseEpmetEntity { */ private String homeName; + /** + * 详细地址 + */ + private String address; + /** * 姓名 */ 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 9e4a61e315..afa2b18334 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,9 +2,11 @@ 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.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; @@ -62,6 +64,24 @@ public interface IcResiCollectService extends BaseService { */ void collectCheck(IcResiCollectCheckFormDTO formDTO); + /** + * @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); + /** * 信息采集-获取房屋信息 * @param formDTO @@ -69,3 +89,4 @@ public interface IcResiCollectService extends BaseService { */ 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 index f33d174259..eaedbd488d 100644 --- 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 @@ -2,7 +2,9 @@ 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.entity.IcResiCollectVisitorEntity; import java.util.List; @@ -75,4 +77,13 @@ public interface IcResiCollectVisitorService extends BaseService memberList = ConvertUtils.sourceToTarget(formDTO.getMemberList(), IcResiMemberEntity.class); + memberList.forEach(mem -> { + if (StringUtils.isNotBlank(mem.getName()) || StringUtils.isNotBlank(mem.getIdNum())) { + //姓名或份身份证号不为空时插入 + mem.setIcResiCollectId(entity.getId()); + icResiMemberDao.insert(mem); + } + }); + } else { + //更新主表 + 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.getId()); + } + return new Result().ok("提交成功"); + } + + @Override + public PageData getCollectPage(CollectPageFormDTO dto) { + PageHelper.startPage(dto.getPageNo(), dto.getPageSize()); + List list = baseDao.getCollectPage(dto.getCustomerId()); + PageInfo pageInfo = new PageInfo<>(list); + return new PageData<>(list, pageInfo.getTotal()); + } + + 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(), "小区信息查询异常", "小区信息查询异常"); 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 index c8dce44e86..5abc218525 100644 --- 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 @@ -3,11 +3,14 @@ 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.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.constant.FieldConstant; +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.entity.IcResiCollectVisitorEntity; import com.epmet.redis.IcResiCollectVisitorRedis; import com.epmet.service.IcResiCollectVisitorService; @@ -32,6 +35,9 @@ public class IcResiCollectVisitorServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -84,4 +90,19 @@ public class IcResiCollectVisitorServiceImpl extends BaseServiceImpl UPDATED_BY = #{updatedBy}, - UPDATED_TIME = NOW() + UPDATED_TIME = NOW(), + CHECK_STATE = '0' WHERE id = #{id} @@ -104,6 +105,36 @@ ORDER BY m.UPDATED_TIME DESC +