src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
@@ -192,6 +192,10 @@ jhs.building, jhs.district_code aoiCode, jh.volunteer_org, case when TIMESTAMPDIFF(year, substring(jh.id_card, 7, 8), now()) < 18 then 2 when TIMESTAMPDIFF(year, substring(jh.id_card, 7, 8), now()) >= 18 then 1 end as minors, jhs.unit FROM jczz_household jh @@ -246,6 +250,9 @@ <if test="household.minors!=null and household.minors ==2"> and TIMESTAMPDIFF(year, substring(jh.id_card, 7, 8), now()) < 18 </if> <if test="household.minors!=null and household.minors ==1"> and TIMESTAMPDIFF(year, substring(jh.id_card, 7, 8), now()) >= 18 </if> </if> <!-- 不等于18 就是非租户 --> <if test="household.relationship!=null and household.relationship != 18"> src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java
@@ -25,6 +25,7 @@ import org.springblade.common.constant.CommonConstant; import org.springblade.common.param.CommonParamSet; import org.springblade.common.utils.SpringUtils; import org.springblade.core.mp.support.Condition; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.utils.DigestUtil; import org.springblade.modules.grid.service.IGridService; @@ -144,10 +145,12 @@ // 待审核 houseRentalVO.setAuditStatus(0); } //保存自身 //保存自身(租赁) flag = save(houseRentalVO); //保存到住户 flag = saveHousehold(houseRentalVO, flag); if (flag){ flag = saveHousehold(houseRentalVO, flag); } return flag; } @@ -159,42 +162,79 @@ * @return */ public boolean saveHousehold(HouseRentalVO houseRentalVO, boolean flag) { if (flag && houseRentalVO.getHouseholdVOList().size() > 0) { List<String> phoneList = new ArrayList<>(); List<HouseholdEntity> householdEntityList = new ArrayList<>(); if (houseRentalVO.getHouseholdVOList().size() > 0) { houseRentalVO.getHouseholdVOList().forEach(e -> { e.setHouseCode(houseRentalVO.getHouseCode()); e.setHousingRentalId(houseRentalVO.getId()); e.setRelationship(18); e.setResidentialStatus(1); e.setRoleType(2); householdEntityList.add(e); phoneList.add(e.getPhoneNumber()); }); try { // 查询租户是否有居民角色,没有则添加居民角色 IUserService bean = SpringUtils.getBean(IUserService.class); List<User> list = bean.list(Wrappers.<User>lambdaQuery() .in(User::getPhone, phoneList) .eq(User::getIsDeleted, 0)); for (User user : list) { if (StringUtils.isNoneBlank(user.getRoleId())) { boolean contains = user.getRoleId().contains("1717429059648606209"); if (contains) { continue; } user.setRoleId(user.getRoleId() + ",1717429059648606209"); } else { user.setRoleId("1717429059648606209"); } if (!Strings.isBlank(e.getIdCard())){ e.setCardType(111); } bean.updateBatchById(list); } catch (Exception e) { log.error("保存用户角色为居民:", e); } flag = iHouseholdService.saveBatch(householdEntityList); e.setRoleType(2); // 添加住户 iHouseholdService.save(e); // 绑定用户 bindUserHandle(e); }); } return flag; } /** * 租客和用户绑定 * * @param */ public User bindUserHandle(HouseholdEntity householdEntity) { IUserService userService = SpringUtils.getBean(IUserService.class); IHouseholdService householdService = SpringUtils.getBean(IHouseholdService.class); User newUser = new User(); if (null != householdEntity.getPhoneNumber() && !householdEntity.getPhoneNumber().equals("")) { //根据手机号查询库里的数据 User userParams = new User(); userParams.setPhone(householdEntity.getPhoneNumber()); User user = userService.getOne(Condition.getQueryWrapper(userParams)); if (null == user) { User userParams1 = new User(); userParams1.setAccount(householdEntity.getPhoneNumber()); userParams1.setIsDeleted(0); user = userService.getOne(Condition.getQueryWrapper(userParams1)); } if (null != user) { //如果用户存在,则该用户id绑定场所 householdEntity.setAssociatedUserId(user.getId()); //更新住户信息 householdService.updateById(householdEntity); newUser = user; // 判断用户是否包含了居民角色,不包含则需更新 if (!user.getRoleId().contains("1717429059648606209")) { user.setRoleId(user.getRoleId() + ",1717429059648606209"); //更新 userService.updateById(user); } } else { //如果用户不存在,则新增一个用户 newUser.setAccount(householdEntity.getPhoneNumber()); newUser.setPhone(householdEntity.getPhoneNumber()); newUser.setName(householdEntity.getName()); newUser.setRealName(householdEntity.getName()); // 社区群众部门 newUser.setDeptId("1727979636479037441"); // 目前暂定居民角色, newUser.setRoleId("1717429059648606209"); //默认密码为 123456 newUser.setPassword("123456"); // 设置机构 // 用户新增 boolean submit = userService.submit(newUser); //绑定id householdEntity.setAssociatedUserId(newUser.getId()); //更新住户信息 householdService.updateById(householdEntity); } } return newUser; } /** @@ -229,6 +269,13 @@ boolean removeFlag = true; houseRental.setUpdateUser(AuthUtil.getUserId()); houseRental.setUpdateTime(new Date()); // 获取请求头中的角色别名 String roleName = SpringUtils.getRequestParam("roleName"); // 居民 if (!Strings.isBlank(roleName) && roleName.equals("inhabitant")) { // 待审核 houseRental.setAuditStatus(0); } //更新自身 boolean update = updateById(houseRental); // 查询对应已存在的租户 @@ -255,6 +302,9 @@ householdEntity.setRelationship(18); householdEntity.setResidentialStatus(1); householdEntity.setRoleType(2); if (!Strings.isBlank(householdEntity.getIdCard())){ householdEntity.setCardType(111); } if (user.getId() != null) { householdEntity.setAssociatedUserId(user.getId()); } src/main/java/org/springblade/modules/task/controller/TaskResidencePermitApplyController.java
@@ -134,7 +134,7 @@ @ApiOperationSupport(order = 7) @ApiOperation(value = "逻辑删除", notes = "传入ids") public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { return R.status(taskResidencePermitApplyService.removeBatchByIds(Func.toLongList(ids))); return R.status(taskResidencePermitApplyService.removeTaskResidencePermitApplyBatchByIds(Func.toLongList(ids))); } src/main/java/org/springblade/modules/task/entity/TaskResidencePermitApplyEntity.java
@@ -97,6 +97,7 @@ /** 0:否 1:是 */ @ApiModelProperty(value = "0:否 1:是", example = "") @TableField("is_deleted") @TableLogic private Integer isDeleted; /** 申请事由 */ src/main/java/org/springblade/modules/task/mapper/TaskResidencePermitApplyMapper.xml
@@ -12,6 +12,10 @@ select jtrpa.*, br.town_name streetName, case when TIMESTAMPDIFF(year, substring(jtrpa.id_card, 7, 8), now()) < 18 then 2 when TIMESTAMPDIFF(year, substring(jtrpa.id_card, 7, 8), now()) >= 18 then 1 end as minors, jg.grid_name, jda.aoi_name, br.village_name communityName, @@ -26,6 +30,9 @@ <if test="residen.minors!=null and residen.minors ==2"> and TIMESTAMPDIFF(year, substring(jtrpa.id_card, 7, 8), now()) < 18 </if> <if test="residen.minors!=null and residen.minors ==1"> and TIMESTAMPDIFF(year, substring(jtrpa.id_card, 7, 8), now()) >= 18 </if> <if test="residen.id != null ">and jtrpa.id = #{residen.id}</if> <if test="residen.name != null and residen.name != ''">and jtrpa.name like CONCAT('%',#{residen.name},'%')</if> <if test="residen.phone != null and residen.phone != ''">and jtrpa.phone like CONCAT('%',#{residen.phone},'%')</if> src/main/java/org/springblade/modules/task/service/ITaskResidencePermitApplyService.java
@@ -22,6 +22,8 @@ import org.springblade.core.mp.base.BaseService; import com.baomidou.mybatisplus.core.metadata.IPage; import java.util.List; /** * 居住证申请 服务类 * @@ -60,4 +62,11 @@ * @return */ Boolean updateResidencePermitApplyEntity(TaskResidencePermitApplyEntity taskResidencePermitApply); /** * 居住证申请 删除 * @param toLongList * @return */ boolean removeTaskResidencePermitApplyBatchByIds(List<Long> toLongList); } src/main/java/org/springblade/modules/task/service/impl/TaskResidencePermitApplyServiceImpl.java
@@ -31,10 +31,7 @@ import org.springblade.modules.house.service.IHouseService; import org.springblade.modules.place.entity.PlaceEntity; import org.springblade.modules.place.service.IPlaceService; import org.springblade.modules.task.entity.TaskEntity; import org.springblade.modules.task.entity.TaskPlaceRecordEntity; import org.springblade.modules.task.entity.TaskReportForRepairsEntity; import org.springblade.modules.task.entity.TaskResidencePermitApplyEntity; import org.springblade.modules.task.entity.*; import org.springblade.modules.task.service.ITaskPlaceRecordService; import org.springblade.modules.task.service.ITaskService; import org.springblade.modules.task.vo.TaskPlaceRecordVO; @@ -126,4 +123,26 @@ } return b; } /** * 居住证申请 删除 * @param toLongList * @return */ @Override public boolean removeTaskResidencePermitApplyBatchByIds(List<Long> toLongList) { boolean flag = false; for (Long id : toLongList) { // 先查询对应的任务id TaskResidencePermitApplyEntity taskResidencePermitApplyEntity = getById(id); // 删除居住证 flag = removeById(id); if (flag) { // 删除对应的任务 flag = taskService.removeById(taskResidencePermitApplyEntity.getTaskId()); } } // 返回 return flag; } }