| | |
| | | |
| | | public static final String ELDER_RECORD_ERROR_LIST = "ELDER_RECORD_ERROR_LIST_"; |
| | | |
| | | public static final String PENSION_RECORD_ERROR_LIST = "PENSION_RECORD_ERROR_LIST_"; |
| | | |
| | | /** |
| | | * 高德地图获取天气url |
| | | */ |
| | |
| | | private void setElderAuthMistake(Map<Integer, String> map, ComElderAuthRecordImportMistakeExcelVO vo) { |
| | | vo.setName(map.get(0)); |
| | | vo.setIdCard(map.get(1)); |
| | | vo.setPhone(map.get(3)); |
| | | vo.setNowAddress(map.get(2)); |
| | | vo.setPhone(map.get(2)); |
| | | vo.setNowAddress(map.get(3)); |
| | | vo.setAuthDate(map.get(4)); |
| | | vo.setIsAlive(map.get(5)); |
| | | } |
New file |
| | |
| | | package com.panzhihua.common.listen; |
| | | |
| | | import cn.hutool.core.date.DateUtil; |
| | | import com.alibaba.excel.context.AnalysisContext; |
| | | import com.alibaba.excel.event.AnalysisEventListener; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.google.common.collect.Lists; |
| | | import com.panzhihua.common.constants.BcDictionaryConstants; |
| | | import com.panzhihua.common.constants.Constants; |
| | | import com.panzhihua.common.enums.PopulHouseUseEnum; |
| | | import com.panzhihua.common.enums.PopulSexEnum; |
| | | 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.ComPensionAuthRecordImportExcelVO; |
| | | import com.panzhihua.common.model.vos.community.ComPensionAuthRecordImportMistakeExcelVO; |
| | | import com.panzhihua.common.service.community.CommunityService; |
| | | import com.panzhihua.common.utlis.StringUtils; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.data.redis.core.StringRedisTemplate; |
| | | import org.springframework.data.redis.core.ValueOperations; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.concurrent.TimeUnit; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * @title: ComPensionAuthRecordImportExcelListen |
| | | * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 |
| | | * @description: 养老线下认证导入监听 |
| | | * @author: txb |
| | | * @date: 2021/09/08 09:16 |
| | | */ |
| | | @Slf4j |
| | | public class ComPensionAuthRecordImportExcelListen extends AnalysisEventListener<Map<Integer, String>> { |
| | | /** |
| | | * 每隔5条存储数据库,实际使用中可以3000条,然后清理list ,方便内存回收 |
| | | */ |
| | | private static final int BATCH_COUNT = 5000; |
| | | private static int headSize = 0; |
| | | List<Map<Integer, String>> list = new ArrayList<Map<Integer, String>>(); |
| | | private CommunityService communityService; |
| | | private Long communityId; |
| | | private Long userId; |
| | | private Map<Integer, String> headData; |
| | | private StringRedisTemplate stringRedisTemplate; |
| | | |
| | | public ComPensionAuthRecordImportExcelListen(CommunityService communityService, Long communityId, Long userId, |
| | | StringRedisTemplate stringRedisTemplate) { |
| | | this.communityService = communityService; |
| | | this.communityId = communityId; |
| | | this.userId = userId; |
| | | this.stringRedisTemplate = stringRedisTemplate; |
| | | } |
| | | |
| | | @Override |
| | | public void invoke(Map<Integer, String> data, AnalysisContext context) { |
| | | list.add(data); |
| | | if (list.size() >= BATCH_COUNT) { |
| | | saveData(); |
| | | list.clear(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 这里会一行行的返回头 |
| | | * |
| | | * @param headMap |
| | | * @param context |
| | | */ |
| | | @Override |
| | | public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) { |
| | | headSize = headMap.size(); |
| | | headData = headMap; |
| | | } |
| | | |
| | | @Override |
| | | public void doAfterAllAnalysed(AnalysisContext context) { |
| | | saveData(); |
| | | log.info("所有数据解析完成!"); |
| | | } |
| | | |
| | | /** |
| | | * 不是固定的列只能手动处理 |
| | | */ |
| | | private void saveData() { |
| | | R<List<BcDictionaryVO>> dictionaryR = communityService.listDictionaryByKey(BcDictionaryConstants.FAMILY); |
| | | log.info("开始导入线下认证居民数据"); |
| | | log.info("表格总数据:" + list.size()); |
| | | if (list.size() == 0) { |
| | | throw new ServiceException("100", "导入数据为空!"); |
| | | } |
| | | ValueOperations<String, String> valueOperations = stringRedisTemplate.opsForValue(); |
| | | String key = Constants.PENSION_RECORD_ERROR_LIST; |
| | | |
| | | 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 { |
| | | String[] parsePatterns = new String[] {"yyyy-MM-dd", "yyyy-M-dd", "yyyy-MM-d", "yyyy-M-d", "yyyy/MM/dd", |
| | | "yyyy/M/dd", "yyyy/MM/d", "yyyy/M/d"}; |
| | | ArrayList<ComPensionAuthRecordImportExcelVO> voList = Lists.newArrayList(); |
| | | // List<ComMngPopulationImportErrorVO> populationImportErrorVOList = new ArrayList<>(); |
| | | ArrayList<ComPensionAuthRecordImportMistakeExcelVO> mistakes = Lists.newArrayList(); |
| | | for (Map<Integer, String> oneData : list) { |
| | | ComPensionAuthRecordImportExcelVO vo = new ComPensionAuthRecordImportExcelVO(); |
| | | if (StringUtils.isEmpty(oneData.get(0))) { |
| | | ComPensionAuthRecordImportMistakeExcelVO mistake = new ComPensionAuthRecordImportMistakeExcelVO(); |
| | | index++; |
| | | setPensionAuthMistake(oneData, mistake); |
| | | mistake.setMistake("名字不可为空,请填写姓名"); |
| | | mistakes.add(mistake); |
| | | continue; |
| | | } |
| | | vo.setName(oneData.get(0)); |
| | | if (StringUtils.isEmpty(oneData.get(1))) { |
| | | ComPensionAuthRecordImportMistakeExcelVO mistake = new ComPensionAuthRecordImportMistakeExcelVO(); |
| | | index++; |
| | | setPensionAuthMistake(oneData, mistake); |
| | | mistake.setMistake("身份证号不可为空,请填写身份证"); |
| | | mistakes.add(mistake); |
| | | continue; |
| | | } |
| | | |
| | | // 判断身份证号码位数 |
| | | if (oneData.get(1).length() != 18) { |
| | | ComPensionAuthRecordImportMistakeExcelVO mistake = new ComPensionAuthRecordImportMistakeExcelVO(); |
| | | index++; |
| | | setPensionAuthMistake(oneData, mistake); |
| | | mistake.setMistake("身份证号位数有误,请检查身份证号码是否正确"); |
| | | mistakes.add(mistake); |
| | | continue; |
| | | } |
| | | vo.setIdCard(oneData.get(1).toUpperCase()); |
| | | // 根据身份证号码解析年龄以及性别 |
| | | // 获取用户生日 |
| | | String birthday = vo.getIdCard().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.getIdCard().substring(16, 17)); |
| | | if (sex % 2 == 1) { |
| | | vo.setSex(PopulSexEnum.nan.getCode()); |
| | | } else { |
| | | vo.setSex(PopulSexEnum.nv.getCode()); |
| | | } |
| | | |
| | | if (StringUtils.isNotEmpty(oneData.get(2))) { |
| | | vo.setPhone(oneData.get(2)); |
| | | } |
| | | if (StringUtils.isNotEmpty(oneData.get(3))) { |
| | | vo.setNowAddress(oneData.get(3)); |
| | | } |
| | | if (StringUtils.isEmpty(oneData.get(4))) { |
| | | index++; |
| | | ComPensionAuthRecordImportMistakeExcelVO mistake = new ComPensionAuthRecordImportMistakeExcelVO(); |
| | | setPensionAuthMistake(oneData, mistake); |
| | | mistake.setMistake("认证时间不可为空"); |
| | | mistakes.add(mistake); |
| | | continue; |
| | | } |
| | | vo.setAuthDate(DateUtil.parse(oneData.get(4).trim(), parsePatterns)); |
| | | if (StringUtils.isNotEmpty(oneData.get(5))) { |
| | | Integer isOk = PopulHouseUseEnum.getCodeByName(oneData.get(5)); |
| | | if (isOk.equals(-1)) { |
| | | index++; |
| | | ComPensionAuthRecordImportMistakeExcelVO mistake = new ComPensionAuthRecordImportMistakeExcelVO(); |
| | | setPensionAuthMistake(oneData, mistake); |
| | | mistake.setMistake("您填写的健在(是/否)有误"); |
| | | mistakes.add(mistake); |
| | | continue; |
| | | } |
| | | vo.setIsAlive(isOk); |
| | | } else { |
| | | vo.setIsAlive(PopulHouseUseEnum.getCodeByName("否")); |
| | | } |
| | | voList.add(vo); |
| | | index++; |
| | | } |
| | | log.info("开始进入业务层处理逻辑"); |
| | | R r = communityService.listSavePensionAuthRecordExcelVO(voList, communityId, userId); |
| | | log.info("业务层处理逻辑完成"); |
| | | if (!R.isOk(r)) { |
| | | log.info("业务层处理成功"); |
| | | List<ComPensionAuthRecordImportMistakeExcelVO> list = |
| | | JSONArray.parseArray(JSONArray.toJSONString(r.getData()), ComPensionAuthRecordImportMistakeExcelVO.class); |
| | | // String errMsg = r.getMsg(); |
| | | // List<ComMngPopulationImportErrorVO> errorList = |
| | | // JSON.parseArray(errMsg,ComMngPopulationImportErrorVO.class); |
| | | // if(!errorList.isEmpty()){ |
| | | // populationImportErrorVOList.addAll(errorList); |
| | | // } |
| | | mistakes.addAll(list); |
| | | log.info("将错误数据存入redis中"); |
| | | valueOperations.set(key, JSONArray.toJSONString(mistakes), 1, TimeUnit.HOURS); |
| | | log.info("将错误数据存入redis中成功"); |
| | | throw new ServiceException("500", key); |
| | | } else { |
| | | log.info("业务层处理逻辑失败"); |
| | | if (!mistakes.isEmpty()) { |
| | | log.info("业务层处理逻辑失败,将错误数据缓存到redis中"); |
| | | valueOperations.set(key, JSONArray.toJSONString(mistakes), 1, TimeUnit.HOURS); |
| | | log.info("业务层处理逻辑失败,将错误数据缓存到redis中成功"); |
| | | throw new ServiceException("500", key); |
| | | } |
| | | } |
| | | } catch (NumberFormatException e) { |
| | | log.info("处理数据时失败"); |
| | | e.printStackTrace(); |
| | | // List<ComMngPopulationImportErrorVO> populationImportErrorVOList = new ArrayList<>(); |
| | | // ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); |
| | | // importErrorVO.setErrorPosition("第" + index + "行"); |
| | | // importErrorVO.setErrorMsg("数据格式有误,请检查文档内数据"); |
| | | // populationImportErrorVOList.add(importErrorVO); |
| | | log.error("数据格式有误,第" + index + "行"); |
| | | throw new ServiceException("500", "导入失败111"); |
| | | } |
| | | } |
| | | |
| | | private void setPensionAuthMistake(Map<Integer, String> map, ComPensionAuthRecordImportMistakeExcelVO vo) { |
| | | vo.setName(map.get(0)); |
| | | vo.setIdCard(map.get(1)); |
| | | vo.setPhone(map.get(2)); |
| | | vo.setNowAddress(map.get(3)); |
| | | vo.setAuthDate(map.get(4)); |
| | | vo.setIsAlive(map.get(5)); |
| | | } |
| | | } |
| | |
| | | package com.panzhihua.common.model.vos.community; |
| | | |
| | | import com.alibaba.excel.annotation.ExcelProperty; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.fasterxml.jackson.databind.annotation.JsonSerialize; |
| | | import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; |
| | | import com.panzhihua.common.model.helper.encrypt.EncryptDecryptClass; |
| | |
| | | private String sex; |
| | | |
| | | @ExcelProperty(value = "年龄", index = 5) |
| | | private String age; |
| | | private Integer age; |
| | | |
| | | @ExcelProperty(value = "出生日期", index = 6) |
| | | private String birthday; |
| | |
| | | private String authPeriod; |
| | | |
| | | @ExcelProperty(value = "认证时间", index = 11) |
| | | private String authDate; |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private Date authDate; |
| | | |
| | | @ExcelProperty(value = "标记", index = 12) |
| | | private String mark; |
New file |
| | |
| | | package com.panzhihua.common.model.vos.community; |
| | | |
| | | import com.alibaba.excel.annotation.ExcelProperty; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.panzhihua.common.model.helper.encrypt.EncryptDecryptClass; |
| | | import com.panzhihua.common.model.helper.encrypt.EncryptDecryptField; |
| | | import io.swagger.annotations.ApiModel; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @title: ComElderAuthRecordStatisticExcleVO |
| | | * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 |
| | | * @description: 高龄认证记录统计 |
| | | * @author: hans |
| | | * @date: 2021/09/01 16:16 |
| | | */ |
| | | @Data |
| | | @ApiModel("高龄认证记录统计") |
| | | @EncryptDecryptClass |
| | | public class ComElderAuthRecordStatisticExcleVO { |
| | | |
| | | @ExcelProperty(value = "联系电话", index = 0) |
| | | private String phone; |
| | | |
| | | @ExcelProperty(value = "认证姓名", index = 1) |
| | | private String name; |
| | | |
| | | @ExcelProperty(value = "身份证号", index = 2) |
| | | @EncryptDecryptField |
| | | private String idCard; |
| | | |
| | | @ExcelProperty(value = "性别", index = 3) |
| | | private String sex; |
| | | |
| | | @ExcelProperty(value = "年龄", index = 4) |
| | | private Integer age; |
| | | |
| | | @ExcelProperty(value = "出生日期", index = 6) |
| | | private String birthday; |
| | | |
| | | @ExcelProperty(value = "人员类别", index = 5) |
| | | private String personnelCategory; |
| | | |
| | | @ExcelProperty(value = "现居住地址", index = 7) |
| | | private String address; |
| | | |
| | | @ExcelProperty(value = "健在", index = 8) |
| | | private String isAlive; |
| | | |
| | | @ExcelProperty(value = "认证期数", index = 9) |
| | | private String authPeriod; |
| | | |
| | | @ExcelProperty(value = "认证时间", index = 10) |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date authDate; |
| | | |
| | | @ExcelProperty(value = "标记", index = 11) |
| | | private String mark; |
| | | |
| | | @ExcelProperty(value = "认证状态", index = 12) |
| | | private String authStatus; |
| | | } |
| | |
| | | private String authVideo; |
| | | |
| | | @ApiModelProperty(value = "审核人员id") |
| | | private Long approver; |
| | | private Long approverId; |
| | | |
| | | @ApiModelProperty(value = "审核人员姓名") |
| | | private String approverName; |
New file |
| | |
| | | package com.panzhihua.common.model.vos.community; |
| | | |
| | | import com.alibaba.excel.annotation.ExcelProperty; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.panzhihua.common.model.helper.encrypt.EncryptDecryptClass; |
| | | import com.panzhihua.common.model.helper.encrypt.EncryptDecryptField; |
| | | import io.swagger.annotations.ApiModel; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @title: ComPensionAuthRecordExcleVO |
| | | * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 |
| | | * @description: 养老认证记录 |
| | | * @author: txb |
| | | * @date: 2021/09/07 16:16 |
| | | */ |
| | | @Data |
| | | @ApiModel("养老认证记录") |
| | | @EncryptDecryptClass |
| | | public class ComPensionAuthRecordExcleVO { |
| | | |
| | | @ExcelProperty(value = "提交用户", index = 0) |
| | | private String submitUserName; |
| | | |
| | | @ExcelProperty(value = "联系电话", index = 1) |
| | | private String phone; |
| | | |
| | | @ExcelProperty(value = "认证姓名", index = 2) |
| | | private String name; |
| | | |
| | | @ExcelProperty(value = "认证身份证号", index = 3) |
| | | @EncryptDecryptField |
| | | private String idCard; |
| | | |
| | | @ExcelProperty(value = "现居住地址", index = 4) |
| | | private String address; |
| | | |
| | | @ExcelProperty(value = "健在", index = 5) |
| | | private String isAlive; |
| | | |
| | | @ExcelProperty(value = "认证期数", index = 6) |
| | | private String authPeriod; |
| | | |
| | | @ExcelProperty(value = "认证时间", index = 7) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private Date authDate; |
| | | |
| | | @ExcelProperty(value = "认证方式", index = 8) |
| | | private String authMethod; |
| | | |
| | | @ExcelProperty(value = "标记", index = 9) |
| | | private String mark; |
| | | |
| | | @ExcelProperty(value = "审核状态", index = 10) |
| | | private String approvalStatus; |
| | | } |
New file |
| | |
| | | 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; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @title: ComPensionAuthRecordImportExcelVO |
| | | * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 |
| | | * @description: 养老线下认证导入 |
| | | * @author: txb |
| | | * @date: 2021/09/08 09:16 |
| | | */ |
| | | @Data |
| | | @EncryptDecryptClass |
| | | public class ComPensionAuthRecordImportExcelVO implements Serializable { |
| | | |
| | | @ExcelProperty(value = "认证姓名", index = 0) |
| | | private String name; |
| | | |
| | | @ExcelProperty(value = "认证身份证号码", index = 1) |
| | | @EncryptDecryptField |
| | | private String IdCard; |
| | | |
| | | @ExcelProperty(value = "联系电话", index = 2) |
| | | private String phone; |
| | | |
| | | @ExcelProperty(value = "现居住地址", index = 3) |
| | | private String nowAddress; |
| | | |
| | | @ExcelProperty(value = "认证时间", index = 4) |
| | | private Date authDate; |
| | | |
| | | @ExcelProperty(value = "健在(是/否)", index = 5) |
| | | private Integer isAlive; |
| | | |
| | | /** |
| | | * 年龄 |
| | | */ |
| | | private Integer age; |
| | | |
| | | /** |
| | | * 性别(1.男 2.女) |
| | | */ |
| | | private Integer sex; |
| | | |
| | | /** |
| | | * 出生年月日 |
| | | */ |
| | | private String birthday; |
| | | |
| | | /** |
| | | * 地址 |
| | | */ |
| | | private String address; |
| | | } |
New file |
| | |
| | | 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; |
| | | |
| | | /** |
| | | * @title: ComPensionAuthRecordImportMistakeExcelVO |
| | | * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 |
| | | * @description: 养老线下认证导入错误记录 |
| | | * @author: txb |
| | | * @date: 2021/09/08 09:16 |
| | | */ |
| | | @Data |
| | | @EncryptDecryptClass |
| | | public class ComPensionAuthRecordImportMistakeExcelVO implements Serializable { |
| | | |
| | | @ExcelProperty(value = "认证姓名", index = 0) |
| | | private String name; |
| | | |
| | | @ExcelProperty(value = "认证身份证号码", index = 1) |
| | | @EncryptDecryptField |
| | | private String IdCard; |
| | | |
| | | @ExcelProperty(value = "联系电话", index = 2) |
| | | private String phone; |
| | | |
| | | @ExcelProperty(value = "现居住地址", index = 3) |
| | | private String nowAddress; |
| | | |
| | | @ExcelProperty(value = "认证时间", index = 4) |
| | | private String authDate; |
| | | |
| | | @ExcelProperty(value = "健在(是/否)", index = 5) |
| | | private String isAlive; |
| | | |
| | | @ExcelProperty(value = "错误信息", index = 6) |
| | | private String mistake; |
| | | } |
New file |
| | |
| | | package com.panzhihua.common.model.vos.community; |
| | | |
| | | import com.alibaba.excel.annotation.ExcelProperty; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.panzhihua.common.model.helper.encrypt.EncryptDecryptClass; |
| | | import com.panzhihua.common.model.helper.encrypt.EncryptDecryptField; |
| | | import io.swagger.annotations.ApiModel; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @title: ComPensionAuthRecordStatisticExcleVO |
| | | * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 |
| | | * @description: 养老认证记录统计 |
| | | * @author: txb |
| | | * @date: 2021/09/08 16:16 |
| | | */ |
| | | @Data |
| | | @ApiModel("养老认证记录统计") |
| | | @EncryptDecryptClass |
| | | public class ComPensionAuthRecordStatisticExcleVO { |
| | | |
| | | @ExcelProperty(value = "联系电话", index = 0) |
| | | private String phone; |
| | | |
| | | @ExcelProperty(value = "认证姓名", index = 1) |
| | | private String name; |
| | | |
| | | @ExcelProperty(value = "身份证号", index = 2) |
| | | @EncryptDecryptField |
| | | private String idCard; |
| | | |
| | | @ExcelProperty(value = "现居住地址", index = 3) |
| | | private String address; |
| | | |
| | | @ExcelProperty(value = "健在", index = 4) |
| | | private String isAlive; |
| | | |
| | | @ExcelProperty(value = "认证期数", index = 5) |
| | | private String authPeriod; |
| | | |
| | | @ExcelProperty(value = "认证时间", index = 6) |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date authDate; |
| | | |
| | | @ExcelProperty(value = "认证方式", index = 7) |
| | | private String authMethod; |
| | | |
| | | @ExcelProperty(value = "标记", index = 8) |
| | | private String mark; |
| | | |
| | | @ExcelProperty(value = "认证状态", index = 9) |
| | | private String authStatus; |
| | | } |
| | |
| | | |
| | | import com.panzhihua.common.model.helper.encrypt.EncryptDecryptClass; |
| | | |
| | | import com.panzhihua.common.model.helper.encrypt.EncryptDecryptField; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | |
| | | @ApiModelProperty(value = "提交用户") |
| | | private Long submitUserId; |
| | | |
| | | @ApiModelProperty(value = "提交用户姓名") |
| | | private String submitUserName; |
| | | |
| | | @ApiModelProperty(value = "联系电话") |
| | | private String phone; |
| | | |
| | | @ApiModelProperty(value = "姓名") |
| | | private String name; |
| | | |
| | | @ApiModelProperty(value = "身份证号") |
| | | @EncryptDecryptField |
| | | private String idCard; |
| | | |
| | | @ApiModelProperty(value = "性别(1.男 2.女 3.其他)") |
| | | private String sex; |
| | | |
| | | @ApiModelProperty(value = "年龄") |
| | | private Integer age; |
| | | |
| | | @ApiModelProperty(value = "出生日期") |
| | | private String birthday; |
| | | |
| | | @ApiModelProperty(value = "人员类别(1.80-89周岁 2.90-99周岁 3.100周岁(含)以上)") |
| | | private Integer personnelCategory; |
| | | |
| | | @ApiModelProperty(value = "是否高龄老人登记(1.是 0.否)") |
| | | private Integer isRegister; |
| | | |
| | | @ApiModelProperty(value = "是否健在(1.是 0.否)") |
| | | private Integer isAlive; |
| | | |
| | | @ApiModelProperty(value = "居住地址") |
| | | private String address; |
| | | |
| | | @ApiModelProperty(value = "认证视频url") |
| | | private String authVideo; |
| | | |
| | | @ApiModelProperty(value = "审核人员") |
| | | private String approver; |
| | | @ApiModelProperty(value = "审核人员id") |
| | | private String approverId; |
| | | |
| | | @ApiModelProperty(value = "审核状态(1.待审核 2.驳回 3.通过)") |
| | | private Integer approvalStatus; |
| | |
| | | private String rejectReason; |
| | | |
| | | @ApiModelProperty(value = "认证状态") |
| | | private Boolean authStatus; |
| | | private Integer authStatus; |
| | | |
| | | @ApiModelProperty(value = "认证时间") |
| | | private Date authDate; |
| | |
| | | import com.panzhihua.common.enums.*; |
| | | import com.panzhihua.common.listen.ComElderAuthRecordImportExcelListen; |
| | | import com.panzhihua.common.listen.ComMngPopulationDrugExcelListen; |
| | | import com.panzhihua.common.listen.ComPensionAuthRecordImportExcelListen; |
| | | import com.panzhihua.common.model.dtos.community.*; |
| | | import com.panzhihua.common.model.vos.community.*; |
| | | import com.panzhihua.common.service.community.CommunityService; |
| | |
| | | if (R.isOk(r)) { |
| | | list = JSONArray.parseArray(JSONArray.toJSONString(r.getData()), ComElderAuthRecordExcleVO.class); |
| | | } |
| | | excelWriter = EasyExcel.write(fileName, ComElderAuthRecordVO.class) |
| | | excelWriter = EasyExcel.write(fileName, ComElderAuthRecordExcleVO.class) |
| | | .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) |
| | | .registerWriteHandler(new CustomSheetWriteHandler()).build(); |
| | | WriteSheet writeSheet = EasyExcel.writerSheet("高龄认证导出数据").build(); |
| | |
| | | } |
| | | } |
| | | |
| | | @ApiOperation(value = "高龄认证-下载模板-线下认证居民导入") |
| | | @ApiOperation(value = "高龄认证统计-下载模板-线下认证居民导入") |
| | | @GetMapping("/authRecords/uderLine/export") |
| | | public R exportUnderLineElderAuthRecords() { |
| | | // 生成动态模板excel通过ftp工具上传到主节点,然后返回模板下载地址 |
| | | String ftpUrl = "/mnt/data/web/excel/"; |
| | | String name = "线下认证居民导入模板.xlsx"; |
| | | String name = "高龄线下认证居民导入模板.xlsx"; |
| | | try { |
| | | SFTPUtil sftp = new SFTPUtil(userName, password, host, port); |
| | | sftp.login(); |
| | |
| | | try { |
| | | List<List<String>> list = new ArrayList<>(); |
| | | list = headDataFilling(); |
| | | EasyExcel.write(fileName).head(list).sheet("线下认证居民导入模板").doWrite(null); |
| | | EasyExcel.write(fileName).head(list).sheet("高龄线下认证居民导入模板").doWrite(null); |
| | | File file = new File(fileName); |
| | | inputStream = new FileInputStream(file); |
| | | sftp.uploadMore(ftpUrl, name, inputStream); |
| | |
| | | } |
| | | } |
| | | |
| | | @ApiOperation(value = "高龄认证-excel导入线下认证居民") |
| | | @ApiOperation(value = "高龄认证统计-excel导入线下认证居民") |
| | | @PostMapping(value = "/authRecords/uderLine/import", consumes = "multipart/*", headers = "content-type=multipart/form-date") |
| | | public R importDrug(@RequestParam MultipartFile file, HttpServletRequest request) { |
| | | public R importUnderLineElderAuthRecords(@RequestParam MultipartFile file, HttpServletRequest request) { |
| | | // 获取文件名 |
| | | String fileName = file.getOriginalFilename(); |
| | | log.info("传入文件名字【{}】", fileName); |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | @ApiOperation(value = "高龄认证统计-导出高龄认证统计") |
| | | @PostMapping(value = "/authRecords/statistic/export") |
| | | public R exportElderAuthRecordsStatistic(@RequestBody PageElderAuthRecordsDTO pageElderAuthRecordsDTO) { |
| | | Long communityId = this.getLoginUserInfo().getCommunityId(); |
| | | pageElderAuthRecordsDTO.setCommunityId(communityId); |
| | | String ftpUrl = "/mnt/data/web/excel/"; |
| | | String nowDate = DateUtils.getCurrentDateString(); |
| | | String name = "高龄认证统计导出数据" + nowDate + ".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 { |
| | | R r = communityService.exportElderAuthRecordsStatistic(pageElderAuthRecordsDTO); |
| | | List<ComElderAuthRecordStatisticExcleVO> list = new ArrayList<>(); |
| | | if (R.isOk(r)) { |
| | | list = JSONArray.parseArray(JSONArray.toJSONString(r.getData()), ComElderAuthRecordStatisticExcleVO.class); |
| | | } |
| | | excelWriter = EasyExcel.write(fileName, ComElderAuthRecordStatisticExcleVO.class) |
| | | .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) |
| | | .registerWriteHandler(new CustomSheetWriteHandler()).build(); |
| | | WriteSheet writeSheet = EasyExcel.writerSheet("高龄认证统计导出数据").build(); |
| | | excelWriter.write(list, 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(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 分页查询养老金人员认证记录 pagePensionAuthRecords 分页查询养老金人员认证记录 |
| | | * @param pageElderAuthRecordsDTO 查询参数 |
| | | * @return R 查询结果 |
| | | * @author txb |
| | | * @date 2021/9/07 14:03 |
| | | */ |
| | | @ApiOperation(value = "养老认证-分页查询养老金人员认证记录", response = ComPensionAuthRecordVO.class) |
| | | @PostMapping("/pensionAuthRecords/page") |
| | | public R pagePensionAuthRecords(@RequestBody PageElderAuthRecordsDTO pageElderAuthRecordsDTO) { |
| | | Long communityId = this.getLoginUserInfo().getCommunityId(); |
| | | pageElderAuthRecordsDTO.setCommunityId(communityId); |
| | | return communityService.pagePensionAuthRecords(pageElderAuthRecordsDTO); |
| | | } |
| | | |
| | | /** |
| | | * 根据养老认证记录id查询详情 detailPensionAuthRecords 根据养老认证记录id查询详情 |
| | | * @param authRecordId 养老认证记录id |
| | | * @return R 查询结果 |
| | | * @author txb |
| | | * @date 2021/9/07 11:03 |
| | | */ |
| | | @ApiOperation(value = "养老认证-根据养老认证记录id查询详情", response = ComPensionAuthRecordVO.class) |
| | | @GetMapping("/pensionAuthRecords/detail") |
| | | public R detailPensionAuthRecords(@RequestParam(value = "authRecordId") Long authRecordId) { |
| | | return communityService.detailPensionAuthRecords(authRecordId); |
| | | } |
| | | |
| | | /** |
| | | * 养老认证审核 examinePensionAuthRecords 养老认证审核 |
| | | * @param comPensionAuthRecordVO 养老认证审核参数 |
| | | * @return R 查询结果 |
| | | * @author txb |
| | | * @date 2021/9/07 11:03 |
| | | */ |
| | | @ApiOperation(value = "养老认证-养老认证审核") |
| | | @PostMapping("/pensionAuthRecords/examine") |
| | | public R examinePensionAuthRecords(@RequestBody ComPensionAuthRecordVO comPensionAuthRecordVO) { |
| | | return communityService.examinePensionAuthRecords(comPensionAuthRecordVO); |
| | | } |
| | | |
| | | /** |
| | | * 养老认证标记 signPensionAuthRecords 养老认证标记 |
| | | * @param comPensionAuthRecordVO 养老认证标记参数 |
| | | * @return R 查询结果 |
| | | * @author txb |
| | | * @date 2021/9/02 11:03 |
| | | */ |
| | | @ApiOperation(value = "养老认证-养老认证标记") |
| | | @PostMapping("/pensionAuthRecords/sign") |
| | | public R signPensionAuthRecords(@RequestBody ComPensionAuthRecordVO comPensionAuthRecordVO) { |
| | | return communityService.signPensionAuthRecords(comPensionAuthRecordVO); |
| | | } |
| | | |
| | | /** |
| | | * 养老认证导出 exportPensionAuthRecords 养老认证导出 |
| | | * @param ids 养老认证记录id集合 |
| | | * @return R 导出结果 |
| | | * @author txb |
| | | * @date 2021/9/02 11:03 |
| | | */ |
| | | @ApiOperation(value = "养老认证-养老认证导出") |
| | | @PostMapping("/pensionAuthRecords/export") |
| | | public R exportPensionAuthRecords(@RequestBody List<Long> ids) { |
| | | // List<ComMngPopulationMistakeExcelVO> list = JSON.parseArray(mistakes,ComMngPopulationMistakeExcelVO.class); |
| | | // 生成动态模板excel通过ftp工具上传到主节点,然后返回模板下载地址 |
| | | String ftpUrl = "/mnt/data/web/excel/"; |
| | | String nowDate = DateUtils.getCurrentDateString(); |
| | | String name = "养老认证导出数据" + nowDate + ".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 { |
| | | R r = communityService.getPensionAuthRecordsByIds(ids); |
| | | List<ComPensionAuthRecordExcleVO> list = new ArrayList<>(); |
| | | if (R.isOk(r)) { |
| | | list = JSONArray.parseArray(JSONArray.toJSONString(r.getData()), ComPensionAuthRecordExcleVO.class); |
| | | } |
| | | excelWriter = EasyExcel.write(fileName, ComPensionAuthRecordExcleVO.class) |
| | | .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) |
| | | .registerWriteHandler(new CustomSheetWriteHandler()).build(); |
| | | WriteSheet writeSheet = EasyExcel.writerSheet("养老认证导出数据").build(); |
| | | excelWriter.write(list, 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(); |
| | | } |
| | | } |
| | | |
| | | @ApiOperation(value = "养老认证统计-下载模板-线下认证居民导入") |
| | | @GetMapping("/pensionAuthRecords/uderLine/export") |
| | | public R exportUnderLinePensionAuthRecords() { |
| | | // 生成动态模板excel通过ftp工具上传到主节点,然后返回模板下载地址 |
| | | String ftpUrl = "/mnt/data/web/excel/"; |
| | | String name = "养老线下认证居民导入模板.xlsx"; |
| | | try { |
| | | SFTPUtil sftp = new SFTPUtil(userName, password, host, port); |
| | | sftp.login(); |
| | | boolean existDir = sftp.isExistDir(ftpUrl + name); |
| | | if (!existDir) { |
| | | String property = System.getProperty("user.dir"); |
| | | String fileName = property + File.separator + name; |
| | | // 这里 需要指定写用哪个class去写 |
| | | ExcelWriter excelWriter = null; |
| | | InputStream inputStream = null; |
| | | try { |
| | | List<List<String>> list = new ArrayList<>(); |
| | | list = headDataFilling(); |
| | | EasyExcel.write(fileName).head(list).sheet("养老线下认证居民导入模板").doWrite(null); |
| | | File file = new File(fileName); |
| | | inputStream = new FileInputStream(file); |
| | | sftp.uploadMore(ftpUrl, name, inputStream); |
| | | sftp.logout(); |
| | | inputStream.close(); |
| | | String absolutePath = file.getAbsolutePath(); |
| | | boolean delete = file.delete(); |
| | | log.info("删除excel【{}】结果【{}】", absolutePath, delete); |
| | | } finally { |
| | | // 千万别忘记finish 会帮忙关闭流 |
| | | if (inputStream != null) { |
| | | inputStream.close(); |
| | | } |
| | | } |
| | | } |
| | | return R.ok(excelUrl + name); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | log.error("文件传输失败【{}】", e.getMessage()); |
| | | return R.fail(); |
| | | } |
| | | } |
| | | |
| | | @ApiOperation(value = "养老认证统计-excel导入线下认证居民") |
| | | @PostMapping(value = "/pensionAuthRecords/uderLine/import", consumes = "multipart/*", headers = "content-type=multipart/form-date") |
| | | public R importUnderLinePensionAuthRecords(@RequestParam MultipartFile file, HttpServletRequest request) { |
| | | // 获取文件名 |
| | | String fileName = file.getOriginalFilename(); |
| | | log.info("传入文件名字【{}】", fileName); |
| | | InputStream inputStream = null; |
| | | try { |
| | | inputStream = file.getInputStream(); |
| | | ComPensionAuthRecordImportExcelListen comPensionAuthRecordImportExcelListen = new ComPensionAuthRecordImportExcelListen( |
| | | communityService, this.getCommunityId(), this.getLoginUserInfo().getUserId(), stringRedisTemplate); |
| | | EasyExcel.read(inputStream, null, comPensionAuthRecordImportExcelListen).sheet().doRead(); |
| | | } catch (IOException e) { |
| | | log.error("导入模板失败【{}】", e.getMessage()); |
| | | e.printStackTrace(); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | @ApiOperation(value = "养老认证统计-导出养老认证统计") |
| | | @PostMapping(value = "/pensionAuthRecords/statistic/export") |
| | | public R exportPensionAuthRecordsStatistic(@RequestBody PageElderAuthRecordsDTO pageElderAuthRecordsDTO) { |
| | | Long communityId = this.getLoginUserInfo().getCommunityId(); |
| | | pageElderAuthRecordsDTO.setCommunityId(communityId); |
| | | String ftpUrl = "/mnt/data/web/excel/"; |
| | | String nowDate = DateUtils.getCurrentDateString(); |
| | | String name = "养老认证统计导出数据" + nowDate + ".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 { |
| | | R r = communityService.exportPensionAuthRecordsStatistic(pageElderAuthRecordsDTO); |
| | | List<ComPensionAuthRecordStatisticExcleVO> list = new ArrayList<>(); |
| | | if (R.isOk(r)) { |
| | | list = JSONArray.parseArray(JSONArray.toJSONString(r.getData()), ComPensionAuthRecordStatisticExcleVO.class); |
| | | } |
| | | excelWriter = EasyExcel.write(fileName, ComPensionAuthRecordStatisticExcleVO.class) |
| | | .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) |
| | | .registerWriteHandler(new CustomSheetWriteHandler()).build(); |
| | | WriteSheet writeSheet = EasyExcel.writerSheet("养老认证统计导出数据").build(); |
| | | excelWriter.write(list, 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 List<List<String>> headDataFilling() { |
| | | List<List<String>> list = new ArrayList<List<String>>(); |
| | | List<String> head0 = new ArrayList<String>(); |
| | |
| | | @ApiOperation(value = "实有人口详情", response = ComMngPopulationVO.class) |
| | | @PostMapping("/detail") |
| | | public R detailPopulation(@RequestParam(value = "populationId") Long populationId) { |
| | | return communityService.detailPopulation(populationId); |
| | | Long communityId = this.getLoginUserInfo().getCommunityId(); |
| | | return communityService.detailPopulation(populationId, communityId); |
| | | } |
| | | |
| | | @ApiOperation(value = "查询实有人口电子档案", response = UserElectronicFileVO.class) |
| | |
| | | * @return 实有人口详情查询结果 |
| | | */ |
| | | @PostMapping("/population/detail") |
| | | public R detailPopulation(@RequestParam(value = "populationId") Long populationId) { |
| | | return comMngPopulationService.detailPopulation(populationId); |
| | | public R detailPopulation(@RequestParam(value = "populationId") Long populationId, @RequestParam(value = "communityId") Long communityId) { |
| | | return comMngPopulationService.detailPopulation(populationId, communityId); |
| | | } |
| | | |
| | | /** |
| | |
| | | |
| | | import cn.hutool.core.util.IdcardUtil; |
| | | import com.panzhihua.common.model.dtos.community.*; |
| | | import com.panzhihua.common.model.vos.community.ComElderAuthRecordVO; |
| | | import com.panzhihua.common.model.vos.community.*; |
| | | import com.panzhihua.service_community.model.dos.ComEldersAuthElderlyDO; |
| | | import com.panzhihua.service_community.service.ComElderAuthRecordsService; |
| | | import com.panzhihua.service_community.service.ComEldersAuthElderlyService; |
| | | import com.panzhihua.service_community.service.*; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | |
| | | import com.panzhihua.common.model.dtos.elders.ComEldersAuthPageDTO; |
| | | import com.panzhihua.common.model.dtos.elders.ComEldersAuthUserAddAppDTO; |
| | | import com.panzhihua.common.model.vos.R; |
| | | import com.panzhihua.common.model.vos.community.ComEldersAuthElderlyDetailsVO; |
| | | import com.panzhihua.common.model.vos.elders.ComElderAuthUserDetailVO; |
| | | import com.panzhihua.common.utlis.DateUtils; |
| | | import com.panzhihua.service_community.model.dos.ComEldersAuthUserDO; |
| | | import com.panzhihua.service_community.model.dos.EldersAuthDO; |
| | | import com.panzhihua.service_community.service.ComEldersAuthUserService; |
| | | import com.panzhihua.service_community.service.EldersAuthService; |
| | | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | |
| | | private ComEldersAuthElderlyService comEldersAuthElderlyService; |
| | | @Resource |
| | | private ComElderAuthRecordsService comElderAuthRecordsService; |
| | | @Resource |
| | | private ComPensionAuthRecordService comPensionAuthRecordService; |
| | | |
| | | @PostMapping("/getAuth") |
| | | public R getAuth(@RequestParam("authUserId") Long authUserId) { |
| | |
| | | return comElderAuthRecordsService.getElderAuthRecordsByIds(ids); |
| | | } |
| | | |
| | | /** |
| | | * 批量导入高龄老人线下认证记录 listSaveElderAuthRecordExcelVO 批量导入高龄老人线下认证记录 |
| | | * @param list 高龄老人线下认证记录数据 |
| | | * @param communityId 社区id |
| | | * @param userId 登录人id |
| | | * @return R 导入结果 |
| | | * @author txb |
| | | * @date 2021/9/01 15:03 |
| | | */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @PostMapping("/authRecords/underLine/import") |
| | | public R listSaveElderAuthRecordExcelVO(@RequestBody List<ComElderAuthRecordImportExcelVO> list, |
| | | @RequestParam(value = "communityId") Long communityId, @RequestParam(value = "userId") Long userId){ |
| | | return comElderAuthRecordsService.listSaveElderAuthRecordExcelVO(list, communityId, userId); |
| | | } |
| | | |
| | | /** |
| | | * 导出高龄认证记录 exportElderAuthRecordsStatistic 导出高龄认证记录 |
| | | * @param pageElderAuthRecordsDTO 查询参数 |
| | | * @return R 查询结果 |
| | | * @author txb |
| | | * @date 2021/9/02 11:03 |
| | | */ |
| | | @PostMapping("/authRecords/statistic/export") |
| | | public R exportElderAuthRecordsStatistic(@RequestBody PageElderAuthRecordsDTO pageElderAuthRecordsDTO){ |
| | | return comElderAuthRecordsService.exportElderAuthRecordsStatistic(pageElderAuthRecordsDTO); |
| | | } |
| | | |
| | | /** |
| | | * 分页查询养老金人员认证记录 pagePensionAuthRecords 分页查询养老金人员认证记录 |
| | | * @param pageElderAuthRecordsDTO 查询参数 |
| | | * @return R 查询结果 |
| | | * @author txb |
| | | * @date 2021/9/07 14:03 |
| | | */ |
| | | @PostMapping("/pensionAuthRecords/page") |
| | | public R pagePensionAuthRecords(@RequestBody PageElderAuthRecordsDTO pageElderAuthRecordsDTO) { |
| | | return comPensionAuthRecordService.pagePensionAuthRecords(pageElderAuthRecordsDTO); |
| | | } |
| | | |
| | | /** |
| | | * 根据养老认证记录id查询详情 detailPensionAuthRecords 根据养老认证记录id查询详情 |
| | | * @param authRecordId 养老认证记录id |
| | | * @return R 查询结果 |
| | | * @author txb |
| | | * @date 2021/9/07 11:03 |
| | | */ |
| | | @GetMapping("/pensionAuthRecords/detail") |
| | | public R detailPensionAuthRecords(@RequestParam(value = "authRecordId") Long authRecordId) { |
| | | return comPensionAuthRecordService.detailPensionAuthRecords(authRecordId); |
| | | } |
| | | |
| | | /** |
| | | * 养老认证审核 examinePensionAuthRecords 养老认证审核 |
| | | * @param comPensionAuthRecordVO 养老认证审核参数 |
| | | * @return R 查询结果 |
| | | * @author txb |
| | | * @date 2021/9/07 11:03 |
| | | */ |
| | | @PostMapping("/pensionAuthRecords/examine") |
| | | public R examinePensionAuthRecords(@RequestBody ComPensionAuthRecordVO comPensionAuthRecordVO) { |
| | | return comPensionAuthRecordService.examinePensionAuthRecords(comPensionAuthRecordVO); |
| | | } |
| | | |
| | | /** |
| | | * 养老认证标记 signPensionAuthRecords 养老认证标记 |
| | | * @param comPensionAuthRecordVO 养老认证标记参数 |
| | | * @return R 查询结果 |
| | | * @author txb |
| | | * @date 2021/9/02 11:03 |
| | | */ |
| | | @PostMapping("/pensionAuthRecords/sign") |
| | | public R signPensionAuthRecords(@RequestBody ComPensionAuthRecordVO comPensionAuthRecordVO) { |
| | | return comPensionAuthRecordService.signPensionAuthRecords(comPensionAuthRecordVO); |
| | | } |
| | | |
| | | /** |
| | | * 根据养老认证记录id批量查询 getPensionAuthRecordsByIds 根据养老认证记录id批量查询 |
| | | * @param ids 养老认证记录id集合 |
| | | * @return R 查询结果 |
| | | * @author txb |
| | | * @date 2021/9/02 11:03 |
| | | */ |
| | | @PostMapping("/pensionAuthRecords/getList") |
| | | public R getPensionAuthRecordsByIds(@RequestBody List<Long> ids){ |
| | | return comPensionAuthRecordService.getPensionAuthRecordsByIds(ids); |
| | | } |
| | | |
| | | /** |
| | | * 批量导入养老线下认证记录 listSavePensionAuthRecordExcelVO 批量导入养老线下认证记录 |
| | | * @param list 养老线下认证记录数据 |
| | | * @param communityId 社区id |
| | | * @param userId 登录人id |
| | | * @return R 导入结果 |
| | | * @author txb |
| | | * @date 2021/9/08 10:03 |
| | | */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @PostMapping("/pensionAuthRecords/underLine/import") |
| | | R listSavePensionAuthRecordExcelVO(@RequestBody List<ComPensionAuthRecordImportExcelVO> list, |
| | | @RequestParam(value = "communityId") Long communityId, @RequestParam(value = "userId") Long userId){ |
| | | return comPensionAuthRecordService.listSavePensionAuthRecordExcelVO(list, communityId, userId); |
| | | } |
| | | |
| | | /** |
| | | * 导出养老认证记录 exportPensionAuthRecordsStatistic 导出养老认证记录 |
| | | * @param pageElderAuthRecordsDTO 查询参数 |
| | | * @return R 查询结果 |
| | | * @author txb |
| | | * @date 2021/9/02 11:03 |
| | | */ |
| | | @PostMapping("/pensionAuthRecords/statistic/export") |
| | | public R exportPensionAuthRecordsStatistic(@RequestBody PageElderAuthRecordsDTO pageElderAuthRecordsDTO){ |
| | | return comPensionAuthRecordService.exportPensionAuthRecordsStatistic(pageElderAuthRecordsDTO); |
| | | } |
| | | |
| | | /** |
| | | * 定时任务每月1号0点统计高龄老人本期应该认证总人数 |
| | | * @return 执行结果 |
| | | */ |
| | | @PostMapping("/authRecords/statistics") |
| | | public R timedTaskElderAuthStatisticsJobHandler(){ |
| | | return comElderAuthRecordsService.timedTaskElderAuthStatisticsJobHandler(); |
| | | } |
| | | |
| | | /** |
| | | * 定时任务每年3月1号0点统计养老认证本期应该认证总人数 |
| | | * @return 执行结果 |
| | | */ |
| | | @PostMapping("/pensionAuthRecords/statistics") |
| | | R timedTaskPensionAuthStatisticsJobHandler(){ |
| | | return comPensionAuthRecordService.timedTaskPensionAuthStatisticsJobHandler(); |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.panzhihua.service_community.model.dos.ComElderAuthElderliesDO; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | /** |
| | | * title: ComElderAuthElderliesDAO 社区政务》高龄老人认证》高龄老人表mapper类 |
| | |
| | | @Mapper |
| | | public interface ComElderAuthElderliesDAO extends BaseMapper<ComElderAuthElderliesDO> { |
| | | |
| | | int haveElderAuthElderliesAmount(@Param("communityId") Long communityId, @Param("authPeriod") String authPeriod); |
| | | } |
| | |
| | | import com.panzhihua.common.model.dtos.community.ComMngPopulationDTO; |
| | | import com.panzhihua.common.model.dtos.community.PageElderAuthRecordsDTO; |
| | | import com.panzhihua.common.model.vos.community.ComElderAuthRecordExcleVO; |
| | | import com.panzhihua.common.model.vos.community.ComElderAuthRecordStatisticExcleVO; |
| | | import com.panzhihua.common.model.vos.community.ComElderAuthRecordVO; |
| | | import com.panzhihua.common.model.vos.community.ComMngPopulationVO; |
| | | import com.panzhihua.service_community.model.dos.ComElderAuthRecordsDO; |
| | | import com.panzhihua.service_community.model.dos.ComMngPopulationCommunityTagsDO; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | |
| | | |
| | | List<ComElderAuthRecordExcleVO> getElderAuthRecordsByIds(@Param("ids") List<Long> ids); |
| | | |
| | | void updateAll(@Param("comElderAuthRecordsDOS") List<ComElderAuthRecordsDO> comElderAuthRecordsDOS); |
| | | |
| | | List<ComElderAuthRecordStatisticExcleVO> exportElderAuthRecordsStatistic(@Param("pageElderAuthRecordsDTO") PageElderAuthRecordsDTO pageElderAuthRecordsDTO); |
| | | |
| | | } |
| | |
| | | package com.panzhihua.service_community.dao; |
| | | |
| | | import com.panzhihua.service_community.model.dos.ComElderAuthRecordsDO; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.panzhihua.service_community.model.dos.ComPensionAuthPensionerDO; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @title: ComPensionAuthPensionerDAO |
| | |
| | | */ |
| | | @Mapper |
| | | public interface ComPensionAuthPensionerDAO extends BaseMapper<ComPensionAuthPensionerDO> { |
| | | |
| | | int havePensionAuthPensionerAmount(@Param("communityId") Long communityId, @Param("authPeriod") String authPeriod); |
| | | |
| | | } |
| | |
| | | package com.panzhihua.service_community.dao; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.panzhihua.common.model.dtos.community.PageElderAuthRecordsDTO; |
| | | import com.panzhihua.common.model.vos.community.*; |
| | | import com.panzhihua.service_community.model.dos.ComElderAuthRecordsDO; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.panzhihua.service_community.model.dos.ComPensionAuthRecordDO; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @title: ComPensionAuthRecordDAO |
| | |
| | | */ |
| | | @Mapper |
| | | public interface ComPensionAuthRecordDAO extends BaseMapper<ComPensionAuthRecordDO> { |
| | | IPage<ComPensionAuthRecordVO> pagePensionAuthRecords(Page page, |
| | | @Param("pageElderAuthRecordsDTO") PageElderAuthRecordsDTO pageElderAuthRecordsDTO); |
| | | |
| | | ComPensionAuthRecordVO detailPensionAuthRecords(@Param("authRecordId") Long authRecordId); |
| | | |
| | | List<ComPensionAuthRecordExcleVO> getPensionAuthRecordsByIds(@Param("ids") List<Long> ids); |
| | | |
| | | void updateAll(@Param("comPensionAuthRecordDOS") List<ComPensionAuthRecordDO> comPensionAuthRecordDOS); |
| | | |
| | | List<ComPensionAuthRecordStatisticExcleVO> exportPensionAuthRecordsStatistic(@Param("pageElderAuthRecordsDTO") PageElderAuthRecordsDTO pageElderAuthRecordsDTO); |
| | | } |
New file |
| | |
| | | package com.panzhihua.service_community.dao; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.panzhihua.service_community.model.dos.ComPensionAuthStatisticsDO; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | /** |
| | | * @title: ComPensionAuthStatisticsDAO |
| | | * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 |
| | | * @description: 养老认证统计表mapper |
| | | * @author: txb |
| | | * @date: 2021/09/07 17:28 |
| | | */ |
| | | @Mapper |
| | | public interface ComPensionAuthStatisticsDAO extends BaseMapper<ComPensionAuthStatisticsDO> { |
| | | |
| | | } |
| | |
| | | package com.panzhihua.service_community.model.dos; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | import com.panzhihua.common.model.helper.encrypt.EncryptDecryptClass; |
| | | import com.panzhihua.common.model.helper.encrypt.EncryptDecryptField; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | |
| | | |
| | | @Data |
| | | @TableName("com_elder_auth_elderlies") |
| | | @EncryptDecryptClass |
| | | public class ComElderAuthElderliesDO implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | |
| | | /** |
| | | * 身份证号 |
| | | */ |
| | | @EncryptDecryptField |
| | | private String idCard; |
| | | |
| | | /** |
| | |
| | | /** |
| | | * 更新时间 |
| | | */ |
| | | @TableField(fill = FieldFill.UPDATE) |
| | | private Date updateAt; |
| | | |
| | | /** |
| | |
| | | /** |
| | | * 审核人员 |
| | | */ |
| | | private String approver; |
| | | private Long approverId; |
| | | |
| | | /** |
| | | * 审核状态(1.待审核 2.驳回 3.通过) |
| | |
| | | /** |
| | | * 认证状态(1.已认证 0.未认证) |
| | | */ |
| | | private Boolean authStatus; |
| | | private Integer authStatus; |
| | | |
| | | /** |
| | | * 认证时间 |
| | |
| | | /** |
| | | * 更新时间 |
| | | */ |
| | | @TableField(fill = FieldFill.UPDATE) |
| | | private Date updateAt; |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "ComElderAuthRecordsDO{" + |
| | | "id=" + id + |
| | | ", elderliesId=" + elderliesId + |
| | | ", authPeriod=" + authPeriod + |
| | | ", submitUserId=" + submitUserId + |
| | | ", authVideo=" + authVideo + |
| | | ", approver=" + approver + |
| | | ", approvalStatus=" + approvalStatus + |
| | | ", approvalDate=" + approvalDate + |
| | | ", mark=" + mark + |
| | | ", rejectReason=" + rejectReason + |
| | | ", authStatus=" + authStatus + |
| | | ", authDate=" + authDate + |
| | | ", createAt=" + createAt + |
| | | ", updateAt=" + updateAt + |
| | | "}"; |
| | | } |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | |
| | | import com.panzhihua.common.model.helper.encrypt.EncryptDecryptClass; |
| | | import com.panzhihua.common.model.helper.encrypt.EncryptDecryptField; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Data |
| | | @TableName("com_pension_auth_pensioners") |
| | | @EncryptDecryptClass |
| | | public class ComPensionAuthPensionerDO implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | |
| | | /** |
| | | * 身份证号 |
| | | */ |
| | | @EncryptDecryptField |
| | | private String idCard; |
| | | /** |
| | | * 性别 |
| | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | |
| | | import lombok.Data; |
| | | |
| | |
| | | /** |
| | | *审核人员 |
| | | */ |
| | | private String approver; |
| | | private Long approverId; |
| | | /** |
| | | *审核状态(1.待审核 2.驳回 3.通过) |
| | | */ |
| | |
| | | /** |
| | | *创建时间 |
| | | */ |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Date createAt; |
| | | /** |
| | | *更新时间 |
| | | */ |
| | | @TableField(fill = FieldFill.UPDATE) |
| | | private Date updateAt; |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "ComPensionAuthRecordDO{" + |
| | | "id=" + id + |
| | | ", pensionerId=" + pensionerId + |
| | | ", submitUserId=" + submitUserId + |
| | | ", authPeriod='" + authPeriod + '\'' + |
| | | ", authVideo='" + authVideo + '\'' + |
| | | ", approver='" + approver + '\'' + |
| | | ", approvalStatus=" + approvalStatus + |
| | | ", approvalDate=" + approvalDate + |
| | | ", mark='" + mark + '\'' + |
| | | ", rejectReason='" + rejectReason + '\'' + |
| | | ", authStatus=" + authStatus + |
| | | ", authDate=" + authDate + |
| | | ", communityId=" + communityId + |
| | | ", createAt=" + createAt + |
| | | ", updateAt=" + updateAt + |
| | | '}'; |
| | | } |
| | | } |
New file |
| | |
| | | package com.panzhihua.service_community.model.dos; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @title: ComPensionAuthStatisticsDO 社区政务》养老认证》认证统计表 |
| | | * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 |
| | | * @description: 社区政务》养老认证》认证统计表 |
| | | * @author: txb |
| | | * @date: 2021/09/07 16:31 |
| | | */ |
| | | |
| | | @Data |
| | | @TableName("com_pension_auth_statistics") |
| | | public class ComPensionAuthStatisticsDO implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 主键id |
| | | */ |
| | | @TableId(type = IdType.AUTO) |
| | | private Long id; |
| | | |
| | | /** |
| | | * 年份 |
| | | */ |
| | | private Integer year; |
| | | |
| | | /** |
| | | * 月份 |
| | | */ |
| | | private Integer month; |
| | | |
| | | /** |
| | | * 总人数 |
| | | */ |
| | | private Integer sum; |
| | | |
| | | /** |
| | | * 认证人数 |
| | | */ |
| | | private Integer authSum; |
| | | |
| | | /** |
| | | * 未认证人数 |
| | | */ |
| | | private Integer noAuthSum; |
| | | |
| | | /** |
| | | * 创建时间 |
| | | */ |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Date createAt; |
| | | |
| | | /** |
| | | * 社区id |
| | | */ |
| | | private Long communityId; |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "ComPensionAuthStatisticsDO{" + |
| | | "id=" + id + |
| | | ", year=" + year + |
| | | ", month=" + month + |
| | | ", sum=" + sum + |
| | | ", authSum=" + authSum + |
| | | ", noAuthSum=" + noAuthSum + |
| | | ", createAt=" + createAt + |
| | | ", communityId=" + communityId + |
| | | "}"; |
| | | } |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.panzhihua.common.model.dtos.community.PageElderAuthRecordsDTO; |
| | | import com.panzhihua.common.model.vos.R; |
| | | import com.panzhihua.common.model.vos.community.ComElderAuthRecordImportExcelVO; |
| | | import com.panzhihua.common.model.vos.community.ComElderAuthRecordVO; |
| | | import com.panzhihua.service_community.model.dos.ComElderAuthRecordsDO; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | |
| | | */ |
| | | R getElderAuthRecordsByIds(@RequestBody List<Long> ids); |
| | | |
| | | /** |
| | | * 批量导入高龄老人线下认证记录 listSaveElderAuthRecordExcelVO 批量导入高龄老人线下认证记录 |
| | | * @param list 高龄老人线下认证记录数据 |
| | | * @param communityId 社区id |
| | | * @param userId 登录人id |
| | | * @return R 导入结果 |
| | | * @author txb |
| | | * @date 2021/9/01 15:03 |
| | | */ |
| | | R listSaveElderAuthRecordExcelVO(List<ComElderAuthRecordImportExcelVO> list, Long communityId, Long userId); |
| | | |
| | | /** |
| | | * 导出高龄认证记录 exportElderAuthRecordsStatistic 导出高龄认证记录 |
| | | * @param pageElderAuthRecordsDTO 查询参数 |
| | | * @return R 查询结果 |
| | | * @author txb |
| | | * @date 2021/9/02 11:03 |
| | | */ |
| | | R exportElderAuthRecordsStatistic(PageElderAuthRecordsDTO pageElderAuthRecordsDTO); |
| | | |
| | | /** |
| | | * 定时任务每月1号0点统计高龄老人本期应该认证总人数 |
| | | * @return 执行结果 |
| | | */ |
| | | R timedTaskElderAuthStatisticsJobHandler(); |
| | | } |
| | |
| | | * 实有人口id |
| | | * @return 实有人口详情 |
| | | */ |
| | | R detailPopulation(Long populationId); |
| | | R detailPopulation(Long populationId, Long communityId); |
| | | |
| | | /** |
| | | * 分页查询实有人口 |
| | |
| | | package com.panzhihua.service_community.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.panzhihua.common.model.dtos.community.PageElderAuthRecordsDTO; |
| | | import com.panzhihua.common.model.vos.R; |
| | | import com.panzhihua.common.model.vos.community.ComPensionAuthRecordImportExcelVO; |
| | | import com.panzhihua.common.model.vos.community.ComPensionAuthRecordVO; |
| | | import com.panzhihua.service_community.model.dos.ComPensionAuthRecordDO; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | 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; |
| | | |
| | | /** |
| | | * @title: ComPensionAuthRecordService |
| | |
| | | */ |
| | | public interface ComPensionAuthRecordService extends IService<ComPensionAuthRecordDO> { |
| | | |
| | | /** |
| | | * 分页查询养老金人员认证记录 pagePensionAuthRecords 分页查询养老金人员认证记录 |
| | | * @param pageElderAuthRecordsDTO 查询参数 |
| | | * @return R 查询结果 |
| | | * @author txb |
| | | * @date 2021/9/07 14:03 |
| | | */ |
| | | R pagePensionAuthRecords(PageElderAuthRecordsDTO pageElderAuthRecordsDTO); |
| | | |
| | | /** |
| | | * 根据养老认证记录id查询详情 detailPensionAuthRecords 根据养老认证记录id查询详情 |
| | | * @param authRecordId 养老认证记录id |
| | | * @return R 查询结果 |
| | | * @author txb |
| | | * @date 2021/9/07 11:03 |
| | | */ |
| | | R detailPensionAuthRecords(Long authRecordId); |
| | | |
| | | /** |
| | | * 养老认证审核 examinePensionAuthRecords 养老认证审核 |
| | | * @param comPensionAuthRecordVO 养老认证审核参数 |
| | | * @return R 查询结果 |
| | | * @author txb |
| | | * @date 2021/9/07 11:03 |
| | | */ |
| | | R examinePensionAuthRecords(ComPensionAuthRecordVO comPensionAuthRecordVO); |
| | | |
| | | /** |
| | | * 养老认证标记 signPensionAuthRecords 养老认证标记 |
| | | * @param comPensionAuthRecordVO 养老认证标记参数 |
| | | * @return R 查询结果 |
| | | * @author txb |
| | | * @date 2021/9/02 11:03 |
| | | */ |
| | | R signPensionAuthRecords(ComPensionAuthRecordVO comPensionAuthRecordVO); |
| | | |
| | | /** |
| | | * 根据养老认证记录id批量查询 getPensionAuthRecordsByIds 根据养老认证记录id批量查询 |
| | | * @param ids 养老认证记录id集合 |
| | | * @return R 查询结果 |
| | | * @author txb |
| | | * @date 2021/9/02 11:03 |
| | | */ |
| | | R getPensionAuthRecordsByIds(List<Long> ids); |
| | | |
| | | /** |
| | | * 批量导入养老线下认证记录 listSavePensionAuthRecordExcelVO 批量导入养老线下认证记录 |
| | | * @param list 养老线下认证记录数据 |
| | | * @param communityId 社区id |
| | | * @param userId 登录人id |
| | | * @return R 导入结果 |
| | | * @author txb |
| | | * @date 2021/9/08 10:03 |
| | | */ |
| | | R listSavePensionAuthRecordExcelVO(List<ComPensionAuthRecordImportExcelVO> list, Long communityId, Long userId); |
| | | |
| | | /** |
| | | * 导出养老认证记录 exportPensionAuthRecordsStatistic 导出养老认证记录 |
| | | * @param pageElderAuthRecordsDTO 查询参数 |
| | | * @return R 查询结果 |
| | | * @author txb |
| | | * @date 2021/9/02 11:03 |
| | | */ |
| | | R exportPensionAuthRecordsStatistic(PageElderAuthRecordsDTO pageElderAuthRecordsDTO); |
| | | |
| | | /** |
| | | * 定时任务每年3月1号0点统计养老认证本期应该认证总人数 |
| | | * @return 执行结果 |
| | | */ |
| | | R timedTaskPensionAuthStatisticsJobHandler(); |
| | | } |
New file |
| | |
| | | package com.panzhihua.service_community.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.panzhihua.service_community.model.dos.ComPensionAuthStatisticsDO; |
| | | |
| | | /** |
| | | * @title: ComPensionAuthStatisticsService |
| | | * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 |
| | | * @description: 养老认证统计服务类 |
| | | * @author: txb |
| | | * @date: 2021/09/07 17:33 |
| | | */ |
| | | public interface ComPensionAuthStatisticsService extends IService<ComPensionAuthStatisticsDO> { |
| | | |
| | | } |
| | |
| | | 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.PopulCultureLevelEnum; |
| | | import com.panzhihua.common.enums.PopulMarriageEnum; |
| | | import com.panzhihua.common.enums.PopulPoliticalOutlookEnum; |
| | | import com.panzhihua.common.enums.PopulRelationEnum; |
| | | import com.google.common.base.Joiner; |
| | | import com.panzhihua.common.enums.*; |
| | | import com.panzhihua.common.model.dtos.community.PageElderAuthRecordsDTO; |
| | | import com.panzhihua.common.model.helper.AESUtil; |
| | | import com.panzhihua.common.model.vos.R; |
| | | import com.panzhihua.common.model.vos.community.ComElderAuthRecordExcleVO; |
| | | import com.panzhihua.common.model.vos.community.ComElderAuthRecordVO; |
| | | import com.panzhihua.common.model.vos.community.ComMngPopulationVO; |
| | | import com.panzhihua.common.model.vos.community.*; |
| | | import com.panzhihua.common.utlis.AgeUtils; |
| | | import com.panzhihua.common.utlis.DateUtils; |
| | | import com.panzhihua.common.utlis.Snowflake; |
| | | import com.panzhihua.common.utlis.StringUtils; |
| | | import com.panzhihua.service_community.dao.ComElderAuthRecordsDAO; |
| | | import com.panzhihua.service_community.model.dos.ComElderAuthRecordsDO; |
| | | import com.panzhihua.service_community.model.dos.ComMngPopulationDO; |
| | | import com.panzhihua.service_community.dao.*; |
| | | import com.panzhihua.service_community.model.dos.*; |
| | | import com.panzhihua.service_community.service.ComElderAuthRecordsService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.ObjectUtils; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * title: ComElderAuthRecordsServiceImpl 社区政务》高龄老人认证》认证记录表服务实现类 |
| | |
| | | |
| | | @Resource |
| | | private ComElderAuthRecordsDAO comElderAuthRecordsDAO; |
| | | @Resource |
| | | private ComElderAuthElderliesDAO comElderAuthElderliesDAO; |
| | | @Resource |
| | | private ComMngPopulationDAO comMngPopulationDAO; |
| | | @Resource |
| | | private ComElderAuthRecordsService comElderAuthRecordsService; |
| | | @Resource |
| | | private ComActDAO comActDAO; |
| | | @Resource |
| | | private ComEldersAuthStatisticsMapper comEldersAuthStatisticsMapper; |
| | | @Value("${domain.aesKey:}") |
| | | private String aesKey; |
| | | |
| | | @Override |
| | | public R pageElderAuthRecords(PageElderAuthRecordsDTO pageElderAuthRecordsDTO) { |
| | | Page page = new Page<>(); |
| | |
| | | return R.fail("未查询到高龄老人认证记录"); |
| | | } |
| | | BeanUtils.copyProperties(comElderAuthRecordVO, comElderAuthRecordsDO); |
| | | if (comElderAuthRecordVO.getApprovalStatus().equals(3)) { |
| | | comElderAuthRecordsDO.setAuthStatus(1); |
| | | } |
| | | comElderAuthRecordsDO.setApprovalDate(new Date()); |
| | | int nub = comElderAuthRecordsDAO.updateById(comElderAuthRecordsDO); |
| | | if (nub < 1) { |
| | |
| | | @Override |
| | | public R getElderAuthRecordsByIds(List<Long> ids) { |
| | | List<ComElderAuthRecordExcleVO> comElderAuthRecordExcleVOS = comElderAuthRecordsDAO.getElderAuthRecordsByIds(ids); |
| | | if (null != comElderAuthRecordExcleVOS && comElderAuthRecordExcleVOS.size() > 0) { |
| | | comElderAuthRecordExcleVOS.forEach(comElderAuthRecordExcleVO -> { |
| | | if (StringUtils.isNotEmpty(comElderAuthRecordExcleVO.getBirthday())) { |
| | | comElderAuthRecordExcleVO.setAge(AgeUtils.getAgeFromBirthTimes(comElderAuthRecordExcleVO.getBirthday())); |
| | | } |
| | | }); |
| | | } |
| | | return R.ok(comElderAuthRecordExcleVOS); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public R listSaveElderAuthRecordExcelVO(List<ComElderAuthRecordImportExcelVO> list, Long communityId, Long userId) { |
| | | // 需要新增的认证记录集合 |
| | | List<ComElderAuthRecordsDO> saveList = new ArrayList<>(); |
| | | // 需要修改的认证记录集合 |
| | | List<ComElderAuthRecordsDO> updateList = new ArrayList<>(); |
| | | log.info("开始处理导入数据"); |
| | | List<ComElderAuthRecordImportMistakeExcelVO> mistakes = new ArrayList<>(); |
| | | try { |
| | | // 查询所有人口数据放入HashMap中 |
| | | List<ComMngPopulationDO> populationList = comMngPopulationDAO.selectList(null); |
| | | HashMap<String, Object> populationMap = new HashMap<>(); |
| | | populationList.forEach(population -> { |
| | | String key = population.getCardNo(); |
| | | populationMap.put(key, population); |
| | | }); |
| | | |
| | | for (ComElderAuthRecordImportExcelVO vo : list) { |
| | | String cardNoAES = AESUtil.encrypt128(vo.getIdCard(), aesKey); |
| | | // 判断实有人口是否已存在 |
| | | log.info("开始查询实有人口是否已存在"); |
| | | ComMngPopulationDO populationDO = null; |
| | | String populationKey = vo.getIdCard(); |
| | | if (!isOnly(populationKey, populationMap)) { |
| | | // 存在实有人口信息,则查询高龄信息(是否符合认证条件(健在且登记了高龄认证)) |
| | | populationDO = (ComMngPopulationDO)populationMap.get(populationKey); |
| | | ComElderAuthElderliesDO comElderAuthElderliesDO = comElderAuthElderliesDAO.selectOne(new QueryWrapper<ComElderAuthElderliesDO>() |
| | | .lambda().eq(ComElderAuthElderliesDO::getPopulationId, populationDO.getId()).eq(ComElderAuthElderliesDO::getCommunityId, communityId)); |
| | | //不存在高龄信息,需要先导入高龄信息 |
| | | if (null == comElderAuthElderliesDO) { |
| | | ComElderAuthRecordImportMistakeExcelVO mistake = new ComElderAuthRecordImportMistakeExcelVO(); |
| | | BeanUtils.copyProperties(vo, mistake); |
| | | setMistake(mistake, vo); |
| | | mistake.setMistake("该实有人口已存在,但本社区不存在高龄信息,请先导入高龄人口"); |
| | | mistakes.add(mistake); |
| | | }else { |
| | | //存在高龄信息,判断是否满足认证条件 |
| | | if (StringUtils.isNotEmpty(vo.getBirthday())) { |
| | | int age = AgeUtils.getAgeFromBirthTimes(vo.getBirthday()); |
| | | if (age < 80 || !comElderAuthElderliesDO.getIsRegister().equals(1) || !comElderAuthElderliesDO.getIsAlive().equals(1)) { |
| | | ComElderAuthRecordImportMistakeExcelVO mistake = new ComElderAuthRecordImportMistakeExcelVO(); |
| | | BeanUtils.copyProperties(vo, mistake); |
| | | setMistake(mistake, vo); |
| | | mistake.setMistake("该人口未满80岁,或者不健在,或者未做高龄老人登记"); |
| | | mistakes.add(mistake); |
| | | }else { |
| | | //满足认证条件,判断是否存在当期认证记录 |
| | | ComElderAuthRecordsDO comElderAuthRecordsDO = null; |
| | | Date nowDate = new Date(); |
| | | // 获取当前年 |
| | | int year = DateUtils.getYear(nowDate); |
| | | // 获取当前月 |
| | | int month = DateUtils.getMonth(nowDate) + 1; |
| | | String authPeriod = ""; |
| | | if (month < 10) { |
| | | authPeriod = String.valueOf(year) + "0" + String.valueOf(month); |
| | | }else { |
| | | authPeriod = String.valueOf(year) + String.valueOf(month); |
| | | } |
| | | comElderAuthRecordsDO = comElderAuthRecordsDAO.selectOne(new QueryWrapper<ComElderAuthRecordsDO>().lambda(). |
| | | eq(ComElderAuthRecordsDO::getElderliesId, comElderAuthElderliesDO.getId()).eq(ComElderAuthRecordsDO::getAuthPeriod, authPeriod)); |
| | | if (null != comElderAuthRecordsDO) { |
| | | //存在记录且状态为已认证,不能修改 |
| | | if (comElderAuthRecordsDO.getAuthStatus().equals(1)) { |
| | | ComElderAuthRecordImportMistakeExcelVO mistake = new ComElderAuthRecordImportMistakeExcelVO(); |
| | | BeanUtils.copyProperties(vo, mistake); |
| | | setMistake(mistake, vo); |
| | | mistake.setMistake("该人口本期已认证,不能修改"); |
| | | mistakes.add(mistake); |
| | | }else { |
| | | //存在记录,执行修改 |
| | | ComElderAuthRecordsDO comElderAuthRecordsDO1 = |
| | | updateElderAuthRecordsDO(vo, comElderAuthRecordsDO, userId); |
| | | updateList.add(comElderAuthRecordsDO1); |
| | | ComElderAuthRecordImportMistakeExcelVO mistake = new ComElderAuthRecordImportMistakeExcelVO(); |
| | | BeanUtils.copyProperties(vo, mistake); |
| | | setMistake(mistake, vo); |
| | | mistake.setMistake("该认证已存在,执行更新"); |
| | | mistakes.add(mistake); |
| | | } |
| | | }else { |
| | | // 不存在记录,则新增 |
| | | comElderAuthRecordsDO = saveElderAuthRecordsDO(vo, comElderAuthElderliesDO, authPeriod, userId); |
| | | saveList.add(comElderAuthRecordsDO); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } else { |
| | | // 不存在实有人口,则新增 |
| | | ComElderAuthRecordImportMistakeExcelVO mistake = new ComElderAuthRecordImportMistakeExcelVO(); |
| | | BeanUtils.copyProperties(vo, mistake); |
| | | setMistake(mistake, vo); |
| | | mistake.setMistake("不存在该实有人口,请先导入实有人口信息"); |
| | | mistakes.add(mistake); |
| | | } |
| | | log.info("开始查询实有人口是否已存在完成"); |
| | | } |
| | | } catch (Exception e) { |
| | | log.info("出现错误,错误原因:" + e.getMessage()); |
| | | } |
| | | log.info("处理完成导入数据"); |
| | | |
| | | log.info("开始执行数据库导入"); |
| | | if (!saveList.isEmpty()) { |
| | | log.info("执行数据库导入线下认证记录"); |
| | | comElderAuthRecordsService.saveBatch(saveList); |
| | | log.info("数据库导入线下认证记录完成"); |
| | | } |
| | | if (!updateList.isEmpty()) { |
| | | log.info("执行数据库更新线下认证记录"); |
| | | comElderAuthRecordsDAO.updateAll(updateList); |
| | | log.info("数据库更新线下认证记录完成"); |
| | | } |
| | | log.info("执行数据库导入完成"); |
| | | |
| | | if (!mistakes.isEmpty()) { |
| | | log.info("返回错误数据"); |
| | | return R.fail(mistakes); |
| | | } |
| | | return R.ok(mistakes); |
| | | } |
| | | |
| | | @Override |
| | | public R exportElderAuthRecordsStatistic(PageElderAuthRecordsDTO pageElderAuthRecordsDTO) { |
| | | List<ComElderAuthRecordStatisticExcleVO> comElderAuthRecordStatisticExcleVOS = comElderAuthRecordsDAO.exportElderAuthRecordsStatistic(pageElderAuthRecordsDTO); |
| | | if (null != comElderAuthRecordStatisticExcleVOS && comElderAuthRecordStatisticExcleVOS.size() > 0) { |
| | | comElderAuthRecordStatisticExcleVOS.forEach(comElderAuthRecordStatisticExcleVO -> { |
| | | if (StringUtils.isNotEmpty(comElderAuthRecordStatisticExcleVO.getBirthday())) { |
| | | comElderAuthRecordStatisticExcleVO.setAge(AgeUtils.getAgeFromBirthTimes(comElderAuthRecordStatisticExcleVO.getBirthday())); |
| | | } |
| | | }); |
| | | } |
| | | return R.ok(comElderAuthRecordStatisticExcleVOS); |
| | | } |
| | | |
| | | @Override |
| | | public R timedTaskElderAuthStatisticsJobHandler() { |
| | | Date nowDate = new Date(); |
| | | int month = DateUtils.getMonth(nowDate) + 1; |
| | | int year = DateUtils.getYear(nowDate); |
| | | //查询所有启用中社区 |
| | | List<ComActDO> actList = comActDAO.selectList(new QueryWrapper<ComActDO>().lambda().eq(ComActDO::getState,0)); |
| | | actList.forEach(act -> { |
| | | //高龄认证统计本期应认证人数 |
| | | ComEldersAuthStatisticsDO comEldersAuthStatisticsDO = new ComEldersAuthStatisticsDO(); |
| | | comEldersAuthStatisticsDO.setCommunityId(act.getCommunityId()); |
| | | comEldersAuthStatisticsDO.setMonth(month); |
| | | comEldersAuthStatisticsDO.setYear(year); |
| | | comEldersAuthStatisticsDO.setCreateAt(nowDate); |
| | | List<ComElderAuthElderliesDO> comElderAuthElderliesDOS = comElderAuthElderliesDAO.selectList(new QueryWrapper<ComElderAuthElderliesDO>().lambda() |
| | | .eq(ComElderAuthElderliesDO::getCommunityId, act.getCommunityId()) |
| | | .eq(ComElderAuthElderliesDO::getIsAlive, 1) |
| | | .eq(ComElderAuthElderliesDO::getIsRegister, 1)); |
| | | if (null != comElderAuthElderliesDOS) { |
| | | comEldersAuthStatisticsDO.setSum(comElderAuthElderliesDOS.size()); |
| | | } |
| | | comEldersAuthStatisticsMapper.insert(comEldersAuthStatisticsDO); |
| | | //上期已认证人数 |
| | | String authPeriod = ""; |
| | | if (month < 10) { |
| | | authPeriod = String.valueOf(year) + 0 + month; |
| | | } else { |
| | | authPeriod = String.valueOf(year) + month; |
| | | } |
| | | int authSum = comElderAuthElderliesDAO.haveElderAuthElderliesAmount(act.getCommunityId(), authPeriod); |
| | | ComEldersAuthStatisticsDO comEldersAuthStatisticsDO1 = comEldersAuthStatisticsMapper.selectOne(new QueryWrapper<ComEldersAuthStatisticsDO>() |
| | | .lambda().eq(ComEldersAuthStatisticsDO::getCommunityId, act.getCommunityId()).eq(ComEldersAuthStatisticsDO::getYear, year) |
| | | .eq(ComEldersAuthStatisticsDO::getMonth, month - 1)); |
| | | comEldersAuthStatisticsDO1.setAuthSum(authSum); |
| | | comEldersAuthStatisticsDO1.setNoAuthSum(comEldersAuthStatisticsDO1.getSum() - comEldersAuthStatisticsDO1.getAuthSum()); |
| | | comEldersAuthStatisticsMapper.updateById(comEldersAuthStatisticsDO1); |
| | | }); |
| | | return R.ok(); |
| | | } |
| | | |
| | | private ComElderAuthRecordsDO updateElderAuthRecordsDO(ComElderAuthRecordImportExcelVO vo, ComElderAuthRecordsDO comElderAuthRecordsDO, Long userId) { |
| | | BeanUtils.copyProperties(vo, comElderAuthRecordsDO); |
| | | comElderAuthRecordsDO.setSubmitUserId(userId); |
| | | comElderAuthRecordsDO.setApproverId(userId); |
| | | comElderAuthRecordsDO.setApprovalStatus(3); |
| | | comElderAuthRecordsDO.setApprovalDate(new Date()); |
| | | comElderAuthRecordsDO.setAuthStatus(1); |
| | | return comElderAuthRecordsDO; |
| | | } |
| | | |
| | | private ComElderAuthRecordsDO saveElderAuthRecordsDO(ComElderAuthRecordImportExcelVO vo, ComElderAuthElderliesDO comElderAuthElderliesDO, String authPeriod, Long userId) { |
| | | ComElderAuthRecordsDO comElderAuthRecordsDO = new ComElderAuthRecordsDO(); |
| | | BeanUtils.copyProperties(vo, comElderAuthRecordsDO); |
| | | comElderAuthRecordsDO.setId(Snowflake.getId()); |
| | | comElderAuthRecordsDO.setElderliesId(comElderAuthElderliesDO.getId()); |
| | | comElderAuthRecordsDO.setAuthPeriod(authPeriod); |
| | | comElderAuthRecordsDO.setSubmitUserId(userId); |
| | | comElderAuthRecordsDO.setApproverId(userId); |
| | | comElderAuthRecordsDO.setApprovalStatus(3); |
| | | comElderAuthRecordsDO.setApprovalDate(new Date()); |
| | | comElderAuthRecordsDO.setAuthStatus(1); |
| | | return comElderAuthRecordsDO; |
| | | } |
| | | |
| | | private void setMistake(ComElderAuthRecordImportMistakeExcelVO mvo, |
| | | ComElderAuthRecordImportExcelVO vo) { |
| | | mvo.setIsAlive(PopulHouseUseEnum.getCnDescByName(vo.getIsAlive())); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 判重方法 |
| | | * |
| | | * @param key |
| | | * 主键 |
| | | * @param hashMap |
| | | * 数据集 |
| | | * @return 存在即为false 不存在则为true |
| | | */ |
| | | private boolean isOnly(String key, HashMap<String, Object> hashMap) { |
| | | return ObjectUtils.isEmpty(hashMap.get(key)); |
| | | } |
| | | |
| | | } |
| | |
| | | |
| | | import cn.hutool.core.util.IdcardUtil; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | |
| | | /** |
| | | * 实有人口Service实现类 |
| | |
| | | private ComPensionAuthPensionerDAO comPensionAuthPensionerDAO; |
| | | @Resource |
| | | private ComEldersAuthStatisticsMapper comEldersAuthStatisticsMapper; |
| | | @Resource |
| | | private ComPensionAuthStatisticsDAO comPensionAuthStatisticsDAO; |
| | | @Value("${domain.aesKey:}") |
| | | private String aesKey; |
| | | |
| | |
| | | * @return 实有人口详情 |
| | | */ |
| | | @Override |
| | | public R detailPopulation(Long populationId) { |
| | | public R detailPopulation(Long populationId, Long communityId) { |
| | | ComMngPopulationDO comMngPopulationDO = populationDAO.selectById(populationId); |
| | | if (ObjectUtils.isEmpty(comMngPopulationDO)) { |
| | | return R.fail("用户信息不存在"); |
| | |
| | | // 设置特殊群体标签 |
| | | ComMngPopulationCommunityTagsDO comMngPopulationCommunityTagsDO = |
| | | comMngPopulationCommunityTagsDAO.selectOne(new QueryWrapper<ComMngPopulationCommunityTagsDO>().lambda() |
| | | .eq(ComMngPopulationCommunityTagsDO::getPopulationId, populationId)); |
| | | .eq(ComMngPopulationCommunityTagsDO::getPopulationId, populationId) |
| | | .eq(ComMngPopulationCommunityTagsDO::getCommunityId, communityId)); |
| | | if (null != comMngPopulationCommunityTagsDO) { |
| | | comMngPopulationVO.setLabel(comMngPopulationCommunityTagsDO.getLabel()); |
| | | } |
| | |
| | | // 吸毒信息 |
| | | List<ComDrugPopulationVO> comDrugPopulationVOs = new ArrayList<>(); |
| | | List<ComDrugPopulationDO> comDrugPopulationDOs = comDrugPopulationDAO.selectList( |
| | | new QueryWrapper<ComDrugPopulationDO>().lambda().eq(ComDrugPopulationDO::getPopulationId, populationId)); |
| | | new QueryWrapper<ComDrugPopulationDO>().lambda().eq(ComDrugPopulationDO::getPopulationId, populationId) |
| | | .eq(ComDrugPopulationDO::getCommunityId, communityId)); |
| | | if (!comDrugPopulationDOs.isEmpty()) { |
| | | comDrugPopulationDOs.forEach(comDrugPopulationDO -> { |
| | | ComDrugPopulationVO comDrugPopulationVO = new ComDrugPopulationVO(); |
| | |
| | | List<ComCorrectPopulationVO> comCorrectPopulationVOS = new ArrayList<>(); |
| | | List<ComCorrectPopulationDO> comCorrectPopulationDOS = |
| | | comCorrectPopulationDAO.selectList(new QueryWrapper<ComCorrectPopulationDO>().lambda() |
| | | .eq(ComCorrectPopulationDO::getPopulationId, populationId)); |
| | | .eq(ComCorrectPopulationDO::getPopulationId, populationId) |
| | | .eq(ComCorrectPopulationDO::getCommunityId, communityId)); |
| | | if (!comCorrectPopulationDOS.isEmpty()) { |
| | | comCorrectPopulationDOS.forEach(comCorrectPopulationDO -> { |
| | | ComCorrectPopulationVO comCorrectPopulationVO = new ComCorrectPopulationVO(); |
| | |
| | | // 精神障碍信息 |
| | | List<ComMajorPopulationVO> comMajorPopulationVOS = new ArrayList<>(); |
| | | List<ComMajorPopulationDO> comMajorPopulationDOs = comMajorPopulationDAO.selectList( |
| | | new QueryWrapper<ComMajorPopulationDO>().lambda().eq(ComMajorPopulationDO::getPopulationId, populationId)); |
| | | new QueryWrapper<ComMajorPopulationDO>().lambda().eq(ComMajorPopulationDO::getPopulationId, populationId) |
| | | .eq(ComMajorPopulationDO::getCommunityId, communityId)); |
| | | if (!comMajorPopulationDOs.isEmpty()) { |
| | | comMajorPopulationDOs.forEach(comMajorPopulationDO -> { |
| | | ComMajorPopulationVO comMajorPopulationVO = new ComMajorPopulationVO(); |
| | |
| | | // 邪教信息 |
| | | List<ComCultPopulationVO> comCultPopulationVOS = new ArrayList<>(); |
| | | List<ComCultPopulationDO> comCultPopulationDOS = comCultPopulationDAO.selectList( |
| | | new QueryWrapper<ComCultPopulationDO>().lambda().eq(ComCultPopulationDO::getPopulationId, populationId)); |
| | | new QueryWrapper<ComCultPopulationDO>().lambda().eq(ComCultPopulationDO::getPopulationId, populationId) |
| | | .eq(ComCultPopulationDO::getCommunityId, communityId)); |
| | | if (!comCultPopulationDOS.isEmpty()) { |
| | | comCultPopulationDOS.forEach(comCultPopulationDO -> { |
| | | ComCultPopulationVO comCultPopulationVO = new ComCultPopulationVO(); |
| | |
| | | List<ComRehabilitationPopulationVO> comRehabilitationPopulationVOS = new ArrayList<>(); |
| | | List<ComRehabilitationPopulationDO> comRehabilitationPopulationDOS = |
| | | comRehabilitationPopulationDAO.selectList(new QueryWrapper<ComRehabilitationPopulationDO>().lambda() |
| | | .eq(ComRehabilitationPopulationDO::getPopulationId, populationId)); |
| | | .eq(ComRehabilitationPopulationDO::getPopulationId, populationId) |
| | | .eq(ComRehabilitationPopulationDO::getCommunityId, communityId)); |
| | | if (!comRehabilitationPopulationDOS.isEmpty()) { |
| | | comRehabilitationPopulationDOS.forEach(comRehabilitationPopulationDO -> { |
| | | ComRehabilitationPopulationVO comRehabilitationPopulationVO = new ComRehabilitationPopulationVO(); |
| | |
| | | // 上访信息 |
| | | List<ComKeyPopulationVO> comKeyPopulationVOS = new ArrayList<>(); |
| | | List<ComKeyPopulationDO> comKeyPopulationDOS = comKeyPopulationDAO.selectList( |
| | | new QueryWrapper<ComKeyPopulationDO>().lambda().eq(ComKeyPopulationDO::getPopulationId, populationId)); |
| | | new QueryWrapper<ComKeyPopulationDO>().lambda().eq(ComKeyPopulationDO::getPopulationId, populationId) |
| | | .eq(ComKeyPopulationDO::getCommunityId, communityId)); |
| | | if (!comKeyPopulationDOS.isEmpty()) { |
| | | comKeyPopulationDOS.forEach(comKeyPopulationDO -> { |
| | | ComKeyPopulationVO comKeyPopulationVO = new ComKeyPopulationVO(); |
| | |
| | | List<ComVeteransPopulationVO> comVeteransPopulationVOS = new ArrayList<>(); |
| | | List<ComVeteransPopulationDO> comVeteransPopulationDOS = |
| | | comVeteransPopulationDAO.selectList(new QueryWrapper<ComVeteransPopulationDO>().lambda() |
| | | .eq(ComVeteransPopulationDO::getPopulationId, populationId)); |
| | | .eq(ComVeteransPopulationDO::getPopulationId, populationId) |
| | | .eq(ComVeteransPopulationDO::getCommunityId, communityId)); |
| | | if (!comVeteransPopulationDOS.isEmpty()) { |
| | | comVeteransPopulationDOS.forEach(comVeteransPopulationDO -> { |
| | | ComVeteransPopulationVO comVeteransPopulationVO = new ComVeteransPopulationVO(); |
| | |
| | | List<ComDisabilityPopulationVO> comDisabilityPopulationVOS = new ArrayList<>(); |
| | | List<ComDisabilityPopulationDO> comDisabilityPopulationDOS = |
| | | comDisabilityPopulationDAO.selectList(new QueryWrapper<ComDisabilityPopulationDO>().lambda() |
| | | .eq(ComDisabilityPopulationDO::getPopulationId, populationId)); |
| | | .eq(ComDisabilityPopulationDO::getPopulationId, populationId) |
| | | .eq(ComDisabilityPopulationDO::getCommunityId, communityId)); |
| | | if (!comDisabilityPopulationDOS.isEmpty()) { |
| | | comDisabilityPopulationDOS.forEach(comDisabilityPopulationDO -> { |
| | | ComDisabilityPopulationVO comDisabilityPopulationVO = new ComDisabilityPopulationVO(); |
| | |
| | | List<ComLowSecurityPopulationVO> comLowSecurityPopulationVOS = new ArrayList<>(); |
| | | List<ComLowSecurityPopulationDO> comLowSecurityPopulationDOS = |
| | | comLowSecurityPopulationDAO.selectList(new QueryWrapper<ComLowSecurityPopulationDO>().lambda() |
| | | .eq(ComLowSecurityPopulationDO::getPopulationId, populationId)); |
| | | .eq(ComLowSecurityPopulationDO::getPopulationId, populationId) |
| | | .eq(ComLowSecurityPopulationDO::getCommunityId, communityId)); |
| | | if (!comLowSecurityPopulationDOS.isEmpty()) { |
| | | comLowSecurityPopulationDOS.forEach(comLowSecurityPopulationDO -> { |
| | | ComLowSecurityPopulationVO comLowSecurityPopulationVO = new ComLowSecurityPopulationVO(); |
| | |
| | | List<ComElderAuthElderliesVO> comElderAuthElderliesVOList = new ArrayList<>(); |
| | | List<ComElderAuthElderliesDO> comElderAuthElderliesDOS = |
| | | comElderAuthElderliesDAO.selectList(new QueryWrapper<ComElderAuthElderliesDO>().lambda() |
| | | .eq(ComElderAuthElderliesDO::getPopulationId, populationId)); |
| | | .eq(ComElderAuthElderliesDO::getPopulationId, populationId) |
| | | .eq(ComElderAuthElderliesDO::getCommunityId, communityId)); |
| | | if (!comElderAuthElderliesDOS.isEmpty()) { |
| | | comElderAuthElderliesDOS.forEach(comElderAuthElderliesDO -> { |
| | | ComElderAuthElderliesVO comElderAuthElderliesVO = new ComElderAuthElderliesVO(); |
| | |
| | | List<ComPensionAuthPensionerVO> comPensionAuthPensionerVOList = new ArrayList<>(); |
| | | List<ComPensionAuthPensionerDO> comPensionAuthPensionerDOS = |
| | | comPensionAuthPensionerDAO.selectList(new QueryWrapper<ComPensionAuthPensionerDO>().lambda() |
| | | .eq(ComPensionAuthPensionerDO::getPopulationId, populationId)); |
| | | .eq(ComPensionAuthPensionerDO::getPopulationId, populationId) |
| | | .eq(ComPensionAuthPensionerDO::getCommunityId, communityId)); |
| | | if (!comPensionAuthPensionerDOS.isEmpty()) { |
| | | comPensionAuthPensionerDOS.forEach(comPensionAuthPensionerDO -> { |
| | | ComPensionAuthPensionerVO comPensionAuthPensionerVO = new ComPensionAuthPensionerVO(); |
| | |
| | | |
| | | // 查询当前社区标签列表 |
| | | List<String> labelList = new ArrayList<>(); |
| | | List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO |
| | | .selectList(null); |
| | | List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO.selectList(null); |
| | | if (!ObjectUtils.isEmpty(comMngUserTagDOS)) { |
| | | labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName()) |
| | | .collect(Collectors.toList()); |
| | |
| | | } |
| | | if (!comElderAuthElderliesDO.getIsAlive().equals(1) || !comElderAuthElderliesDO.getIsRegister().equals(1)) { |
| | | if (vo.getIsRegister().equals(1) && vo.getIsAlive().equals(1)) { |
| | | Calendar calendar = Calendar.getInstance(); |
| | | Date nowDate = new Date(); |
| | | // 获取当前年 |
| | | int year = calendar.get(Calendar.YEAR); |
| | | int year = DateUtils.getYear(nowDate); |
| | | // 获取当前月 |
| | | int month = calendar.get(Calendar.MONTH) + 1; |
| | | int month = DateUtils.getMonth(nowDate) + 1; |
| | | ComEldersAuthStatisticsDO comEldersAuthStatisticsDO = comEldersAuthStatisticsMapper.selectOne(new QueryWrapper<ComEldersAuthStatisticsDO>() |
| | | .lambda().eq(ComEldersAuthStatisticsDO::getCommunityId, communityId).eq(ComEldersAuthStatisticsDO::getYear, year).eq(ComEldersAuthStatisticsDO::getMonth, month)); |
| | | comEldersAuthStatisticsDO.setSum(comEldersAuthStatisticsDO.getSum() + 1); |
| | |
| | | } |
| | | } |
| | | if (vo.getIsRegister().equals(1) && vo.getIsAlive().equals(1)) { |
| | | Calendar calendar = Calendar.getInstance(); |
| | | Date nowDate = new Date(); |
| | | // 获取当前年 |
| | | int year = calendar.get(Calendar.YEAR); |
| | | int year = DateUtils.getYear(nowDate); |
| | | // 获取当前月 |
| | | int month = calendar.get(Calendar.MONTH) + 1; |
| | | int month = DateUtils.getMonth(nowDate) + 1; |
| | | ComEldersAuthStatisticsDO comEldersAuthStatisticsDO = comEldersAuthStatisticsMapper.selectOne(new QueryWrapper<ComEldersAuthStatisticsDO>() |
| | | .lambda().eq(ComEldersAuthStatisticsDO::getCommunityId, communityId).eq(ComEldersAuthStatisticsDO::getYear, year).eq(ComEldersAuthStatisticsDO::getMonth, month)); |
| | | comEldersAuthStatisticsDO.setSum(comEldersAuthStatisticsDO.getSum() + 1); |
| | |
| | | BeanUtils.copyProperties(vo, populationDO); |
| | | ComPensionAuthPensionerDO comPensionAuthPensionerDO = |
| | | comPensionAuthPensionerDAO.selectOne(new QueryWrapper<ComPensionAuthPensionerDO>().lambda() |
| | | .eq(ComPensionAuthPensionerDO::getPopulationId, populationDO.getId())); |
| | | .eq(ComPensionAuthPensionerDO::getPopulationId, populationDO.getId()) |
| | | .eq(ComPensionAuthPensionerDO::getCommunityId, communityId)); |
| | | // List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> |
| | | // userTagStr.split("\\(")[0]).collect(Collectors.toList()); |
| | | // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 |
| | |
| | | BeanUtils.copyProperties(vo, comPensionAuthPensionerDO); |
| | | comPensionAuthPensionerDO.setIdCard(cardNoAES); |
| | | comPensionAuthPensionerDO.setAddress(vo.getNowAddress()); |
| | | if (!comPensionAuthPensionerDO.getIsAlive().equals(1) || !comPensionAuthPensionerDO.getIsRegister().equals(1)) { |
| | | if (vo.getIsRegister().equals(1) && vo.getIsAlive().equals(1)) { |
| | | Date nowDate = new Date(); |
| | | // 获取当前年 |
| | | int year = (DateUtils.getYear(nowDate)); |
| | | ComPensionAuthStatisticsDO comPensionAuthStatisticsDO = comPensionAuthStatisticsDAO.selectOne(new QueryWrapper<ComPensionAuthStatisticsDO>() |
| | | .lambda().eq(ComPensionAuthStatisticsDO::getCommunityId, communityId) |
| | | .eq(ComPensionAuthStatisticsDO::getYear, year)); |
| | | if(null == comPensionAuthStatisticsDO){ |
| | | comPensionAuthStatisticsDO = comPensionAuthStatisticsDAO.selectOne(new QueryWrapper<ComPensionAuthStatisticsDO>() |
| | | .lambda().eq(ComPensionAuthStatisticsDO::getCommunityId, communityId) |
| | | .eq(ComPensionAuthStatisticsDO::getYear, year - 1)); |
| | | } |
| | | comPensionAuthStatisticsDO.setSum(comPensionAuthStatisticsDO.getSum() + 1); |
| | | comPensionAuthStatisticsDAO.updateById(comPensionAuthStatisticsDO); |
| | | } |
| | | } |
| | | comPensionAuthPensionerDAO.updateById(comPensionAuthPensionerDO); |
| | | } else { |
| | | comPensionAuthPensionerDO = new ComPensionAuthPensionerDO(); |
| | |
| | | comPensionAuthPensionerDO.setIdCard(cardNoAES); |
| | | comPensionAuthPensionerDO.setAddress(vo.getNowAddress()); |
| | | comPensionAuthPensionerDAO.insert(comPensionAuthPensionerDO); |
| | | if (vo.getIsRegister().equals(1) && vo.getIsAlive().equals(1)) { |
| | | Date nowDate = new Date(); |
| | | // 获取当前年 |
| | | int year = (DateUtils.getYear(nowDate)); |
| | | ComPensionAuthStatisticsDO comPensionAuthStatisticsDO = comPensionAuthStatisticsDAO.selectOne(new QueryWrapper<ComPensionAuthStatisticsDO>() |
| | | .lambda().eq(ComPensionAuthStatisticsDO::getCommunityId, communityId) |
| | | .eq(ComPensionAuthStatisticsDO::getYear, year)); |
| | | comPensionAuthStatisticsDO.setSum(comPensionAuthStatisticsDO.getSum() + 1); |
| | | comPensionAuthStatisticsDAO.updateById(comPensionAuthStatisticsDO); |
| | | } |
| | | } |
| | | return populationDO; |
| | | } |
| | |
| | | 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.panzhihua.common.enums.PopulHouseUseEnum; |
| | | import com.panzhihua.common.model.dtos.community.PageElderAuthRecordsDTO; |
| | | import com.panzhihua.common.model.helper.AESUtil; |
| | | import com.panzhihua.common.model.vos.R; |
| | | import com.panzhihua.common.model.vos.community.*; |
| | | import com.panzhihua.common.utlis.AgeUtils; |
| | | import com.panzhihua.common.utlis.DateUtils; |
| | | import com.panzhihua.common.utlis.Snowflake; |
| | | import com.panzhihua.common.utlis.StringUtils; |
| | | import com.panzhihua.service_community.dao.*; |
| | | import com.panzhihua.service_community.model.dos.*; |
| | | import com.panzhihua.service_community.service.ComPensionAuthPensionerService; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.panzhihua.service_community.dao.ComPensionAuthRecordDAO; |
| | | import com.panzhihua.service_community.model.dos.ComPensionAuthRecordDO; |
| | | import com.panzhihua.service_community.service.ComPensionAuthRecordService; |
| | | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.ObjectUtils; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * @title: ComPensionAuthRecordServiceImpl |
| | |
| | | @Slf4j |
| | | @Service |
| | | public class ComPensionAuthRecordServiceImpl extends ServiceImpl<ComPensionAuthRecordDAO, ComPensionAuthRecordDO> implements ComPensionAuthRecordService { |
| | | @Resource |
| | | private ComPensionAuthRecordDAO comPensionAuthRecordDAO; |
| | | @Resource |
| | | private ComMngPopulationDAO comMngPopulationDAO; |
| | | @Resource |
| | | private ComPensionAuthPensionerDAO comPensionAuthPensionerDAO; |
| | | @Resource |
| | | private ComPensionAuthRecordService comPensionAuthRecordService; |
| | | @Resource |
| | | private ComActDAO comActDAO; |
| | | @Resource |
| | | private ComPensionAuthStatisticsDAO comPensionAuthStatisticsDAO; |
| | | @Value("${domain.aesKey:}") |
| | | private String aesKey; |
| | | |
| | | @Override |
| | | public R pagePensionAuthRecords(PageElderAuthRecordsDTO pageElderAuthRecordsDTO) { |
| | | Page page = new Page<>(); |
| | | Long pageNum = pageElderAuthRecordsDTO.getPageNum(); |
| | | Long pageSize = pageElderAuthRecordsDTO.getPageSize(); |
| | | if (null == pageNum || 0 == pageNum) { |
| | | pageNum = 1L; |
| | | } |
| | | if (null == pageSize || 0 == pageSize) { |
| | | pageSize = 10L; |
| | | } |
| | | page.setSize(pageSize); |
| | | page.setCurrent(pageNum); |
| | | IPage<ComPensionAuthRecordVO> iPage = comPensionAuthRecordDAO.pagePensionAuthRecords(page, pageElderAuthRecordsDTO); |
| | | if (!iPage.getRecords().isEmpty()) { |
| | | iPage.getRecords().forEach(comPensionAuthRecordVO -> { |
| | | if (StringUtils.isNotEmpty(comPensionAuthRecordVO.getBirthday())) { |
| | | comPensionAuthRecordVO.setAge(AgeUtils.getAgeFromBirthTimes(comPensionAuthRecordVO.getBirthday())); |
| | | } |
| | | }); |
| | | } |
| | | return R.ok(iPage); |
| | | } |
| | | |
| | | @Override |
| | | public R detailPensionAuthRecords(Long authRecordId) { |
| | | ComPensionAuthRecordVO comPensionAuthRecordVO = comPensionAuthRecordDAO.detailPensionAuthRecords(authRecordId); |
| | | return R.ok(comPensionAuthRecordVO); |
| | | } |
| | | |
| | | @Override |
| | | public R examinePensionAuthRecords(ComPensionAuthRecordVO comPensionAuthRecordVO) { |
| | | ComPensionAuthRecordDO comPensionAuthRecordDO = comPensionAuthRecordDAO.selectById(comPensionAuthRecordVO.getId()); |
| | | if (comPensionAuthRecordDO == null) { |
| | | return R.fail("未查询到养老认证记录"); |
| | | } |
| | | BeanUtils.copyProperties(comPensionAuthRecordVO, comPensionAuthRecordDO); |
| | | if (comPensionAuthRecordVO.getApprovalStatus().equals(3)) { |
| | | comPensionAuthRecordDO.setAuthStatus(1); |
| | | } |
| | | comPensionAuthRecordDO.setApprovalDate(new Date()); |
| | | int nub = comPensionAuthRecordDAO.updateById(comPensionAuthRecordDO); |
| | | if (nub < 1) { |
| | | return R.fail("审核失败"); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | @Override |
| | | public R signPensionAuthRecords(ComPensionAuthRecordVO comPensionAuthRecordVO) { |
| | | ComPensionAuthRecordDO comPensionAuthRecordDO = comPensionAuthRecordDAO.selectById(comPensionAuthRecordVO.getId()); |
| | | if (comPensionAuthRecordDO == null) { |
| | | return R.fail("未查询到养老认证记录"); |
| | | } |
| | | BeanUtils.copyProperties(comPensionAuthRecordVO, comPensionAuthRecordDO); |
| | | int nub = comPensionAuthRecordDAO.updateById(comPensionAuthRecordDO); |
| | | if (nub < 1) { |
| | | return R.fail("标记失败"); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | @Override |
| | | public R getPensionAuthRecordsByIds(List<Long> ids) { |
| | | List<ComPensionAuthRecordExcleVO> comPensionAuthRecordExcleVOS = comPensionAuthRecordDAO.getPensionAuthRecordsByIds(ids); |
| | | return R.ok(comPensionAuthRecordExcleVOS); |
| | | } |
| | | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @Override |
| | | public R listSavePensionAuthRecordExcelVO(List<ComPensionAuthRecordImportExcelVO> list, Long communityId, Long userId) { |
| | | // 需要新增的认证记录集合 |
| | | List<ComPensionAuthRecordDO> saveList = new ArrayList<>(); |
| | | // 需要修改的认证记录集合 |
| | | List<ComPensionAuthRecordDO> updateList = new ArrayList<>(); |
| | | log.info("开始处理导入数据"); |
| | | List<ComPensionAuthRecordImportMistakeExcelVO> mistakes = new ArrayList<>(); |
| | | try { |
| | | // 查询所有人口数据放入HashMap中 |
| | | List<ComMngPopulationDO> populationList = comMngPopulationDAO.selectList(null); |
| | | HashMap<String, Object> populationMap = new HashMap<>(); |
| | | populationList.forEach(population -> { |
| | | String key = population.getCardNo(); |
| | | populationMap.put(key, population); |
| | | }); |
| | | |
| | | for (ComPensionAuthRecordImportExcelVO vo : list) { |
| | | String cardNoAES = AESUtil.encrypt128(vo.getIdCard(), aesKey); |
| | | // 判断实有人口是否已存在 |
| | | log.info("开始查询实有人口是否已存在"); |
| | | ComMngPopulationDO populationDO = null; |
| | | String populationKey = vo.getIdCard(); |
| | | if (!isOnly(populationKey, populationMap)) { |
| | | // 存在实有人口信息,则查询养老信息(是否符合认证条件(健在且登记了养老认证)) |
| | | populationDO = (ComMngPopulationDO)populationMap.get(populationKey); |
| | | ComPensionAuthPensionerDO comPensionAuthPensionerDO = comPensionAuthPensionerDAO.selectOne(new QueryWrapper<ComPensionAuthPensionerDO>() |
| | | .lambda().eq(ComPensionAuthPensionerDO::getPopulationId, populationDO.getId()).eq(ComPensionAuthPensionerDO::getCommunityId, communityId)); |
| | | //不存在养老信息,需要先导入养老信息 |
| | | if (null == comPensionAuthPensionerDO) { |
| | | ComPensionAuthRecordImportMistakeExcelVO mistake = new ComPensionAuthRecordImportMistakeExcelVO(); |
| | | BeanUtils.copyProperties(vo, mistake); |
| | | setMistake(mistake, vo); |
| | | mistake.setMistake("该实有人口已存在,但本社区不存在养老信息,请先导入养老人口"); |
| | | mistakes.add(mistake); |
| | | }else { |
| | | //存在养老信息,判断是否满足认证条件 |
| | | if (!comPensionAuthPensionerDO.getIsRegister().equals(1) || !comPensionAuthPensionerDO.getIsAlive().equals(1)) { |
| | | ComPensionAuthRecordImportMistakeExcelVO mistake = new ComPensionAuthRecordImportMistakeExcelVO(); |
| | | BeanUtils.copyProperties(vo, mistake); |
| | | setMistake(mistake, vo); |
| | | mistake.setMistake("该人口不健在,或者未做养老登记"); |
| | | mistakes.add(mistake); |
| | | }else { |
| | | //满足认证条件,判断是否存在当期认证记录 |
| | | ComPensionAuthRecordDO comPensionAuthRecordDO = null; |
| | | Date nowDate = new Date(); |
| | | // 获取当前年 |
| | | int year = DateUtils.getYear(nowDate); |
| | | String authPeriod = ""; |
| | | if (nowDate.before(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(String.valueOf(year) + "-03-01 00:00:00"))) { |
| | | authPeriod = String.valueOf(year - 1); |
| | | }else { |
| | | authPeriod = String.valueOf(year); |
| | | } |
| | | |
| | | comPensionAuthRecordDO = comPensionAuthRecordDAO.selectOne(new QueryWrapper<ComPensionAuthRecordDO>().lambda(). |
| | | eq(ComPensionAuthRecordDO::getPensionerId, comPensionAuthPensionerDO.getId()).eq(ComPensionAuthRecordDO::getAuthPeriod, authPeriod)); |
| | | if (null != comPensionAuthRecordDO) { |
| | | //存在记录且状态为已认证,不能修改 |
| | | if (comPensionAuthRecordDO.getAuthStatus().equals(1)) { |
| | | ComPensionAuthRecordImportMistakeExcelVO mistake = new ComPensionAuthRecordImportMistakeExcelVO(); |
| | | BeanUtils.copyProperties(vo, mistake); |
| | | setMistake(mistake, vo); |
| | | mistake.setMistake("该人口本期已认证,不能修改"); |
| | | mistakes.add(mistake); |
| | | }else { |
| | | //存在记录,执行修改 |
| | | ComPensionAuthRecordDO comPensionAuthRecordDO1 = |
| | | updatePensionAuthRecordsDO(vo, comPensionAuthRecordDO, userId); |
| | | updateList.add(comPensionAuthRecordDO1); |
| | | ComPensionAuthRecordImportMistakeExcelVO mistake = new ComPensionAuthRecordImportMistakeExcelVO(); |
| | | BeanUtils.copyProperties(vo, mistake); |
| | | setMistake(mistake, vo); |
| | | mistake.setMistake("该认证已存在,执行更新"); |
| | | mistakes.add(mistake); |
| | | } |
| | | }else { |
| | | // 不存在记录,则新增 |
| | | comPensionAuthRecordDO = savePensionAuthRecordsDO(vo, comPensionAuthPensionerDO, authPeriod, userId); |
| | | saveList.add(comPensionAuthRecordDO); |
| | | } |
| | | } |
| | | } |
| | | } else { |
| | | // 不存在实有人口,则新增 |
| | | ComPensionAuthRecordImportMistakeExcelVO mistake = new ComPensionAuthRecordImportMistakeExcelVO(); |
| | | BeanUtils.copyProperties(vo, mistake); |
| | | setMistake(mistake, vo); |
| | | mistake.setMistake("不存在该实有人口,请先导入实有人口信息"); |
| | | mistakes.add(mistake); |
| | | } |
| | | log.info("开始查询实有人口是否已存在完成"); |
| | | } |
| | | } catch (Exception e) { |
| | | log.info("出现错误,错误原因:" + e.getMessage()); |
| | | } |
| | | log.info("处理完成导入数据"); |
| | | |
| | | log.info("开始执行数据库导入"); |
| | | if (!saveList.isEmpty()) { |
| | | log.info("执行数据库导入线下认证记录"); |
| | | comPensionAuthRecordService.saveBatch(saveList); |
| | | log.info("数据库导入线下认证记录完成"); |
| | | } |
| | | if (!updateList.isEmpty()) { |
| | | log.info("执行数据库更新线下认证记录"); |
| | | comPensionAuthRecordDAO.updateAll(updateList); |
| | | log.info("数据库更新线下认证记录完成"); |
| | | } |
| | | log.info("执行数据库导入完成"); |
| | | |
| | | if (!mistakes.isEmpty()) { |
| | | log.info("返回错误数据"); |
| | | return R.fail(mistakes); |
| | | } |
| | | return R.ok(mistakes); |
| | | } |
| | | |
| | | @Override |
| | | public R exportPensionAuthRecordsStatistic(PageElderAuthRecordsDTO pageElderAuthRecordsDTO) { |
| | | List<ComPensionAuthRecordStatisticExcleVO> comPensionAuthRecordStatisticExcleVOS = comPensionAuthRecordDAO.exportPensionAuthRecordsStatistic(pageElderAuthRecordsDTO); |
| | | return R.ok(comPensionAuthRecordStatisticExcleVOS); |
| | | } |
| | | |
| | | @Override |
| | | public R timedTaskPensionAuthStatisticsJobHandler() { |
| | | Date nowDate = new Date(); |
| | | int month = DateUtils.getMonth(nowDate) + 1; |
| | | int year = DateUtils.getYear(nowDate); |
| | | //查询所有启用中社区 |
| | | List<ComActDO> actList = comActDAO.selectList(new QueryWrapper<ComActDO>().lambda().eq(ComActDO::getState,0)); |
| | | actList.forEach(act -> { |
| | | //养老认证统计 |
| | | ComPensionAuthStatisticsDO comPensionAuthStatisticsDO = new ComPensionAuthStatisticsDO(); |
| | | comPensionAuthStatisticsDO.setCommunityId(act.getCommunityId()); |
| | | comPensionAuthStatisticsDO.setMonth(month); |
| | | comPensionAuthStatisticsDO.setYear(year); |
| | | comPensionAuthStatisticsDO.setCreateAt(nowDate); |
| | | //本期应认证人数 |
| | | List<ComPensionAuthPensionerDO> comPensionAuthPensionerDOS = comPensionAuthPensionerDAO.selectList(new QueryWrapper<ComPensionAuthPensionerDO>().lambda() |
| | | .eq(ComPensionAuthPensionerDO::getCommunityId, act.getCommunityId()) |
| | | .eq(ComPensionAuthPensionerDO::getIsAlive, 1) |
| | | .eq(ComPensionAuthPensionerDO::getIsRegister, 1)); |
| | | if (null != comPensionAuthPensionerDOS) { |
| | | comPensionAuthStatisticsDO.setSum(comPensionAuthPensionerDOS.size()); |
| | | } |
| | | comPensionAuthStatisticsDAO.insert(comPensionAuthStatisticsDO); |
| | | //上期已认证人数 |
| | | int authSum = comPensionAuthPensionerDAO.havePensionAuthPensionerAmount(act.getCommunityId(), String.valueOf(year - 1)); |
| | | ComPensionAuthStatisticsDO comPensionAuthStatisticsDO1 = comPensionAuthStatisticsDAO.selectOne(new QueryWrapper<ComPensionAuthStatisticsDO>() |
| | | .lambda().eq(ComPensionAuthStatisticsDO::getCommunityId, act.getCommunityId()).eq(ComPensionAuthStatisticsDO::getYear, year - 1)); |
| | | comPensionAuthStatisticsDO1.setAuthSum(authSum); |
| | | comPensionAuthStatisticsDO1.setNoAuthSum(comPensionAuthStatisticsDO1.getSum() - comPensionAuthStatisticsDO1.getAuthSum()); |
| | | comPensionAuthStatisticsDAO.updateById(comPensionAuthStatisticsDO1); |
| | | }); |
| | | return R.ok(); |
| | | } |
| | | |
| | | private ComPensionAuthRecordDO updatePensionAuthRecordsDO(ComPensionAuthRecordImportExcelVO vo, ComPensionAuthRecordDO comPensionAuthRecordsDO, Long userId) { |
| | | BeanUtils.copyProperties(vo, comPensionAuthRecordsDO); |
| | | comPensionAuthRecordsDO.setSubmitUserId(userId); |
| | | comPensionAuthRecordsDO.setApproverId(userId); |
| | | comPensionAuthRecordsDO.setApprovalStatus(3); |
| | | comPensionAuthRecordsDO.setApprovalDate(new Date()); |
| | | comPensionAuthRecordsDO.setAuthStatus(1); |
| | | return comPensionAuthRecordsDO; |
| | | } |
| | | |
| | | private ComPensionAuthRecordDO savePensionAuthRecordsDO(ComPensionAuthRecordImportExcelVO vo, ComPensionAuthPensionerDO comPensionAuthPensionerDO, String authPeriod, Long userId) { |
| | | ComPensionAuthRecordDO comPensionAuthRecordDO = new ComPensionAuthRecordDO(); |
| | | BeanUtils.copyProperties(vo, comPensionAuthRecordDO); |
| | | comPensionAuthRecordDO.setId(Snowflake.getId()); |
| | | comPensionAuthRecordDO.setPensionerId(comPensionAuthPensionerDO.getId()); |
| | | comPensionAuthRecordDO.setAuthPeriod(authPeriod); |
| | | comPensionAuthRecordDO.setSubmitUserId(userId); |
| | | comPensionAuthRecordDO.setApproverId(userId); |
| | | comPensionAuthRecordDO.setApprovalStatus(3); |
| | | comPensionAuthRecordDO.setApprovalDate(new Date()); |
| | | comPensionAuthRecordDO.setAuthStatus(1); |
| | | return comPensionAuthRecordDO; |
| | | } |
| | | |
| | | private void setMistake(ComPensionAuthRecordImportMistakeExcelVO mvo, |
| | | ComPensionAuthRecordImportExcelVO vo) { |
| | | mvo.setIsAlive(PopulHouseUseEnum.getCnDescByName(vo.getIsAlive())); |
| | | } |
| | | |
| | | /** |
| | | * 判重方法 |
| | | * |
| | | * @param key |
| | | * 主键 |
| | | * @param hashMap |
| | | * 数据集 |
| | | * @return 存在即为false 不存在则为true |
| | | */ |
| | | private boolean isOnly(String key, HashMap<String, Object> hashMap) { |
| | | return ObjectUtils.isEmpty(hashMap.get(key)); |
| | | } |
| | | } |
New file |
| | |
| | | package com.panzhihua.service_community.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.panzhihua.service_community.dao.ComPensionAuthStatisticsDAO; |
| | | import com.panzhihua.service_community.model.dos.ComPensionAuthStatisticsDO; |
| | | import com.panzhihua.service_community.service.ComPensionAuthStatisticsService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * @title: ComPensionAuthStatisticsServiceImpl |
| | | * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 |
| | | * @description: 养老认证统计服务实现类 |
| | | * @author: txb |
| | | * @date: 2021/09/07 17:35 |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | | public class ComPensionAuthStatisticsServiceImpl extends ServiceImpl<ComPensionAuthStatisticsDAO, ComPensionAuthStatisticsDO> implements ComPensionAuthStatisticsService { |
| | | |
| | | } |
| | |
| | | if(resultMap != null){ |
| | | ComEldersAuthStatisticsDO authStatisticsDO = new ComEldersAuthStatisticsDO(); |
| | | authStatisticsDO.setCommunityId(act.getCommunityId()); |
| | | authStatisticsDO.setMonth(DateUtils.getMonth(nowDate)); |
| | | authStatisticsDO.setMonth(DateUtils.getMonth(nowDate) + 1); |
| | | authStatisticsDO.setYear(DateUtils.getYear(nowDate)); |
| | | authStatisticsDO.setCreateAt(nowDate); |
| | | authStatisticsDO.setSum(Integer.parseInt(resultMap.get("oldCount").toString())); |
| | |
| | | id, population_id, street_id, community_id, phone, name, id_card, sex, age, birthday, personnel_category, is_register, is_alive, address, remark, receive_allowance_begin, create_at, create_by, update_at, update_by |
| | | </sql> |
| | | |
| | | <select id="haveElderAuthElderliesAmount" resultType="java.lang.Integer"> |
| | | SELECT |
| | | count( ceae.id ) |
| | | FROM |
| | | com_elder_auth_elderlies ceae |
| | | WHERE |
| | | community_id = #{communityId} |
| | | AND EXISTS ( |
| | | SELECT |
| | | 1 |
| | | FROM |
| | | com_elder_auth_records cear |
| | | WHERE |
| | | ceae.id = cear.elderlies_id |
| | | AND cear.auth_status = 1 |
| | | AND cear.auth_period = #{authPeriod}) |
| | | </select> |
| | | </mapper> |
| | |
| | | <result column="auth_period" property="authPeriod" /> |
| | | <result column="submit_user_id" property="submitUserId" /> |
| | | <result column="auth_video" property="authVideo" /> |
| | | <result column="approver" property="approver" /> |
| | | <result column="approver_id" property="approverId" /> |
| | | <result column="approval_status" property="approvalStatus" /> |
| | | <result column="approval_date" property="approvalDate" /> |
| | | <result column="mark" property="mark" /> |
| | |
| | | <if test="pageElderAuthRecordsDTO.authDateEnd != null and pageElderAuthRecordsDTO.authDateEnd != ''"> |
| | | and cear.auth_date before #{pageElderAuthRecordsDTO.authDateEnd} |
| | | </if> |
| | | <if test="pageElderAuthRecordsDTO.approvalStatus != null"> |
| | | <if test="pageElderAuthRecordsDTO.approvalStatus != null and pageElderAuthRecordsDTO.approvalStatus != 0"> |
| | | and cear.approval_status = #{pageElderAuthRecordsDTO.approvalStatus} |
| | | </if> |
| | | <if test="pageElderAuthRecordsDTO.authStatus != null"> |
| | | <if test="pageElderAuthRecordsDTO.authStatus != null and pageElderAuthRecordsDTO.authStatus != 0"> |
| | | and cear.auth_status = #{pageElderAuthRecordsDTO.authStatus} |
| | | </if> |
| | | <if test="pageElderAuthRecordsDTO.personnelCategory != null"> |
| | | <if test="pageElderAuthRecordsDTO.personnelCategory != null and pageElderAuthRecordsDTO.personnelCategory != 0"> |
| | | and ceae.personnel_category = #{pageElderAuthRecordsDTO.personnelCategory} |
| | | </if> |
| | | <if test="pageElderAuthRecordsDTO.isAlive != null"> |
| | | <if test="pageElderAuthRecordsDTO.isAlive != null and pageElderAuthRecordsDTO.isAlive != 0"> |
| | | and ceae.is_alive = #{pageElderAuthRecordsDTO.isAlive} |
| | | </if> |
| | | <if test="pageElderAuthRecordsDTO.searchKey != null and pageElderAuthRecordsDTO.searchKey != ''"> |
| | |
| | | </foreach> |
| | | order by cear.create_at desc |
| | | </select> |
| | | |
| | | <update id="updateAll" parameterType="java.util.List"> |
| | | <foreach collection="comElderAuthRecordsDOS" item="item" index="index" separator=";"> |
| | | update com_elder_auth_records |
| | | <set> |
| | | <if test="item.id != null"> |
| | | `id` = #{item.id}, |
| | | </if> |
| | | <if test="item.elderliesId != null"> |
| | | `elderlies_id` = #{item.elderliesId}, |
| | | </if> |
| | | <if test="item.authPeriod != null and item.authPeriod != ''"> |
| | | `auth_period` = #{item.authPeriod}, |
| | | </if> |
| | | <if test="item.submitUserId != null"> |
| | | `submit_user_id` = #{item.submitUserId}, |
| | | </if> |
| | | <if test="item.authVideo != null and item.authVideo != ''"> |
| | | `auth_video` = #{item.authVideo}, |
| | | </if> |
| | | <if test="item.address != null and item.address != ''"> |
| | | `address` = #{item.address}, |
| | | </if> |
| | | <if test="item.approverId != null"> |
| | | `approver_id` = #{item.approverId}, |
| | | </if> |
| | | <if test="item.approvalStatus != null"> |
| | | `approval_status` = #{item.approvalStatus}, |
| | | </if> |
| | | <if test="item.approvalDate != null"> |
| | | `approval_date` = #{item.approvalDate}, |
| | | </if> |
| | | <if test="item.mark != null and item.mark != ''"> |
| | | `mark` = #{item.mark}, |
| | | </if> |
| | | <if test="item.rejectReason != null and item.rejectReason != ''"> |
| | | `reject_reason` = #{item.rejectReason}, |
| | | </if> |
| | | <if test="item.authStatus != null"> |
| | | `auth_status` = #{item.authStatus}, |
| | | </if> |
| | | <if test="item.authDate != null"> |
| | | `auth_date` = #{item.authDate}, |
| | | </if> |
| | | `update_at` = NOW() |
| | | </set> |
| | | WHERE `id` = #{item.id} |
| | | </foreach> |
| | | ; |
| | | </update> |
| | | |
| | | <select id="exportElderAuthRecordsStatistic" resultType="com.panzhihua.common.model.vos.community.ComElderAuthRecordStatisticExcleVO"> |
| | | SELECT |
| | | su.`name` submitUserName, |
| | | ceae.phone, |
| | | ceae.`name`, |
| | | ceae.id_card, |
| | | CASE |
| | | ceae.sex |
| | | WHEN 1 THEN |
| | | '男' |
| | | WHEN 2 THEN |
| | | '女' |
| | | WHEN 3 THEN |
| | | '其他' |
| | | END sex, |
| | | ceae.birthday, |
| | | CASE |
| | | ceae.personnel_category |
| | | WHEN 1 THEN |
| | | '80-89周岁' |
| | | WHEN 2 THEN |
| | | '90-99周岁' |
| | | WHEN 3 THEN |
| | | '100周岁(含)以上' |
| | | END personnelCategory, |
| | | ceae.address, |
| | | CASE |
| | | ceae.isAlive |
| | | WHEN 1 THEN |
| | | '是' |
| | | WHEN 0 THEN |
| | | '否' |
| | | END is_alive, |
| | | cear.auth_period, |
| | | cear.auth_date, |
| | | cear.mark, |
| | | CASE |
| | | cear.auth_status |
| | | WHEN 1 THEN |
| | | '已认证' |
| | | WHEN 0 THEN |
| | | '未认证' |
| | | END authStatus |
| | | FROM |
| | | com_elder_auth_records cear |
| | | LEFT JOIN com_elder_auth_elderlies ceae ON cear.elderlies_id = ceae.id |
| | | LEFT JOIN sys_user su ON cear.submit_user_id = su.user_id |
| | | WHERE |
| | | ceae.community_id = #{pageElderAuthRecordsDTO.communityId} |
| | | <if test="pageElderAuthRecordsDTO.authPeriod != null and pageElderAuthRecordsDTO.authPeriod !=''"> |
| | | and cear.auth_period = #{pageElderAuthRecordsDTO.authPeriod} |
| | | </if> |
| | | <if test="pageElderAuthRecordsDTO.authStatus != null and pageElderAuthRecordsDTO.authStatus != 0"> |
| | | and cear.auth_status = #{pageElderAuthRecordsDTO.authStatus} |
| | | </if> |
| | | <if test="pageElderAuthRecordsDTO.personnelCategory != null and pageElderAuthRecordsDTO.personnelCategory != 0"> |
| | | and ceae.personnel_category = #{pageElderAuthRecordsDTO.personnelCategory} |
| | | </if> |
| | | <if test="pageElderAuthRecordsDTO.isAlive != null and pageElderAuthRecordsDTO.isAlive != 0"> |
| | | and ceae.is_alive = #{pageElderAuthRecordsDTO.isAlive} |
| | | </if> |
| | | <if test="pageElderAuthRecordsDTO.searchKey != null and pageElderAuthRecordsDTO.searchKey != ''"> |
| | | and (ceae.`name` like concat ('%', #{pageElderAuthRecordsDTO.searchKey}, '%') |
| | | or cear.mark like concat ('%', #{pageElderAuthRecordsDTO.searchKey}, '%')) |
| | | </if> |
| | | order by cear.create_at desc |
| | | </select> |
| | | </mapper> |
| | |
| | | id, population_id, street_id, community_id, phone, name, id_card, sex, age, birthday, personnel_category, is_register, is_alive, address, remark, receive_allowance_begin, create_at, create_by, update_at, update_by |
| | | </sql> |
| | | |
| | | <select id="havePensionAuthPensionerAmount" resultType="java.lang.Integer"> |
| | | SELECT |
| | | count( cpap.id ) |
| | | FROM |
| | | com_pension_auth_pensioners cpap |
| | | WHERE |
| | | community_id = #{communityId} |
| | | AND EXISTS ( |
| | | SELECT |
| | | 1 |
| | | FROM |
| | | com_pension_auth_records cpar |
| | | WHERE |
| | | cpap.id = cpar.pensioner_id |
| | | AND cpar.auth_status = 1 |
| | | AND cpar.auth_period = #{authPeriod}) |
| | | </select> |
| | | </mapper> |
| | |
| | | <result column="auth_period" property="authPeriod" /> |
| | | <result column="submit_user_id" property="submitUserId" /> |
| | | <result column="auth_video" property="authVideo" /> |
| | | <result column="approver" property="approver" /> |
| | | <result column="approver_id" property="approverId" /> |
| | | <result column="approval_status" property="approvalStatus" /> |
| | | <result column="approval_date" property="approvalDate" /> |
| | | <result column="mark" property="mark" /> |
| | |
| | | id, pensioner_id, auth_period, submit_user_id, auth_video, approver, approval_status, approval_date, mark, reject_reason, auth_status, auth_date, create_at, update_at |
| | | </sql> |
| | | |
| | | <select id="pagePensionAuthRecords" resultType="com.panzhihua.common.model.vos.community.ComPensionAuthRecordVO"> |
| | | SELECT |
| | | su.`name` submitUserName, |
| | | cpap.phone, |
| | | cpap.`name`, |
| | | cpap.id_card, |
| | | cpap.sex, |
| | | cpap.birthday, |
| | | cpap.personnel_category, |
| | | cpap.address, |
| | | cpap.is_alive, |
| | | cpar.auth_period, |
| | | cpar.auth_date, |
| | | cpar.mark, |
| | | cpar.approval_status, |
| | | cpar.auth_status |
| | | FROM |
| | | com_pension_auth_records cpar |
| | | LEFT JOIN com_pension_auth_pensioners cpap ON cpar.pensioner_id = cpap.id |
| | | LEFT JOIN sys_user su ON cpar.submit_user_id = su.user_id |
| | | WHERE |
| | | cpap.community_id = #{pageElderAuthRecordsDTO.communityId} |
| | | <if test="pageElderAuthRecordsDTO.authPeriod != null and pageElderAuthRecordsDTO.authPeriod !=''"> |
| | | and cpar.auth_period = #{pageElderAuthRecordsDTO.authPeriod} |
| | | </if> |
| | | <if test="pageElderAuthRecordsDTO.authDateBegin != null and pageElderAuthRecordsDTO.authDateBegin != ''"> |
| | | and cpar.auth_date after #{pageElderAuthRecordsDTO.authDateBegin} |
| | | </if> |
| | | <if test="pageElderAuthRecordsDTO.authDateEnd != null and pageElderAuthRecordsDTO.authDateEnd != ''"> |
| | | and cpar.auth_date before #{pageElderAuthRecordsDTO.authDateEnd} |
| | | </if> |
| | | <if test="pageElderAuthRecordsDTO.approvalStatus != null and pageElderAuthRecordsDTO.approvalStatus != 0"> |
| | | and cpar.approval_status = #{pageElderAuthRecordsDTO.approvalStatus} |
| | | </if> |
| | | <if test="pageElderAuthRecordsDTO.authStatus != null and pageElderAuthRecordsDTO.authStatus != 0"> |
| | | and cpar.auth_status = #{pageElderAuthRecordsDTO.authStatus} |
| | | </if> |
| | | <if test="pageElderAuthRecordsDTO.personnelCategory != null and pageElderAuthRecordsDTO.personnelCategory != 0"> |
| | | and cpap.personnel_category = #{pageElderAuthRecordsDTO.personnelCategory} |
| | | </if> |
| | | <if test="pageElderAuthRecordsDTO.isAlive != null and pageElderAuthRecordsDTO.isAlive != 0"> |
| | | and cpap.is_alive = #{pageElderAuthRecordsDTO.isAlive} |
| | | </if> |
| | | <if test="pageElderAuthRecordsDTO.searchKey != null and pageElderAuthRecordsDTO.searchKey != ''"> |
| | | and (cpap.`name` like concat ('%', #{pageElderAuthRecordsDTO.searchKey}, '%') |
| | | or cpar.mark like concat ('%', #{pageElderAuthRecordsDTO.searchKey}, '%')) |
| | | </if> |
| | | order by cpar.create_at desc |
| | | </select> |
| | | |
| | | <select id="detailPensionAuthRecords" resultType="com.panzhihua.common.model.vos.community.ComPensionAuthRecordVO"> |
| | | SELECT |
| | | su.`name` submitUserName, |
| | | cpap.phone, |
| | | cpap.`name`, |
| | | cpap.id_card, |
| | | cpap.sex, |
| | | cpap.birthday, |
| | | cpap.personnel_category, |
| | | cpap.address, |
| | | cpap.is_alive, |
| | | cpar.auth_period, |
| | | cpar.auth_date, |
| | | cpar.mark, |
| | | cpar.auth_video, |
| | | cpar.approval_status, |
| | | su1.`name` as approverName, |
| | | cpar.approval_date |
| | | FROM |
| | | com_pension_auth_records cpar |
| | | LEFT JOIN com_pension_auth_pensioners cpap ON cpar.pensioner_id = cpap.id |
| | | LEFT JOIN sys_user su ON cpar.submit_user_id = su.user_id |
| | | LEFT JOIN sys_user su1 ON ccparear.approver_id = su1.user_id |
| | | WHERE |
| | | cpar.id = #{authRecordId} |
| | | </select> |
| | | |
| | | <select id="getPensionAuthRecordsByIds" resultType="com.panzhihua.common.model.vos.community.ComPensionAuthRecordExcleVO"> |
| | | SELECT |
| | | su.`name` submitUserName, |
| | | cpap.phone, |
| | | cpap.`name`, |
| | | cpap.id_card, |
| | | CASE |
| | | cpap.sex |
| | | WHEN 1 THEN |
| | | '男' |
| | | WHEN 2 THEN |
| | | '女' |
| | | WHEN 3 THEN |
| | | '其他' |
| | | END sex, |
| | | cpap.birthday, |
| | | CASE |
| | | cpap.personnel_category |
| | | WHEN 1 THEN |
| | | '80-89周岁' |
| | | WHEN 2 THEN |
| | | '90-99周岁' |
| | | WHEN 3 THEN |
| | | '100周岁(含)以上' |
| | | END personnelCategory, |
| | | cpap.address, |
| | | CASE |
| | | cpap.isAlive |
| | | WHEN 1 THEN |
| | | '是' |
| | | WHEN 0 THEN |
| | | '否' |
| | | END is_alive, |
| | | cpar.auth_period, |
| | | cpar.auth_date, |
| | | cpar.mark, |
| | | CASE |
| | | cpar.approval_status |
| | | WHEN 1 THEN |
| | | '待审核' |
| | | WHEN 2 THEN |
| | | '驳回' |
| | | WHEN 3 THEN |
| | | '通过' |
| | | END approvalStatus |
| | | FROM |
| | | com_pension_auth_records cpar |
| | | LEFT JOIN com_pension_auth_pensioners cpap ON cpar.pensioner_id = cpap.id |
| | | LEFT JOIN sys_user su ON cpar.submit_user_id = su.user_id |
| | | WHERE |
| | | cpar.id in |
| | | <foreach collection="ids" item="id" open="(" separator="," close=")" > |
| | | #{id} |
| | | </foreach> |
| | | order by cpar.create_at desc |
| | | </select> |
| | | |
| | | <update id="updateAll" parameterType="java.util.List"> |
| | | <foreach collection="comPensionAuthRecordDOS" item="item" index="index" separator=";"> |
| | | update com_pension_auth_records |
| | | <set> |
| | | <if test="item.id != null"> |
| | | `id` = #{item.id}, |
| | | </if> |
| | | <if test="item.pensionerId != null"> |
| | | `pensioner_id` = #{item.pensionerId}, |
| | | </if> |
| | | <if test="item.authPeriod != null and item.authPeriod != ''"> |
| | | `auth_period` = #{item.authPeriod}, |
| | | </if> |
| | | <if test="item.submitUserId != null"> |
| | | `submit_user_id` = #{item.submitUserId}, |
| | | </if> |
| | | <if test="item.authVideo != null and item.authVideo != ''"> |
| | | `auth_video` = #{item.authVideo}, |
| | | </if> |
| | | <if test="item.address != null and item.address != ''"> |
| | | `address` = #{item.address}, |
| | | </if> |
| | | <if test="item.approverId != null"> |
| | | `approver_id` = #{item.approverId}, |
| | | </if> |
| | | <if test="item.approvalStatus != null"> |
| | | `approval_status` = #{item.approvalStatus}, |
| | | </if> |
| | | <if test="item.approvalDate != null"> |
| | | `approval_date` = #{item.approvalDate}, |
| | | </if> |
| | | <if test="item.mark != null and item.mark != ''"> |
| | | `mark` = #{item.mark}, |
| | | </if> |
| | | <if test="item.rejectReason != null and item.rejectReason != ''"> |
| | | `reject_reason` = #{item.rejectReason}, |
| | | </if> |
| | | <if test="item.authStatus != null"> |
| | | `auth_status` = #{item.authStatus}, |
| | | </if> |
| | | <if test="item.authDate != null"> |
| | | `auth_date` = #{item.authDate}, |
| | | </if> |
| | | `update_at` = NOW() |
| | | </set> |
| | | WHERE `id` = #{item.id} |
| | | </foreach> |
| | | ; |
| | | </update> |
| | | |
| | | <select id="exportPensionAuthRecordsStatistic" resultType="com.panzhihua.common.model.vos.community.ComPensionAuthRecordStatisticExcleVO"> |
| | | SELECT |
| | | su.`name` submitUserName, |
| | | cpap.phone, |
| | | cpap.`name`, |
| | | cpap.id_card, |
| | | CASE |
| | | cpap.sex |
| | | WHEN 1 THEN |
| | | '男' |
| | | WHEN 2 THEN |
| | | '女' |
| | | WHEN 3 THEN |
| | | '其他' |
| | | END sex, |
| | | cpap.birthday, |
| | | CASE |
| | | cpap.personnel_category |
| | | WHEN 1 THEN |
| | | '80-89周岁' |
| | | WHEN 2 THEN |
| | | '90-99周岁' |
| | | WHEN 3 THEN |
| | | '100周岁(含)以上' |
| | | END personnelCategory, |
| | | cpap.address, |
| | | CASE |
| | | cpap.isAlive |
| | | WHEN 1 THEN |
| | | '是' |
| | | WHEN 0 THEN |
| | | '否' |
| | | END is_alive, |
| | | cpar.auth_period, |
| | | cpar.auth_date, |
| | | cpar.mark, |
| | | CASE |
| | | cpar.auth_status |
| | | WHEN 1 THEN |
| | | '已认证' |
| | | WHEN 0 THEN |
| | | '未认证' |
| | | END authStatus |
| | | FROM |
| | | com_pension_auth_records cpar |
| | | LEFT JOIN com_pension_auth_pensioners cpap ON cpar.pensioner_id = cpap.id |
| | | LEFT JOIN sys_user su ON cpar.submit_user_id = su.user_id |
| | | WHERE |
| | | cpap.community_id = #{pageElderAuthRecordsDTO.communityId} |
| | | <if test="pageElderAuthRecordsDTO.authPeriod != null and pageElderAuthRecordsDTO.authPeriod !=''"> |
| | | and cpar.auth_period = #{pageElderAuthRecordsDTO.authPeriod} |
| | | </if> |
| | | <if test="pageElderAuthRecordsDTO.authStatus != null and pageElderAuthRecordsDTO.authStatus != 0"> |
| | | and cpar.auth_status = #{pageElderAuthRecordsDTO.authStatus} |
| | | </if> |
| | | <if test="pageElderAuthRecordsDTO.personnelCategory != null and pageElderAuthRecordsDTO.personnelCategory != 0"> |
| | | and cpap.personnel_category = #{pageElderAuthRecordsDTO.personnelCategory} |
| | | </if> |
| | | <if test="pageElderAuthRecordsDTO.isAlive != null and pageElderAuthRecordsDTO.isAlive != 0"> |
| | | and cpap.is_alive = #{pageElderAuthRecordsDTO.isAlive} |
| | | </if> |
| | | <if test="pageElderAuthRecordsDTO.searchKey != null and pageElderAuthRecordsDTO.searchKey != ''"> |
| | | and (cpap.`name` like concat ('%', #{pageElderAuthRecordsDTO.searchKey}, '%') |
| | | or cpar.mark like concat ('%', #{pageElderAuthRecordsDTO.searchKey}, '%')) |
| | | </if> |
| | | order by cpar.create_at desc |
| | | </select> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.panzhihua.service_community.dao.ComPensionAuthStatisticsDAO"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComPensionAuthStatisticsDO"> |
| | | <id column="id" property="id" /> |
| | | <result column="year" property="year" /> |
| | | <result column="month" property="month" /> |
| | | <result column="sum" property="sum" /> |
| | | <result column="auth_sum" property="authSum" /> |
| | | <result column="no_auth_sum" property="noAuthSum" /> |
| | | <result column="create_at" property="createAt" /> |
| | | <result column="community_id" property="communityId" /> |
| | | </resultMap> |
| | | |
| | | <!-- 通用查询结果列 --> |
| | | <sql id="Base_Column_List"> |
| | | id, year, month, sum, auth_sum, no_auth_sum, create_at, community_id |
| | | </sql> |
| | | |
| | | </mapper> |
| | |
| | | package com.panzhihua.service_community; |
| | | |
| | | import com.panzhihua.common.utlis.DateUtils; |
| | | import org.junit.jupiter.api.Test; |
| | | import org.springframework.boot.test.context.SpringBootTest; |
| | | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | import java.util.Date; |
| | | |
| | | @Slf4j |
| | | @SpringBootTest |
| | |
| | | log.info("test"); |
| | | } |
| | | |
| | | @Test |
| | | void test() { |
| | | log.info(String.valueOf(DateUtils.getYear(new Date()))); |
| | | log.info(String.valueOf(DateUtils.getMonth(new Date()))); |
| | | log.info(String.valueOf(DateUtils.getYear(new Date())) + 0 + DateUtils.getMonth(new Date())); |
| | | } |
| | | |
| | | } |
| | |
| | | log.info("执行结果【{}】", r1.toString()); |
| | | return ReturnT.SUCCESS; |
| | | } |
| | | |
| | | /** |
| | | * 定时任务每月1号0点统计高龄老人本期应该认证总人数 |
| | | */ |
| | | @XxlJob("timedTaskElderAuthStatisticsJobHandler") |
| | | public ReturnT<String> timedTaskElderAuthStatisticsJobHandler(String param) { |
| | | log.info("定时任务每月1号0点统计高龄老人本期应该认证总人数"); |
| | | R r = communityService.timedTaskElderAuthStatisticsJobHandler(); |
| | | log.info("执行结果【{}】", r.toString()); |
| | | return ReturnT.SUCCESS; |
| | | } |
| | | |
| | | /** |
| | | * 定时任务每年3月1号0点统计养老认证本期应该认证总人数 |
| | | */ |
| | | @XxlJob("timedTaskPensionAuthStatisticsJobHandler") |
| | | public ReturnT<String> timedTaskPensionAuthStatisticsJobHandler(String param) { |
| | | log.info("定时任务每年3月1号0点统计养老认证本期应该认证总人数"); |
| | | R r = communityService.timedTaskPensionAuthStatisticsJobHandler(); |
| | | log.info("执行结果【{}】", r.toString()); |
| | | return ReturnT.SUCCESS; |
| | | } |
| | | } |