puhanshu
2021-11-18 c978d5355ae21d983dbd9129e4889938e9ea05f5
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveAnswerContentServiceImpl.java
@@ -1,5 +1,15 @@
package com.panzhihua.service_community.service.impl;
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 com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -9,25 +19,18 @@
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.ComActReserveRecordListVO;
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.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 org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.*;
import lombok.extern.slf4j.Slf4j;
/**
 * @auther lyq
@@ -125,4 +128,63 @@
        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);
    }
}