zhoutg 3 anni fa
parent
commit
34be822769

+ 89 - 0
src/main/java/com/diagbot/dto/KlDiagnoseRecordDTO.java

@@ -0,0 +1,89 @@
+package com.diagbot.dto;
+
+import com.google.common.collect.Lists;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * <p>
+ * 诊断依据记录表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2021-08-24
+ */
+@Data
+public class KlDiagnoseRecordDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 诊断依据主表id
+     */
+    private Long diagnoseId;
+
+    /**
+     * 类型
+     */
+    private String type;
+
+    /**
+     * 序号
+     */
+    private String code;
+
+    /**
+     * 规则
+     */
+    private String rule;
+
+    /**
+     * 描述
+     */
+    private String desc;
+
+    /**
+     * 等于
+     */
+    private String eq;
+
+    /**
+     * 最大值
+     */
+    private String max;
+
+    /**
+     * 最大值符号
+     */
+    private String maxSymbol;
+
+    /**
+     * 最小值
+     */
+    private String min;
+
+    /**
+     * 最小值符号
+     */
+    private String minSymbol;
+
+    /**
+     * 单位
+     */
+    private String unit;
+
+    /**
+     * 排序号
+     */
+    private Integer orderNo;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    // 导入记录明细
+    private List<KlDiagnoseRecordDetailDTO> recordDetailList = Lists.newArrayList();
+}

+ 39 - 0
src/main/java/com/diagbot/dto/KlDiagnoseRecordDetailDTO.java

@@ -0,0 +1,39 @@
+package com.diagbot.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 诊断依据记录明细表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2021-08-24
+ */
+@Data
+public class KlDiagnoseRecordDetailDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 诊断依据记录表id
+     */
+    private Long diagnoseRecordId;
+
+    /**
+     * 标准词
+     */
+    private Long conceptId;
+
+    /**
+     * 排序号
+     */
+    private Integer orderNo;
+
+    /**
+     * 备注
+     */
+    private String remark;
+}

+ 35 - 0
src/main/java/com/diagbot/facade/KlDiagnoseImportFacade.java

@@ -1,6 +1,8 @@
 package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.dto.KlDiagnoseRecordDTO;
+import com.diagbot.dto.KlDiagnoseRecordDetailDTO;
 import com.diagbot.entity.KlConcept;
 import com.diagbot.entity.KlDiagnose;
 import com.diagbot.enums.CommonEnum;
@@ -9,6 +11,7 @@ import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.enums.LexiconEnum;
 import com.diagbot.enums.LexiconExtEnum;
 import com.diagbot.service.KlConceptService;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.CoreUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.ExcelUtils;
@@ -152,6 +155,33 @@ public class KlDiagnoseImportFacade {
                 // 添加到正确数据列表
                 importDiagnoseResVO.setImportDiagnoseVOList(curData);
                 allData.add(importDiagnoseResVO);
+
+                // 存放记录和记录明细
+                List<ImportDiagnoseVO> importDiagnoseVOS = groupData.get(disName);
+                List<KlDiagnoseRecordDTO> klDiagnoseRecordList = Lists.newArrayList();
+                int recordOrder = 1;
+                for (ImportDiagnoseVO importDiagnoseVO : importDiagnoseVOS) {
+                    KlDiagnoseRecordDTO klDiagnoseRecordDTO = new KlDiagnoseRecordDTO();
+                    BeanUtil.copyProperties(importDiagnoseVO, klDiagnoseRecordDTO);
+                    klDiagnoseRecordDTO.setCode(importDiagnoseVO.getOrderNo());
+                    klDiagnoseRecordDTO.setOrderNo(recordOrder);
+                    klDiagnoseRecordList.add(klDiagnoseRecordDTO);
+                    if (ListUtil.isNotEmpty(importDiagnoseVO.getConceptId())) {
+                        int detailOrder = 1;
+                        List<KlDiagnoseRecordDetailDTO> klDiagnoseRecordDetailList = Lists.newArrayList();
+                        for (Long id : importDiagnoseVO.getConceptId()) {
+                            KlDiagnoseRecordDetailDTO klDiagnoseRecordDetailDTO = new KlDiagnoseRecordDetailDTO();
+                            klDiagnoseRecordDetailDTO.setConceptId(id);
+                            klDiagnoseRecordDetailDTO.setOrderNo(detailOrder);
+                            BeanUtil.copyProperties(importDiagnoseVO, klDiagnoseRecordDetailDTO);
+                            klDiagnoseRecordDetailList.add(klDiagnoseRecordDetailDTO);
+                            detailOrder++;
+                        }
+                        klDiagnoseRecordDTO.setRecordDetailList(klDiagnoseRecordDetailList);
+                    }
+                    recordOrder++;
+                }
+                importDiagnoseResVO.setRecordList(klDiagnoseRecordList);
             } else {
                 allFlag = false;
                 diagMessage.put(disName, StringUtils.join(currentErrMsg.stream().distinct().collect(Collectors.toList()), ";  "));
@@ -429,6 +459,11 @@ public class KlDiagnoseImportFacade {
                     klDiagnoseSaveVO.setModifier("0");
                 }
                 klDiagnoseFacade.saveDiagnoseAll(klDiagnoseSaveVO);
+
+                // TODO 保存记录表和明细表
+                List<KlDiagnoseRecordDTO> recordList = importDiagnoseResVO.getRecordList();
+                // for (KlDiagnoseRecordDTO klDiagnoseRecordDTO)
+
             }
         }
     }

+ 3 - 0
src/main/java/com/diagbot/vo/ImportDiagnoseResVO.java

@@ -1,5 +1,6 @@
 package com.diagbot.vo;
 
+import com.diagbot.dto.KlDiagnoseRecordDTO;
 import com.google.common.collect.Lists;
 import lombok.Data;
 
@@ -23,4 +24,6 @@ public class ImportDiagnoseResVO implements Serializable {
     private String diseaseName;
     // 导入数据
     private List<ImportDiagnoseVO> importDiagnoseVOList = Lists.newArrayList();
+    // 导入记录
+    private List<KlDiagnoseRecordDTO> recordList = Lists.newArrayList();
 }