src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.java
@@ -40,7 +40,10 @@ * @return */ List<PlaceCheckVO> selectPlaceCheckPage(IPage page, @Param("placeCheck") PlaceCheckVO placeCheck); @Param("placeCheck") PlaceCheckVO placeCheck, @Param("isAdministrator") Integer isAdministrator, @Param("regionChildCodesList") List<String> regionChildCodesList, @Param("gridCodeList") List<String> gridCodeList); /** * 查询场所检查表 src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.xml
@@ -93,11 +93,12 @@ jpe.legal_person FROM jczz_place_check jpc LEFT JOIN jczz_place jp ON jpc.house_code = jp.house_code LEFT JOIN jczz_grid jg ON jg.grid_code = jp.grid_code LEFT JOIN jczz_place jp ON jpc.house_code = jp.house_code and jp.is_deleted = 0 LEFT JOIN jczz_grid jg ON jg.grid_code = jp.grid_code and jg.is_deleted = 0 LEFT JOIN blade_region br ON br.`code` = jg.community_code LEFT JOIN jczz_place_ext jpe ON jpe.place_id = jp.id LEFT JOIN blade_user bu ON bu.id = jpc.create_user LEFT JOIN jczz_place_ext jpe ON jpe.place_id = jp.id and jpe.is_deleted = 0 LEFT JOIN blade_user bu ON bu.id = jpc.create_user and bu.is_deleted = 0 LEFT JOIN jczz_police_affairs_grid jpag on jp.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0 where jpc.is_deleted = 0 <if test="placeCheck.houseCode!=null and placeCheck.houseCode!=''"> and jpc.house_code = #{placeCheck.houseCode} @@ -133,7 +134,62 @@ <if test="placeCheck.endTime!=null and placeCheck.endTime!=''"> and date_format(jpc.create_time,'%Y-%m-%d') <= #{placeCheck.endTime} </if> <if test="isAdministrator==2"> <choose> <when test="placeCheck.roleName != null and placeCheck.roleName != ''"> <if test="placeCheck.roleName=='wgy'"> <choose> <when test="gridCodeList !=null and gridCodeList.size()>0"> and jp.grid_code in <foreach collection="gridCodeList" item="code" open="(" close=")" separator=","> #{code} </foreach> </when> <otherwise> and jp.grid_code in ('') </otherwise> </choose> </if> <if test="placeCheck.roleName=='mj'"> <choose> <when test="regionChildCodesList !=null and regionChildCodesList.size()>0"> and jpag.community_code in <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=","> #{code} </foreach> </when> <otherwise> and jpag.community_code in ('') </otherwise> </choose> </if> </when> <otherwise> <choose> <when test="regionChildCodesList !=null and regionChildCodesList.size()>0"> and ( jg.grid_code in <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=","> #{code} </foreach> or jpag.community_code in <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=","> #{code} </foreach> ) </when> <otherwise> and ( jg.grid_code in ('') or jpag.community_code in in ('') ) </otherwise> </choose> </otherwise> </choose> </if> order by jpc.create_time desc </select> src/main/java/org/springblade/modules/place/service/impl/PlaceCheckServiceImpl.java
@@ -16,16 +16,20 @@ */ package org.springblade.modules.place.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xxl.job.core.util.FileUtil; import org.apache.logging.log4j.util.Strings; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springblade.common.cache.SysCache; import org.springblade.common.constant.CommonConstant; import org.springblade.common.constant.DictConstant; import org.springblade.common.utils.SpringUtils; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.SpringUtil; import org.springblade.modules.grid.service.IGridService; import org.springblade.modules.patrol.entity.PatrolRecord; import org.springblade.modules.patrol.service.IPatrolRecordService; import org.springblade.modules.place.dto.PlaceCheckDTO; @@ -34,6 +38,9 @@ import org.springblade.modules.place.vo.PlaceCheckVO; import org.springblade.modules.place.mapper.PlaceCheckMapper; import org.springblade.modules.place.service.IPlaceCheckService; import org.springblade.modules.police.service.IPoliceAffairsGridService; import org.springblade.modules.system.entity.DictBiz; import org.springblade.modules.system.service.IRegionService; import org.springblade.modules.task.service.ITaskService; import org.springblade.modules.taskPlaceRectification.entity.TaskPlaceRectificationEntity; import org.springblade.modules.taskPlaceRectification.service.ITaskPlaceRectificationService; @@ -41,6 +48,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; @@ -58,7 +66,29 @@ @Override public IPage<PlaceCheckVO> selectPlaceCheckPage(IPage<PlaceCheckVO> page, PlaceCheckVO placeCheck) { List<PlaceCheckVO> placeCheckVOS = baseMapper.selectPlaceCheckPage(page, placeCheck); String roleName = SpringUtils.getRequestParam("roleName"); String communityCode = SpringUtils.getRequestParam("communityCode"); if (!Strings.isBlank(communityCode)){ // 校验社区编号是否合规 if(null!=SpringUtils.getBean(IRegionService.class).getById(communityCode)) { placeCheck.setCommunityCode(communityCode); } } List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId()); Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2; // 网格编号集合 List<String> gridCodeList = new ArrayList<>(); // 民警角色 if (!Strings.isBlank(roleName)){ placeCheck.setRoleName(roleName); if(roleName.equals("mj")) { regionChildCodesList = SpringUtil.getBean(IPoliceAffairsGridService.class).getCommunityCodeListByUserId(AuthUtil.getUserId()); } if (roleName.equals("wgy")) { gridCodeList = SpringUtil.getBean(IGridService.class).getGridListByUserId(AuthUtil.getUserId()); } } List<PlaceCheckVO> placeCheckVOS = baseMapper.selectPlaceCheckPage(page, placeCheck,isAdministrator,regionChildCodesList,gridCodeList); for (PlaceCheckVO placeCheckVO : placeCheckVOS) { int number = 0; for (PatrolRecord patrolRecord : placeCheckVO.getPatrolRecordVOList()) { src/main/java/org/springblade/modules/place/vo/PlaceCheckVO.java
@@ -98,4 +98,14 @@ private Long jpid; /** * 角色名称 */ private String roleName; /** * 社区编号 */ private String communityCode; }