zhongrj
2024-03-21 2cde81761ea06c696457f7d1341f28cee3a50dad
住户查询未成年筛选,居住证申请查询,删除修改,租户新增修改调整
7 files modified
163 ■■■■ changed files
src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml 7 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java 110 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/task/controller/TaskResidencePermitApplyController.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/task/entity/TaskResidencePermitApplyEntity.java 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/task/mapper/TaskResidencePermitApplyMapper.xml 7 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/task/service/ITaskResidencePermitApplyService.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/task/service/impl/TaskResidencePermitApplyServiceImpl.java 27 ●●●● patch | view | raw | blame | history
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()) &lt; 18
                </if>
                <if test="household.minors!=null and household.minors ==1">
                    and TIMESTAMPDIFF(year, substring(jh.id_card, 7, 8), now()) &gt;= 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()) &lt; 18 then 2
        when TIMESTAMPDIFF(year, substring(jtrpa.id_card, 7, 8), now()) &gt;= 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()) &lt; 18
            </if>
            <if test="residen.minors!=null and residen.minors ==1">
                and TIMESTAMPDIFF(year, substring(jtrpa.id_card, 7, 8), now()) &gt;= 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;
    }
}