From ccd28a0c35e8fff74da6ef63042fb8a896d78f7f Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期三, 29 六月 2022 09:45:52 +0800 Subject: [PATCH] 单位服务统计 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActAcidRecordServiceImpl.java | 185 ++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 176 insertions(+), 9 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActAcidRecordServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActAcidRecordServiceImpl.java index 37c52f0..5507439 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActAcidRecordServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActAcidRecordServiceImpl.java @@ -1,5 +1,6 @@ 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; @@ -13,19 +14,20 @@ 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.dao.ComActDAO; +import com.panzhihua.service_community.dao.*; 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.entity.ComActAcidUpdateRecord; 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; @@ -54,6 +56,10 @@ private UserService userService; @Resource private ComActDAO comActDAO; + @Resource + private ComActAcidUpdateRecordDao comActAcidUpdateRecordDao; + @Resource + private ComAreaTownCommunityDao comAreaTownCommunityDao; @Override public R pageList(ComActAcidRecordDTO comActAcidRecordDTO) { @@ -113,7 +119,7 @@ @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("请勿重复提交"); } @@ -196,7 +202,7 @@ } } ComActAcidDangerMember dangerMember = comActAcidDangerMemberDao.selectOne(new LambdaQueryWrapper<ComActAcidDangerMember>() - .eq(ComActAcidDangerMember::getIdCard, comActAcidRecordVO.getIdCard()).eq(ComActAcidDangerMember::getRecordId, recordId)); + .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()); @@ -240,6 +246,74 @@ } @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={"攀枝花市","东区","西区","仁和区","米易县","盐边县","钒钛新城"}; @@ -263,20 +337,39 @@ @Override public R updateLocalCity(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)) { - //只修改地址,其他信息需要查询 - ComActAcidRecord comActAcidRecord1 = this.baseMapper.selectById(comActAcidRecordVO.getId()); + //只修改地址 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); - comActAcidRecordVO.setLocalCity(localCity); - comActAcidRecordVO.setLocalAddress(localAddress); + 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() @@ -286,8 +379,62 @@ String dangerArea = comActAcidRecordVO.getDangerArea(); String outsideCity = comActAcidRecordVO.getOutsideCity(); String acidTest = comActAcidRecordVO.getAcidTest(); + if(StringUtils.isEmpty(acidTest)){ + acidTest="阴性"; + } 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.inStringIgnoreCase(colorMark, "红码", "黄码") || travelCard.equals("是") || dangerArea.equals("是") + || outsideCity.equals("是") || acidTest.equals("阳性")) { // 风险人员 String riskType = retrieveRiskType(colorMark, travelCard, dangerArea, outsideCity, acidTest); saveAcidDangerMember(comActAcidRecordVO, comActAcidRecord.getId(), 1, riskType); @@ -313,4 +460,24 @@ }); 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); + } } -- Gitblit v1.7.1