|
@@ -2,16 +2,20 @@ package com.diagbot.facade;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.diagbot.dto.ExportDiagnoseDTO;
|
|
|
+import com.diagbot.dto.ExportDiagnoseNameDTO;
|
|
|
import com.diagbot.entity.KlDiagnoseDetail;
|
|
|
import com.diagbot.enums.IsDeleteEnum;
|
|
|
import com.diagbot.service.impl.KlDiagnoseDetailServiceImpl;
|
|
|
import com.diagbot.util.BeanUtil;
|
|
|
import com.diagbot.util.EntityUtil;
|
|
|
+import com.diagbot.util.ExcelUtils;
|
|
|
import org.apache.commons.compress.utils.Lists;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
import java.util.LinkedHashMap;
|
|
|
+import java.util.LinkedList;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
@@ -32,7 +36,7 @@ public class KlDiagnoseDetailFacade extends KlDiagnoseDetailServiceImpl {
|
|
|
/**
|
|
|
* 导出诊断依据【初版】
|
|
|
*/
|
|
|
- public void exportDiagnose() {
|
|
|
+ public void exportDiagnose(HttpServletResponse response) {
|
|
|
// 获取全部数据、分组
|
|
|
List<KlDiagnoseDetail> klDiagnoseDetailList = klDiagnoseDetailFacade.list(new QueryWrapper<KlDiagnoseDetail>()
|
|
|
.eq("is_deleted", IsDeleteEnum.N.getKey()));
|
|
@@ -40,7 +44,24 @@ public class KlDiagnoseDetailFacade extends KlDiagnoseDetailServiceImpl {
|
|
|
// TODO 获取公式,分隔编码,替换编码,组装导出数据 Map<String, List<ExportDiagnoseDTO>>
|
|
|
Map<String, List<ExportDiagnoseDTO>> diagnoseDetails = processDiagnoseDetail(diagnoseDetailMap);
|
|
|
|
|
|
- // TODO 导出数据
|
|
|
+
|
|
|
+ // 导出数据
|
|
|
+ List<Map<String, Object>> exportDto = new LinkedList<>();
|
|
|
+
|
|
|
+ List<ExportDiagnoseNameDTO> exportDiagnoseNameDTOList = getCatalogue(diagnoseDetails); // 生成目录名称
|
|
|
+ Map<String, String> styleMap = new LinkedHashMap<>();
|
|
|
+ styleMap.put(ExcelUtils.HYPERLINK, "com.diagbot.entity.ExcelDataHandler");
|
|
|
+ exportDto.add(ExcelUtils.createOneSheet("目录", null, ExportDiagnoseNameDTO.class, exportDiagnoseNameDTOList, null));
|
|
|
+
|
|
|
+ int i = 0;
|
|
|
+ for (String key : diagnoseDetails.keySet()) {
|
|
|
+ if (i > 10) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ exportDto.add(ExcelUtils.createOneSheet(key, null, ExportDiagnoseDTO.class, diagnoseDetails.get(key), null));
|
|
|
+ i++;
|
|
|
+ }
|
|
|
+ ExcelUtils.exportExcel(exportDto, "diagnose.xls", response);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -53,6 +74,7 @@ public class KlDiagnoseDetailFacade extends KlDiagnoseDetailServiceImpl {
|
|
|
for (KlDiagnoseDetail kdl:datats) {
|
|
|
ExportDiagnoseDTO exportDiagnoseDTO = new ExportDiagnoseDTO();
|
|
|
BeanUtil.copyProperties(kdl, exportDiagnoseDTO);
|
|
|
+ exportDiagnoseDTO.setType("1223");
|
|
|
eds.add(exportDiagnoseDTO);
|
|
|
}
|
|
|
data.put(sheetName,eds);
|
|
@@ -60,4 +82,20 @@ public class KlDiagnoseDetailFacade extends KlDiagnoseDetailServiceImpl {
|
|
|
return data;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 生成目录
|
|
|
+ *
|
|
|
+ * @param diagnoseDetails
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<ExportDiagnoseNameDTO> getCatalogue(Map<String, List<ExportDiagnoseDTO>> diagnoseDetails) {
|
|
|
+ List<ExportDiagnoseNameDTO> exportDiagnoseNameDTOList = Lists.newArrayList();
|
|
|
+ for (String key : diagnoseDetails.keySet()) {
|
|
|
+ ExportDiagnoseNameDTO exportDiagnoseNameDTO = new ExportDiagnoseNameDTO();
|
|
|
+ exportDiagnoseNameDTO.setName(key);
|
|
|
+ exportDiagnoseNameDTOList.add(exportDiagnoseNameDTO);
|
|
|
+ }
|
|
|
+ return exportDiagnoseNameDTOList;
|
|
|
+ }
|
|
|
+
|
|
|
}
|