lin
2024-05-06 9ba12dad011e2afa278833f37aba895a632ccb9c
校园安全检查
29 files modified
729 ■■■■ changed files
src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java 78 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/doorplateAddress/vo/DoorplateAddressVO.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/nursingCheckIn/entity/NursingCheckInEntity.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/nursingCheckIn/mapper/NursingCheckInMapper.xml 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/entity/PlaceEntity.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml 4 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml 20 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/vo/PlaceExtVO.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/police/mapper/PoliceAlarmRecordsMapper.xml 3 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/police/service/impl/PoliceAlarmRecordsServiceImpl.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/sms/controller/SmsSendController.java 35 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/sms/service/ISmsSendService.java 4 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/sms/service/impl/SmsSendServiceImpl.java 87 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/IUserService.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/task/controller/TaskSchoolEvenController.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/task/entity/TaskPlaceSelfCheckEntity.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/task/entity/TaskSchoolEvenEntity.java 8 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml 11 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/task/mapper/TaskPlaceSelfCheckMapper.xml 68 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/task/mapper/TaskResidencePermitApplyMapper.xml 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/task/mapper/TaskSchoolEvenMapper.java 26 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/task/mapper/TaskSchoolEvenMapper.xml 204 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/task/service/ITaskSchoolEvenService.java 14 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/task/service/impl/TaskPlaceSelfCheckServiceImpl.java 38 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/task/service/impl/TaskSchoolEvenServiceImpl.java 21 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java 20 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/task/vo/TaskSchoolEvenVO.java 27 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/task/vo/TaskVO.java 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
@@ -22,6 +22,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.logging.log4j.util.Strings;
import org.springblade.common.cache.SysCache;
import org.springblade.common.constant.CommonConstant;
import org.springblade.common.constant.DictConstant;
import org.springblade.common.node.TreeStringNode;
import org.springblade.common.param.CommonParamSet;
@@ -29,6 +30,7 @@
import org.springblade.common.utils.NodeTreeUtil;
import org.springblade.common.utils.SpringUtils;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.ObjectUtil;
import org.springblade.modules.backblast.entity.BackblastPubRecordEntity;
import org.springblade.modules.category.dto.CategoryDTO;
import org.springblade.modules.category.service.ICategoryService;
@@ -60,7 +62,9 @@
import org.springblade.modules.house.vo.HouseholdVO;
import org.springblade.modules.place.entity.PlaceEntity;
import org.springblade.modules.place.entity.PlaceExtEntity;
import org.springblade.modules.place.entity.PlacePoiLabel;
import org.springblade.modules.place.service.IPlaceExtService;
import org.springblade.modules.place.service.IPlacePoiLabelService;
import org.springblade.modules.place.service.IPlaceService;
import org.springblade.modules.place.vo.PlaceVO;
import org.springblade.modules.police.entity.PoliceAffairsGridEntity;
@@ -130,7 +134,7 @@
    /**
     * 根据角色获取功能集合数据
     *
     * @param type     1:查社区  2:查房屋和场所(居民角色)--2024/04/10  弃用
     * @param type      1:查社区  2:查房屋和场所(居民角色)--2024/04/10  弃用
     * @param roleNames --2024/04/10  弃用
     * @return
     */
@@ -179,7 +183,7 @@
                return townList;
            }
            // 如果是居民
            if (roleName.equals("inhabitant")) {
            if (roleName.equals("inhabitant") || roleName.equals("xyzt") || roleName.equals("xyty")) {
                return getInhabitantInfo(list);
            }
        }
@@ -270,7 +274,7 @@
        List<TreeStringNode> list = new ArrayList<>();
        Map<String, Object> map = new HashMap<>(2);
        String roleName = SpringUtils.getRequestParam("roleName");
        if (!Strings.isBlank(roleName)){
        if (!Strings.isBlank(roleName)) {
            houseParam.setRoleName(roleName);
        }
        // 获取网格员对应的地址编号集合
@@ -285,11 +289,11 @@
        }
        // 查楼栋,街路巷
        if (houseParam.getType() == 2) {
            return getBuildLevelData(houseParam,addressCodeList, map);
            return getBuildLevelData(houseParam, addressCodeList, map);
        }
        // 查户室
        if (houseParam.getType() == 3) {
            return getHouseLevelData(houseParam,addressCodeList, map);
            return getHouseLevelData(houseParam, addressCodeList, map);
        }
        return list;
    }
@@ -301,15 +305,15 @@
     */
    private void getGridInfoByGridman(HouseParam houseParam) {
        if (houseParam.getRoleName().equals("wgy")) {
            if (Strings.isBlank(houseParam.getRoleName())){
            if (Strings.isBlank(houseParam.getRoleName())) {
                houseParam.setRoleName(SpringUtils.getRequestParam("roleName"));
            }
            // 查询网格员的网格编号集合
            List<String> gridCodeList
                = SysCache.getGridRegionChildCodesByDeptId(AuthUtil.getDeptId(), null, houseParam.getRoleName());
            String communityCode = SpringUtils.getRequestParam("communityCode");
            List<GridVO> list = gridService.getGridListByComAndList(communityCode,gridCodeList);
            if (list.size()>0){
            List<GridVO> list = gridService.getGridListByComAndList(communityCode, gridCodeList);
            if (list.size() > 0) {
                GridVO grid = list.get(0);
                houseParam.setCommunityName(grid.getCommunityName());
                houseParam.setGridName(grid.getGridName());
@@ -324,7 +328,7 @@
     * @param map
     * @return
     */
    private Map<String, Object> getHouseLevelData(HouseParam houseParam, List<String> stringList,Map<String, Object> map) {
    private Map<String, Object> getHouseLevelData(HouseParam houseParam, List<String> stringList, Map<String, Object> map) {
        // 判断地址类型
        if (houseParam.getAddressType() == 1) {
            List<FuncNode> aoiList = new ArrayList<>();
@@ -397,7 +401,7 @@
     * @param map
     * @return
     */
    private Object getBuildLevelData(HouseParam houseParam,List<String> stringList, Map<String, Object> map) {
    private Object getBuildLevelData(HouseParam houseParam, List<String> stringList, Map<String, Object> map) {
        if (houseParam.getAddressType() == 4) {
            // 获取网格员对应的网格信息
            getGridInfoByGridman(houseParam);
@@ -626,12 +630,12 @@
     * @return
     */
    @Override
    public Object getHouseRentInfo(String code,Long houseId) {
    public Object getHouseRentInfo(String code, Long houseId) {
        DoorplateAddressVO doorplateAddressDetailVO = new DoorplateAddressVO();
        if (Strings.isBlank(code) && null!=houseId) {
        if (Strings.isBlank(code) && null != houseId) {
            // 先查询门牌信息
            doorplateAddressDetailVO = baseMapper.getDoorplateAddressDetailByHouseId(houseId);
        }else {
        } else {
            // 先查询门牌信息
            doorplateAddressDetailVO = baseMapper.getDoorplateAddressDetailByCode(code);
        }
@@ -716,7 +720,7 @@
    @Override
    public List<DoorplateAddressVOTree> getHouseTree(HouseParam houseParam) {
        String roleName = SpringUtils.getRequestParam("roleName");
        if (!Strings.isBlank(roleName)){
        if (!Strings.isBlank(roleName)) {
            houseParam.setRoleName(roleName);
        }
        List<String> stringList = getHouseCodeList(houseParam);
@@ -743,7 +747,7 @@
                // 查询对应的房屋地址code
//                addressCodeList = gridService.getAddressCodeListByUserId(AuthUtil.getUserId(),null);
                addressCodeList =
                    gridService.getAddressCodeListByGridCodeList(SpringUtils.getRequestParam("communityCode"),gridCodeList);
                    gridService.getAddressCodeListByGridCodeList(SpringUtils.getRequestParam("communityCode"), gridCodeList);
            }
        }
        return addressCodeList;
@@ -762,7 +766,7 @@
        if (null != houseParam.getRoleName() && !houseParam.getRoleName().equals("")) {
            if (houseParam.getRoleName().equals("mj") && !userId.equals("1726859808689696770")) {
                // 查询对应社区编号集合
                stringList = SysCache.getGridRegionChildCodesByDeptId(AuthUtil.getDeptId(),null,houseParam.getRoleName());
                stringList = SysCache.getGridRegionChildCodesByDeptId(AuthUtil.getDeptId(), null, houseParam.getRoleName());
            }
        }
        return stringList;
@@ -825,14 +829,14 @@
                        String point = "'POINT(" + doorplateAddressEntity.getX() + " " + doorplateAddressEntity.getY() + ")'";
                        //点坐标解析网格
                        List<GridEntity> gridEntityList = gridService.spatialAnalysis(point);
                        if (gridEntityList.size()>0){
                        if (gridEntityList.size() > 0) {
                            GridEntity gridEntity = gridEntityList.get(0);
                            houseEntity.setGridId(gridEntity.getId());
                            houseEntity.setGridCode(gridEntity.getGridCode());
                        }
                        //点坐标解析警格
                        List<PoliceAffairsGridEntity> policeAffairsGridEntityList = policeAffairsGridService.spatialAnalysis(point);
                        if (policeAffairsGridEntityList.size()>0){
                        if (policeAffairsGridEntityList.size() > 0) {
                            PoliceAffairsGridEntity policeAffairsGridEntity = policeAffairsGridEntityList.get(0);
                            houseEntity.setJwGridCode(policeAffairsGridEntity.getJwGridCode());
                        }
@@ -931,14 +935,14 @@
                String point = "'POINT(" + addressEntity.getX() + " " + addressEntity.getY() + ")'";
                //点坐标解析网格
                List<GridEntity> gridEntityList = gridService.spatialAnalysis(point);
                if (gridEntityList.size()>0){
                if (gridEntityList.size() > 0) {
                    GridEntity gridEntity = gridEntityList.get(0);
                    placeEntity.setGridId(gridEntity.getId());
                    placeEntity.setGridCode(gridEntity.getGridCode());
                }
                //点坐标解析警格
                List<PoliceAffairsGridEntity> policeAffairsGridEntityList = policeAffairsGridService.spatialAnalysis(point);
                if (policeAffairsGridEntityList.size()>0){
                if (policeAffairsGridEntityList.size() > 0) {
                    PoliceAffairsGridEntity policeAffairsGridEntity = policeAffairsGridEntityList.get(0);
                    placeEntity.setJwGridCode(policeAffairsGridEntity.getJwGridCode());
                }
@@ -1001,13 +1005,13 @@
                    // 无权限
                    doorplateAddressVO.setIsJur(2);
//                    list = gridService.getAddressCodeListByUserId(AuthUtil.getUserId(),doorplateAddress.getAddressCode());
                    list = SysCache.getGridRegionChildCodesByDeptId(AuthUtil.getDeptId(),null,roleName);
                    list = SysCache.getGridRegionChildCodesByDeptId(AuthUtil.getDeptId(), null, roleName);
                    if (null != list && list.size() > 0) {
                        List<String> arrayList = new ArrayList<>();
                        for (String gridCode : list) {
                            if (gridCode.length()>12) {
                            if (gridCode.length() > 12) {
                                arrayList.add(gridCode.substring(0, gridCode.length() - 2));
                            }else {
                            } else {
                                arrayList.add(gridCode);
                            }
                        }
@@ -1016,11 +1020,11 @@
                            doorplateAddressVO.setIsJur(1);
                        }
                    }
                }else if (roleName.equals("mj")) {
                } else if (roleName.equals("mj")) {
                    // 无权限
                    doorplateAddressVO.setIsJur(2);
                    // 查询对应的社区code
                    list = SysCache.getGridRegionChildCodesByDeptId(AuthUtil.getDeptId(),null,roleName);
                    list = SysCache.getGridRegionChildCodesByDeptId(AuthUtil.getDeptId(), null, roleName);
                    if (null != list && list.size() > 0) {
                        boolean contains = list.contains(doorplateAddressVO.getNeiCode());
                        if (contains) {
@@ -1032,13 +1036,21 @@
                    doorplateAddressVO.setIsJur(1);
                }
            }
            if(doorplateAddressVO != null ){
            if (doorplateAddressVO != null) {
                //  获取房屋标签
                IUserHouseLabelService userHouseLabelService = SpringUtils.getBean(IUserHouseLabelService.class);
                List<UserHouseLabelEntity> houseLabelEntityList = userHouseLabelService.list(Wrappers.<UserHouseLabelEntity>lambdaQuery()
                    .eq(UserHouseLabelEntity::getHouseCode, doorplateAddressVO.getAddressCode())
                    .eq(UserHouseLabelEntity::getLableType, 2));
                doorplateAddressVO.setUserHouseLabelVOList(houseLabelEntityList);
                // 查询房屋类别
                IPlacePoiLabelService poiLabelService = SpringUtils.getBean(IPlacePoiLabelService.class);
                PlacePoiLabel placePoiLabel = poiLabelService.getOne(Wrappers.<PlacePoiLabel>lambdaQuery()
                    .eq(PlacePoiLabel::getPlaceId, doorplateAddressVO.getPid())
                    .eq(PlacePoiLabel::getType, CommonConstant.NUMBER_THREE));
                if(ObjectUtil.isNotEmpty(placePoiLabel)){
                    doorplateAddressVO.setLableCode(placePoiLabel.getPoiCode());
                }
            }
            return doorplateAddressVO;
        }
@@ -1106,19 +1118,20 @@
    /**
     * 网格范围数据处理
     *
     * @return
     */
    @Override
    public boolean gridRangeDataHandle(String townName,String communityName) {
    public boolean gridRangeDataHandle(String townName, String communityName) {
        // 查询未匹配的网格范围地址信息
        // 查询总数
        Integer count = baseMapper.getNotBindGridRangeDoorListCount(townName,communityName);
        Integer count = baseMapper.getNotBindGridRangeDoorListCount(townName, communityName);
        if (count > 0) {
            IGridRangeService gridRangeService = SpringUtils.getBean(IGridRangeService.class);
            int num = count / 1000;
            for (int i = 0; i <= num + 1; i++) {
                // 查询所有未匹配的网格范围地址数据
                List<DoorplateAddressEntity> list = baseMapper.getNotBindGridRangeDoorList(townName,communityName);
                List<DoorplateAddressEntity> list = baseMapper.getNotBindGridRangeDoorList(townName, communityName);
                // 需要新增的网格范围 list
                List<GridRangeEntity> gridRangeEntityList = new ArrayList<>();
                // 处理户室数据
@@ -1132,7 +1145,7 @@
                        String point = "'POINT(" + doorplateAddressEntity.getX() + " " + doorplateAddressEntity.getY() + ")'";
                        //点坐标解析网格
                        List<GridEntity> gridEntityList = gridService.spatialAnalysis(point);
                        if (gridEntityList.size()>0){
                        if (gridEntityList.size() > 0) {
                            GridRangeEntity gridRangeEntity = new GridRangeEntity();
                            gridRangeEntity.setHouseCode(doorplateAddressEntity.getAddressCode());
                            gridRangeEntity.setDistrictCode(doorplateAddressEntity.getAoiCode());
@@ -1154,15 +1167,16 @@
    /**
     * 设置警格网格信息
     *
     * @param doorplateAddressEntity
     */
    public void setGridInfo(DoorplateAddressEntity doorplateAddressEntity,GridRangeEntity gridRangeEntity) {
    public void setGridInfo(DoorplateAddressEntity doorplateAddressEntity, GridRangeEntity gridRangeEntity) {
        // 根据位置设置网格,警格编号
//        IPoliceAffairsGridService policeAffairsGridService = SpringUtils.getBean(IPoliceAffairsGridService.class);
        String point = "'POINT(" + doorplateAddressEntity.getX() + " " + doorplateAddressEntity.getY() + ")'";
        //点坐标解析网格
        List<GridEntity> gridEntityList = gridService.spatialAnalysis(point);
        if (gridEntityList.size()>0){
        if (gridEntityList.size() > 0) {
            GridEntity gridEntity = gridEntityList.get(0);
            gridRangeEntity.setGridId(gridEntity.getId());
            gridRangeEntity.setGridCode(gridEntity.getGridCode());
src/main/java/org/springblade/modules/doorplateAddress/vo/DoorplateAddressVO.java
@@ -53,5 +53,14 @@
     */
    private Integer addType;
    /**
     * 场所id
     */
    private Long pid;
    /**
     * 分类编码
     */
    private Integer lableCode;
}
src/main/java/org/springblade/modules/nursingCheckIn/entity/NursingCheckInEntity.java
@@ -97,4 +97,14 @@
    @ApiModelProperty(value = "纬度", example = "")
    @TableField("latitude")
    private String latitude;
    /** 地址编码 */
    @ApiModelProperty(value = "地址编码", example = "")
    @TableField("house_code")
    private String houseCode;
    /** 场所名称 */
    @ApiModelProperty(value = "场所名称", example = "")
    @TableField("place_name")
    private String placeName;
}
src/main/java/org/springblade/modules/nursingCheckIn/mapper/NursingCheckInMapper.xml
@@ -20,6 +20,7 @@
            <if test="nursingCheckIn.placeId != null ">and place_id = #{nursingCheckIn.placeId}</if>
            <if test="nursingCheckIn.type != null  and nursingCheckIn.type != ''">and type = #{nursingCheckIn.type}</if>
        </where>
        order by id desc
    </select>
src/main/java/org/springblade/modules/place/entity/PlaceEntity.java
@@ -204,4 +204,14 @@
    @ApiModelProperty(value = "无炸类别", example = "")
    @TableField("no_explosion_category")
    private Integer noExplosionCategory;
    /** 场所负责人(关联用户表信息) */
    @ApiModelProperty(value = "主体", example = "")
    @TableField("principal_account")
    private Long principalAccount;
    /** 场所负责人(关联用户表信息) */
    @ApiModelProperty(value = "通用", example = "")
    @TableField("universal_account")
    private Long universalAccount;
}
src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml
@@ -188,9 +188,11 @@
               jp.place_name as placeName,
               jp.lng,
               jp.lat,
               jp.location
               jp.location,
               jppl.poi_code
        from jczz_place_ext jpe
                 left join jczz_place jp on jpe.place_id = jp.id and jp.is_deleted = 0
        left join  jczz_place_poi_label jppl on jppl.place_id = jp.id and jppl.type = 3
        where jpe.is_deleted = 0
          and jpe.place_id = #{placeExt.placeId}
    </select>
src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
@@ -279,20 +279,22 @@
    <!--查询场所集合信息-->
    <select id="selectPlaceNodeList" resultType="org.springblade.common.node.TreeStringNode" >
        SELECT jp.id,
               jp.house_code      houseCode,
               jp.place_name AS   NAME,
               jp.is_nine AS isNine,
               jp.is_front AS isFront,
               jp.house_code               houseCode,
               jp.place_name            AS NAME,
               jp.is_nine               AS isNine,
               jp.is_front              AS isFront,
               jp.no_explosion_category AS noExplosionCategory,
               br.name neiName,
               jg.community_code neiCode,
               FALSE         AS   hasChildren
               br.name                     neiName,
               jg.community_code           neiCode,
               FALSE                    AS hasChildren
        FROM jczz_place jp
                 LEFT JOIN jczz_grid jg on jp.grid_code = jg.grid_code and jg.is_deleted = 0
                 LEFT JOIN blade_region br on br.code = jg.community_code
        where 1 = 1
          and jp.is_deleted = 0
          and jp.principal_user_id = #{userId}
            and jp.is_deleted = 0
            and jp.principal_user_id = #{userId}
           or jp.principal_account = #{userId}
           or jp.universal_account = #{userId}
    </select>
src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
@@ -744,13 +744,18 @@
            // 用户新增
            newUser.setId(null);
            boolean submit = userService.submit(newUser);
            placeVO.setPrincipalAccount(newUser.getId());
            // 校园通用
            newUser.setId(null);
            newUser.setPassword("123456");
            newUser.setRoleId("1780786746076262402");
            newUser.setAccount(placeVO.getPlaceName() + "通用");
            newUser.setName(placeVO.getPlaceName() + "-通用");
            newUser.setRealName(placeVO.getPlaceName() + "-通用");
            boolean submit2 = userService.submit(newUser);
            placeVO.setUniversalAccount(newUser.getId());
            // 更新场所信息
            updateById(placeVO);
            //绑定id
//            placeVO.setPrincipalUserId(newUser.getId());
            //给人员打上场所负责人的标签
src/main/java/org/springblade/modules/place/vo/PlaceExtVO.java
@@ -95,4 +95,6 @@
     */
    private String communityCode;
    private String poiCode;
}
src/main/java/org/springblade/modules/police/mapper/PoliceAlarmRecordsMapper.xml
@@ -64,6 +64,9 @@
                                    <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                        #{code}
                                    </foreach>
                                    <if test="vo.policeId != null">
                                        or jpar.police_id = #{vo.policeId}
                                    </if>
                                </when>
                                <otherwise>
                                    and jpag.community_code in ('')
src/main/java/org/springblade/modules/police/service/impl/PoliceAlarmRecordsServiceImpl.java
@@ -18,7 +18,9 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.common.param.CommonParamSet;
import org.springblade.common.utils.AuthUtils;
import org.springblade.common.utils.SpringUtils;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.modules.grid.entity.GridEntity;
import org.springblade.modules.grid.service.IGridService;
import org.springblade.modules.police.entity.PoliceAffairsGridEntity;
@@ -43,6 +45,7 @@
    @Override
    public IPage<PoliceAlarmRecordsVO> selectPoliceAlarmRecordsPage(IPage<PoliceAlarmRecordsVO> page, PoliceAlarmRecordsVO policeAlarmRecords) {
        policeAlarmRecords.setPoliceId(AuthUtil.getUserId());
        CommonParamSet commonParamSet = new CommonParamSet<>().invoke(PoliceAlarmRecordsVO.class, policeAlarmRecords);
        return page.setRecords(baseMapper.selectPoliceAlarmRecordsPage(page, policeAlarmRecords,
            commonParamSet.getIsAdministrator(),
src/main/java/org/springblade/modules/sms/controller/SmsSendController.java
@@ -20,6 +20,7 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.tool.api.R;
import org.springblade.modules.sms.service.ISmsSendService;
@@ -52,8 +53,31 @@
    }
    /**
     * 短信模版表 详情
     */
    @GetMapping("/loginSend")
    @ApiOperationSupport(order = 1)
    @ApiOperation(value = "登录发送短信验证码")
    public R<SmsTemplateVO> loginSend(@RequestParam String phone) {
        Boolean aBoolean = iSmsSendService.loginSendVerificationCode(phone);
        return R.status(aBoolean);
    }
    /**
     * 短信模版表 详情
     */
    @GetMapping("/checkCode")
    @ApiOperationSupport(order = 1)
    @ApiOperation(value = "校验验证")
    public R<Boolean> checkCode(@RequestParam String phone, @RequestParam String code) {
        String result = iSmsSendService.checkCode(phone, code);
        return R.data(StringUtils.isNotBlank(result) ? false : true, result);
    }
    /**
     * 发送居住申请通知
     * @param templateId 模版id
     *
     * @param templateId  模版id
     * @param residenceId 居住证申请记录id
     * @return
     */
@@ -61,13 +85,12 @@
    @ApiOperationSupport(order = 1)
    @ApiOperation(value = "发送居住申请通知")
    public R<SmsTemplateVO> sendNotice(@RequestParam("templateId") Long templateId,
                                       @RequestParam(value = "residenceId",required = false) Long residenceId) {
        Boolean aBoolean = iSmsSendService.sendNotice(templateId,residenceId);
                                       @RequestParam(value = "residenceId", required = false) Long residenceId) {
        Boolean aBoolean = iSmsSendService.sendNotice(templateId, residenceId);
        return R.status(aBoolean);
    }
    /**
     *
     * @param templateId
     * @param placeSelfCheckId
     * @return
@@ -76,8 +99,8 @@
    @ApiOperationSupport(order = 1)
    @ApiOperation(value = "发送整改完成通知")
    public R<SmsTemplateVO> sendRectificationNotice(@RequestParam("templateId") Long templateId,
                                       @RequestParam(value = "placeSelfCheckId",required = false) Long placeSelfCheckId) {
        Boolean aBoolean = iSmsSendService.sendRectificationNotice(templateId,placeSelfCheckId);
                                                    @RequestParam(value = "placeSelfCheckId", required = false) Long placeSelfCheckId) {
        Boolean aBoolean = iSmsSendService.sendRectificationNotice(templateId, placeSelfCheckId);
        return R.status(aBoolean);
    }
src/main/java/org/springblade/modules/sms/service/ISmsSendService.java
@@ -38,4 +38,8 @@
    Boolean sendNotice(Long templateId,Long residenceId);
    Boolean sendRectificationNotice(Long templateId,Long placeSelfCheckId);
    Boolean loginSendVerificationCode(String phone);
    String checkCode(String phone, String code);
}
src/main/java/org/springblade/modules/sms/service/impl/SmsSendServiceImpl.java
@@ -20,6 +20,7 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -265,6 +266,92 @@
        return aBoolean;
    }
    @Override
    public Boolean loginSendVerificationCode(String phone) {
        if (phone == null || phone.length() != 11) {
            logger.error("手机号格式错误");
            return false;
        }
        if (redisTemplate.exists(SMS_VALIDATE_PHONE_NUM + phone)) {
            logger.error("同一个手机号一分钟内只能发送一条记录");
            return false;
        }
        Sms serviceOne = iSmsService.getOne(Wrappers.<Sms>lambdaQuery().eq(Sms::getStatus, 2));
        if (serviceOne == null) {
            logger.error("未找到状态为2的Sms服务");
            return false;
        }
        SmsTemplateEntity smsTemplateEntity = iSmsTemplateService.getOne(Wrappers.<SmsTemplateEntity>lambdaQuery()
            .eq(SmsTemplateEntity::getId, "1783764287897939969"));
        if (smsTemplateEntity == null) {
            logger.error("未找到对应的短信模板");
            return false;
        }
        //发送的手机号
        List<Map> phonesList = new ArrayList<>();
        Map phoneMap = new HashMap();
        phoneMap.put("phone", phone);
        List<String> varList = new ArrayList<>();
        Integer code = UtilRandom.randomCount(111111, 999999);
        varList.add(code.toString());
        phoneMap.put("varList", varList);
        phonesList.add(phoneMap);
        //短信内容
        String content = smsTemplateEntity.getContent();
        //发送时间
        LocalDateTime nowDateTime = LocalDateTime.now();
        String send_time = nowDateTime.format(SECOND_FORMATTER);
        Map params = new HashMap();
        params.put("phones", phonesList);
        //短信主题
        params.put("subject", "对外接口不同内容发送-动态模板");
        params.put("content", content);
        //短信模板
        params.put("template_id", null);
        // 发送时间
        params.put("send_time", send_time);
        //优先级,高级=5,中级=3,低级=1
        params.put("priority", "1");
        //不同内容发送类型,1=动态模板发送,2=文件内容发送
        params.put("type", "1");
        //创建人主键
        params.put("sop_create_by", serviceOne.getSmsCode());
        //短信发送记录
        saveSmsRecord(phone, serviceOne, code.toString(), content);
        Boolean aBoolean = sendSmsGet(serviceOne, params);
        if (aBoolean) {
            // 将验证码存入redis,其中phone为手机号,code为验证码
            // SMS_VALIDATE_PHONE 为前缀,通过phone和code在redis中设置一个过期的键值对
            redisTemplate.setEx(SMS_VALIDATE_PHONE + phone, code, 300L);
            // 同时,为了记录该手机短时间内已接收的验证码次数,使用另一个键值对进行计数
            // SMS_VALIDATE_PHONE_NUM 为计数器的前缀,过期时间为60秒
            redisTemplate.setEx(SMS_VALIDATE_PHONE_NUM + phone, 1, 60L);
        }
        return aBoolean;
    }
    @Override
    public String checkCode(String phone, String code) {
        if (StringUtils.isNotBlank(phone)) {
            if (StringUtils.isBlank(code)) {
                return "验证码不能为空!";
            }
            Object validateCode = redisTemplate.get(SMS_VALIDATE_PHONE + phone);
            if (validateCode == null) {
                return "验证码不存在或已过期";
            }
            if (!validateCode.toString().equals(code)) {
                return "验证码错误";
            }
            //删除验证码
            redisTemplate.del(SMS_VALIDATE_PHONE + phone);
        }
        return "";
    }
    /**
     * 发送短信并获取发送结果。
     *
src/main/java/org/springblade/modules/system/service/IUserService.java
@@ -205,6 +205,14 @@
    boolean registerGuest(User user, Long oauthId);
    /**
     * 注册新用户
     * @param user
     * @param oauthId
     * @return
     */
    boolean registerUser(User user, Long oauthId);
    /**
     * 配置用户平台
     *
     * @param userId
src/main/java/org/springblade/modules/task/controller/TaskSchoolEvenController.java
@@ -27,6 +27,7 @@
import org.springblade.core.log.logger.BladeLogger;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.jackson.JsonUtil;
import org.springblade.core.tool.utils.Func;
@@ -60,9 +61,9 @@
    @GetMapping("/detail")
    @ApiOperationSupport(order = 1)
    @ApiOperation(value = "详情", notes = "传入taskSchoolEven")
    public R<TaskSchoolEvenVO> detail(TaskSchoolEvenEntity taskSchoolEven) {
        TaskSchoolEvenEntity detail = taskSchoolEvenService.getOne(Condition.getQueryWrapper(taskSchoolEven));
        return R.data(TaskSchoolEvenWrapper.build().entityVO(detail));
    public R<TaskSchoolEvenVO> detail(TaskSchoolEvenVO taskSchoolEven) {
        TaskSchoolEvenVO detail = taskSchoolEvenService.selectTaskSchoolEvenDetail(taskSchoolEven);
        return R.data(detail);
    }
    /**
     * 校园事件 分页
@@ -93,6 +94,7 @@
    @ApiOperationSupport(order = 4)
    @ApiOperation(value = "新增", notes = "传入taskSchoolEven")
    public R save(@Valid @RequestBody TaskSchoolEvenEntity taskSchoolEven) {
        taskSchoolEven.setCreateUser(AuthUtil.getUserId());
        return R.status(taskSchoolEvenService.save(taskSchoolEven));
    }
src/main/java/org/springblade/modules/task/entity/TaskPlaceSelfCheckEntity.java
@@ -95,7 +95,7 @@
    private Date rectificationCompleteTime;
    /** 是否整改完毕:1:否 2 :是 */
    @ApiModelProperty(value = "是否整改完毕:1:否 2 :是", example = "")
    @ApiModelProperty(value = "是否整改完毕:1:否 2 :是 3:无需整改", example = "")
    @TableField("rectification_flag")
    private Integer rectificationFlag;
src/main/java/org/springblade/modules/task/entity/TaskSchoolEvenEntity.java
@@ -89,8 +89,8 @@
    @TableField("work_image")
    private String workImage;
    /** 确认标记 1:待审核  2:审核通过  3:审核不通过  */
    @ApiModelProperty(value = "确认标记 1:待审核  2:审核通过  3:审核不通过 ", example = "")
    /** 确认标记 1:待审核  2:审核通过  3:审核不通过 4:待处理  */
    @ApiModelProperty(value = "确认标记 1:待审核  2:审核通过  3:审核不通过 4:待处理 ", example = "")
    @TableField("confirm_flag")
    private String confirmFlag;
@@ -114,6 +114,10 @@
    @ApiModelProperty(value = "确认意见", example = "")
    @TableField("confirm_notion")
    private String confirmNotion;
    /** 地址编码 */
    @ApiModelProperty(value = "地址编码", example = "")
    @TableField("house_code")
    private String houseCode;
    /** 创建时间 */
    @ApiModelProperty(value = "创建时间", example = "")
src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml
@@ -29,8 +29,9 @@
        br.town_code streetCode,
        jp.principal as realName,
        jp.principal_phone as phone,
        jp.nine_type ,
        jp.front_type ,
        jp.nine_type,
        jp.front_type,
        jp.place_name,
        jt.id,
        jt.NAME,
        jt.type,
@@ -60,7 +61,8 @@
                            <choose>
                                <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                                    and jh.grid_code in
                                    <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                    <foreach collection="regionChildCodesList" item="code" open="(" close=")"
                                             separator=",">
                                        #{code}
                                    </foreach>
                                </when>
@@ -73,7 +75,8 @@
                            <choose>
                                <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                                    and br.village_code in
                                    <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                    <foreach collection="regionChildCodesList" item="code" open="(" close=")"
                                             separator=",">
                                        #{code}
                                    </foreach>
                                </when>
src/main/java/org/springblade/modules/task/mapper/TaskPlaceSelfCheckMapper.xml
@@ -60,6 +60,7 @@
        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>
            and jp.house_code is not null
            <if test="place.id != null ">and jpc.id = #{place.id}</if>
            <if test="place.taskId != null ">and jpc.task_id = #{place.taskId}</if>
            <if test="place.taskName != null  and place.taskName != ''">and jpc.task_name = #{place.taskName}</if>
@@ -79,7 +80,6 @@
            <if test="place.remark != null  and place.remark != ''">and jpc.remark = #{place.remark}</if>
            <if test="place.updateTime != null ">and jpc.update_time = #{place.updateTime}</if>
            <if test="place.createTime != null ">and jpc.create_time = #{place.createTime}</if>
            <if test="place.houseCode != null  and place.houseCode != ''">and jpc.house_code = #{place.houseCode}</if>
            <if test="place.type != null  and place.type != ''">and jpc.type = #{place.type}</if>
            <if test="place.rectificationEndTime != null ">and jpc.rectification_end_time =
                #{place.rectificationEndTime}
@@ -112,6 +112,13 @@
            <if test="place.imageUrls != null  and place.imageUrls != ''">and jpc.image_urls = #{place.imageUrls}</if>
            <if test="place.status != null ">and jpc.status = #{place.status}</if>
            <if test="place.deleteFlag != null ">and jpc.delete_flag = #{place.deleteFlag}</if>
            <if test="place.startTime != null and place.startTime != ''">
                and date_format(jpc.create_time,'%Y-%m-%d') &gt;= #{place.startTime}
            </if>
            <if test="place.endTime != null and place.endTime != ''">
                and date_format(jpc.create_time,'%Y-%m-%d') &lt;= #{place.endTime}
            </if>
            <if test="isAdministrator==2">
                <choose>
                    <when test="place.roleName != null and place.roleName != ''">
@@ -166,6 +173,8 @@
                    </otherwise>
                </choose>
            </if>
            <if test="place.houseCode != null  and place.houseCode != ''"> and jpc.house_code = #{place.houseCode}</if>
        </where>
        order by jpc.create_time desc
    </select>
@@ -190,6 +199,7 @@
        <result property="imageUrls" column="image_urls"/>
        <result property="status" column="status"/>
        <result property="deleteFlag" column="delete_flag"/>
        <result property="type" column="type"/>
        <collection property="placePoiLabelVOList" column="jpid" javaType="java.util.List"
                    select="selectPlacePoiLabelList"
@@ -197,7 +207,7 @@
                    autoMapping="true">
        </collection>
        <collection property="taskPlaceRecordVOList" column="id" select="selectPatrolRecordList"
        <collection property="taskPlaceRecordVOList" column="{id=id,type=type}" select="selectPatrolRecordList"
                    javaType="java.util.List" ofType="org.springblade.modules.task.vo.TaskPlaceRecordVO"
                    autoMapping="true">
        </collection>
@@ -223,25 +233,30 @@
        </select>
    <select id="selectPatrolRecordList" parameterType="Long"
    <select id="selectPatrolRecordList"  parameterType="java.util.Map"
            resultType="org.springblade.modules.task.vo.TaskPlaceRecordVO">
        select jpr.id,
               jpr.item_id,
               jpr.task_place_self_check_id,
               jpr.state,
               jpr.remark,
               jpr.image_urls,
               jpr.create_user,
               jpr.create_time,
               jpr.is_deleted,
               jpr.rectification_image_urls,
               jpr.rectification_remark,
               jpr.rectification_time,
               jpgi.items_name
        jpr.item_id,
        jpr.task_place_self_check_id,
        jpr.state,
        jpr.remark,
        jpr.image_urls,
        jpr.create_user,
        jpr.create_time,
        jpr.is_deleted,
        jpr.rectification_image_urls,
        jpr.rectification_remark,
        jpr.rectification_time,
        jpgi.items_name
        from jczz_task_place_record jpr
                 LEFT JOIN jczz_patrol_group_item jpgi on jpr.item_id = jpgi.id
        LEFT JOIN jczz_patrol_group_item jpgi on jpr.item_id = jpgi.id
        where task_place_self_check_id = #{id}
          and jpr.type = '1'
        <if test="type == 1">
            and jpr.type = 1
        </if>
        <if test="type == 2">
            and jpr.type = 3
        </if>
    </select>
    <sql id="selectTaskPlaceSelfCheck">
@@ -270,24 +285,7 @@
    <select id="selectTaskPlaceSelfCheckById" parameterType="long" resultMap="TaskPlaceSelfCheckDTOResult">
        SELECT
        jtpr.id,
        jtpr.task_id,
        jtpr.task_name,
        jtpr.place_name,
        jtpr.remark,
        jtpr.update_time,
        jtpr.create_time,
        jtpr.house_code,
        jtpr.rectification_end_time,
        jtpr.rectification_complete_time,
        jtpr.rectification_flag,
        jtpr.police_station,
        jtpr.rectification_notice_img_url,
        jtpr.signature_path,
        jtpr.create_user,
        jtpr.image_urls,
        jtpr.STATUS,
        jtpr.delete_flag,
        jtpr.*,
        jp.id jpid,
        jp.place_name,
        jp.location,
src/main/java/org/springblade/modules/task/mapper/TaskResidencePermitApplyMapper.xml
@@ -92,8 +92,8 @@
                </if>
            </if>
            order by jtrpa.create_time desc
        </where>
        order by jtrpa.create_time desc
    </select>
src/main/java/org/springblade/modules/task/mapper/TaskSchoolEvenMapper.java
@@ -16,10 +16,12 @@
 */
package org.springblade.modules.task.mapper;
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.task.entity.TaskSchoolEvenEntity;
import org.springblade.modules.task.vo.TaskSchoolEvenVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.List;
/**
@@ -37,7 +39,29 @@
     * @param taskSchoolEven
     * @return
     */
    List<TaskSchoolEvenVO> selectTaskSchoolEvenPage(IPage page, TaskSchoolEvenVO taskSchoolEven);
    List<TaskSchoolEvenVO> selectTaskSchoolEvenPage(IPage page, TaskSchoolEvenVO taskSchoolEven,
                                                    @Param("regionChildCodesList") List<String> regionChildCodesList,
                                                    @Param("isAdministrator") Integer isAdministrator,
                                                    @Param("gridCodeList") List<String> gridCodeList);
    /**
     * 自定义分页
     *
     * @param taskSchoolEven
     * @return
     */
    int schoolEvenCount(TaskSchoolEvenVO taskSchoolEven,
                        @Param("regionChildCodesList") List<String> regionChildCodesList,
                        @Param("isAdministrator") Integer isAdministrator,
                        @Param("gridCodeList") List<String> gridCodeList);
    /**
     * 自定义分页
     *
     * @param taskSchoolEven
     * @return
     */
    TaskSchoolEvenVO selectTaskSchoolEvenDetail(@Param("taskSchoolEven") TaskSchoolEvenVO taskSchoolEven);
}
src/main/java/org/springblade/modules/task/mapper/TaskSchoolEvenMapper.xml
@@ -3,12 +3,77 @@
<mapper namespace="org.springblade.modules.task.mapper.TaskSchoolEvenMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="taskSchoolEvenResultMap" type="org.springblade.modules.task.entity.TaskSchoolEvenEntity">
    <resultMap id="taskSchoolEvenResultMap" type="org.springblade.modules.task.vo.TaskSchoolEvenVO">
    </resultMap>
    <select id="selectTaskSchoolEvenPage" resultMap="taskSchoolEvenResultMap">
        select * from jczz_task_school_even
        select
        jtse.*,
        br.town_name streetName,
        jg.grid_name,
        jda.aoi_name,
        br.village_name communityName,
        bu.name,
        bu.phone,
        jp.location,
        jp.place_name,
        jda.address_name as addressName
        from jczz_task_school_even jtse
        left join jczz_doorplate_address jda on jda.address_code = jtse.house_code
        LEFT JOIN blade_user bu ON bu.id = jtse.create_user
        LEFT JOIN jczz_place jp on jp.house_code= jtse.house_code
        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_police_affairs_grid jpag on jp.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
        <where>
            <if test="taskSchoolEven.id != null "> and jtse.id = #{taskSchoolEven.id}</if>
            <if test="taskSchoolEven.createUser != null "> and jtse.create_user = #{taskSchoolEven.createUser}</if>
            <if test="taskSchoolEven.images != null  and taskSchoolEven.images != ''"> and jtse.images = #{taskSchoolEven.images}</if>
            <if test="taskSchoolEven.placeName != null  and taskSchoolEven.placeName != ''"> and jp.place_name like concat('%',#{taskSchoolEven.placeName},'%')</if>
            <if test="taskSchoolEven.name != null  and taskSchoolEven.name != ''"> and bu.name like concat('%',#{taskSchoolEven.name},'%')</if>
            <if test="taskSchoolEven.phone != null  and taskSchoolEven.phone != ''"> and bu.phone like concat('%',#{taskSchoolEven.phone},'%')</if>
            <if test="taskSchoolEven.remark != null  and taskSchoolEven.remark != ''"> and jtse.remark like concat('%',#{taskSchoolEven.remark},'%')</if>
            <if test="taskSchoolEven.hiddenDangerType != null  and taskSchoolEven.hiddenDangerType != ''"> and jtse.hidden_danger_type = #{taskSchoolEven.hiddenDangerType}</if>
            <if test="taskSchoolEven.type != null  and taskSchoolEven.type != ''"> and jtse.type = #{taskSchoolEven.type}</if>
            <if test="taskSchoolEven.isProblem != null  and taskSchoolEven.isProblem != ''"> and jtse.is_problem = #{taskSchoolEven.isProblem}</if>
            <if test="taskSchoolEven.isHandle != null  and taskSchoolEven.isHandle != ''"> and jtse.is_handle = #{taskSchoolEven.isHandle}</if>
            <if test="taskSchoolEven.isReporting != null  and taskSchoolEven.isReporting != ''"> and jtse.is_reporting = #{taskSchoolEven.isReporting}</if>
            <if test="taskSchoolEven.workImage != null  and taskSchoolEven.workImage != ''"> and jtse.work_image = #{taskSchoolEven.workImage}</if>
            <if test="taskSchoolEven.confirmFlag != null  and taskSchoolEven.confirmFlag != ''"> and jtse.confirm_flag = #{taskSchoolEven.confirmFlag}</if>
            <if test="taskSchoolEven.confirmTime != null "> and jtse.confirm_time = #{taskSchoolEven.confirmTime}</if>
            <if test="taskSchoolEven.confirmUserId != null "> and jtse.confirm_user_id = #{taskSchoolEven.confirmUserId}</if>
            <if test="taskSchoolEven.confirmUserName != null  and taskSchoolEven.confirmUserName != ''"> and jtse.confirm_user_name = #{taskSchoolEven.confirmUserName}</if>
            <if test="taskSchoolEven.confirmNotion != null  and taskSchoolEven.confirmNotion != ''"> and jtse.confirm_notion = #{taskSchoolEven.confirmNotion}</if>
            <if test="taskSchoolEven.houseCode != null  and taskSchoolEven.houseCode != ''"> and jtse.house_code = #{taskSchoolEven.houseCode}</if>
            <if test="taskSchoolEven.createTime != null "> and jtse.create_time = #{taskSchoolEven.createTime}</if>
            <if test="taskSchoolEven.updateTime != null "> and jtse.update_time = #{taskSchoolEven.updateTime}</if>
            <if test="taskSchoolEven.startTime != null and taskSchoolEven.startTime != ''">
                and date_format(jtse.create_time,'%Y-%m-%d') &gt;= #{taskSchoolEven.startTime}
            </if>
            <if test="taskSchoolEven.endTime != null and taskSchoolEven.endTime != ''">
                and date_format(jtse.create_time,'%Y-%m-%d') &lt;= #{taskSchoolEven.endTime}
            </if>
            <if test="isAdministrator==2">
                <if test="taskSchoolEven.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>
            </if>
        </where>
        order by jtse.create_time desc
    </select>
    <resultMap type="org.springblade.modules.task.dto.TaskSchoolEvenDTO" id="TaskSchoolEvenDTOResult">
@@ -54,33 +119,114 @@
            jczz_task_school_even
    </sql>
<!--    <select id="selectTaskSchoolEvenById" parameterType="long" resultMap="TaskSchoolEvenDTOResult">-->
<!--        <include refid="selectTaskSchoolEven"/>-->
<!--        where-->
<!--        id = #{id}-->
<!--    </select>-->
    <select id="schoolEvenCount" resultType="java.lang.Integer">
        select
        count(1)
        from jczz_task_school_even jtse
        left join jczz_doorplate_address jda on jda.address_code = jtse.house_code
        LEFT JOIN blade_user bu ON bu.id = jtse.create_user
        LEFT JOIN jczz_place jp on jp.house_code= jtse.house_code
        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
        <where>
            <if test="taskSchoolEven.id != null "> and jtse.id = #{taskSchoolEven.id}</if>
            <if test="taskSchoolEven.createUser != null "> and jtse.create_user = #{taskSchoolEven.createUser}</if>
            <if test="taskSchoolEven.images != null  and taskSchoolEven.images != ''"> and jtse.images = #{taskSchoolEven.images}</if>
            <if test="taskSchoolEven.name != null  and taskSchoolEven.name != ''"> and bu.name like concat('%',#{taskSchoolEven.name},'%')</if>
            <if test="taskSchoolEven.phone != null  and taskSchoolEven.phone != ''"> and bu.phone like concat('%',#{taskSchoolEven.phone},'%')</if>
            <if test="taskSchoolEven.remark != null  and taskSchoolEven.remark != ''"> and jtse.remark like concat('%',#{taskSchoolEven.remark},'%')</if>
            <if test="taskSchoolEven.hiddenDangerType != null  and taskSchoolEven.hiddenDangerType != ''"> and jtse.hidden_danger_type = #{taskSchoolEven.hiddenDangerType}</if>
            <if test="taskSchoolEven.type != null  and taskSchoolEven.type != ''"> and jtse.type = #{taskSchoolEven.type}</if>
            <if test="taskSchoolEven.isProblem != null  and taskSchoolEven.isProblem != ''"> and jtse.is_problem = #{taskSchoolEven.isProblem}</if>
            <if test="taskSchoolEven.isHandle != null  and taskSchoolEven.isHandle != ''"> and jtse.is_handle = #{taskSchoolEven.isHandle}</if>
            <if test="taskSchoolEven.isReporting != null  and taskSchoolEven.isReporting != ''"> and jtse.is_reporting = #{taskSchoolEven.isReporting}</if>
            <if test="taskSchoolEven.workImage != null  and taskSchoolEven.workImage != ''"> and jtse.work_image = #{taskSchoolEven.workImage}</if>
            <if test="taskSchoolEven.confirmFlag != null  and taskSchoolEven.confirmFlag != ''"> and jtse.confirm_flag = #{taskSchoolEven.confirmFlag}</if>
            <if test="taskSchoolEven.confirmTime != null "> and jtse.confirm_time = #{taskSchoolEven.confirmTime}</if>
            <if test="taskSchoolEven.confirmUserId != null "> and jtse.confirm_user_id = #{taskSchoolEven.confirmUserId}</if>
            <if test="taskSchoolEven.confirmUserName != null  and taskSchoolEven.confirmUserName != ''"> and jtse.confirm_user_name = #{taskSchoolEven.confirmUserName}</if>
            <if test="taskSchoolEven.confirmNotion != null  and taskSchoolEven.confirmNotion != ''"> and jtse.confirm_notion = #{taskSchoolEven.confirmNotion}</if>
            <if test="taskSchoolEven.houseCode != null  and taskSchoolEven.houseCode != ''"> and jtse.house_code = #{taskSchoolEven.houseCode}</if>
            <if test="taskSchoolEven.createTime != null "> and jtse.create_time = #{taskSchoolEven.createTime}</if>
            <if test="taskSchoolEven.updateTime != null "> and jtse.update_time = #{taskSchoolEven.updateTime}</if>
<!--    <select id="selectTaskSchoolEvenList" parameterType="org.springblade.modules..dto.TaskSchoolEvenDTO" resultMap="TaskSchoolEvenDTOResult">-->
<!--        <include refid="selectTaskSchoolEven"/>-->
<!--        <where>-->
<!--            <if test="id != null "> and id = #{id}</if>-->
<!--            <if test="createUser != null "> and create_user = #{createUser}</if>-->
<!--            <if test="images != null  and images != ''"> and images = #{images}</if>-->
<!--            <if test="remark != null  and remark != ''"> and remark = #{remark}</if>-->
<!--            <if test="hiddenDangerType != null  and hiddenDangerType != ''"> and hidden_danger_type = #{hiddenDangerType}</if>-->
<!--            <if test="type != null  and type != ''"> and type = #{type}</if>-->
<!--            <if test="isProblem != null  and isProblem != ''"> and is_problem = #{isProblem}</if>-->
<!--            <if test="isHandle != null  and isHandle != ''"> and is_handle = #{isHandle}</if>-->
<!--            <if test="isReporting != null  and isReporting != ''"> and is_reporting = #{isReporting}</if>-->
<!--            <if test="workImage != null  and workImage != ''"> and work_image = #{workImage}</if>-->
<!--            <if test="confirmFlag != null  and confirmFlag != ''"> and confirm_flag = #{confirmFlag}</if>-->
<!--            <if test="confirmTime != null "> and confirm_time = #{confirmTime}</if>-->
<!--            <if test="confirmUserId != null "> and confirm_user_id = #{confirmUserId}</if>-->
<!--            <if test="confirmUserName != null  and confirmUserName != ''"> and confirm_user_name = #{confirmUserName}</if>-->
<!--            <if test="confirmNotion != null  and confirmNotion != ''"> and confirm_notion = #{confirmNotion}</if>-->
<!--            <if test="createTime != null "> and create_time = #{createTime}</if>-->
<!--            <if test="updateTime != null "> and update_time = #{updateTime}</if>-->
<!--        </where>-->
<!--    </select>-->
            <if test="isAdministrator==2">
                <!-- 网格员及其他 -->
                <if test="taskSchoolEven.roleType ==null and taskSchoolEven.roleName !='inhabitant' and taskSchoolEven.houseCode == null ">
                    <choose>
                        <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                            and (
                            jg.community_code in
                            <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                #{code}
                            </foreach>
                            )
                        </when>
                    </choose>
                    <choose>
                        <when test="gridCodeList !=null and gridCodeList.size()>0">
                            and (
                            jg.grid_code in
                            <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
                                #{code}
                            </foreach>
                            )
                        </when>
                    </choose>
                    <if test="taskSchoolEven.confirmUserId != null ">
                        or jtse.confirm_user_id = #{taskSchoolEven.confirmUserId}
                    </if>
                </if>
            </if>
        </where>
        order by jtse.create_time desc
    </select>
    <select id="selectTaskSchoolEvenDetail" resultMap="taskSchoolEvenResultMap">
        select
        jtse.*,
        br.town_name streetName,
        jg.grid_name,
        jda.aoi_name,
        br.village_name communityName,
        bu.name,
        bu.phone,
        jp.location,
        jp.place_name,
        jda.address_name as addressName
        from jczz_task_school_even jtse
        left join jczz_doorplate_address jda on jda.address_code = jtse.house_code
        LEFT JOIN blade_user bu ON bu.id = jtse.create_user
        LEFT JOIN jczz_place jp on jp.house_code= jtse.house_code
        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_police_affairs_grid jpag on jp.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
        <where>
            <if test="taskSchoolEven.id != null "> and jtse.id = #{taskSchoolEven.id}</if>
            <if test="taskSchoolEven.createUser != null "> and jtse.create_user = #{taskSchoolEven.createUser}</if>
            <if test="taskSchoolEven.images != null  and taskSchoolEven.images != ''"> and jtse.images = #{taskSchoolEven.images}</if>
            <if test="taskSchoolEven.name != null  and taskSchoolEven.name != ''"> and bu.name like concat('%',#{taskSchoolEven.name},'%')</if>
            <if test="taskSchoolEven.phone != null  and taskSchoolEven.phone != ''"> and bu.phone like concat('%',#{taskSchoolEven.phone},'%')</if>
            <if test="taskSchoolEven.remark != null  and taskSchoolEven.remark != ''"> and jtse.remark like concat('%',#{taskSchoolEven.remark},'%')</if>
            <if test="taskSchoolEven.hiddenDangerType != null  and taskSchoolEven.hiddenDangerType != ''"> and jtse.hidden_danger_type = #{taskSchoolEven.hiddenDangerType}</if>
            <if test="taskSchoolEven.type != null  and taskSchoolEven.type != ''"> and jtse.type = #{taskSchoolEven.type}</if>
            <if test="taskSchoolEven.isProblem != null  and taskSchoolEven.isProblem != ''"> and jtse.is_problem = #{taskSchoolEven.isProblem}</if>
            <if test="taskSchoolEven.isHandle != null  and taskSchoolEven.isHandle != ''"> and jtse.is_handle = #{taskSchoolEven.isHandle}</if>
            <if test="taskSchoolEven.isReporting != null  and taskSchoolEven.isReporting != ''"> and jtse.is_reporting = #{taskSchoolEven.isReporting}</if>
            <if test="taskSchoolEven.workImage != null  and taskSchoolEven.workImage != ''"> and jtse.work_image = #{taskSchoolEven.workImage}</if>
            <if test="taskSchoolEven.confirmFlag != null  and taskSchoolEven.confirmFlag != ''"> and jtse.confirm_flag = #{taskSchoolEven.confirmFlag}</if>
            <if test="taskSchoolEven.confirmTime != null "> and jtse.confirm_time = #{taskSchoolEven.confirmTime}</if>
            <if test="taskSchoolEven.confirmUserId != null "> and jtse.confirm_user_id = #{taskSchoolEven.confirmUserId}</if>
            <if test="taskSchoolEven.confirmUserName != null  and taskSchoolEven.confirmUserName != ''"> and jtse.confirm_user_name = #{taskSchoolEven.confirmUserName}</if>
            <if test="taskSchoolEven.confirmNotion != null  and taskSchoolEven.confirmNotion != ''"> and jtse.confirm_notion = #{taskSchoolEven.confirmNotion}</if>
            <if test="taskSchoolEven.houseCode != null  and taskSchoolEven.houseCode != ''"> and jtse.house_code = #{taskSchoolEven.houseCode}</if>
            <if test="taskSchoolEven.createTime != null "> and jtse.create_time = #{taskSchoolEven.createTime}</if>
            <if test="taskSchoolEven.updateTime != null "> and jtse.update_time = #{taskSchoolEven.updateTime}</if>
        </where>
        order by jtse.create_time desc
    </select>
</mapper>
src/main/java/org/springblade/modules/task/service/ITaskSchoolEvenService.java
@@ -46,4 +46,18 @@
     * @return
     */
    boolean updateSchoolEven(TaskSchoolEvenVO taskSchoolEvenVO);
    /**
     * 统计
     * @param taskSchoolEven
     * @return
     */
    int schoolEvenCount(TaskSchoolEvenVO taskSchoolEven);
    /**
     * 详情
     * @param taskSchoolEven
     * @return
     */
    TaskSchoolEvenVO selectTaskSchoolEvenDetail(TaskSchoolEvenVO taskSchoolEven);
}
src/main/java/org/springblade/modules/task/service/impl/TaskPlaceSelfCheckServiceImpl.java
@@ -48,6 +48,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Collectors;
/**
@@ -142,9 +143,28 @@
        // 1.保存任务表
        ITaskService iTaskService = SpringUtils.getBean(ITaskService.class);
        Long restults;
        AtomicBoolean isState = new AtomicBoolean(false);
        List<TaskPlaceRecordVO> taskPlaceRecordList = taskPlaceSelfCheck.getTaskPlaceRecordVOList();
        for (TaskPlaceRecordVO taskPlaceRecordVO : taskPlaceRecordList) {
            // 判断类型
            if (StringUtils.isNotBlank(taskPlaceSelfCheck.getType()) && taskPlaceSelfCheck.getType().equals("2")) {
                taskPlaceRecordVO.setType("3");
            } else {
                taskPlaceRecordVO.setType("1");
            }
            // 判断是否有隐患
            if (taskPlaceRecordVO.getState().equals(0)) {
                isState.set(true);
            }
        }
        if (StringUtils.isNotBlank(taskPlaceSelfCheck.getType()) && taskPlaceSelfCheck.getType().equals("2")) {
            // 不存在隐患。状态直接为已审核
            if (!isState.get()) {
                taskPlaceSelfCheck.setStatus(2);
                taskPlaceSelfCheck.setRectificationFlag(3);
            }
            restults = iTaskService.saveTask(CommonConstant.NUMBER_ONE, DictConstant.FIRE_SCHOOL_CHECK_NOTICE, 1,
                "", AuthUtil.getUserId(), taskPlaceSelfCheck.getHouseCode(), CommonConstant.NUMBER_FOUR, 1);
                "", AuthUtil.getUserId(), taskPlaceSelfCheck.getHouseCode(), CommonConstant.NUMBER_FOUR, taskPlaceSelfCheck.getStatus());
        } else {
            restults = iTaskService.saveTask(CommonConstant.NUMBER_ONE, DictConstant.FIRE_SELF_CHECK_NOTICE, 1,
                "", AuthUtil.getUserId(), taskPlaceSelfCheck.getHouseCode(), CommonConstant.NUMBER_SEVEN, 1);
@@ -157,16 +177,14 @@
        boolean save = save(taskPlaceSelfCheck);
        if (save) {
            // 3.保存题目记录
            List<TaskPlaceRecordVO> taskPlaceRecordList = taskPlaceSelfCheck.getTaskPlaceRecordVOList();
            ITaskPlaceRecordService bean = SpringUtil.getBean(ITaskPlaceRecordService.class);
            taskPlaceRecordList.stream().forEach(item -> {
                item.setTaskPlaceSelfCheckId(taskPlaceSelfCheck.getId());
                item.setCreateUser(AuthUtil.getUserId());
                item.setType("1");
            });
            List<TaskPlaceRecordEntity> collect = taskPlaceRecordList.stream().filter(item -> item.getState().equals(0)).collect(Collectors.toList());
            ITaskPlaceRecordService taskPlaceRecordService = SpringUtil.getBean(ITaskPlaceRecordService.class);
            List<TaskPlaceRecordEntity> collect = taskPlaceRecordList.stream().collect(Collectors.toList());
            if (collect.size() > 0) {
                bean.saveBatch(collect);
                taskPlaceRecordService.saveBatch(collect);
            }
            updateById(taskPlaceSelfCheck);
            return save;
@@ -190,10 +208,10 @@
            List<TaskPlaceRecordVO> taskPlaceRecordList = taskPlaceSelfCheck.getTaskPlaceRecordVOList();
            if (taskPlaceRecordList != null && taskPlaceRecordList.size() > 0) {
                ITaskPlaceRecordService bean = SpringUtil.getBean(ITaskPlaceRecordService.class);
                List<TaskPlaceRecordEntity> copy = BeanUtil.copy(taskPlaceRecordList, TaskPlaceRecordEntity.class);
                boolean b = bean.saveOrUpdateBatch(copy);
                if (b) {
                    return b;
                List<TaskPlaceRecordEntity> placeRecordEntityList = BeanUtil.copy(taskPlaceRecordList, TaskPlaceRecordEntity.class);
                boolean updateBatch = bean.saveOrUpdateBatch(placeRecordEntityList);
                if (updateBatch) {
                    return updateBatch;
                }
                throw new CustomException("保存失败!");
            }
src/main/java/org/springblade/modules/task/service/impl/TaskSchoolEvenServiceImpl.java
@@ -17,11 +17,13 @@
package org.springblade.modules.task.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.common.param.CommonParamSet;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.modules.task.entity.TaskEntity;
import org.springblade.modules.task.entity.TaskResidencePermitApplyEntity;
import org.springblade.modules.task.service.ITaskSchoolEvenService;
import org.springblade.modules.task.service.ITaskService;
import org.springblade.modules.task.vo.TaskResidencePermitApplyVO;
import org.springblade.modules.task.vo.TaskSchoolEvenVO;
import org.springblade.modules.task.entity.TaskSchoolEvenEntity;
import org.springblade.modules.task.mapper.TaskSchoolEvenMapper;
@@ -49,7 +51,12 @@
    @Override
    public IPage<TaskSchoolEvenVO> selectTaskSchoolEvenPage(IPage<TaskSchoolEvenVO> page, TaskSchoolEvenVO taskSchoolEven) {
        return page.setRecords(baseMapper.selectTaskSchoolEvenPage(page, taskSchoolEven));
        CommonParamSet commonParamSet = new CommonParamSet().invoke(TaskSchoolEvenVO.class, taskSchoolEven);
        if (taskSchoolEven.getRoleName() != null && (taskSchoolEven.getRoleName().equals("xyty"))) {
            taskSchoolEven.setCreateUser(AuthUtil.getUserId());
        }
        return page.setRecords(baseMapper.selectTaskSchoolEvenPage(page, taskSchoolEven,
            commonParamSet.getRegionChildCodesList(), commonParamSet.getIsAdministrator(), commonParamSet.getGridCodeList()));
    }
    @Override
@@ -58,4 +65,16 @@
        taskSchoolEvenVO.setConfirmUserId(AuthUtil.getUserId());
        return updateById(taskSchoolEvenVO);
    }
    @Override
    public int schoolEvenCount(TaskSchoolEvenVO taskSchoolEven) {
        CommonParamSet commonParamSet = new CommonParamSet().invoke(TaskSchoolEvenVO.class, taskSchoolEven);
        return baseMapper.schoolEvenCount(taskSchoolEven,
            commonParamSet.getRegionChildCodesList(), commonParamSet.getIsAdministrator(), commonParamSet.getGridCodeList());
    }
    @Override
    public TaskSchoolEvenVO selectTaskSchoolEvenDetail(TaskSchoolEvenVO taskSchoolEven) {
        return baseMapper.selectTaskSchoolEvenDetail(taskSchoolEven);
    }
}
src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java
@@ -48,6 +48,7 @@
import org.springblade.modules.task.entity.*;
import org.springblade.modules.task.mapper.TaskMapper;
import org.springblade.modules.task.service.*;
import org.springblade.modules.task.vo.TaskSchoolEvenVO;
import org.springblade.modules.task.vo.TaskVO;
import org.springblade.modules.task.service.ITaskPlaceRectificationService;
import org.springblade.modules.task.entity.TaskPlaceSelfCheckEntity;
@@ -271,8 +272,8 @@
        Integer zfrw = SpringUtils.getBean(IGridWorkLogService.class).getGridWorkCountHandleCount(gridCode, CommonConstant.NUMBER_ONE);
        // 消防自查
        Integer xfzc = SpringUtils.getBean(ITaskPlaceSelfCheckService.class).getCount(neiCode, CommonConstant.NUMBER_ONE, CommonConstant.NUMBER_ONE);
        // 校园检查
        Integer xyjc = SpringUtils.getBean(ITaskPlaceSelfCheckService.class).getCount(neiCode, CommonConstant.NUMBER_ONE, CommonConstant.NUMBER_TWO);
        // 校园安全隐患排除
        Integer xyaqyhpc = SpringUtils.getBean(ITaskPlaceSelfCheckService.class).getCount(neiCode, CommonConstant.NUMBER_ONE, CommonConstant.NUMBER_TWO);
        // 消防隐患整改
        Integer xfyhzg = SpringUtils.getBean(ITaskPlaceRectificationService.class).getCount(neiCode, CommonConstant.NUMBER_ONE);
        // 居住证申请
@@ -281,6 +282,17 @@
        taskVO.setReportType(6);
        Integer wztj = baseMapper.selectTaskCount(taskVO, commonParamSet.getRegionChildCodesList(),
            commonParamSet.getIsAdministrator(), commonParamSet.getGridCodeList());
        ITaskSchoolEvenService taskSchoolEvenService = SpringUtils.getBean(ITaskSchoolEvenService.class);
        TaskSchoolEvenVO taskSchoolEvenVO = new TaskSchoolEvenVO();
//        taskSchoolEvenVO.setIsReporting(CommonConstant.NUMBER_ONE.toString());
//        taskSchoolEvenVO.setIsHandle(CommonConstant.NUMBER_TWO.toString());
        taskSchoolEvenVO.setConfirmFlag(CommonConstant.NUMBER_ONE.toString());
        taskSchoolEvenVO.setType(CommonConstant.NUMBER_ONE.toString());
        // 校园隐患
        long xyyh = taskSchoolEvenService.schoolEvenCount(taskSchoolEvenVO);
        // 校园纠纷矛盾
        taskSchoolEvenVO.setType(CommonConstant.NUMBER_TWO.toString());
        long xyjfmd = taskSchoolEvenService.schoolEvenCount(taskSchoolEvenVO);;
        // 设置
        objectObjectHashMap.put("qbhs", qbhs);// 取保候审
        objectObjectHashMap.put("bqsj", bqsj);// 标签报事-二手交易
@@ -293,7 +305,9 @@
        objectObjectHashMap.put("xfyhzg", xfyhzg);// 消防隐患整改
        objectObjectHashMap.put("jzzsq", jzzsq);// 居住证申请
        objectObjectHashMap.put("wztj", wztj);// 无诈
        objectObjectHashMap.put("xyjc", xyjc);// 校园检查
        objectObjectHashMap.put("xyaqyhpc", xyaqyhpc);// 校园安全隐患排除
        objectObjectHashMap.put("xyyh", xyyh);// 校园隐患
        objectObjectHashMap.put("xyjfmd", xyjfmd);// 校园纠纷矛盾
        return objectObjectHashMap;
    }
src/main/java/org/springblade/modules/task/vo/TaskSchoolEvenVO.java
@@ -16,6 +16,7 @@
 */
package org.springblade.modules.task.vo;
import io.swagger.annotations.ApiModelProperty;
import org.springblade.modules.task.entity.TaskSchoolEvenEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -30,5 +31,31 @@
@EqualsAndHashCode(callSuper = true)
public class TaskSchoolEvenVO extends TaskSchoolEvenEntity {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "名称", example = "")
    private String name;
    @ApiModelProperty(value = "电话", example = "")
    private String phone;
    @ApiModelProperty(value = "地址", example = "")
    private String location;
    @ApiModelProperty(value = "街道", example = "")
    private String streetName;
    @ApiModelProperty(value = "社区", example = "")
    private String communityName;
    // 角色名称
    @ApiModelProperty(value = "角色名称", example = "")
    private String roleName;
    // 社区编号
    @ApiModelProperty(value = "社区编号", example = "")
    private String communityCode;
    @ApiModelProperty(value = "角色类型", example = "")
    private String roleType;
    @ApiModelProperty(value = "场所名称", example = "")
    private String placeName;
    private String startTime;
    private String endTime;
}
src/main/java/org/springblade/modules/task/vo/TaskVO.java
@@ -58,6 +58,7 @@
    private String applyName;
    private String communityName;
    private String districtName;
    private String placeName;
    @ApiModelProperty("开始时间")
    private String startTime;