| | |
| | | package com.panzhihua.service_community.service.impl; |
| | | |
| | | import cn.hutool.core.util.ArrayUtil; |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.panzhihua.common.model.dtos.community.acid.BatchCheckAcidRecordDTO; |
| | | import com.panzhihua.common.model.dtos.community.acid.ComActAcidRecordDTO; |
| | | import com.panzhihua.common.model.dtos.property.CommonPage; |
| | | import com.panzhihua.common.model.vos.R; |
| | | import com.panzhihua.common.model.vos.community.acid.*; |
| | | import com.panzhihua.common.service.user.UserService; |
| | | import com.panzhihua.common.utlis.DateUtils; |
| | | import com.panzhihua.common.utlis.StringUtils; |
| | | import com.panzhihua.service_community.dao.ComActAcidDangerMemberDao; |
| | | import com.panzhihua.service_community.entity.ComActAcidDangerMember; |
| | | import com.panzhihua.service_community.entity.ComActAcidRecord; |
| | | import com.panzhihua.service_community.dao.ComActAcidRecordDao; |
| | | import com.panzhihua.service_community.dao.*; |
| | | import com.panzhihua.service_community.entity.*; |
| | | import com.panzhihua.service_community.model.dos.ComActDO; |
| | | import com.panzhihua.service_community.model.dos.ComStreetDO; |
| | | import com.panzhihua.service_community.service.ComActAcidRecordService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.amqp.rabbit.core.RabbitTemplate; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | import static com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isNotEmpty; |
| | | import static com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isNull; |
| | | import static org.apache.commons.lang3.StringUtils.isBlank; |
| | | |
| | | /** |
| | | * (ComActAcidRecord)表服务实现类 |
| | |
| | | private RabbitTemplate rabbitTemplate; |
| | | @Resource |
| | | private ComActAcidDangerMemberDao comActAcidDangerMemberDao; |
| | | @Resource |
| | | private UserService userService; |
| | | @Resource |
| | | private ComActDAO comActDAO; |
| | | @Resource |
| | | private ComActAcidUpdateRecordDao comActAcidUpdateRecordDao; |
| | | @Resource |
| | | private ComAreaTownCommunityDao comAreaTownCommunityDao; |
| | | @Resource |
| | | private ComCunDao comCunDao; |
| | | @Resource |
| | | private ComStreetDAO comStreetDAO; |
| | | @Resource |
| | | private SysUserDao sysUserDao; |
| | | |
| | | @Override |
| | | public R pageList(ComActAcidRecordDTO comActAcidRecordDTO) { |
| | | //是否需要筛选 |
| | | comActAcidRecordDTO.setType(isVilliage(comActAcidRecordDTO.getLoginAccount())); |
| | | log.info("搜索条件=========="+comActAcidRecordDTO); |
| | | //获取当前登录账号的社区名 |
| | | return R.ok(this.baseMapper.pageList(new Page<>(comActAcidRecordDTO.getPage(), comActAcidRecordDTO.getSize()),comActAcidRecordDTO)); |
| | | } |
| | | |
| | | @Override |
| | | public R export(ComActAcidRecordDTO comActAcidRecordDTO) { |
| | | List<ComActAcidRecordExcelVO> comActAcidRecordExcelVOS=this.baseMapper.export(comActAcidRecordDTO); |
| | | List<ComActAcidRecordExcelReturn> comActAcidRecordExcelVOS=new ArrayList<>(); |
| | | if(StringUtils.isNotEmpty(comActAcidRecordDTO.getIds())){ |
| | | comActAcidRecordExcelVOS=this.baseMapper.selectByIds(comActAcidRecordDTO.getIds()); |
| | | } |
| | | else { |
| | | comActAcidRecordExcelVOS=this.baseMapper.export(comActAcidRecordDTO); |
| | | } |
| | | comActAcidRecordExcelVOS.forEach(comActAcidRecordExcelVO -> { |
| | | if(StringUtils.isNotEmpty(comActAcidRecordExcelVO.getTouristCity())&&comActAcidRecordExcelVO.getTouristCity().contains("[")){ |
| | | JSONArray jsonArray = JSON.parseArray(comActAcidRecordExcelVO.getTouristCity()); |
| | | if(jsonArray.isEmpty()){ |
| | | comActAcidRecordExcelVO.setTouristCity(""); |
| | | } |
| | | else { |
| | | StringBuilder touristCity= new StringBuilder(); |
| | | for(int i=0;i<jsonArray.size();i++){ |
| | | JSONObject jsonObject=jsonArray.getJSONObject(i); |
| | | String name=jsonObject.getString("name"); |
| | | if(StringUtils.isNotEmpty(name)){ |
| | | touristCity.append(name).append(";"); |
| | | } |
| | | } |
| | | comActAcidRecordExcelVO.setTouristCity(touristCity.toString()); |
| | | } |
| | | } |
| | | }); |
| | | return R.ok(comActAcidRecordExcelVOS); |
| | | } |
| | | |
| | | @Override |
| | | public R exportNew(ComActAcidRecordDTO comActAcidRecordDTO) { |
| | | List<ComActAcidRecordExcelReturn> comActAcidRecordExcelVOS=this.baseMapper.exportNew(comActAcidRecordDTO); |
| | | comActAcidRecordExcelVOS.forEach(comActAcidRecordExcelVO -> { |
| | | if(StringUtils.isNotEmpty(comActAcidRecordExcelVO.getTouristCity())&&comActAcidRecordExcelVO.getTouristCity().contains("[")){ |
| | | JSONArray jsonArray = JSON.parseArray(comActAcidRecordExcelVO.getTouristCity()); |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public R insertRecord(ComActAcidRecordVO comActAcidRecordVO) { |
| | | Integer count= this.baseMapper.selectCount(new QueryWrapper<ComActAcidRecord>().lambda().eq(ComActAcidRecord::getIdCard,comActAcidRecordVO.getIdCard()).ge(ComActAcidRecord::getCreateTime, DateUtils.getCurrentDate(DateUtils.yyyyMMdd_format))); |
| | | Integer count= this.baseMapper.selectCount(new QueryWrapper<ComActAcidRecord>().lambda().eq(ComActAcidRecord::getIsDel,0).eq(ComActAcidRecord::getIdCard,comActAcidRecordVO.getIdCard()).ge(ComActAcidRecord::getCreateTime, DateUtils.getCurrentDate(DateUtils.yyyyMMdd_format))); |
| | | if(count>0){ |
| | | return R.fail("请勿重复提交"); |
| | | return R.fail("您的社区报备信息已填写完整,请勿重复提交!"); |
| | | } |
| | | if(StringUtils.isEmpty(comActAcidRecordVO.getLocalCity())){ |
| | | rabbitTemplate.convertAndSend("huacheng.acid.exchange", "huacheng.acid.key", comActAcidRecordVO, message -> { |
| | | message.getMessageProperties().setHeader("x-delay", 24*60*60*1000); |
| | | message.getMessageProperties().setHeader("x-delay", 2*60*60*1000); |
| | | return message; |
| | | }); |
| | | } |
| | | else { |
| | | rabbitTemplate.convertAndSend("huacheng.acid.direct.exchange", "huacheng.acid.direct.key", comActAcidRecordVO); |
| | | } |
| | | ComActAcidRecord comActAcidRecord=new ComActAcidRecord(); |
| | | BeanUtils.copyProperties(comActAcidRecordVO,comActAcidRecord); |
| | |
| | | String dangerArea = comActAcidRecordVO.getDangerArea(); |
| | | String outsideCity = comActAcidRecordVO.getOutsideCity(); |
| | | String acidTest = comActAcidRecordVO.getAcidTest(); |
| | | if(StringUtils.isEmpty(acidTest)){ |
| | | acidTest="阴性"; |
| | | } |
| | | if(StringUtils.isEmpty(travelCard)){ |
| | | travelCard="否"; |
| | | } |
| | | if (StringUtils.inStringIgnoreCase(colorMark, "红码", "黄码") || travelCard.equals("是") |
| | | || dangerArea.equals("是") || outsideCity.equals("是") || acidTest.equals("阳性")) { |
| | | //风险人员 |
| | | saveAcidDangerMember(comActAcidRecordVO, comActAcidRecord.getId(), 1); |
| | | String riskType = retrieveRiskType(colorMark, travelCard, dangerArea, outsideCity, acidTest); |
| | | saveAcidDangerMember(comActAcidRecordVO, comActAcidRecord.getId(), 1, riskType); |
| | | return R.ok(); |
| | | } |
| | | if (StringUtils.isEmpty(comActAcidRecordVO.getLocalCity())) { |
| | | //未填住址人员 |
| | | saveAcidDangerMember(comActAcidRecordVO, comActAcidRecord.getId(), 2); |
| | | saveAcidDangerMember(comActAcidRecordVO, comActAcidRecord.getId(), 2, null); |
| | | } |
| | | return R.ok(); |
| | | return R.ok(comActAcidRecord.getId().toString()); |
| | | } |
| | | |
| | | return R.fail("操作失败,请重新尝试"); |
| | | } |
| | | |
| | | private void saveAcidDangerMember(ComActAcidRecordVO comActAcidRecordVO, Long recordId, Integer type) { |
| | | private String retrieveRiskType(String colorMark, String travelCard, String dangerArea, String outsideCity, String acidTest) { |
| | | StringBuilder riskType = new StringBuilder(); |
| | | if (StringUtils.inStringIgnoreCase(colorMark, "红码", "黄码")) { |
| | | riskType.append(","); |
| | | riskType.append(ComActAcidDangerMember.RiskType.COLOR); |
| | | } |
| | | if (travelCard.equals("是")) { |
| | | riskType.append(","); |
| | | riskType.append(ComActAcidDangerMember.RiskType.STAR); |
| | | } |
| | | if (dangerArea.equals("是")) { |
| | | riskType.append(","); |
| | | riskType.append(ComActAcidDangerMember.RiskType.HIGH); |
| | | } |
| | | if (outsideCity.equals("是")) { |
| | | riskType.append(","); |
| | | riskType.append(ComActAcidDangerMember.RiskType.OUT); |
| | | } |
| | | if (acidTest.equals("阳性")) { |
| | | riskType.append(","); |
| | | riskType.append(ComActAcidDangerMember.RiskType.TEST); |
| | | } |
| | | return riskType.substring(1); |
| | | } |
| | | |
| | | private void saveAcidDangerMember(ComActAcidRecordVO comActAcidRecordVO, Long recordId, Integer type, String riskType) { |
| | | String localCity = comActAcidRecordVO.getLocalCity(); |
| | | String relationName = "panzhihua"; |
| | | if (isNotEmpty(localCity)) { |
| | | relationName = localCity; |
| | | } else { |
| | | String realAddress = comActAcidRecordVO.getRealAddress(); |
| | | if (realAddress.contains("攀枝花")) { |
| | | if (realAddress.contains("区")) { |
| | | relationName = realAddress.substring(realAddress.indexOf("市") + 1, realAddress.indexOf("区") + 1); |
| | | } else { |
| | | relationName = realAddress.substring(realAddress.indexOf("市") + 1, realAddress.indexOf("县") + 1); |
| | | if(isNotEmpty(realAddress)){ |
| | | if (realAddress.contains("攀枝花")) { |
| | | if (realAddress.contains("区")) { |
| | | relationName = realAddress.substring(realAddress.indexOf("市") + 1, realAddress.indexOf("区") + 1); |
| | | } else { |
| | | relationName = realAddress.substring(realAddress.indexOf("市") + 1, realAddress.indexOf("县") + 1); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | ComActAcidDangerMember dangerMember = comActAcidDangerMemberDao.selectOne(new LambdaQueryWrapper<ComActAcidDangerMember>() |
| | | .eq(ComActAcidDangerMember::getIdCard, comActAcidRecordVO.getIdCard()).eq(ComActAcidDangerMember::getRelationName, relationName)); |
| | | .eq(ComActAcidDangerMember::getIdCard, comActAcidRecordVO.getIdCard()).eq(ComActAcidDangerMember::getRecordId, recordId).orderByDesc(ComActAcidDangerMember::getCreateTime).last("limit 1")); |
| | | if (isNull(dangerMember)) { |
| | | dangerMember = new ComActAcidDangerMember(); |
| | | dangerMember.setName(comActAcidRecordVO.getName()); |
| | |
| | | dangerMember.setType(type); |
| | | dangerMember.setRelationName(relationName); |
| | | dangerMember.setCreateTime(new Date()); |
| | | dangerMember.setRiskType(riskType); |
| | | comActAcidDangerMemberDao.insert(dangerMember); |
| | | } else { |
| | | dangerMember.setName(comActAcidRecordVO.getName()); |
| | |
| | | dangerMember.setRecordId(recordId); |
| | | dangerMember.setIdCard(comActAcidRecordVO.getIdCard()); |
| | | dangerMember.setSource(1); |
| | | dangerMember.setStatus(6); |
| | | dangerMember.setType(type); |
| | | dangerMember.setRelationName(relationName); |
| | | dangerMember.setUpdateTime(new Date()); |
| | | dangerMember.setRiskType(riskType); |
| | | comActAcidDangerMemberDao.updateById(dangerMember); |
| | | } |
| | | ComActAcidDangerMemberVO dangerMemberVO = new ComActAcidDangerMemberVO(); |
| | |
| | | return R.ok(this.baseMapper.fiveCount(localCity)); |
| | | } |
| | | @Override |
| | | public R fiveCountPlus(String date,String localCity) { |
| | | return R.ok(this.baseMapper.fiveCountPlus(date,localCity)); |
| | | public R fiveCountPlus(String date,String localCity,String loginAccount) { |
| | | Integer type=3; |
| | | if (StringUtils.isNotEmpty(loginAccount)){ |
| | | type = isVilliage(loginAccount); |
| | | } |
| | | return R.ok(this.baseMapper.fiveCountPlus(date,localCity,type)); |
| | | } |
| | | |
| | | @Override |
| | | public R charts(String date, String localCity) { |
| | | if(StringUtils.isNotEmpty(localCity)){ |
| | | ComActAcidCharts comActAcidCharts=new ComActAcidCharts(); |
| | | List<ComActAcidChartsVO> acidList=new ArrayList<>(); |
| | | List<ComActAcidChartsVO> dangerList=new ArrayList<>(); |
| | | List<ComActAcidChartsVO> checkCount=new ArrayList<>(); |
| | | String[] area={"东区","西区","仁和区","米易县","盐边县"}; |
| | | if("panzhihua".equals(localCity)){ |
| | | for(String areaValue:area){ |
| | | ComActAcidChartsVO acid=new ComActAcidChartsVO(); |
| | | acid.setName(areaValue); |
| | | ComActAcidChartsVO acidCount =this.baseMapper.selectAcidCount(date,areaValue); |
| | | if(acidCount!=null){ |
| | | acid.setNumOne(acidCount.getNumOne()); |
| | | } |
| | | acidList.add(acid); |
| | | ComActAcidChartsVO danger=new ComActAcidChartsVO(); |
| | | danger.setName(areaValue); |
| | | ComActAcidChartsVO dangerCount =this.baseMapper.selectDangerCount(date,areaValue); |
| | | if(dangerCount!=null){ |
| | | danger.setNumOne(dangerCount.getNumOne()); |
| | | danger.setNumTwo(dangerCount.getNumTwo()); |
| | | }else{ |
| | | danger.setNumOne(0); |
| | | danger.setNumTwo(0); |
| | | } |
| | | dangerList.add(danger); |
| | | checkCount =this.baseMapper.selectCheck(date,localCity); |
| | | if(checkCount!=null){ |
| | | checkCount.forEach(comActAcidChartsVO -> { |
| | | if(comActAcidChartsVO.getNumTwo()!=null){ |
| | | comActAcidChartsVO.setPercent(new BigDecimal(comActAcidChartsVO.getNumOne()) |
| | | .divide(new BigDecimal(comActAcidChartsVO.getNumTwo()), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0)); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | } |
| | | } |
| | | if(ArrayUtil.contains(area,localCity)){ |
| | | List<String> streets=comAreaTownCommunityDao.selectDistinctTown(localCity); |
| | | streets.forEach(street ->{ |
| | | ComActAcidChartsVO acid=new ComActAcidChartsVO(); |
| | | acid.setName(street); |
| | | ComActAcidChartsVO acidCount =this.baseMapper.selectAcidCount(date,street); |
| | | if(acidCount!=null){ |
| | | acid.setNumOne(acidCount.getNumOne()); |
| | | } |
| | | acidList.add(acid); |
| | | ComActAcidChartsVO danger=new ComActAcidChartsVO(); |
| | | danger.setName(street); |
| | | ComActAcidChartsVO dangerCount =this.baseMapper.selectDangerCount(date,street); |
| | | if(dangerCount!=null){ |
| | | danger.setNumOne(dangerCount.getNumOne()); |
| | | danger.setNumTwo(dangerCount.getNumTwo()); |
| | | } |
| | | dangerList.add(danger); |
| | | }); |
| | | } |
| | | comActAcidCharts.setAcidList(acidList); |
| | | comActAcidCharts.setDangerList(dangerList); |
| | | comActAcidCharts.setCheckList(checkCount); |
| | | return R.ok(comActAcidCharts); |
| | | } |
| | | return R.fail(); |
| | | } |
| | | |
| | | @Override |
| | | public R statics(String date) { |
| | | List<ComAcidStaticVO> comAcidStaticVOS=new ArrayList<>(); |
| | | String[] area={"东区","西区","仁和区","米易县","盐边县","钒钛新城"}; |
| | | String[] area={"攀枝花市","东区","西区","仁和区","米易县","盐边县","钒钛新城"}; |
| | | String[] country={"上海市","吉林省","广东省","江苏省","浙江省","山东省","湖北省","山西省","黑龙江省","广西壮族自治区","河北省","辽宁省","河南省","福建省","安徽省","南昌市","西宁市","西安市","文山州","兰州市","邵阳市"}; |
| | | for(String areaName:area){ |
| | | ComAcidStaticVO comAcidStaticVO=this.baseMapper.areaStatics(areaName,date); |
| | |
| | | |
| | | @Override |
| | | public R updateLocalCity(ComActAcidRecordVO comActAcidRecordVO) { |
| | | ComActAcidRecord comActAcidRecord=new ComActAcidRecord(); |
| | | BeanUtils.copyProperties(comActAcidRecordVO,comActAcidRecord); |
| | | if(StringUtils.isNotEmpty(comActAcidRecord.getLocalCity())){ |
| | | ComActAcidDangerMember comActAcidDangerMember= comActAcidDangerMemberDao.selectOne(new QueryWrapper<ComActAcidDangerMember>().lambda().eq(ComActAcidDangerMember::getRecordId,comActAcidRecordVO.getId())); |
| | | comActAcidDangerMember.setRelationName(comActAcidRecord.getLocalCity()); |
| | | this.comActAcidDangerMemberDao.updateById(comActAcidDangerMember); |
| | | this.baseMapper.updateById(comActAcidRecord); |
| | | ComActAcidUpdateRecord comActAcidUpdateRecord=new ComActAcidUpdateRecord(); |
| | | comActAcidUpdateRecord.setRecordId(comActAcidRecordVO.getId()); |
| | | comActAcidUpdateRecord.setUserId(comActAcidRecordVO.getUserId()); |
| | | comActAcidUpdateRecord.setCreateTime(new Date()); |
| | | comActAcidUpdateRecordDao.insert(comActAcidUpdateRecord); |
| | | ComActAcidRecord comActAcidRecord = new ComActAcidRecord(); |
| | | BeanUtils.copyProperties(comActAcidRecordVO, comActAcidRecord); |
| | | String idCard = comActAcidRecordVO.getIdCard(); |
| | | ComActAcidRecord comActAcidRecord1 = this.baseMapper.selectById(comActAcidRecordVO.getId()); |
| | | comActAcidRecord.setUserId(comActAcidRecord1.getUserId()); |
| | | if (isBlank(idCard)) { |
| | | //只修改地址 |
| | | if (isNull(comActAcidRecord1)) { |
| | | return R.fail("填报纪录不存在"); |
| | | } |
| | | String localCity = comActAcidRecordVO.getLocalCity(); |
| | | String localAddress = comActAcidRecordVO.getLocalAddress(); |
| | | Integer checkStatus=comActAcidRecordVO.getCheckStatus(); |
| | | String remark=comActAcidRecordVO.getRemark(); |
| | | BeanUtils.copyProperties(comActAcidRecord1, comActAcidRecordVO); |
| | | if(StringUtils.isNotEmpty(localCity)){ |
| | | comActAcidRecordVO.setLocalCity(localCity); |
| | | } |
| | | if(StringUtils.isNotEmpty(localAddress)){ |
| | | comActAcidRecordVO.setLocalAddress(localAddress); |
| | | } |
| | | BeanUtils.copyProperties(comActAcidRecord1,comActAcidRecord); |
| | | if(checkStatus>0){ |
| | | comActAcidRecord.setCheckStatus(checkStatus); |
| | | } |
| | | if(StringUtils.isNotEmpty(remark)){ |
| | | comActAcidRecord.setRemark(remark); |
| | | } |
| | | } |
| | | ComActAcidDangerMember comActAcidDangerMember = |
| | | comActAcidDangerMemberDao.selectOne(new QueryWrapper<ComActAcidDangerMember>().lambda() |
| | | .eq(ComActAcidDangerMember::getRecordId, comActAcidRecordVO.getId()).orderByDesc(ComActAcidDangerMember::getCreateTime).last("limit 1")); |
| | | String colorMark = comActAcidRecordVO.getColorMark(); |
| | | String travelCard = comActAcidRecordVO.getTravelCard(); |
| | | String dangerArea = comActAcidRecordVO.getDangerArea(); |
| | | String outsideCity = comActAcidRecordVO.getOutsideCity(); |
| | | String acidTest = comActAcidRecordVO.getAcidTest(); |
| | | if(StringUtils.isEmpty(acidTest)){ |
| | | acidTest="阴性"; |
| | | } |
| | | if(StringUtils.isEmpty(travelCard)){ |
| | | travelCard="否"; |
| | | } |
| | | if (StringUtils.inStringIgnoreCase(colorMark, "红码", "黄码") || travelCard.equals("是") || dangerArea.equals("是") |
| | | || outsideCity.equals("是") || acidTest.equals("阳性")) { |
| | | // 风险人员 |
| | | String riskType = retrieveRiskType(colorMark, travelCard, dangerArea, outsideCity, acidTest); |
| | | saveAcidDangerMember(comActAcidRecordVO, comActAcidRecord.getId(), 1, riskType); |
| | | } else if (StringUtils.isEmpty(comActAcidRecordVO.getLocalCity())) { |
| | | // 未填住址人员 |
| | | saveAcidDangerMember(comActAcidRecordVO, comActAcidRecord.getId(), 2, null); |
| | | } else if (comActAcidDangerMember != null && comActAcidDangerMember.getType() == 2) { |
| | | this.comActAcidDangerMemberDao.deleteById(comActAcidDangerMember.getId()); |
| | | } |
| | | |
| | | return R.ok(this.baseMapper.updateById(comActAcidRecord)); |
| | | } |
| | | |
| | | @Override |
| | | public R updateApplets(ComActAcidRecordVO comActAcidRecordVO) { |
| | | ComActAcidUpdateRecord comActAcidUpdateRecord=new ComActAcidUpdateRecord(); |
| | | comActAcidUpdateRecord.setRecordId(comActAcidRecordVO.getId()); |
| | | comActAcidUpdateRecord.setUserId(comActAcidRecordVO.getUserId()); |
| | | comActAcidUpdateRecord.setCreateTime(new Date()); |
| | | comActAcidUpdateRecordDao.insert(comActAcidUpdateRecord); |
| | | ComActAcidRecord comActAcidRecord = new ComActAcidRecord(); |
| | | BeanUtils.copyProperties(comActAcidRecordVO, comActAcidRecord); |
| | | String idCard = comActAcidRecordVO.getIdCard(); |
| | | ComActAcidRecord comActAcidRecord1 = this.baseMapper.selectById(comActAcidRecordVO.getId()); |
| | | comActAcidRecord.setUserId(comActAcidRecord1.getUserId()); |
| | | if (isBlank(idCard)) { |
| | | //只修改核对状态 |
| | | if (isNull(comActAcidRecord1)) { |
| | | return R.fail("填报纪录不存在"); |
| | | } |
| | | Integer checkStatus=comActAcidRecordVO.getCheckStatus(); |
| | | String remark=comActAcidRecordVO.getRemark(); |
| | | BeanUtils.copyProperties(comActAcidRecord1, comActAcidRecordVO); |
| | | BeanUtils.copyProperties(comActAcidRecord1,comActAcidRecord); |
| | | if(checkStatus>0){ |
| | | comActAcidRecord.setCheckStatus(checkStatus); |
| | | } |
| | | if(StringUtils.isNotEmpty(remark)){ |
| | | comActAcidRecord.setRemark(remark); |
| | | } |
| | | } |
| | | ComActAcidDangerMember comActAcidDangerMember = |
| | | comActAcidDangerMemberDao.selectOne(new QueryWrapper<ComActAcidDangerMember>().lambda() |
| | | .eq(ComActAcidDangerMember::getRecordId, comActAcidRecordVO.getId()).orderByDesc(ComActAcidDangerMember::getCreateTime).last("limit 1")); |
| | | String colorMark = comActAcidRecordVO.getColorMark(); |
| | | String travelCard = comActAcidRecordVO.getTravelCard(); |
| | | String dangerArea = comActAcidRecordVO.getDangerArea(); |
| | | String outsideCity = comActAcidRecordVO.getOutsideCity(); |
| | | String acidTest = comActAcidRecordVO.getAcidTest(); |
| | | if(StringUtils.isEmpty(acidTest)){ |
| | | acidTest="阴性"; |
| | | } |
| | | if(StringUtils.isEmpty(travelCard)){ |
| | | travelCard="否"; |
| | | } |
| | | if (StringUtils.inStringIgnoreCase(colorMark, "红码", "黄码") || travelCard.equals("是") || dangerArea.equals("是") |
| | | || outsideCity.equals("是") || acidTest.equals("阳性")) { |
| | | // 风险人员 |
| | | String riskType = retrieveRiskType(colorMark, travelCard, dangerArea, outsideCity, acidTest); |
| | | saveAcidDangerMember(comActAcidRecordVO, comActAcidRecord.getId(), 1, riskType); |
| | | } else if (StringUtils.isEmpty(comActAcidRecordVO.getLocalCity())) { |
| | | // 未填住址人员 |
| | | saveAcidDangerMember(comActAcidRecordVO, comActAcidRecord.getId(), 2, null); |
| | | } else if (comActAcidDangerMember != null && comActAcidDangerMember.getType() == 2) { |
| | | this.comActAcidDangerMemberDao.deleteById(comActAcidDangerMember.getId()); |
| | | } |
| | | return R.ok(this.baseMapper.updateById(comActAcidRecord)); |
| | | } |
| | | |
| | | @Override |
| | | public R delete(Long id) { |
| | | ComActAcidRecord comActAcidRecord=new ComActAcidRecord(); |
| | | comActAcidRecord.setId(id); |
| | | comActAcidRecord.setIsDel(1); |
| | | this.baseMapper.updateById(comActAcidRecord); |
| | | List<ComActAcidDangerMember> comActAcidDangerMembers=this.comActAcidDangerMemberDao.selectList(new QueryWrapper<ComActAcidDangerMember>().lambda().eq(ComActAcidDangerMember::getRecordId,id)); |
| | | comActAcidDangerMembers.forEach(comActAcidDangerMember -> { |
| | | comActAcidDangerMember.setIsDel(1); |
| | | this.comActAcidDangerMemberDao.updateById(comActAcidDangerMember); |
| | | }); |
| | | return R.ok(); |
| | | } |
| | | |
| | | @Override |
| | | public R detailByApp(Long id,String localCity) { |
| | | ComActAcidRecord comActAcidRecord=this.baseMapper.selectById(id); |
| | | ComActAcidRecordVO comActAcidRecordVO=this.baseMapper.selectLastNext(id,localCity); |
| | | BeanUtils.copyProperties(comActAcidRecord,comActAcidRecordVO); |
| | | return R.ok(comActAcidRecordVO); |
| | | } |
| | | |
| | | @Override |
| | | public R detailByCommunity(Long id) { |
| | | ComActAcidRecordVO comActAcidRecordVO=new ComActAcidRecordVO(); |
| | | ComActAcidRecord comActAcidRecord= this.baseMapper.selectById(id); |
| | | BeanUtils.copyProperties(comActAcidRecord,comActAcidRecordVO); |
| | | List<ComActAcidUpdateRecordVO> comActAcidUpdateRecordList=this.comActAcidUpdateRecordDao.selectList(id); |
| | | if(!comActAcidUpdateRecordList.isEmpty()){ |
| | | comActAcidRecordVO.setComActAcidUpdateRecordVOList(comActAcidUpdateRecordList); |
| | | } |
| | | return R.ok(comActAcidRecordVO); |
| | | } |
| | | |
| | | @Override |
| | | public R test() { |
| | | List<ComCun> comCuns=comCunDao.selectList(new QueryWrapper<ComCun>()); |
| | | comCuns.forEach(comCun->{ |
| | | ComActDO comActDO= comActDAO.selectOne(new QueryWrapper<ComActDO>().lambda().eq(ComActDO::getName,comCun.getCommunity())); |
| | | if(comActDO==null){ |
| | | ComStreetDO comStreetDO = comStreetDAO.selectOne(new QueryWrapper<ComStreetDO>().lambda().eq(ComStreetDO::getName,comCun.getTown())); |
| | | if(comStreetDO==null){ |
| | | comStreetDO=new ComStreetDO(); |
| | | comStreetDO.setName(comCun.getTown()); |
| | | areaCheck(comCun,comStreetDO); |
| | | comStreetDO.setAccount(comCun.getAccount()); |
| | | comStreetDAO.insert(comStreetDO); |
| | | } |
| | | comActDO=new ComActDO(); |
| | | comActDO.setStreetId(comStreetDO.getStreetId()); |
| | | comActDO.setAreaCode(comStreetDO.getAreaCode().toString()); |
| | | comActDO.setName(comCun.getCommunity()); |
| | | comActDO.setContacts(comCun.getName()); |
| | | comActDO.setContactsPhone(comCun.getPhone()); |
| | | comActDAO.insert(comActDO); |
| | | } |
| | | ComAreaTownCommunity community=comAreaTownCommunityDao.selectOne(new QueryWrapper<ComAreaTownCommunity>().lambda().eq(ComAreaTownCommunity::getArea,comCun.getArea()).eq(ComAreaTownCommunity::getTown,comCun.getTown()).eq(ComAreaTownCommunity::getCommunity,comCun.getCommunity())); |
| | | if(community==null){ |
| | | community=new ComAreaTownCommunity(); |
| | | community.setArea(comCun.getArea()); |
| | | community.setTown(comCun.getTown()); |
| | | community.setCommunity(comCun.getCommunity()); |
| | | comAreaTownCommunityDao.insert(community); |
| | | }else { |
| | | community.setCommunityId(comActDO.getCommunityId()); |
| | | comAreaTownCommunityDao.updateById(community); |
| | | } |
| | | SysUser sysUser=sysUserDao.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getAccount,comCun.getAccount())); |
| | | if(sysUser!=null){ |
| | | System.out.println(comCun.getAccount()+","+comCun.getCommunity()); |
| | | } |
| | | else { |
| | | sysUser=new SysUser(); |
| | | sysUser.setAccount(comCun.getAccount()); |
| | | sysUser.setPassword("$2a$10$F/2lE2NMhKNHJfi5.FLmfu7jIr7ImRWgCTTeO6m3IRNR2V4sv8YR."); |
| | | sysUser.setName(comCun.getCommunity()); |
| | | sysUser.setType(9); |
| | | sysUserDao.insert(sysUser); |
| | | } |
| | | }); |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * 批量核对防疫信息数据 |
| | | * @param batchCheckAcidRecordDTO |
| | | * @return |
| | | */ |
| | | @Override |
| | | public R batchCheck(BatchCheckAcidRecordDTO batchCheckAcidRecordDTO) { |
| | | this.baseMapper.batchCheck(batchCheckAcidRecordDTO); |
| | | return R.ok(); |
| | | } |
| | | |
| | | @Override |
| | | public R checkCommit(Long userId) { |
| | | if(userId!=null){ |
| | | List<ComActAcidRecord> comActAcidRecords= this.baseMapper.selectList(new QueryWrapper<ComActAcidRecord>().lambda().eq(ComActAcidRecord::getIsDel,0).eq(ComActAcidRecord::getUserId,userId).ge(ComActAcidRecord::getCreateTime, DateUtils.getCurrentDate(DateUtils.yyyyMMdd_format)).isNull(ComActAcidRecord::getAcidTest)); |
| | | return R.ok(comActAcidRecords); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | public static void areaCheck(ComCun area,ComStreetDO comStreetDO){ |
| | | switch (area.getArea()){ |
| | | case "西区": comStreetDO.setAreaCode(510423); break; |
| | | case "东区": comStreetDO.setAreaCode(510402); break; |
| | | case "仁和区": comStreetDO.setAreaCode(510411); break; |
| | | case "米易县": comStreetDO.setAreaCode(510421); break; |
| | | case "盐边县": comStreetDO.setAreaCode(510422); break; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 是否需要区分村落/社区 |
| | | * */ |
| | | private Integer isVilliage(String name){ |
| | | if ("fangyipingtai".equals(name)){ |
| | | return 3; |
| | | }else if ("pandashujuzhongxin".equals(name)){ |
| | | return 1; |
| | | }else if ("pannongyenongcunju".equals(name)){ |
| | | return 2; |
| | | } |
| | | return 3; |
| | | } |
| | | } |