Procházet zdrojové kódy

基础信息对应接口提交

songxinlu před 3 roky
rodič
revize
141d4dd24d

+ 45 - 0
daqe-center/src/main/java/com/lantone/daqe/dto/ErrImportDiseaseDTO.java

@@ -0,0 +1,45 @@
+package com.lantone.daqe.dto;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import cn.afterturn.easypoi.excel.annotation.ExcelTarget;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 医院诊断标准词匹配信息导入-接口出参
+ * @author: songxl
+ * @time: 2022/2/28 11:15
+ */
+@ApiModel(value = "医院诊断标准词匹配信息导入-接口出参")
+@Getter
+@Setter
+public class ErrImportDiseaseDTO implements Serializable {
+
+    private static final long serialVersionUID = 2170219156305713032L;
+
+    @Excel(name = "医院诊断名称")
+    private String name;
+
+    @Excel(name = "ICD-10编码")
+    private String icd10;
+
+    @Excel(name = "标准诊断名称")
+    private String standard;
+
+    @Excel(name = "是否匹配【未匹配、已匹配】")
+    private String isMapping;
+
+    @Excel(name = "数据来源【不填、标准词、同义词、编码、历史数据、相似词】")
+    private String synonym;
+
+    @Excel(name = "标准术语状态")
+    private String status;
+
+    @Excel(name = "错误信息", width = 40)
+    private String errorMsg;
+
+}

+ 25 - 1
daqe-center/src/main/java/com/lantone/daqe/facade/DiseaseManagementFacade.java

@@ -5,18 +5,22 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.lantone.common.exception.Asserts;
 import com.lantone.common.util.BeanUtil;
+import com.lantone.common.util.ListUtil;
 import com.lantone.common.util.StringUtil;
 import com.lantone.daqe.dto.GetDiseasePageDTO;
 import com.lantone.daqe.entity.DiseaseInfo;
 import com.lantone.daqe.facade.base.DiseaseInfoFacade;
+import com.lantone.daqe.util.ExcelUtils;
 import com.lantone.daqe.vo.AddDiseaseVO;
 import com.lantone.daqe.vo.DelDiseaseByIdVO;
 import com.lantone.daqe.vo.GetDiseasePageVO;
+import com.lantone.daqe.vo.ImportDiseaseVO;
 import com.lantone.daqe.vo.MatchingDiseaseVO;
 import com.lantone.daqe.vo.UpDiseaseByIdVO;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+import org.springframework.web.multipart.MultipartFile;
 
 import java.util.List;
 
@@ -97,13 +101,33 @@ public class DiseaseManagementFacade {
     }
 
     /**
+     *匹配诊断
+     *
      * @param matchingDiseaseVO
-     * @Description
      * @Return java.lang.Boolean
      */
     public Boolean matchingDisease(MatchingDiseaseVO matchingDiseaseVO) {
+
         DiseaseInfo diseaseInfo = new DiseaseInfo();
         BeanUtils.copyProperties(matchingDiseaseVO, diseaseInfo);
         return diseaseInfoFacade.updateById(diseaseInfo);
     }
+
+    /**
+     *医院诊断标准词匹配信息导入
+     *
+     * @param file 导入文件
+     * @Return java.lang.String
+     */
+    public String importDisease(MultipartFile file) {
+        List<ImportDiseaseVO> diagnoseExcelVOS =  ExcelUtils.importExcel(file,0,1, ImportDiseaseVO.class);
+        if(ListUtil.isEmpty(diagnoseExcelVOS)){
+            Asserts.fail("Excel文件为空");
+        }
+        //去重
+
+        //数据规范校验
+
+        return "";
+    }
 }

+ 14 - 0
daqe-center/src/main/java/com/lantone/daqe/facade/DrugManagementFacade.java

@@ -12,6 +12,8 @@ import com.lantone.daqe.facade.base.DrugInfoFacade;
 import com.lantone.daqe.vo.AddDrugVO;
 import com.lantone.daqe.vo.DelDrugByIdVO;
 import com.lantone.daqe.vo.GetDrugPageVO;
+import com.lantone.daqe.vo.MatchingDrugVO;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -85,4 +87,16 @@ public class DrugManagementFacade {
         return drugInfoFacade.removeById(delDrugByIdVO.getId());
     }
 
+    /**
+     *
+     *
+     * @param matchingDrugVO
+     * @Return java.lang.Boolean
+     */
+    public Boolean matchingDrug(MatchingDrugVO matchingDrugVO) {
+
+        DrugInfo drugInfo = new DrugInfo();
+        BeanUtils.copyProperties(matchingDrugVO,drugInfo);
+        return drugInfoFacade.updateById(drugInfo);
+    }
 }

+ 13 - 0
daqe-center/src/main/java/com/lantone/daqe/facade/OperationManagementFacade.java

@@ -12,6 +12,8 @@ import com.lantone.daqe.facade.base.OperationInfoFacade;
 import com.lantone.daqe.vo.AddOperationVO;
 import com.lantone.daqe.vo.DelOperationByIdVO;
 import com.lantone.daqe.vo.GetOperationPageVO;
+import com.lantone.daqe.vo.MatchingOperationVO;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -83,4 +85,15 @@ public class OperationManagementFacade {
         return operationInfoFacade.removeById(delOperationByIdVO.getId());
     }
 
+    /**
+     *匹配手术信息
+     *
+     * @param matchingOperationVO
+     * @Return java.lang.Boolean
+     */
+    public Boolean matchingOperation(MatchingOperationVO matchingOperationVO) {
+        OperationInfo operationInfo = new OperationInfo();
+        BeanUtils.copyProperties(matchingOperationVO,operationInfo);
+        return operationInfoFacade.updateById(operationInfo);
+    }
 }

+ 45 - 0
daqe-center/src/main/java/com/lantone/daqe/vo/ImportDiseaseVO.java

@@ -0,0 +1,45 @@
+package com.lantone.daqe.vo;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import cn.afterturn.easypoi.excel.annotation.ExcelTarget;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+
+/**
+ * @Description: 医院诊断标准词匹配信息导入-接口入参
+ * @author: songxl
+ * @time: 2022/2/28 11:15
+ */
+@ApiModel(value = "医院诊断标准词匹配信息导入-接口入参")
+@Getter
+@Setter
+@ExcelTarget("ImportDiseaseVO")
+public class ImportDiseaseVO implements Serializable {
+
+    private static final long serialVersionUID = 7588817856658194153L;
+
+    @Excel(name = "医院诊断名称")
+    private String name;
+
+    @Excel(name = "ICD-10编码")
+    private String icd10;
+
+    @Excel(name = "标准诊断名称")
+    private String standard;
+
+    @Excel(name = "是否匹配【未匹配、已匹配】")
+    private String isMapping;
+
+    @Excel(name = "数据来源【不填、标准词、同义词、编码、历史数据、相似词】")
+    private String synonym;
+
+    @Excel(name = "标准术语状态")
+    private String status;
+
+}

+ 37 - 0
daqe-center/src/main/java/com/lantone/daqe/vo/MatchingDrugVO.java

@@ -0,0 +1,37 @@
+package com.lantone.daqe.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+
+/**
+ * @Description:匹配药品信息-接口入参
+ * @Author songxl
+ * @Date 2022/2/28
+ */
+@ApiModel(value = "匹配药品信息-接口入参")
+@Getter
+@Setter
+public class MatchingDrugVO implements Serializable {
+    private static final long serialVersionUID = -1191653962318238387L;
+
+    @ApiModelProperty(value = "医院手术/操作名称ID", required = true)
+    @NotNull(message = "医院手术/操作名称ID不能为空")
+    private Long id;
+
+    @ApiModelProperty(value = "手术和操作代码", required = true)
+    @NotBlank(message = "手术和操作代码不能为空")
+    private String code;
+
+    @ApiModelProperty(value = "标准手术/操作名称")
+    private String standard;
+
+    @ApiModelProperty(value = "同义词")
+    private String synonym;
+
+}

+ 37 - 0
daqe-center/src/main/java/com/lantone/daqe/vo/MatchingOperationVO.java

@@ -0,0 +1,37 @@
+package com.lantone.daqe.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+
+/**
+ * @Description:匹配手术信息-接口入参
+ * @Author songxl
+ * @Date 2022/2/28
+ */
+@ApiModel(value = "匹配手术信息-接口入参")
+@Getter
+@Setter
+public class MatchingOperationVO implements Serializable {
+    private static final long serialVersionUID = -1191653962318238387L;
+
+    @ApiModelProperty(value = "医院手术/操作名称ID", required = true)
+    @NotNull(message = "医院手术/操作名称ID不能为空")
+    private Long id;
+
+    @ApiModelProperty(value = "手术和操作代码", required = true)
+    @NotBlank(message = "手术和操作代码不能为空")
+    private String code;
+
+    @ApiModelProperty(value = "标准手术/操作名称")
+    private String standard;
+
+    @ApiModelProperty(value = "同义词")
+    private String synonym;
+
+}

+ 5 - 2
daqe-center/src/main/java/com/lantone/daqe/web/DiseaseManagementController.java

@@ -7,6 +7,7 @@ import com.lantone.daqe.facade.DiseaseManagementFacade;
 import com.lantone.daqe.vo.AddDiseaseVO;
 import com.lantone.daqe.vo.DelDiseaseByIdVO;
 import com.lantone.daqe.vo.GetDiseasePageVO;
+import com.lantone.daqe.vo.ImportDiseaseVO;
 import com.lantone.daqe.vo.MatchingDiseaseVO;
 import com.lantone.daqe.vo.UpDiseaseByIdVO;
 import io.swagger.annotations.Api;
@@ -15,7 +16,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.validation.Valid;
 
@@ -64,7 +67,7 @@ public class DiseaseManagementController {
 
     @ApiOperation(value = "医院诊断标准词匹配信息导入 [by:songxl]", notes = "医院诊断标准词匹配信息导入")
     @PostMapping("/importDisease")
-    public CommonResult<Boolean> importDisease(@RequestBody MatchingDiseaseVO matchingDiseaseVO) {
-        return CommonResult.success(diseaseManagementFacade.matchingDisease(matchingDiseaseVO));
+    public CommonResult<String> importDisease(@RequestParam("file") MultipartFile file) {
+        return CommonResult.success(diseaseManagementFacade.importDisease(file));
     }
 }

+ 7 - 0
daqe-center/src/main/java/com/lantone/daqe/web/DrugManagementController.java

@@ -7,6 +7,7 @@ import com.lantone.daqe.facade.DrugManagementFacade;
 import com.lantone.daqe.vo.AddDrugVO;
 import com.lantone.daqe.vo.DelDrugByIdVO;
 import com.lantone.daqe.vo.GetDrugPageVO;
+import com.lantone.daqe.vo.MatchingDrugVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -48,4 +49,10 @@ public class DrugManagementController {
         return CommonResult.success(drugManagementFacade.delDrugById(delDrugByIdVO));
     }
 
+    @ApiOperation(value = "匹配药品信息 [by:songxl]")
+    @PostMapping("/matchingDrug")
+    public CommonResult<Boolean> matchingDrug(@RequestBody @Valid MatchingDrugVO matchingDrugVO) {
+        return CommonResult.success(drugManagementFacade.matchingDrug(matchingDrugVO));
+    }
+
 }

+ 7 - 0
daqe-center/src/main/java/com/lantone/daqe/web/OperationManagementController.java

@@ -7,6 +7,7 @@ import com.lantone.daqe.facade.OperationManagementFacade;
 import com.lantone.daqe.vo.AddOperationVO;
 import com.lantone.daqe.vo.DelOperationByIdVO;
 import com.lantone.daqe.vo.GetOperationPageVO;
+import com.lantone.daqe.vo.MatchingOperationVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -48,4 +49,10 @@ public class OperationManagementController {
         return CommonResult.success(operationManagementFacade.delOperationById(delOperationByIdVO));
     }
 
+    @ApiOperation(value = "匹配手术信息 [by:songxl]", notes = "匹配手术信息")
+    @PostMapping("/matchingOperation")
+    public CommonResult<Boolean> matchingOperation(@RequestBody MatchingOperationVO matchingOperationVO) {
+        return CommonResult.success(operationManagementFacade.matchingOperation(matchingOperationVO));
+    }
+
 }