Forráskód Böngészése

诊断和手术列表接口添加

rengb 3 éve
szülő
commit
8bcd9beb06

+ 52 - 0
common/src/main/java/com/lantone/common/util/BeanUtil.java

@@ -0,0 +1,52 @@
+package com.lantone.common.util;
+
+import org.springframework.beans.BeanUtils;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @Description: 对象转换工具类
+ * @author: gaodm
+ * @time: 2018/12/14 14:21
+ */
+public class BeanUtil {
+    /**
+     * 把一个对象的属性值复制给另外一个对象的属性值
+     *
+     * @param source 源对象,被转换的对象
+     * @param target 目标对象,即转换后对象
+     */
+    public static void copyProperties(Object source, Object target) {
+        BeanUtils.copyProperties(source, target);
+    }
+
+    /**
+     * 复制集合
+     *
+     * @param <E>
+     * @param source           转换前的列表
+     * @param destinationClass 转换后列表类
+     * @return 转换后列表
+     */
+    public static <E> List<E> listCopyTo(List<?> source, Class<E> destinationClass) {
+        try {
+            if (source.size() == 0) {
+                return Collections.emptyList();
+            }
+            List<E> res = new ArrayList<E>(source.size());
+            for (Object o : source) {
+                E e = destinationClass.newInstance();
+                BeanUtils.copyProperties(o, e);
+                res.add(e);
+            }
+            return res;
+        } catch (IllegalAccessException ex) {
+            throw new RuntimeException(ex);
+        } catch (InstantiationException ex) {
+            throw new RuntimeException(ex);
+        }
+    }
+
+}

+ 13 - 0
daqe-center/src/main/java/com/lantone/daqe/config/RedisConfig.java

@@ -0,0 +1,13 @@
+package com.lantone.daqe.config;
+
+import com.lantone.common.config.BaseRedisConfig;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * Redis相关配置
+ * Created by macro on 2020/6/19.
+ */
+@Configuration
+public class RedisConfig extends BaseRedisConfig {
+
+}

+ 16 - 0
daqe-center/src/main/java/com/lantone/daqe/config/SwaggerConfig.java

@@ -0,0 +1,16 @@
+package com.lantone.daqe.config;
+
+import com.lantone.common.config.BaseSwaggerConfig;
+import org.springframework.context.annotation.Configuration;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+/**
+ * @Description: Swagger相关配置
+ * @author: rengb
+ * @time: 2021/1/5 18:27
+ */
+@Configuration
+@EnableSwagger2
+public class SwaggerConfig extends BaseSwaggerConfig {
+
+}

+ 37 - 0
daqe-center/src/main/java/com/lantone/daqe/dto/GetDiseasePageDTO.java

@@ -0,0 +1,37 @@
+package com.lantone.daqe.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 获取诊断分页列表-接口出参
+ * @author: rengb
+ * @time: 2022/2/27 14:30
+ */
+@ApiModel(value = "获取诊断分页列表-接口出参")
+@Getter
+@Setter
+public class GetDiseasePageDTO implements Serializable {
+
+    private static final long serialVersionUID = -1129177776572833627L;
+
+    @ApiModelProperty(value = "组织机构ID")
+    private Long hospitalId;
+    
+    @ApiModelProperty(value = "医院诊断名称")
+    private String name;
+
+    @ApiModelProperty(value = "ICD-10编码")
+    private String icd10;
+
+    @ApiModelProperty(value = "标准诊断名称")
+    private String standard;
+
+    @ApiModelProperty(value = "已/未匹配")
+    private String isMapping;
+
+}

+ 37 - 0
daqe-center/src/main/java/com/lantone/daqe/dto/GetOperationPageDTO.java

@@ -0,0 +1,37 @@
+package com.lantone.daqe.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 获取手术分页列表-接口出参
+ * @author: rengb
+ * @time: 2022/2/27 14:30
+ */
+@ApiModel(value = "获取手术分页列表-接口出参")
+@Getter
+@Setter
+public class GetOperationPageDTO implements Serializable {
+
+    private static final long serialVersionUID = -4850779079703241414L;
+    
+    @ApiModelProperty(value = "组织机构ID")
+    private Long hospitalId;
+
+    @ApiModelProperty(value = "医院手术名称")
+    private String name;
+
+    @ApiModelProperty(value = "手术代码")
+    private String code;
+
+    @ApiModelProperty(value = "标准手术名称")
+    private String standard;
+
+    @ApiModelProperty(value = "已/未匹配")
+    private String isMapping;
+
+}

+ 55 - 0
daqe-center/src/main/java/com/lantone/daqe/facade/DiseaseManagementFacade.java

@@ -0,0 +1,55 @@
+package com.lantone.daqe.facade;
+
+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.lantone.common.util.BeanUtil;
+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.vo.GetDiseasePageVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Description: 诊断管理-业务处理类
+ * @author: rengb
+ * @time: 2021/7/20 12:39
+ */
+@Component
+public class DiseaseManagementFacade {
+
+    @Autowired
+    private DiseaseInfoFacade diseaseInfoFacade;
+
+    public IPage<GetDiseasePageDTO> getDiseasePage(GetDiseasePageVO getDiseasePageVO) {
+        Page<GetDiseasePageDTO> getDiseasePageDTOPage = new Page<>();
+
+        QueryWrapper<DiseaseInfo> diseaseInfoQueryWrapper = new QueryWrapper<>();
+        diseaseInfoQueryWrapper.eq(getDiseasePageVO.getHospitalId() != null, "hospital_id", getDiseasePageVO.getHospitalId());
+        diseaseInfoQueryWrapper.like(StringUtil.isNotBlank(getDiseasePageVO.getName()), "name", getDiseasePageVO.getName());
+        diseaseInfoQueryWrapper.like(StringUtil.isNotBlank(getDiseasePageVO.getStandard()), "standard", getDiseasePageVO.getStandard());
+        diseaseInfoQueryWrapper.like(StringUtil.isNotBlank(getDiseasePageVO.getIcd10()), "icd10", getDiseasePageVO.getIcd10());
+        if (StringUtil.isNotBlank(getDiseasePageVO.getIsMapping())) {
+            if (getDiseasePageVO.getIsMapping().equals("0")) {
+                diseaseInfoQueryWrapper.isNull("standard");
+            } else if (getDiseasePageVO.getIsMapping().equals("1")) {
+                diseaseInfoQueryWrapper.isNotNull("standard");
+            }
+        }
+        Page<DiseaseInfo> diseaseInfoPage = new Page<>(getDiseasePageVO.getCurrent(), getDiseasePageVO.getSize());
+        diseaseInfoFacade.page(diseaseInfoPage, diseaseInfoQueryWrapper);
+        BeanUtil.copyProperties(diseaseInfoPage, getDiseasePageDTOPage);
+        List<GetDiseasePageDTO> getDiseasePageDTOList = BeanUtil.listCopyTo(diseaseInfoPage.getRecords(), GetDiseasePageDTO.class);
+        getDiseasePageDTOList.forEach(i -> {
+            i.setIsMapping(StringUtil.isBlank(i.getIsMapping()) ? "未匹配" : "已匹配");
+        });
+
+        getDiseasePageDTOPage.setRecords(getDiseasePageDTOList);
+        return getDiseasePageDTOPage;
+    }
+    
+}

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

@@ -0,0 +1,54 @@
+package com.lantone.daqe.facade;
+
+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.lantone.common.util.BeanUtil;
+import com.lantone.common.util.StringUtil;
+import com.lantone.daqe.dto.GetOperationPageDTO;
+import com.lantone.daqe.entity.OperationInfo;
+import com.lantone.daqe.facade.base.OperationInfoFacade;
+import com.lantone.daqe.vo.GetOperationPageVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Description: 手术管理-业务处理类
+ * @author: rengb
+ * @time: 2021/7/20 12:39
+ */
+@Component
+public class OperationManagementFacade {
+
+    @Autowired
+    private OperationInfoFacade operationInfoFacade;
+
+    public IPage<GetOperationPageDTO> getOperationPage(GetOperationPageVO getOperationPageVO) {
+        Page<GetOperationPageDTO> getOperationPageDTOPage = new Page<>();
+
+        QueryWrapper<OperationInfo> operationInfoQueryWrapper = new QueryWrapper<>();
+        operationInfoQueryWrapper.eq(getOperationPageVO.getHospitalId() != null, "hospital_id", getOperationPageVO.getHospitalId());
+        operationInfoQueryWrapper.like(StringUtil.isNotBlank(getOperationPageVO.getName()), "name", getOperationPageVO.getName());
+        operationInfoQueryWrapper.like(StringUtil.isNotBlank(getOperationPageVO.getStandard()), "standard", getOperationPageVO.getStandard());
+        if (StringUtil.isNotBlank(getOperationPageVO.getIsMapping())) {
+            if (getOperationPageVO.getIsMapping().equals("0")) {
+                operationInfoQueryWrapper.isNull("standard");
+            } else if (getOperationPageVO.getIsMapping().equals("1")) {
+                operationInfoQueryWrapper.isNotNull("standard");
+            }
+        }
+        Page<OperationInfo> operationInfoPage = new Page<>(getOperationPageVO.getCurrent(), getOperationPageVO.getSize());
+        operationInfoFacade.page(operationInfoPage, operationInfoQueryWrapper);
+        BeanUtil.copyProperties(operationInfoPage, getOperationPageDTOPage);
+        List<GetOperationPageDTO> getOperationPageDTOList = BeanUtil.listCopyTo(operationInfoPage.getRecords(), GetOperationPageDTO.class);
+        getOperationPageDTOList.forEach(i -> {
+            i.setIsMapping(StringUtil.isBlank(i.getIsMapping()) ? "未匹配" : "已匹配");
+        });
+
+        getOperationPageDTOPage.setRecords(getOperationPageDTOList);
+        return getOperationPageDTOPage;
+    }
+
+}

+ 36 - 0
daqe-center/src/main/java/com/lantone/daqe/vo/GetDiseasePageVO.java

@@ -0,0 +1,36 @@
+package com.lantone.daqe.vo;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description: 获取诊断分页列表-接口入参
+ * @author: rengb
+ * @time: 2022/2/27 11:15
+ */
+@ApiModel(value = "获取诊断分页列表-接口入参")
+@Getter
+@Setter
+public class GetDiseasePageVO extends Page {
+
+    private static final long serialVersionUID = 4521884666557513363L;
+
+    @ApiModelProperty(value = "组织机构ID")
+    private Long hospitalId;
+
+    @ApiModelProperty(value = "医院诊断名称")
+    private String name;
+
+    @ApiModelProperty(value = "ICD-10编码")
+    private String icd10;
+
+    @ApiModelProperty(value = "标准诊断名称")
+    private String standard;
+
+    @ApiModelProperty(value = "是否匹配,1-已匹配,0-未匹配")
+    private String isMapping;
+
+}

+ 36 - 0
daqe-center/src/main/java/com/lantone/daqe/vo/GetOperationPageVO.java

@@ -0,0 +1,36 @@
+package com.lantone.daqe.vo;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description: 获取手术分页列表-接口入参
+ * @author: rengb
+ * @time: 2022/2/27 11:15
+ */
+@ApiModel(value = "获取手术分页列表-接口入参")
+@Getter
+@Setter
+public class GetOperationPageVO extends Page {
+
+    private static final long serialVersionUID = 4521884666557513363L;
+
+    @ApiModelProperty(value = "组织机构ID")
+    private Long hospitalId;
+
+    @ApiModelProperty(value = "医院手术名称")
+    private String name;
+
+    @ApiModelProperty(value = "手术代码")
+    private String code;
+
+    @ApiModelProperty(value = "标准手术名称")
+    private String standard;
+
+    @ApiModelProperty(value = "是否匹配,1-已匹配,0-未匹配")
+    private String isMapping;
+
+}

+ 35 - 0
daqe-center/src/main/java/com/lantone/daqe/web/DiseaseManagementController.java

@@ -0,0 +1,35 @@
+package com.lantone.daqe.web;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.lantone.common.api.CommonResult;
+import com.lantone.daqe.dto.GetDiseasePageDTO;
+import com.lantone.daqe.facade.DiseaseManagementFacade;
+import com.lantone.daqe.vo.GetDiseasePageVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+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.RestController;
+
+/**
+ * @Description: 诊断管理API
+ * @author: songxl
+ * @time: 2021/7/20 12:39
+ */
+@RestController
+@Api(value = "诊断管理API", tags = { "诊断管理API" })
+@RequestMapping("/diseaseManage")
+public class DiseaseManagementController {
+
+    @Autowired
+    private DiseaseManagementFacade diseaseManagementFacade;
+
+    @ApiOperation(value = "获取诊断分页列表 [by:songxl]")
+    @PostMapping("/getDiseasePage")
+    public CommonResult<IPage<GetDiseasePageDTO>> getDiseasePage(@RequestBody GetDiseasePageVO getDiseasePageVO) {
+        return CommonResult.success(diseaseManagementFacade.getDiseasePage(getDiseasePageVO));
+    }
+
+}

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

@@ -0,0 +1,35 @@
+package com.lantone.daqe.web;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.lantone.common.api.CommonResult;
+import com.lantone.daqe.dto.GetOperationPageDTO;
+import com.lantone.daqe.facade.OperationManagementFacade;
+import com.lantone.daqe.vo.GetOperationPageVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+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.RestController;
+
+/**
+ * @Description: 手术管理API
+ * @author: songxl
+ * @time: 2021/7/20 12:39
+ */
+@RestController
+@Api(value = "手术管理API", tags = { "手术管理API" })
+@RequestMapping("/operationManage")
+public class OperationManagementController {
+
+    @Autowired
+    private OperationManagementFacade operationManagementFacade;
+
+    @ApiOperation(value = "获取手术分页列表 [by:songxl]")
+    @PostMapping("/getOperationPage")
+    public CommonResult<IPage<GetOperationPageDTO>> getOperationPage(@RequestBody GetOperationPageVO getOperationPageVO) {
+        return CommonResult.success(operationManagementFacade.getOperationPage(getOperationPageVO));
+    }
+
+}

+ 2 - 1
gateway-service/src/main/resources/bootstrap.yml

@@ -117,4 +117,5 @@ secure:
       - "/report-service/medAppealInfoManage/getReviewer"
       - "/report-service/medAppealInfoManage/getAppealOperationType"
       - "/report-service/medAppealInfoManage/cancelAppealInfo"
-      - "/report-service/medAppealInfoManage/getAppealInfo"
+      - "/report-service/medAppealInfoManage/getAppealInfo"
+      - "/daqe-center/**"