tangxiaobao
2021-07-29 00e79777005543dd11732436b8690167451acde7
Merge branch 'txb'
1 文件已重命名
52个文件已修改
30个文件已添加
4487 ■■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComSwPatrolRecordApi.java 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityApi.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/api/LcApiConstants.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/enums/SafeWordDangerLevelEnum.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/enums/SafeWordStatusEnum.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/exceptions/ServiceException.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationServeExcelListen.java 237 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/api/GridMemberPageListDTO.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComMngPopulationHouseEditDTO.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComSwDangerReportHandleDTO.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComSwDangerReportRectifyDTO.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComSwPatrolRecordAddDTO.java 201 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComSwPatrolRecordPageDTO.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/EventGridDataAddAdminDTO.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/EventGridDataEditAdminDTO.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/EventGridMemberAddDTO.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/EventGridMemberEditAdminDTO.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/admin/LcGridMemberDTO.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComMngPopulationMistakeExcelVO.java 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComMngPopulationServeExcelVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwDangerReportExcelVO.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwDangerReportVO.java 267 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwPatrolRecordStatisticsVO.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwPatrolRecordVO.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwSafetyWorkRecordVO.java 135 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/grid/GridMemberVO.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/grid/admin/GridMemberLcListVO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/grid/admin/excel/GridMemberWorkExportExcelVO.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/api/ApiServiceFeign.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/grid/GridService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComSwPatrolRecordApi.java 233 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommonDataApi.java 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/PopulationApi.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/listen/PartyBuildingMemberExcelListen.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/grid_app/src/main/java/com/panzhihua/grid_app/api/StatisticsApi.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/grid_backstage/src/main/java/com/panzhihua/grid_backstage/api/EventGridDataApi.java 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/grid_backstage/src/main/java/com/panzhihua/grid_backstage/api/EventGridMemberRelationApi.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/grid_backstage/src/main/java/com/panzhihua/grid_backstage/api/StatisticsApi.java 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_api/src/main/java/com/panzhihua/serviceapi/api/LcEventApi.java 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_api/src/main/java/com/panzhihua/serviceapi/biz/LcApiService.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_api/src/main/java/com/panzhihua/serviceapi/biz/impl/LcApiServiceImpl.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_api/src/test/java/com/panzhihua/serviceapi/biz/impl/LcApiServiceImplTest.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComSwPatrolRecordApi.java 151 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActMessageDAO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComMngPopulationDAO.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComSwDangerReportDAO.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComSwPatrolRecordDAO.java 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComSwPatrolRecordReportDAO.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComSwSafetyWorkRecordDAO.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComMngPopulationHouseUserDO.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComSwDangerReportDO.java 172 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComSwPatrolRecordDO.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComSwPatrolRecordReportDO.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComSwSafetyWorkRecordDO.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComSwDangerReportService.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComSwPatrolRecordService.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComSwSafetyWorkRecordService.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwDangerReportServiceImpl.java 175 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwPatrolRecordServiceImpl.java 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwSafetyWorkRecordServiceImpl.java 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwDangerReportMapper.xml 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwPatrolRecordMapper.xml 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwPatrolRecordReportMapper.xml 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwSafetyWorkRecordMapper.xml 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/api/StatisticsApi.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/dao/EventGridMemberRelationMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/dao/EventMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/EventService.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventGridDataServiceImpl.java 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventServiceImpl.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/resources/mapper/EventGridMemberRelationMapper.xml 246 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/resources/mapper/EventMapper.xml 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/model/dos/ComPbDynDO.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/dao/LcCompareMemberCodeMapper.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/dao/UserDao.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/model/dos/LcCompareCodeMemberDO.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/JWTAuthenticationTokenFilter.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComSwPatrolRecordApi.java
New file
@@ -0,0 +1,149 @@
package com.panzhihua.applets.api;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.model.dtos.community.ComSwDangerReportRectifyDTO;
import com.panzhihua.common.model.dtos.community.ComSwPatrolRecordAddDTO;
import com.panzhihua.common.model.dtos.community.ComSwPatrolRecordPageDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComSwDangerReportVO;
import com.panzhihua.common.model.vos.community.ComSwPatrolRecordVO;
import com.panzhihua.common.model.vos.community.ComSwSafetyWorkRecordVO;
import com.panzhihua.common.service.community.CommunityService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
 * @auther txb
 * @create 2021-07-23 14:38:38
 * @describe 社区》安全工作》巡查记录前端控制器
 */
@Slf4j
@Api(tags = {"社区管理/安全工作"})
@RestController
@RequestMapping("/patrolRecord")
public class ComSwPatrolRecordApi extends BaseController {
    @Resource
    private CommunityService communityService;
    /**
     * 分页查询巡查记录
     * @param comSwPatrolRecordPageDTO 查询参数
     * @return 分页集合
     */
    @ApiOperation(value = "分页查询巡查记录", response = ComSwPatrolRecordVO.class)
    @PostMapping("/pagePatrolRecord")
    public R pagePatrolRecord(@RequestBody ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO){
        Long communityId = this.getCommunityId();
        if (comSwPatrolRecordPageDTO.getSelectPerson().equals(1)) {
            comSwPatrolRecordPageDTO.setPatrolPerson(String.valueOf(this.getLoginUserInfo().getUserId()));
        }
        comSwPatrolRecordPageDTO.setCommunityId(communityId);
        return communityService.pagePatrolRecord(comSwPatrolRecordPageDTO);
    }
    /**
     * 新增巡查记录
     * @param comSwPatrolRecordAddDTO 新增参数
     * @return 新增结果
     */
    @ApiOperation(value = "新增巡查记录")
    @PostMapping("/addPatrolRecord")
    public R addPatrolRecord(@RequestBody ComSwPatrolRecordAddDTO comSwPatrolRecordAddDTO){
        Long communityId = this.getCommunityId();
        comSwPatrolRecordAddDTO.setCommunityId(communityId);
        return communityService.addPatrolRecord(comSwPatrolRecordAddDTO);
    }
    /**
     * 根据巡查记录id查询详情
     *
     * @param patrolRecordId 巡查记录id
     * @return 巡查记录详情查询结果
     */
    @ApiOperation(value = "根据巡查记录id查询详情", response = ComSwPatrolRecordVO.class)
    @PostMapping("/detailPatrolRecord")
    public R detailPatrolRecord(@RequestParam(value = "patrolRecordId") Long patrolRecordId) {
        return communityService.detailPatrolRecord(patrolRecordId);
    }
    /**
     * 分页查询安全工作记录
     * @param comSwPatrolRecordPageDTO 查询参数
     * @return 安全工作记录分页集合
     */
    @ApiOperation(value = "分页查询安全工作记录", response = ComSwSafetyWorkRecordVO.class)
    @PostMapping("/pageSafetyWorkRecord")
    public R pageSafetyWorkRecord(@RequestBody ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO){
        Long communityId = this.getCommunityId();
        comSwPatrolRecordPageDTO.setCommunityId(communityId);
        return communityService.pageSafetyWorkRecord(comSwPatrolRecordPageDTO);
    }
    /**
     * 根据安全工作记录id查询详情
     *
     * @param safetyWorkRecordId 安全工作记录
     * @return 安全工作记录详情查询结果
     */
    @ApiOperation(value = "根据安全工作记录id查询详情", response = ComSwSafetyWorkRecordVO.class)
    @PostMapping("/detailSafetyWorkRecord")
    public R detailSafetyWorkRecord(@RequestParam(value = "safetyWorkRecordId") Long safetyWorkRecordId) {
        return communityService.detailSafetyWorkRecord(safetyWorkRecordId);
    }
    /**
     * 分页查询隐患报告
     * @param comSwPatrolRecordPageDTO 查询参数
     * @return 隐患报告分页集合
     */
    @ApiOperation(value = "分页查询隐患报告", response = ComSwDangerReportVO.class)
    @PostMapping("/pageDangerReport")
    public R pageDangerReport(@RequestBody ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO){
        Long communityId = this.getCommunityId();
        comSwPatrolRecordPageDTO.setCommunityId(communityId);
        return communityService.pageDangerReport(comSwPatrolRecordPageDTO);
    }
    /**
     * 根据隐患报告id查询详情
     *
     * @param dangerReportId 隐患报告id
     * @return 隐患报告详情查询结果
     */
    @ApiOperation(value = "根据隐患报告id查询详情", response = ComSwDangerReportVO.class)
    @PostMapping("/detailDangerReport")
    public R detailDangerReport(@RequestParam(value = "dangerReportId") Long dangerReportId) {
        return communityService.detailDangerReport(dangerReportId);
    }
    /**
     * 根据巡查记录id查询隐患报告详情
     *
     * @param patrolRecordId 巡查记录id
     * @return 隐患报告详情查询结果
     */
    @ApiOperation(value = "根据巡查记录id查询隐患报告详情", response = ComSwDangerReportVO.class)
    @PostMapping("/detailDangerReportByPrId")
    public R detailDangerReportByPrId(@RequestParam(value = "patrolRecordId") Long patrolRecordId) {
        return communityService.detailDangerReportByPrId(patrolRecordId);
    }
    /**
     * 整改隐患报告
     *
     * @param comSwDangerReportRectifyDTO 隐患报告整改参数
     * @return 整改结果
     */
    @ApiOperation(value = "整改隐患报告")
    @PostMapping("/rectifyDangerReport")
    public R rectifyDangerReport(@RequestBody ComSwDangerReportRectifyDTO comSwDangerReportRectifyDTO){
        return communityService.rectifyDangerReport(comSwDangerReportRectifyDTO);
    }
}
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityApi.java
@@ -96,7 +96,11 @@
    @GetMapping("detailactivity")
    @ApiImplicitParam(name ="id",value = "社区活动主键",required = true)
    public R detailActivity(@RequestParam("id") Long id){
        Long userId = this.getUserId();
        Long userId = null;
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin();
        if(loginUserInfo != null){
            userId = loginUserInfo.getUserId();
        }
        return communityService.detailActivity(id,userId);
    }
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/api/LcApiConstants.java
@@ -58,9 +58,13 @@
     */
    public static final String GRID_GET_EVENT_INFO_AREA_ID_URL = "http://171.217.92.33:53303/area/getAreaGridTreeByAreaId";
    /**
     * 通过AREAID获取辖区网格数据列表
     */
    public static final String GRID_GET_GRID_DATA_AREA_ID_URL = "http://171.217.92.33:53303/gridDefined/getGridInfoByAreaId";
    /**
     * 获取所有或者根据姓名和工号查询,分页
     */
    public static final String GRID_GET_GETALL_SEARCH_PAGE_URL = "http://171.217.92.33:53303/gridOperator/getAllOrSearchByPage?areaId=jhRxqEQp&limit=200&page=1";
    public static final String GRID_GET_GETALL_SEARCH_PAGE_URL = "http://171.217.92.33:53303/gridOperator/getAllOrSearchByPage?areaId=jhRxqEQp";
    /**
     * 下面的接口全部都是走访任务接口
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/enums/SafeWordDangerLevelEnum.java
New file
@@ -0,0 +1,45 @@
package com.panzhihua.common.enums;
import lombok.Getter;
/**
 * 婚姻状况
 *
 * @author huanghongfa
 */
@Getter
public enum SafeWordDangerLevelEnum
{
    RED(1, "红色预警"),
    ORANGE(2, "橙色预警"),
    YELLOW(3, "黄色预警"),
    BLUE(4, "蓝色预警");
    private final Integer code;
    private final String name;
    SafeWordDangerLevelEnum(Integer code, String name)
    {
        this.code = code;
        this.name = name;
    }
    public static int getCodeByName(String name) {
        for (SafeWordDangerLevelEnum item : SafeWordDangerLevelEnum.values()) {
            if (item.name.equals(name)) {
                return item.getCode();
            }
        }
        return -1;
    }
    public static String getCnDescByName(Integer code) {
        for (SafeWordDangerLevelEnum item : SafeWordDangerLevelEnum.values()) {
            if (item.code.equals(code)) {
                return item.getName();
            }
        }
        return "其他";
    }
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/enums/SafeWordStatusEnum.java
New file
@@ -0,0 +1,44 @@
package com.panzhihua.common.enums;
import lombok.Getter;
/**
 * 婚姻状况
 *
 * @author huanghongfa
 */
@Getter
public enum SafeWordStatusEnum
{
    DCL(1, "待处理"),
    YCL(2, "已处理"),
    YZG(3, "已整改");
    private final Integer code;
    private final String name;
    SafeWordStatusEnum(Integer code, String name)
    {
        this.code = code;
        this.name = name;
    }
    public static int getCodeByName(String name) {
        for (SafeWordStatusEnum item : SafeWordStatusEnum.values()) {
            if (item.name.equals(name)) {
                return item.getCode();
            }
        }
        return -1;
    }
    public static String getCnDescByName(Integer code) {
        for (SafeWordStatusEnum item : SafeWordStatusEnum.values()) {
            if (item.code.equals(code)) {
                return item.getName();
            }
        }
        return "其他";
    }
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/exceptions/ServiceException.java
@@ -10,6 +10,7 @@
    private String code;
    private String msg;
    private String data;
    public ServiceException() {
        super();
    }
@@ -27,6 +28,13 @@
        this.msg = errorMsg;
    }
    public ServiceException(String errorCode, String errorMsg,String data) {
        super(errorCode);
        this.code = errorCode;
        this.msg = errorMsg;
        this.data = data;
    }
    public ServiceException(String errorCode, String errorMsg, Throwable cause) {
        super(errorCode, cause);
        this.code = errorCode;
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationServeExcelListen.java
@@ -1,21 +1,37 @@
package com.panzhihua.common.listen;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Lists;
import com.panzhihua.common.constants.BcDictionaryConstants;
import com.panzhihua.common.enums.*;
import com.panzhihua.common.excel.CustomSheetWriteHandler;
import com.panzhihua.common.exceptions.ServiceException;
import com.panzhihua.common.model.vos.BcDictionaryVO;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComMngPopulationImportErrorVO;
import com.panzhihua.common.model.vos.community.ComMngPopulationServeExcelVO;
import com.panzhihua.common.model.vos.community.*;
import com.panzhihua.common.model.vos.partybuilding.PartyBuildingMemberVO;
import com.panzhihua.common.service.community.CommunityService;
import com.panzhihua.common.utlis.*;
import io.swagger.models.auth.In;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.RequestBody;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -35,10 +51,25 @@
    private Map<Integer, String> headData;
    private String userName;
    // FTP 登录密码
    private String password;
    // FTP 服务器地址IP地址
    private String host;
    // FTP 端口
    private int port;
    private String excelUrl;
    public ComMngPopulationServeExcelListen(CommunityService communityService, Long communityId) {
    public static String loadUrl;
    public ComMngPopulationServeExcelListen(CommunityService communityService, Long communityId, String userName, String password, String host, int port, String excelUrl) {
        this.communityService = communityService;
        this.communityId = communityId;
        this.userName = userName;
        this.password = password;
        this.host = host;
        this.port = port;
        this.excelUrl = excelUrl;
    }
    /**
@@ -91,25 +122,34 @@
        try {
            ArrayList<ComMngPopulationServeExcelVO> voList = Lists.newArrayList();
            List<ComMngPopulationImportErrorVO> populationImportErrorVOList = new ArrayList<>();
            ArrayList<ComMngPopulationMistakeExcelVO> mistakes = Lists.newArrayList();
            for (Map<Integer, String> oneData : list) {
                ComMngPopulationServeExcelVO vo = new ComMngPopulationServeExcelVO();
                //姓名和身份证都为空,为空户,无需操作,否则就解析年龄,性别,出生年月日
                if(StringUtils.isNotEmpty(oneData.get(0)) || StringUtils.isNotEmpty(oneData.get(1))){
                    if(StringUtils.isEmpty(oneData.get(0))){
                        ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO();
                        ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO();
                        importErrorVO.setErrorPosition("第" + index + "行,第1列");
                        importErrorVO.setErrorMsg("名字不可为空,请填写姓名");
                        populationImportErrorVOList.add(importErrorVO);
                        index++;
                        setMistake(oneData, mistake);
                        mistake.setMistake("名字不可为空,请填写姓名");
                        mistakes.add(mistake);
                        continue;
                    }
                    vo.setName(oneData.get(0));
                    if(StringUtils.isEmpty(oneData.get(1))){
                        ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO();
                        ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO();
                        importErrorVO.setErrorPosition("第" + index + "行,第2列"+oneData.get(1));
                        importErrorVO.setErrorMsg("身份证号不可为空,请填写身份证号");
                        populationImportErrorVOList.add(importErrorVO);
                        index++;
                        setMistake(oneData, mistake);
                        mistake.setMistake("身份证号不可为空,请填写身份证号");
                        mistakes.add(mistake);
                        continue;
                    }
@@ -120,6 +160,10 @@
                        importErrorVO.setErrorMsg("身份证号位数有误,请检查身份证号码是否正确");
                        populationImportErrorVOList.add(importErrorVO);
                        index++;
                        ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO();
                        setMistake(oneData, mistake);
                        mistake.setMistake("身份证号位数有误,请检查身份证号码是否正确");
                        mistakes.add(mistake);
                        continue;
                    }
                    vo.setCardNo(oneData.get(1).toUpperCase());
@@ -155,7 +199,20 @@
                    vo.setNation(oneData.get(2));
                }
                if(StringUtils.isNotEmpty(oneData.get(3))){
                    vo.setPoliticalOutlook(PopulPoliticalOutlookEnum.getCodeByName(oneData.get(3)));
                    Integer isOk = PopulPoliticalOutlookEnum.getCodeByName(oneData.get(3));
                    if(isOk.equals(-1)){
                        ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO();
                        importErrorVO.setErrorPosition("第" + index + "行,第4列");
                        importErrorVO.setErrorMsg("您填写的政治面貌有误");
                        populationImportErrorVOList.add(importErrorVO);
                        index++;
                        ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO();
                        setMistake(oneData, mistake);
                        mistake.setMistake("您填写的政治面貌有误");
                        mistakes.add(mistake);
                        continue;
                    }
                    vo.setPoliticalOutlook(isOk);
                }
                if(StringUtils.isNotEmpty(oneData.get(4))){
                    Integer isOk = PopulHouseUseEnum.getCodeByName(oneData.get(4));
@@ -165,6 +222,10 @@
                        importErrorVO.setErrorMsg("您填写的是否租住有误");
                        populationImportErrorVOList.add(importErrorVO);
                        index++;
                        ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO();
                        setMistake(oneData, mistake);
                        mistake.setMistake("您填写的是否租住有误");
                        mistakes.add(mistake);
                        continue;
                    }
                    vo.setIsRent(isOk);
@@ -197,6 +258,10 @@
                        importErrorVO.setErrorMsg("您填写的与户主关系有误");
                        populationImportErrorVOList.add(importErrorVO);
                        index++;
                        ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO();
                        setMistake(oneData, mistake);
                        mistake.setMistake("您填写的与户主关系有误");
                        mistakes.add(mistake);
                        continue;
                    }else{
                        vo.setRelation(isOk);
@@ -208,6 +273,10 @@
                    importErrorVO.setErrorMsg("街路巷不可为空");
                    populationImportErrorVOList.add(importErrorVO);
                    index++;
                    ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO();
                    setMistake(oneData, mistake);
                    mistake.setMistake("街路巷不可为空");
                    mistakes.add(mistake);
                    continue;
                }
                vo.setRoad(oneData.get(6));
@@ -217,6 +286,10 @@
                    importErrorVO.setErrorMsg("小区号不可为空");
                    populationImportErrorVOList.add(importErrorVO);
                    index++;
                    ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO();
                    setMistake(oneData, mistake);
                    mistake.setMistake("小区号不可为空");
                    mistakes.add(mistake);
                    continue;
                }
                vo.setDoorNo(oneData.get(7).trim());
@@ -226,6 +299,10 @@
                    importErrorVO.setErrorMsg("楼排号不可为空");
                    populationImportErrorVOList.add(importErrorVO);
                    index++;
                    ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO();
                    setMistake(oneData, mistake);
                    mistake.setMistake("楼排号不可为空");
                    mistakes.add(mistake);
                    continue;
                }
                vo.setFloor(oneData.get(8).trim());
@@ -235,6 +312,10 @@
                    importErrorVO.setErrorMsg("单元号不可为空");
                    populationImportErrorVOList.add(importErrorVO);
                    index++;
                    ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO();
                    setMistake(oneData, mistake);
                    mistake.setMistake("单元号不可为空");
                    mistakes.add(mistake);
                    continue;
                }
                vo.setUnitNo(oneData.get(9).trim());
@@ -244,6 +325,10 @@
                    importErrorVO.setErrorMsg("户室不可为空");
                    populationImportErrorVOList.add(importErrorVO);
                    index++;
                    ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO();
                    setMistake(oneData, mistake);
                    mistake.setMistake("户室不可为空");
                    mistakes.add(mistake);
                    continue;
                }
                vo.setHouseNo(oneData.get(10).trim());
@@ -261,6 +346,10 @@
                        importErrorVO.setErrorMsg("您填写的房屋状态有误");
                        populationImportErrorVOList.add(importErrorVO);
                        index++;
                        ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO();
                        setMistake(oneData, mistake);
                        mistake.setMistake("您填写的房屋状态有误");
                        mistakes.add(mistake);
                        continue;
                    }
                    vo.setHouseStatus(isOk);
@@ -273,6 +362,10 @@
                        importErrorVO.setErrorMsg("您填写的房屋用途有误");
                        populationImportErrorVOList.add(importErrorVO);
                        index++;
                        ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO();
                        setMistake(oneData, mistake);
                        mistake.setMistake("您填写的房屋用途有误");
                        mistakes.add(mistake);
                        continue;
                    }
                    vo.setHousePurpose(PopulHousePurposeEnum.getCodeByName(oneData.get(14).trim()));
@@ -285,6 +378,10 @@
                        importErrorVO.setErrorMsg("您填写的管控状态有误");
                        populationImportErrorVOList.add(importErrorVO);
                        index++;
                        ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO();
                        setMistake(oneData, mistake);
                        mistake.setMistake("您填写的管控状态有误");
                        mistakes.add(mistake);
                        continue;
                    }
                    vo.setControlStatus(isOk);
@@ -297,7 +394,20 @@
                    vo.setNativePlace(oneData.get(17).trim());
                }
                if(StringUtils.isNotEmpty(oneData.get(18))){
                    vo.setCultureLevel(PopulCultureLevelEnum.getCodeByName(oneData.get(18)));
                    Integer isOk = PopulCultureLevelEnum.getCodeByName(oneData.get(18));
                    if(isOk.equals(-1)){
                        ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO();
                        importErrorVO.setErrorPosition("第" + index + "行,第19列");
                        importErrorVO.setErrorMsg("您填写的文化程度有误");
                        populationImportErrorVOList.add(importErrorVO);
                        index++;
                        ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO();
                        setMistake(oneData, mistake);
                        mistake.setMistake("您填写的文化程度有误");
                        mistakes.add(mistake);
                        continue;
                    }
                    vo.setCultureLevel(isOk);
                }
                if(StringUtils.isNotEmpty(oneData.get(19))){
//                    String ma = convertMarriage(oneData.get(19));
@@ -309,6 +419,10 @@
                        importErrorVO.setErrorMsg("您填写的婚姻状况有误");
                        populationImportErrorVOList.add(importErrorVO);
                        index++;
                        ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO();
                        setMistake(oneData, mistake);
                        mistake.setMistake("您填写的婚姻状况有误");
                        mistakes.add(mistake);
                        continue;
                    }else{
                        vo.setMarriage(isOk);
@@ -339,6 +453,10 @@
                            importErrorVO.setErrorMsg("您填写的本地/外地有误");
                            populationImportErrorVOList.add(importErrorVO);
                            index++;
                            ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO();
                            setMistake(oneData, mistake);
                            mistake.setMistake("您填写的本地/外地有误");
                            mistakes.add(mistake);
                            continue;
                        }
                        vo.setOutOrLocal(isOk);
@@ -361,6 +479,10 @@
                        importErrorVO.setErrorMsg("您填写的人员类型有误");
                        populationImportErrorVOList.add(importErrorVO);
                        index++;
                        ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO();
                        setMistake(oneData, mistake);
                        mistake.setMistake("您填写的人员类型有误");
                        mistakes.add(mistake);
                        continue;
                    }
                    vo.setPersonType(isOk);
@@ -439,14 +561,29 @@
            List<ComMngPopulationServeExcelVO> newVoList = voList.stream().filter(ListUtils.distinctByKey(ComMngPopulationServeExcelVO::getDistinctPass)).collect(Collectors.toList());
            R r = communityService.listSavePopulationServeExcelVO(newVoList, communityId);
            if (!R.isOk(r)) {
                List<ComMngPopulationMistakeExcelVO> list = JSONArray.parseArray(JSONArray.toJSONString(r.getData()), ComMngPopulationMistakeExcelVO.class);
                String errMsg = r.getMsg();
                List<ComMngPopulationImportErrorVO> errorList = JSON.parseArray(errMsg,ComMngPopulationImportErrorVO.class);
                if(!errorList.isEmpty()){
                    populationImportErrorVOList.addAll(errorList);
                }
                mistakes.addAll(list);
                R result = mistakeExportPopulation(mistakes);
                loadUrl = (String)result.getData();
                ComMngPopulationImportErrorVO comMngPopulationImportErrorVO = new ComMngPopulationImportErrorVO();
                comMngPopulationImportErrorVO.setErrorPosition("loadUrl");
                comMngPopulationImportErrorVO.setErrorMsg(loadUrl);
                populationImportErrorVOList.add(comMngPopulationImportErrorVO);
                throw new ServiceException("500", JSON.toJSONString(populationImportErrorVOList));
            }else{
//                mistakes.addAll((List<ComMngPopulationMistakeExcelVO>)r.getData());
                R result = mistakeExportPopulation(mistakes);
                loadUrl = (String)result.getData();
                if(!populationImportErrorVOList.isEmpty()){
                    ComMngPopulationImportErrorVO comMngPopulationImportErrorVO = new ComMngPopulationImportErrorVO();
                    comMngPopulationImportErrorVO.setErrorPosition("loadUrl");
                    comMngPopulationImportErrorVO.setErrorMsg(loadUrl);
                    populationImportErrorVOList.add(comMngPopulationImportErrorVO);
                    throw new ServiceException("500", JSON.toJSONString(populationImportErrorVOList));
                }
            }
@@ -469,6 +606,96 @@
        }
    }
    private void setMistake(Map<Integer, String> map, ComMngPopulationMistakeExcelVO vo){
        vo.setName(map.get(0));
        vo.setCardNo(map.get(1));
        vo.setNation(map.get(2));
        vo.setPoliticalOutlook(map.get(3));
        vo.setIsRent(map.get(4));
        vo.setRelation(map.get(5));
        vo.setRoad(map.get(6));
        vo.setDoorNo(map.get(7));
        vo.setFloor(map.get(8));
        vo.setUnitNo(map.get(9));
        vo.setHouseNo(map.get(10));
        vo.setBuildPurpose(map.get(11));
        vo.setBuildArea(map.get(12));
        vo.setHouseStatus(map.get(13));
        vo.setHousePurpose(map.get(14));
        vo.setControlStatus(map.get(15));
        vo.setPhone(map.get(16));
        vo.setNativePlace(map.get(17));
        vo.setCultureLevel(map.get(18));
        vo.setMarriage(map.get(19));
        vo.setHealthy(map.get(20));
        vo.setBloodType(map.get(21));
        vo.setReligion(map.get(22));
        vo.setProfession(map.get(23));
        vo.setWorkCompany(map.get(24));
        vo.setOutOrLocal(map.get(25));
        vo.setCensusRegister(map.get(26));
        vo.setResidence(map.get(27));
//        vo.setAddress(map.get(28));
        vo.setPersonType(map.get(28));
        vo.setCountry(map.get(29));
        vo.setStringOfDeparture(map.get(30));
        vo.setPersonStatus(map.get(31));
        vo.setMonthlyIncome(map.get(32));
        vo.setFamilyStatus(map.get(33));
        vo.setGoalInChina(map.get(34));
        vo.setStringOfArrival(map.get(35));
        vo.setRemark(map.get(36));
        vo.setIdCardPositive(map.get(37));
        vo.setIdCardBack(map.get(38));
        vo.setHouseHold(map.get(39));
        vo.setDeath(map.get(40));
    }
    private R mistakeExportPopulation(List<ComMngPopulationMistakeExcelVO> vo) {
        //生成动态模板excel通过ftp工具上传到主节点,然后返回模板下载地址
        String ftpUrl = "/mnt/data/web/excel/";
        String name = "实有人口错误数据.xlsx";
        try {
            SFTPUtil sftp = new SFTPUtil(userName, password, host, port);
            sftp.login();
            boolean existDir = sftp.isExistDir(ftpUrl + name);
            if (!existDir) {
                String property = System.getProperty("user.dir");
                String fileName = property + File.separator + name;
                // 这里 需要指定写用哪个class去写
                ExcelWriter excelWriter = null;
                InputStream inputStream = null;
                try {
                    excelWriter = EasyExcel.write(fileName, ComMngPopulationMistakeExcelVO.class).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).registerWriteHandler(new CustomSheetWriteHandler()).build();
                    WriteSheet writeSheet = EasyExcel.writerSheet("实有人口错误数据").build();
                    excelWriter.write(vo, writeSheet);
                    excelWriter.finish();
                    File file = new File(fileName);
                    inputStream = new FileInputStream(file);
                    sftp.uploadMore(ftpUrl, name, inputStream);
                    sftp.logout();
                    inputStream.close();
                    String absolutePath = file.getAbsolutePath();
                    boolean delete = file.delete();
                    log.info("删除excel【{}】结果【{}】", absolutePath, delete);
                } finally {
                    // 千万别忘记finish 会帮忙关闭流
                    if (inputStream != null) {
                        inputStream.close();
                    }
                    if (excelWriter != null) {
                        excelWriter.finish();
                    }
                }
            }
            return R.ok(excelUrl + name);
        } catch (Exception e) {
            e.printStackTrace();
            log.error("文件传输失败【{}】", e.getMessage());
            return R.fail();
        }
    }
    private String convertMarriage(String ma) {
        if(Objects.equals("已",ma) || Objects.equals("一",ma)){
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/api/GridMemberPageListDTO.java
New file
@@ -0,0 +1,50 @@
package com.panzhihua.common.model.dtos.api;
import lombok.Data;
/**
 * program 攀枝花智慧社区项目
 * description 浪潮网格员接口返回对象
 *
 * @author manailin
 * Date 2021-06-22 15:30
 **/
@Data
public class GridMemberPageListDTO {
    private String bindUserId;
    private String bindUserName;
    private String birthDate;
    private String contactPhone;
    private String createBy;
    private String createTime;
    private String dutyType;
    private String educationCode;
    private String educationName;
    private String genderCode;
    private String genderName;
    private String gridDutyId;
    private String gridDutyName;
    private String id;
    private String imei;
    private Integer isLeader;
    private Integer jobNum;
    private String lastReportTime;
    private String latitude;
    private String locateUpdateTime;
    private String longitude;
    private String name;
    private String nationCode;
    private String nationName;
    private String orgDuty;
    private String orgDutyDate;
    private String orgId;
    private String orgName;
    private String password;
    private String politicalAffiliationCode;
    private String politicalAffiliationName;
    private String standbyPhone;
    private String updateBy;
    private String updateTime;
    private String workState;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComMngPopulationHouseEditDTO.java
@@ -16,18 +16,18 @@
    @ApiModelProperty("实有房屋id")
    private Long id;
    @ApiModelProperty(value = "是否是居住地(1.是 2.否)")
    @ApiModelProperty(value = "是否是居住地(1.是 0.否)")
    private Integer isResidence;
    @ApiModelProperty("与户主关系")
    private Integer relation;
    /**
     * 是否是居住地(1.是 2.否)
     * 是否是居住地(1.是 0.否)
     */
    public interface isResidence{
        int yes = 1;
        int no = 2;
        int no = 0;
    }
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComSwDangerReportHandleDTO.java
New file
@@ -0,0 +1,64 @@
package com.panzhihua.common.model.dtos.community;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
 *  隐患报告处理DTO
 */
@Data
@ApiModel("隐患报告处理DTO")
public class ComSwDangerReportHandleDTO implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 隐患报告id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty("隐患报告id")
    private Long dangerReportId;
    /**
     * 社区id
     */
    @ApiModelProperty("社区id")
    private Long communityId;
    /**
     * 社区处理建议
     */
    @ApiModelProperty("社区处理建议")
    private String communitySuggestion;
    /**
     * 街道安全人员管理建议
     */
    @ApiModelProperty("街道安全人员管理建议")
    private String streetSuggestion;
    /**
     * 承办记录
     */
    @ApiModelProperty("承办记录")
    private String undertakeRecord;
    /**
     * 领导意见
     */
    @ApiModelProperty("领导意见")
    private String leaderSuggestion;
    /**
     * 指派人员
     */
    @ApiModelProperty("指派人员")
    private String assignPerson;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComSwDangerReportRectifyDTO.java
New file
@@ -0,0 +1,49 @@
package com.panzhihua.common.model.dtos.community;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
 *  隐患报告整改DTO
 */
@Data
@ApiModel("隐患报告整改DTO")
public class ComSwDangerReportRectifyDTO implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 隐患报告id
     */
    @ApiModelProperty("隐患报告id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long dangerReportId;
    /**
     * 社区id
     */
    @ApiModelProperty("社区id")
    private Long communityId;
    /**
     * 采取措施
     */
    @ApiModelProperty("采取措施")
    private String takeSteps;
    /**
     * 采取措施照片
     */
    @ApiModelProperty("采取措施照片")
    private String stepsPhoto;
    /**
     * 整改人员
     */
    @ApiModelProperty("整改人员")
    private String rectifyPerson;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComSwPatrolRecordAddDTO.java
New file
@@ -0,0 +1,201 @@
package com.panzhihua.common.model.dtos.community;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
 * @auther txb
 * @create 2021-07-23 14:38:38
 * @describe 社区》安全工作》巡查记录实体类
 */
@Data
@ApiModel("新增巡查记录DTO")
public class ComSwPatrolRecordAddDTO implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 社区id
     */
    @ApiModelProperty("社区id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long communityId;
    /**
     * 巡查时间
     */
    @ApiModelProperty("巡查时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date PatrolTime;
    /**
     * 天气
     */
    @ApiModelProperty("天气")
    private String weather;
    /**
     * 温度
     */
    @ApiModelProperty("温度")
    private String temperature;
    /**
     * 风
     */
    @ApiModelProperty("风")
    private String wind;
    /**
    * (取字典表国家标准编码)巡查类型(1.防火巡查2.防汛巡查3.防疫巡查)
    */
    @ApiModelProperty("巡查类型(1.防火巡查2.防汛巡查3.防疫巡查),多条以逗号隔开")
    private String patrolType;
    /**
    * 巡查领导
    */
    @ApiModelProperty("巡查领导")
    private String patrolLeader;
    /**
    * 巡查人员
    */
    @ApiModelProperty("巡查人员")
    private String patrolPerson;
    /**
     * 巡查地址
     */
    @ApiModelProperty("巡查地址")
    private String address;
    /**
    * 巡查记录
    */
    @ApiModelProperty("巡查记录")
    private String recordContent;
    /**
    * 发现记录
    */
    @ApiModelProperty("发现记录")
    private String findRecord;
    /**
    * 记录照片
    */
    @ApiModelProperty("记录照片")
    private String recordPhoto;
    /**
    * 备注
    */
    @ApiModelProperty("备注")
    private String remark;
    /**
    * 接班领导
    */
    @ApiModelProperty("接班领导")
    private String successionLeader;
    /**
    * 接班人员
    */
    @ApiModelProperty("接班人员")
    private String successionPerson;
    /**
    * 接班时间
    */
    @ApiModelProperty("接班时间")
    private Date successionTime;
    /**
    * 是否存在隐患(1是 、0否)
    */
    @ApiModelProperty("是否存在隐患(1是 、0否)")
    private Integer isHiddenDanger;
    /**
    * 隐患名称
    */
    @ApiModelProperty("隐患名称")
    private String dagerName;
    /**
    * 排查时间
    */
    @ApiModelProperty("排查时间")
    private Date checkTime;
    /**
    * 主体部门、单位或个人全称
    */
    @ApiModelProperty("主体部门、单位或个人全称")
    private String unitName;
    /**
    * 隐患简述
    */
    @ApiModelProperty("隐患简述")
    private String dagerDescription;
    /**
    * 是否立即整改(1是 、0否)
    */
    @ApiModelProperty("是否立即整改(1是 、0否)")
    private Integer isRectifyImmediately;
    /**
    * 采取措施
    */
    @ApiModelProperty("采取措施")
    private String takeSteps;
    /**
    * 采取措施照片
    */
    @ApiModelProperty("采取措施照片")
    private String stepsPhoto;
    /**
    * 整改人员
    */
    @ApiModelProperty("整改人员")
    private String rectifyPerson;
    /**
     * 创建人
     */
    @ApiModelProperty("创建人")
    private Long createBy;
    /**
     * 巡查类型
     */
    public interface patrolType{
        int huo = 1;
        int xun = 2;
        int yi = 3;
    }
    /**
     * 是否
     */
    public interface isOk{
        int yes = 1;
        int no = 0;
    }
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComSwPatrolRecordPageDTO.java
File was renamed from springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComSwPatrolRecordDTO.java
@@ -5,6 +5,7 @@
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.panzhihua.common.model.helper.encrypt.EncryptQuery;
import com.panzhihua.common.model.helper.encrypt.EncryptQueryClass;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -12,10 +13,11 @@
import java.util.Date;
/**
 *  巡查记录DTO
 *  分页查询巡查记录DTO
 */
@Data
public class ComSwPatrolRecordDTO implements Serializable {
@ApiModel("分页查询巡查记录DTO")
public class ComSwPatrolRecordPageDTO implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
@@ -47,8 +49,8 @@
    /**
     * (取字典表国家标准编码)巡查类型(1.防火巡查2.防汛巡查3.防疫巡查)
     */
    @ApiModelProperty("巡查类型(1.防火巡查2.防汛巡查3.防疫巡查)")
    private Integer patrolType;
    @ApiModelProperty("巡查类型(1.防火巡查2.防汛巡查3.防疫巡查),多条以逗号隔开")
    private String patrolType;
    /**
     * 巡查人员
@@ -56,4 +58,16 @@
    @ApiModelProperty("巡查人员")
    private String patrolPerson;
    /**
     * 状态(1.待查看 2.待处理 3.待整改 4.已整改)
     */
    @ApiModelProperty("状态(1.待处理 2.待整改 3.已整改)")
    private String status;
    /**
     * 查看人(1.全部 2.只看我的)
     */
    @ApiModelProperty("查看人(1.全部 2.只看我的)")
    private Integer selectPerson;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/EventGridDataAddAdminDTO.java
@@ -55,7 +55,10 @@
    private Long gridCommunityId;
    @ApiModelProperty(value = "市平台网格关联id", hidden = false, example = "")
    private Long lcGridId;
    private String lcGridId;
    @ApiModelProperty(value = "市平台网格关联名称", hidden = false, example = "")
    private String lcGridName;
    @ApiModelProperty(value = "当前登录用户id", hidden = true, example = "1")
    private Long userId;
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/EventGridDataEditAdminDTO.java
@@ -58,7 +58,10 @@
    private Long userId;
    @ApiModelProperty(value = "市平台网格关联id", hidden = false, example = "")
    private Long lcGridId;
    private String lcGridId;
    @ApiModelProperty(value = "市平台网格关联名称", hidden = false, example = "")
    private String lcGridName;
    @ApiModelProperty(value = "网格所属社区ID", hidden = false, example = "1")
    private Long gridCommunityId;
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/EventGridMemberAddDTO.java
@@ -77,7 +77,13 @@
    private Long gridMemberId;
    @ApiModelProperty(value = "市平台网格员关联id")
    private Long lcMemberId;
    private String lcMemberId;
    @ApiModelProperty(value = "市平台网格员关联名称")
    private String lcMemberName;
    @ApiModelProperty(value = "市平台网格员关联用户id")
    private String lcBindUserId;
    @ApiModelProperty(value = "楼栋id集合")
    private List<Long> buildingIds;
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/EventGridMemberEditAdminDTO.java
@@ -68,7 +68,13 @@
    private Long gridMemberId;
    @ApiModelProperty(value = "市平台网格员关联id")
    private Long lcMemberId;
    private String lcMemberId;
    @ApiModelProperty(value = "市平台网格员关联名称")
    private String lcMemberName;
    @ApiModelProperty(value = "市平台网格员关联用户id")
    private String lcBindUserId;
    @ApiModelProperty(value = "楼栋id集合")
    private List<Long> buildingIds;
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/grid/admin/LcGridMemberDTO.java
New file
@@ -0,0 +1,31 @@
package com.panzhihua.common.model.dtos.grid.admin;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * 创建表单
 *
 * @author cedoo email:cedoo(a)qq.com
 * @version 1.0
 * @since 1.0
 * @date 2021-05-26
 * */
@Data
@ApiModel("修改网格员状态请求参数")
public class LcGridMemberDTO {
    @ApiModelProperty(value = "分页-当前页数",example = "1")
    private Long pageNum = 1L;
    @ApiModelProperty(value = "分页-每页记录数",example = "10")
    private Long pageSize = 10L;
    @ApiModelProperty(value = "工号或者名字", example = "")
    private String param;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComMngPopulationMistakeExcelVO.java
New file
@@ -0,0 +1,148 @@
package com.panzhihua.common.model.vos.community;
import com.alibaba.excel.annotation.ExcelProperty;
import com.google.common.collect.Lists;
import com.panzhihua.common.model.helper.encrypt.EncryptDecryptClass;
import com.panzhihua.common.model.helper.encrypt.EncryptDecryptField;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
 * @description: 批量导入实有人口
 * @author: llming
 */
@Data
@EncryptDecryptClass
public class ComMngPopulationMistakeExcelVO implements Serializable {
    @ExcelProperty(value = "姓名", index = 0)
    private String name;
    @EncryptDecryptField
    private String cardNo;
    @ExcelProperty(value = "民族", index = 2)
    private String nation;
    @ExcelProperty(value = "政治面貌(群众/中共党员/共青团员)", index = 3)
    private String politicalOutlook;
    @ExcelProperty(value = "是否租住", index = 4)
    private String isRent;
    @ExcelProperty(value = "与户主关系(户主/配偶/子女/孙女/父母/其他)", index = 5)
    private String relation;
    @ExcelProperty(value = "街/路/巷", index = 6)
    private String road;
    @ExcelProperty(value = "小区号(政府对于每个小区都有特定编号)", index = 7)
    private String doorNo;
    @ExcelProperty(value = "楼排号", index = 8)
    private String floor;
    @ExcelProperty(value = "单元号", index = 9)
    private String unitNo;
    @ExcelProperty(value = "户室(四位数表示。前两位楼层,后两位户号)", index = 10)
    private String houseNo;
    @ExcelProperty(value = "建筑用途", index = 11)
    private String buildPurpose;
    @ExcelProperty(value = "建筑面积", index = 12)
    private String buildArea;
    @ExcelProperty(value = "房屋状态(自住/租住/其他)", index = 13)
    private String houseStatus;
    @ExcelProperty(value = "房屋用途(住宅/公寓/宿舍/仓库/其他)", index = 14)
    private String housePurpose;
    @ExcelProperty(value = "管控状态(常规/关注/管控)", index = 15)
    private String controlStatus;
    @ExcelProperty(value = "联系方式", index = 16)
    private String phone;
    @ExcelProperty(value = "籍贯", index = 17)
    private String nativePlace;
    @ExcelProperty(value = "文化程度(1.小学 2.初中 3.高中 4.中专 5.大专 6.本科 7.硕士 8.博士 9.其他)", index = 18)
    private String cultureLevel;
    @ExcelProperty(value = "婚姻状况(1.未婚 2.已婚 3.离异 4.丧偶 5.分居 6.其他)", index = 19)
    private String marriage;
    @ExcelProperty(value = "健康状况", index = 20)
    private String healthy;
    @ExcelProperty(value = "血型", index = 21)
    private String bloodType;
    @ExcelProperty(value = "宗教信仰", index = 22)
    private String religion;
    @ExcelProperty(value = "职业", index = 23)
    private String profession;
    @ExcelProperty(value = "工作单位/学校", index = 24)
    private String workCompany;
    @ExcelProperty(value = "本地/外地", index = 25)
    private String outOrLocal;
    @ExcelProperty(value = "户口所在地", index = 26)
    private String censusRegister;
    @ExcelProperty(value = "是否居住地(是/否)", index = 27)
    private String residence;
//    @ExcelProperty(value = "居住地址", index = 28)
//    private String address;
    @ExcelProperty(value = "人员类型(户籍人员/留守人员/外地人员/境外人员)", index = 28)
    private String personType;
    @ExcelProperty(value = "国家", index = 29)
    private String country;
    @ExcelProperty(value = "离开日期(境外人员填写)", index = 30)
    private String StringOfDeparture;
    @ExcelProperty(value = "人员状态(正常/失联/出国)", index = 31)
    private String personStatus;
    @ExcelProperty(value = "月收入情况", index = 32)
    private String monthlyIncome;
    @ExcelProperty(value = "家庭情况", index = 33)
    private String familyStatus;
    @ExcelProperty(value = "来华目的(境外人员填写)", index = 34)
    private String goalInChina;
    @ExcelProperty(value = "抵达日期(境外人员填写)", index = 35)
    private String StringOfArrival;
    @ExcelProperty(value = "备注", index = 36)
    private String remark;
    @ExcelProperty(value = "证件照(人面像)照片", index = 37)
    private String idCardPositive;
    @ExcelProperty(value = "证件照(国徽面)照片", index = 38)
    private String idCardBack;
    @ExcelProperty(value = "户口本照片", index = 39)
    private String houseHold;
    @ExcelProperty(value = "是否死亡(是/否)", index = 40)
    private String death;
    @ExcelProperty(value = "错误信息", index = 41)
    private String mistake;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComMngPopulationServeExcelVO.java
@@ -172,6 +172,9 @@
    @ExcelProperty(value = "特殊情况(重大病史/孕)(是/否)", index = 49)
    private Integer specialCase;
    @ExcelProperty(value = "错误信息", index = 50)
    private Integer mistake;
    /**
     * 去重字段,使用(姓名+身份证号+街路巷+小区号+楼牌号+单元号+户室)组合字段进行MD5加密实现去重
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwDangerReportExcelVO.java
New file
@@ -0,0 +1,59 @@
package com.panzhihua.common.model.vos.community;
import com.alibaba.excel.annotation.ExcelProperty;
import com.panzhihua.common.model.helper.encrypt.EncryptDecryptClass;
import com.panzhihua.common.model.helper.encrypt.EncryptDecryptField;
import lombok.Data;
import java.io.Serializable;
/**
 * @description: 批量导出隐患报告台账管理
 * @author: Null
 * @date: 2021/7/28 17:11
 */
@Data
public class ComSwDangerReportExcelVO implements Serializable {
    /**
     * 小区名称
     */
    @ExcelProperty(value = "安全隐患地址" ,index = 0)
    private String address;
    /**
     * 隐患简述
     */
    @ExcelProperty(value = "隐患简述" ,index = 1)
    private String dagerDescription;
    /**
     * 隐患类型
     */
    @ExcelProperty(value = "隐患类型" ,index = 2)
    private String dangerType;
    /**
     * 风险等级
     */
    @ExcelProperty(value = "风险等级" ,index = 3)
    private String dangerLevel;
    /**
     * 巡查人员
     */
    @ExcelProperty(value = "巡查人员" ,index = 4)
    private String patrolPerson;
    /**
     * 联系电话
     */
    @ExcelProperty(value = "联系电话" ,index = 5)
    private String patrolPersonPhone;
    /**
     * 备注
     */
    @ExcelProperty(value = "备注" ,index = 6)
    private String remark;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwDangerReportVO.java
New file
@@ -0,0 +1,267 @@
package com.panzhihua.common.model.vos.community;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
 * @auther txb
 * @create 2021-07-23 14:38:38
 * @describe 社区》安全工作》巡查记录实体类
 */
@Data
@ApiModel("隐患报告表")
public class ComSwDangerReportVO implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 隐患报告id
     */
    @ApiModelProperty("隐患报告id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;
    /**
     * 社区id
     */
    @ApiModelProperty("社区id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long communityId;
    /**
     * 巡查时间
     */
    @ApiModelProperty("巡查时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date PatrolTime;
    /**
     * 天气
     */
    @ApiModelProperty("天气")
    private String weather;
    /**
     * 温度
     */
    @ApiModelProperty("温度")
    private String temperature;
    /**
     * 风
     */
    @ApiModelProperty("风")
    private String wind;
    /**
    * (取字典表国家标准编码)巡查类型(1.防火巡查2.防汛巡查3.防疫巡查)
    */
    @ApiModelProperty("巡查类型(1.防火巡查2.防汛巡查3.防疫巡查),多条以逗号隔开")
    private String patrolType;
    /**
    * 巡查人员,多个以逗号隔开
    */
    @ApiModelProperty("巡查人员,多个以逗号隔开")
    private String patrolPerson;
    /**
     * 巡查人员联系电话,多个以逗号隔开
     */
    @ApiModelProperty("巡查人员联系电话,多个以逗号隔开")
    private String patrolPersonPhone;
    /**
     * 巡查地址
     */
    @ApiModelProperty("巡查地址")
    private String address;
    /**
    * 巡查记录
    */
    @ApiModelProperty("巡查记录")
    private String recordContent;
    /**
    * 发现记录
    */
    @ApiModelProperty("发现记录")
    private String findRecord;
    /**
    * 记录照片
    */
    @ApiModelProperty("记录照片")
    private String recordPhoto;
    /**
    * 备注
    */
    @ApiModelProperty("备注")
    private String remark;
    /**
    * 隐患名称
    */
    @ApiModelProperty("隐患名称")
    private String dagerName;
    /**
    * 排查时间
    */
    @ApiModelProperty("排查时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date checkTime;
    /**
    * 主体部门、单位或个人全称
    */
    @ApiModelProperty("主体部门、单位或个人全称")
    private String unitName;
    /**
    * 隐患简述
    */
    @ApiModelProperty("隐患简述")
    private String dagerDescription;
    /**
     * 隐患编号
     */
    @ApiModelProperty("隐患编号")
    private Integer dangerNo;
    /**
     * 隐患类型(1.火灾隐患 2.汛情隐患 3.疫情隐患)
     */
    @ApiModelProperty("隐患类型(1.火灾隐患 2.汛情隐患 3.疫情隐患)")
    private String dangerType;
    /**
     * 状态(1.待查看 2.待处理 3.待整改 4.已整改)
     */
    @ApiModelProperty("状态(1.待处理 2.待整改 3.已整改)")
    private String status;
    /**
     * 风险等级(1.红色预警 2.橙色预警 3.黄色预警 4.蓝色预警)
     */
    @ApiModelProperty("风险等级(1.红色预警 2.橙色预警 3.黄色预警 4.蓝色预警)")
    private String dangerLevel;
    /**
    * 采取措施
    */
    @ApiModelProperty("采取措施")
    private String takeSteps;
    /**
    * 采取措施照片
    */
    @ApiModelProperty("采取措施照片")
    private String stepsPhoto;
    /**
    * 整改人员
    */
    @ApiModelProperty("整改人员")
    private String rectifyPerson;
    /**
     * 整改人员联系电话,多个以逗号隔开
     */
    @ApiModelProperty("整改人员联系电话,多个以逗号隔开")
    private String rectifyPersonPhone;
    /**
     * 整改时间
     */
    @ApiModelProperty("整改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date rectifyTime;
    /**
     * 社区处理建议
     */
    @ApiModelProperty("社区处理建议")
    private String communitySuggestion;
    /**
     * 街道安全人员管理建议
     */
    @ApiModelProperty("街道安全人员管理建议")
    private String streetSuggestion;
    /**
     * 承办记录
     */
    @ApiModelProperty("承办记录")
    private String undertakeRecord;
    /**
     * 领导意见
     */
    @ApiModelProperty("领导意见")
    private String leaderSuggestion;
    /**
     * 指派人员
     */
    @ApiModelProperty("指派人员")
    private String assignPerson;
    /**
    * 创建时间
    */
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createAt;
    /**
    * 更新时间
    */
    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateAt;
    /**
     * 创建人
     */
    @ApiModelProperty("创建人")
    private Long createBy;
    /**
     * 是否指派
     */
    @ApiModelProperty("是否指派(1.是 0.否)")
    private Integer isAssign;
    /**
     * 巡查类型
     */
    public interface patrolType{
        int huo = 1;
        int xun = 2;
        int yi = 3;
    }
    /**
     * 是否
     */
    public interface isOk{
        int yes = 1;
        int no = 0;
    }
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwPatrolRecordStatisticsVO.java
New file
@@ -0,0 +1,35 @@
package com.panzhihua.common.model.vos.community;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * 巡查记录统计返回参数
 */
@Data
@ApiModel("巡查记录统计返回参数")
public class ComSwPatrolRecordStatisticsVO {
    /**
     * 巡查记录总数
     */
    @ApiModelProperty("巡查记录总数")
    private Long patrolRecordTotal;
    /**
     * 防火巡查
     */
    @ApiModelProperty("防火巡查")
    private Integer localTotal;
    /**
     * 防汛巡查
     */
    @ApiModelProperty("防汛巡查")
    private Integer outTotal;
    /**
     * 防疫巡查
     */
    @ApiModelProperty("防疫巡查")
    private Integer specialTotal;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwPatrolRecordVO.java
@@ -49,7 +49,7 @@
     */
    @ApiModelProperty("巡查时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date PatrolTime;
    private Date patrolTime;
    /**
     * 天气
@@ -72,8 +72,8 @@
    /**
    * (取字典表国家标准编码)巡查类型(1.防火巡查2.防汛巡查3.防疫巡查)
    */
    @ApiModelProperty("巡查类型(1.防火巡查2.防汛巡查3.防疫巡查)")
    private Integer patrolType;
    @ApiModelProperty("巡查类型(1.防火巡查2.防汛巡查3.防疫巡查),多条以逗号隔开")
    private String patrolType;
    /**
    * 巡查领导
@@ -210,6 +210,12 @@
    private Long createBy;
    /**
     * 安全记录/隐患报告显示按钮
     */
    @ApiModelProperty("安全记录/隐患报告显示按钮(1.查看安全工作记录 2.隐患报告待填写 3.查看隐患报告)")
    private Integer displayButton;
    /**
     * 巡查类型
     */
    public interface patrolType{
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwSafetyWorkRecordVO.java
New file
@@ -0,0 +1,135 @@
package com.panzhihua.common.model.vos.community;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
 * @auther txb
 * @create 2021-07-23 14:38:38
 * @describe 社区》安全工作》巡查记录实体类
 */
@Data
@ApiModel("安全工作记录表")
public class ComSwSafetyWorkRecordVO implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 安全工作记录id
     */
    @ApiModelProperty("巡查记录id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;
    /**
     * 社区id
     */
    @ApiModelProperty("社区id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long communityId;
    /**
     * 巡查时间
     */
    @ApiModelProperty("巡查时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date PatrolTime;
    /**
     * 天气
     */
    @ApiModelProperty("天气")
    private String weather;
    /**
     * 温度
     */
    @ApiModelProperty("温度")
    private String temperature;
    /**
     * 风
     */
    @ApiModelProperty("风")
    private String wind;
    /**
    * (取字典表国家标准编码)巡查类型(1.防火巡查2.防汛巡查3.防疫巡查)
    */
    @ApiModelProperty("巡查类型(1.防火巡查2.防汛巡查3.防疫巡查),多条以逗号隔开")
    private String patrolType;
    /**
    * 巡查人员
    */
    @ApiModelProperty("巡查人员")
    private String patrolPerson;
    /**
     * 巡查地址
     */
    @ApiModelProperty("巡查地址")
    private String address;
    /**
    * 巡查记录
    */
    @ApiModelProperty("巡查记录")
    private String recordContent;
    /**
    * 发现记录
    */
    @ApiModelProperty("发现记录")
    private String findRecord;
    /**
    * 记录照片
    */
    @ApiModelProperty("记录照片")
    private String recordPhoto;
    /**
    * 备注
    */
    @ApiModelProperty("备注")
    private String remark;
    /**
    * 创建时间
    */
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createAt;
    /**
    * 更新时间
    */
    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateAt;
    /**
     * 创建人
     */
    @ApiModelProperty("创建人")
    private Long createBy;
    /**
     * 巡查类型
     */
    public interface patrolType{
        int huo = 1;
        int xun = 2;
        int yi = 3;
    }
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/grid/GridMemberVO.java
@@ -32,7 +32,11 @@
    @ApiModelProperty(value = "网格员上班结束时间")
    private Integer workEndTime;
    @ApiModelProperty(value = "市平台网格员关联id")
    private Long lcMemberId;
    private String lcMemberId;
    @ApiModelProperty(value = "市平台网格员关联名称")
    private String lcMemberName;
    @ApiModelProperty(value = "浪潮网格员绑定的用户ID")
    private String lcBindUserId;
    @ApiModelProperty(value = "网格员关联楼栋信息")
    private List<GridMemberBuildingVO> memberBuildingList;
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/grid/admin/GridMemberLcListVO.java
@@ -17,5 +17,7 @@
    private String lcGridMemberId;
    @ApiModelProperty(value = "市平台网格员名称")
    private String lcGridMemberName;
    @ApiModelProperty(value = "浪潮网格员绑定的用户ID")
    private String lcBindUserId;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/grid/admin/excel/GridMemberWorkExportExcelVO.java
New file
@@ -0,0 +1,71 @@
package com.panzhihua.common.model.vos.grid.admin.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.panzhihua.common.model.helper.encrypt.EncryptDecryptClass;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
 * 网格员工作汇总Excel导出
 */
@Data
@ApiModel("网格员工作汇总Excel导出")
public class GridMemberWorkExportExcelVO implements Serializable {
    @ExcelProperty(value = "网格员名称" ,index = 0)
    private String nickName;
    @ExcelProperty(value = "发布突发事件" ,index = 1)
    private Integer addTFTotal;
    @ExcelProperty(value = "处理突发事件" ,index = 2)
    private Integer handleTFTotal;
    @ExcelProperty(value = "发布矛盾纠纷" ,index = 3)
    private Integer addMDTotal;
    @ExcelProperty(value = "处理矛盾纠纷" ,index = 4)
    private Integer handleMDTotal;
    @ExcelProperty(value = "发布治安隐患" ,index = 5)
    private Integer addZATotal;
    @ExcelProperty(value = "小区名字" ,index = 6)
    private Integer handleZATotal;
    @ExcelProperty(value = "发布不稳定因素" ,index = 7)
    private Integer addBWDTotal;
    @ExcelProperty(value = "处理不稳定因素" ,index = 8)
    private Integer handleBWDTotal;
    @ExcelProperty(value = "发布公共服务" ,index = 9)
    private Integer addGGTotal;
    @ExcelProperty(value = "处理公共服务" ,index = 10)
    private Integer handleGGTotal;
    @ExcelProperty(value = "发布特殊人群" ,index = 11)
    private Integer addTSTotal;
    @ExcelProperty(value = "处理特殊人群" ,index = 12)
    private Integer handleTSTotal;
    @ExcelProperty(value = "完成走访任务" ,index = 13)
    private Integer handleZFTotal;
    @ExcelProperty(value = "处理随手拍" ,index = 14)
    private Integer easyPhotoTotal;
    @ExcelProperty(value = "发布宣传教育" ,index = 15)
    private Integer propagandaEducationTotal;
    @ExcelProperty(value = "新增居民数" ,index = 16)
    private Integer addResidentTotal = 0;
    @ExcelProperty(value = "新增实有房屋数" ,index = 17)
    private Integer addHouseTotal = 0;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/api/ApiServiceFeign.java
@@ -72,4 +72,16 @@
    @ApiOperation(value = "自动上传重点人员和流动人员走访记录")
    @GetMapping("lc/auto/upload/visit_record")
    void automationUploadVisitRecord();
    @ApiOperation(value = "获取所有或者根据姓名和工号查询,分页")
    @GetMapping("lc/event/getGridMemberListByAreaIdOrName")
    R getGridMemberListByAreaIdOrName(@RequestParam("areaId") String areaId,@RequestParam("param") String param,@RequestParam("pageNum") Long pageNum,@RequestParam("pageSize") Long pageSize);
    @ApiOperation(value = "获取指定区域网格树形列表,不包括具体的网格数据")
    @GetMapping("lc/grid/tree")
    R getGridTreeByAreaId(@RequestParam("areaId") String areaId);
    @ApiOperation(value = "获取指定区域网格列表")
    @GetMapping("lc/grid/list")
    R getGridDataListByAreaId(@RequestParam("areaId") String areaId);
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -42,6 +42,7 @@
import com.panzhihua.common.model.vos.shop.ShopStoreVO;
import com.panzhihua.common.model.vos.user.UserElectronicFileVO;
import com.panzhihua.common.model.vos.user.UserPhoneVO;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
@@ -117,7 +118,7 @@
     * @return 详情
     */
    @PostMapping("detailactivity")
    R detailActivity(@RequestParam("id") Long id, @RequestParam("userId") Long userId);
    R detailActivity(@RequestParam("id") Long id, @RequestParam(value = "userId",required = false) Long userId);
    /**
     * 分页活动报名名单
@@ -3730,9 +3731,113 @@
    /**
     * 分页查询巡查记录
     * @param comSwPatrolRecordDTO 查询参数
     * @param comSwPatrolRecordPageDTO 查询参数
     * @return 分页集合
     */
    @PostMapping("/patrolRecor/page")
    R pagePatrolRecord(@RequestBody ComSwPatrolRecordDTO comSwPatrolRecordDTO);
    @PostMapping("/patrolRecord/page")
    R pagePatrolRecord(@RequestBody ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO);
    /**
     * 新增巡查记录
     * @param comSwPatrolRecordAddDTO 新增参数
     * @return 新增结果
     */
    @PostMapping("/patrolRecord/addPatrolRecord")
    R addPatrolRecord(@RequestBody ComSwPatrolRecordAddDTO comSwPatrolRecordAddDTO);
    /**
     * 根据巡查记录id查询详情
     *
     * @param patrolRecordId 巡查记录id
     * @return 巡查记录详情查询结果
     */
    @PostMapping("/patrolRecord/detail")
    R detailPatrolRecord(@RequestParam("patrolRecordId") Long patrolRecordId);
    /**
     * 分页查询安全工作记录
     * @param comSwPatrolRecordPageDTO 查询参数
     * @return 安全工作记录分页集合
     */
    @PostMapping("/patrolRecord/safetyWorkRecord/page")
    R pageSafetyWorkRecord(@RequestBody ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO);
    /**
     * 根据安全工作记录id查询详情
     *
     * @param safetyWorkRecordId 安全工作记录
     * @return 安全工作记录详情查询结果
     */
    @PostMapping("/patrolRecord/safetyWorkRecord/detail")
    R detailSafetyWorkRecord(@RequestParam(value = "safetyWorkRecordId") Long safetyWorkRecordId);
    /**
     * 根据巡查记录id查询安全工作记录详情
     *
     * @param patrolRecordId 巡查记录id
     * @return 安全工作记录详情查询结果
     */
    @PostMapping("/patrolRecord/safetyWorkRecord/detailByPrId")
    R detailSafetyWorkRecordByPrId(@RequestParam(value = "patrolRecordId") Long patrolRecordId);
    /**
     * 分页查询隐患报告
     * @param comSwPatrolRecordPageDTO 查询参数
     * @return 隐患报告分页集合
     */
    @PostMapping("/patrolRecord/dangerReport/page")
    R pageDangerReport(@RequestBody ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO);
    /**
     * 根据隐患报告id查询详情
     *
     * @param dangerReportId 隐患报告id
     * @return 隐患报告详情查询结果
     */
    @PostMapping("/patrolRecord/dangerReport/detail")
    R detailDangerReport(@RequestParam(value = "dangerReportId") Long dangerReportId);
    /**
     * 根据巡查记录id查询隐患报告详情
     *
     * @param patrolRecordId 巡查记录id
     * @return 隐患报告详情查询结果
     */
    @PostMapping("/patrolRecord/dangerReport/detailByPrId")
    R detailDangerReportByPrId(@RequestParam(value = "patrolRecordId") Long patrolRecordId);
    /**
     * 处理隐患报告
     *
     * @param comSwDangerReportHandleDTO 隐患报告处理参数
     * @return 处理结果
     */
    @PostMapping("/patrolRecord/dangerReport/handle")
    R handleDangerReport(@RequestBody ComSwDangerReportHandleDTO comSwDangerReportHandleDTO);
    /**
     * 整改隐患报告
     *
     * @param comSwDangerReportRectifyDTO 隐患报告整改参数
     * @return 整改结果
     */
    @PostMapping("/patrolRecord/dangerReport/rectify")
    R rectifyDangerReport(@RequestBody ComSwDangerReportRectifyDTO comSwDangerReportRectifyDTO);
    /**
     * 隐患报告台账导出
     *
     * @param dangerReportIds
     * @return
     */
    @PostMapping("/patrolRecord/dangerReport/export")
    R exportDangerReport(@RequestBody List<Long> dangerReportIds);
    /**
     * 巡查记录统计接口
     *
     * @return 统计结果
     */
    @PostMapping("/patrolRecord/statistics")
    R patrolRecordStatistics(@RequestParam(value = "communityId") Long communityId);
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/grid/GridService.java
@@ -956,7 +956,7 @@
     * @return 网格统计数据
     */
    @PostMapping("/statistics/getGridEventStatistics")
    R getGridEventStatisticsByApp(@RequestParam("gridId") Long gridId);
    R getGridEventStatisticsByApp(@RequestParam("gridId") Long gridId,@RequestParam("userId") Long userId);
    /**
     * 查询网格事件统计数据
@@ -1257,4 +1257,12 @@
     */
    @GetMapping("/screen/village/statistics")
    R civilVillageStatistics(@RequestParam("villageId") Long villageId);
    /**
     * 查询所有网格员工作汇总数据
     * @param statisticsAdminDTO    请求参数
     * @return  网格员工作汇总数据
     */
    @PostMapping("/statistics/admin/gridMemberStatisticsAll")
    R gridMemberStatisticsAll(@RequestBody MemberStatisticsAdminDTO statisticsAdminDTO);
}
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComSwPatrolRecordApi.java
@@ -1,18 +1,32 @@
package com.panzhihua.community_backstage.api;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import com.alibaba.fastjson.JSONArray;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.model.dtos.community.ComSwPatrolRecordDTO;
import com.panzhihua.common.model.dtos.community.ComSwDangerReportHandleDTO;
import com.panzhihua.common.model.dtos.community.ComSwPatrolRecordAddDTO;
import com.panzhihua.common.model.dtos.community.ComSwPatrolRecordPageDTO;
import com.panzhihua.common.model.dtos.community.ExportComMngCarExcelDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.*;
import com.panzhihua.common.service.community.CommunityService;
import com.panzhihua.common.utlis.SFTPUtil;
import com.panzhihua.community_backstage.excel.CustomSheetWriteHandler;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.List;
/**
 * @auther txb
@@ -28,17 +42,216 @@
    @Resource
    private CommunityService communityService;
    // FTP 登录用户名
    @Value("${ftp.username}")
    private String userName;
    // FTP 登录密码
    @Value("${ftp.password}")
    private String password;
    // FTP 服务器地址IP地址
    @Value("${ftp.host}")
    private String host;
    // FTP 端口
    @Value("${ftp.port}")
    private int port;
    @Value("${excel.userurl}")
    private String excelUrl;
    /**
     * 分页查询巡查记录
     * @param comSwPatrolRecordDTO 查询参数
     * @param comSwPatrolRecordPageDTO 查询参数
     * @return 分页集合
     */
    @ApiOperation(value = "分页查询巡查记录")
    @ApiOperation(value = "分页查询巡查记录", response = ComSwPatrolRecordVO.class)
    @PostMapping("/pagePatrolRecord")
    public R pagePatrolRecord(@RequestBody ComSwPatrolRecordDTO comSwPatrolRecordDTO){
    public R pagePatrolRecord(@RequestBody ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO){
        Long communityId = this.getCommunityId();
        comSwPatrolRecordDTO.setCommunityId(communityId);
        return communityService.pagePatrolRecord(comSwPatrolRecordDTO);
        comSwPatrolRecordPageDTO.setCommunityId(communityId);
        return communityService.pagePatrolRecord(comSwPatrolRecordPageDTO);
    }
    /**
     * 新增巡查记录
     * @param comSwPatrolRecordAddDTO 新增参数
     * @return 新增结果
     */
    @ApiOperation(value = "新增巡查记录")
    @PostMapping("/addPatrolRecord")
    public R addPatrolRecord(@RequestBody ComSwPatrolRecordAddDTO comSwPatrolRecordAddDTO){
        Long communityId = this.getCommunityId();
        comSwPatrolRecordAddDTO.setCommunityId(communityId);
        return communityService.addPatrolRecord(comSwPatrolRecordAddDTO);
    }
    /**
     * 根据巡查记录id查询详情
     *
     * @param patrolRecordId 巡查记录id
     * @return 巡查记录详情查询结果
     */
    @ApiOperation(value = "根据巡查记录id查询详情")
    @PostMapping("/detailPatrolRecord")
    public R detailPatrolRecord(@RequestParam(value = "patrolRecordId") Long patrolRecordId) {
        return communityService.detailPatrolRecord(patrolRecordId);
    }
    /**
     * 分页查询安全工作记录
     * @param comSwPatrolRecordPageDTO 查询参数
     * @return 安全工作记录分页集合
     */
    @ApiOperation(value = "分页查询安全工作记录")
    @PostMapping("/pageSafetyWorkRecord")
    public R pageSafetyWorkRecord(@RequestBody ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO){
        Long communityId = this.getCommunityId();
        comSwPatrolRecordPageDTO.setCommunityId(communityId);
        return communityService.pageSafetyWorkRecord(comSwPatrolRecordPageDTO);
    }
    /**
     * 根据安全工作记录id查询详情
     *
     * @param safetyWorkRecordId 安全工作记录
     * @return 安全工作记录详情查询结果
     */
    @ApiOperation(value = "根据安全工作记录id查询详情")
    @PostMapping("/detailSafetyWorkRecord")
    public R detailSafetyWorkRecord(@RequestParam(value = "safetyWorkRecordId") Long safetyWorkRecordId) {
        return communityService.detailSafetyWorkRecord(safetyWorkRecordId);
    }
    /**
     * 根据巡查记录id查询安全工作记录详情
     *
     * @param patrolRecordId 巡查记录id
     * @return 安全工作记录详情查询结果
     */
    @ApiOperation(value = "根据巡查记录id查询安全工作记录详情")
    @PostMapping("/detailSafetyWorkRecordByPrId")
    public R detailSafetyWorkRecordByPrId(@RequestParam(value = "patrolRecordId") Long patrolRecordId) {
        return communityService.detailSafetyWorkRecordByPrId(patrolRecordId);
    }
    /**
     * 分页查询隐患报告
     * @param comSwPatrolRecordPageDTO 查询参数
     * @return 隐患报告分页集合
     */
    @ApiOperation(value = "分页查询隐患报告")
    @PostMapping("/pageDangerReport")
    public R pageDangerReport(@RequestBody ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO){
        Long communityId = this.getCommunityId();
        comSwPatrolRecordPageDTO.setCommunityId(communityId);
        return communityService.pageDangerReport(comSwPatrolRecordPageDTO);
    }
    /**
     * 根据隐患报告id查询详情
     *
     * @param dangerReportId 隐患报告id
     * @return 隐患报告详情查询结果
     */
    @ApiOperation(value = "根据隐患报告id查询详情")
    @PostMapping("/detailDangerReport")
    public R detailDangerReport(@RequestParam(value = "dangerReportId") Long dangerReportId) {
        return communityService.detailDangerReport(dangerReportId);
    }
    /**
     * 根据巡查记录id查询隐患报告详情
     *
     * @param patrolRecordId 巡查记录id
     * @return 隐患报告详情查询结果
     */
    @ApiOperation(value = "根据隐患报告id查询详情")
    @PostMapping("/detailDangerReportByPrId")
    public R detailDangerReportByPrId(@RequestParam(value = "patrolRecordId") Long patrolRecordId) {
        return communityService.detailDangerReportByPrId(patrolRecordId);
    }
    /**
     * 处理隐患报告
     *
     * @param comSwDangerReportHandleDTO 隐患报告处理参数
     * @return 处理结果
     */
    @ApiOperation(value = "处理隐患报告")
    @PostMapping("/handleDangerReport")
    public R handleDangerReport(@RequestBody ComSwDangerReportHandleDTO comSwDangerReportHandleDTO){
        return communityService.handleDangerReport(comSwDangerReportHandleDTO);
    }
    /**
     * 导出台账-隐患报告
     *
     * @param dangerReportIds 隐患报告ids
     * @return 隐患报告导出结果
     */
    @ApiOperation(value = "导出台账-隐患报告")
    @PostMapping("/danger/export")
    public R exportComMngCar(@RequestBody List<Long> dangerReportIds) {
        String url = excelUrl;
        String name = "隐患报告台账导出数据.xlsx";
        String ftpUrl = "/mnt/data/web/excel/";
        //导出勾选了的隐患报告,不勾选则导出本页数据
        R r = communityService.exportDangerReport(dangerReportIds);
        if (R.isOk(r)) {
            List<ComSwDangerReportExcelVO> comSwDangerReportExcelVOS = JSONArray.parseArray(JSONArray.toJSONString(r.getData()), ComSwDangerReportExcelVO.class);
            try {
                SFTPUtil sftp = new SFTPUtil(userName, password, host, port);
                sftp.login();
                boolean existDir = sftp.isExistDir(ftpUrl + name);
                if (!existDir) {
                    String property = System.getProperty("user.dir");
                    String fileName = property + File.separator + name;
                    // 这里 需要指定写用哪个class去写
                    ExcelWriter excelWriter = null;
                    InputStream inputStream = null;
                    try {
                        excelWriter = EasyExcel.write(fileName, ComSwDangerReportExcelVO.class).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).registerWriteHandler(new CustomSheetWriteHandler()).build();
                        WriteSheet writeSheet = EasyExcel.writerSheet("隐患报告台账导出数据").build();
                        excelWriter.write(comSwDangerReportExcelVOS, writeSheet);
                        excelWriter.finish();
                        File file = new File(fileName);
                        inputStream = new FileInputStream(file);
                        sftp.uploadMore(ftpUrl, name, inputStream);
                        sftp.logout();
                        inputStream.close();
                        String absolutePath = file.getAbsolutePath();
                        boolean delete = file.delete();
                        log.info("删除excel【{}】结果【{}】", absolutePath, delete);
                    } finally {
                        // 千万别忘记finish 会帮忙关闭流
                        if (inputStream != null) {
                            inputStream.close();
                        }
                        if (excelWriter != null) {
                            excelWriter.finish();
                        }
                    }
                }
                return R.ok(url + name);
            } catch (Exception e) {
                e.printStackTrace();
                log.error("文件传输失败【{}】", e.getMessage());
                return R.fail();
            }
        }
        return R.fail("未查询到隐患报告");
    }
    /**
     * 巡查记录统计接口
     *
     * @return 统计结果
     */
    @ApiOperation(value = "巡查记录统计接口", response = ComSwPatrolRecordStatisticsVO.class)
    @PostMapping("/patrolRecordStatistics")
    public R patrolRecordStatistics() {
        //获取登陆用户绑定社区id
        Long communityId = this.getLoginUserInfo().getCommunityId();
        return communityService.patrolRecordStatistics(communityId);
    }
}
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommonDataApi.java
@@ -9,9 +9,7 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.jcraft.jsch.SftpException;
import com.panzhihua.common.constants.Constants;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.enums.PopulIsOkEnum;
import com.panzhihua.common.enums.PopulPoliticalOutlookEnum;
import com.panzhihua.common.enums.PopulSexEnum;
import com.panzhihua.common.listen.*;
@@ -21,17 +19,13 @@
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.*;
import com.panzhihua.common.model.vos.user.ComMngTagVO;
import com.panzhihua.common.model.vos.user.ComMngUserTagVO;
import com.panzhihua.common.model.vos.user.InputUserInfoVO;
import com.panzhihua.common.model.vos.user.UserElectronicFileVO;
import com.panzhihua.common.service.community.CommunityService;
import com.panzhihua.common.service.user.UserService;
import com.panzhihua.common.utlis.FileUtil;
import com.panzhihua.common.utlis.SFTPUtil;
import com.panzhihua.common.validated.AddGroup;
import com.panzhihua.community_backstage.easyexcel.UploadEexcelUserDTOListener;
import com.panzhihua.community_backstage.excel.CustomSheetWriteHandler;
import com.panzhihua.community_backstage.model.dto.ExcelExportDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
@@ -73,7 +67,8 @@
    @Value("${excel.userurl}")
    private String excelUrl;
    @Value("${excel.carUrl}")
    private String carUrl = "http://panzhihua.nhys.cdnhxx.com/web/%e8%bd%a6%e8%be%86%e5%af%bc%e5%85%a5%e6%a8%a1%e6%9d%bf.xlsx";
    private String carUrl;
//            = "http://panzhihua.nhys.cdnhxx.com/web/%e8%bd%a6%e8%be%86%e5%af%bc%e5%85%a5%e6%a8%a1%e6%9d%bf.xlsx";
    @Value("${excel.companyUrl}")
    private String companyUrl = "http://panzhihua.nhys.cdnhxx.com/web/%e5%ae%9e%e6%9c%89%e5%8d%95%e4%bd%8d%e5%af%bc%e5%85%a5%e6%a8%a1%e6%9d%bf.xlsx";
    @Value("${excel.assetsUrl}")
@@ -119,7 +114,77 @@
    @ApiOperation(value = "下载模板-车辆管理")
    @GetMapping(value = "/car/download/template")
    public R downloadTemplate(HttpServletResponse response) throws IOException, SftpException {
        return R.ok(carUrl);
        //获取登陆用户绑定社区id
        Long communityId = 2L;//this.getCommunityId();
        //生成动态模板excel通过ftp工具上传到主节点,然后返回模板下载地址
        String ftpUrl = "/mnt/data/web/excel/";
        String name = "车辆导入模板.xlsx";
        try {
            SFTPUtil sftp = new SFTPUtil(userName, password, host, port);
            sftp.login();
            boolean existDir = sftp.isExistDir(ftpUrl + name);
            if (!existDir) {
                String property = System.getProperty("user.dir");
                String fileName = property + File.separator + name;
                // 这里 需要指定写用哪个class去写
                ExcelWriter excelWriter = null;
                InputStream inputStream = null;
                try {
                    List<List<String>> list = new ArrayList<>();
                    List<String> head0 = new ArrayList<String>();
                    head0.add("小区名称");
                    List<String> head1 = new ArrayList<String>();
                    head1.add("车主姓名");
                    List<String> head2 = new ArrayList<String>();
                    head2.add("身份证号码");
                    List<String> head3 = new ArrayList<String>();
                    head3.add("联系方式");
                    List<String> head4 = new ArrayList<String>();
                    head4.add("车牌号");
                    List<String> head5 = new ArrayList<String>();
                    head5.add("品牌型号");
                    List<String> head6 = new ArrayList<String>();
                    head6.add("车身颜色");
                    list.add(head0);
                    list.add(head1);
                    list.add(head2);
                    list.add(head3);
                    list.add(head4);
                    list.add(head5);
                    list.add(head6);
                    List<List<Object>> dataList = new ArrayList<>();
                    List<Object> data = new ArrayList<>();
                    data.add("蓝湖国际");
                    data.add("张三");
                    data.add("510802199205054112");
                    data.add("13888000088");
                    data.add("川A66666");
                    data.add("大众s9");
                    data.add("黑色");
                    dataList.add(data);
                    EasyExcel.write(fileName).head(list).sheet("车辆导入模板").doWrite(dataList);
                    File file = new File(fileName);
                    inputStream = new FileInputStream(file);
                    sftp.uploadMore(ftpUrl, name, inputStream);
                    sftp.logout();
                    inputStream.close();
                    String absolutePath = file.getAbsolutePath();
                    boolean delete = file.delete();
                    log.info("删除excel【{}】结果【{}】", absolutePath, delete);
                } finally {
                    // 千万别忘记finish 会帮忙关闭流
                    if (inputStream != null) {
                        inputStream.close();
                    }
                }
            }
            return R.ok(excelUrl + "车辆导入模板.xlsx");
        } catch (Exception e) {
            e.printStackTrace();
            log.error("文件传输失败【{}】", e.getMessage());
            return R.fail();
        }
    }
    @ApiOperation(value = "excel导入车辆信息")
@@ -718,10 +783,80 @@
        return communityService.detailComMngRealAssets(id);
    }
    @ApiOperation(value = "下载模板-实有资产导入模板")
    @ApiOperation(value = "下载模板-社区资产导入模板")
    @GetMapping(value = "/assets/download/template")
    public R downloadRealAssetsTemplate(HttpServletResponse response) throws IOException, SftpException {
        return R.ok(assetsUrl);
        //获取登陆用户绑定社区id
        Long communityId = 2L;//this.getCommunityId();
        //生成动态模板excel通过ftp工具上传到主节点,然后返回模板下载地址
        String ftpUrl = "/mnt/data/web/excel/";
        String name = "社区资产导入模板.xlsx";
        try {
            SFTPUtil sftp = new SFTPUtil(userName, password, host, port);
            sftp.login();
            boolean existDir = sftp.isExistDir(ftpUrl + name);
            if (!existDir) {
                String property = System.getProperty("user.dir");
                String fileName = property + File.separator + name;
                // 这里 需要指定写用哪个class去写
                ExcelWriter excelWriter = null;
                InputStream inputStream = null;
                try {
                    List<List<String>> list = new ArrayList<>();
                    List<String> head0 = new ArrayList<String>();
                    head0.add("资产名称");
                    List<String> head1 = new ArrayList<String>();
                    head1.add("位置");
                    List<String> head2 = new ArrayList<String>();
                    head2.add("分类");
                    List<String> head3 = new ArrayList<String>();
                    head3.add("占地面积");
                    List<String> head4 = new ArrayList<String>();
                    head4.add("数量");
                    List<String> head5 = new ArrayList<String>();
                    head5.add("建筑类型");
                    List<String> head6 = new ArrayList<String>();
                    head6.add("楼层类型");
                    list.add(head0);
                    list.add(head1);
                    list.add(head2);
                    list.add(head3);
                    list.add(head4);
                    list.add(head5);
                    list.add(head6);
                    List<List<Object>> dataList = new ArrayList<>();
                    List<Object> data = new ArrayList<>();
                    data.add("张三");
                    data.add("位置");
                    data.add("公共设施");
                    data.add("500");
                    data.add("100");
                    data.add("社区");
                    data.add("高层");
                    dataList.add(data);
                    EasyExcel.write(fileName).head(list).sheet("社区资产导入模板").doWrite(dataList);
                    File file = new File(fileName);
                    inputStream = new FileInputStream(file);
                    sftp.uploadMore(ftpUrl, name, inputStream);
                    sftp.logout();
                    inputStream.close();
                    String absolutePath = file.getAbsolutePath();
                    boolean delete = file.delete();
                    log.info("删除excel【{}】结果【{}】", absolutePath, delete);
                } finally {
                    // 千万别忘记finish 会帮忙关闭流
                    if (inputStream != null) {
                        inputStream.close();
                    }
                }
            }
            return R.ok(excelUrl + "社区资产导入模板.xlsx");
        } catch (Exception e) {
            e.printStackTrace();
            log.error("文件传输失败【{}】", e.getMessage());
            return R.fail();
        }
    }
    @ApiOperation(value = "excel导入实有资产信息")
@@ -740,14 +875,14 @@
        return R.ok();
    }
    @ApiOperation(value = "实有资产Excel")
    @ApiOperation(value = "社区资产导出数据")
    @PostMapping("/assets/export")
    public R exportRealAssets(@RequestBody ExportRealAssetsExcelDTO exportRealAssetsExcelDTO) {
        exportRealAssetsExcelDTO.setCommunityId(this.getCommunityId());
        String url = excelUrl;
//        String uuid = UUID.randomUUID().toString().replace("-", "");
//        String name = uuid + ".xlsx";
        String name = "实有资产导出数据.xlsx";
        String name = "社区资产导出数据.xlsx";
        String ftpUrl = "/mnt/data/web/excel/";
//        用户搜索了就下载搜索的用户否则下载所有用户
        R r = communityService.exportRealAssets(exportRealAssetsExcelDTO);
@@ -765,7 +900,7 @@
                    InputStream inputStream = null;
                    try {
                        excelWriter = EasyExcel.write(fileName, ComMngRealAssetsExcelVO.class).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).registerWriteHandler(new CustomSheetWriteHandler()).build();
                        WriteSheet writeSheet = EasyExcel.writerSheet("实有单位导出").build();
                        WriteSheet writeSheet = EasyExcel.writerSheet("社区资产导出").build();
                        excelWriter.write(eexcelUserDTOS, writeSheet);
                        excelWriter.finish();
                        File file = new File(fileName);
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/PopulationApi.java
@@ -90,13 +90,13 @@
        InputStream inputStream = null;
        try {
            inputStream = file.getInputStream();
            ComMngPopulationServeExcelListen comMngPopulationServeExcelListen = new ComMngPopulationServeExcelListen(communityService, this.getCommunityId());
            ComMngPopulationServeExcelListen comMngPopulationServeExcelListen = new ComMngPopulationServeExcelListen(communityService, this.getCommunityId(),userName,password,host,port,excelUrl);
            EasyExcel.read(inputStream, null, comMngPopulationServeExcelListen).sheet().doRead();
        } catch (IOException e) {
            log.error("导入模板失败【{}】", e.getMessage());
            e.printStackTrace();
        }
        return R.ok();
        return R.ok(ComMngPopulationServeExcelListen.loadUrl);
    }
    /**
@@ -134,7 +134,7 @@
        try {
            Long communityId = Long.valueOf(request.getParameter("communityId"));
            inputStream = file.getInputStream();
            ComMngPopulationServeExcelListen comMngPopulationServeExcelListen = new ComMngPopulationServeExcelListen(communityService, communityId);
            ComMngPopulationServeExcelListen comMngPopulationServeExcelListen = new ComMngPopulationServeExcelListen(communityService, communityId,userName,password,host,port,excelUrl);
            EasyExcel.read(inputStream, null, comMngPopulationServeExcelListen).sheet().doRead();
        } catch (IOException e) {
            log.error("导入模板失败【{}】", e.getMessage());
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/listen/PartyBuildingMemberExcelListen.java
@@ -34,6 +34,10 @@
    private List<PartyBuildingMemberExcelVO> list = new ArrayList<>();
    @Override
    public void invoke(PartyBuildingMemberExcelVO partyBuildingMemberExcelVO, AnalysisContext analysisContext) {
        Boolean isRepeat = list.stream().anyMatch(v -> v.getIdCard().equals(partyBuildingMemberExcelVO.getIdCard()));
        if(isRepeat){
            throw new PartyBuildingMemberException("导入失败,存在多个相同身份证号:" + partyBuildingMemberExcelVO.getIdCard());
        }
        list.add(partyBuildingMemberExcelVO);
        // 达到BATCH_COUNT了,需要去存储一次数据库,防止数据几万条数据在内存,容易OOM
        if(list.size() >= BATCH_COUNT){
springcloud_k8s_panzhihuazhihuishequ/grid_app/src/main/java/com/panzhihua/grid_app/api/StatisticsApi.java
@@ -2,6 +2,7 @@
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.model.dtos.grid.GridEventStatisticsDTO;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.grid.ComMapGridDetailVO;
import com.panzhihua.common.model.vos.grid.GridEventStatisticsDetailVO;
@@ -24,10 +25,14 @@
    @ApiOperation(value = "根据网格id查询统计详情-lyq",response = GridEventStatisticsVO.class)
    @PostMapping("event")
    public R getGridDetail(@RequestParam("gridId") Long gridId){
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        if(loginUserInfo == null){
            return R.fail("请先登录");
        }
        if(gridId == null){
            return R.fail("参数错误");
        }
        return gridService.getGridEventStatisticsByApp(gridId);
        return gridService.getGridEventStatisticsByApp(gridId,loginUserInfo.getUserId());
    }
    @ApiOperation(value = "网格id查询统计事件详情-lyq",response = GridEventStatisticsDetailVO.class)
springcloud_k8s_panzhihuazhihuishequ/grid_backstage/src/main/java/com/panzhihua/grid_backstage/api/EventGridDataApi.java
@@ -1,15 +1,19 @@
package com.panzhihua.grid_backstage.api;
import com.alibaba.fastjson.JSONArray;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.model.dtos.api.GridMemberPageListDTO;
import com.panzhihua.common.model.dtos.grid.*;
import com.panzhihua.common.model.dtos.grid.admin.EventGridMemberCascadeAddDTO;
import com.panzhihua.common.model.dtos.grid.admin.LcGridMemberDTO;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.grid.EventGridMemberWarnLogAdminVO;
import com.panzhihua.common.model.vos.grid.GridMemberVO;
import com.panzhihua.common.model.vos.grid.admin.GridMemberCascadeVO;
import com.panzhihua.common.model.vos.grid.admin.GridMemberLcListVO;
import com.panzhihua.common.service.api.ApiServiceFeign;
import com.panzhihua.common.service.user.UserService;
import com.panzhihua.common.utlis.ClazzUtils;
import com.panzhihua.common.utlis.DateUtils;
@@ -22,6 +26,7 @@
import com.panzhihua.common.service.grid.GridService;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
@@ -41,6 +46,8 @@
    private GridService gridService;
    @Resource
    private UserService userService;
    @Resource
    private ApiServiceFeign apiService;
    /**
     * 网格员分页查询
@@ -116,9 +123,23 @@
    }
    @ApiOperation(value = "查询市平台网格员列表",response = GridMemberLcListVO.class)
    @GetMapping("/member/lc/list")
    public R gridMemberLcList(){
        return gridService.gridMemberLcList();
    @PostMapping("/member/lc/list/noToken")
    public R gridMemberLcList(@RequestBody LcGridMemberDTO memberDTO){
        List<GridMemberLcListVO> gridMemberLcList = new ArrayList<>();
        R r = apiService.getGridMemberListByAreaIdOrName("jhRxqEQp",memberDTO.getParam(),memberDTO.getPageNum(),memberDTO.getPageSize());
        if(R.isOk(r)){
            List<GridMemberPageListDTO> memberList = JSONArray.parseArray(JSONArray.toJSONString(r.getData()), GridMemberPageListDTO.class);
            if(!memberList.isEmpty()){
                memberList.forEach(member -> {
                    GridMemberLcListVO memberLcListVO = new GridMemberLcListVO();
                    memberLcListVO.setLcBindUserId(member.getBindUserId());
                    memberLcListVO.setLcGridMemberId(member.getId());
                    memberLcListVO.setLcGridMemberName(member.getName());
                    gridMemberLcList.add(memberLcListVO);
                });
            }
        }
        return R.ok(gridMemberLcList);
    }
    @ApiOperation(value = "添加网格员时级联列表",response = GridMemberCascadeVO.class)
springcloud_k8s_panzhihuazhihuishequ/grid_backstage/src/main/java/com/panzhihua/grid_backstage/api/EventGridMemberRelationApi.java
@@ -6,6 +6,7 @@
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.grid.*;
import com.panzhihua.common.service.api.ApiServiceFeign;
import com.panzhihua.common.service.community.CommunityService;
import com.panzhihua.common.utlis.ClazzUtils;
import com.panzhihua.common.utlis.StringUtils;
@@ -36,6 +37,8 @@
    private GridService gridService;
    @Resource
    private CommunityService communityService;
    @Resource
    private ApiServiceFeign apiService;
    @ApiOperation(value = "网格分页查询", response = EventGridAdminVO.class)
    @PostMapping("/event/list")
@@ -100,9 +103,15 @@
    }
    @ApiOperation(value = "查询所有关联市平台列表",response = EventLcGridAdminVO.class)
    @GetMapping("/lc/grid/list")
    public R getLcGridLists(){
        return gridService.getLcGridLists();
    @GetMapping("/lc/grid/list/noToken")
    public R getLcGridLists(@RequestParam("areaId") String areaId){
        return apiService.getGridDataListByAreaId(areaId);
    }
    @ApiOperation(value = "查询西区所有关联市平台树形结构列表",response = EventLcGridAdminVO.class)
    @GetMapping("/lc/grid/tree/list/noToken")
    public R getLcGridTreeLists(){
        return apiService.getGridTreeByAreaId("jhRxqEQp");
    }
}
springcloud_k8s_panzhihuazhihuishequ/grid_backstage/src/main/java/com/panzhihua/grid_backstage/api/StatisticsApi.java
@@ -1,6 +1,12 @@
package com.panzhihua.grid_backstage.api;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import com.alibaba.fastjson.JSON;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.excel.CustomSheetWriteHandler;
import com.panzhihua.common.model.dtos.grid.MemberStatisticsAdminDTO;
import com.panzhihua.common.model.dtos.grid.PageEventManageDTO;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
@@ -8,15 +14,25 @@
import com.panzhihua.common.model.vos.grid.EventStatisticsAllAdminVO;
import com.panzhihua.common.model.vos.grid.EventStatisticsMemberAdminVO;
import com.panzhihua.common.model.vos.grid.EventVO;
import com.panzhihua.common.model.vos.grid.admin.excel.ComMngVillageExportExcelVO;
import com.panzhihua.common.model.vos.grid.admin.excel.GridMemberWorkExportExcelVO;
import com.panzhihua.common.service.grid.GridService;
import com.panzhihua.common.utlis.ClazzUtils;
import com.panzhihua.common.utlis.SFTPUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
/**
 * 统计模块
@@ -26,6 +42,21 @@
@RequestMapping("/statistics/")
@Api(tags = {"统计模块 @lyq"})
public class StatisticsApi extends BaseController {
    // FTP 登录用户名
    @Value("${ftp.username}")
    private String userName;
    // FTP 登录密码
    @Value("${ftp.password}")
    private String password;
    // FTP 服务器地址IP地址
    @Value("${ftp.host}")
    private String host;
    // FTP 端口
    @Value("${ftp.port}")
    private int port;
    @Value("${excel.userurl}")
    private String excelUrl;
    @Resource
    private GridService gridService;
@@ -53,4 +84,68 @@
        return gridService.gridMemberStatistics(statisticsAdminDTO);
    }
    @ApiOperation(value = "网格员统计导出")
    @PostMapping("/gridMemberStatistics/export")
    public R gridMemberStatisticsExport(@RequestBody MemberStatisticsAdminDTO statisticsAdminDTO){
//        LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo();
//        if(loginUserInfoVO == null){
//            return R.fail("请先登录");
//        }
//        gridService.gridMemberStatistics(statisticsAdminDTO);
        //生成动态模板excel通过ftp工具上传到主节点,然后返回模板下载地址
        String ftpUrl = "/mnt/data/web/excel/";
        String name = "网格员工作情况汇总数据.xlsx";
        try {
            SFTPUtil sftp = new SFTPUtil(userName, password, host, port);
            sftp.login();
            boolean existDir = sftp.isExistDir(ftpUrl + name);
            if (!existDir) {
                String property = System.getProperty("user.dir");
                String fileName = property + File.separator + name;
                // 这里 需要指定写用哪个class去写
                ExcelWriter excelWriter = null;
                InputStream inputStream = null;
                try {
                    List<EventStatisticsMemberAdminVO> populList = JSON.parseArray(JSON.toJSONString(gridService.gridMemberStatisticsAll(statisticsAdminDTO).getData()), EventStatisticsMemberAdminVO.class);
                    List<GridMemberWorkExportExcelVO> workExportExcelList = new ArrayList<>();
                    if(!populList.isEmpty()){
                        populList.forEach(popul -> {
                            GridMemberWorkExportExcelVO workExportExcelVO = new GridMemberWorkExportExcelVO();
                            BeanUtils.copyProperties(popul,workExportExcelVO);
                            workExportExcelList.add(workExportExcelVO);
                        });
                    }
                    excelWriter = EasyExcel.write(fileName, GridMemberWorkExportExcelVO.class).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
                            .registerWriteHandler(new CustomSheetWriteHandler()).build();
                    WriteSheet writeSheet = EasyExcel.writerSheet("网格员工作情况汇总数据").build();
                    excelWriter.write(workExportExcelList, writeSheet);
                    excelWriter.finish();
                    File file = new File(fileName);
                    inputStream = new FileInputStream(file);
                    sftp.uploadMore(ftpUrl, name, inputStream);
                    sftp.logout();
                    inputStream.close();
                    String absolutePath = file.getAbsolutePath();
                    boolean delete = file.delete();
                    log.info("删除excel【{}】结果【{}】", absolutePath, delete);
                } finally {
                    // 千万别忘记finish 会帮忙关闭流
                    if (inputStream != null) {
                        inputStream.close();
                    }
                    if (excelWriter != null) {
                        excelWriter.finish();
                    }
                }
            }
            return R.ok(excelUrl + name);
        } catch (Exception e) {
            e.printStackTrace();
            log.error("文件传输失败【{}】", e.getMessage());
            return R.fail();
        }
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_api/src/main/java/com/panzhihua/serviceapi/api/LcEventApi.java
@@ -104,9 +104,9 @@
     */
    @ApiOperation(value = "获取所有或者根据姓名和工号查询,分页")
    @GetMapping("lc/event/getGridMemberListByAreaIdOrName")
    public R getGridMemberListByAreaIdOrName(String areaId,String param) {
    public R getGridMemberListByAreaIdOrName(String areaId,String param,Long pageNum,Long pageSize) {
        try {
            return R.ok(lcApiService.getGridMemberListByAreaIdOrName(areaId,param));
            return R.ok(lcApiService.getGridMemberListByAreaIdOrName(areaId,param,pageNum,pageSize));
        } catch (Exception e) {
            log.error("获取指定区域网格列表出现错误:{}", e.getMessage());
        }
@@ -114,7 +114,26 @@
    }
    /**
     * description 获取指定区域网格列表
     * description 获取指定区域网格列表,树形结构。不包括具体的网格数据。
     *
     * @param areaId 区域ID
     * @return String 事件信息
     * @author manailin
     * @date 2021/6/10 17:00
     */
    @ApiOperation(value = "获取指定区域网格树形列表,不包括具体的网格数据")
    @GetMapping("lc/grid/tree")
    public R getGridTreeByAreaId(String areaId) {
        try {
            return R.ok(lcApiService.getGridTreeByAreaId(areaId));
        } catch (Exception e) {
            log.error("获取指定区域网格列表出现错误:{}", e.getMessage());
        }
        return R.ok(Collections.emptyList());
    }
    /**
     * description 获取指定区域网格数据列表
     *
     * @param areaId 区域ID
     * @return String 事件信息
@@ -123,16 +142,14 @@
     */
    @ApiOperation(value = "获取指定区域网格列表")
    @GetMapping("lc/grid/list")
    public R getGridListByAreaId(String areaId) {
    public R getGridDataListByAreaId(String areaId) {
        try {
            return R.ok(lcApiService.getGridListByAreaId(areaId));
            return R.ok(lcApiService.getGridDataListByAreaId(areaId));
        } catch (Exception e) {
            log.error("获取指定区域网格列表出现错误:{}", e.getMessage());
        }
        return R.ok(Collections.emptyList());
    }
    /**
     * description 流动人口 走访详情
     *
springcloud_k8s_panzhihuazhihuishequ/service_api/src/main/java/com/panzhihua/serviceapi/biz/LcApiService.java
@@ -77,8 +77,17 @@
     * @author manailin
     * @date 2021/6/10 17:00
     */
    List<LcGridData> getGridListByAreaId(String areaId);
    List<LcGridData> getGridTreeByAreaId(String areaId);
    /**
     * description 获取指定区域网格列表,直接返回网格列表
     *
     * @param areaId 区域ID
     * @return String 事件信息
     * @author manailin
     * @date 2021/6/10 17:00
     */
    List<LcGridData> getGridDataListByAreaId(String areaId);
    /**
     * description 获取所有或者根据姓名和工号查询,分页
     *
@@ -88,7 +97,7 @@
     * @author manailin
     * @date 2021/6/10 17:00
     */
    List<GridMemberPageListDTO> getGridMemberListByAreaIdOrName(String areaId,String param);
    List<GridMemberPageListDTO> getGridMemberListByAreaIdOrName(String areaId,String param,Long pageNum,Long pageSize);
    /**
     * description 提交事件登记关联的文件或者图片信息
springcloud_k8s_panzhihuazhihuishequ/service_api/src/main/java/com/panzhihua/serviceapi/biz/impl/LcApiServiceImpl.java
@@ -24,6 +24,7 @@
import com.panzhihua.common.service.grid.GridService;
import com.panzhihua.common.utlis.CopyUtil;
import com.panzhihua.common.utlis.DateUtils;
import com.panzhihua.common.utlis.StringUtils;
import com.panzhihua.serviceapi.biz.LcApiService;
import com.panzhihua.serviceapi.model.dto.*;
import lombok.extern.slf4j.Slf4j;
@@ -150,8 +151,18 @@
    }
    @Override
    public List<LcGridData> getGridListByAreaId(String areaId) {
    public List<LcGridData> getGridTreeByAreaId(String areaId) {
        HttpRequest request = HttpUtil.createPost(LcApiConstants.GRID_GET_EVENT_INFO_AREA_ID_URL);
        request.auth(getAuthToken());
        request.form("areaId", areaId);
        request.form("level", 4);
        HttpResponse result = request.execute();
        return JSONArray.parseArray(result.body(), LcGridData.class);
    }
    @Override
    public List<LcGridData> getGridDataListByAreaId(String areaId) {
        HttpRequest request = HttpUtil.createPost(LcApiConstants.GRID_GET_GRID_DATA_AREA_ID_URL);
        request.auth(getAuthToken());
        request.form("areaId", areaId);
        HttpResponse result = request.execute();
@@ -159,11 +170,13 @@
    }
    @Override
    public List<GridMemberPageListDTO> getGridMemberListByAreaIdOrName(String areaId,String param) {
    public List<GridMemberPageListDTO> getGridMemberListByAreaIdOrName(String areaId,String param,Long pageNum,Long pageSize) {
        HttpRequest request = HttpUtil.createGet(LcApiConstants.GRID_GET_GETALL_SEARCH_PAGE_URL);
        request.auth(getAuthToken());
        request.form("areaId", areaId);
        if(param !=null){
        request.form("limit", pageSize);
        request.form("page", pageNum);
        if(StringUtils.isNotEmpty(param)){
            request.form("param", param);
        }
        HttpResponse result = request.execute();
springcloud_k8s_panzhihuazhihuishequ/service_api/src/test/java/com/panzhihua/serviceapi/biz/impl/LcApiServiceImplTest.java
@@ -184,7 +184,17 @@
    @Test
    void getGridListByAreaId() {
        //jhRxqEQp 代表西区
        List<LcGridData> list = lcApiService.getGridListByAreaId("jhRxqEQp");
        List<LcGridData> list = lcApiService.getGridTreeByAreaId("jhRxqEQp");
        String pretty = JSONArray.toJSONString(list, SerializerFeature.PrettyFormat, SerializerFeature.WriteMapNullValue,
                SerializerFeature.WriteDateUseDateFormat);
        log.info(pretty);
    }
    @Test
    void getGridDataListByAreaId() {
        //jhRxqEQp 代表西区
        List<LcGridData> list = lcApiService.getGridDataListByAreaId("2Fxq97CC");
        String pretty = JSONArray.toJSONString(list, SerializerFeature.PrettyFormat, SerializerFeature.WriteMapNullValue,
                SerializerFeature.WriteDateUseDateFormat);
        log.info(pretty);
@@ -201,7 +211,7 @@
    @Test
    void getGridMemberListByAreaIdOrName() {
        List<GridMemberPageListDTO> data = lcApiService.getGridMemberListByAreaIdOrName("jhRxqEQp", "");
        List<GridMemberPageListDTO> data = lcApiService.getGridMemberListByAreaIdOrName("jhRxqEQp", "",1L,20L);
        // log.info(data);
    }
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComSwPatrolRecordApi.java
@@ -1,16 +1,20 @@
package com.panzhihua.service_community.api;
import com.panzhihua.common.model.dtos.community.ComMngPopulationDTO;
import com.panzhihua.common.model.dtos.community.ComSwPatrolRecordDTO;
import com.panzhihua.common.model.dtos.community.ComSwDangerReportHandleDTO;
import com.panzhihua.common.model.dtos.community.ComSwDangerReportRectifyDTO;
import com.panzhihua.common.model.dtos.community.ComSwPatrolRecordAddDTO;
import com.panzhihua.common.model.dtos.community.ComSwPatrolRecordPageDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.service_community.dao.ComSwSafetyWorkRecordDAO;
import com.panzhihua.service_community.service.ComSwDangerReportService;
import com.panzhihua.service_community.service.ComSwPatrolRecordService;
import com.panzhihua.service_community.service.ComSwSafetyWorkRecordService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
 * @auther txb
@@ -23,16 +27,141 @@
public class ComSwPatrolRecordApi {
    @Resource
    private ComSwPatrolRecordService comMngPopulationService;
    private ComSwPatrolRecordService comSwPatrolRecordService;
    @Resource
    private ComSwSafetyWorkRecordService comSwSafetyWorkRecordService;
    @Resource
    private ComSwDangerReportService comSwDangerReportService;
    /**
     * 分页查询巡查记录
     * @param comSwPatrolRecordDTO 查询参数
     * @return 分页集合
     * @param comSwPatrolRecordPageDTO 查询参数
     * @return 巡查记录分页集合
     */
    @PostMapping("/page")
    public R pagePatrolRecord(@RequestBody ComSwPatrolRecordDTO comSwPatrolRecordDTO){
        return comMngPopulationService.pagePatrolRecord(comSwPatrolRecordDTO);
    public R pagePatrolRecord(@RequestBody ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO){
        return comSwPatrolRecordService.pagePatrolRecord(comSwPatrolRecordPageDTO);
    }
    /**
     * 新增巡查记录
     * @param comSwPatrolRecordAddDTO 新增参数
     * @return 新增结果
     */
    @PostMapping("/addPatrolRecord")
    @Transactional(rollbackFor = Exception.class)
    public R addPatrolRecord(@RequestBody ComSwPatrolRecordAddDTO comSwPatrolRecordAddDTO){
        return comSwPatrolRecordService.addPatrolRecord(comSwPatrolRecordAddDTO);
    }
    /**
     * 根据巡查记录id查询详情
     *
     * @param patrolRecordId 巡查记录id
     * @return 巡查记录详情查询结果
     */
    @PostMapping("/detail")
    public R detailPatrolRecord(@RequestParam(value = "patrolRecordId") Long patrolRecordId) {
        return comSwPatrolRecordService.detailPatrolRecord(patrolRecordId);
    }
    /**
     * 分页查询安全工作记录
     * @param comSwPatrolRecordPageDTO 查询参数
     * @return 安全工作记录分页集合
     */
    @PostMapping("/safetyWorkRecord/page")
    public R pageSafetyWorkRecord(@RequestBody ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO){
        return comSwSafetyWorkRecordService.pageSafetyWorkRecord(comSwPatrolRecordPageDTO);
    }
    /**
     * 根据安全工作记录id查询详情
     *
     * @param safetyWorkRecordId 安全工作记录
     * @return 安全工作记录详情查询结果
     */
    @PostMapping("/safetyWorkRecord/detail")
    public R detailSafetyWorkRecord(@RequestParam(value = "safetyWorkRecordId") Long safetyWorkRecordId) {
        return comSwSafetyWorkRecordService.detailSafetyWorkRecord(safetyWorkRecordId);
    }
    /**
     * 根据巡查记录id查询安全工作记录详情
     *
     * @param patrolRecordId 巡查记录id
     * @return 安全工作记录详情查询结果
     */
    @PostMapping("/safetyWorkRecord/detailByPrId")
    public R detailSafetyWorkRecordByPrId(@RequestParam(value = "patrolRecordId") Long patrolRecordId) {
        return comSwSafetyWorkRecordService.detailSafetyWorkRecordByPrId(patrolRecordId);
    }
    /**
     * 分页查询隐患报告
     * @param comSwPatrolRecordPageDTO 查询参数
     * @return 隐患报告分页集合
     */
    @PostMapping("/dangerReport/page")
    public R pageDangerReport(@RequestBody ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO){
        return comSwDangerReportService.pageDangerReport(comSwPatrolRecordPageDTO);
    }
    /**
     * 根据隐患报告id查询详情
     *
     * @param dangerReportId 隐患报告id
     * @return 隐患报告详情查询结果
     */
    @PostMapping("/dangerReport/detail")
    public R detailDangerReport(@RequestParam(value = "dangerReportId") Long dangerReportId) {
        return comSwDangerReportService.detailDangerReport(dangerReportId);
    }
    /**
     * 根据巡查记录id查询隐患报告详情
     *
     * @param patrolRecordId 巡查记录id
     * @return 隐患报告详情查询结果
     */
    @PostMapping("/dangerReport/detailByPrId")
    public R detailDangerReportByPrId(@RequestParam(value = "patrolRecordId") Long patrolRecordId) {
        return comSwDangerReportService.detailDangerReportByPrId(patrolRecordId);
    }
    /**
     * 处理隐患报告
     *
     * @param comSwDangerReportHandleDTO 隐患报告处理参数
     * @return 处理结果
     */
    @PostMapping("/dangerReport/handle")
    public R handleDangerReport(@RequestBody ComSwDangerReportHandleDTO comSwDangerReportHandleDTO){
        return comSwDangerReportService.handleDangerReport(comSwDangerReportHandleDTO);
    }
    /**
     * 整改隐患报告
     *
     * @param comSwDangerReportRectifyDTO 隐患报告整改参数
     * @return 整改结果
     */
    @PostMapping("/dangerReport/rectify")
    public R rectifyDangerReport(@RequestBody ComSwDangerReportRectifyDTO comSwDangerReportRectifyDTO){
        return comSwDangerReportService.rectifyDangerReport(comSwDangerReportRectifyDTO);
    }
    /**
     * 隐患报告台账导出
     *
     * @param dangerReportIds
     * @return
     */
    @PostMapping("/dangerReport/export")
    public R exportDangerReport(@RequestBody List<Long> dangerReportIds){
        return comSwDangerReportService.exportDangerReport(dangerReportIds);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java
@@ -258,7 +258,7 @@
     * @return 详情
     */
    @PostMapping("detailactivity")
    public R detailActivity(@RequestParam("id") Long id, @RequestParam("userId") Long userId) {
    public R detailActivity(@RequestParam("id") Long id, @RequestParam(value = "userId",required = false) Long userId) {
        ComActActivityVO comActActivityVO = comActActivityService.inforActivity(id, userId);
        if (ObjectUtils.isEmpty(comActActivityVO)) {
            return R.fail("活动不存在");
@@ -388,9 +388,9 @@
            }
        }
        if(StringUtils.isEmpty(comActDynVO.getCover())){
            comActDynVO.setCover(comActDynDO.getCover());
        }
//        if(StringUtils.isEmpty(comActDynVO.getCover())){
//            comActDynVO.setCover(comActDynDO.getCover());
//        }
        BeanUtils.copyProperties(comActDynVO, comActDynDO);
        boolean update = comActDynService.updateById(comActDynDO);
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActMessageDAO.java
@@ -56,7 +56,7 @@
            " com_act_message t LEFT JOIN sys_user u ON t.user_id = u.user_id " +
            " where t.community_id=#{comActMessageVO.communityId}\n" +
            "<if test='comActMessageVO.userAccount != null and comActMessageVO.userAccount.trim() != &quot;&quot;'>" +
            " and t.user_account=#{comActMessageVO.userAccount} \n" +
            " and u.phone=#{comActMessageVO.userAccount} \n" +
            " </if> " +
            "<if test='comActMessageVO.userName != null and comActMessageVO.userName.trim() != &quot;&quot;'>" +
            " and t.user_name=#{comActMessageVO.userName} \n" +
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComMngPopulationDAO.java
@@ -225,9 +225,6 @@
            "<if test='comMngPopulationVO.remark != null and comMngPopulationVO.remark != &quot;&quot;'>" +
            "AND cmp.remark = #{comMngPopulationVO.remark} " +
            " </if> " +
            "<if test='comMngPopulationVO.address != null and comMngPopulationVO.address != &quot;&quot;'>" +
            "AND cmp.address like concat('%', #{comMngPopulationVO.address}, '%')  " +
            " </if> " +
            " </where>" +
            " order by cmp.create_at desc" +
            "</script>")
@@ -1047,6 +1044,7 @@
            " cmp.card_no, " +
            " cmp.label, " +
            " cmp.address, " +
            " cmp.culture_level, " +
            " cmp.nation, " +
            " cmp.political_outlook, " +
            " cmp.sex, " +
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComSwDangerReportDAO.java
New file
@@ -0,0 +1,47 @@
package com.panzhihua.service_community.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.dtos.community.ComSwPatrolRecordPageDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComSwDangerReportExcelVO;
import com.panzhihua.common.model.vos.community.ComSwDangerReportVO;
import com.panzhihua.common.model.vos.community.ComSwSafetyWorkRecordVO;
import com.panzhihua.service_community.model.dos.ComSwDangerReportDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * @auther txb
 * @create 2021-07-27 14:31:04
 * @describe mapper类
 */
@Mapper
public interface ComSwDangerReportDAO extends BaseMapper<ComSwDangerReportDO> {
    /**
     * 分页查询隐患报告
     * @param comSwPatrolRecordPageDTO 查询参数
     * @return 隐患报告分页集合
     */
    IPage<ComSwDangerReportVO> pageDangerReport(Page page, @Param("comSwPatrolRecordDTO") ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO);
    /**
     * 根据隐患报告id查询详情
     *
     * @param dangerReportId 隐患报告id
     * @return 隐患报告详情查询结果
     */
    ComSwDangerReportVO detailDangerReport(@Param("dangerReportId") Long dangerReportId);
    /**
     * 根据隐患报告id批量查询详情
     *
     * @param dangerReportIds 隐患报告ids
     * @return
     */
    List<ComSwDangerReportExcelVO> exportDangerReport(@Param("dangerReportIds") List<Long> dangerReportIds);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComSwPatrolRecordDAO.java
@@ -3,9 +3,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.dtos.community.ComMngPopulationDTO;
import com.panzhihua.common.model.dtos.community.ComSwPatrolRecordDTO;
import com.panzhihua.common.model.vos.community.ComMngPopulationVO;
import com.panzhihua.common.model.dtos.community.ComSwPatrolRecordPageDTO;
import com.panzhihua.common.model.vos.community.ComSwPatrolRecordVO;
import com.panzhihua.service_community.model.dos.ComSwPatrolRecordDO;
import org.apache.ibatis.annotations.Mapper;
@@ -20,47 +18,10 @@
@Mapper
public interface ComSwPatrolRecordDAO extends BaseMapper<ComSwPatrolRecordDO> {
    @Select("<script> " +
            "SELECT " +
            "cspr.id, " +
            "cspr.community_id AS communityId, " +
            "cspr.patrol_time AS patrolTime, " +
            "cspr.weather" +
            "cspr.temperature" +
            "cspr.wind" +
            "cspr.patrol_type AS patrolType, " +
            "cspr.patrol_person AS patrolPerson, " +
            "cspr.address, " +
            "cspr.record_content AS recordContent, " +
            "cspr.find_record AS findRecord, " +
            "cspr.record_photo AS recordPhoto, " +
            "cspr.remark, " +
            "cspr.succession_person AS successionPerson, " +
            "cspr.succession_time AS successionTime, " +
            "cspr.create_at AS createAt, " +
            "cspr.create_time AS createTime," +
            "csprr.report_id AS reportId" +
            "FROM  " +
            "com_sw_patrol_record AS cspr" +
            "left join com_sw_patrol_record_report AS csprr on cspr.id = csprr.patrol_record_id" +
            "<where>" +
            "<if test='comSwPatrolRecordDTO.communityId != null and comSwPatrolRecordDTO.communityId != &quot;&quot;'>" +
            "AND cspr.community_id = #{comSwPatrolRecordDTO.communityId} " +
            " </if> " +
            "<if test='comSwPatrolRecordDTO.patrolPerson != null and comSwPatrolRecordDTO.patrolPerson != &quot;&quot;'>" +
            "AND cspr.patrol_person LIKE concat('%',#{comSwPatrolRecordDTO.patrolPerson},'%') " +
            " </if> " +
            "<if test='comSwPatrolRecordDTO.patrolType != null and comSwPatrolRecordDTO.patrolType != &quot;&quot;'>" +
            "AND cspr.patrol_type = #{comSwPatrolRecordDTO.patrolType} " +
            " </if> " +
            "<if test='comSwPatrolRecordDTO.patrolAtBegin != null '>" +
            "AND cspr.patrol_time <![CDATA[ >= ]]> #{comSwPatrolRecordDTO.patrolTime}  " +
            " </if> " +
            "<if test='comSwPatrolRecordDTO.patrolAtEnd != null '>" +
            "AND cspr.patrol_time <![CDATA[ <= ]]> #{comSwPatrolRecordDTO.patrolTime}  " +
            " </if> " +
            " </where>" +
            " order by create_at desc" +
            "</script>")
    IPage<ComSwPatrolRecordVO> pagePatrolRecord(Page page, @Param("comSwPatrolRecordDTO") ComSwPatrolRecordDTO comSwPatrolRecordDTO);
    /**
     * 分页查询巡查记录
     * @param comSwPatrolRecordPageDTO 查询参数
     * @return 分页集合
     */
    IPage<ComSwPatrolRecordVO> pagePatrolRecord(Page page, @Param("comSwPatrolRecordDTO") ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComSwPatrolRecordReportDAO.java
New file
@@ -0,0 +1,15 @@
package com.panzhihua.service_community.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.panzhihua.service_community.model.dos.ComSwPatrolRecordReportDO;
import org.apache.ibatis.annotations.Mapper;
/**
 * @auther txb
 * @create 2021-07-27 15:08:24
 * @describe 社区》安全工作》巡查记录-报告关系表mapper类
 */
@Mapper
public interface ComSwPatrolRecordReportDAO extends BaseMapper<ComSwPatrolRecordReportDO> {
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComSwSafetyWorkRecordDAO.java
New file
@@ -0,0 +1,28 @@
package com.panzhihua.service_community.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.dtos.community.ComSwPatrolRecordPageDTO;
import com.panzhihua.common.model.vos.community.ComSwPatrolRecordVO;
import com.panzhihua.common.model.vos.community.ComSwSafetyWorkRecordVO;
import com.panzhihua.service_community.model.dos.ComSwSafetyWorkRecordDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
 * @auther txb
 * @create 2021-07-27 14:30:41
 * @describe mapper类
 */
@Mapper
public interface ComSwSafetyWorkRecordDAO extends BaseMapper<ComSwSafetyWorkRecordDO> {
    /**
     * 分页查询安全工作记录
     * @param comSwPatrolRecordPageDTO 查询参数
     * @return 安全工作记录分页集合
     */
    IPage<ComSwSafetyWorkRecordVO> pageSafetyWorkRecord(Page page, @Param("comSwPatrolRecordDTO") ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComMngPopulationHouseUserDO.java
@@ -47,6 +47,11 @@
    private Integer relationId;
    /**
     * 人和房屋关系’ (1.是、0.否)
     */
    private Integer residence;
    /**
     * 入住开始时间
     */
    private Date startAt;
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComSwDangerReportDO.java
New file
@@ -0,0 +1,172 @@
package com.panzhihua.service_community.model.dos;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
 * @auther txb
 * @create 2021-07-27 14:31:04
 * @describe 实体类
 */
@Data
@TableName("com_sw_danger_report")
public class ComSwDangerReportDO implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
    * 主键id
    */
    @TableId(type = IdType.INPUT)
    private Long id;
    /**
    * 隐患编号
    */
    private Integer dangerNo;
    /**
    * 隐患名称
    */
    private String dangerName;
    /**
    * 隐患类型(1.火灾隐患 2.汛情隐患 3.疫情隐患)
    */
    private String dangerType;
    /**
    * 状态(1.待处理 2.待整改 3.已整改)
    */
    private String status;
    /**
    * 风险等级(1.红色预警 2.橙色预警 3.黄色预警 4.蓝色预警)
    */
    private String dangerLevel;
    /**
    * 排查时间
    */
    private Date checkTime;
    /**
    * 主体部门、单位或个人全称
    */
    private String unitName;
    /**
    * 隐患简述
    */
    private String dagerDescription;
    /**
    * 是否立即整改(1是 、0否)
    */
    private Integer isRectifyImmediately;
    /**
    * 采取措施
    */
    private String takeSteps;
    /**
    * 采取措施照片
    */
    private String stepsPhoto;
    /**
    * 整改人员
    */
    private String rectifyPerson;
    /**
    * 整改时间
    */
    private Date rectifyTime;
    /**
    * 社区处理建议
    */
    private String communitySuggestion;
    /**
    * 街道安全人员管理建议
    */
    private String streetSuggestion;
    /**
    * 承办记录
    */
    private String undertakeRecord;
    /**
     * 领导意见
     */
    private String leaderSuggestion;
    /**
     * 指派人员
     */
    private String assignPerson;
    /**
    * 备注
    */
    private String remark;
    /**
    * 创建时间
    */
    @TableField(fill = FieldFill.INSERT)
    private Date createAt;
    /**
    * 创建人
    */
    private Long createBy;
    /**
    * 更新时间
    */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateAt;
    /**
    * 修改人
    */
    private Long updateBy;
@Override
public String toString() {
        return "ComSwDangerReportDO{" +
                "id=" + id +
                ", dangerNo=" + dangerNo +
                ", dangerName=" + dangerName +
                ", dangerType=" + dangerType +
                ", status=" + status +
                ", dangerLevel=" + dangerLevel +
                ", checkTime=" + checkTime +
                ", unitName=" + unitName +
                ", dagerDescription=" + dagerDescription +
                ", isRectifyImmediately=" + isRectifyImmediately +
                ", takeSteps=" + takeSteps +
                ", stepsPhoto=" + stepsPhoto +
                ", rectifyPerson=" + rectifyPerson +
                ", rectifyTime=" + rectifyTime +
                ", communitySuggestion=" + communitySuggestion +
                ", streetSuggestion=" + streetSuggestion +
                ", undertakeRecord=" + undertakeRecord +
                ", remark=" + remark +
                ", createAt=" + createAt +
                ", createBy=" + createBy +
                ", updateAt=" + updateAt +
                ", updateBy=" + updateBy +
        "}";
        }
        }
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComSwPatrolRecordDO.java
@@ -51,9 +51,9 @@
    private String wind;
    /**
    * (取字典表国家标准编码)巡查类型(1.防火巡查2.防汛巡查3.防疫巡查)
    * 巡查类型(1.防火巡查2.防汛巡查3.防疫巡查),多条以逗号隔开
    */
    private Integer patrolType;
    private String patrolType;
    /**
    * 巡查领导
@@ -110,45 +110,6 @@
    */
    private Integer isHiddenDanger;
    /**
    * 隐患名称
    */
    private String dagerName;
    /**
    * 排查时间
    */
    private Date checkTime;
    /**
    * 主体部门、单位或个人全称
    */
    private String unitName;
    /**
    * 隐患简述
    */
    private String dagerDescription;
    /**
    * 是否立即整改(1是 、0否)
    */
    private Integer isRectifyImmediately;
    /**
    * 采取措施
    */
    private String takeSteps;
    /**
    * 采取措施照片
    */
    private String stepsPhoto;
    /**
    * 整改人员
    */
    private String rectifyPerson;
    /**
    * 创建时间
@@ -164,7 +125,7 @@
    /**
    * 更新时间
    */
    @TableField(fill = FieldFill.UPDATE)
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateAt;
    /**
@@ -192,14 +153,6 @@
                ", successionPerson=" + successionPerson +
                ", successionTime=" + successionTime +
                ", isHiddenDanger=" + isHiddenDanger +
                ", dagerName=" + dagerName +
                ", checkTime=" + checkTime +
                ", unitName=" + unitName +
                ", dagerDescription=" + dagerDescription +
                ", isRectifyImmediately=" + isRectifyImmediately +
                ", takeSteps=" + takeSteps +
                ", stepsPhoto=" + stepsPhoto +
                ", rectifyPerson=" + rectifyPerson +
                ", createAt=" + createAt +
                ", createBy=" + createBy +
                ", updateAt=" + updateAt +
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComSwPatrolRecordReportDO.java
New file
@@ -0,0 +1,72 @@
package com.panzhihua.service_community.model.dos;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
 * @auther txb
 * @create 2021-07-27 15:08:24
 * @describe 社区》安全工作》巡查记录-报告关系表实体类
 */
@Data
@TableName("com_sw_patrol_record_report")
public class ComSwPatrolRecordReportDO implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
    * id
    */
    @TableId(type = IdType.INPUT)
    private Long id;
    /**
    * 巡查记录id
    */
    private Long patrolRecordId;
    /**
    * 报告id
    */
    private Long reportId;
    /**
    * 创建时间
    */
    @TableField(fill = FieldFill.INSERT)
    private Date createAt;
    /**
    * 创建人
    */
    private Long createBy;
    /**
    * 更新时间
    */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateAt;
    /**
    * 修改人
    */
    private Long updateBy;
@Override
public String toString() {
        return "ComSwPatrolRecordReportDO{" +
                "id=" + id +
                ", patrolRecordId=" + patrolRecordId +
                ", reportId=" + reportId +
                ", createAt=" + createAt +
                ", createBy=" + createBy +
                ", updateAt=" + updateAt +
                ", updateBy=" + updateBy +
        "}";
        }
        }
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComSwSafetyWorkRecordDO.java
New file
@@ -0,0 +1,66 @@
package com.panzhihua.service_community.model.dos;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
 * @auther txb
 * @create 2021-07-27 14:30:41
 * @describe 实体类
 */
@Data
@TableName("com_sw_safety_work_record")
public class ComSwSafetyWorkRecordDO implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
    * 主键id
    */
    @TableId(type = IdType.INPUT)
    private Long id;
    /**
    * 备注
    */
    private String remark;
    /**
    * 创建时间
    */
    @TableField(fill = FieldFill.INSERT)
    private Date createAt;
    /**
    * 创建人
    */
    private Long createBy;
    /**
    * 更新时间
    */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateAt;
    /**
    * 修改人
    */
    private Long updateBy;
@Override
public String toString() {
        return "ComSwSafetyWorkRecordDO{" +
                "id=" + id +
                ", remark=" + remark +
                ", createAt=" + createAt +
                ", createBy=" + createBy +
                ", updateAt=" + updateAt +
                ", updateBy=" + updateBy +
        "}";
        }
        }
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComSwDangerReportService.java
New file
@@ -0,0 +1,68 @@
package com.panzhihua.service_community.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.panzhihua.common.model.dtos.community.ComSwDangerReportHandleDTO;
import com.panzhihua.common.model.dtos.community.ComSwDangerReportRectifyDTO;
import com.panzhihua.common.model.dtos.community.ComSwPatrolRecordPageDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.service_community.model.dos.ComSwDangerReportDO;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/**
 * @auther txb
 * @create 2021-07-27 14:31:04
 * @describe 服务类
 */
public interface ComSwDangerReportService extends IService<ComSwDangerReportDO> {
    /**
     * 分页查询隐患报告
     * @param comSwPatrolRecordPageDTO 查询参数
     * @return 隐患报告分页集合
     */
    R pageDangerReport(ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO);
    /**
     * 根据隐患报告id查询详情
     *
     * @param dangerReportId 隐患报告id
     * @return 隐患报告详情查询结果
     */
    R detailDangerReport(Long dangerReportId);
    /**
     * 根据巡查记录id查询隐患报告详情
     *
     * @param patrolRecordId 巡查记录id
     * @return 隐患报告详情查询结果
     */
    R detailDangerReportByPrId(Long patrolRecordId);
    /**
     * 处理隐患报告
     *
     * @param comSwDangerReportHandleDTO 隐患报告处理参数
     * @return 处理结果
     */
    R handleDangerReport(ComSwDangerReportHandleDTO comSwDangerReportHandleDTO);
    /**
     * 整改隐患报告
     *
     * @param comSwDangerReportRectifyDTO 隐患报告整改参数
     * @return 整改结果
     */
    R rectifyDangerReport(ComSwDangerReportRectifyDTO comSwDangerReportRectifyDTO);
    /**
     * 隐患报告台账导出
     *
     * @param dangerReportIds
     * @return
     */
    R exportDangerReport(List<Long> dangerReportIds);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComSwPatrolRecordService.java
@@ -1,10 +1,13 @@
package com.panzhihua.service_community.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.panzhihua.common.model.dtos.community.ComMngPopulationDTO;
import com.panzhihua.common.model.dtos.community.ComSwPatrolRecordDTO;
import com.panzhihua.common.model.dtos.community.ComSwPatrolRecordAddDTO;
import com.panzhihua.common.model.dtos.community.ComSwPatrolRecordPageDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.service_community.model.dos.ComSwPatrolRecordDO;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
/**
 * @auther txb
@@ -15,8 +18,25 @@
    /**
     * 分页查询巡查记录
     * @param comSwPatrolRecordDTO 查询参数
     *
     * @param comSwPatrolRecordPageDTO 查询参数
     * @return 分页集合
     */
    R pagePatrolRecord(ComSwPatrolRecordDTO comSwPatrolRecordDTO);
    R pagePatrolRecord(ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO);
    /**
     * 新增巡查记录
     *
     * @param comSwPatrolRecordAddDTO 新增参数
     * @return 新增结果
     */
    R addPatrolRecord(ComSwPatrolRecordAddDTO comSwPatrolRecordAddDTO);
    /**
     * 根据巡查记录id查询详情
     *
     * @param patrolRecordId 巡查记录id
     * @return 巡查记录详情查询结果
     */
    R detailPatrolRecord(Long patrolRecordId);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComSwSafetyWorkRecordService.java
New file
@@ -0,0 +1,40 @@
package com.panzhihua.service_community.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.panzhihua.common.model.dtos.community.ComSwPatrolRecordPageDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.service_community.model.dos.ComSwSafetyWorkRecordDO;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
/**
 * @auther txb
 * @create 2021-07-27 14:30:41
 * @describe 服务类
 */
public interface ComSwSafetyWorkRecordService extends IService<ComSwSafetyWorkRecordDO> {
    /**
     * 分页查询安全工作记录
     * @param comSwPatrolRecordPageDTO 查询参数
     * @return 安全工作记录分页集合
     */
    R pageSafetyWorkRecord(ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO);
    /**
     * 根据安全工作记录id查询详情
     *
     * @param safetyWorkRecordId 安全工作记录
     * @return 安全工作记录详情查询结果
     */
    R detailSafetyWorkRecord(Long safetyWorkRecordId);
    /**
     * 根据巡查记录id查询安全工作记录详情
     *
     * @param patrolRecordId 巡查记录id
     * @return 安全工作记录详情查询结果
     */
    R detailSafetyWorkRecordByPrId(Long patrolRecordId);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java
@@ -2,6 +2,7 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -189,7 +190,14 @@
    public ComActActivityVO inforActivity(Long id, Long userId) {
        ComActActivityVO comActActivityVO=comActActivityDAO.inforActivity(id);
        if (!ObjectUtils.isEmpty(comActActivityVO)) {
            ComActActSignDO comActActSignDO = comActActSignDAO.selectOne(new QueryWrapper<ComActActSignDO>().lambda().eq(ComActActSignDO::getActivityId, id).eq(ComActActSignDO::getUserId, userId));
            LambdaQueryWrapper<ComActActSignDO> actSignQuery = new LambdaQueryWrapper<>();
            actSignQuery.eq(ComActActSignDO::getActivityId, id);
            if(userId != null){
                actSignQuery.eq(ComActActSignDO::getUserId, userId);
            }
            ComActActSignDO comActActSignDO = comActActSignDAO.selectOne(actSignQuery);
            if (!ObjectUtils.isEmpty(comActActSignDO)) {
                comActActivityVO.setIsSign(1);
                comActActivityVO.setIsVolunteer(comActActSignDO.getIsVolunteer());
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java
@@ -363,6 +363,7 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R listSavePopulation(List<ComMngPopulationServeExcelVO> list, Long communityId) throws Exception {
        List<ComMngPopulationMistakeExcelVO> mistakes = new ArrayList<>();
        List<ComMngPopulationImportErrorVO> populationImportErrorVOList = new ArrayList<>();
        //查询该社区
        ComActDO comActDO = comActDAO.selectById(communityId);
@@ -400,6 +401,11 @@
                importErrorVO.setErrorPosition("街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo());
                populationImportErrorVOList.add(importErrorVO);
//                index++;
                ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO();
                BeanUtils.copyProperties(vo,mistake);
                setMistake(mistake, vo);
                mistake.setMistake("街路巷或小区号不存在,请先在“小区管理”中添加该小区:街路巷:"+ vo.getRoad() +",小区号:" + vo.getDoorNo());
                mistakes.add(mistake);
                continue;
            }
@@ -454,6 +460,7 @@
                    populationHouseUserDO.setPopulId(populationDO.getId());
                    populationHouseUserDO.setRelation(vo.getRelation());
                    populationHouseUserDO.setRelationId(vo.getIsRent());
                    populationHouseUserDO.setResidence(vo.getResidence());
                    comMngPopulationHouseUserDAO.insert(populationHouseUserDO);
                }
            }
@@ -466,7 +473,7 @@
        this.saveBatch(populationDOList);*/
        if (!populationImportErrorVOList.isEmpty()) {
            return R.fail(JSON.toJSONString(populationImportErrorVOList));
            return R.fail(mistakes,JSON.toJSONString(populationImportErrorVOList));
        }
        return R.ok();
    }
@@ -814,6 +821,9 @@
                populationHouseUserDO.setRelation(houseEditDto.getRelation());
                if (houseEditDto.getIsResidence().equals(ComMngPopulationHouseEditDTO.isResidence.yes)) {
                    houseId = houseEditDto.getId();//居住地
                    populationHouseUserDO.setResidence(ComMngPopulationHouseEditDTO.isResidence.yes);
                }else {
                    populationHouseUserDO.setResidence(ComMngPopulationHouseEditDTO.isResidence.no);
                }
                populationHouseUserDOList.add(populationHouseUserDO);
@@ -1904,4 +1914,19 @@
        return R.ok(this.baseMapper.getVillagePopulationAdmin(new Page(villagePopulationDTO.getPageNum(),villagePopulationDTO.getPageSize()),villagePopulationDTO));
    }
    private void setMistake(ComMngPopulationMistakeExcelVO mvo, ComMngPopulationServeExcelVO vo){
        mvo.setPoliticalOutlook(PopulPoliticalOutlookEnum.getCnDescByName(vo.getPoliticalOutlook()));
        mvo.setIsRent(PopulHouseUseEnum.getCnDescByName(vo.getIsRent()));
        mvo.setRelation(PopulRelationEnum.getCnDescByName(vo.getRelation()));
        mvo.setHouseStatus(PopulHouseStatusEnum.getCnDescByName(vo.getHouseStatus()));
        mvo.setHousePurpose(PopulHousePurposeEnum.getCnDescByName(vo.getHousePurpose()));
        mvo.setControlStatus(PopulHouseControlStatusEnum.getCnDescByName(vo.getControlStatus()));
        mvo.setCultureLevel(PopulCultureLevelEnum.getCnDescByName(vo.getCultureLevel()));
        mvo.setMarriage(PopulMarriageEnum.getCnDescByName(vo.getMarriage()));
        mvo.setOutOrLocal(PopulOutOrLocalEnum.getCnDescByName(vo.getOutOrLocal()));
        mvo.setResidence(PopulRelationEnum.getCnDescByName(vo.getResidence()));
        mvo.setPersonType(PopulPersonTypeEnum.getCnDescByName(vo.getPersonType()));
        mvo.setDeath(PopulOutOrLocalEnum.getCnDescByName(vo.getDeath()));
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwDangerReportServiceImpl.java
New file
@@ -0,0 +1,175 @@
package com.panzhihua.service_community.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.panzhihua.common.enums.SafeWordStatusEnum;
import com.panzhihua.common.model.dtos.community.ComSwDangerReportHandleDTO;
import com.panzhihua.common.model.dtos.community.ComSwDangerReportRectifyDTO;
import com.panzhihua.common.model.dtos.community.ComSwPatrolRecordPageDTO;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComMngCarExcelVO;
import com.panzhihua.common.model.vos.community.ComSwDangerReportExcelVO;
import com.panzhihua.common.model.vos.community.ComSwDangerReportVO;
import com.panzhihua.common.model.vos.community.ComSwSafetyWorkRecordVO;
import com.panzhihua.common.service.user.UserService;
import com.panzhihua.common.utlis.StringUtils;
import com.panzhihua.service_community.dao.ComSwDangerReportDAO;
import com.panzhihua.service_community.dao.ComSwPatrolRecordDAO;
import com.panzhihua.service_community.dao.ComSwPatrolRecordReportDAO;
import com.panzhihua.service_community.model.dos.ComSwDangerReportDO;
import com.panzhihua.service_community.model.dos.ComSwPatrolRecordDO;
import com.panzhihua.service_community.model.dos.ComSwPatrolRecordReportDO;
import com.panzhihua.service_community.model.dos.ComSwSafetyWorkRecordDO;
import com.panzhihua.service_community.service.ComSwDangerReportService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
 * @auther txb
 * @create 2021-07-27 14:31:04
 * @describe 服务实现类
 */
@Slf4j
@Service
public class ComSwDangerReportServiceImpl extends ServiceImpl<ComSwDangerReportDAO, ComSwDangerReportDO> implements ComSwDangerReportService {
    @Resource
    private ComSwDangerReportDAO comSwDangerReportDAO;
    @Resource
    private ComSwPatrolRecordDAO comSwPatrolRecordDAO;
    @Resource
    private ComSwPatrolRecordReportDAO comSwPatrolRecordReportDAO;
    @Resource
    private UserService userService;
    @Override
    public R pageDangerReport(ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO) {
        Page page = new Page<>();
        Long pageNum = comSwPatrolRecordPageDTO.getPageNum();
        Long pageSize = comSwPatrolRecordPageDTO.getPageSize();
        if (null == pageNum || 0 == pageNum) {
            pageNum = 1L;
        }
        if (null == pageSize || 0 == pageSize) {
            pageSize = 10L;
        }
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<ComSwDangerReportVO> iPage = comSwDangerReportDAO.pageDangerReport(page, comSwPatrolRecordPageDTO);
        if (!iPage.getRecords().isEmpty()) {
            iPage.getRecords().forEach(comSwDangerReportVO -> {
                if (StringUtils.isNotEmpty(comSwDangerReportVO.getAssignPerson())) {
                    comSwDangerReportVO.setIsAssign(ComSwDangerReportVO.isOk.no);
                }else {
                    comSwDangerReportVO.setIsAssign(ComSwDangerReportVO.isOk.yes);
                }
                List<String> patrolUserIds = Arrays.asList(comSwDangerReportVO.getPatrolPerson().split(","));
                List<String> patrolPhones = new ArrayList<>();
                for (String userId : patrolUserIds) {
                    LoginUserInfoVO loginUserInfoVO = userService.getUserInfoByUserId(userId).getData();
                    patrolPhones.add(loginUserInfoVO.getPhone());
                }
                comSwDangerReportVO.setPatrolPersonPhone(StringUtils.join(patrolPhones,","));
                List<String> rectifyUserIds = Arrays.asList(comSwDangerReportVO.getRectifyPerson().split(","));
                List<String> rectifyPhones = new ArrayList<>();
                for (String userId : rectifyUserIds) {
                    LoginUserInfoVO loginUserInfoVO = userService.getUserInfoByUserId(userId).getData();
                    rectifyPhones.add(loginUserInfoVO.getPhone());
                }
                comSwDangerReportVO.setRectifyPersonPhone(StringUtils.join(rectifyPhones,","));
            });
        }
        return R.ok(iPage);
    }
    @Override
    public R detailDangerReport(Long dangerReportId) {
        ComSwDangerReportDO comSwDangerReportDO = comSwDangerReportDAO.selectById(dangerReportId);
        if (null == comSwDangerReportDO) {
            return R.fail("该隐患报告不存在");
        }
        ComSwDangerReportVO comSwDangerReportVO = new ComSwDangerReportVO();
        ComSwPatrolRecordReportDO comSwPatrolRecordReportDO = comSwPatrolRecordReportDAO.selectOne(new QueryWrapper<ComSwPatrolRecordReportDO>().lambda().eq(ComSwPatrolRecordReportDO::getReportId, dangerReportId));
        if (null != comSwPatrolRecordReportDO) {
            ComSwPatrolRecordDO comSwPatrolRecordDO = comSwPatrolRecordDAO.selectById(comSwPatrolRecordReportDO.getPatrolRecordId());
            BeanUtils.copyProperties(comSwPatrolRecordDO, comSwDangerReportVO);
        }
        BeanUtils.copyProperties(comSwDangerReportDO, comSwDangerReportVO);
        return R.ok(comSwDangerReportVO);
    }
    @Override
    public R detailDangerReportByPrId(Long patrolRecordId) {
        ComSwPatrolRecordDO comSwPatrolRecordDO = comSwPatrolRecordDAO.selectById(patrolRecordId);
        ComSwDangerReportVO comSwDangerReportVO = new ComSwDangerReportVO();
        ComSwPatrolRecordReportDO comSwPatrolRecordReportDO = comSwPatrolRecordReportDAO.selectOne(new QueryWrapper<ComSwPatrolRecordReportDO>().lambda().eq(ComSwPatrolRecordReportDO::getPatrolRecordId, patrolRecordId));
        if (null != comSwPatrolRecordReportDO) {
            ComSwDangerReportDO comSwDangerReportDO = comSwDangerReportDAO.selectById(comSwPatrolRecordReportDO.getReportId());
            if (null == comSwDangerReportDO) {
                return R.fail("该隐患报告不存在");
            }
            BeanUtils.copyProperties(comSwDangerReportDO, comSwDangerReportVO);
        }
        BeanUtils.copyProperties(comSwPatrolRecordDO, comSwDangerReportVO);
        return R.ok(comSwDangerReportVO);
    }
    @Override
    public R handleDangerReport(ComSwDangerReportHandleDTO comSwDangerReportHandleDTO) {
        ComSwDangerReportDO comSwDangerReportDO = comSwDangerReportDAO.selectById(comSwDangerReportHandleDTO.getDangerReportId());
        if (null == comSwDangerReportDO) {
            return R.fail("该隐患报告不存在");
        }
        BeanUtils.copyProperties(comSwDangerReportHandleDTO, comSwDangerReportDO);
        comSwDangerReportDO.setStatus(String.valueOf(SafeWordStatusEnum.YCL.getCode()));
        int update = comSwDangerReportDAO.updateById(comSwDangerReportDO);
        if (update > 0) {
            return R.ok();
        }
        return R.fail("处理失败");
    }
    @Override
    public R rectifyDangerReport(ComSwDangerReportRectifyDTO comSwDangerReportRectifyDTO) {
        ComSwDangerReportDO comSwDangerReportDO = comSwDangerReportDAO.selectById(comSwDangerReportRectifyDTO.getDangerReportId());
        if (null == comSwDangerReportDO) {
            return R.fail("该隐患报告不存在");
        }
        BeanUtils.copyProperties(comSwDangerReportRectifyDTO, comSwDangerReportDO);
        comSwDangerReportDO.setStatus(String.valueOf(SafeWordStatusEnum.YZG.getCode()));
        int update = comSwDangerReportDAO.updateById(comSwDangerReportDO);
        if (update > 0) {
            return R.ok();
        }
        return R.fail("整改失败");
    }
    @Override
    public R exportDangerReport(List<Long> dangerReportIds) {
        List<ComSwDangerReportExcelVO> list = comSwDangerReportDAO.exportDangerReport(dangerReportIds);
        list.forEach(comSwDangerReportExcelVO -> {
            List<String> patrolUserIds = Arrays.asList(comSwDangerReportExcelVO.getPatrolPerson().split(","));
            List<String> patrolPhones = new ArrayList<>();
            for (String userId : patrolUserIds) {
                LoginUserInfoVO loginUserInfoVO = userService.getUserInfoByUserId(userId).getData();
                patrolPhones.add(loginUserInfoVO.getPhone());
            }
            comSwDangerReportExcelVO.setPatrolPersonPhone(StringUtils.join(patrolPhones,","));
        });
        return R.ok(list);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwPatrolRecordServiceImpl.java
@@ -1,18 +1,29 @@
package com.panzhihua.service_community.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.panzhihua.common.model.dtos.community.ComSwPatrolRecordDTO;
import com.panzhihua.common.enums.SafeWordStatusEnum;
import com.panzhihua.common.model.dtos.community.ComSwPatrolRecordAddDTO;
import com.panzhihua.common.model.dtos.community.ComSwPatrolRecordPageDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComMngRealAssetsVO;
import com.panzhihua.common.model.vos.community.ComSwPatrolRecordVO;
import com.panzhihua.common.utlis.Snowflake;
import com.panzhihua.common.utlis.StringUtils;
import com.panzhihua.service_community.dao.ComSwDangerReportDAO;
import com.panzhihua.service_community.dao.ComSwPatrolRecordDAO;
import com.panzhihua.service_community.model.dos.ComSwPatrolRecordDO;
import com.panzhihua.service_community.dao.ComSwPatrolRecordReportDAO;
import com.panzhihua.service_community.dao.ComSwSafetyWorkRecordDAO;
import com.panzhihua.service_community.model.dos.*;
import com.panzhihua.service_community.service.ComSwPatrolRecordService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
/**
 * @auther txb
@@ -26,11 +37,20 @@
    @Resource
    private ComSwPatrolRecordDAO comSwPatrolRecordDAO;
    @Resource
    private ComSwSafetyWorkRecordDAO comSwSafetyWorkRecordDAO;
    @Resource
    private ComSwDangerReportDAO comSwDangerReportDAO;
    @Resource
    private ComSwPatrolRecordReportDAO comSwPatrolRecordReportDAO;
    @Override
    public R pagePatrolRecord(ComSwPatrolRecordDTO comSwPatrolRecordDTO) {
    public R pagePatrolRecord(ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO) {
        Page page = new Page<>();
        Long pageNum = comSwPatrolRecordDTO.getPageNum();
        Long pageSize = comSwPatrolRecordDTO.getPageSize();
        Long pageNum = comSwPatrolRecordPageDTO.getPageNum();
        Long pageSize = comSwPatrolRecordPageDTO.getPageSize();
        if (null == pageNum || 0 == pageNum) {
            pageNum = 1L;
        }
@@ -40,7 +60,71 @@
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<ComSwPatrolRecordVO> iPage = comSwPatrolRecordDAO.pagePatrolRecord(page, comSwPatrolRecordDTO);
        IPage<ComSwPatrolRecordVO> iPage = comSwPatrolRecordDAO.pagePatrolRecord(page, comSwPatrolRecordPageDTO);
        return R.ok(iPage);
    }
    @Override
    public R addPatrolRecord(ComSwPatrolRecordAddDTO comSwPatrolRecordAddDTO) {
        //巡查记录
        ComSwPatrolRecordDO comSwPatrolRecordDO = new ComSwPatrolRecordDO();
        BeanUtils.copyProperties(comSwPatrolRecordAddDTO, comSwPatrolRecordDO);
        Long patrolRecordId = Snowflake.getId();
        comSwPatrolRecordDO.setId(patrolRecordId);
        comSwPatrolRecordDAO.insert(comSwPatrolRecordDO);
        //巡查记录和关联报告信息
        ComSwPatrolRecordReportDO comSwPatrolRecordReportDO = new ComSwPatrolRecordReportDO();
        Long patrolRecordReport = Snowflake.getId();
        comSwPatrolRecordReportDO.setId(patrolRecordReport);
        comSwPatrolRecordReportDO.setPatrolRecordId(patrolRecordId);
        if (comSwPatrolRecordAddDTO.getIsHiddenDanger().intValue() == ComSwPatrolRecordAddDTO.isOk.yes) {
            //如果存在安全隐患,自动生成安全隐患报告
            ComSwDangerReportDO comSwDangerReportDO = new ComSwDangerReportDO();
            BeanUtils.copyProperties(comSwPatrolRecordAddDTO, comSwDangerReportDO);
            Long dangerReportId = Snowflake.getId();
            comSwDangerReportDO.setId(dangerReportId);
            comSwPatrolRecordReportDO.setReportId(dangerReportId);
            comSwDangerReportDO.setDangerType(comSwPatrolRecordAddDTO.getPatrolType());
            if (comSwPatrolRecordAddDTO.getIsRectifyImmediately().intValue() == ComSwPatrolRecordAddDTO.isOk.yes && StringUtils.isNotEmpty(comSwPatrolRecordAddDTO.getTakeSteps())) {
                comSwDangerReportDO.setStatus(String.valueOf(SafeWordStatusEnum.YZG.getCode()));
            }
            comSwDangerReportDO.setRectifyTime(new Date());
            comSwDangerReportDAO.insert(comSwDangerReportDO);
        }else {
            //不存在安全隐患,生成安全工作记录
            ComSwSafetyWorkRecordDO comSwSafetyWorkRecordDO = new ComSwSafetyWorkRecordDO();
            BeanUtils.copyProperties(comSwPatrolRecordAddDTO, comSwSafetyWorkRecordDO);
            Long safetyWorkRecord = Snowflake.getId();
            comSwSafetyWorkRecordDO.setId(safetyWorkRecord);
            comSwPatrolRecordReportDO.setReportId(safetyWorkRecord);
            comSwSafetyWorkRecordDAO.insert(comSwSafetyWorkRecordDO);
        }
        comSwPatrolRecordReportDAO.insert(comSwPatrolRecordReportDO);
        return R.ok();
    }
    @Override
    public R detailPatrolRecord(Long patrolRecordId) {
        ComSwPatrolRecordDO comSwPatrolRecordDO = comSwPatrolRecordDAO.selectById(patrolRecordId);
        if (null == comSwPatrolRecordDO) {
            return R.fail("该巡查记录不存在");
        }
        ComSwPatrolRecordVO comSwPatrolRecordVO = new ComSwPatrolRecordVO();
        BeanUtils.copyProperties(comSwPatrolRecordDO, comSwPatrolRecordVO);
        ComSwPatrolRecordReportDO comSwPatrolRecordReportDO = comSwPatrolRecordReportDAO.selectOne(new QueryWrapper<ComSwPatrolRecordReportDO>().lambda().eq(ComSwPatrolRecordReportDO::getPatrolRecordId, patrolRecordId));
        if (null != comSwPatrolRecordReportDO) {
            if (comSwPatrolRecordVO.getIsHiddenDanger().equals(ComSwPatrolRecordVO.isOk.yes)) {
                if (null != comSwDangerReportDAO.selectById(comSwPatrolRecordReportDO.getReportId())) {
                    comSwPatrolRecordVO.setDisplayButton(3);
                }else {
                    comSwPatrolRecordVO.setDisplayButton(2);
                }
            }else{
                if (null != comSwSafetyWorkRecordDAO.selectById(comSwPatrolRecordReportDO.getReportId())) {
                    comSwPatrolRecordVO.setDisplayButton(1);
                }
            }
        }
        return R.ok(comSwPatrolRecordVO);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwSafetyWorkRecordServiceImpl.java
New file
@@ -0,0 +1,89 @@
package com.panzhihua.service_community.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.panzhihua.common.model.dtos.community.ComSwPatrolRecordPageDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComSwPatrolRecordVO;
import com.panzhihua.common.model.vos.community.ComSwSafetyWorkRecordVO;
import com.panzhihua.service_community.dao.ComSwPatrolRecordDAO;
import com.panzhihua.service_community.dao.ComSwPatrolRecordReportDAO;
import com.panzhihua.service_community.dao.ComSwSafetyWorkRecordDAO;
import com.panzhihua.service_community.model.dos.ComSwPatrolRecordDO;
import com.panzhihua.service_community.model.dos.ComSwPatrolRecordReportDO;
import com.panzhihua.service_community.model.dos.ComSwSafetyWorkRecordDO;
import com.panzhihua.service_community.service.ComSwSafetyWorkRecordService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
 * @auther txb
 * @create 2021-07-27 14:30:41
 * @describe 服务实现类
 */
@Slf4j
@Service
public class ComSwSafetyWorkRecordServiceImpl extends ServiceImpl<ComSwSafetyWorkRecordDAO, ComSwSafetyWorkRecordDO> implements ComSwSafetyWorkRecordService {
    @Resource
    private ComSwSafetyWorkRecordDAO comSwSafetyWorkRecordDAO;
    @Resource
    private ComSwPatrolRecordDAO comSwPatrolRecordDAO;
    @Resource
    private ComSwPatrolRecordReportDAO comSwPatrolRecordReportDAO;
    @Override
    public R pageSafetyWorkRecord(ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO) {
        Page page = new Page<>();
        Long pageNum = comSwPatrolRecordPageDTO.getPageNum();
        Long pageSize = comSwPatrolRecordPageDTO.getPageSize();
        if (null == pageNum || 0 == pageNum) {
            pageNum = 1L;
        }
        if (null == pageSize || 0 == pageSize) {
            pageSize = 10L;
        }
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<ComSwSafetyWorkRecordVO> iPage = comSwSafetyWorkRecordDAO.pageSafetyWorkRecord(page, comSwPatrolRecordPageDTO);
        return R.ok(iPage);
    }
    @Override
    public R detailSafetyWorkRecord(Long safetyWorkRecordId) {
        ComSwSafetyWorkRecordDO swSafetyWorkRecordDO = comSwSafetyWorkRecordDAO.selectById(safetyWorkRecordId);
        if (null == swSafetyWorkRecordDO) {
            return R.fail("该安全工作记录不存在");
        }
        ComSwPatrolRecordReportDO comSwPatrolRecordReportDO = comSwPatrolRecordReportDAO.selectOne(new QueryWrapper<ComSwPatrolRecordReportDO>().lambda().eq(ComSwPatrolRecordReportDO::getReportId, safetyWorkRecordId));
        ComSwSafetyWorkRecordVO comSwSafetyWorkRecordVO = new ComSwSafetyWorkRecordVO();
        if (null != comSwPatrolRecordReportDO) {
            ComSwPatrolRecordDO comSwPatrolRecordDO = comSwPatrolRecordDAO.selectById(comSwPatrolRecordReportDO.getPatrolRecordId());
            BeanUtils.copyProperties(comSwPatrolRecordDO, comSwSafetyWorkRecordVO);
        }
        return R.ok(comSwSafetyWorkRecordVO);
    }
    @Override
    public R detailSafetyWorkRecordByPrId(Long patrolRecordId) {
        ComSwPatrolRecordDO comSwPatrolRecordDO = comSwPatrolRecordDAO.selectById(patrolRecordId);
        ComSwPatrolRecordReportDO comSwPatrolRecordReportDO = comSwPatrolRecordReportDAO.selectOne(new QueryWrapper<ComSwPatrolRecordReportDO>().lambda().eq(ComSwPatrolRecordReportDO::getPatrolRecordId, patrolRecordId));
        if (null != comSwPatrolRecordReportDO) {
            ComSwSafetyWorkRecordDO comSwSafetyWorkRecordDO = comSwSafetyWorkRecordDAO.selectById(comSwPatrolRecordReportDO.getReportId());
            if (null == comSwSafetyWorkRecordDO) {
                return R.fail("该安全工作记录不存在");
            }
        }
        ComSwSafetyWorkRecordVO comSwSafetyWorkRecordVO = new ComSwSafetyWorkRecordVO();
        BeanUtils.copyProperties(comSwPatrolRecordDO, comSwSafetyWorkRecordVO);
        return R.ok(comSwSafetyWorkRecordVO);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwDangerReportMapper.xml
New file
@@ -0,0 +1,157 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.panzhihua.service_community.dao.ComSwDangerReportDAO">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComSwDangerReportDO">
                <id column="id" property="id" />
                <result column="danger_no" property="dangerNo" />
                <result column="danger_name" property="dangerName" />
                <result column="danger_type" property="dangerType" />
                <result column="status" property="status" />
                <result column="danger_level" property="dangerLevel" />
                <result column="check_time" property="checkTime" />
                <result column="unit_name" property="unitName" />
                <result column="dager_description" property="dagerDescription" />
                <result column="is_rectify_immediately" property="isRectifyImmediately" />
                <result column="take_steps" property="takeSteps" />
                <result column="steps_photo" property="stepsPhoto" />
                <result column="rectify_person" property="rectifyPerson" />
                <result column="rectify_time" property="rectifyTime" />
                <result column="community_suggestion" property="communitySuggestion" />
                <result column="street_suggestion" property="streetSuggestion" />
                <result column="undertake_record" property="undertakeRecord" />
                <result column="leader_suggestion" property="leaderSuggestion" />
                <result column="assign_person" property="assignPerson" />
                <result column="remark" property="remark" />
                <result column="create_at" property="createAt" />
                <result column="create_by" property="createBy" />
                <result column="update_at" property="updateAt" />
                <result column="update_by" property="updateBy" />
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
    id, danger_no, danger_name, danger_type, status, danger_level, check_time, unit_name, dager_description, is_rectify_immediately, take_steps, steps_photo, rectify_person, rectify_time, community_suggestion, street_suggestion, undertake_record, remark, create_at, create_by, update_at, update_by
    </sql>
    <select id="pageDangerReport" resultType="com.panzhihua.common.model.vos.community.ComSwDangerReportVO">
        SELECT
            csdr.id,
            cspr.community_id AS communityId,
            cspr.patrol_time AS patrolTime,
            cspr.weather,
            cspr.temperature,
            cspr.wind,
            cspr.patrol_type AS patrolType,
            cspr.patrol_person AS patrolPerson,
            cspr.address,
            cspr.record_content AS recordContent,
            cspr.find_record AS findRecord,
            cspr.record_photo AS recordPhoto,
            cspr.create_at AS createAt,
            cspr.create_by AS createBy,
            csdr.remark,
            csdr.danger_name AS dangerName,
            csdr.check_time AS checkTime,
            csdr.unit_name AS unitName,
            csdr.dager_description AS dagerDescription,
            csdr.danger_no AS dangerNo,
            csdr.danger_type AS dangerType,
            csdr.status,
            csdr.danger_level AS dangerLevel,
            csdr.take_steps AS takeSteps,
            csdr.steps_photo AS stepsPhoto,
            csdr.rectify_person AS rectifyPerson,
            csdr.rectify_time AS rectifyTime,
            csdr.community_suggestion AS communitySuggestion,
            csdr.street_suggestion AS streetSuggestion,
            csdr.undertake_record AS undertakeRecord,
            csdr.leader_suggestion AS leaderSuggestion,
            csdr.assign_person AS assignPerson
        FROM
            com_sw_danger_report as csdr
                left join com_sw_patrol_record_report as csprr on csprr.report_id = csdr.id
                left join com_sw_patrol_record as cspr on csprr.patrol_record_id = cspr.id
        <where>
            <if test='comSwPatrolRecordDTO.communityId != null and comSwPatrolRecordDTO.communityId != ""'>
                AND cspr.community_id = #{comSwPatrolRecordDTO.communityId}
            </if>
            <if test='comSwPatrolRecordDTO.patrolPerson != null and comSwPatrolRecordDTO.patrolPerson != ""'>
                AND cspr.patrol_person LIKE concat('%',#{comSwPatrolRecordDTO.patrolPerson},'%')
            </if>
            <if test='comSwPatrolRecordDTO.patrolType != null and comSwPatrolRecordDTO.patrolType != ""'>
                AND cspr.patrol_type = #{comSwPatrolRecordDTO.patrolType}
            </if>
            <if test='comSwPatrolRecordDTO.status != null and comSwPatrolRecordDTO.status != ""'>
                AND cspr.patrol_type = #{comSwPatrolRecordDTO.patrolType}
            </if>
            <if test='comSwPatrolRecordDTO.patrolAtBegin != null '>
                AND cspr.patrol_time <![CDATA[ >= ]]> #{comSwPatrolRecordDTO.patrolTime}
            </if>
            <if test='comSwPatrolRecordDTO.patrolAtEnd != null '>
                AND cspr.patrol_time <![CDATA[ <= ]]> #{comSwPatrolRecordDTO.patrolTime}
            </if>
        </where>
        order by csdr.create_at desc
    </select>
    <select id="detailDangerReport" resultType="com.panzhihua.common.model.vos.community.ComSwDangerReportVO">
        SELECT
        csdr.id,
        cspr.community_id AS communityId,
        cspr.patrol_time AS patrolTime,
        cspr.weather,
        cspr.temperature,
        cspr.wind,
        cspr.patrol_type AS patrolType,
        cspr.patrol_person AS patrolPerson,
        cspr.address,
        cspr.record_content AS recordContent,
        cspr.find_record AS findRecord,
        cspr.record_photo AS recordPhoto,
        cspr.create_at AS createAt,
        cspr.create_by AS createBy,
        csdr.remark,
        csdr.danger_name AS dangerName,
        csdr.check_time AS checkTime,
        csdr.unit_name AS unitName,
        csdr.dager_description AS dagerDescription,
        csdr.danger_no AS dangerNo,
        csdr.danger_type AS dangerType,
        csdr.status,
        csdr.danger_level AS dangerLevel,
        csdr.take_steps AS takeSteps,
        csdr.steps_photo AS stepsPhoto,
        csdr.rectify_person AS rectifyPerson,
        csdr.rectify_time AS rectifyTime,
        csdr.community_suggestion AS communitySuggestion,
        csdr.street_suggestion AS streetSuggestion,
        csdr.undertake_record AS undertakeRecord,
        csdr.leader_suggestion AS leaderSuggestion,
        csdr.assign_person AS assignPerson
        FROM
        com_sw_danger_report as csdr
        left join com_sw_patrol_record_report as csprr on csprr.report_id = csdr.id
        left join com_sw_patrol_record as cspr on csprr.patrol_record_id = cspr.id
        where csdr.id = #{dangerReportId}
    </select>
    <select id="exportDangerReport" resultType="com.panzhihua.common.model.vos.community.ComSwDangerReportExcelVO" parameterType="java.util.List">
        SELECT
            cspr.patrol_person AS patrolPerson,
            cspr.address,
            csdr.remark,
            csdr.dager_description AS dagerDescription,
            csdr.danger_type AS dangerType,
            csdr.danger_level AS dangerLevel
        FROM
            com_sw_danger_report as csdr
                left join com_sw_patrol_record_report as csprr on csprr.report_id = csdr.id
                left join com_sw_patrol_record as cspr on csprr.patrol_record_id = cspr.id
        where csdr.id in
        <foreach collection="dangerReportIds" item="item" open="(" close=")" separator=",">
            #{item}
        </foreach>
    </select>
</mapper>
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwPatrolRecordMapper.xml
New file
@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.panzhihua.service_community.dao.ComSwPatrolRecordDAO">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComSwPatrolRecordDO">
                <id column="id" property="id" />
                <result column="community_id" property="communityId" />
                <result column="patrol_time" property="patrolTime" />
                <result column="weather" property="weather" />
                <result column="temperature" property="temperature" />
                <result column="wind" property="wind" />
                <result column="patrol_type" property="patrolType" />
                <result column="patrol_leader" property="patrolLeader" />
                <result column="patrol_person" property="patrolPerson" />
                <result column="address" property="address" />
                <result column="record_content" property="recordContent" />
                <result column="find_record" property="findRecord" />
                <result column="record_photo" property="recordPhoto" />
                <result column="remark" property="remark" />
                <result column="succession_leader" property="successionLeader" />
                <result column="succession_person" property="successionPerson" />
                <result column="succession_time" property="successionTime" />
                <result column="is_hidden_danger" property="isHiddenDanger" />
                <result column="create_at" property="createAt" />
                <result column="create_by" property="createBy" />
                <result column="update_at" property="updateAt" />
                <result column="update_by" property="updateBy" />
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
    id, community_id, patrol_time, weather, temperature, wind, patrol_type, patrol_leader, patrol_person, address, record_content, find_record, record_photo, remark, succession_leader, succession_person, succession_time, is_hidden_danger, create_at, create_by, update_at, update_by
    </sql>
    <select id="pagePatrolRecord" resultType="com.panzhihua.common.model.vos.community.ComSwPatrolRecordVO">
        SELECT
            cspr.id,
            cspr.community_id AS communityId,
            cspr.patrol_time AS patrolTime,
            cspr.weather,
            cspr.temperature,
            cspr.wind,
            cspr.patrol_type AS patrolType,
            cspr.patrol_person AS patrolPerson,
            cspr.address,
            cspr.record_content AS recordContent,
            cspr.find_record AS findRecord,
            cspr.record_photo AS recordPhoto,
            cspr.remark,
            cspr.succession_person AS successionPerson,
            cspr.succession_time AS successionTime,
            cspr.create_at AS createAt,
            cspr.create_by AS createBy,
            csprr.report_id AS reportId
        FROM
            com_sw_patrol_record as cspr
        left join com_sw_patrol_record_report as csprr on csprr.patrol_record_id = cspr.id
        <where>
            <if test='comSwPatrolRecordDTO.communityId != null and comSwPatrolRecordDTO.communityId != ""'>
                AND cspr.community_id = #{comSwPatrolRecordDTO.communityId}
            </if>
            <if test='comSwPatrolRecordDTO.patrolPerson != null and comSwPatrolRecordDTO.patrolPerson != ""'>
                AND cspr.patrol_person LIKE concat('%',#{comSwPatrolRecordDTO.patrolPerson},'%')
            </if>
            <if test='comSwPatrolRecordDTO.patrolType != null and comSwPatrolRecordDTO.patrolType != ""'>
                AND cspr.patrol_type = #{comSwPatrolRecordDTO.patrolType}
            </if>
            <if test='comSwPatrolRecordDTO.patrolAtBegin != null '>
                AND cspr.patrol_time <![CDATA[ >= ]]> #{comSwPatrolRecordDTO.patrolTime}
            </if>
            <if test='comSwPatrolRecordDTO.patrolAtEnd != null '>
                AND cspr.patrol_time <![CDATA[ <= ]]> #{comSwPatrolRecordDTO.patrolTime}
            </if>
        </where>
        order by cspr.create_at desc
    </select>
</mapper>
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwPatrolRecordReportMapper.xml
New file
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.panzhihua.service_community.dao.ComSwPatrolRecordReportDAO">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComSwPatrolRecordReportDO">
                <id column="id" property="id" />
                <result column="patrol_record_id" property="patrolRecordId" />
                <result column="report_id" property="reportId" />
                <result column="create_at" property="createAt" />
                <result column="create_by" property="createBy" />
                <result column="update_at" property="updateAt" />
                <result column="update_by" property="updateBy" />
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
    id, patrol_record_id, report_id, create_at, create_by, update_at, update_by
    </sql>
</mapper>
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwSafetyWorkRecordMapper.xml
New file
@@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.panzhihua.service_community.dao.ComSwSafetyWorkRecordDAO">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComSwSafetyWorkRecordDO">
        <id column="id" property="id" />
        <result column="remark" property="remark" />
        <result column="create_at" property="createAt" />
        <result column="create_by" property="createBy" />
        <result column="update_at" property="updateAt" />
        <result column="update_by" property="updateBy" />
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
    id, remark, create_at, create_by, update_at, update_by
    </sql>
    <select id="pageSafetyWorkRecord" resultType="com.panzhihua.common.model.vos.community.ComSwSafetyWorkRecordVO">
        SELECT
        csswr.id,
        cspr.community_id AS communityId,
        cspr.patrol_time AS patrolTime,
        cspr.weather,
        cspr.temperature,
        cspr.wind,
        cspr.patrol_type AS patrolType,
        cspr.patrol_person AS patrolPerson,
        cspr.address,
        cspr.record_content AS recordContent,
        cspr.find_record AS findRecord,
        cspr.record_photo AS recordPhoto,
        csswr.remark,
        cspr.create_at AS createAt,
        cspr.create_by AS createBy
        FROM
        com_sw_safety_work_record as csswr
        left join com_sw_patrol_record_report as csprr on csprr.report_id = csswr.id
        left join com_sw_patrol_record as cspr on csprr.patrol_record_id = cspr.id
        <where>
            <if test='comSwPatrolRecordDTO.communityId != null and comSwPatrolRecordDTO.communityId != ""'>
                AND cspr.community_id = #{comSwPatrolRecordDTO.communityId}
            </if>
            <if test='comSwPatrolRecordDTO.patrolPerson != null and comSwPatrolRecordDTO.patrolPerson != ""'>
                AND cspr.patrol_person LIKE concat('%',#{comSwPatrolRecordDTO.patrolPerson},'%')
            </if>
            <if test='comSwPatrolRecordDTO.patrolType != null and comSwPatrolRecordDTO.patrolType != ""'>
                AND cspr.patrol_type = #{comSwPatrolRecordDTO.patrolType}
            </if>
            <if test='comSwPatrolRecordDTO.patrolAtBegin != null '>
                AND cspr.patrol_time <![CDATA[ >= ]]> #{comSwPatrolRecordDTO.patrolTime}
            </if>
            <if test='comSwPatrolRecordDTO.patrolAtEnd != null '>
                AND cspr.patrol_time <![CDATA[ <= ]]> #{comSwPatrolRecordDTO.patrolTime}
            </if>
        </where>
        order by csswr.create_at desc
    </select>
</mapper>
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/api/StatisticsApi.java
@@ -43,8 +43,8 @@
     * @return  网格统计数据
     */
    @PostMapping("/getGridEventStatistics")
    public R getGridEventStatisticsByApp(@RequestParam("gridId") Long gridId){
        return eventService.getGridEventStatisticsByApp(gridId);
    public R getGridEventStatisticsByApp(@RequestParam("gridId") Long gridId,@RequestParam("userId") Long userId){
        return eventService.getGridEventStatisticsByApp(gridId,userId);
    }
    /**
@@ -56,4 +56,14 @@
    public R getGridEventDetailStatisticsByApp(@RequestBody GridEventStatisticsDTO statisticsDTO){
        return eventService.getGridEventDetailStatisticsByApp(statisticsDTO);
    }
    /**
     * 查询所有网格员工作汇总数据
     * @param statisticsAdminDTO    请求参数
     * @return  网格员工作汇总数据
     */
    @PostMapping("/admin/gridMemberStatisticsAll")
    public R gridMemberStatisticsAll(@RequestBody MemberStatisticsAdminDTO statisticsAdminDTO){
        return eventService.gridMemberStatisticsAll(statisticsAdminDTO);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/dao/EventGridMemberRelationMapper.java
@@ -68,4 +68,6 @@
    List<EventMapGridCascadeVO> getMapGridsListsByApp(@Param("userId") Long userId, @Param("type") Integer type, @Param("communityId") Long communityId);
    List<EventStatisticsMemberAdminVO> gridMemberStatisticsAll(@Param("statisticsAdminDTO") MemberStatisticsAdminDTO statisticsAdminDTO);
}
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/dao/EventMapper.java
@@ -137,4 +137,8 @@
    List<CivilVillageStatisticsVO> getCivilScreenVillageList(@Param("communityId") Long communityId);
    ScreenDrawEventPopulationTotalVO getVillagePopulationTotal(@Param("villageId") Long villageId);
    List<Map<String,Object>> getMemberBuildName(@Param("userId") Long userId);
    Integer getPopulationByLabelCount(@Param("floor") String floor,@Param("villageId") Long villageId);
}
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/EventService.java
@@ -229,7 +229,7 @@
     * @param gridId    网格id
     * @return  网格统计数据
     */
    R getGridEventStatisticsByApp(Long gridId);
    R getGridEventStatisticsByApp(Long gridId,Long userId);
    /**
     * 查询网格事件统计数据
@@ -290,4 +290,11 @@
     * @return  小区统计数据
     */
    R civilVillageStatistics(Long villageId);
    /**
     * 查询所有网格员工作汇总数据
     * @param statisticsAdminDTO    请求参数
     * @return  网格员工作汇总数据
     */
    R gridMemberStatisticsAll(MemberStatisticsAdminDTO statisticsAdminDTO);
}
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventGridDataServiceImpl.java
@@ -12,6 +12,7 @@
import com.panzhihua.common.model.dtos.grid.PageEventGridDataDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.grid.*;
import com.panzhihua.common.utlis.Snowflake;
import com.panzhihua.service_grid.dao.*;
import com.panzhihua.service_grid.model.dos.*;
import com.panzhihua.service_grid.service.EventGridDataService;
@@ -206,11 +207,22 @@
                if(eventGridDataDTO.getLcGridId() != null){
                    //关联市平台网格
                    LcCompareCodeDO compareCodeDO = lcCompareCodeMapper.selectById(eventGridDataDTO.getLcGridId());
                    LcCompareCodeDO compareCodeDO = lcCompareCodeMapper.selectOne(new QueryWrapper<LcCompareCodeDO>().lambda()
                            .eq(LcCompareCodeDO::getLcGridId,eventGridDataDTO.getLcGridId()));
                    if(compareCodeDO != null){
                        compareCodeDO.setLocalGridId(gridDataDO.getId().toString());
                        compareCodeDO.setGridName(gridDataDO.getGridName());
                        compareCodeDO.setUpdateAt(new Date());
                        lcCompareCodeMapper.updateById(compareCodeDO);
                    }else{
                        compareCodeDO = new LcCompareCodeDO();
                        compareCodeDO.setId(Snowflake.getId());
                        compareCodeDO.setLocalGridId(gridDataDO.getId().toString());
                        compareCodeDO.setGridName(gridDataDO.getGridName());
                        compareCodeDO.setLcGridId(eventGridDataDTO.getLcGridId());
                        compareCodeDO.setLcGridName(eventGridDataDTO.getLcGridName());
                        compareCodeDO.setCreateAt(new Date());
                        lcCompareCodeMapper.insert(compareCodeDO);
                    }
                }
                return R.ok();
@@ -255,24 +267,29 @@
                    }
                }
                //查询已存在的关系需要清除
                lcCompareCodeMapper.delete(new QueryWrapper<LcCompareCodeDO>()
                        .lambda().eq(LcCompareCodeDO::getLocalGridId,gridDataDO.getId()));
                if(eventGridDataDTO.getLcGridId() != null){
                    //查询已存在的关系需要清除
                    LcCompareCodeDO oldCompareCodeDO = lcCompareCodeMapper.selectOne(new QueryWrapper<LcCompareCodeDO>()
                            .lambda().eq(LcCompareCodeDO::getLocalGridId,gridDataDO.getId()));
                    if(oldCompareCodeDO != null){
                        lcCompareCodeMapper.updateLcCompareCode(gridDataDO.getId());
                    }
                    //关联市平台网格
                    LcCompareCodeDO compareCodeDO = lcCompareCodeMapper.selectById(eventGridDataDTO.getLcGridId());
                    LcCompareCodeDO compareCodeDO = lcCompareCodeMapper.selectOne(new QueryWrapper<LcCompareCodeDO>().lambda()
                            .eq(LcCompareCodeDO::getLcGridId,eventGridDataDTO.getLcGridId()));
                    if(compareCodeDO != null){
                        compareCodeDO.setLocalGridId(gridDataDO.getId().toString());
                        compareCodeDO.setGridName(gridDataDO.getGridName());
                        compareCodeDO.setUpdateAt(new Date());
                        lcCompareCodeMapper.updateById(compareCodeDO);
                    }else{
                        compareCodeDO = new LcCompareCodeDO();
                        compareCodeDO.setId(Snowflake.getId());
                        compareCodeDO.setLocalGridId(gridDataDO.getId().toString());
                        compareCodeDO.setGridName(gridDataDO.getGridName());
                        compareCodeDO.setLcGridId(eventGridDataDTO.getLcGridId());
                        compareCodeDO.setLcGridName(eventGridDataDTO.getLcGridName());
                        compareCodeDO.setCreateAt(new Date());
                        lcCompareCodeMapper.insert(compareCodeDO);
                    }
                }
                return R.ok();
            }
        }
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventServiceImpl.java
@@ -1927,11 +1927,24 @@
     * @return  网格统计数据
     */
    @Override
    public R getGridEventStatisticsByApp(Long gridId){
    public R getGridEventStatisticsByApp(Long gridId,Long userId){
        GridEventStatisticsVO result = this.baseMapper.getGridEventStatisticsByApp(gridId);
        if(result != null){
            result.setTodayNum(result.getTodayNum() + result.getZfTodayNum());
            result.setMonthNum(result.getMonthNum() + result.getZfMonthNum());
            //查询当前网格员下管理的楼栋名称
            List<Map<String,Object>> buildNameList = this.baseMapper.getMemberBuildName(userId);
            Integer specialTotal = 0;
            if(!buildNameList.isEmpty()){
                for (Map<String,Object> buildMap:buildNameList) {
                    String buildName = buildMap.get("name").toString();
                    Long villageId = Long.parseLong(buildMap.get("village_id").toString());
                    Integer num = this.baseMapper.getPopulationByLabelCount(buildName,villageId);
                    specialTotal += num;
                }
            }
            result.setSpecialTotal(specialTotal);
        }
        return R.ok(result);
    }
@@ -2551,4 +2564,14 @@
        result.setVillageTotal(1);
        return R.ok(result);
    }
    /**
     * 查询所有网格员工作汇总数据
     * @param statisticsAdminDTO    请求参数
     * @return  网格员工作汇总数据
     */
    @Override
    public R gridMemberStatisticsAll(MemberStatisticsAdminDTO statisticsAdminDTO){
        return R.ok(eventGridMemberRelationMapper.gridMemberStatisticsAll(statisticsAdminDTO));
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/resources/mapper/EventGridMemberRelationMapper.xml
@@ -384,4 +384,250 @@
        </if>
    </select>
    <select id="gridMemberStatisticsAll" resultType="com.panzhihua.common.model.vos.grid.EventStatisticsMemberAdminVO"
            parameterType="com.panzhihua.common.model.dtos.grid.MemberStatisticsAdminDTO">
        SELECT DISTINCT
        su.nick_name,(
        SELECT
        count( id )
        FROM
        `event`
        WHERE
        event_category = 1
        AND event_type = 5
        AND event_status = 2
        AND grid_member_id = su.user_id
        <if test="statisticsAdminDTO.startTime!=null and statisticsAdminDTO.startTime != &quot;&quot;">
            AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{statisticsAdminDTO.startTime}
        </if>
        <if test="statisticsAdminDTO.endTime!=null and statisticsAdminDTO.endTime != &quot;&quot;">
            AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{statisticsAdminDTO.endTime}
        </if>
        ) AS addTFTotal,
        (
        SELECT
        count( id )
        FROM
        `event`
        WHERE
        event_category = 1
        AND event_type = 5
        AND event_status = 2
        AND event_process_status = 2
        AND process_user_id = su.user_id
        <if test="statisticsAdminDTO.startTime!=null and statisticsAdminDTO.startTime != &quot;&quot;">
            AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{statisticsAdminDTO.startTime}
        </if>
        <if test="statisticsAdminDTO.endTime!=null and statisticsAdminDTO.endTime != &quot;&quot;">
            AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{statisticsAdminDTO.endTime}
        </if>
        ) AS handleTFTotal,(
        SELECT
        count( id )
        FROM
        `event`
        WHERE
        event_category = 1
        AND event_type = 3
        AND event_status = 2
        AND grid_member_id = su.user_id
        <if test="statisticsAdminDTO.startTime!=null and statisticsAdminDTO.startTime != &quot;&quot;">
            AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{statisticsAdminDTO.startTime}
        </if>
        <if test="statisticsAdminDTO.endTime!=null and statisticsAdminDTO.endTime != &quot;&quot;">
            AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{statisticsAdminDTO.endTime}
        </if>
        ) AS addMDTotal,
        (
        SELECT
        count( id )
        FROM
        `event`
        WHERE
        event_category = 1
        AND event_type = 3
        AND event_status = 2
        AND event_process_status = 2
        AND process_user_id = su.user_id
        <if test="statisticsAdminDTO.startTime!=null and statisticsAdminDTO.startTime != &quot;&quot;">
            AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{statisticsAdminDTO.startTime}
        </if>
        <if test="statisticsAdminDTO.endTime!=null and statisticsAdminDTO.endTime != &quot;&quot;">
            AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{statisticsAdminDTO.endTime}
        </if>
        ) AS handleMDTotal,(
        SELECT
        count( id )
        FROM
        `event`
        WHERE
        event_category = 1
        AND event_type = 1
        AND event_status = 2
        AND grid_member_id = su.user_id
        <if test="statisticsAdminDTO.startTime!=null and statisticsAdminDTO.startTime != &quot;&quot;">
            AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{statisticsAdminDTO.startTime}
        </if>
        <if test="statisticsAdminDTO.endTime!=null and statisticsAdminDTO.endTime != &quot;&quot;">
            AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{statisticsAdminDTO.endTime}
        </if>
        ) AS addZATotal,
        (
        SELECT
        count( id )
        FROM
        `event`
        WHERE
        event_category = 1
        AND event_type = 1
        AND event_status = 2
        AND event_process_status = 2
        AND process_user_id = su.user_id
        <if test="statisticsAdminDTO.startTime!=null and statisticsAdminDTO.startTime != &quot;&quot;">
            AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{statisticsAdminDTO.startTime}
        </if>
        <if test="statisticsAdminDTO.endTime!=null and statisticsAdminDTO.endTime != &quot;&quot;">
            AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{statisticsAdminDTO.endTime}
        </if>
        ) AS handleZATotal,(
        SELECT
        count( id )
        FROM
        `event`
        WHERE
        event_category = 1
        AND event_type = 4
        AND event_status = 2
        AND grid_member_id = su.user_id
        <if test="statisticsAdminDTO.startTime!=null and statisticsAdminDTO.startTime != &quot;&quot;">
            AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{statisticsAdminDTO.startTime}
        </if>
        <if test="statisticsAdminDTO.endTime!=null and statisticsAdminDTO.endTime != &quot;&quot;">
            AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{statisticsAdminDTO.endTime}
        </if>
        ) AS addBWDTotal,
        (
        SELECT
        count( id )
        FROM
        `event`
        WHERE
        event_category = 1
        AND event_type = 4
        AND event_status = 2
        AND event_process_status = 2
        AND process_user_id = su.user_id
        <if test="statisticsAdminDTO.startTime!=null and statisticsAdminDTO.startTime != &quot;&quot;">
            AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{statisticsAdminDTO.startTime}
        </if>
        <if test="statisticsAdminDTO.endTime!=null and statisticsAdminDTO.endTime != &quot;&quot;">
            AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{statisticsAdminDTO.endTime}
        </if>
        ) AS handleBWDTotal,(
        SELECT
        count( id )
        FROM
        `event`
        WHERE
        event_category = 1
        AND event_type = 2
        AND event_status = 2
        AND grid_member_id = su.user_id
        <if test="statisticsAdminDTO.startTime!=null and statisticsAdminDTO.startTime != &quot;&quot;">
            AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{statisticsAdminDTO.startTime}
        </if>
        <if test="statisticsAdminDTO.endTime!=null and statisticsAdminDTO.endTime != &quot;&quot;">
            AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{statisticsAdminDTO.endTime}
        </if>
        ) AS addGGTotal,
        (
        SELECT
        count( id )
        FROM
        `event`
        WHERE
        event_category = 1
        AND event_type = 2
        AND event_status = 2
        AND event_process_status = 2
        AND process_user_id = su.user_id
        <if test="statisticsAdminDTO.startTime!=null and statisticsAdminDTO.startTime != &quot;&quot;">
            AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{statisticsAdminDTO.startTime}
        </if>
        <if test="statisticsAdminDTO.endTime!=null and statisticsAdminDTO.endTime != &quot;&quot;">
            AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{statisticsAdminDTO.endTime}
        </if>
        ) AS handleGGTotal,(
        SELECT
        count( id )
        FROM
        `event`
        WHERE
        event_category = 1
        AND event_type = 6
        AND event_status = 2
        AND grid_member_id = su.user_id
        <if test="statisticsAdminDTO.startTime!=null and statisticsAdminDTO.startTime != &quot;&quot;">
            AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{statisticsAdminDTO.startTime}
        </if>
        <if test="statisticsAdminDTO.endTime!=null and statisticsAdminDTO.endTime != &quot;&quot;">
            AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{statisticsAdminDTO.endTime}
        </if>
        ) AS addTSTotal,
        (
        SELECT
        count( id )
        FROM
        `event`
        WHERE
        event_category = 1
        AND event_type = 6
        AND event_status = 2
        AND event_process_status = 2
        AND process_user_id = su.user_id
        <if test="statisticsAdminDTO.startTime!=null and statisticsAdminDTO.startTime != &quot;&quot;">
            AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{statisticsAdminDTO.startTime}
        </if>
        <if test="statisticsAdminDTO.endTime!=null and statisticsAdminDTO.endTime != &quot;&quot;">
            AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{statisticsAdminDTO.endTime}
        </if>
        ) AS handleTSTotal,
        ( SELECT count( id ) FROM event_visiting_tasks WHERE grid_member = su.user_id AND event_status = 2
        <if test="statisticsAdminDTO.startTime!=null and statisticsAdminDTO.startTime != &quot;&quot;">
            AND DATE_FORMAT(submit_date,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{statisticsAdminDTO.startTime}
        </if>
        <if test="statisticsAdminDTO.endTime!=null and statisticsAdminDTO.endTime != &quot;&quot;">
            AND DATE_FORMAT(submit_date,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{statisticsAdminDTO.endTime}
        </if>
        ) AS handleZFTotal,
        ( SELECT count( id ) FROM com_act_easy_photo WHERE handle_status = 2 AND handler_id = su.user_id
        <if test="statisticsAdminDTO.startTime!=null and statisticsAdminDTO.startTime != &quot;&quot;">
            AND DATE_FORMAT(feedback_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{statisticsAdminDTO.startTime}
        </if>
        <if test="statisticsAdminDTO.endTime!=null and statisticsAdminDTO.endTime != &quot;&quot;">
            AND DATE_FORMAT(feedback_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{statisticsAdminDTO.endTime}
        </if>
        ) AS easyPhotoTotal,
        ( SELECT count( id ) FROM `event` WHERE event_category = 2 AND event_status = 2 AND grid_member_id = su.user_id
        <if test="statisticsAdminDTO.startTime!=null and statisticsAdminDTO.startTime != &quot;&quot;">
            AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{statisticsAdminDTO.startTime}
        </if>
        <if test="statisticsAdminDTO.endTime!=null and statisticsAdminDTO.endTime != &quot;&quot;">
            AND DATE_FORMAT(create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{statisticsAdminDTO.endTime}
        </if>
        ) AS propagandaEducationTotal
        FROM
        sys_user AS su
        LEFT JOIN `event` AS e ON su.user_id = e.grid_member_id
        WHERE
        su.type = 6
        <if test="statisticsAdminDTO.communityId!=null">
            AND su.community_id = #{statisticsAdminDTO.communityId}
        </if>
        <if test="statisticsAdminDTO.nickName!=null and statisticsAdminDTO.nickName != &quot;&quot;">
            AND su.nick_name like concat (#{statisticsAdminDTO.nickName},'%')
        </if>
        ORDER BY su.create_at desc
    </select>
</mapper>
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/resources/mapper/EventMapper.xml
@@ -604,26 +604,6 @@
                </if>) AS educationNum,
            (
            SELECT
                count( id )
            FROM
                `event`
            WHERE
                event_category = 1
                AND event_type = 6
                AND event_status = 2
                AND event_process_status = 2
                AND process_date BETWEEN DATE_FORMAT( CURDATE(), '%Y-%m-%d %H:%i:%s' )
            AND NOW()
            <if test="gridId!=null">
                AND grid_id = #{gridId}
            </if>
            ) AS todaySpecialTotal,
            ( SELECT count( id ) FROM `event` WHERE event_category = 1 AND event_type = 6 AND event_status = 2 AND event_process_status = 2
                <if test="gridId!=null">
                    AND grid_id = #{gridId}
                </if>) AS specialTotal,
            (
            SELECT
                count( cmph.id )
            FROM
                com_mng_population_house AS cmph
@@ -1351,4 +1331,18 @@
            village_id = #{villageId}
    </select>
    <select id="getMemberBuildName" resultType="Map">
        SELECT
            cmb.`name`,egmbr.village_id
        FROM
            event_grid_member_building_relation AS egmbr
            LEFT JOIN com_mng_building AS cmb ON cmb.id = egmbr.building_id
        WHERE
            egmbr.grid_member_id = #{userId}
    </select>
    <select id="getPopulationByLabelCount" resultType="Integer">
        select count(id) from com_mng_population where label is not null and village_id = #{villageId} and floor = #{floor}
    </select>
</mapper>
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/model/dos/ComPbDynDO.java
@@ -1,8 +1,6 @@
package com.panzhihua.service_dangjian.model.dos;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.io.Serializable;
@@ -43,6 +41,7 @@
    /**
     * 封面url
     */
    @TableField(value = "cover", updateStrategy  = FieldStrategy.IGNORED)
    private String cover;
    /**
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java
@@ -141,8 +141,7 @@
        List<ComPbMemberDO> comPbMemberDOS=new ArrayList<>();
        if (!ObjectUtils.isEmpty(list)) {
            List<PartyOrganizationVO> partyOrganizationVOArrayList=partyOrganizationVOS;
            list.forEach(partyBuildingMemberExcelVO -> {
            for (PartyBuildingMemberExcelVO partyBuildingMemberExcelVO:list) {
                ComPbMemberDO comPbMemberDO=new ComPbMemberDO();
                Date date=new Date();
                comPbMemberDO.setUpdateAt(date);
@@ -161,7 +160,12 @@
                            .eq(ComPbMemberDO::getCommunityId,partyOrganizationVO.getCommunityId())
                            .in(ComPbMemberDO::getAuditResult,0,1));
                    if(!comPbMemberDOList.isEmpty()){
                        throw new PartyBuildingMemberException("导入失败,您导入的数据中有已存在的党员信息,已存在的数据:"+ partyBuildingMemberExcelVO.getEmploymentTime() + ",已存在的人名:" + partyBuildingMemberExcelVO.getName());
                        comPbMemberDOList.forEach(comPbMember -> {
                            BeanUtils.copyProperties(partyBuildingMemberExcelVO,comPbMember);
                            this.baseMapper.updateById(comPbMember);
                        });
                        continue;
//                        throw new PartyBuildingMemberException("导入失败,您导入的数据中有已存在的党员信息,已存在的数据:"+ partyBuildingMemberExcelVO.getEmploymentTime() + ",已存在的人名:" + partyBuildingMemberExcelVO.getName());
                    }
                }
@@ -190,7 +194,7 @@
                comPbMemberDO.setName(partyBuildingMemberExcelVO.getName());
                comPbMemberDO.setIdCard(partyBuildingMemberExcelVO.getIdCard());
                comPbMemberDOS.add(comPbMemberDO);
            });
            }
        }
        this.saveBatch(comPbMemberDOS);
        return R.ok();
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/dao/LcCompareMemberCodeMapper.java
New file
@@ -0,0 +1,19 @@
package com.panzhihua.service_user.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.panzhihua.service_user.model.dos.LcCompareCodeMemberDO;
import org.apache.ibatis.annotations.Mapper;
/**
 * program 攀枝花智慧社区项目
 * description 本地网格和浪潮的对码表管理API
 *
 * @author manailin
 * Date 2021-01-22 15:30
 **/
@Mapper
public interface LcCompareMemberCodeMapper extends BaseMapper<LcCompareCodeMemberDO> {
}
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/dao/UserDao.java
@@ -414,7 +414,7 @@
    @Update("update lc_compare_code_member set local_grid_member_id = #{userId},grid_member_name = #{userName} where id = #{lcMemberId}")
    void addLcMember(@Param("lcMemberId") Long lcMemberId,@Param("userId") Long userId,@Param("userName") String userName);
    @Update("update lc_compare_code_member set local_grid_member_id = null,grid_member_name = null where local_grid_member_id = #{gridMemberId}")
    @Delete("delete from lc_compare_code_member where local_grid_member_id = #{gridMemberId}")
    void delLcMember(@Param("gridMemberId") Long gridMemberId);
    @Select("select id,village_id,act_id from com_mng_building where id = #{buildingId}")
@@ -423,8 +423,8 @@
    @Delete("delete from event_grid_member_building_relation where grid_member_id = #{gridMemberId}")
    void delGridMemberRelation(@Param("gridMemberId") Long gridMemberId);
    @Select("select id from lc_compare_code_member where local_grid_member_id = #{gridMemberId}")
    Long getLcMemberId(@Param("gridMemberId") Long gridMemberId);
    @Select("select lc_grid_member_id,lc_grid_member_name,lc_bind_user_id from lc_compare_code_member where local_grid_member_id = #{gridMemberId}")
    Map<String,String> getLcMemberId(@Param("gridMemberId") Long gridMemberId);
    @Select("select count(id) from event_grid_member_relation where grid_member_id = #{userId}")
    Integer getGridIsOk(@Param("userId") Long userId);
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/model/dos/LcCompareCodeMemberDO.java
New file
@@ -0,0 +1,38 @@
package com.panzhihua.service_user.model.dos;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
 * Description  本地网格和浪潮的对码表
 * ClassName    LcCompareCode
 * @author      manailin
 */
 @Data
 @TableName("lc_compare_code_member")
public class LcCompareCodeMemberDO implements Serializable {
    private static final long serialVersionUID = 1L;
    /**主键*/
    @TableId(type = IdType.INPUT)
    private Long id;
    /**本地网格ID*/
    private String localGridMemberId;
    /**网格名称*/
    private String gridMemberName;
    /**浪潮市平台网格ID*/
    private String lcGridMemberId;
    /**浪潮市平台网格名称*/
    private String lcGridMemberName;
    /**浪潮网格员绑定的用户ID*/
    private String lcBindUserId;
    /**创建时间*/
    private Date createAt;
    /**修改时间*/
    private Date updateAt;
}
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
@@ -27,6 +27,7 @@
import com.panzhihua.common.utlis.IdCard;
import com.panzhihua.common.utlis.RealNameUtil;
import com.panzhihua.common.utlis.SensitiveUtil;
import com.panzhihua.common.utlis.Snowflake;
import com.panzhihua.service_user.dao.*;
import com.panzhihua.service_user.model.dos.*;
import com.panzhihua.service_user.model.dtos.DataKanbanDTO;
@@ -88,6 +89,8 @@
    private EventGridMemberBuildingRelationService buildingRelationService;
    @Resource
    private EventGridMemberBuildingRelationMapper eventGridMemberBuildingRelationMapper;
    @Resource
    private LcCompareMemberCodeMapper lcCompareMemberCodeMapper;
//    @Resource
//    private GridService gridService;
@@ -1938,7 +1941,24 @@
            //关联市平台网格员
            if(eventGridMemberAddDTO.getLcMemberId() != null){
                this.userDao.addLcMember(eventGridMemberAddDTO.getLcMemberId(),sysUserDO.getUserId(),sysUserDO.getNickName());
                LcCompareCodeMemberDO compareCodeMemberDO = lcCompareMemberCodeMapper.selectOne(new QueryWrapper<LcCompareCodeMemberDO>().lambda()
                        .eq(LcCompareCodeMemberDO::getLcGridMemberId,eventGridMemberAddDTO.getLcMemberId()));
                if(compareCodeMemberDO != null){
                    compareCodeMemberDO.setLocalGridMemberId(sysUserDO.getUserId().toString());
                    compareCodeMemberDO.setGridMemberName(sysUserDO.getNickName());
                    compareCodeMemberDO.setUpdateAt(new Date());
                    lcCompareMemberCodeMapper.updateById(compareCodeMemberDO);
                }else{
                    compareCodeMemberDO = new LcCompareCodeMemberDO();
                    compareCodeMemberDO.setId(Snowflake.getId());
                    compareCodeMemberDO.setLocalGridMemberId(sysUserDO.getUserId().toString());
                    compareCodeMemberDO.setGridMemberName(sysUserDO.getNickName());
                    compareCodeMemberDO.setLcGridMemberId(eventGridMemberAddDTO.getLcMemberId());
                    compareCodeMemberDO.setLcBindUserId(eventGridMemberAddDTO.getLcBindUserId());
                    compareCodeMemberDO.setLcGridMemberName(eventGridMemberAddDTO.getLcMemberName());
                    compareCodeMemberDO.setCreateAt(new Date());
                    lcCompareMemberCodeMapper.insert(compareCodeMemberDO);
                }
            }
            //网格员关联楼栋
@@ -1988,7 +2008,12 @@
        if(!gridMemberPage.getRecords().isEmpty()){
            gridMemberPage.getRecords().forEach(gridMember -> {
                //查询网格员关联市平台网格员id
                gridMember.setLcMemberId(this.userDao.getLcMemberId(gridMember.getUserId()));
                Map<String,String> lcMemberMap = this.userDao.getLcMemberId(gridMember.getUserId());
                if(lcMemberMap != null){
                    gridMember.setLcMemberId(lcMemberMap.get("lc_grid_member_id"));
                    gridMember.setLcMemberName(lcMemberMap.get("lc_grid_member_name"));
                    gridMember.setLcBindUserId(lcMemberMap.get("lc_bind_user_id"));
                }
                //查询网格员关联楼栋信息
                List<GridMemberBuildingVO> memberBuildingList = eventGridMemberBuildingRelationMapper.getGridMemberBuildingRelation(gridMember.getUserId());
@@ -2041,7 +2066,24 @@
            //关联市平台网格员
            if(gridMemberDTO.getLcMemberId() != null){
                //关联现有的网格员信息
                this.userDao.addLcMember(gridMemberDTO.getLcMemberId(),sysUserDO.getUserId(),sysUserDO.getNickName());
                LcCompareCodeMemberDO compareCodeMemberDO = lcCompareMemberCodeMapper.selectOne(new QueryWrapper<LcCompareCodeMemberDO>().lambda()
                        .eq(LcCompareCodeMemberDO::getLcGridMemberId,gridMemberDTO.getLcMemberId()));
                if(compareCodeMemberDO != null){
                    compareCodeMemberDO.setLocalGridMemberId(sysUserDO.getUserId().toString());
                    compareCodeMemberDO.setGridMemberName(sysUserDO.getNickName());
                    compareCodeMemberDO.setUpdateAt(new Date());
                    lcCompareMemberCodeMapper.updateById(compareCodeMemberDO);
                }else{
                    compareCodeMemberDO = new LcCompareCodeMemberDO();
                    compareCodeMemberDO.setId(Snowflake.getId());
                    compareCodeMemberDO.setLocalGridMemberId(sysUserDO.getUserId().toString());
                    compareCodeMemberDO.setGridMemberName(sysUserDO.getNickName());
                    compareCodeMemberDO.setLcGridMemberId(gridMemberDTO.getLcMemberId());
                    compareCodeMemberDO.setLcBindUserId(gridMemberDTO.getLcBindUserId());
                    compareCodeMemberDO.setLcGridMemberName(gridMemberDTO.getLcMemberName());
                    compareCodeMemberDO.setCreateAt(new Date());
                    lcCompareMemberCodeMapper.insert(compareCodeMemberDO);
                }
            }
            //清除原网格员与楼栋关联关系
            this.userDao.delGridMemberRelation(sysUserDO.getUserId());
springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/JWTAuthenticationTokenFilter.java
@@ -86,6 +86,7 @@
//        boolean detailworkguide = !requestURI.contains("workguide/detailworkguide");
//        boolean pagedynamic = !requestURI.contains("partybuilding/pagedynamic");
//        boolean infodynamic = !requestURI.contains("partybuilding/infodynamic");
        SafeboxRequestWrapper safeboxRequestWrapper = new SafeboxRequestWrapper(request);
        if (login||doc||css||js||ui||swagger||ico||docs||error||refreshToken||useragreement||wxPay
                ||wxCgi||isShop||listadvertisement||noToken||bigscreen) {
@@ -198,8 +199,19 @@
                    safeboxRequestWrapper.addHeader(TokenConstant.TOKEN_USERINFO,hexStr );
                }
            } else {
                ResultUtil.responseJson(response, R.fail(HttpStatus.UNAUTHORIZED, "token校验失败"));
                return;
                //小程序无需登录也可访问地址列表
                List<String> noLoginUrl = new ArrayList<>();
                noLoginUrl.add("/api/applets/community/detaildynamic");
                noLoginUrl.add("/api/applets/community/detailactivity");
                if(noLoginUrl.contains(requestURI)){
                    List<SimpleGrantedAuthority> authorities = new ArrayList<>();
                    authorities.add(new SimpleGrantedAuthority(SecurityConstants.ROLE_APPLETS));
                    UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(null, null, authorities);
                    SecurityContextHolder.getContext().setAuthentication(authentication);
                }else {
                    ResultUtil.responseJson(response, R.fail(HttpStatus.UNAUTHORIZED, "token校验失败"));
                    return;
                }
            }
        }
        filterChain.doFilter(safeboxRequestWrapper,response);