From c7450a8e1724528046af3683d49eaf0a06785130 Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期五, 30 七月 2021 14:02:02 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/test' into test --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComSwDangerReportService.java | 55 + springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationServeExcelListen.java | 1093 ++++++++++++-------- springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwDangerReportVO.java | 267 +++++ springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwSafetyWorkRecordVO.java | 135 ++ springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComSwPatrolRecordPageDTO.java | 12 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwSafetyWorkRecordServiceImpl.java | 70 + springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwDangerReportExcelVO.java | 59 + springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComSwPatrolRecordApi.java | 100 + springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComMngPopulationMistakeExcelVO.java | 148 ++ springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComMngPopulationServeExcelVO.java | 3 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComSwPatrolRecordService.java | 11 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComSwDangerReportHandleDTO.java | 64 + springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComSwSafetyWorkRecordService.java | 27 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java | 96 + springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/exceptions/ServiceException.java | 8 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwPatrolRecordMapper.xml | 44 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/enums/SafeWordStatusEnum.java | 7 springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComSwPatrolRecordApi.java | 208 +++ springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwPatrolRecordStatisticsVO.java | 35 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComSwDangerReportDO.java | 12 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComSwDangerReportDAO.java | 32 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwPatrolRecordServiceImpl.java | 35 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwPatrolRecordReportMapper.xml | 26 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwSafetyWorkRecordMapper.xml | 66 + springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/PopulationApi.java | 4 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwPatrolRecordVO.java | 8 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComSwPatrolRecordApi.java | 127 ++ springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComSwSafetyWorkRecordDAO.java | 13 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java | 23 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwDangerReportMapper.xml | 121 ++ springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComSwDangerReportRectifyDTO.java | 49 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwDangerReportServiceImpl.java | 156 +++ springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommonDataApi.java | 6 33 files changed, 2,603 insertions(+), 517 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComSwPatrolRecordApi.java b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComSwPatrolRecordApi.java index 89e57a2..025af16 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComSwPatrolRecordApi.java +++ b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComSwPatrolRecordApi.java @@ -1,17 +1,18 @@ 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.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.web.bind.annotation.*; import javax.annotation.Resource; @@ -34,10 +35,13 @@ * @param comSwPatrolRecordPageDTO 查询参数 * @return 分页集合 */ - @ApiOperation(value = "分页查询巡查记录") + @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); } @@ -55,5 +59,91 @@ 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); + } + } diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/enums/SafeWordStatusEnum.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/enums/SafeWordStatusEnum.java index dca5e2d..8a6d3f5 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/enums/SafeWordStatusEnum.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/enums/SafeWordStatusEnum.java @@ -10,10 +10,9 @@ @Getter public enum SafeWordStatusEnum { - DCK(1, "待查看"), - DCL(2, "待处理"), - YCL(3, "已处理"), - YZG(4, "已整改"); + DCL(1, "待处理"), + YCL(2, "已处理"), + YZG(3, "已整改"); private final Integer code; private final String name; diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/exceptions/ServiceException.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/exceptions/ServiceException.java index 7285a2d..fd8f7d5 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/exceptions/ServiceException.java +++ b/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; diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationServeExcelListen.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationServeExcelListen.java index f5f0949..1d55fa8 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationServeExcelListen.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationServeExcelListen.java @@ -1,21 +1,31 @@ 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.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.R; import com.panzhihua.common.model.vos.community.ComMngPopulationImportErrorVO; +import com.panzhihua.common.model.vos.community.ComMngPopulationMistakeExcelVO; import com.panzhihua.common.model.vos.community.ComMngPopulationServeExcelVO; import com.panzhihua.common.service.community.CommunityService; import com.panzhihua.common.utlis.*; import lombok.extern.slf4j.Slf4j; import org.springframework.util.ObjectUtils; +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStream; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @@ -35,114 +45,142 @@ 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) { - this.communityService = communityService; - this.communityId = communityId; - } + public static String loadUrl; - /** - * 每隔5条存储数据库,实际使用中可以3000条,然后清理list ,方便内存回收 - */ - private static final int BATCH_COUNT = 5000; - List<Map<Integer, String>> list = new ArrayList<Map<Integer, String>>(); - - @Override - public void invoke(Map<Integer, String> data, AnalysisContext context) { - list.add(data); - if (list.size() >= BATCH_COUNT) { - saveData(); - list.clear(); + 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; } - } - /** - * 这里会一行行的返回头 - * - * @param headMap - * @param context - */ - @Override - public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) { - headSize = headMap.size(); - headData = headMap; - } + /** + * 每隔5条存储数据库,实际使用中可以3000条,然后清理list ,方便内存回收 + */ + private static final int BATCH_COUNT = 5000; + List<Map<Integer, String>> list = new ArrayList<Map<Integer, String>>(); - @Override - public void doAfterAllAnalysed(AnalysisContext context) { - saveData(); - log.info("所有数据解析完成!"); - } + @Override + public void invoke(Map<Integer, String> data, AnalysisContext context) { + list.add(data); + if (list.size() >= BATCH_COUNT) { + saveData(); + list.clear(); + } + } - /** - * 不是固定的列只能手动处理 - */ - private void saveData() { - R<List<BcDictionaryVO>> dictionaryR = communityService.listDictionaryByKey(BcDictionaryConstants.FAMILY); + /** + * 这里会一行行的返回头 + * + * @param headMap + * @param context + */ + @Override + public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) { + headSize = headMap.size(); + headData = headMap; + } - Map<String,String> dictMap = dictionaryR.getData().stream().collect(Collectors.toMap(BcDictionaryVO::getDictName,BcDictionaryVO::getDictValue)); + @Override + public void doAfterAllAnalysed(AnalysisContext context) { + saveData(); + log.info("所有数据解析完成!"); + } + + /** + * 不是固定的列只能手动处理 + */ + private void saveData() { + R<List<BcDictionaryVO>> dictionaryR = communityService.listDictionaryByKey(BcDictionaryConstants.FAMILY); + + Map<String,String> dictMap = dictionaryR.getData().stream().collect(Collectors.toMap(BcDictionaryVO::getDictName,BcDictionaryVO::getDictValue)); // Map<String,Integer> dictMap = new HashMap<>(); // for(BcDictionaryVO vo : dictionaryR.getData()){ // dictMap.put(vo.getDictName(),Integer.valueOf(vo.getDictValue())); // } - int index = 2; - try { - ArrayList<ComMngPopulationServeExcelVO> voList = Lists.newArrayList(); - List<ComMngPopulationImportErrorVO> populationImportErrorVOList = new ArrayList<>(); - 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))){ - ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); - importErrorVO.setErrorPosition("第" + index + "行,第1列"); - importErrorVO.setErrorMsg("名字不可为空,请填写姓名"); - populationImportErrorVOList.add(importErrorVO); - index++; - continue; - } - vo.setName(oneData.get(0)); - if(StringUtils.isEmpty(oneData.get(1))){ - ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); - importErrorVO.setErrorPosition("第" + index + "行,第2列"+oneData.get(1)); - importErrorVO.setErrorMsg("身份证号不可为空,请填写身份证号"); - populationImportErrorVOList.add(importErrorVO); - index++; - continue; - } + int index = 2; + 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; + } - //判断身份证号码位数 - if(oneData.get(1).length() != 18){ - ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); - importErrorVO.setErrorPosition("第" + index + "行,第2列"+oneData.get(1)); - importErrorVO.setErrorMsg("身份证号位数有误,请检查身份证号码是否正确"); - populationImportErrorVOList.add(importErrorVO); - index++; - continue; - } - vo.setCardNo(oneData.get(1).toUpperCase()); - //根据身份证号码解析年龄以及性别 - //获取用户生日 - String birthday = vo.getCardNo().substring(6, 14); - if(StringUtils.isNotEmpty(birthday)){ - String year = birthday.substring(0,4); - String month = birthday.substring(4,6); - String day = birthday.substring(6,8); - vo.setBirthday(year + "-" + month + "-" + day); - } + //判断身份证号码位数 + if(oneData.get(1).length() != 18){ + ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); + importErrorVO.setErrorPosition("第" + index + "行,第2列"+oneData.get(1)); + 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()); + //根据身份证号码解析年龄以及性别 + //获取用户生日 + String birthday = vo.getCardNo().substring(6, 14); + if(StringUtils.isNotEmpty(birthday)){ + String year = birthday.substring(0,4); + String month = birthday.substring(4,6); + String day = birthday.substring(6,8); + vo.setBirthday(year + "-" + month + "-" + day); + } // //设置用户年龄 // vo.setAge(AgeUtils.getAgeFromBirthTime(birthday)); - //获取用户性别 - int sex = Integer.parseInt(vo.getCardNo().substring(16, 17)); - if(sex%2 == 1){ - vo.setSex(PopulSexEnum.nan.getCode()); - }else{ - vo.setSex(PopulSexEnum.nv.getCode()); + //获取用户性别 + int sex = Integer.parseInt(vo.getCardNo().substring(16, 17)); + if(sex%2 == 1){ + vo.setSex(PopulSexEnum.nan.getCode()); + }else{ + vo.setSex(PopulSexEnum.nv.getCode()); + } } - } - if(StringUtils.isNotEmpty(oneData.get(2))){ + if(StringUtils.isNotEmpty(oneData.get(2))){ // String nation = oneData.get(2); // if(!nation.contains("族")){ // ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); @@ -152,26 +190,44 @@ // index++; // continue; // } - vo.setNation(oneData.get(2)); - } - if(StringUtils.isNotEmpty(oneData.get(3))){ - vo.setPoliticalOutlook(PopulPoliticalOutlookEnum.getCodeByName(oneData.get(3))); - } - if(StringUtils.isNotEmpty(oneData.get(4))){ - Integer isOk = PopulHouseUseEnum.getCodeByName(oneData.get(4)); - if(isOk.equals(-1)){ - ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); - importErrorVO.setErrorPosition("第" + index + "行,第5列"); - importErrorVO.setErrorMsg("您填写的是否租住有误"); - populationImportErrorVOList.add(importErrorVO); - index++; - continue; + vo.setNation(oneData.get(2)); } - vo.setIsRent(isOk); - }else { - vo.setIsRent(PopulHouseUseEnum.getCodeByName("否")); - } - if(StringUtils.isNotEmpty(oneData.get(5))){ + 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)); + if(isOk.equals(-1)){ + ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); + importErrorVO.setErrorPosition("第" + index + "行,第5列"); + importErrorVO.setErrorMsg("您填写的是否租住有误"); + populationImportErrorVOList.add(importErrorVO); + index++; + ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO(); + setMistake(oneData, mistake); + mistake.setMistake("您填写的是否租住有误"); + mistakes.add(mistake); + continue; + } + vo.setIsRent(isOk); + }else { + vo.setIsRent(PopulHouseUseEnum.getCodeByName("否")); + } + if(StringUtils.isNotEmpty(oneData.get(5))){ // String ra = convertRelation(oneData.get(5)); // @@ -188,150 +244,204 @@ // vo.setRelation(Integer.valueOf(relation)); // } // String relation = convertMarriage(oneData.get(5)); - Integer isOk = PopulRelationEnum.getCodeByName(oneData.get(5)); + Integer isOk = PopulRelationEnum.getCodeByName(oneData.get(5)); - if(isOk.equals(-1)){ + if(isOk.equals(-1)){ // vo.setMarriageStr(ma); + ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); + importErrorVO.setErrorPosition("第" + index + "行,第6列"); + importErrorVO.setErrorMsg("您填写的与户主关系有误"); + populationImportErrorVOList.add(importErrorVO); + index++; + ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO(); + setMistake(oneData, mistake); + mistake.setMistake("您填写的与户主关系有误"); + mistakes.add(mistake); + continue; + }else{ + vo.setRelation(isOk); + } + } + if(StringUtils.isEmpty(oneData.get(6))){ ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); - importErrorVO.setErrorPosition("第" + index + "行,第6列"); - importErrorVO.setErrorMsg("您填写的与户主关系有误"); + importErrorVO.setErrorPosition("第" + index + "行,第7列"); + importErrorVO.setErrorMsg("街路巷不可为空"); populationImportErrorVOList.add(importErrorVO); index++; + ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO(); + setMistake(oneData, mistake); + mistake.setMistake("街路巷不可为空"); + mistakes.add(mistake); continue; - }else{ - vo.setRelation(isOk); } - } - if(StringUtils.isEmpty(oneData.get(6))){ - ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); - importErrorVO.setErrorPosition("第" + index + "行,第7列"); - importErrorVO.setErrorMsg("街路巷不可为空"); - populationImportErrorVOList.add(importErrorVO); - index++; - continue; - } - vo.setRoad(oneData.get(6)); - if(StringUtils.isEmpty(oneData.get(7))){ - ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); - importErrorVO.setErrorPosition("第" + index + "行,第8列"); - importErrorVO.setErrorMsg("小区号不可为空"); - populationImportErrorVOList.add(importErrorVO); - index++; - continue; - } - vo.setDoorNo(oneData.get(7).trim()); - if(StringUtils.isEmpty(oneData.get(8))){ - ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); - importErrorVO.setErrorPosition("第" + index + "行,第9列"); - importErrorVO.setErrorMsg("楼排号不可为空"); - populationImportErrorVOList.add(importErrorVO); - index++; - continue; - } - vo.setFloor(oneData.get(8).trim()); - if(StringUtils.isEmpty(oneData.get(9))){ - ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); - importErrorVO.setErrorPosition("第" + index + "行,第10列"); - importErrorVO.setErrorMsg("单元号不可为空"); - populationImportErrorVOList.add(importErrorVO); - index++; - continue; - } - vo.setUnitNo(oneData.get(9).trim()); - if(StringUtils.isEmpty(oneData.get(10))){ - ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); - importErrorVO.setErrorPosition("第" + index + "行,第11列"); - importErrorVO.setErrorMsg("户室不可为空"); - populationImportErrorVOList.add(importErrorVO); - index++; - continue; - } - vo.setHouseNo(oneData.get(10).trim()); - if(StringUtils.isNotEmpty(oneData.get(11))){ - vo.setBuildPurpose(oneData.get(11).trim()); - } - if(StringUtils.isNotEmpty(oneData.get(12))){ - vo.setBuildArea(oneData.get(12).trim()); - } - if(StringUtils.isNotEmpty(oneData.get(13))){ - Integer isOk = PopulHouseStatusEnum.getCodeByName(oneData.get(13).trim()); - if(isOk.equals(-1)){ + vo.setRoad(oneData.get(6)); + if(StringUtils.isEmpty(oneData.get(7))){ ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); - importErrorVO.setErrorPosition("第" + index + "行,第14列"); - importErrorVO.setErrorMsg("您填写的房屋状态有误"); + importErrorVO.setErrorPosition("第" + index + "行,第8列"); + importErrorVO.setErrorMsg("小区号不可为空"); populationImportErrorVOList.add(importErrorVO); index++; + ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO(); + setMistake(oneData, mistake); + mistake.setMistake("小区号不可为空"); + mistakes.add(mistake); continue; } - vo.setHouseStatus(isOk); - } - if(StringUtils.isNotEmpty(oneData.get(14))){ - Integer isOk = PopulHousePurposeEnum.getCodeByName(oneData.get(14).trim()); - if(isOk.equals(-1)){ + vo.setDoorNo(oneData.get(7).trim()); + if(StringUtils.isEmpty(oneData.get(8))){ ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); - importErrorVO.setErrorPosition("第" + index + "行,第15列"); - importErrorVO.setErrorMsg("您填写的房屋用途有误"); + importErrorVO.setErrorPosition("第" + index + "行,第9列"); + 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())); - } - if(StringUtils.isNotEmpty(oneData.get(15))){ - Integer isOk = PopulHouseControlStatusEnum.getCodeByName(oneData.get(15)); - if(isOk.equals(-1)){ + vo.setFloor(oneData.get(8).trim()); + if(StringUtils.isEmpty(oneData.get(9))){ ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); - importErrorVO.setErrorPosition("第" + index + "行,第16列"); - importErrorVO.setErrorMsg("您填写的管控状态有误"); + importErrorVO.setErrorPosition("第" + index + "行,第10列"); + importErrorVO.setErrorMsg("单元号不可为空"); populationImportErrorVOList.add(importErrorVO); index++; + ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO(); + setMistake(oneData, mistake); + mistake.setMistake("单元号不可为空"); + mistakes.add(mistake); continue; } - vo.setControlStatus(isOk); - } + vo.setUnitNo(oneData.get(9).trim()); + if(StringUtils.isEmpty(oneData.get(10))){ + ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); + importErrorVO.setErrorPosition("第" + index + "行,第11列"); + 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()); + if(StringUtils.isNotEmpty(oneData.get(11))){ + vo.setBuildPurpose(oneData.get(11).trim()); + } + if(StringUtils.isNotEmpty(oneData.get(12))){ + vo.setBuildArea(oneData.get(12).trim()); + } + if(StringUtils.isNotEmpty(oneData.get(13))){ + Integer isOk = PopulHouseStatusEnum.getCodeByName(oneData.get(13).trim()); + if(isOk.equals(-1)){ + ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); + importErrorVO.setErrorPosition("第" + index + "行,第14列"); + importErrorVO.setErrorMsg("您填写的房屋状态有误"); + populationImportErrorVOList.add(importErrorVO); + index++; + ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO(); + setMistake(oneData, mistake); + mistake.setMistake("您填写的房屋状态有误"); + mistakes.add(mistake); + continue; + } + vo.setHouseStatus(isOk); + } + if(StringUtils.isNotEmpty(oneData.get(14))){ + Integer isOk = PopulHousePurposeEnum.getCodeByName(oneData.get(14).trim()); + if(isOk.equals(-1)){ + ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); + importErrorVO.setErrorPosition("第" + index + "行,第15列"); + 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())); + } + if(StringUtils.isNotEmpty(oneData.get(15))){ + Integer isOk = PopulHouseControlStatusEnum.getCodeByName(oneData.get(15)); + if(isOk.equals(-1)){ + ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); + importErrorVO.setErrorPosition("第" + index + "行,第16列"); + importErrorVO.setErrorMsg("您填写的管控状态有误"); + populationImportErrorVOList.add(importErrorVO); + index++; + ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO(); + setMistake(oneData, mistake); + mistake.setMistake("您填写的管控状态有误"); + mistakes.add(mistake); + continue; + } + vo.setControlStatus(isOk); + } - if(StringUtils.isNotEmpty(oneData.get(16))){ - vo.setPhone(oneData.get(16).trim()); - } - if(StringUtils.isNotEmpty(oneData.get(17))){ - vo.setNativePlace(oneData.get(17).trim()); - } - if(StringUtils.isNotEmpty(oneData.get(18))){ - vo.setCultureLevel(PopulCultureLevelEnum.getCodeByName(oneData.get(18))); - } - if(StringUtils.isNotEmpty(oneData.get(19))){ + if(StringUtils.isNotEmpty(oneData.get(16))){ + vo.setPhone(oneData.get(16).trim()); + } + if(StringUtils.isNotEmpty(oneData.get(17))){ + 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)); - Integer isOk = PopulMarriageEnum.getCodeByName(oneData.get(19)); - if(isOk.equals(-1)){ + Integer isOk = PopulMarriageEnum.getCodeByName(oneData.get(19)); + if(isOk.equals(-1)){ // vo.setMarriageStr(ma); - ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); - importErrorVO.setErrorPosition("第" + index + "行,第20列"); - importErrorVO.setErrorMsg("您填写的婚姻状况有误"); - populationImportErrorVOList.add(importErrorVO); - index++; - continue; - }else{ - vo.setMarriage(isOk); + ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); + importErrorVO.setErrorPosition("第" + index + "行,第20列"); + importErrorVO.setErrorMsg("您填写的婚姻状况有误"); + populationImportErrorVOList.add(importErrorVO); + index++; + ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO(); + setMistake(oneData, mistake); + mistake.setMistake("您填写的婚姻状况有误"); + mistakes.add(mistake); + continue; + }else{ + vo.setMarriage(isOk); + } + + } + if(StringUtils.isNotEmpty(oneData.get(20))){ + vo.setHealthy(oneData.get(20).trim()); + } + if(StringUtils.isNotEmpty(oneData.get(21))){ + vo.setBloodType(oneData.get(21).trim()); + } + if(StringUtils.isNotEmpty(oneData.get(22))){ + vo.setReligion(oneData.get(22).trim()); + } + if(StringUtils.isNotEmpty(oneData.get(23))){ + vo.setProfession(oneData.get(23).trim()); } - } - if(StringUtils.isNotEmpty(oneData.get(20))){ - vo.setHealthy(oneData.get(20).trim()); - } - if(StringUtils.isNotEmpty(oneData.get(21))){ - vo.setBloodType(oneData.get(21).trim()); - } - if(StringUtils.isNotEmpty(oneData.get(22))){ - vo.setReligion(oneData.get(22).trim()); - } - if(StringUtils.isNotEmpty(oneData.get(23))){ - vo.setProfession(oneData.get(23).trim()); - } - - if(StringUtils.isNotEmpty(oneData.get(24))){ - vo.setWorkCompany(oneData.get(24).trim()); - } - if(StringUtils.isNotEmpty(oneData.get(25))){ + if(StringUtils.isNotEmpty(oneData.get(24))){ + vo.setWorkCompany(oneData.get(24).trim()); + } + if(StringUtils.isNotEmpty(oneData.get(25))){ Integer isOk = PopulOutOrLocalEnum.getCodeByName(oneData.get(25)); if(isOk.equals(-1)){ ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); @@ -339,94 +449,102 @@ importErrorVO.setErrorMsg("您填写的本地/外地有误"); populationImportErrorVOList.add(importErrorVO); index++; + ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO(); + setMistake(oneData, mistake); + mistake.setMistake("您填写的本地/外地有误"); + mistakes.add(mistake); continue; } vo.setOutOrLocal(isOk); - }else { - vo.setOutOrLocal(PopulOutOrLocalEnum.getCodeByName("本地")); - } - if(StringUtils.isNotEmpty(oneData.get(26))){ - vo.setCensusRegister(oneData.get(26).trim()); - } - if(StringUtils.isEmpty(oneData.get(27))){ - vo.setResidence(0); - }else{ - vo.setResidence(PopulIsOkEnum.getCodeByName(oneData.get(27).trim())); - } - if(StringUtils.isNotEmpty(oneData.get(28))){ - Integer isOk = PopulPersonTypeEnum.getCodeByName(oneData.get(28)); - if(isOk.equals(-1)){ - ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); - importErrorVO.setErrorPosition("第" + index + "行,第29列"); - importErrorVO.setErrorMsg("您填写的人员类型有误"); - populationImportErrorVOList.add(importErrorVO); - index++; + }else { + vo.setOutOrLocal(PopulOutOrLocalEnum.getCodeByName("本地")); + } + if(StringUtils.isNotEmpty(oneData.get(26))){ + vo.setCensusRegister(oneData.get(26).trim()); + } + if(StringUtils.isEmpty(oneData.get(27))){ + vo.setResidence(0); + }else{ + vo.setResidence(PopulIsOkEnum.getCodeByName(oneData.get(27).trim())); + } + if(StringUtils.isNotEmpty(oneData.get(28))){ + Integer isOk = PopulPersonTypeEnum.getCodeByName(oneData.get(28)); + if(isOk.equals(-1)){ + ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); + importErrorVO.setErrorPosition("第" + index + "行,第29列"); + importErrorVO.setErrorMsg("您填写的人员类型有误"); + populationImportErrorVOList.add(importErrorVO); + index++; + ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO(); + setMistake(oneData, mistake); + mistake.setMistake("您填写的人员类型有误"); + mistakes.add(mistake); + continue; + } + vo.setPersonType(isOk); + } + if(StringUtils.isNotEmpty(oneData.get(29))){ + vo.setCountry(oneData.get(29).trim()); + } + if(StringUtils.isNotEmpty(oneData.get(30))){ + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY-dd-MM HH:mm:ss"); + vo.setDateOfDeparture(simpleDateFormat.parse(oneData.get(30))); + } + if(StringUtils.isNotEmpty(oneData.get(31))){ + vo.setPersonStatus(oneData.get(31).trim()); + } + if(StringUtils.isNotEmpty(oneData.get(32))){ + vo.setMonthlyIncome(oneData.get(32).trim()); + } + if(StringUtils.isNotEmpty(oneData.get(33))){ + vo.setFamilyStatus(oneData.get(33).trim()); + } + if(StringUtils.isNotEmpty(oneData.get(34))){ + vo.setGoalInChina(oneData.get(34).trim()); + } + if(StringUtils.isNotEmpty(oneData.get(35))){ + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY-dd-MM HH:mm:ss"); + vo.setDateOfArrival(simpleDateFormat.parse(oneData.get(35))); + } + if(StringUtils.isNotEmpty(oneData.get(36))){ + vo.setRemark(oneData.get(36).trim()); + } + + if(StringUtils.isNotEmpty(oneData.get(37))){ + vo.setIdCardPositive(oneData.get(37).trim()); + } + if(StringUtils.isNotEmpty(oneData.get(38))){ + vo.setIdCardBack(oneData.get(38).trim()); + } + if(StringUtils.isNotEmpty(oneData.get(39))){ + vo.setHouseHold(oneData.get(39).trim()); + } + if(StringUtils.isEmpty(oneData.get(40))){ + vo.setDeath(0); + }else{ + vo.setDeath(PopulIsOkEnum.getCodeByName(oneData.get(40).trim())); + } + for (int i = 41; i < headSize; i++) { + if (oneData.get(i) != null && oneData.get(i).equals("是")) { + vo.getUserTagStr().add(headData.get(i).substring(0,headData.get(i).indexOf("("))); + } + } + + //将重复的数据进行MD5加密实现去重 + String distinct = vo.getName() + vo.getCardNo() + vo.getRoad() + vo.getDoorNo() + vo.getFloor() + vo.getUnitNo() + vo.getHouseNo(); + try { + String distinctPass = PayUtil.MD5(distinct); + if(StringUtils.isNotEmpty(distinctPass)){ + vo.setDistinctPass(distinctPass); + } + }catch (Exception e){ + log.error("组装MD5加密字段失败,数据表格行数:" + index); continue; } - vo.setPersonType(isOk); + voList.add(vo); + index++; } - if(StringUtils.isNotEmpty(oneData.get(29))){ - vo.setCountry(oneData.get(29).trim()); - } - if(StringUtils.isNotEmpty(oneData.get(30))){ - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY-dd-MM HH:mm:ss"); - vo.setDateOfDeparture(simpleDateFormat.parse(oneData.get(30))); - } - if(StringUtils.isNotEmpty(oneData.get(31))){ - vo.setPersonStatus(oneData.get(31).trim()); - } - if(StringUtils.isNotEmpty(oneData.get(32))){ - vo.setMonthlyIncome(oneData.get(32).trim()); - } - if(StringUtils.isNotEmpty(oneData.get(33))){ - vo.setFamilyStatus(oneData.get(33).trim()); - } - if(StringUtils.isNotEmpty(oneData.get(34))){ - vo.setGoalInChina(oneData.get(34).trim()); - } - if(StringUtils.isNotEmpty(oneData.get(35))){ - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY-dd-MM HH:mm:ss"); - vo.setDateOfArrival(simpleDateFormat.parse(oneData.get(35))); - } - if(StringUtils.isNotEmpty(oneData.get(36))){ - vo.setRemark(oneData.get(36).trim()); - } - - if(StringUtils.isNotEmpty(oneData.get(37))){ - vo.setIdCardPositive(oneData.get(37).trim()); - } - if(StringUtils.isNotEmpty(oneData.get(38))){ - vo.setIdCardBack(oneData.get(38).trim()); - } - if(StringUtils.isNotEmpty(oneData.get(39))){ - vo.setHouseHold(oneData.get(39).trim()); - } - if(StringUtils.isEmpty(oneData.get(40))){ - vo.setDeath(0); - }else{ - vo.setDeath(PopulIsOkEnum.getCodeByName(oneData.get(40).trim())); - } - for (int i = 41; i < headSize; i++) { - if (oneData.get(i) != null && oneData.get(i).equals("是")) { - vo.getUserTagStr().add(headData.get(i).substring(0,headData.get(i).indexOf("("))); - } - } - - //将重复的数据进行MD5加密实现去重 - String distinct = vo.getName() + vo.getCardNo() + vo.getRoad() + vo.getDoorNo() + vo.getFloor() + vo.getUnitNo() + vo.getHouseNo(); - try { - String distinctPass = PayUtil.MD5(distinct); - if(StringUtils.isNotEmpty(distinctPass)){ - vo.setDistinctPass(distinctPass); - } - }catch (Exception e){ - log.error("组装MD5加密字段失败,数据表格行数:" + index); - continue; - } - voList.add(vo); - index++; - } - //客户需要暂时注释,等客户处理完成需要恢复 + //客户需要暂时注释,等客户处理完成需要恢复 // if(populationImportErrorVOList.isEmpty()){ // R r = communityService.listSavePopulationServeExcelVO(voList, communityId); // if (!R.isOk(r)) { @@ -435,137 +553,242 @@ // }else{ // throw new ServiceException("500", JSON.toJSONString(populationImportErrorVOList)); // } - //根据list中的IdCard城市来去重 - List<ComMngPopulationServeExcelVO> newVoList = voList.stream().filter(ListUtils.distinctByKey(ComMngPopulationServeExcelVO::getDistinctPass)).collect(Collectors.toList()); - R r = communityService.listSavePopulationServeExcelVO(newVoList, communityId); - if (!R.isOk(r)) { - String errMsg = r.getMsg(); - List<ComMngPopulationImportErrorVO> errorList = JSON.parseArray(errMsg,ComMngPopulationImportErrorVO.class); - if(!errorList.isEmpty()){ - populationImportErrorVOList.addAll(errorList); - } - throw new ServiceException("500", JSON.toJSONString(populationImportErrorVOList)); - }else{ - if(!populationImportErrorVOList.isEmpty()){ + //根据list中的IdCard城市来去重 + 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)); + } } + } catch (NumberFormatException e) { + e.printStackTrace(); + List<ComMngPopulationImportErrorVO> populationImportErrorVOList = new ArrayList<>(); + ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); + importErrorVO.setErrorPosition("第" + index + "行"); + importErrorVO.setErrorMsg("数据格式有误,请检查文档内数据"); + populationImportErrorVOList.add(importErrorVO); + throw new ServiceException("500", JSON.toJSONString(populationImportErrorVOList)); + } catch (ParseException e1) { + e1.printStackTrace(); + List<ComMngPopulationImportErrorVO> populationImportErrorVOList = new ArrayList<>(); + ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); + importErrorVO.setErrorPosition("第" + index + "行"); + importErrorVO.setErrorMsg("数据格式有误,请检查文档内数据"); + populationImportErrorVOList.add(importErrorVO); + throw new ServiceException("500", JSON.toJSONString(populationImportErrorVOList)); } - } catch (NumberFormatException e) { - e.printStackTrace(); - List<ComMngPopulationImportErrorVO> populationImportErrorVOList = new ArrayList<>(); - ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); - importErrorVO.setErrorPosition("第" + index + "行"); - importErrorVO.setErrorMsg("数据格式有误,请检查文档内数据"); - populationImportErrorVOList.add(importErrorVO); - throw new ServiceException("500", JSON.toJSONString(populationImportErrorVOList)); - } catch (ParseException e1) { - e1.printStackTrace(); - List<ComMngPopulationImportErrorVO> populationImportErrorVOList = new ArrayList<>(); - ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); - importErrorVO.setErrorPosition("第" + index + "行"); - importErrorVO.setErrorMsg("数据格式有误,请检查文档内数据"); - populationImportErrorVOList.add(importErrorVO); - throw new ServiceException("500", JSON.toJSONString(populationImportErrorVOList)); - } - } - - private String convertMarriage(String ma) { - - if(Objects.equals("已",ma) || Objects.equals("一",ma)){ - ma = "已婚"; - }else if(Objects.equals("未",ma) || Objects.equals("未婚婚",ma)){ - ma = "未婚"; - }else if(Objects.equals("初",ma)){ - ma = "初婚"; - }else if(Objects.equals("再",ma)){ - ma = "再婚"; - }else if(Objects.equals("复",ma)){ - ma = "复婚"; - }else if(Objects.equals("丧",ma) || Objects.equals("丧偶偶",ma)){ - ma = "丧偶"; - }else if(Objects.equals("离",ma) || Objects.equals("离异",ma) || Objects.equals("离异婚",ma)){ - ma = "离婚"; - }else if(Objects.equals("分",ma)){ - ma = "分居"; } - return ma; - } - - private String convertRelation(String ra) { - if(ra.contains("户主")){ - ra = "户主"; - }else if(Objects.equals(ra,"女儿")){ - ra = "女"; - }else if(Objects.equals(ra,"儿子") || Objects.equals(ra,"儿")){ - ra = "子"; - }else if(Objects.equals(ra,"大女")){ - ra = "长女"; - }else if(Objects.equals(ra,"二女") || Objects.equals(ra,"此女")){ - ra = "次女"; - }else if(Objects.equals(ra,"二子")){ - ra = "次子"; - }else if(Objects.equals(ra,"长男") || ra.contains("长子")){ - ra = "长子"; - }else if(Objects.equals(ra,"非亲属") || ra.contains("女友") || ra.contains("女朋友") - || ra.contains("男友") || ra.contains("男朋友")){ - ra = "其他"; - }else if(Objects.equals(ra,"姐")){ - ra = "姐姐"; - }else if(Objects.equals(ra,"户主")){ - ra = "本人"; - }else if(Objects.equals(ra,"妻子") || Objects.equals(ra,"媳妇")){ - ra = "妻"; - }else if(Objects.equals(ra,"哥") || Objects.equals(ra,"哥哥")){ - ra = "兄"; - }else if(Objects.equals(ra,"丈夫")){ - ra = "夫"; - }else if(Objects.equals(ra,"丈母娘")){ - ra = "岳母"; - }else if(Objects.equals(ra,"继子") || Objects.equals(ra,"养子")){ - ra = "养子或继子"; - }else if(Objects.equals(ra,"继女") || Objects.equals(ra,"养女")){ - ra = "养女或继女"; - }else if(ra.contains("儿媳")||ra.contains("长媳")){ - ra = "儿媳"; - }else if(Objects.equals(ra,"三姨") || Objects.equals(ra,"姨姨")){ - ra = "姨母"; - }else if(Objects.equals(ra,"二外孙女")){ - ra = "外孙女"; - }else if(Objects.equals(ra,"外孙")){ - ra = "外孙子"; - }else if(Objects.equals(ra,"侄儿")){ - ra = "侄子"; - }else if(ra.contains("表")){ - ra = "表兄弟、表姐妹"; - }else if(Objects.equals(ra,"继父") || Objects.equals(ra,"养父")){ - ra = "继父或养父"; - }else if(Objects.equals(ra,"父")){ - ra = "父亲"; - }else if(Objects.equals(ra,"弟弟")){ - ra = "弟"; - }else if(Objects.equals(ra,"孙")){ - ra = "孙子"; - }else if(Objects.equals(ra,"孙媳妇") || Objects.equals(ra,"外孙媳妇")){ - ra = "孙媳妇或外孙媳妇"; - }else if(Objects.equals(ra,"妹")){ - ra = "妹妹"; - }else if(Objects.equals(ra,"祖父母")){ - ra = "祖父母或外祖父母"; - }else if(Objects.equals(ra,"姐妹") || Objects.equals(ra,"兄弟")){ - ra = "兄弟姐妹"; - }else if(Objects.equals(ra,"其他姐妹") || Objects.equals(ra,"其他兄弟")){ - ra = "其他兄弟姐妹"; - }else if(Objects.equals(ra,"奶奶")){ - ra = "祖母"; - }else if(Objects.equals(ra,"爷爷")){ - ra = "祖父"; - }else if(Objects.equals(ra,"爷爷")){ - ra = "祖父"; - }else if(ra.contains("堂")){ - ra = "堂兄弟、堂姐妹"; + 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)); } - return ra; - } + 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)){ + ma = "已婚"; + }else if(Objects.equals("未",ma) || Objects.equals("未婚婚",ma)){ + ma = "未婚"; + }else if(Objects.equals("初",ma)){ + ma = "初婚"; + }else if(Objects.equals("再",ma)){ + ma = "再婚"; + }else if(Objects.equals("复",ma)){ + ma = "复婚"; + }else if(Objects.equals("丧",ma) || Objects.equals("丧偶偶",ma)){ + ma = "丧偶"; + }else if(Objects.equals("离",ma) || Objects.equals("离异",ma) || Objects.equals("离异婚",ma)){ + ma = "离婚"; + }else if(Objects.equals("分",ma)){ + ma = "分居"; + } + + return ma; + } + + private String convertRelation(String ra) { + if(ra.contains("户主")){ + ra = "户主"; + }else if(Objects.equals(ra,"女儿")){ + ra = "女"; + }else if(Objects.equals(ra,"儿子") || Objects.equals(ra,"儿")){ + ra = "子"; + }else if(Objects.equals(ra,"大女")){ + ra = "长女"; + }else if(Objects.equals(ra,"二女") || Objects.equals(ra,"此女")){ + ra = "次女"; + }else if(Objects.equals(ra,"二子")){ + ra = "次子"; + }else if(Objects.equals(ra,"长男") || ra.contains("长子")){ + ra = "长子"; + }else if(Objects.equals(ra,"非亲属") || ra.contains("女友") || ra.contains("女朋友") + || ra.contains("男友") || ra.contains("男朋友")){ + ra = "其他"; + }else if(Objects.equals(ra,"姐")){ + ra = "姐姐"; + }else if(Objects.equals(ra,"户主")){ + ra = "本人"; + }else if(Objects.equals(ra,"妻子") || Objects.equals(ra,"媳妇")){ + ra = "妻"; + }else if(Objects.equals(ra,"哥") || Objects.equals(ra,"哥哥")){ + ra = "兄"; + }else if(Objects.equals(ra,"丈夫")){ + ra = "夫"; + }else if(Objects.equals(ra,"丈母娘")){ + ra = "岳母"; + }else if(Objects.equals(ra,"继子") || Objects.equals(ra,"养子")){ + ra = "养子或继子"; + }else if(Objects.equals(ra,"继女") || Objects.equals(ra,"养女")){ + ra = "养女或继女"; + }else if(ra.contains("儿媳")||ra.contains("长媳")){ + ra = "儿媳"; + }else if(Objects.equals(ra,"三姨") || Objects.equals(ra,"姨姨")){ + ra = "姨母"; + }else if(Objects.equals(ra,"二外孙女")){ + ra = "外孙女"; + }else if(Objects.equals(ra,"外孙")){ + ra = "外孙子"; + }else if(Objects.equals(ra,"侄儿")){ + ra = "侄子"; + }else if(ra.contains("表")){ + ra = "表兄弟、表姐妹"; + }else if(Objects.equals(ra,"继父") || Objects.equals(ra,"养父")){ + ra = "继父或养父"; + }else if(Objects.equals(ra,"父")){ + ra = "父亲"; + }else if(Objects.equals(ra,"弟弟")){ + ra = "弟"; + }else if(Objects.equals(ra,"孙")){ + ra = "孙子"; + }else if(Objects.equals(ra,"孙媳妇") || Objects.equals(ra,"外孙媳妇")){ + ra = "孙媳妇或外孙媳妇"; + }else if(Objects.equals(ra,"妹")){ + ra = "妹妹"; + }else if(Objects.equals(ra,"祖父母")){ + ra = "祖父母或外祖父母"; + }else if(Objects.equals(ra,"姐妹") || Objects.equals(ra,"兄弟")){ + ra = "兄弟姐妹"; + }else if(Objects.equals(ra,"其他姐妹") || Objects.equals(ra,"其他兄弟")){ + ra = "其他兄弟姐妹"; + }else if(Objects.equals(ra,"奶奶")){ + ra = "祖母"; + }else if(Objects.equals(ra,"爷爷")){ + ra = "祖父"; + }else if(Objects.equals(ra,"爷爷")){ + ra = "祖父"; + }else if(ra.contains("堂")){ + ra = "堂兄弟、堂姐妹"; + } + + return ra; + } } diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComSwDangerReportHandleDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComSwDangerReportHandleDTO.java new file mode 100644 index 0000000..a6f5803 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComSwDangerReportHandleDTO.java @@ -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; + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComSwDangerReportRectifyDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComSwDangerReportRectifyDTO.java new file mode 100644 index 0000000..f727a87 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComSwDangerReportRectifyDTO.java @@ -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; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComSwPatrolRecordPageDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComSwPatrolRecordPageDTO.java index 0ea2119..1706212 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComSwPatrolRecordPageDTO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComSwPatrolRecordPageDTO.java @@ -58,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; + } diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComMngPopulationMistakeExcelVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComMngPopulationMistakeExcelVO.java new file mode 100644 index 0000000..5fdd5cf --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComMngPopulationMistakeExcelVO.java @@ -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; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComMngPopulationServeExcelVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComMngPopulationServeExcelVO.java index 0789848..90c6a02 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComMngPopulationServeExcelVO.java +++ b/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加密实现去重 diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwDangerReportExcelVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwDangerReportExcelVO.java new file mode 100644 index 0000000..b36c017 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwDangerReportExcelVO.java @@ -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; + +} + diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwDangerReportVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwDangerReportVO.java new file mode 100644 index 0000000..86de551 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwDangerReportVO.java @@ -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; + } +} \ No newline at end of file diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwPatrolRecordStatisticsVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwPatrolRecordStatisticsVO.java new file mode 100644 index 0000000..625099b --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwPatrolRecordStatisticsVO.java @@ -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; + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwPatrolRecordVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwPatrolRecordVO.java index 7ab44f8..03c27cd 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwPatrolRecordVO.java +++ b/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; /** * 天气 @@ -210,6 +210,12 @@ private Long createBy; /** + * 安全记录/隐患报告显示按钮 + */ + @ApiModelProperty("安全记录/隐患报告显示按钮(1.查看安全工作记录 2.隐患报告待填写 3.查看隐患报告)") + private Integer displayButton; + + /** * 巡查类型 */ public interface patrolType{ diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwSafetyWorkRecordVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwSafetyWorkRecordVO.java new file mode 100644 index 0000000..2ee565f --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComSwSafetyWorkRecordVO.java @@ -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; + } +} \ No newline at end of file diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java index 23be7d9..528017c 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java @@ -3751,6 +3751,102 @@ 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); + + /** * 小程序-查询积分说明 * @return 积分说明 */ diff --git a/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComSwPatrolRecordApi.java b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComSwPatrolRecordApi.java index 2714cc9..1c8be1d 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComSwPatrolRecordApi.java +++ b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComSwPatrolRecordApi.java @@ -1,20 +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.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.beans.factory.annotation.Value; import org.springframework.transaction.annotation.Transactional; -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.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 @@ -30,12 +42,28 @@ @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 comSwPatrolRecordPageDTO 查询参数 * @return 分页集合 */ - @ApiOperation(value = "分页查询巡查记录") + @ApiOperation(value = "分页查询巡查记录", response = ComSwPatrolRecordVO.class) @PostMapping("/pagePatrolRecord") public R pagePatrolRecord(@RequestBody ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO){ Long communityId = this.getCommunityId(); @@ -56,5 +84,175 @@ 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); + } + } diff --git a/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommonDataApi.java b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommonDataApi.java index 6b0ed37..3be69af 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommonDataApi.java +++ b/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; diff --git a/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/PopulationApi.java b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/PopulationApi.java index 07aae74..48281e0 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/PopulationApi.java +++ b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/PopulationApi.java @@ -90,7 +90,7 @@ 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()); @@ -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()); diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComSwPatrolRecordApi.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComSwPatrolRecordApi.java index 3f3d5cb..5b366ee 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComSwPatrolRecordApi.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComSwPatrolRecordApi.java @@ -1,17 +1,20 @@ package com.panzhihua.service_community.api; +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.transaction.annotation.Transactional; -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.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.List; /** * @auther txb @@ -26,10 +29,16 @@ @Resource private ComSwPatrolRecordService comSwPatrolRecordService; + @Resource + private ComSwSafetyWorkRecordService comSwSafetyWorkRecordService; + + @Resource + private ComSwDangerReportService comSwDangerReportService; + /** * 分页查询巡查记录 * @param comSwPatrolRecordPageDTO 查询参数 - * @return 分页集合 + * @return 巡查记录分页集合 */ @PostMapping("/page") public R pagePatrolRecord(@RequestBody ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO){ @@ -47,5 +56,113 @@ 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); + } + } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComSwDangerReportDAO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComSwDangerReportDAO.java index 714dca3..445f6dd 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComSwDangerReportDAO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComSwDangerReportDAO.java @@ -1,8 +1,18 @@ 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 @@ -12,4 +22,26 @@ @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); } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComSwSafetyWorkRecordDAO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComSwSafetyWorkRecordDAO.java index 2a07c2a..4da9108 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComSwSafetyWorkRecordDAO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComSwSafetyWorkRecordDAO.java @@ -1,8 +1,14 @@ 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 @@ -12,4 +18,11 @@ @Mapper public interface ComSwSafetyWorkRecordDAO extends BaseMapper<ComSwSafetyWorkRecordDO> { + /** + * 分页查询安全工作记录 + * @param comSwPatrolRecordPageDTO 查询参数 + * @return 安全工作记录分页集合 + */ + IPage<ComSwSafetyWorkRecordVO> pageSafetyWorkRecord(Page page, @Param("comSwPatrolRecordDTO") ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO); + } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComSwDangerReportDO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComSwDangerReportDO.java index b5bba68..40bd988 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComSwDangerReportDO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComSwDangerReportDO.java @@ -41,7 +41,7 @@ private String dangerType; /** - * 状态(1.待查看 2.待处理 3.待整改 4.已整改) + * 状态(1.待处理 2.待整改 3.已整改) */ private String status; @@ -106,6 +106,16 @@ private String undertakeRecord; /** + * 领导意见 + */ + private String leaderSuggestion; + + /** + * 指派人员 + */ + private String assignPerson; + + /** * 备注 */ private String remark; diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComSwDangerReportService.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComSwDangerReportService.java index 66a5362..c9bd748 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComSwDangerReportService.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComSwDangerReportService.java @@ -1,7 +1,16 @@ 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 @@ -10,4 +19,50 @@ */ 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); } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComSwPatrolRecordService.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComSwPatrolRecordService.java index 69a77a4..e17d2d0 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComSwPatrolRecordService.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComSwPatrolRecordService.java @@ -7,6 +7,7 @@ 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 @@ -17,6 +18,7 @@ /** * 分页查询巡查记录 + * * @param comSwPatrolRecordPageDTO 查询参数 * @return 分页集合 */ @@ -24,8 +26,17 @@ /** * 新增巡查记录 + * * @param comSwPatrolRecordAddDTO 新增参数 * @return 新增结果 */ R addPatrolRecord(ComSwPatrolRecordAddDTO comSwPatrolRecordAddDTO); + + /** + * 根据巡查记录id查询详情 + * + * @param patrolRecordId 巡查记录id + * @return 巡查记录详情查询结果 + */ + R detailPatrolRecord(Long patrolRecordId); } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComSwSafetyWorkRecordService.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComSwSafetyWorkRecordService.java index d43fc43..4ee7be1 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComSwSafetyWorkRecordService.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComSwSafetyWorkRecordService.java @@ -1,7 +1,12 @@ 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 @@ -10,4 +15,26 @@ */ 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); } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java index a5aa7e2..a2ea07c 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java +++ b/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; } @@ -467,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(); } @@ -1908,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())); + } + } \ No newline at end of file diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwDangerReportServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwDangerReportServiceImpl.java index c3d443b..a659935 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwDangerReportServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwDangerReportServiceImpl.java @@ -1,11 +1,37 @@ 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 @@ -16,4 +42,134 @@ @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); + } } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwPatrolRecordServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwPatrolRecordServiceImpl.java index 86e844c..47097d4 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwPatrolRecordServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwPatrolRecordServiceImpl.java @@ -1,5 +1,6 @@ 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; @@ -7,16 +8,15 @@ 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.dao.ComSwPatrolRecordReportDAO; import com.panzhihua.service_community.dao.ComSwSafetyWorkRecordDAO; -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.model.dos.*; import com.panzhihua.service_community.service.ComSwPatrolRecordService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; @@ -85,7 +85,7 @@ comSwDangerReportDO.setId(dangerReportId); comSwPatrolRecordReportDO.setReportId(dangerReportId); comSwDangerReportDO.setDangerType(comSwPatrolRecordAddDTO.getPatrolType()); - if (comSwPatrolRecordAddDTO.getIsRectifyImmediately().intValue() == ComSwPatrolRecordAddDTO.isOk.yes) { + if (comSwPatrolRecordAddDTO.getIsRectifyImmediately().intValue() == ComSwPatrolRecordAddDTO.isOk.yes && StringUtils.isNotEmpty(comSwPatrolRecordAddDTO.getTakeSteps())) { comSwDangerReportDO.setStatus(String.valueOf(SafeWordStatusEnum.YZG.getCode())); } comSwDangerReportDO.setRectifyTime(new Date()); @@ -102,4 +102,29 @@ 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); + } } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwSafetyWorkRecordServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwSafetyWorkRecordServiceImpl.java index 2ba916f..e331396 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwSafetyWorkRecordServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwSafetyWorkRecordServiceImpl.java @@ -1,11 +1,25 @@ 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 @@ -16,4 +30,60 @@ @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); + } } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwDangerReportMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwDangerReportMapper.xml index ac33a16..bb722f8 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwDangerReportMapper.xml +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwDangerReportMapper.xml @@ -21,6 +21,8 @@ <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" /> @@ -33,4 +35,123 @@ 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> \ No newline at end of file diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwPatrolRecordMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwPatrolRecordMapper.xml index 35dee8f..3a5fcd3 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwPatrolRecordMapper.xml +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwPatrolRecordMapper.xml @@ -35,35 +35,35 @@ <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 + 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 + 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 != ""'> + <if test='comSwPatrolRecordDTO.communityId != null and comSwPatrolRecordDTO.communityId != ""'> AND cspr.community_id = #{comSwPatrolRecordDTO.communityId} </if> - <if test='comSwPatrolRecordDTO.patrolPerson != null and comSwPatrolRecordDTO.patrolPerson != ""'> + <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 != ""'> + <if test='comSwPatrolRecordDTO.patrolType != null and comSwPatrolRecordDTO.patrolType != ""'> AND cspr.patrol_type = #{comSwPatrolRecordDTO.patrolType} </if> <if test='comSwPatrolRecordDTO.patrolAtBegin != null '> diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwPatrolRecordReportMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwPatrolRecordReportMapper.xml index 93b4027..8ac3a8c 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwPatrolRecordReportMapper.xml +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwPatrolRecordReportMapper.xml @@ -2,20 +2,20 @@ <!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> + <!-- 通用查询映射结果 --> + <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 id="Base_Column_List"> + id, patrol_record_id, report_id, create_at, create_by, update_at, update_by </sql> </mapper> \ No newline at end of file diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwSafetyWorkRecordMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwSafetyWorkRecordMapper.xml index 51c2b93..88b3522 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwSafetyWorkRecordMapper.xml +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComSwSafetyWorkRecordMapper.xml @@ -2,19 +2,61 @@ <!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> + <!-- 通用查询映射结果 --> + <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 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> \ No newline at end of file -- Gitblit v1.7.1