From 2be6f4497960e08b0221af71716bec2c8cdbd19a Mon Sep 17 00:00:00 2001 From: puhanshu <a9236326> Date: 星期四, 18 十一月 2021 12:10:08 +0800 Subject: [PATCH] 物业宣传修改 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveAnswerContentServiceImpl.java | 188 +++++++++++++++++++++++++++++++++++++++------- 1 files changed, 158 insertions(+), 30 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveAnswerContentServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveAnswerContentServiceImpl.java index bf9c17c..4bd1922 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveAnswerContentServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveAnswerContentServiceImpl.java @@ -1,26 +1,36 @@ package com.panzhihua.service_community.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.panzhihua.common.model.dtos.community.QuestnaireAnswersDTO; -import com.panzhihua.common.model.vos.R; -import com.panzhihua.common.model.vos.community.ComActQuestnaireAnswerContentVO; -import com.panzhihua.common.model.vos.community.ComActQuestnaireSubVO; -import com.panzhihua.service_community.dao.ComActReserveAnswerContentMapper; -import com.panzhihua.service_community.dao.ComActReserveSubMapper; -import com.panzhihua.service_community.model.dos.ComActQuestnaireAnswerContentDO; -import com.panzhihua.service_community.model.dos.ComActQuestnaireSubDO; -import com.panzhihua.service_community.model.dos.ComActReserveAnswerContentDO; -import com.panzhihua.service_community.model.dos.ComActReserveSubDO; -import com.panzhihua.service_community.service.ComActReserveAnswerContentService; -import com.panzhihua.service_community.service.ComActReserveSubService; -import lombok.extern.slf4j.Slf4j; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +import javax.annotation.Resource; + import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.common.model.dtos.community.QuestnaireAnswersDTO; +import com.panzhihua.common.model.dtos.community.reserve.PageReserveRegisterDetailedAdminDTO; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.community.ComActQuestnaireAnswerContentVO; +import com.panzhihua.common.model.vos.community.ComActQuestnaireSubVO; +import com.panzhihua.common.model.vos.community.reserve.ComActReserveRegisterDetailedAnswerVO; +import com.panzhihua.common.model.vos.community.reserve.ComActReserveRegisterDetailedVO; +import com.panzhihua.common.model.vos.community.reserve.HomeQuarantineRegisterStatisticsVO; +import com.panzhihua.common.utlis.DateUtils; +import com.panzhihua.common.utlis.StringUtils; +import com.panzhihua.service_community.dao.ComActReserveAnswerContentMapper; +import com.panzhihua.service_community.dao.ComActReserveSubMapper; +import com.panzhihua.service_community.model.dos.ComActReserveAnswerContentDO; +import com.panzhihua.service_community.model.dos.ComActReserveSubDO; +import com.panzhihua.service_community.service.ComActReserveAnswerContentService; + +import lombok.extern.slf4j.Slf4j; /** * @auther lyq @@ -34,29 +44,147 @@ @Resource private ComActReserveSubMapper comActReserveSubMapper; + /** + * 导出登记明细数据 + * @param pageReserveRegisterDetailedAdminDTO 登记id + * @return 登记明细数据 + */ @Override - public R exportRegisterAdmin(Long reserveId){ + public R exportRegisterAdmin(PageReserveRegisterDetailedAdminDTO pageReserveRegisterDetailedAdminDTO){ QuestnaireAnswersDTO result = new QuestnaireAnswersDTO(); //查询题目 - List<ComActReserveSubDO> list = comActReserveSubMapper.selectList(new QueryWrapper<ComActReserveSubDO>().lambda().eq(ComActReserveSubDO::getReserveId, reserveId)); + List<ComActReserveSubDO> list = comActReserveSubMapper.selectList(new QueryWrapper<ComActReserveSubDO>().lambda() + .eq(ComActReserveSubDO::getReserveId, pageReserveRegisterDetailedAdminDTO.getReserveId()).orderByAsc(ComActReserveSubDO::getCreateAt).orderByAsc(ComActReserveSubDO::getId)); List<ComActQuestnaireSubVO> listSubVo = new ArrayList<>(); list.forEach(subDo -> { - ComActQuestnaireSubVO comActQuestnaireSubVO = new ComActQuestnaireSubVO(); - BeanUtils.copyProperties(subDo, comActQuestnaireSubVO); - listSubVo.add(comActQuestnaireSubVO); + if(!subDo.getType().equals(5)){ + ComActQuestnaireSubVO comActQuestnaireSubVO = new ComActQuestnaireSubVO(); + BeanUtils.copyProperties(subDo, comActQuestnaireSubVO); + listSubVo.add(comActQuestnaireSubVO); + } }); result.setSubs(listSubVo); //查询用户回答 - List<ComActReserveAnswerContentDO> questnaireAnswerContentDOList = this.baseMapper.selectListByReserve(reserveId); - List<ComActQuestnaireAnswerContentVO> vos = new ArrayList<>(); - questnaireAnswerContentDOList.forEach(dos -> { - ComActQuestnaireAnswerContentVO vo = new ComActQuestnaireAnswerContentVO(); - BeanUtils.copyProperties(dos, vo); - vos.add(vo); - }); + List<ComActQuestnaireAnswerContentVO> vos = this.baseMapper.export(pageReserveRegisterDetailedAdminDTO); result.setAnswers(vos); + return R.ok(result); } + + /** + * 分页查询登记明细列表 + * @param detailedAdminDTO 请求参数 + * @return 登记明细列表 + */ + @Override + public R registerDetailedListAdmin(PageReserveRegisterDetailedAdminDTO detailedAdminDTO){ + IPage<HashMap<String,String>> resultPage = new Page<>(); + + IPage<ComActReserveRegisterDetailedVO> registerDetailedPage = this.baseMapper.pageRegisterDetailedListAdmin(new Page(detailedAdminDTO.getPageNum(),detailedAdminDTO.getPageSize()),detailedAdminDTO); + resultPage.setCurrent(registerDetailedPage.getCurrent()); + resultPage.setTotal(registerDetailedPage.getTotal()); + resultPage.setSize(registerDetailedPage.getSize()); + resultPage.setPages(registerDetailedPage.getPages()); + + List<HashMap<String,String>> resultMapList = new ArrayList<>(); + int nub = 1; + if(!registerDetailedPage.getRecords().isEmpty()){ + for (ComActReserveRegisterDetailedVO registerDetailed:registerDetailedPage.getRecords()) { + //渲染序号 + HashMap<String,String> map = new HashMap<>(); + map.put("nub",nub + ""); + //渲染登记时间 + map.put("time", DateUtils.format(registerDetailed.getCreateAt(),DateUtils.ymdhms_format)); + //渲染用户昵称 + map.put("nickName",registerDetailed.getNickName()); + //查询记录填写答案并装载到数据集中 + List<ComActReserveRegisterDetailedAnswerVO> registerDetailedAnswerList = this.baseMapper.getRegisterDetailedAnswerList(registerDetailed.getId()); + if(!registerDetailedAnswerList.isEmpty()){ + for (ComActReserveRegisterDetailedAnswerVO detailed:registerDetailedAnswerList) { + if(!detailed.getType().equals(5)){ + if(detailed.getType().equals(1)){ + String key = detailed.getReserveSubId() + ""; + String value = map.get(key); + if(StringUtils.isNotEmpty(value)){ + value = value + "," + detailed.getAnswerContent(); + }else{ + value = detailed.getAnswerContent(); + } + map.put(key,value); + }else{ + map.put(detailed.getReserveSubId() + "",detailed.getAnswerContent()); + } + } + } + } + //渲染登记流水号 + map.put("id",registerDetailed.getId() + ""); + resultMapList.add(map); + nub++; + } + } + resultPage.setRecords(resultMapList); + return R.ok(resultPage); + } + + /** + * 分页查询居家隔离统计 + * @param detailedAdminDTO + * @return + */ + @Override + public R pageRegisterHomeQuarantine(PageReserveRegisterDetailedAdminDTO detailedAdminDTO) { + IPage<HashMap<String,String>> resultPage = new Page<>(); + + Page page = new Page(detailedAdminDTO.getPageNum(), detailedAdminDTO.getPageSize()); + IPage<String> statisticsVOIPage = this.baseMapper.pageRegisterHomeQuarantine(page, detailedAdminDTO); + + resultPage.setCurrent(statisticsVOIPage.getCurrent()); + resultPage.setTotal(statisticsVOIPage.getTotal()); + resultPage.setSize(statisticsVOIPage.getSize()); + resultPage.setPages(statisticsVOIPage.getPages()); + + List<String> records = statisticsVOIPage.getRecords(); + List<HashMap<String,String>> resultMapList = new ArrayList<>(); + if (!records.isEmpty()) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + int nub = 1; + for (String record : records) { + //渲染序号 + HashMap<String,String> map = new HashMap<>(); + map.put("nub", nub + ""); + List<HomeQuarantineRegisterStatisticsVO> statisticsList = this.baseMapper.selectStatistics(detailedAdminDTO.getReserveId(), record); + StringBuffer conditions = new StringBuffer(); + statisticsList.forEach(e -> { + //渲染登记时间 + map.put("time", DateUtils.format(e.getCreateAt(), DateUtils.ymdhms_format)); + String reserveSubContent = e.getReserveSubContent(); + String dateString = dateFormat.format(e.getCreateAt()); + if (reserveSubContent.contains("上午体温")) { + if (conditions.indexOf(dateString + " " + "上午体温") == -1) { + conditions.append(dateString + " " + "上午体温:" + e.getAnswerContent() + "℃" + "\n"); + } + } else if (reserveSubContent.contains("下午体温")) { + if (conditions.indexOf(dateString + " " + "下午体温") == -1) { + conditions.append(dateString + " " + "下午体温:" + e.getAnswerContent() + "℃" + "\n"); + } + } else if (reserveSubContent.contains("隔离情况")) { + if (conditions.indexOf(dateString + " " + "当日隔离情况") == -1) { + conditions.append(dateString + " " + "当日隔离情况:" + e.getAnswerContent() + "\n"); + conditions.append("————————" + "\n"); + } + } else { + map.put(e.getReserveSubId() + "", e.getAnswerContent()); + } + }); + map.put("isolation", conditions.toString()); + resultMapList.add(map); + nub++; + } + } + resultPage.setRecords(resultMapList); + return R.ok(resultPage); + } } -- Gitblit v1.7.1