src/main/java/org/springblade/modules/property/mapper/PropertyCapitalApplyMapper.xml
@@ -61,9 +61,6 @@ #{code} </foreach> </when> <otherwise> and jd.community_code in ('') </otherwise> </choose> </if> order by jpca.create_time desc src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.java
@@ -22,6 +22,7 @@ import org.springblade.modules.property.vo.PropertyCompanyDistrictVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import java.util.List; /** @@ -43,5 +44,5 @@ @Param("propertyCompanyDistrict") PropertyCompanyDistrictVO propertyCompanyDistrict); List<UserEntity> getDistictUserByCode(String houseCode); List<UserEntity> getDistictUserByCode(String houseCode); } src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.xml
@@ -53,6 +53,12 @@ <if test="propertyCompanyDistrict.propertyCompanyName!=null and propertyCompanyDistrict.propertyCompanyName!=''"> and jpc.name like concat('%',#{propertyCompanyDistrict.propertyCompanyName},'%') </if> <if test="propertyCompanyDistrict.districtIds"> and jpcd.district_id in <foreach collection="propertyCompanyDistrict.districtIds" item="id" open="(" close=")" separator=","> #{id} </foreach> </if> </select> <select id="getDistictUserByCode" resultType="org.springblade.modules.system.vo.UserVO"> src/main/java/org/springblade/modules/property/mapper/PropertyDistrictUserMapper.xml
@@ -19,7 +19,7 @@ <select id="selectPropertyDistrictByUserId" resultType="java.lang.String"> SELECT pcd.district_id SELECT distinct pcd.district_id FROM jczz_property_company_district pcd LEFT JOIN jczz_property_district_user pdu ON pcd.id = pdu.property_company_district_id where pdu.user_id = #{userId} src/main/java/org/springblade/modules/property/service/impl/PropertyCapitalApplyServiceImpl.java
@@ -33,6 +33,7 @@ import org.springblade.core.tool.support.Kv; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.SpringUtil; import org.springblade.flow.business.service.IFlowService; import org.springblade.flow.core.constant.ProcessConstant; import org.springblade.flow.core.entity.BladeFlow; @@ -43,8 +44,12 @@ import org.springblade.modules.ownersCommittee.entity.OwnersCommitteeEntity; import org.springblade.modules.ownersCommittee.service.IOwnersCommitteeService; import org.springblade.modules.property.entity.PropertyCapitalApplyEntity; import org.springblade.modules.property.entity.PropertyCompanyDistrictEntity; import org.springblade.modules.property.entity.PropertyCompanyEntity; import org.springblade.modules.property.mapper.PropertyCapitalApplyMapper; import org.springblade.modules.property.service.IPropertyCapitalApplyService; import org.springblade.modules.property.service.IPropertyCompanyDistrictService; import org.springblade.modules.property.service.IPropertyCompanyService; import org.springblade.modules.property.service.IPropertyDistrictUserService; import org.springblade.modules.property.vo.PropertyCapitalApplyVO; import org.springblade.modules.system.entity.Dept; @@ -59,6 +64,7 @@ import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; /** * 物业维修资金申请表 服务实现类 @@ -79,14 +85,23 @@ Integer isAdministrator = AuthUtil.isAdministrator() == true ? 1 : 2; // 判断角色,物业角色只能查询当前小区的 String userRole = AuthUtil.getUserRole(); if (userRole.contains("wygly")) { IPropertyDistrictUserService bean = SpringUtils.getBean(IPropertyDistrictUserService.class); List<String> strings = bean.selectPropertyDistrictByUserId(AuthUtil.getUserId()); if (strings.size() > 0) { propertyCapitalApply.setDistrictIdList(strings); } else { return page.setRecords(new ArrayList<PropertyCapitalApplyVO>()); if (userRole.contains("wygly")|| userRole.contains("wyxmjl")) { // 查询小区id IPropertyDistrictUserService propertyDistrictUserService = SpringUtils.getBean(IPropertyDistrictUserService.class); List<String> districtIds = propertyDistrictUserService.selectPropertyDistrictByUserId(AuthUtil.getUserId()); // 通过用户机构查询用户的物业公司 // 通过用户机构查询用户的物业公司 IPropertyCompanyService bean = SpringUtil.getBean(IPropertyCompanyService.class); PropertyCompanyEntity one = bean.getOne(Wrappers.<PropertyCompanyEntity>lambdaQuery().eq(PropertyCompanyEntity::getDeptId, AuthUtil.getDeptId())); IPropertyCompanyDistrictService bean2 = SpringUtils.getBean(IPropertyCompanyDistrictService.class); // 通过物业公司,查询小区 List<PropertyCompanyDistrictEntity> list = bean2.list(Wrappers.<PropertyCompanyDistrictEntity>lambdaQuery() .eq(PropertyCompanyDistrictEntity::getPropertyCompanyId, one.getId())); if (list.size() > 0) { List<String> collect = list.stream().map(i -> i.getDistrictId()).collect(Collectors.toList()); districtIds.addAll(collect); } propertyCapitalApply.setDistrictIdList(districtIds); } return page.setRecords(baseMapper.selectPropertyCapitalApplyPage(page, propertyCapitalApply, regionChildCodesList, isAdministrator)); } src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyDistrictServiceImpl.java
@@ -1,27 +1,31 @@ package org.springblade.modules.property.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang3.StringUtils; import org.flowable.idm.engine.impl.persistence.entity.UserEntity; import org.springblade.common.utils.SpringUtils; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.SpringUtil; import org.springblade.modules.property.entity.PropertyCompanyDistrictEntity; import org.springblade.modules.property.entity.PropertyCompanyEntity; import org.springblade.modules.property.entity.PropertyDistrictUserEntity; import org.springblade.modules.property.service.IPropertyDistrictUserService; import org.springblade.modules.property.vo.PropertyCompanyDistrictVO; import org.springblade.modules.property.mapper.PropertyCompanyDistrictMapper; import org.springblade.modules.property.service.IPropertyCompanyDistrictService; import org.springblade.modules.property.service.IPropertyCompanyService; import org.springblade.modules.property.service.IPropertyDistrictUserService; import org.springblade.modules.property.vo.PropertyCompanyDistrictVO; import org.springblade.modules.system.entity.User; import org.springblade.modules.system.entity.UserDept; import org.springblade.modules.system.service.IUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; /** * 物业派驻小区表 服务实现类 @@ -44,6 +48,27 @@ */ @Override public IPage<PropertyCompanyDistrictVO> selectPropertyCompanyDistrictPage(IPage<PropertyCompanyDistrictVO> page, PropertyCompanyDistrictVO propertyCompanyDistrict) { // 物业 查询用户管理的小区 String userRole = AuthUtil.getUserRole(); if (userRole.contains("wygly") || userRole.contains("wyxmjl")) { // 查询小区id IPropertyDistrictUserService propertyDistrictUserService = SpringUtils.getBean(IPropertyDistrictUserService.class); List<String> districtIds = propertyDistrictUserService.selectPropertyDistrictByUserId(AuthUtil.getUserId()); // 通过用户机构查询用户的物业公司 IPropertyCompanyService bean = SpringUtil.getBean(IPropertyCompanyService.class); PropertyCompanyEntity one = bean.getOne(Wrappers.<PropertyCompanyEntity>lambdaQuery().eq(PropertyCompanyEntity::getDeptId, AuthUtil.getDeptId())); IPropertyCompanyDistrictService bean2 = SpringUtils.getBean(IPropertyCompanyDistrictService.class); // 通过物业公司,查询小区 List<PropertyCompanyDistrictEntity> list = bean2.list(Wrappers.<PropertyCompanyDistrictEntity>lambdaQuery() .eq(PropertyCompanyDistrictEntity::getPropertyCompanyId, one.getId())); if (list.size() > 0) { List<String> collect = list.stream().map(i -> i.getDistrictId()).collect(Collectors.toList()); districtIds.addAll(collect); } propertyCompanyDistrict.setDistrictIds(districtIds); } // 街道 return page.setRecords(baseMapper.selectPropertyCompanyDistrictPage(page, propertyCompanyDistrict)); } @@ -89,6 +114,8 @@ */ private boolean submitPropertyDistrictUser(PropertyCompanyDistrictEntity propertyCompanyDistrict) { List<Long> userIdList = Func.toLongList(propertyCompanyDistrict.getUserId()); // 把项目经理也加到物业用户关联表 userIdList.add(Long.valueOf(propertyCompanyDistrict.getPrincipal())); List<PropertyDistrictUserEntity> propertyDistrictUserEntityList = new ArrayList<>(); userIdList.forEach(userId -> { PropertyDistrictUserEntity propertyDistrictUserEntity = new PropertyDistrictUserEntity(); src/main/java/org/springblade/modules/property/vo/PropertyCompanyDistrictVO.java
@@ -21,6 +21,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.util.List; /** * 物业派驻小区表 视图实体类 * @@ -43,4 +45,7 @@ */ private String propertyCompanyName; // 物业id private List<String> districtIds; }