From 25addae2c76fbd22145ea5f73b10d755d060dac0 Mon Sep 17 00:00:00 2001
From: 张天森 <1292933220@qq.com>
Date: 星期一, 10 十月 2022 17:23:28 +0800
Subject: [PATCH] Merge branch 'sanshuohuitang_dev' into huacheng_test
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActAcidRecordServiceImpl.java | 458 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 435 insertions(+), 23 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 94df2de..87e468e 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;
@@ -7,30 +8,34 @@
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)表服务实现类
@@ -48,15 +53,64 @@
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());
@@ -82,15 +136,18 @@
@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);
@@ -102,39 +159,73 @@
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());
@@ -146,6 +237,7 @@
dangerMember.setType(type);
dangerMember.setRelationName(relationName);
dangerMember.setCreateTime(new Date());
+ dangerMember.setRiskType(riskType);
comActAcidDangerMemberDao.insert(dangerMember);
} else {
dangerMember.setName(comActAcidRecordVO.getName());
@@ -153,10 +245,10 @@
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();
@@ -172,14 +264,86 @@
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);
@@ -197,4 +361,252 @@
}
return R.ok(comAcidStaticVOS);
}
+
+ @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)) {
+ //只修改地址
+ 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;
+ }
}
--
Gitblit v1.7.1