Browse Source

Merge branch 'dev/icss20191209_template' into dev/mix20191205_push

gaodm 5 years ago
parent
commit
b2cd715baa
51 changed files with 1719 additions and 574 deletions
  1. 0 3
      aipt-service/src/main/java/com/diagbot/facade/ConceptFacade.java
  2. 0 1
      aipt-service/src/main/java/com/diagbot/vo/RetrievalVO.java
  3. 5 5
      aipt-service/src/main/resources/mapper/ConceptMapper.xml
  4. 4 0
      docs/026.20191210科室模板维护/init_icss.sql
  5. 96 0
      docs/026.20191210科室模板维护/init_tran.sql
  6. 9 0
      icss-service/src/main/java/com/diagbot/client/TranServiceClient.java
  7. 15 0
      icss-service/src/main/java/com/diagbot/client/hystrix/TranServiceHystrix.java
  8. 38 0
      icss-service/src/main/java/com/diagbot/dto/HospitalDeptInfoAllDTO.java
  9. 31 30
      icss-service/src/main/java/com/diagbot/dto/TemplateInfoDTO.java
  10. 19 0
      icss-service/src/main/java/com/diagbot/dto/TemplateInfoPageAllDTO.java
  11. 31 28
      icss-service/src/main/java/com/diagbot/dto/TemplateInfoPageDTO.java
  12. 12 0
      icss-service/src/main/java/com/diagbot/entity/TemplateInfo.java
  13. 46 0
      icss-service/src/main/java/com/diagbot/enums/TemplateTypeEnum.java
  14. 8 0
      icss-service/src/main/java/com/diagbot/facade/DoctorInfoFacade.java
  15. 58 51
      icss-service/src/main/java/com/diagbot/facade/SysSetFacade.java
  16. 280 0
      icss-service/src/main/java/com/diagbot/facade/TemplateAdminFacade.java
  17. 242 209
      icss-service/src/main/java/com/diagbot/facade/TemplateInfoFacade.java
  18. 0 3
      icss-service/src/main/java/com/diagbot/service/impl/TemplateInfoServiceImpl.java
  19. 24 0
      icss-service/src/main/java/com/diagbot/vo/HospitalCodeSetVO.java
  20. 21 0
      icss-service/src/main/java/com/diagbot/vo/HospitalCodeVo.java
  21. 10 0
      icss-service/src/main/java/com/diagbot/vo/SaveInquiryToHisVO.java
  22. 12 0
      icss-service/src/main/java/com/diagbot/vo/SaveInquiryVO.java
  23. 23 0
      icss-service/src/main/java/com/diagbot/vo/TemplateAdminIdsVO.java
  24. 40 0
      icss-service/src/main/java/com/diagbot/vo/TemplateInfoAdminPageVO.java
  25. 15 0
      icss-service/src/main/java/com/diagbot/vo/TemplateInfoTypeVO.java
  26. 20 19
      icss-service/src/main/java/com/diagbot/vo/TemplateInfosIdVO.java
  27. 34 34
      icss-service/src/main/java/com/diagbot/vo/TemplateInfosVO.java
  28. 1 0
      icss-service/src/main/java/com/diagbot/web/DictionaryInfoController.java
  29. 13 2
      icss-service/src/main/java/com/diagbot/web/DoctorInfoController.java
  30. 61 54
      icss-service/src/main/java/com/diagbot/web/SysSetController.java
  31. 103 0
      icss-service/src/main/java/com/diagbot/web/TemplateInfoAdminController.java
  32. 6 7
      icss-service/src/main/java/com/diagbot/web/TemplateInfoController.java
  33. 5 0
      icss-service/src/main/resources/mapper/TemplateInfoMapper.xml
  34. 1 1
      prec-service/src/main/java/com/diagbot/facade/InquiryInfoFacade.java
  35. 18 0
      tran-service/src/main/java/com/diagbot/dto/DoctorInfoFindDTO.java
  36. 40 0
      tran-service/src/main/java/com/diagbot/dto/HospitalDeptInfoAllDTO.java
  37. 2 4
      tran-service/src/main/java/com/diagbot/dto/RegisterInfoDTO.java
  38. 6 0
      tran-service/src/main/java/com/diagbot/facade/DoctorInfoFacade.java
  39. 22 0
      tran-service/src/main/java/com/diagbot/facade/HospitalDeptFacade.java
  40. 198 106
      tran-service/src/main/java/com/diagbot/facade/PatientInfoDjFacade.java
  41. 30 0
      tran-service/src/main/java/com/diagbot/facade/SysSetFacade.java
  42. 10 0
      tran-service/src/main/java/com/diagbot/mapper/DoctorInfoMapper.java
  43. 3 0
      tran-service/src/main/java/com/diagbot/service/DoctorInfoService.java
  44. 2 0
      tran-service/src/main/java/com/diagbot/service/SysSetService.java
  45. 3 0
      tran-service/src/main/java/com/diagbot/service/impl/DoctorInfoServiceImpl.java
  46. 22 0
      tran-service/src/main/java/com/diagbot/vo/HospitalCodeSetVO.java
  47. 20 0
      tran-service/src/main/java/com/diagbot/vo/HospitalCodeVo.java
  48. 10 0
      tran-service/src/main/java/com/diagbot/vo/SaveInquiryToHisVO.java
  49. 10 1
      tran-service/src/main/java/com/diagbot/web/HospitalDeptInfoController.java
  50. 9 0
      tran-service/src/main/java/com/diagbot/web/SysSetController.java
  51. 31 16
      tran-service/src/main/resources/mapper/DoctorInfoMapper.xml

+ 0 - 3
aipt-service/src/main/java/com/diagbot/facade/ConceptFacade.java

@@ -385,9 +385,6 @@ public class ConceptFacade extends ConceptServiceImpl {
         // 是否包含量表
         if (types.contains(LexiconTypeEnum.GAUGE.getKey())) {
             retrievalVO.setHasGauge(true); // 包含量表
-            if (ListUtil.isNotEmpty(types) && types.size() == 1) {
-                retrievalVO.setOnlyGauge(true); // 只有量表
-            }
         }
         for (Integer type : types) {
             // 化验和量表单独处理,不需要遍历

+ 0 - 1
aipt-service/src/main/java/com/diagbot/vo/RetrievalVO.java

@@ -32,6 +32,5 @@ public class RetrievalVO {
     private List<Integer> types; // 指定类型
     private boolean hasLis = false; // 是否搜索化验
     private boolean hasGauge = false; // 是否有量表
-    private boolean onlyGauge = false; // 只有量表
     private List<Integer> typesIn; // 共用需要遍历的类型
 }

+ 5 - 5
aipt-service/src/main/resources/mapper/ConceptMapper.xml

@@ -1067,9 +1067,9 @@
                     )
                 </if>
 
-                -- 量表匹配静态知识,如果只有量表,也同时搜索诊断有关的量表;如果还有其他类型,不搜索诊断相关的量表
+                -- 量表匹配静态知识同时搜索诊断有关的量表;
                 <if test="hasGauge == true">
-                    <if test="typesIn != null and typesIn.size() > 0 || hasLis == true">
+                    <if test="typesIn != null and typesIn.size() > 0 or hasLis == true">
                     union
                     </if>
                     (
@@ -1191,11 +1191,10 @@
                     b2.is_deleted = 'N'
                     AND b1.selfId = b2.concept_id
                     )
-                </if>
 
-                -- 只有量表时还需要根据诊断去查询量表
-                <if test="onlyGauge">
+
                     UNION
+                    (
                     SELECT distinct
                     b2.id conceptId,
                     b2.lib_name `name`,
@@ -1237,6 +1236,7 @@
                     AND b1.selfId = b3.start_id
                     AND b2.id = b3.end_id
                     AND b2.id = b4.concept_id
+                    )
                 </if>
 
             ) a1

+ 4 - 0
docs/026.20191210科室模板维护/init_icss.sql

@@ -0,0 +1,4 @@
+use `sys-icss`;
+
+ALTER TABLE `icss_template_info`
+ADD COLUMN `template_type` int(11) NOT NULL DEFAULT '1' COMMENT '模板类型(个人1,管理员2)' AFTER `data_json`;

File diff suppressed because it is too large
+ 96 - 0
docs/026.20191210科室模板维护/init_tran.sql


+ 9 - 0
icss-service/src/main/java/com/diagbot/client/TranServiceClient.java

@@ -5,6 +5,7 @@ import com.diagbot.dto.DoctorInfoDTO;
 import com.diagbot.dto.GetExportInquirysDTO;
 import com.diagbot.dto.GetHospitalRankInfoDTO;
 import com.diagbot.dto.HisInquirysForJzDTO;
+import com.diagbot.dto.HospitalDeptInfoAllDTO;
 import com.diagbot.dto.HospitalInfoDTO;
 import com.diagbot.dto.LisConfigDTO;
 import com.diagbot.dto.LisDataDTO;
@@ -23,6 +24,8 @@ import com.diagbot.vo.DoctorInfoVO;
 import com.diagbot.vo.GetHospitalRankInfoVO;
 import com.diagbot.vo.HisInquirysForJzVO;
 import com.diagbot.vo.HosCodeVO;
+import com.diagbot.vo.HospitalCodeSetVO;
+import com.diagbot.vo.HospitalCodeVo;
 import com.diagbot.vo.HospitalInfoVO;
 import com.diagbot.vo.HospitalSetVO;
 import com.diagbot.vo.LisArgumentsVO;
@@ -210,4 +213,10 @@ public interface TranServiceClient {
 
     @PostMapping("/sysSet/getHospitalRankInfo")
     RespDTO<GetHospitalRankInfoDTO> getHospitalRankInfo(@RequestBody GetHospitalRankInfoVO getHospitalRankInfoVO);
+
+    @PostMapping("/sysSet/getAdminCheckout")
+    RespDTO<Boolean> getAdminCheckout(@Valid @RequestBody HospitalCodeSetVO hospitalCodeSetVO);
+
+    @PostMapping("/hospitalDeptInfo/getHospitalDeptInfoAll")
+    RespDTO<List<HospitalDeptInfoAllDTO>> getHospitalDeptInfoAll(@RequestBody @Valid HospitalCodeVo hospitalCodeVo);
 }

+ 15 - 0
icss-service/src/main/java/com/diagbot/client/hystrix/TranServiceHystrix.java

@@ -5,6 +5,7 @@ import com.diagbot.dto.DoctorInfoDTO;
 import com.diagbot.dto.GetExportInquirysDTO;
 import com.diagbot.dto.GetHospitalRankInfoDTO;
 import com.diagbot.dto.HisInquirysForJzDTO;
+import com.diagbot.dto.HospitalDeptInfoAllDTO;
 import com.diagbot.dto.HospitalInfoDTO;
 import com.diagbot.dto.LisConfigDTO;
 import com.diagbot.dto.LisDataDTO;
@@ -23,6 +24,8 @@ import com.diagbot.vo.DoctorInfoVO;
 import com.diagbot.vo.GetHospitalRankInfoVO;
 import com.diagbot.vo.HisInquirysForJzVO;
 import com.diagbot.vo.HosCodeVO;
+import com.diagbot.vo.HospitalCodeSetVO;
+import com.diagbot.vo.HospitalCodeVo;
 import com.diagbot.vo.HospitalInfoVO;
 import com.diagbot.vo.HospitalSetVO;
 import com.diagbot.vo.LisArgumentsVO;
@@ -204,4 +207,16 @@ public class TranServiceHystrix implements TranServiceClient {
         log.error("【hystrix】调用{}异常", "getHospitalRankInfo");
         return null;
     }
+
+    @Override
+    public RespDTO<Boolean> getAdminCheckout(@Valid HospitalCodeSetVO hospitalCodeSetVO) {
+        log.error("【hystrix】调用{}异常", "getAdminCheckout");
+        return null;
+    }
+
+    @Override
+    public RespDTO<List<HospitalDeptInfoAllDTO>> getHospitalDeptInfoAll(@Valid HospitalCodeVo hospitalCodeVo) {
+        log.error("【hystrix】调用{}异常", "getHospitalDeptInfoAll");
+        return null;
+    }
 }

+ 38 - 0
icss-service/src/main/java/com/diagbot/dto/HospitalDeptInfoAllDTO.java

@@ -0,0 +1,38 @@
+package com.diagbot.dto;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2019-12-09 14:31
+ */
+@Setter
+@Getter
+public class HospitalDeptInfoAllDTO {
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 朗通科室名称
+     */
+    private String conceptDeptName;
+    /**
+     * 医院科室编码
+     */
+    private String code;
+
+    /**
+     * 医院科室名称
+     */
+    private String name;
+
+
+}

+ 31 - 30
icss-service/src/main/java/com/diagbot/dto/TemplateInfoDTO.java

@@ -1,30 +1,31 @@
-package com.diagbot.dto;
-
-import java.util.Date;
-
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * 
- * @author wangfeng
- * @Description: 医生病历模板出参
- * @date 2018年11月16日 上午10:40:27
- */
-@Getter
-@Setter
-public class TemplateInfoDTO {
-	 private Long id;//模板id
-	 private Date  gmtCreate;//创建时间
-	 private String creator;//创建人id
-	 private String name;//模板名字
-	 private Long doctorId;//医生id
-	 private Long hospitalId;//医院id
-	 private Long hospitalDeptId;//部门id
-	 private Integer sex;//性别
-	 private String type;//模板类型
-	 private String  preview;//预览文字
-	 private String dataJson;//模板数据
-	 private String remark;//备注
-
-}
+package com.diagbot.dto;
+
+import java.util.Date;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: 医生病历模板出参
+ * @date 2018年11月16日 上午10:40:27
+ */
+@Getter
+@Setter
+public class TemplateInfoDTO {
+	 private Long id;//模板id
+	 private Date  gmtCreate;//创建时间
+	 private String creator;//创建人id
+	 private String name;//模板名字
+	 private Long doctorId;//医生id
+	 private Long hospitalId;//医院id
+	 private Long hospitalDeptId;//部门id
+	 private Integer sex;//性别
+	 private String type;//模板类型
+	 private String  preview;//预览文字
+	 private String dataJson;//模板数据
+	 private Integer templateInfoType;
+	 private String remark;//备注
+
+}

+ 19 - 0
icss-service/src/main/java/com/diagbot/dto/TemplateInfoPageAllDTO.java

@@ -0,0 +1,19 @@
+package com.diagbot.dto;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import javafx.scene.Parent;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2019-12-09 15:57
+ */
+@Setter
+@Getter
+public class TemplateInfoPageAllDTO {
+    private IPage<TemplateInfoPageDTO> personalTemplate;
+    private IPage<TemplateInfoPageDTO> adminTemplate;
+
+}

+ 31 - 28
icss-service/src/main/java/com/diagbot/dto/TemplateInfoPageDTO.java

@@ -1,28 +1,31 @@
-package com.diagbot.dto;
-
-import java.util.Date;
-
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * 
- * @author wangfeng
- * @Description: TODO
- * @date 2019年7月24日 上午11:07:57
- */
-@Getter
-@Setter
-public class TemplateInfoPageDTO {
-	 private Long id;//模板id
-	 private Date  gmtCreate;//创建时间
-	 private String creator;//创建人id
-	 private String name;//模板名字
-	 private Long doctorId;//医生id
-	 private Long hospitalId;//医院id
-	 private Long hospitalDeptId;//部门id
-	 private Integer sex;//性别
-	 private String type;//模板类型
-	 private String  preview;//预览文字
-	 private String remark;//备注
-}
+package com.diagbot.dto;
+
+import java.util.Date;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年7月24日 上午11:07:57
+ */
+@Getter
+@Setter
+public class TemplateInfoPageDTO {
+	 private Long id;//模板id
+	 private Date  gmtCreate;//创建时间
+	 private String creator;//创建人id
+	 private String name;//模板名字
+	 private Long doctorId;//医生id
+	 private Long hospitalId;//医院id
+	 private Long hospitalDeptId;//部门id
+	 private Integer sex;//性别
+	 private String type;//模板类型
+	 private String  preview;//预览文字
+	 private Integer templateType;
+	 private String remark;//备注
+	 private String conceptDeptName;//朗通科室名
+	 private String thirdpartyName;//第三方科室名
+}

+ 12 - 0
icss-service/src/main/java/com/diagbot/entity/TemplateInfo.java

@@ -90,6 +90,10 @@ public class TemplateInfo implements Serializable {
      */
     private String dataJson;
 
+    /**
+     * 模板类型
+     */
+    private Integer templateType;
     /**
      * 备注
      */
@@ -205,6 +209,14 @@ public class TemplateInfo implements Serializable {
         this.remark = remark;
     }
 
+    public Integer getTemplateType() {
+        return templateType;
+    }
+
+    public void setTemplateType(Integer templateType) {
+        this.templateType = templateType;
+    }
+
     @Override
     public String toString() {
         return "TemplateInfo{" +

+ 46 - 0
icss-service/src/main/java/com/diagbot/enums/TemplateTypeEnum.java

@@ -0,0 +1,46 @@
+package com.diagbot.enums;
+
+import lombok.Setter;
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2019-12-09 20:22
+ */
+public enum TemplateTypeEnum {
+    PersonalTemplate(1, "个人模板"),
+    AdminTemplate(2, "标准模板");
+
+    @Setter
+    private int key;
+
+    @Setter
+    private String name;
+
+    TemplateTypeEnum(int key, String name) {
+        this.key = key;
+        this.name = name;
+    }
+
+    public static TemplateTypeEnum getEnum(int key) {
+        for (TemplateTypeEnum item : TemplateTypeEnum.values()) {
+            if (item.key == key) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static String getName(int key) {
+        TemplateTypeEnum item = getEnum(key);
+        return item != null ? item.name : null;
+    }
+
+
+    public int getKey() {
+        return key;
+    }
+
+    public String getName() {
+        return name;
+    }
+}

+ 8 - 0
icss-service/src/main/java/com/diagbot/facade/DoctorInfoFacade.java

@@ -2,9 +2,11 @@ package com.diagbot.facade;
 
 import com.diagbot.client.TranServiceClient;
 import com.diagbot.dto.DoctorInfoDTO;
+import com.diagbot.dto.HospitalDeptInfoAllDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.util.RespDTOUtil;
 import com.diagbot.vo.DoctorInfoVO;
+import com.diagbot.vo.HospitalCodeVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -32,4 +34,10 @@ public class DoctorInfoFacade {
         return doctorInfoDTOList.data;
     }
 
+    public List<HospitalDeptInfoAllDTO> getHospitalDeptInfoAll(HospitalCodeVo hospitalCodeVo) {
+        RespDTO<List<HospitalDeptInfoAllDTO>> data = tranServiceClient.getHospitalDeptInfoAll(hospitalCodeVo);
+        RespDTOUtil.respNGDealCover(data, "获取所有科室信息失败");
+        return data.data;
+
+    }
 }

+ 58 - 51
icss-service/src/main/java/com/diagbot/facade/SysSetFacade.java

@@ -1,51 +1,58 @@
-package com.diagbot.facade;
-
-import java.util.List;
-
-import com.diagbot.dto.GetHospitalRankInfoDTO;
-import com.diagbot.vo.GetHospitalRankInfoVO;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import com.diagbot.client.TranServiceClient;
-import com.diagbot.dto.RespDTO;
-import com.diagbot.dto.SysSetInfoDTO;
-import com.diagbot.util.RespDTOUtil;
-import com.diagbot.vo.HospitalSetVO;
-
-/**
- * 
- * @author wangfeng
- * @Description: TODO
- * @date 2019年6月12日 下午3:59:30
- */
-@Component
-public class SysSetFacade {
-
-	@Autowired
-	TranServiceClient tranServiceClient;
-
-	/**
-	 * 根据医院code获取配置信息
-	 * 
-	 * @return
-	 */
-	public List<SysSetInfoDTO> getSysSetInfoData(HospitalSetVO hospitalSetVO) {
-		RespDTO<List<SysSetInfoDTO>> sysSetInfoLists = tranServiceClient.getSysSetInfoDatas(hospitalSetVO);
-		RespDTOUtil.respNGDeal(sysSetInfoLists, "获取配置数据失败!");
-		return sysSetInfoLists.data;
-	}
-
-	/**
-	 * 获取大小医院信息
-	 *
-	 * @param getHospitalRankInfoVO
-	 * @return
-	 */
-	public GetHospitalRankInfoDTO getHospitalRankInfo(GetHospitalRankInfoVO getHospitalRankInfoVO) {
-		RespDTO<GetHospitalRankInfoDTO> retData = tranServiceClient.getHospitalRankInfo(getHospitalRankInfoVO);
-		RespDTOUtil.respNGDeal(retData, "获取大小医院信息失败!");
-		return retData.data;
-	}
-
-}
+package com.diagbot.facade;
+
+import java.util.List;
+
+import com.diagbot.dto.GetHospitalRankInfoDTO;
+import com.diagbot.vo.GetHospitalRankInfoVO;
+import com.diagbot.vo.HospitalCodeSetVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import com.diagbot.client.TranServiceClient;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.SysSetInfoDTO;
+import com.diagbot.util.RespDTOUtil;
+import com.diagbot.vo.HospitalSetVO;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2019年6月12日 下午3:59:30
+ */
+@Component
+public class SysSetFacade {
+
+	@Autowired
+	TranServiceClient tranServiceClient;
+
+	/**
+	 * 根据医院code获取配置信息
+	 * 
+	 * @return
+	 */
+	public List<SysSetInfoDTO> getSysSetInfoData(HospitalSetVO hospitalSetVO) {
+		RespDTO<List<SysSetInfoDTO>> sysSetInfoLists = tranServiceClient.getSysSetInfoDatas(hospitalSetVO);
+		RespDTOUtil.respNGDeal(sysSetInfoLists, "获取配置数据失败!");
+		return sysSetInfoLists.data;
+	}
+
+	/**
+	 * 获取大小医院信息
+	 *
+	 * @param getHospitalRankInfoVO
+	 * @return
+	 */
+	public GetHospitalRankInfoDTO getHospitalRankInfo(GetHospitalRankInfoVO getHospitalRankInfoVO) {
+		RespDTO<GetHospitalRankInfoDTO> retData = tranServiceClient.getHospitalRankInfo(getHospitalRankInfoVO);
+		RespDTOUtil.respNGDeal(retData, "获取大小医院信息失败!");
+		return retData.data;
+	}
+
+    public Boolean getAdminCheckout(HospitalCodeSetVO hospitalCodeSetVO) {
+		hospitalCodeSetVO.setShowError(false);
+		RespDTO<Boolean> data = tranServiceClient.getAdminCheckout(hospitalCodeSetVO);
+		RespDTOUtil.respNGDeal(data, "获取校验管理员身份失败!");
+		return data.data;
+    }
+}

+ 280 - 0
icss-service/src/main/java/com/diagbot/facade/TemplateAdminFacade.java

@@ -0,0 +1,280 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.diagbot.client.TranServiceClient;
+import com.diagbot.dto.HospitalDeptInfoAllDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.TemplateInfoDTO;
+import com.diagbot.dto.TemplateInfoPageDTO;
+import com.diagbot.entity.TemplateInfo;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.enums.TemplateTypeEnum;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.service.impl.TemplateInfoServiceImpl;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.util.DateUtil;
+import com.diagbot.util.GsonUtil;
+import com.diagbot.util.ListUtil;
+import com.diagbot.util.RespDTOUtil;
+import com.diagbot.vo.HospitalCodeSetVO;
+import com.diagbot.vo.HospitalCodeVo;
+import com.diagbot.vo.TemplateAdminIdsVO;
+import com.diagbot.vo.TemplateIdVO;
+import com.diagbot.vo.TemplateInfoAdminPageVO;
+import com.diagbot.vo.TemplateInfoPageVO;
+import com.diagbot.vo.TemplateInfoRevampVO;
+import com.diagbot.vo.TemplateInfoTypeVO;
+import com.diagbot.vo.TemplateInfosVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2019-12-09 18:39
+ */
+@Component
+public class TemplateAdminFacade extends TemplateInfoServiceImpl {
+
+
+    @Autowired
+    TranServiceClient tranServiceClient;
+
+    /**
+     *
+     * @param templateInfoRevampVO
+     * @return
+     */
+    public boolean updateByIdUsName(TemplateInfoRevampVO templateInfoRevampVO) {
+        //检验权限
+        HospitalCodeSetVO hospitalCodeSetVO =new HospitalCodeSetVO();
+        hospitalCodeSetVO.setDoctorId(templateInfoRevampVO.getDoctorId());
+        hospitalCodeSetVO.setHospitalId(templateInfoRevampVO.getHospitalId());
+        boolean res = getadminCheck(hospitalCodeSetVO);
+        if(!res){
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "暂无修改权限");
+        }
+        //1.先判断数据是否存在有效
+        QueryWrapper<TemplateInfo> templateInfoFand = new QueryWrapper<>();
+        templateInfoFand
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("id", templateInfoRevampVO.getId());
+        int sum = count(templateInfoFand);
+        if (sum == 0) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "该模板不存在");
+        }
+        //2.先判断数据是否有权限修改
+        QueryWrapper<TemplateInfo> templateInfoAmind = new QueryWrapper<>();
+        templateInfoAmind
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("id", templateInfoRevampVO.getId())
+                .eq("template_type", TemplateTypeEnum.AdminTemplate.getKey());
+        int sumA = count(templateInfoAmind);
+        if (sumA == 0) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "个人模板无权修改");
+        }
+        //2.再判断该医生下模板名是否重复重在
+        QueryWrapper<TemplateInfo> templates = new QueryWrapper<>();
+        Map<String, Object> mapAll = new HashMap<>();
+        mapAll.put("hospital_dept_id", templateInfoRevampVO.getHospitalDeptId());
+        mapAll.put("doctor_id", templateInfoRevampVO.getDoctorId());
+        mapAll.put("hospital_id", templateInfoRevampVO.getHospitalId());
+        mapAll.put("is_deleted", IsDeleteEnum.N.getKey());
+        mapAll.put("template_type", TemplateTypeEnum.AdminTemplate.getKey());
+        mapAll.put("name", templateInfoRevampVO.getModeName());
+        //mapAll.put("type", templateInfoRevampVO.getType());
+        templates.allEq(mapAll);
+        TemplateInfo datas = getOne(templates, false);
+        if (datas != null) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "该模板名已存在");
+        }
+        //3.修改表数据的模板名字
+        TemplateInfo templateInfo = new TemplateInfo();
+        templateInfo.setId(templateInfoRevampVO.getId());//模板id
+        templateInfo.setName(templateInfoRevampVO.getModeName());//模板名称
+        templateInfo.setGmtModified(DateUtil.now());//修改时间
+        res = updateById(templateInfo);
+        if (!res) {
+            throw new CommonException(CommonErrorCode.UPDATE_INFO_FAIL);
+        }
+
+        return res;
+    }
+
+    /**
+     *
+     * @param templateInfosVO
+     * @return
+     */
+    public boolean saveTemplateInfo(TemplateInfosVO templateInfosVO) {
+        //检验权限
+        HospitalCodeSetVO hospitalCodeSetVO =new HospitalCodeSetVO();
+        hospitalCodeSetVO.setDoctorId(templateInfosVO.getDoctorId());
+        hospitalCodeSetVO.setHospitalId(templateInfosVO.getHospitalId());
+        boolean res = getadminCheck(hospitalCodeSetVO);
+        if(!res){
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "暂无修改权限");
+        }
+        //1.判断该医生下是否存在模板名相同的数据
+        TemplateInfo templateInfo = new TemplateInfo();
+        QueryWrapper<TemplateInfo> templateInfoFand = new QueryWrapper<>();
+        Map<String, Object> mapAll = new HashMap<>();
+        mapAll.put("hospital_dept_id", templateInfosVO.getHospitalDeptId());
+        mapAll.put("doctor_id", templateInfosVO.getDoctorId());
+        mapAll.put("hospital_id", templateInfosVO.getHospitalId());
+        mapAll.put("is_deleted", IsDeleteEnum.N.getKey());
+        mapAll.put("template_type", TemplateTypeEnum.AdminTemplate.getKey());
+        mapAll.put("name", templateInfosVO.getModeName());
+        //mapAll.put("type", templateInfosVO.getModeType());
+
+        templateInfoFand.allEq(mapAll);
+        int sum = count(templateInfoFand);
+        if (sum != 0) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "该模板名存在");
+        }
+        //2.获取传入的数据,保存到数据表中。
+        templateInfo.setCreator(templateInfosVO.getDoctorId().toString());//创建人id
+        templateInfo.setDoctorId(templateInfosVO.getDoctorId());//医生id
+        templateInfo.setGmtCreate(DateUtil.now());//创建时间
+        templateInfo.setHospitalDeptId(templateInfosVO.getHospitalDeptId());//部门id
+        templateInfo.setHospitalId(templateInfosVO.getHospitalId());//医院id
+        templateInfo.setSex(templateInfosVO.getSex());
+        templateInfo.setPreview(GsonUtil.toJson(templateInfosVO.getPreview()));//文本的展示
+        templateInfo.setDataJson(templateInfosVO.getDataJson());//页面json
+        templateInfo.setName(templateInfosVO.getModeName());//模板名称
+        templateInfo.setType(templateInfosVO.getModeType());//类型
+        templateInfo.setTemplateType(TemplateTypeEnum.AdminTemplate.getKey());//模板类型
+         res = save(templateInfo);
+        if (!res) {
+            throw new CommonException(CommonErrorCode.INSERT_DATA_FAILED);
+        }
+
+        return res;
+    }
+
+    /**
+     *
+     * @param templateAdminIdsVO
+     * @return
+     */
+    public boolean cancelTemplateInfo(TemplateAdminIdsVO templateAdminIdsVO) {
+        //检验权限
+        HospitalCodeSetVO hospitalCodeSetVO =new HospitalCodeSetVO();
+        hospitalCodeSetVO.setDoctorId(templateAdminIdsVO.getDoctorId());
+        hospitalCodeSetVO.setHospitalId(templateAdminIdsVO.getHospitalId());
+        boolean res = getadminCheck(hospitalCodeSetVO);
+        if(!res){
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "暂无删除权限");
+        }
+        //1.获取传入的ids数据
+        String ids = templateAdminIdsVO.getIds();
+        //2.截取到最后一个
+        String substring = ids.substring(0, ids.length());
+        //System.out.println(substring);
+        //3.以逗号分割
+        String[] splitIds = substring.split(",");
+        //验证转化好的参数
+        if (ListUtil.isEmpty(ListUtil.arrayToList(splitIds))) {
+            throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "请输入模板id");
+        }
+        //把分割的id数据传入对象中,在表中批量删除
+        UpdateWrapper<TemplateInfo> templateInfoNew = new UpdateWrapper<>();
+        templateInfoNew
+                .in("id", ListUtil.arrayToList(splitIds))
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("template_type",TemplateTypeEnum.AdminTemplate.getKey())
+                .set("is_deleted", IsDeleteEnum.Y.getKey())
+                //.set("modifier",UserUtils.getCurrentPrincipleID())
+                .set("gmt_modified", DateUtil.now());
+         res = update(new TemplateInfo(), templateInfoNew);
+
+        return res;
+    }
+
+    /**
+     *
+     * @param templateInfoPageVO
+     * @return
+     */
+    public IPage<TemplateInfoPageDTO> getTemplatePageAlls(Page page, TemplateInfoAdminPageVO templateInfoPageVO) {
+        //检验权限
+        HospitalCodeSetVO hospitalCodeSetVO =new HospitalCodeSetVO();
+        hospitalCodeSetVO.setDoctorId(templateInfoPageVO.getDoctorId());
+        hospitalCodeSetVO.setHospitalId(templateInfoPageVO.getHospitalId());
+        boolean res = getadminCheck(hospitalCodeSetVO);
+        if(!res){
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "暂无权限");
+        }
+        HospitalCodeVo hospitalCodeVo =new HospitalCodeVo();
+        hospitalCodeVo.setHospitalCode(templateInfoPageVO.getHospitalCode());
+        hospitalCodeVo.setDeptInfoName("");
+        hospitalCodeVo.setThirdpartyName("");
+        RespDTO<List<HospitalDeptInfoAllDTO>> deptInfoDTO = tranServiceClient.getHospitalDeptInfoAll(hospitalCodeVo);
+        RespDTOUtil.respNGDeal(deptInfoDTO, deptInfoDTO.msg);
+        List<HospitalDeptInfoAllDTO> deptInfo = deptInfoDTO.data;
+        Map<Long,HospitalDeptInfoAllDTO> deptMap =deptInfo.stream().collect(Collectors.toMap(HospitalDeptInfoAllDTO::getId,i->i));
+        TemplateInfoTypeVO adminVO = new TemplateInfoTypeVO();
+        adminVO.setName(templateInfoPageVO.getName());
+        adminVO.setSex(templateInfoPageVO.getSex());
+        adminVO.setHospitalDeptId(templateInfoPageVO.getHospitalDeptId());
+        adminVO.setHospitalId(templateInfoPageVO.getHospitalId());
+        adminVO.setTemplateType(TemplateTypeEnum.AdminTemplate.getKey());
+        IPage<TemplateInfoPageDTO> adminTemplate = getTemplatePages(adminVO);
+        if(adminTemplate.getRecords().size()>0){
+            adminTemplate.getRecords().forEach(i->{
+                HospitalDeptInfoAllDTO data = deptMap.get(i.getHospitalDeptId());
+                if(data!=null){
+                    i.setConceptDeptName(data.getConceptDeptName());
+                    i.setThirdpartyName(data.getName());
+                }
+
+            });
+        }
+
+        return  adminTemplate;
+    }
+
+    /**
+     *
+     * @param templateIdVO
+     * @return
+     */
+    public TemplateInfoDTO getTemplateIdAlls(TemplateIdVO templateIdVO) {
+        //根据传入的医生id和部门id还有医院id在数据表中查出相应的模板数据
+        QueryWrapper<TemplateInfo> templateInfoQuery = new QueryWrapper<>();
+        templateInfoQuery
+                .eq("id", templateIdVO.getId())
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("template_type",TemplateTypeEnum.AdminTemplate.getKey());
+        TemplateInfoDTO data = new TemplateInfoDTO();
+        TemplateInfo datas = getOne(templateInfoQuery, false);
+        if(datas==null){
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "该模板不存在!");
+        }
+        //过滤
+        BeanUtil.copyProperties(datas, data);
+        return data;
+    }
+
+
+    /**
+     *
+     * @param hospitalCodeSetVO
+     * @return
+     */
+    public boolean getadminCheck(HospitalCodeSetVO hospitalCodeSetVO){
+        hospitalCodeSetVO.setShowError(true);
+        RespDTO<Boolean> datas = tranServiceClient.getAdminCheckout(hospitalCodeSetVO);
+        RespDTOUtil.respNGDeal(datas, datas.msg);
+        return  datas.data;
+    }
+}

+ 242 - 209
icss-service/src/main/java/com/diagbot/facade/TemplateInfoFacade.java

@@ -1,209 +1,242 @@
-package com.diagbot.facade;
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.diagbot.dto.TemplateInfoDTO;
-import com.diagbot.dto.TemplateInfoPageDTO;
-import com.diagbot.entity.TemplateInfo;
-import com.diagbot.enums.IsDeleteEnum;
-import com.diagbot.exception.CommonErrorCode;
-import com.diagbot.exception.CommonException;
-import com.diagbot.service.impl.TemplateInfoServiceImpl;
-import com.diagbot.util.BeanUtil;
-import com.diagbot.util.DateUtil;
-import com.diagbot.util.GsonUtil;
-import com.diagbot.util.ListUtil;
-import com.diagbot.vo.TemplateIdVO;
-import com.diagbot.vo.TemplateInfoPageVO;
-import com.diagbot.vo.TemplateInfoRevampVO;
-import com.diagbot.vo.TemplateInfoVO;
-import com.diagbot.vo.TemplateInfosIdVO;
-import com.diagbot.vo.TemplateInfosVO;
-import org.springframework.stereotype.Component;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * @author wangfeng
- * @Description: 病历模板
- * @date 2018年11月16日 上午11:24:36
- */
-@Component
-public class TemplateInfoFacade extends TemplateInfoServiceImpl {
-
-    /**
-     * @param templateInfoVO
-     * @return 医生病历模板信息
-     */
-    public List<TemplateInfoDTO> findByDoctorIdTemplates(TemplateInfoVO templateInfoVO) {
-        //根据传入的医生id和部门id还有医院id在数据表中查出相应的模板数据
-
-        QueryWrapper<TemplateInfo> templateInfoQuery = new QueryWrapper<>();
-        Map<String, Object> mapAll = new HashMap<>();
-        mapAll.put("hospital_dept_id", templateInfoVO.getHospitalDeptId());
-        mapAll.put("doctor_id", templateInfoVO.getDoctorId());
-        mapAll.put("hospital_id", templateInfoVO.getHospitalId());
-        mapAll.put("is_deleted", IsDeleteEnum.N.getKey());
-        mapAll.put("type", templateInfoVO.getType());
-        if (templateInfoVO.getSex() != null) {
-            templateInfoQuery.allEq(mapAll).in("sex", 3, templateInfoVO.getSex()).orderByDesc("gmt_create");
-        } else {
-            templateInfoQuery.allEq(mapAll).orderByDesc("gmt_create");
-        }
-        List<TemplateInfoDTO> data = new ArrayList<TemplateInfoDTO>();
-        List<TemplateInfo> datas = list(templateInfoQuery);
-        //过滤
-        data = BeanUtil.listCopyTo(datas, TemplateInfoDTO.class);
-
-        return data;
-    }
-
-    /**
-     * 根据模板id 修改模板名
-     *
-     * @param templateInfoRevampVO
-     * @return
-     */
-    public boolean updateByIdUsName(TemplateInfoRevampVO templateInfoRevampVO) {
-        //1.先判断数据是否存在有效
-        QueryWrapper<TemplateInfo> templateInfoFand = new QueryWrapper<>();
-        templateInfoFand
-                .eq("is_deleted", IsDeleteEnum.N.getKey())
-                .eq("id", templateInfoRevampVO.getId());
-        int sum = count(templateInfoFand);
-        if (sum == 0) {
-            throw new CommonException(CommonErrorCode.NOT_EXISTS, "该模板不存在");
-        }
-        //2.再判断该医生下模板名是否重复重在
-        QueryWrapper<TemplateInfo> templates = new QueryWrapper<>();
-        Map<String, Object> mapAll = new HashMap<>();
-        mapAll.put("hospital_dept_id", templateInfoRevampVO.getHospitalDeptId());
-        mapAll.put("doctor_id", templateInfoRevampVO.getDoctorId());
-        mapAll.put("hospital_id", templateInfoRevampVO.getHospitalId());
-        mapAll.put("is_deleted", IsDeleteEnum.N.getKey());
-        mapAll.put("name", templateInfoRevampVO.getModeName());
-        //mapAll.put("type", templateInfoRevampVO.getType());
-        templates.allEq(mapAll);
-        TemplateInfo datas = getOne(templates, false);
-        if (datas != null) {
-            throw new CommonException(CommonErrorCode.NOT_EXISTS, "该模板名已存在");
-        }
-        //3.修改表数据的模板名字
-        TemplateInfo templateInfo = new TemplateInfo();
-        templateInfo.setId(templateInfoRevampVO.getId());//模板id
-        templateInfo.setName(templateInfoRevampVO.getModeName());//模板名称
-        templateInfo.setGmtModified(DateUtil.now());//修改时间
-        boolean res = updateById(templateInfo);
-        if (!res) {
-            throw new CommonException(CommonErrorCode.UPDATE_INFO_FAIL);
-        }
-
-        return res;
-    }
-
-    /**
-     * 保存模板
-     *
-     * @param templateInfosVO
-     * @return
-     */
-    public boolean saveTemplateInfo(TemplateInfosVO templateInfosVO) {
-        //1.判断该医生下是否存在模板名相同的数据
-        TemplateInfo templateInfo = new TemplateInfo();
-        QueryWrapper<TemplateInfo> templateInfoFand = new QueryWrapper<>();
-        Map<String, Object> mapAll = new HashMap<>();
-        mapAll.put("hospital_dept_id", templateInfosVO.getHospitalDeptId());
-        mapAll.put("doctor_id", templateInfosVO.getDoctorId());
-        mapAll.put("hospital_id", templateInfosVO.getHospitalId());
-        mapAll.put("is_deleted", IsDeleteEnum.N.getKey());
-        mapAll.put("name", templateInfosVO.getModeName());
-        //mapAll.put("type", templateInfosVO.getModeType());
-
-        templateInfoFand.allEq(mapAll);
-        int sum = count(templateInfoFand);
-        if (sum != 0) {
-            throw new CommonException(CommonErrorCode.NOT_EXISTS, "该模板名存在");
-        }
-        //2.获取传入的数据,保存到数据表中。
-        templateInfo.setCreator(templateInfosVO.getDoctorId().toString());//创建人id
-        templateInfo.setDoctorId(templateInfosVO.getDoctorId());//医生id
-        templateInfo.setGmtCreate(DateUtil.now());//创建时间
-        templateInfo.setHospitalDeptId(templateInfosVO.getHospitalDeptId());//部门id
-        templateInfo.setHospitalId(templateInfosVO.getHospitalId());//医院id
-        templateInfo.setSex(templateInfosVO.getSex());
-        templateInfo.setPreview(GsonUtil.toJson(templateInfosVO.getPreview()));//文本的展示
-        templateInfo.setDataJson(templateInfosVO.getDataJson());//页面json
-        templateInfo.setName(templateInfosVO.getModeName());//模板名称
-        templateInfo.setType(templateInfosVO.getModeType());//模板类型
-        boolean res = save(templateInfo);
-        if (!res) {
-            throw new CommonException(CommonErrorCode.INSERT_DATA_FAILED);
-        }
-
-        return res;
-    }
-
-    /**
-     * 根据模板id批量删除模板
-     *
-     * @param templateInfosIdVO
-     * @return
-     */
-    public boolean cancelTemplateInfo(TemplateInfosIdVO templateInfosIdVO) {
-        //1.获取传入的ids数据
-        String ids = templateInfosIdVO.getIds();
-        //2.截取到最后一个
-        String substring = ids.substring(0, ids.length());
-        //System.out.println(substring);
-        //3.以逗号分割
-        String[] splitIds = substring.split(",");
-        //验证转化好的参数
-        if (ListUtil.isEmpty(ListUtil.arrayToList(splitIds))) {
-            throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "请输入模板id");
-        }
-        //把分割的id数据传入对象中,在表中批量删除
-        UpdateWrapper<TemplateInfo> templateInfoNew = new UpdateWrapper<>();
-        templateInfoNew
-                .in("id", ListUtil.arrayToList(splitIds))
-                .eq("is_deleted", IsDeleteEnum.N.getKey())
-                .set("is_deleted", IsDeleteEnum.Y.getKey())
-                //.set("modifier",UserUtils.getCurrentPrincipleID())
-                .set("gmt_modified", DateUtil.now());
-        boolean res = update(new TemplateInfo(), templateInfoNew);
-
-        return res;
-    }
-
-    /**
-     * @param page
-     * @param templateInfoPageVO
-     * @return
-     */
-    public IPage<TemplateInfoPageDTO> getTemplatePageAlls(Page page, TemplateInfoPageVO templateInfoPageVO) {
-        IPage<TemplateInfoPageDTO> TemplateInfoData = getTemplatePages(templateInfoPageVO);
-        return TemplateInfoData;
-    }
-
-    /**
-     * @param templateIdVO
-     * @return
-     */
-    public TemplateInfoDTO getTemplateIdAlls(TemplateIdVO templateIdVO) {
-        //根据传入的医生id和部门id还有医院id在数据表中查出相应的模板数据
-        QueryWrapper<TemplateInfo> templateInfoQuery = new QueryWrapper<>();
-        templateInfoQuery
-                .eq("id", templateIdVO.getId())
-                .eq("is_deleted", IsDeleteEnum.N.getKey());
-        TemplateInfoDTO data = new TemplateInfoDTO();
-        TemplateInfo datas = getOne(templateInfoQuery, false);
-        //过滤
-        BeanUtil.copyProperties(datas, data);
-        return data;
-    }
-
-}
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.diagbot.dto.TemplateInfoDTO;
+import com.diagbot.dto.TemplateInfoPageAllDTO;
+import com.diagbot.dto.TemplateInfoPageDTO;
+import com.diagbot.entity.TemplateInfo;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.enums.TemplateTypeEnum;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.service.impl.TemplateInfoServiceImpl;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.util.DateUtil;
+import com.diagbot.util.GsonUtil;
+import com.diagbot.util.ListUtil;
+import com.diagbot.vo.TemplateIdVO;
+import com.diagbot.vo.TemplateInfoPageVO;
+import com.diagbot.vo.TemplateInfoRevampVO;
+import com.diagbot.vo.TemplateInfoTypeVO;
+import com.diagbot.vo.TemplateInfoVO;
+import com.diagbot.vo.TemplateInfosIdVO;
+import com.diagbot.vo.TemplateInfosVO;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * @author wangfeng
+ * @Description: 病历模板
+ * @date 2018年11月16日 上午11:24:36
+ */
+@Component
+public class TemplateInfoFacade extends TemplateInfoServiceImpl {
+
+    /**
+     * @param templateInfoVO
+     * @return 医生病历模板信息
+     */
+    public Map<Integer, List<TemplateInfoDTO>> findByDoctorIdTemplates(TemplateInfoVO templateInfoVO) {
+        //根据传入的医生id和部门id还有医院id在数据表中查出相应的模板数据
+
+        QueryWrapper<TemplateInfo> templateInfoQuery = new QueryWrapper<>();
+        Map<String, Object> mapAll = new HashMap<>();
+        mapAll.put("hospital_dept_id", templateInfoVO.getHospitalDeptId());
+        mapAll.put("doctor_id", templateInfoVO.getDoctorId());
+        mapAll.put("hospital_id", templateInfoVO.getHospitalId());
+        mapAll.put("is_deleted", IsDeleteEnum.N.getKey());
+        mapAll.put("type", templateInfoVO.getType());
+        if (templateInfoVO.getSex() != null) {
+            templateInfoQuery.allEq(mapAll).in("sex", 3, templateInfoVO.getSex()).orderByDesc("gmt_create");
+        } else {
+            templateInfoQuery.allEq(mapAll).orderByDesc("gmt_create");
+        }
+        List<TemplateInfoDTO> data = new ArrayList<TemplateInfoDTO>();
+        List<TemplateInfo> datas = list(templateInfoQuery);
+        //过滤
+        data = BeanUtil.listCopyTo(datas, TemplateInfoDTO.class);
+        Map<Integer, List<TemplateInfoDTO>> lixExMap = data.stream()
+                .collect(Collectors.groupingBy(TemplateInfoDTO::getTemplateInfoType));
+        return lixExMap;
+    }
+
+    /**
+     * 根据模板id 修改模板名
+     *
+     * @param templateInfoRevampVO
+     * @return
+     */
+    public boolean updateByIdUsName(TemplateInfoRevampVO templateInfoRevampVO) {
+        //1.先判断数据是否存在有效
+        QueryWrapper<TemplateInfo> templateInfoFand = new QueryWrapper<>();
+        templateInfoFand
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("id", templateInfoRevampVO.getId());
+        int sum = count(templateInfoFand);
+        if (sum == 0) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "该模板不存在");
+        }
+        //2.先判断数据是否有权限修改
+        QueryWrapper<TemplateInfo> templateInfoAmind = new QueryWrapper<>();
+        templateInfoAmind
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("id", templateInfoRevampVO.getId())
+                .eq("template_type", TemplateTypeEnum.PersonalTemplate.getKey());
+        int sumA = count(templateInfoAmind);
+        if (sumA == 0) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "标准模板无权修改");
+        }
+        //2.再判断该医生下模板名是否重复重在
+        QueryWrapper<TemplateInfo> templates = new QueryWrapper<>();
+        Map<String, Object> mapAll = new HashMap<>();
+        mapAll.put("hospital_dept_id", templateInfoRevampVO.getHospitalDeptId());
+        mapAll.put("doctor_id", templateInfoRevampVO.getDoctorId());
+        mapAll.put("hospital_id", templateInfoRevampVO.getHospitalId());
+        mapAll.put("is_deleted", IsDeleteEnum.N.getKey());
+        mapAll.put("template_type", TemplateTypeEnum.PersonalTemplate.getKey());
+        mapAll.put("name", templateInfoRevampVO.getModeName());
+        //mapAll.put("type", templateInfoRevampVO.getType());
+        templates.allEq(mapAll);
+        TemplateInfo datas = getOne(templates, false);
+        if (datas != null) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "该模板名已存在");
+        }
+        //3.修改表数据的模板名字
+        TemplateInfo templateInfo = new TemplateInfo();
+        templateInfo.setId(templateInfoRevampVO.getId());//模板id
+        templateInfo.setName(templateInfoRevampVO.getModeName());//模板名称
+        templateInfo.setGmtModified(DateUtil.now());//修改时间
+        boolean res = updateById(templateInfo);
+        if (!res) {
+            throw new CommonException(CommonErrorCode.UPDATE_INFO_FAIL);
+        }
+
+        return res;
+    }
+
+    /**
+     * 保存模板
+     *
+     * @param templateInfosVO
+     * @return
+     */
+    public boolean saveTemplateInfo(TemplateInfosVO templateInfosVO) {
+        //1.判断该医生下是否存在模板名相同的数据
+        TemplateInfo templateInfo = new TemplateInfo();
+        QueryWrapper<TemplateInfo> templateInfoFand = new QueryWrapper<>();
+        Map<String, Object> mapAll = new HashMap<>();
+        mapAll.put("hospital_dept_id", templateInfosVO.getHospitalDeptId());
+        mapAll.put("doctor_id", templateInfosVO.getDoctorId());
+        mapAll.put("hospital_id", templateInfosVO.getHospitalId());
+        mapAll.put("is_deleted", IsDeleteEnum.N.getKey());
+        mapAll.put("template_type", TemplateTypeEnum.PersonalTemplate.getKey());
+        mapAll.put("name", templateInfosVO.getModeName());
+        //mapAll.put("type", templateInfosVO.getModeType());
+
+        templateInfoFand.allEq(mapAll);
+        int sum = count(templateInfoFand);
+        if (sum != 0) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "该模板名存在");
+        }
+        //2.获取传入的数据,保存到数据表中。
+        templateInfo.setCreator(templateInfosVO.getDoctorId().toString());//创建人id
+        templateInfo.setDoctorId(templateInfosVO.getDoctorId());//医生id
+        templateInfo.setGmtCreate(DateUtil.now());//创建时间
+        templateInfo.setHospitalDeptId(templateInfosVO.getHospitalDeptId());//部门id
+        templateInfo.setHospitalId(templateInfosVO.getHospitalId());//医院id
+        templateInfo.setSex(templateInfosVO.getSex());
+        templateInfo.setPreview(GsonUtil.toJson(templateInfosVO.getPreview()));//文本的展示
+        templateInfo.setDataJson(templateInfosVO.getDataJson());//页面json
+        templateInfo.setName(templateInfosVO.getModeName());//模板名称
+        templateInfo.setType(templateInfosVO.getModeType());//类型
+        templateInfo.setTemplateType(TemplateTypeEnum.PersonalTemplate.getKey());//模板类型
+        boolean res = save(templateInfo);
+        if (!res) {
+            throw new CommonException(CommonErrorCode.INSERT_DATA_FAILED);
+        }
+
+        return res;
+    }
+
+    /**
+     * 根据模板id批量删除模板
+     *
+     * @param templateInfosIdVO
+     * @return
+     */
+    public boolean cancelTemplateInfo(TemplateInfosIdVO templateInfosIdVO) {
+        //1.获取传入的ids数据
+        String ids = templateInfosIdVO.getIds();
+        //2.截取到最后一个
+        String substring = ids.substring(0, ids.length());
+        //System.out.println(substring);
+        //3.以逗号分割
+        String[] splitIds = substring.split(",");
+        //验证转化好的参数
+        if (ListUtil.isEmpty(ListUtil.arrayToList(splitIds))) {
+            throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "请输入模板id");
+        }
+        //把分割的id数据传入对象中,在表中批量删除
+        UpdateWrapper<TemplateInfo> templateInfoNew = new UpdateWrapper<>();
+        templateInfoNew
+                .in("id", ListUtil.arrayToList(splitIds))
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("template_type", TemplateTypeEnum.PersonalTemplate.getKey())
+                .set("is_deleted", IsDeleteEnum.Y.getKey())
+                //.set("modifier",UserUtils.getCurrentPrincipleID())
+                .set("gmt_modified", DateUtil.now());
+        boolean res = update(new TemplateInfo(), templateInfoNew);
+
+        return res;
+    }
+
+    /**
+     * @param page
+     * @param templateInfoPageVO
+     * @return
+     */
+    public TemplateInfoPageAllDTO getTemplatePageAlls(Page page, TemplateInfoPageVO templateInfoPageVO) {
+        TemplateInfoPageAllDTO data = new TemplateInfoPageAllDTO();
+        //取出个人模板
+        TemplateInfoTypeVO personalVO = new TemplateInfoTypeVO();
+        BeanUtil.copyProperties(templateInfoPageVO, personalVO);
+        personalVO.setTemplateType(TemplateTypeEnum.PersonalTemplate.getKey());
+        IPage<TemplateInfoPageDTO> personalTemplate = getTemplatePages(personalVO);
+        data.setPersonalTemplate(personalTemplate);
+        //取出标准模板
+        TemplateInfoTypeVO adminVO = new TemplateInfoTypeVO();
+        BeanUtil.copyProperties(templateInfoPageVO, adminVO);
+        adminVO.setDoctorId(null);
+        adminVO.setTemplateType(TemplateTypeEnum.AdminTemplate.getKey());
+        IPage<TemplateInfoPageDTO> adminTemplate = getTemplatePages(adminVO);
+        data.setAdminTemplate(adminTemplate);
+
+        return data;
+    }
+
+    /**
+     * @param templateIdVO
+     * @return
+     */
+    public TemplateInfoDTO getTemplateIdAlls(TemplateIdVO templateIdVO) {
+        //根据传入的医生id和部门id还有医院id在数据表中查出相应的模板数据
+        QueryWrapper<TemplateInfo> templateInfoQuery = new QueryWrapper<>();
+        templateInfoQuery
+                .eq("id", templateIdVO.getId())
+                .eq("is_deleted", IsDeleteEnum.N.getKey());
+        TemplateInfoDTO data = new TemplateInfoDTO();
+        TemplateInfo datas = getOne(templateInfoQuery, false);
+        //过滤
+        BeanUtil.copyProperties(datas, data);
+        return data;
+    }
+
+}

+ 0 - 3
icss-service/src/main/java/com/diagbot/service/impl/TemplateInfoServiceImpl.java

@@ -1,7 +1,6 @@
 package com.diagbot.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.diagbot.dto.TemplateInfoDTO;
 import com.diagbot.dto.TemplateInfoPageDTO;
@@ -9,11 +8,9 @@ import com.diagbot.entity.TemplateInfo;
 import com.diagbot.mapper.TemplateInfoMapper;
 import com.diagbot.service.TemplateInfoService;
 import com.diagbot.vo.TemplateInfoPageVO;
-
 import org.springframework.stereotype.Service;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * <p>

+ 24 - 0
icss-service/src/main/java/com/diagbot/vo/HospitalCodeSetVO.java

@@ -0,0 +1,24 @@
+package com.diagbot.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2019-12-09 14:02
+ */
+@Setter
+@Getter
+public class HospitalCodeSetVO {
+    @NotNull(message = "请输入医院编码")
+    private Long hospitalId;
+    @NotNull(message = "请输入医生编码")
+    private Long doctorId;
+    //是否显示错误
+    @ApiModelProperty(hidden = true)
+    private Boolean showError;
+}

+ 21 - 0
icss-service/src/main/java/com/diagbot/vo/HospitalCodeVo.java

@@ -0,0 +1,21 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2019-12-09 14:31
+ */
+@Setter
+@Getter
+public class HospitalCodeVo {
+    @NotBlank(message = "请输入医院编码")
+    private String hospitalCode;
+    private String deptInfoName;
+    private String thirdpartyName;
+}

+ 10 - 0
icss-service/src/main/java/com/diagbot/vo/SaveInquiryToHisVO.java

@@ -74,5 +74,15 @@ public class SaveInquiryToHisVO {
      * 一般治疗
      */
     private List<ConceptIntroduceDTO> conceptIntroduceDTO;
+
+    /**
+     * 生命体征
+     */
+    private String vitalSigns;
+
+    /**
+     * 除去生命体征的体格检查
+     */
+    private String physicalExcVs;
    
 }

+ 12 - 0
icss-service/src/main/java/com/diagbot/vo/SaveInquiryVO.java

@@ -129,5 +129,17 @@ public class SaveInquiryVO {
      */
     @ApiModelProperty(value="治疗方案")
     private List<ConceptIntroduceDTO> conceptIntroduceDTO;
+
+    /**
+     * 生命体征
+     */
+    @ApiModelProperty(value="生命体征")
+    private String vitalSigns;
+
+    /**
+     * 除去生命体征的体格检查
+     */
+    @ApiModelProperty(value="除去生命体征的体格检查")
+    private String physicalExcVs;
    
 }

+ 23 - 0
icss-service/src/main/java/com/diagbot/vo/TemplateAdminIdsVO.java

@@ -0,0 +1,23 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2019-12-09 20:03
+ */
+@Getter
+@Setter
+public class TemplateAdminIdsVO {
+    @NotBlank(message = "请输入模板id")
+    private String ids;
+    @NotNull(message = "请输入医院编码")
+    private Long hospitalId;
+    @NotNull(message = "请输入医生编码")
+    private Long doctorId;
+}

+ 40 - 0
icss-service/src/main/java/com/diagbot/vo/TemplateInfoAdminPageVO.java

@@ -0,0 +1,40 @@
+package com.diagbot.vo;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2019-12-10 10:56
+ */
+@Setter
+@Getter
+public class TemplateInfoAdminPageVO extends Page {
+    /**
+     * 医生id
+     */
+    private Long doctorId;
+
+    /**
+     * 医院编码
+     */
+    private Long hospitalId;
+    /**
+     * 部门id
+     */
+    private Long hospitalDeptId;//部门id
+
+    //	@NotBlank(message = "请输入模板类型")
+    private String type;//模板类型
+
+    private List<Integer> sex;//性别
+
+    private String name;//模板名字
+
+    private  String hospitalCode;
+}

+ 15 - 0
icss-service/src/main/java/com/diagbot/vo/TemplateInfoTypeVO.java

@@ -0,0 +1,15 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2019-12-09 17:35
+ */
+@Setter
+@Getter
+public class TemplateInfoTypeVO extends TemplateInfoPageVO{
+    private Integer templateType;
+}

+ 20 - 19
icss-service/src/main/java/com/diagbot/vo/TemplateInfosIdVO.java

@@ -1,19 +1,20 @@
-package com.diagbot.vo;
-
-import javax.validation.constraints.NotBlank;
-
-import lombok.Getter;
-import lombok.Setter;
-/***
- * 
- * @author wangfeng
- * @Description: 批量删除
- * @date 2018年11月16日 下午4:57:25
- */
-@Getter
-@Setter
-public class TemplateInfosIdVO {
-	@NotBlank(message = "请输入模板id")
-	private String ids;
-
-}
+package com.diagbot.vo;
+
+import javax.validation.constraints.NotBlank;
+
+import lombok.Getter;
+import lombok.Setter;
+/***
+ * 
+ * @author wangfeng
+ * @Description: 批量删除
+ * @date 2018年11月16日 下午4:57:25
+ */
+@Getter
+@Setter
+public class TemplateInfosIdVO {
+	@NotBlank(message = "请输入模板id")
+	private String ids;
+
+
+}

+ 34 - 34
icss-service/src/main/java/com/diagbot/vo/TemplateInfosVO.java

@@ -1,34 +1,34 @@
-package com.diagbot.vo;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * 
- * @author wangfeng
- * @Description: 病历保存
- * @date 2018年11月16日 下午3:35:05
- */
-@Getter
-@Setter
-public class TemplateInfosVO {
-	@NotBlank(message = "请输入模板名字")
-	private String modeName;//模板名字
-	@NotNull(message = "请输入医生id")
-	private Long doctorId;//医生id
-	@NotNull(message = "请输入医院id")
-	private Long hospitalId;//医院id
-	@NotNull(message = "请输入部门id")
-	private Long hospitalDeptId;//部门id
-	@NotNull(message = "请输入性别")
-	private Integer sex;//性别
-	@NotBlank(message = "请输入模板类型")
-	private String modeType;//模板类型
-	@NotNull(message = "请输入预览文本")
-	private ContentsVO preview;//预览文本
-	@NotBlank(message = "请输入模板数据")
-	private String dataJson;//模板数据
-}
+package com.diagbot.vo;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: 病历保存
+ * @date 2018年11月16日 下午3:35:05
+ */
+@Getter
+@Setter
+public class TemplateInfosVO {
+	@NotBlank(message = "请输入模板名字")
+	private String modeName;//模板名字
+	@NotNull(message = "请输入医生id")
+	private Long doctorId;//医生id
+	@NotNull(message = "请输入医院id")
+	private Long hospitalId;//医院id
+	@NotNull(message = "请输入部门id")
+	private Long hospitalDeptId;//部门id
+	@NotNull(message = "请输入性别")
+	private Integer sex;//性别
+	@NotBlank(message = "请输入模板类型")
+	private String modeType;//模板类型
+	@NotNull(message = "请输入预览文本")
+	private ContentsVO preview;//预览文本
+	@NotBlank(message = "请输入模板数据")
+	private String dataJson;//模板数据
+}

+ 1 - 0
icss-service/src/main/java/com/diagbot/web/DictionaryInfoController.java

@@ -40,4 +40,5 @@ public class DictionaryInfoController {
         Map<Long, List<DictionaryInfoDTO>> data = dictionaryFacade.getList();
         return RespDTO.onSuc(data);
     }
+
 }

+ 13 - 2
icss-service/src/main/java/com/diagbot/web/DoctorInfoController.java

@@ -2,9 +2,11 @@ package com.diagbot.web;
 
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.DoctorInfoDTO;
+import com.diagbot.dto.HospitalDeptInfoAllDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.DoctorInfoFacade;
 import com.diagbot.vo.DoctorInfoVO;
+import com.diagbot.vo.HospitalCodeVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,8 +31,8 @@ import java.util.List;
 @RequestMapping("/doctorInfo")
 @Api(value = "医生信息API", tags = { "医生信息API" })
 @SuppressWarnings("unchecked")
-@ApiIgnore
-@Deprecated
+//@ApiIgnore
+//@Deprecated
 public class DoctorInfoController {
 
     @Autowired
@@ -42,8 +44,17 @@ public class DoctorInfoController {
                     "doctorCode: 医生编号,必填<br>")
     @PostMapping("/getDoctorInfo")
     @SysLogger("getDoctorInfo")
+    @ApiIgnore
     public RespDTO<List<DoctorInfoDTO>> getDoctorInfo(@Valid @RequestBody DoctorInfoVO doctorInfoVo) {
         List<DoctorInfoDTO> data = doctorInfoFacade.getDoctorInfo(doctorInfoVo);
         return RespDTO.onSuc(data);
     }
+
+    @ApiOperation(value = "根据医院编码搜索医院所有科室信息[by:wangfeng] ", notes = "hospitalCode:医院编码<br>")
+    @PostMapping("/getHospitalDeptInfoAll")
+    @SysLogger("getHospitalDeptInfoAll")
+    public RespDTO<List<HospitalDeptInfoAllDTO>> getHospitalDeptInfoAll(@RequestBody @Valid HospitalCodeVo hospitalCodeVo) {
+        List<HospitalDeptInfoAllDTO> data = doctorInfoFacade.getHospitalDeptInfoAll(hospitalCodeVo);
+        return RespDTO.onSuc(data);
+    }
 }

+ 61 - 54
icss-service/src/main/java/com/diagbot/web/SysSetController.java

@@ -1,54 +1,61 @@
-package com.diagbot.web;
-
-import com.diagbot.annotation.SysLogger;
-import com.diagbot.dto.GetHospitalRankInfoDTO;
-import com.diagbot.dto.RespDTO;
-import com.diagbot.dto.SysSetInfoDTO;
-import com.diagbot.facade.SysSetFacade;
-import com.diagbot.vo.GetHospitalRankInfoVO;
-import com.diagbot.vo.HospitalSetVO;
-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;
-
-import javax.validation.Valid;
-import java.util.List;
-
-/**
- * <p>
- * 医院所有配置信息 前端控制器
- * </p>
- *
- * @author wangfeng
- * @since 2019-06-12
- */
-@RestController
-@RequestMapping("/sysSet")
-@Api(value = "配置信息API", tags = { "配置信息API" })
-@SuppressWarnings("unchecked")
-public class SysSetController {
-
-    @Autowired
-    SysSetFacade sysSetFacade;
-
-    @ApiOperation(value = "根据医院编码获取配置信息[by:wangfeng]", notes = "hospitalCode :医院code  必填<br> ")
-    @PostMapping("/getSysSetInfoDatas")
-    @SysLogger("getSysSetInfoDatas")
-    public RespDTO<List<SysSetInfoDTO>> getSysSetInfoDatas(@Valid @RequestBody HospitalSetVO hospitalSetVO) {
-
-        List<SysSetInfoDTO> data = sysSetFacade.getSysSetInfoData(hospitalSetVO);
-
-        return RespDTO.onSuc(data);
-    }
-
-    @ApiOperation(value = "获取大小医院信息[by:rengb]")
-    @PostMapping("/getHospitalRankInfo")
-    @SysLogger("getHospitalRankInfo")
-    public RespDTO<GetHospitalRankInfoDTO> getHospitalRankInfo(@Valid @RequestBody GetHospitalRankInfoVO getHospitalRankInfoVO) {
-        return RespDTO.onSuc(sysSetFacade.getHospitalRankInfo(getHospitalRankInfoVO));
-    }
-}
+package com.diagbot.web;
+
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.GetHospitalRankInfoDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.SysSetInfoDTO;
+import com.diagbot.facade.SysSetFacade;
+import com.diagbot.vo.GetHospitalRankInfoVO;
+import com.diagbot.vo.HospitalCodeSetVO;
+import com.diagbot.vo.HospitalSetVO;
+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;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * <p>
+ * 医院所有配置信息 前端控制器
+ * </p>
+ *
+ * @author wangfeng
+ * @since 2019-06-12
+ */
+@RestController
+@RequestMapping("/sysSet")
+@Api(value = "配置信息API", tags = { "配置信息API" })
+@SuppressWarnings("unchecked")
+public class SysSetController {
+
+    @Autowired
+    SysSetFacade sysSetFacade;
+
+    @ApiOperation(value = "根据医院编码获取配置信息[by:wangfeng]", notes = "hospitalCode :医院code  必填<br> ")
+    @PostMapping("/getSysSetInfoDatas")
+    @SysLogger("getSysSetInfoDatas")
+    public RespDTO<List<SysSetInfoDTO>> getSysSetInfoDatas(@Valid @RequestBody HospitalSetVO hospitalSetVO) {
+
+        List<SysSetInfoDTO> data = sysSetFacade.getSysSetInfoData(hospitalSetVO);
+
+        return RespDTO.onSuc(data);
+    }
+
+    @ApiOperation(value = "获取大小医院信息[by:rengb]")
+    @PostMapping("/getHospitalRankInfo")
+    @SysLogger("getHospitalRankInfo")
+    public RespDTO<GetHospitalRankInfoDTO> getHospitalRankInfo(@Valid @RequestBody GetHospitalRankInfoVO getHospitalRankInfoVO) {
+        return RespDTO.onSuc(sysSetFacade.getHospitalRankInfo(getHospitalRankInfoVO));
+    }
+    @ApiOperation(value = "获取校验管理员身份[by:wangfeng]")
+    @PostMapping("/getAdminCheckout")
+    @SysLogger("getAdminCheckout")
+    public RespDTO<Boolean> getAdminCheckout(@Valid @RequestBody HospitalCodeSetVO hospitalCodeSetVO){
+        return RespDTO.onSuc(sysSetFacade.getAdminCheckout(hospitalCodeSetVO));
+    }
+}

+ 103 - 0
icss-service/src/main/java/com/diagbot/web/TemplateInfoAdminController.java

@@ -0,0 +1,103 @@
+package com.diagbot.web;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.TemplateInfoDTO;
+import com.diagbot.dto.TemplateInfoPageDTO;
+import com.diagbot.facade.TemplateAdminFacade;
+import com.diagbot.vo.TemplateAdminIdsVO;
+import com.diagbot.vo.TemplateIdVO;
+import com.diagbot.vo.TemplateInfoAdminPageVO;
+import com.diagbot.vo.TemplateInfoRevampVO;
+import com.diagbot.vo.TemplateInfosVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+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;
+
+import javax.validation.Valid;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2019-12-09 18:37
+ */
+@RestController
+@RequestMapping("/templateAdmin")
+@Api(value = "管理员病历模板API[by:wangfeng]", tags = { "WF——管理员病历模板API" })
+@SuppressWarnings("unchecked")
+public class TemplateInfoAdminController {
+
+    @Autowired
+    TemplateAdminFacade templateAdminFacade;
+
+    @ApiOperation(value = "根据模板id修改模板名称[by:wangfeng]", notes = "id;//模板</br>modeName;"
+            + "//模板名</br>doctorId;//医生id</br>hospitalId;//医院id</br>hospitalDeptId;//部门id</br>")
+    @PostMapping("/updateByAdminNames")
+    @SysLogger("updateByAdminNames")
+    @Transactional
+    public RespDTO<Boolean> updateByAdminNames(@Valid @RequestBody TemplateInfoRevampVO templateInfoRevampVO) {
+
+        boolean res = templateAdminFacade.updateByIdUsName(templateInfoRevampVO);
+
+        return RespDTO.onSuc(res);
+    }
+
+
+    @ApiOperation(value = "保存病历模板[by:wangfeng]", notes = "modeName;//模板名字</br>" +
+            "doctorId;//医生id</br>hospitalId;//医院id</br>hospitalDeptId;//部门id</br>" +
+            "modeType;//模板类型</br>preview;//预览文本</br>" +
+            "{chief;//主诉present;//现病史other;//其他史vital;//查体lis;//化验pacs;//辅检diag;//诊断advice;//医嘱}</br>" +
+            "dataJson;//模板数据</br>")
+    @PostMapping("/saveTemplateAdmin")
+    @SysLogger("saveTemplateAdmin")
+    @Transactional
+    public RespDTO<Boolean> saveTemplateAdmin(@Valid @RequestBody TemplateInfosVO templateInfosVO) {
+
+        boolean res = templateAdminFacade.saveTemplateInfo(templateInfosVO);
+
+        return RespDTO.onSuc(res);
+    }
+
+    @ApiOperation(value = "根据模板id批量删除病历模板[by:wangfeng]", notes = "ids: 模板ids<br>'ids':'1,2,3,4,5,6'")
+    @PostMapping("/cancelTemplateAdminb")
+    @SysLogger("cancelTemplateAdminb")
+    @Transactional
+    public RespDTO<Boolean> cancelTemplateAdminb(@Valid @RequestBody TemplateAdminIdsVO templateInfosIdVO) {
+
+        boolean res = templateAdminFacade.cancelTemplateInfo(templateInfosIdVO);
+
+        return RespDTO.onSuc(res);
+    }
+
+    @ApiOperation(value = "分页查询病历模板列表[by:wangfeng]",
+            notes = "doctorId: 医生id<br>"
+                    + "dospitalId:医院编码<br>"
+                    + "deptId:部门id<br>"
+                    + "type:模式<br>"
+                    + "sex:性别<br>"
+                    + "name:模板名称")
+    @PostMapping("/getTemplatePageAlls")
+    @SysLogger("getTemplatePageAlls")
+    public RespDTO<IPage<TemplateInfoPageDTO>> getTemplatePageAll(@Valid @RequestBody TemplateInfoAdminPageVO templateInfoPageVO) {
+
+        IPage<TemplateInfoPageDTO> data = templateAdminFacade.getTemplatePageAlls(templateInfoPageVO, templateInfoPageVO);
+
+        return RespDTO.onSuc(data);
+    }
+
+    @ApiOperation(value = "根据模板id获取病历模板内容[by:wangfeng]", notes = "id: 请输入模板id")
+    @PostMapping("/getTemplateIdAlls")
+    @SysLogger("getTemplateIdAlls")
+    public RespDTO<TemplateInfoDTO> getTemplateIdAll(@Valid @RequestBody TemplateIdVO templateIdVO) {
+
+        TemplateInfoDTO data = templateAdminFacade.getTemplateIdAlls(templateIdVO);
+
+        return RespDTO.onSuc(data);
+    }
+}

+ 6 - 7
icss-service/src/main/java/com/diagbot/web/TemplateInfoController.java

@@ -1,11 +1,9 @@
 package com.diagbot.web;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.TemplateInfoDTO;
-import com.diagbot.dto.TemplateInfoPageDTO;
-import com.diagbot.entity.TemplateInfo;
+import com.diagbot.dto.TemplateInfoPageAllDTO;
 import com.diagbot.facade.TemplateInfoFacade;
 import com.diagbot.vo.TemplateIdVO;
 import com.diagbot.vo.TemplateInfoPageVO;
@@ -24,6 +22,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author wangfeng
@@ -43,9 +42,9 @@ public class TemplateInfoController {
             notes = "doctorId: 医生id<br>" + "dospitalId:医院编码<br>" + "deptId:部门id<br>" + "type:模式<br>")
     @PostMapping("/getByDoctorIdTemplates")
     @SysLogger("getByDoctorIdTemplates")
-    public RespDTO<TemplateInfo> getByDoctorIdTemplate(@Valid @RequestBody TemplateInfoVO templateInfoVO) {
+    public RespDTO<Map<Integer, List<TemplateInfoDTO>>> getByDoctorIdTemplate(@Valid @RequestBody TemplateInfoVO templateInfoVO) {
 
-        List<TemplateInfoDTO> data = templateInfoFacade.findByDoctorIdTemplates(templateInfoVO);
+        Map<Integer, List<TemplateInfoDTO>> data = templateInfoFacade.findByDoctorIdTemplates(templateInfoVO);
 
         return RespDTO.onSuc(data);
     }
@@ -98,9 +97,9 @@ public class TemplateInfoController {
                     + "name:模板名称")
     @PostMapping("/getTemplatePageAlls")
     @SysLogger("getTemplatePageAlls")
-    public RespDTO<IPage<TemplateInfoPageDTO>> getTemplatePageAll(@Valid @RequestBody TemplateInfoPageVO templateInfoPageVO) {
+    public RespDTO<TemplateInfoPageAllDTO> getTemplatePageAll(@Valid @RequestBody TemplateInfoPageVO templateInfoPageVO) {
 
-        IPage<TemplateInfoPageDTO> data = templateInfoFacade.getTemplatePageAlls(templateInfoPageVO, templateInfoPageVO);
+        TemplateInfoPageAllDTO data = templateInfoFacade.getTemplatePageAlls(templateInfoPageVO, templateInfoPageVO);
 
         return RespDTO.onSuc(data);
     }

+ 5 - 0
icss-service/src/main/resources/mapper/TemplateInfoMapper.xml

@@ -18,6 +18,7 @@
 		<result column="type" property="type" />
 		<result column="preview" property="preview" />
 		<result column="data_json" property="dataJson" />
+	<result column="template_type" property="templateType" />
 		<result column="remark" property="remark" />
 	</resultMap>
 	<!--根据医生id查询该医生保存的病历模板 -->
@@ -73,6 +74,7 @@
 		TYPE AS type,
 		sex AS sex,
 		preview AS preview,
+		template_type AS templateType,
 		remark AS
 		remark
 		FROM
@@ -86,6 +88,9 @@
 		<if test="hospitalId != null">
 			and hospital_id = #{hospitalId}
 		</if>
+		<if test="templateType != null">
+		and template_type = #{templateType}
+		</if>
 		<if test="type != null and type != ''">
 			and type = #{type}
 		</if>

+ 1 - 1
prec-service/src/main/java/com/diagbot/facade/InquiryInfoFacade.java

@@ -240,7 +240,7 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
             i.setPatientAge(DateUtil.yearCompare(i.getPatientBirthday(), DateUtil.now()));
         });
 
-        if (hisInquirysVO.getIsHaveDetail() == 1) {
+        if (ListUtil.isNotEmpty(hisInquiryDTOList) && hisInquirysVO.getIsHaveDetail() == 1) {
             List<Long> inquiryIdList = hisInquiryDTOList.stream().map(i -> i.getId()).collect(Collectors.toList());
 
             QueryWrapper<InquiryDetail> inquiryDetailQe = new QueryWrapper<>();

+ 18 - 0
tran-service/src/main/java/com/diagbot/dto/DoctorInfoFindDTO.java

@@ -0,0 +1,18 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2019-12-09 19:26
+ */
+@Getter
+@Setter
+public class DoctorInfoFindDTO {
+    private Long hospitalId;
+    private String hospitalCode;
+    private Long doctorId;
+    private String doctorCode;
+}

+ 40 - 0
tran-service/src/main/java/com/diagbot/dto/HospitalDeptInfoAllDTO.java

@@ -0,0 +1,40 @@
+package com.diagbot.dto;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2019-12-09 14:31
+ */
+@Setter
+@Getter
+public class HospitalDeptInfoAllDTO {
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 朗通科室名称
+     */
+    private String conceptDeptName;
+    /**
+     * 医院科室编码
+     */
+    private String code;
+
+    /**
+     * 医院科室名称
+     */
+    private String name;
+
+
+}

+ 2 - 4
tran-service/src/main/java/com/diagbot/dto/RegisterInfoDTO.java

@@ -1,8 +1,7 @@
 package com.diagbot.dto;
 
 import com.diagbot.entity.PatientInfo;
-import lombok.Getter;
-import lombok.Setter;
+import lombok.Data;
 
 import java.util.List;
 
@@ -11,8 +10,7 @@ import java.util.List;
  * @author: rengb
  * @time: 2018/11/19 18:56
  */
-@Getter
-@Setter
+@Data
 public class RegisterInfoDTO {
 
 	/**

+ 6 - 0
tran-service/src/main/java/com/diagbot/facade/DoctorInfoFacade.java

@@ -4,7 +4,9 @@ import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
 
+import com.diagbot.dto.DoctorInfoFindDTO;
 import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.vo.HospitalCodeSetVO;
 import org.springframework.stereotype.Component;
 
 import com.diagbot.dto.DoctorInfoDTO;
@@ -43,4 +45,8 @@ public class DoctorInfoFacade extends DoctorInfoServiceImpl {
                 .collect(Collectors.toMap(DoctorInfo::getId, i -> i));
         return doctorInfoMap;
     }
+
+    public DoctorInfoFindDTO findDoctorInfo(HospitalCodeSetVO hospitalCodeSetVO) {
+        return this.baseMapper.findDoctorInfo(hospitalCodeSetVO);
+    }
 }

+ 22 - 0
tran-service/src/main/java/com/diagbot/facade/HospitalDeptFacade.java

@@ -2,6 +2,7 @@ package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.dto.HospitalDeptDTO;
+import com.diagbot.dto.HospitalDeptInfoAllDTO;
 import com.diagbot.dto.HospitalDeptInfoDTO;
 import com.diagbot.entity.HospitalDept;
 import com.diagbot.enums.IsDeleteEnum;
@@ -12,6 +13,8 @@ import com.diagbot.service.impl.HospitalDeptServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.ListUtil;
+import com.diagbot.util.StringUtil;
+import com.diagbot.vo.HospitalCodeVo;
 import com.diagbot.vo.HospitalDeptInfoVO;
 import com.diagbot.vo.HospitalDeptVO;
 import com.google.common.collect.Lists;
@@ -93,4 +96,23 @@ public class HospitalDeptFacade extends HospitalDeptServiceImpl {
         }
         return retMap;
     }
+
+    /**
+     *
+     * @param hospitalCodeVo
+     * @return
+     */
+    public List<HospitalDeptInfoAllDTO> getHospitalDeptInfoAll(HospitalCodeVo hospitalCodeVo) {
+        QueryWrapper<HospitalDept> hospitalDeptQueryWrapper = new QueryWrapper<>();
+        hospitalDeptQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("hospital_code", hospitalCodeVo.getHospitalCode())
+                .eq("status", StatusEnum.Enable.getKey())
+                .like(StringUtil.isNotBlank(hospitalCodeVo.getThirdpartyName()),
+                        "name",hospitalCodeVo.getThirdpartyName())
+                .like(StringUtil.isNotBlank(hospitalCodeVo.getDeptInfoName()),
+                        "concept_dept_name", hospitalCodeVo.getDeptInfoName());
+        List<HospitalDept> hospitalDeptList = this.list(hospitalDeptQueryWrapper);
+        List<HospitalDeptInfoAllDTO> data = BeanUtil.listCopyTo(hospitalDeptList, HospitalDeptInfoAllDTO.class);
+        return data;
+    }
 }

+ 198 - 106
tran-service/src/main/java/com/diagbot/facade/PatientInfoDjFacade.java

@@ -1,5 +1,6 @@
 package com.diagbot.facade;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.dto.GetTopPatientInfoDjDTO;
 import com.diagbot.dto.RegisterInfoDTO;
@@ -118,10 +119,10 @@ public class PatientInfoDjFacade extends PatientInfoServiceImpl {
     public List<SignInDTO> signIn(SignInVO signInVO) {
         List<SignInDTO> retList = null;
 
-        RegisterInfoDTO rif = getRegisterInfo(signInVO);
-        if (rif != null) {
-            generateByRif(rif);
-            retList = rifConverSin(rif);
+        List<RegisterInfoDTO> rifList = getRegisterInfo(signInVO);
+        if (ListUtil.isNotEmpty(rifList)) {
+            generateByRif(rifList);
+            retList = rifConverSin(rifList);
         } else {
             retList = autoGenePatinfo(signInVO);
         }
@@ -207,28 +208,30 @@ public class PatientInfoDjFacade extends PatientInfoServiceImpl {
     /**
      * his返回的挂号信息转化给前端
      *
-     * @param rif
+     * @param rifList
      * @return
      */
-    private List<SignInDTO> rifConverSin(RegisterInfoDTO rif) {
+    private List<SignInDTO> rifConverSin(List<RegisterInfoDTO> rifList) {
         List<SignInDTO> retList = Lists.newArrayList();
-        rif.getDetail().forEach(i -> {
-            SignInDTO signInDTO = new SignInDTO(
-                    rif.getHospitalCode(),
-                    rif.getHospitalName(),
-                    rif.getSonHospitalCode(),
-                    rif.getSonHospitalName(),
-                    i.getHospitalDeptCode(),
-                    i.getHospitalDeptName(),
-                    i.getDoctorInfo().getCode(),
-                    i.getDoctorInfo().getName(),
-                    rif.getPatientInfo().getCode(),
-                    rif.getPatientInfo().getName(),
-                    i.getRecordTime(),
-                    i.getRecordId(),
-                    i.getRegisterNum()
-            );
-            retList.add(signInDTO);
+        rifList.forEach(rif -> {
+            rif.getDetail().forEach(i -> {
+                SignInDTO signInDTO = new SignInDTO(
+                        rif.getHospitalCode(),
+                        rif.getHospitalName(),
+                        rif.getSonHospitalCode(),
+                        rif.getSonHospitalName(),
+                        i.getHospitalDeptCode(),
+                        i.getHospitalDeptName(),
+                        i.getDoctorInfo() == null ? null : i.getDoctorInfo().getCode(),
+                        i.getDoctorInfo() == null ? null : i.getDoctorInfo().getName(),
+                        rif.getPatientInfo().getCode(),
+                        rif.getPatientInfo().getName(),
+                        i.getRecordTime(),
+                        i.getRecordId(),
+                        i.getRegisterNum()
+                );
+                retList.add(signInDTO);
+            });
         });
         return retList;
     }
@@ -236,82 +239,101 @@ public class PatientInfoDjFacade extends PatientInfoServiceImpl {
     /**
      * 由挂号信息检查病人科室医生信息,有更新,无插入
      *
-     * @param rif
+     * @param rifList
      */
-    private void generateByRif(RegisterInfoDTO rif) {
-        String hospitalCode = rif.getHospitalCode();
-        String hospitalName = rif.getHospitalName();
-        String sonHospitalCode = rif.getSonHospitalCode();
-        String sonHospitalName = rif.getSonHospitalName();
-
-        PatientInfo patientInfo = rif.getPatientInfo();
+    private void generateByRif(List<RegisterInfoDTO> rifList) {
+        String hospitalCode = rifList.get(0).getHospitalCode();
+        String hospitalName = rifList.get(0).getHospitalName();
+        PatientInfo patientInfo = rifList.get(0).getPatientInfo();
         QueryWrapper<PatientInfo> patientInfoQe = new QueryWrapper<>();
         patientInfoQe.eq("hospital_code", hospitalCode);
         patientInfoQe.eq("code", patientInfo.getCode());
         PatientInfo patientInfoQuery = getOne(patientInfoQe, false);
-        if (patientInfoQuery == null) {
-            patientInfo.setHospitalCode(hospitalCode);
-            save(patientInfo);
-        } else {
-            BeanUtil.copyProperties(patientInfo, patientInfoQuery);
-            updateById(patientInfoQuery);
+        PatientInfo saveOrUpat = new PatientInfo();
+        Long patId = null;
+        if (patientInfoQuery != null) {
+            patId = patientInfoQuery.getId();
+            BeanUtil.copyProperties(patientInfoQuery, saveOrUpat);
         }
+        BeanUtil.copyProperties(patientInfo, saveOrUpat);
+        saveOrUpat.setId(patId);
+        saveOrUpat.setHospitalCode(hospitalCode);
+        saveOrUpdate(saveOrUpat);
+
+        List<String> doctorCodeList = Lists.newArrayList();
+        List<DoctorInfo> doctorInfoList = Lists.newArrayList();
+        rifList.forEach(rif -> {
+            String sonHospitalCode = rif.getSonHospitalCode();
+            String sonHospitalName = rif.getSonHospitalName();
+
+            List<String> deptCodeList = rif.getDetail().stream()
+                    .filter(i -> StringUtil.isNotBlank(i.getHospitalDeptCode()) && StringUtil.isNotBlank(i.getHospitalDeptName()))
+                    .map(i -> i.getHospitalDeptCode())
+                    .collect(Collectors.toList());
+            QueryWrapper<HospitalDept> hospitalDeptQe = new QueryWrapper<>();
+            hospitalDeptQe.eq("hospital_code", StringUtil.isBlank(sonHospitalCode) ? hospitalCode : sonHospitalCode);
+            hospitalDeptQe.in("code", deptCodeList);
+            Map<String, HospitalDept> deptMap = hospitalDeptFacade.list(hospitalDeptQe)
+                    .stream()
+                    .collect(Collectors.toMap(HospitalDept::getCode, i -> i));
+            List<HospitalDept> deptSaveOrUpdateList = Lists.newArrayList();
+            rif.getDetail().stream()
+                    .filter(i -> StringUtil.isNotBlank(i.getHospitalDeptCode()) && StringUtil.isNotBlank(i.getHospitalDeptName()))
+                    .forEach(i -> {
+                        HospitalDept hospitalDeptQuery = deptMap.get(i.getHospitalDeptCode());
+                        if (hospitalDeptQuery == null) {
+                            HospitalDept hospitalDept = new HospitalDept();
+                            hospitalDept.setHospitalCode(StringUtil.isNotBlank(sonHospitalCode) ? sonHospitalCode : hospitalCode);
+                            hospitalDept.setHospitalName(StringUtil.isNotBlank(sonHospitalCode) ? sonHospitalName : hospitalName);
+                            hospitalDept.setCode(i.getHospitalDeptCode());
+                            hospitalDept.setName(i.getHospitalDeptName());
+                            hospitalDept.setconceptDeptName("全科");
+                            deptSaveOrUpdateList.add(hospitalDept);
+                        } else {
+                            hospitalDeptQuery.setName(i.getHospitalDeptName());
+                            deptSaveOrUpdateList.add(hospitalDeptQuery);
+                        }
+                    });
+            if (ListUtil.isNotEmpty(deptSaveOrUpdateList)) {
+                hospitalDeptService.saveOrUpdateBatch(deptSaveOrUpdateList);
+            }
 
-        List<String> deptCodeList = rif.getDetail().stream()
-                .filter(i -> StringUtil.isNotBlank(i.getHospitalDeptCode()) && StringUtil.isNotBlank(i.getHospitalDeptName()))
-                .map(i -> i.getHospitalDeptCode())
-                .collect(Collectors.toList());
-        QueryWrapper<HospitalDept> hospitalDeptQe = new QueryWrapper<>();
-        hospitalDeptQe.eq("hospital_code", StringUtil.isBlank(sonHospitalCode) ? hospitalCode : sonHospitalCode);
-        hospitalDeptQe.in("code", deptCodeList);
-        Map<String, HospitalDept> deptMap = hospitalDeptFacade.list(hospitalDeptQe)
-                .stream()
-                .collect(Collectors.toMap(HospitalDept::getCode, i -> i));
-        List<HospitalDept> deptSaveOrUpdateList = Lists.newArrayList();
-        rif.getDetail().stream()
-                .filter(i -> StringUtil.isNotBlank(i.getHospitalDeptCode()) && StringUtil.isNotBlank(i.getHospitalDeptName()))
-                .forEach(i -> {
-                    HospitalDept hospitalDeptQuery = deptMap.get(i.getHospitalDeptCode());
-                    if (hospitalDeptQuery == null) {
-                        HospitalDept hospitalDept = new HospitalDept();
-                        hospitalDept.setHospitalCode(StringUtil.isNotBlank(sonHospitalCode) ? sonHospitalCode : hospitalCode);
-                        hospitalDept.setHospitalName(StringUtil.isNotBlank(sonHospitalCode) ? sonHospitalName : hospitalName);
-                        hospitalDept.setCode(i.getHospitalDeptCode());
-                        hospitalDept.setName(i.getHospitalDeptName());
-                        hospitalDept.setconceptDeptName("全科");
-                        deptSaveOrUpdateList.add(hospitalDept);
-                    } else {
-                        hospitalDeptQuery.setName(i.getHospitalDeptName());
-                        deptSaveOrUpdateList.add(hospitalDeptQuery);
-                    }
-                });
-        if (ListUtil.isNotEmpty(deptSaveOrUpdateList)) {
-            hospitalDeptService.saveBatch(deptSaveOrUpdateList);
+            rif.getDetail().stream()
+                    .filter(i -> i.getDoctorInfo() != null).map(i -> i.getDoctorInfo())
+                    .filter(i -> StringUtil.isNotBlank(i.getCode()) && StringUtil.isNotBlank(i.getName()))
+                    .forEach(i -> {
+                        doctorCodeList.add(i.getCode());
+                        doctorInfoList.add(i);
+                    });
+        });
+
+        if (ListUtil.isEmpty(doctorCodeList)) {
+            return;
         }
 
-        List<String> doctorCodeList = rif.getDetail().stream()
-                .filter(i -> i.getDoctorInfo() != null).map(i -> i.getDoctorInfo())
-                .filter(i -> StringUtil.isNotBlank(i.getCode()) && StringUtil.isNotBlank(i.getName()))
-                .map(i -> i.getCode()).collect(Collectors.toList());
         QueryWrapper<DoctorInfo> doctorInfoQe = new QueryWrapper<>();
         doctorInfoQe.eq("hospital_code", hospitalCode);
         doctorInfoQe.in("code", doctorCodeList);
         Map<String, DoctorInfo> doctorMap = doctorInfoFacade.list(doctorInfoQe)
                 .stream().collect(Collectors.toMap(DoctorInfo::getCode, i -> i));
         List<DoctorInfo> doctorSaveOrUpdateList = Lists.newArrayList();
-        rif.getDetail().stream()
-                .filter(i -> i.getDoctorInfo() != null).map(i -> i.getDoctorInfo())
-                .filter(i -> StringUtil.isNotBlank(i.getCode()) && StringUtil.isNotBlank(i.getName()))
-                .forEach(i -> {
-                    DoctorInfo doctorInfo = new DoctorInfo();
-                    DoctorInfo doctorInfoQuery = doctorMap.get(i.getCode());
-                    if (doctorInfoQuery != null) {
-                        BeanUtil.copyProperties(doctorInfoQuery, doctorInfo);
-                    }
-                    BeanUtil.copyProperties(i, doctorInfo);
-                    doctorInfo.setHospitalCode(hospitalCode);
-                    doctorSaveOrUpdateList.add(doctorInfo);
-                });
+        doctorInfoList.forEach(i -> {
+            DoctorInfo doctorInfoQuery = doctorMap.get(i.getCode());
+            DoctorInfo doctorInfo = new DoctorInfo();
+            Long docId = null;
+            if (doctorInfoQuery != null) {
+                docId = doctorInfoQuery.getId();
+                BeanUtil.copyProperties(doctorInfoQuery, doctorInfo);
+            }
+            BeanUtil.copyProperties(i, doctorInfo);
+            doctorInfo.setHospitalCode(hospitalCode);
+            doctorInfo.setId(docId);
+            if (!doctorSaveOrUpdateList.stream()
+                    .map(doc -> doc.getCode()).distinct()
+                    .collect(Collectors.toList()).contains(doctorInfo.getCode())) {
+                doctorSaveOrUpdateList.add(doctorInfo);
+            }
+        });
         if (ListUtil.isNotEmpty(doctorSaveOrUpdateList)) {
             doctorInfoService.saveOrUpdateBatch(doctorSaveOrUpdateList);
         }
@@ -326,28 +348,98 @@ public class PatientInfoDjFacade extends PatientInfoServiceImpl {
      * @param signInVO
      * @return
      */
-    private RegisterInfoDTO getRegisterInfo(SignInVO signInVO) {
-        //        String time = DateUtil.formatDateTime(new Date());
-        //        List<SignInDTO> list = Lists.newArrayList();
-        //        list.add(new SignInDTO("A001", "浙江大学医学院附属邵逸夫医院",
-        //                "D01", "全科", "YS001", "付医生",
-        //                "1600", "王明明", time, "4468352", "15"));
-        //        list.add(new SignInDTO("A001", "浙江大学医学院附属邵逸夫医院",
-        //                "D02", "儿科", "YS001", "付医生",
-        //                "1600", "王明明", time, "4468352", "18"));
-        //        if (signInVO.getPatientInfoType().equals("101")) {
-        //            if (signInVO.getPatientInfo().equals("10123439991230120X")) {
-        //                list.remove(1);
-        //            } else if (signInVO.getPatientInfo().equals("666666180002301234")) {
-        //                list.clear();
-        //            } else if (signInVO.getPatientInfo().equals("100000201901010000")) {
-        //                return null;
-        //            }
-        //        }
-
-        RegisterInfoDTO registerInfoDTO = new RegisterInfoDTO();
-
-        return null;
+    private List<RegisterInfoDTO> getRegisterInfo(SignInVO signInVO) {
+        if (!signInVO.getHospitalCode().equals("33010400")) {
+            return null;
+        }
+        String retJson = "  [{"
+                + "\"hospitalCode\": \"33010400\","
+                + "\"hospitalName\": \"江干区卫计局\","
+                + "\"sonHospitalCode\": \"33010480\","
+                + "\"sonHospitalName\": \"四季青街道社区卫生服务中心\","
+                + "\"patientInfo\": {"
+                + "	\"birthday\": \"1984-10-08 10:20:23\","
+                + "\"code\": \"1747\","
+                + "\"idNo\": \"330104198410083034\","
+                + "	\"hospitalCode\": \"33010400\","
+                + "	\"sex\": 1,"
+                + "	\"identityNum\": \"330104198410083034\","
+                + "	\"name\": \"沈利峰\""
+                + "},"
+                + "\"detail\": [{"
+                + " \"hospitalDeptCode\": \"2127\","
+                + "   \"hospitalDeptName\": \"中医科\","
+                //                + "  \"doctorInfo\": {"
+                //                + "    \"code\": \"000\","
+                //                + "     \"hospitalCode\": \"33010400\","
+                //                + "    \"name\": \"普通\""
+                //                + "},"
+                //                + "     \"recordId\": \"9043516\","
+                + "  \"recordTime\": \"2019-12-05 12:29:55\","
+                + " \"registerNum\": \"1\""
+                + "},{"
+                + "\"hospitalDeptCode\": \"2533\","
+                + " \"hospitalDeptName\": \"机神全科\","
+                //                + " \"doctorInfo\": {"
+                //                + "\"code\": \"000\","
+                //                + " \"hospitalCode\": \"33010400\","
+                //                + "\"name\": \"普通\""
+                //                + "},"
+                //                + "  \"recordId\": \"9043512\","
+                + " \"recordTime\": \"2019-12-05 12:23:09\","
+                + " \"registerNum\": \"1\""
+                + "}]"
+                + "},"
+                + "{"
+                + "  \"hospitalCode\": \"33010400\","
+                + "\"hospitalName\": \"江干区卫计局\","
+                + " \"sonHospitalCode\": \"33010490\","
+                + " \"sonHospitalName\": \"闸弄口街道社区卫生服务中心\","
+                + "\"patientInfo\": {"
+                + " \"birthday\": \"1984-10-08 10:20:23\","
+                + "\"code\": \"1747\","
+                + " \"idNo\": \"330104198410083034\","
+                + " \"hospitalCode\": \"33010400\","
+                + " \"sex\": 1,"
+                + "  \"identityNum\": \"330104198410083034\","
+                + "  \"name\": \"沈利峰\""
+                + "},"
+                + " \"detail\": [{"
+                + "  \"hospitalDeptCode\": \"2127\","
+                + "\"hospitalDeptName\": \"中医科\","
+                //                + " \"doctorInfo\": {"
+                //                + "  \"code\": \"000\","
+                //                + " \"hospitalCode\": \"33010400\","
+                //                + "  \"name\": \"普通\""
+                //                + "},"
+                //                + " \"recordId\": \"9043516\","
+                + " \"recordTime\": \"2019-12-05 12:29:55\","
+                + "  \"registerNum\": \"1\""
+                + "},{"
+                + " \"hospitalDeptCode\": \"2533\","
+                + "    \"hospitalDeptName\": \"机神全科\","
+                //                + "   \"doctorInfo\": {"
+                //                + "   \"code\": \"000\","
+                //                + "  \"hospitalCode\": \"33010400\","
+                //                + "  \"name\": \"普通\""
+                //                + "},"
+                //                + "\"recordId\": \"9043512\","
+                + "   \"recordTime\": \"2019-12-05 12:23:09\","
+                + "  \"registerNum\": \"1\""
+                + "}]"
+                + "}"
+                + "]";
+
+        //        List<RegisterInfoDTO> rifList = GsonUtil.toList(retJson, RegisterInfoDTO.class);
+        List<RegisterInfoDTO> rifList = JSON.parseArray(retJson, RegisterInfoDTO.class);
+        System.out.println(rifList);
+        if (StringUtil.isBlank(signInVO.getSonHospitalCode())){
+            return rifList;
+        }
+
+        Map<String,List<RegisterInfoDTO>> registerInfoDTOListMap = rifList.stream().collect(Collectors.groupingBy(RegisterInfoDTO::getSonHospitalCode));
+
+        return registerInfoDTOListMap.get(signInVO.getSonHospitalCode());
     }
 
     /**

+ 30 - 0
tran-service/src/main/java/com/diagbot/facade/SysSetFacade.java

@@ -1,6 +1,7 @@
 package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.dto.DoctorInfoFindDTO;
 import com.diagbot.dto.GetHospitalRankInfoDTO;
 import com.diagbot.dto.SysHospitalDTO;
 import com.diagbot.dto.SysHospitalDeptInfoDTO;
@@ -16,6 +17,7 @@ import com.diagbot.util.BeanUtil;
 import com.diagbot.util.IntegerUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.vo.GetHospitalRankInfoVO;
+import com.diagbot.vo.HospitalCodeSetVO;
 import com.diagbot.vo.HospitalSetVO;
 import com.diagbot.vo.SysHospitalCodeVO;
 import com.diagbot.vo.SysHospitalInfoVO;
@@ -38,6 +40,8 @@ public class SysSetFacade extends SysSetServiceImpl {
 
     @Autowired
     private HospitalInfoFacade hospitalInfoFacade;
+    @Autowired
+    DoctorInfoFacade doctorInfoFacade;
 
     /**
      * @param hospitalSetVO
@@ -147,4 +151,30 @@ public class SysSetFacade extends SysSetServiceImpl {
         return getHospitalRankInfoDTO;
     }
 
+    /**
+     * @param hospitalCodeSetVO
+     * @return
+     */
+    public Boolean getAdminCheckout(HospitalCodeSetVO hospitalCodeSetVO) {
+        boolean res = false;
+        DoctorInfoFindDTO data = doctorInfoFacade.findDoctorInfo(hospitalCodeSetVO);
+        if (data == null) {
+            throw new CommonException(CommonErrorCode.RPC_ERROR, "该用户不存在");
+        }
+        QueryWrapper<SysSet> sysSetInfo = new QueryWrapper<>();
+        sysSetInfo.eq("is_deleted", IsDeleteEnum.N.getKey());
+        sysSetInfo.eq("hospital_code", data.getHospitalCode());
+        sysSetInfo.eq("code", "template_admin");
+        sysSetInfo.eq("sys_type", SysTypeEnum.ICSS_SERVICE.getKey());
+        sysSetInfo.apply("find_in_set({0}, value)", data.getDoctorCode());
+        if (this.count(sysSetInfo) < 1) {
+            res = false;
+            if (hospitalCodeSetVO.getShowError()){
+                throw new CommonException(CommonErrorCode.RPC_ERROR, "该医院暂无模板管理者配置信息");
+            }
+        } else {
+            res = true;
+        }
+        return res;
+    }
 }

+ 10 - 0
tran-service/src/main/java/com/diagbot/mapper/DoctorInfoMapper.java

@@ -2,7 +2,9 @@ package com.diagbot.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.diagbot.dto.DoctorInfoDTO;
+import com.diagbot.dto.DoctorInfoFindDTO;
 import com.diagbot.entity.DoctorInfo;
+import com.diagbot.vo.HospitalCodeSetVO;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -25,4 +27,12 @@ public interface DoctorInfoMapper extends BaseMapper<DoctorInfo> {
      * @return
      */
     public List<DoctorInfoDTO> getDoctorInfos(@Param("doctorCode") String doctorCode, @Param("hospitalCode") String hospitalCode, @Param("deptCode") String deptCode);
+
+    /**
+     *
+     * @param hospitalCodeSetVO
+     * @return
+     */
+    public DoctorInfoFindDTO findDoctorInfo(HospitalCodeSetVO hospitalCodeSetVO);
+
 }

+ 3 - 0
tran-service/src/main/java/com/diagbot/service/DoctorInfoService.java

@@ -2,7 +2,9 @@ package com.diagbot.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.diagbot.dto.DoctorInfoDTO;
+import com.diagbot.dto.DoctorInfoFindDTO;
 import com.diagbot.entity.DoctorInfo;
+import com.diagbot.vo.HospitalCodeSetVO;
 
 import java.util.List;
 
@@ -26,4 +28,5 @@ public interface DoctorInfoService extends IService<DoctorInfo> {
      * @return
      */
     public List<DoctorInfoDTO> getDoctorInfos(String doctorCode, String hospitalCode, String deptCode);
+
 }

+ 2 - 0
tran-service/src/main/java/com/diagbot/service/SysSetService.java

@@ -21,4 +21,6 @@ public interface SysSetService extends IService<SysSet> {
 	public List<SysSet> querySysSetInfo(HospitalSetVO hospitalSetVO);
 
 	public List<SysHospitalDeptInfoDTO>  getjuniorHospitalData(SysHospitalInfoVO sysHospitalInfoVO);
+
+
 }

+ 3 - 0
tran-service/src/main/java/com/diagbot/service/impl/DoctorInfoServiceImpl.java

@@ -2,9 +2,11 @@ package com.diagbot.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.diagbot.dto.DoctorInfoDTO;
+import com.diagbot.dto.DoctorInfoFindDTO;
 import com.diagbot.entity.DoctorInfo;
 import com.diagbot.mapper.DoctorInfoMapper;
 import com.diagbot.service.DoctorInfoService;
+import com.diagbot.vo.HospitalCodeSetVO;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -24,4 +26,5 @@ public class DoctorInfoServiceImpl extends ServiceImpl<DoctorInfoMapper, DoctorI
     public List<DoctorInfoDTO> getDoctorInfos(String doctorCode, String hospitalCode, String deptCode) {
         return baseMapper.getDoctorInfos(doctorCode, hospitalCode, deptCode);
     }
+
 }

+ 22 - 0
tran-service/src/main/java/com/diagbot/vo/HospitalCodeSetVO.java

@@ -0,0 +1,22 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2019-12-09 14:02
+ */
+@Setter
+@Getter
+public class HospitalCodeSetVO {
+    @NotNull(message = "请输入医院编码")
+    private Long hospitalId;
+    @NotNull(message = "请输入医生编码")
+    private Long doctorId;
+    //是否显示错误
+    private Boolean showError = true;
+}

+ 20 - 0
tran-service/src/main/java/com/diagbot/vo/HospitalCodeVo.java

@@ -0,0 +1,20 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2019-12-09 14:31
+ */
+@Setter
+@Getter
+public class HospitalCodeVo {
+    @NotNull(message = "请输入医院编码")
+    private String hospitalCode;
+    private String deptInfoName;
+    private String thirdpartyName;
+}

+ 10 - 0
tran-service/src/main/java/com/diagbot/vo/SaveInquiryToHisVO.java

@@ -75,4 +75,14 @@ public class SaveInquiryToHisVO {
      */
     private List<ConceptIntroduceDTO> conceptIntroduceDTO;
 
+    /**
+     * 生命体征
+     */
+    private String vitalSigns;
+
+    /**
+     * 除去生命体征的体格检查
+     */
+    private String physicalExcVs;
+
 }

+ 10 - 1
tran-service/src/main/java/com/diagbot/web/HospitalDeptInfoController.java

@@ -6,6 +6,8 @@ import java.util.Map;
 import javax.validation.Valid;
 
 import com.diagbot.dto.HospitalDeptDTO;
+import com.diagbot.dto.HospitalDeptInfoAllDTO;
+import com.diagbot.vo.HospitalCodeVo;
 import com.diagbot.vo.HospitalDeptVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -33,7 +35,6 @@ import springfox.documentation.annotations.ApiIgnore;
 @RequestMapping("/hospitalDeptInfo")
 @Api(value = "医院信息API", tags = { "医院信息API" })
 @SuppressWarnings("unchecked")
-@ApiIgnore
 public class HospitalDeptInfoController {
 
     @Autowired
@@ -65,4 +66,12 @@ public class HospitalDeptInfoController {
         Map<String, List<HospitalDeptDTO>> data = hospitalDeptFacade.hospitalDeptByConceptNames(hospitalDeptVO);
         return RespDTO.onSuc(data);
     }
+
+    @ApiOperation(value = "根据医院编码搜索医院所有科室信息[by:wangfeng] ", notes = "hospitalCode:医院编码<br>")
+    @PostMapping("/getHospitalDeptInfoAll")
+    @SysLogger("getHospitalDeptInfoAll")
+    public RespDTO<List<HospitalDeptInfoAllDTO>> getHospitalDeptInfoAll(@RequestBody @Valid HospitalCodeVo hospitalCodeVo) {
+        List<HospitalDeptInfoAllDTO> data = hospitalDeptFacade.getHospitalDeptInfoAll(hospitalCodeVo);
+        return RespDTO.onSuc(data);
+    }
 }

+ 9 - 0
tran-service/src/main/java/com/diagbot/web/SysSetController.java

@@ -7,6 +7,7 @@ import com.diagbot.dto.SysHospitalDTO;
 import com.diagbot.dto.SysSetInfoDTO;
 import com.diagbot.facade.SysSetFacade;
 import com.diagbot.vo.GetHospitalRankInfoVO;
+import com.diagbot.vo.HospitalCodeSetVO;
 import com.diagbot.vo.HospitalSetVO;
 import com.diagbot.vo.SysHospitalCodeVO;
 import io.swagger.annotations.Api;
@@ -37,6 +38,8 @@ public class SysSetController {
     @Autowired
     SysSetFacade sysSetFacade;
 
+
+
     @ApiOperation(value = "根据医院编码获取配置信息[by:wangfeng]", notes = "hospitalCode :医院code  必填<br> ")
     @PostMapping("/getSysSetInfoDatas")
     @SysLogger("getSysSetInfoDatas")
@@ -61,4 +64,10 @@ public class SysSetController {
         return RespDTO.onSuc(sysSetFacade.getHospitalRankInfo(getHospitalRankInfoVO));
     }
 
+    @ApiOperation(value = "获取校验管理员身份[by:wangfeng]")
+    @PostMapping("/getAdminCheckout")
+    @SysLogger("getAdminCheckout")
+    public RespDTO<Boolean> getAdminCheckout(@Valid @RequestBody HospitalCodeSetVO hospitalCodeSetVO){
+        return RespDTO.onSuc(sysSetFacade.getAdminCheckout(hospitalCodeSetVO));
+    }
 }

+ 31 - 16
tran-service/src/main/resources/mapper/DoctorInfoMapper.xml

@@ -4,22 +4,22 @@
 
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.diagbot.entity.DoctorInfo">
-        <id column="id" property="id" />
-        <result column="is_deleted" property="isDeleted" />
-        <result column="gmt_create" property="gmtCreate" />
-        <result column="gmt_modified" property="gmtModified" />
-        <result column="creator" property="creator" />
-        <result column="modifier" property="modifier" />
-        <result column="hospital_code" property="hospitalCode" />
-        <result column="hospital_dept_code" property="hospitalDeptCode" />
-        <result column="code" property="code" />
-        <result column="name" property="name" />
-        <result column="sex" property="sex" />
-        <result column="id_type" property="idType" />
-        <result column="id_no" property="idNo" />
-        <result column="address" property="address" />
-        <result column="phone" property="phone" />
-        <result column="remark" property="remark" />
+        <id column="id" property="id"/>
+        <result column="is_deleted" property="isDeleted"/>
+        <result column="gmt_create" property="gmtCreate"/>
+        <result column="gmt_modified" property="gmtModified"/>
+        <result column="creator" property="creator"/>
+        <result column="modifier" property="modifier"/>
+        <result column="hospital_code" property="hospitalCode"/>
+        <result column="hospital_dept_code" property="hospitalDeptCode"/>
+        <result column="code" property="code"/>
+        <result column="name" property="name"/>
+        <result column="sex" property="sex"/>
+        <result column="id_type" property="idType"/>
+        <result column="id_no" property="idNo"/>
+        <result column="address" property="address"/>
+        <result column="phone" property="phone"/>
+        <result column="remark" property="remark"/>
     </resultMap>
 
     <select id="getDoctorInfos" resultType="com.diagbot.dto.DoctorInfoDTO">
@@ -32,4 +32,19 @@
             AND b.`code` = #{deptCode}
         </if>
     </select>
+    <select id="findDoctorInfo" resultType="com.diagbot.dto.DoctorInfoFindDTO">
+        SELECT a.id AS doctorId ,
+        a.code AS  doctorCode,
+        b.id AS hospitalId ,
+        b.code AS hospitalCode
+        FROM tran_doctor_info a
+        JOIN tran_hospital_info b ON a.hospital_code = b.code
+        WHERE a.is_deleted = 'N' AND b.is_deleted = 'N'
+        <if test="doctorId != null ">
+         and a.id = #{doctorId}
+        </if>
+        <if test="hospitalId != null ">
+        AND b.id = #{hospitalId}
+        </if>
+    </select>
 </mapper>