ソースを参照

Merge branch 'dev/icss' into debug

gaodm 6 年 前
コミット
b39fdd82f9
69 ファイル変更1718 行追加138 行削除
  1. 0 25
      icss-service/src/main/java/com/diagbot/client/UserServiceClient.java
  2. 0 23
      icss-service/src/main/java/com/diagbot/client/hystrix/UserServiceHystrix.java
  3. 36 0
      icss-service/src/main/java/com/diagbot/dto/InquiryDetailDTO.java
  4. 6 5
      icss-service/src/main/java/com/diagbot/dto/QuestionDTO.java
  5. 16 0
      icss-service/src/main/java/com/diagbot/dto/QuestionUsualDTO.java
  6. 17 0
      icss-service/src/main/java/com/diagbot/dto/SaveInquiryDTO.java
  7. 1 1
      icss-service/src/main/java/com/diagbot/dto/TemplateInfoDTO.java
  8. 159 0
      icss-service/src/main/java/com/diagbot/entity/InquiryDetail.java
  9. 250 0
      icss-service/src/main/java/com/diagbot/entity/InquiryInfo.java
  10. 13 0
      icss-service/src/main/java/com/diagbot/entity/QuestionDetail.java
  11. 5 0
      icss-service/src/main/java/com/diagbot/entity/QuestionInfo.java
  12. 1 2
      icss-service/src/main/java/com/diagbot/enums/QuestionTypeEnum.java
  13. 2 2
      icss-service/src/main/java/com/diagbot/facade/DeptInfoFacade.java
  14. 44 0
      icss-service/src/main/java/com/diagbot/facade/InquiryDetailFacade.java
  15. 85 0
      icss-service/src/main/java/com/diagbot/facade/InquiryInfoFacade.java
  16. 0 28
      icss-service/src/main/java/com/diagbot/facade/ModuleDetailFacade.java
  17. 3 2
      icss-service/src/main/java/com/diagbot/facade/PrintRecordFacade.java
  18. 1 1
      icss-service/src/main/java/com/diagbot/facade/PushFacade.java
  19. 20 12
      icss-service/src/main/java/com/diagbot/facade/QuestionFacade.java
  20. 35 0
      icss-service/src/main/java/com/diagbot/facade/QuestionUsualFacade.java
  21. 3 3
      icss-service/src/main/java/com/diagbot/facade/TemplateInfoFacade.java
  22. 25 0
      icss-service/src/main/java/com/diagbot/mapper/InquiryDetailMapper.java
  23. 16 0
      icss-service/src/main/java/com/diagbot/mapper/InquiryInfoMapper.java
  24. 9 0
      icss-service/src/main/java/com/diagbot/mapper/QuestionUsualMapper.java
  25. 1 1
      icss-service/src/main/java/com/diagbot/mapper/TemplateInfoMapper.java
  26. 16 0
      icss-service/src/main/java/com/diagbot/service/InquiryDetailService.java
  27. 16 0
      icss-service/src/main/java/com/diagbot/service/InquiryInfoService.java
  28. 10 1
      icss-service/src/main/java/com/diagbot/service/QuestionUsualService.java
  29. 1 1
      icss-service/src/main/java/com/diagbot/service/TemplateInfoService.java
  30. 20 0
      icss-service/src/main/java/com/diagbot/service/impl/InquiryDetailServiceImpl.java
  31. 20 0
      icss-service/src/main/java/com/diagbot/service/impl/InquiryInfoServiceImpl.java
  32. 8 0
      icss-service/src/main/java/com/diagbot/service/impl/QuestionUsualServiceImpl.java
  33. 1 1
      icss-service/src/main/java/com/diagbot/service/impl/TemplateInfoServiceImpl.java
  34. 27 0
      icss-service/src/main/java/com/diagbot/vo/ContentsVO.java
  35. 3 2
      icss-service/src/main/java/com/diagbot/vo/PrintRecordsVO.java
  36. 19 0
      icss-service/src/main/java/com/diagbot/vo/QuestionUsualVO.java
  37. 97 0
      icss-service/src/main/java/com/diagbot/vo/SaveInquiryVO.java
  38. 1 1
      icss-service/src/main/java/com/diagbot/vo/TemplateInfosVO.java
  39. 2 1
      icss-service/src/main/java/com/diagbot/web/DeptInfoController.java
  40. 1 0
      icss-service/src/main/java/com/diagbot/web/DoctorInfoController.java
  41. 1 0
      icss-service/src/main/java/com/diagbot/web/HospitalInfoController.java
  42. 45 0
      icss-service/src/main/java/com/diagbot/web/InquiryInfoController.java
  43. 1 0
      icss-service/src/main/java/com/diagbot/web/IntroduceInfoController.java
  44. 1 0
      icss-service/src/main/java/com/diagbot/web/ModuleInfoController.java
  45. 1 0
      icss-service/src/main/java/com/diagbot/web/PatientInfoController.java
  46. 15 12
      icss-service/src/main/java/com/diagbot/web/PrintRecordController.java
  47. 1 0
      icss-service/src/main/java/com/diagbot/web/PushController.java
  48. 1 0
      icss-service/src/main/java/com/diagbot/web/QuestionInfoController.java
  49. 24 0
      icss-service/src/main/java/com/diagbot/web/QuestionUsualController.java
  50. 1 0
      icss-service/src/main/java/com/diagbot/web/RetrievalController.java
  51. 5 5
      icss-service/src/main/java/com/diagbot/web/TemplateInfoController.java
  52. 1 0
      icss-service/src/main/java/com/diagbot/web/TranFieldInfoController.java
  53. 26 0
      icss-service/src/main/resources/mapper/InquiryDetailMapper.xml
  54. 26 0
      icss-service/src/main/resources/mapper/InquiryInfoMapper.xml
  55. 7 0
      icss-service/src/main/resources/mapper/QuestionUsualMapper.xml
  56. 1 1
      icss-service/src/main/resources/mapper/TemplateInfoMapper.xml
  57. 355 0
      icssman-service/src/main/java/com/diagbot/entity/QuestionInfo.java
  58. 1 2
      icssman-service/src/main/java/com/diagbot/enums/QuestionTypeEnum.java
  59. 58 2
      icssman-service/src/main/java/com/diagbot/facade/DeptVitalFacade.java
  60. 13 0
      icssman-service/src/main/java/com/diagbot/facade/QuestionInfoFacade.java
  61. 16 0
      icssman-service/src/main/java/com/diagbot/mapper/QuestionInfoMapper.java
  62. 16 0
      icssman-service/src/main/java/com/diagbot/service/QuestionInfoService.java
  63. 20 0
      icssman-service/src/main/java/com/diagbot/service/impl/QuestionInfoServiceImpl.java
  64. 20 0
      icssman-service/src/main/java/com/diagbot/vo/DeptVitalVO.java
  65. 0 2
      icssman-service/src/main/java/com/diagbot/web/DeptInfoController.java
  66. 17 0
      icssman-service/src/main/java/com/diagbot/web/DeptVitalController.java
  67. 20 0
      icssman-service/src/main/java/com/diagbot/web/QuestionInfoController.java
  68. 1 2
      icssman-service/src/main/java/com/diagbot/web/VitalOrderController.java
  69. 34 0
      icssman-service/src/main/resources/mapper/QuestionInfoMapper.xml

+ 0 - 25
icss-service/src/main/java/com/diagbot/client/UserServiceClient.java

@@ -1,25 +0,0 @@
-package com.diagbot.client;
-
-import com.diagbot.client.hystrix.UserServiceHystrix;
-import com.diagbot.dto.RespDTO;
-import com.diagbot.entity.User;
-import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestHeader;
-
-
-/**
- * @Description: 调用用户服务
- * @author: gaodm
- * @time: 2018/8/6 9:52
- */
-@FeignClient(value = "user-service", fallback = UserServiceHystrix.class)
-public interface UserServiceClient {
-
-    @PostMapping(value = "/user/{username}")
-    RespDTO<User> getUser(@RequestHeader(value = "Authorization") String token, @PathVariable("username") String username);
-}
-
-
-

+ 0 - 23
icss-service/src/main/java/com/diagbot/client/hystrix/UserServiceHystrix.java

@@ -1,23 +0,0 @@
-package com.diagbot.client.hystrix;
-
-import com.diagbot.client.UserServiceClient;
-import com.diagbot.dto.RespDTO;
-import com.diagbot.entity.User;
-import org.springframework.stereotype.Component;
-
-
-/**
- * @Description: 调用用户服务
- * @author: gaodm
- * @time: 2018/8/6 9:52
- */
-@Component
-public class UserServiceHystrix implements UserServiceClient {
-
-    @Override
-    public RespDTO<User> getUser(String token, String username) {
-        System.out.println(token);
-        System.out.println(username);
-        return null;
-    }
-}

+ 36 - 0
icss-service/src/main/java/com/diagbot/dto/InquiryDetailDTO.java

@@ -0,0 +1,36 @@
+/**
+ * 
+ */
+package com.diagbot.dto;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description
+ * @author rgb
+ * @time 2018年11月23日下午2:29:43
+ */
+@Getter
+@Setter
+public class InquiryDetailDTO {
+	
+	/**
+     * 类型(1:主诉,2现病史,3其他史,4查体,5化验,6辅检,7诊断,8医嘱)
+     */
+	@ApiModelProperty(value="类型(1:主诉,2现病史,3其他史,4查体,5化验,6辅检,7诊断,8医嘱)",required=true)
+	@NotNull(message="问诊明细-类型必传")
+    private Integer type;
+
+    /**
+     * 内容字符串
+     */
+    @ApiModelProperty(value="内容字符串",required=true)
+    @NotBlank(message="问诊明细-内容字符串必传")
+    private String content;
+
+}

+ 6 - 5
icss-service/src/main/java/com/diagbot/dto/QuestionDTO.java

@@ -20,17 +20,18 @@ public class QuestionDTO {
     private Long id;// id
     private String name;//内容
     private String tagName;//标签名称
-    private Integer type;//类型(1:主诉 2:现病史 3:其他史 4:查体,5:化验 6:辅检 7:诊断)
+    private Integer type;//类型(1:症状 3:其他史 4:查体,5:化验 6:辅检 7:诊断)
     private Integer controlType; //控件类型
     private Integer subType; //子类型
-    private String tagType; //标签标识(0:单项  1:组合项 2:填充项)
+    private String tagType; //标签标识
     private String labelPrefix; //前置内容
     private String labelSuffix; //后置内容
     private BigDecimal minValue; //最小值
     private BigDecimal maxValue; //最大值
-    private Integer position;    //显示位置(0:在标签后,1:在标签前)
-    private Integer formPosition;  //填写单显示位置(0:左, 1:上)
-    private Integer textGenerate;    //显示位置(0:在标签后,1:在标签前)
+    private Integer position;    //标签显示位置(0:在标签后,1:在标签前)
+    private Integer showAdd;    //是否显示+
+    private Integer formPosition; //填写单显示位置(0:左, 1:上)
+    private Integer textGenerate;  //文本生成规则
     private Integer symptomType; //主症状和伴随症状对应的question类型
     private Integer exclusionType; //互斥类型
     private String judgeType; //判断类型(0:本身异常;1:本身正常;2:数字范围;3:计算公式;9:无需判断)

+ 16 - 0
icss-service/src/main/java/com/diagbot/dto/QuestionUsualDTO.java

@@ -0,0 +1,16 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2018/11/22 16:14
+ */
+@Getter
+@Setter
+public class QuestionUsualDTO{
+
+    private String name;
+}

+ 17 - 0
icss-service/src/main/java/com/diagbot/dto/SaveInquiryDTO.java

@@ -0,0 +1,17 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: rengb
+ * @time: 2018/11/19 18:56
+ */
+@Getter
+@Setter
+public class SaveInquiryDTO{
+	
+	private Long inquiryId;
+		
+}

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

@@ -8,7 +8,7 @@ import lombok.Setter;
 /**
  * 
  * @author wangfeng
- * @Description: 医生病模板出参
+ * @Description: 医生病模板出参
  * @date 2018年11月16日 上午10:40:27
  */
 @Getter

+ 159 - 0
icss-service/src/main/java/com/diagbot/entity/InquiryDetail.java

@@ -0,0 +1,159 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 问诊记录明细表
+ * </p>
+ *
+ * @author rengb
+ * @since 2018-11-23
+ */
+@TableName("icss_inquiry_detail")
+public class InquiryDetail implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private LocalDateTime gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private LocalDateTime gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 问诊记录id
+     */
+    private Long inquiryId;
+
+    /**
+     * 类型(1:主诉,2现病史,3其他史,4查体,5化验,6辅检,7诊断,8医嘱)
+     */
+    private Integer type;
+
+    /**
+     * 内容字符串
+     */
+    private String content;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+    public LocalDateTime getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(LocalDateTime gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+    public LocalDateTime getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(LocalDateTime gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
+    public Long getInquiryId() {
+        return inquiryId;
+    }
+
+    public void setInquiryId(Long inquiryId) {
+        this.inquiryId = inquiryId;
+    }
+    public Integer getType() {
+        return type;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    @Override
+    public String toString() {
+        return "InquiryDetail{" +
+        "id=" + id +
+        ", isDeleted=" + isDeleted +
+        ", gmtCreate=" + gmtCreate +
+        ", gmtModified=" + gmtModified +
+        ", creator=" + creator +
+        ", modifier=" + modifier +
+        ", inquiryId=" + inquiryId +
+        ", type=" + type +
+        ", content=" + content +
+        ", remark=" + remark +
+        "}";
+    }
+}

+ 250 - 0
icss-service/src/main/java/com/diagbot/entity/InquiryInfo.java

@@ -0,0 +1,250 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 问诊记录表
+ * </p>
+ *
+ * @author rengb
+ * @since 2018-11-23
+ */
+@TableName("icss_inquiry_info")
+public class InquiryInfo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private LocalDateTime gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private LocalDateTime gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 医院id
+     */
+    private Long hospitalId;
+
+    /**
+     * 科室id
+     */
+    private Long hospitalDeptId;
+
+    /**
+     * 医生id
+     */
+    private Long doctorId;
+
+    /**
+     * 患者id
+     */
+    private Long patientId;
+
+    /**
+     * 就诊序列号
+     */
+    private String inquiryCode;
+
+    /**
+     * 就诊状态(0待接诊,1接诊中,2完成接诊)
+     */
+    private Integer regVisitedState;
+
+    /**
+     * 分类(1:门诊,2:住院)
+     */
+    private Integer type;
+
+    /**
+     * 诊断
+     */
+    private String diagnose;
+
+    /**
+     * 类型:1:结构化 2:文本模式
+     */
+    private Integer sign;
+
+    /**
+     * 内容JSON字符串
+     */
+    private String dataJson;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+    public LocalDateTime getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(LocalDateTime gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+    public LocalDateTime getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(LocalDateTime gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
+    public Long getHospitalId() {
+        return hospitalId;
+    }
+
+    public void setHospitalId(Long hospitalId) {
+        this.hospitalId = hospitalId;
+    }
+    public Long getHospitalDeptId() {
+        return hospitalDeptId;
+    }
+
+    public void setHospitalDeptId(Long hospitalDeptId) {
+        this.hospitalDeptId = hospitalDeptId;
+    }
+    public Long getDoctorId() {
+        return doctorId;
+    }
+
+    public void setDoctorId(Long doctorId) {
+        this.doctorId = doctorId;
+    }
+    public Long getPatientId() {
+        return patientId;
+    }
+
+    public void setPatientId(Long patientId) {
+        this.patientId = patientId;
+    }
+    public String getInquiryCode() {
+        return inquiryCode;
+    }
+
+    public void setInquiryCode(String inquiryCode) {
+        this.inquiryCode = inquiryCode;
+    }
+    public Integer getRegVisitedState() {
+        return regVisitedState;
+    }
+
+    public void setRegVisitedState(Integer regVisitedState) {
+        this.regVisitedState = regVisitedState;
+    }
+    public Integer getType() {
+        return type;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+    public String getDiagnose() {
+        return diagnose;
+    }
+
+    public void setDiagnose(String diagnose) {
+        this.diagnose = diagnose;
+    }
+    public Integer getSign() {
+        return sign;
+    }
+
+    public void setSign(Integer sign) {
+        this.sign = sign;
+    }
+    public String getDataJson() {
+        return dataJson;
+    }
+
+    public void setDataJson(String dataJson) {
+        this.dataJson = dataJson;
+    }
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    @Override
+    public String toString() {
+        return "InquiryInfo{" +
+        "id=" + id +
+        ", isDeleted=" + isDeleted +
+        ", gmtCreate=" + gmtCreate +
+        ", gmtModified=" + gmtModified +
+        ", creator=" + creator +
+        ", modifier=" + modifier +
+        ", hospitalId=" + hospitalId +
+        ", hospitalDeptId=" + hospitalDeptId +
+        ", doctorId=" + doctorId +
+        ", patientId=" + patientId +
+        ", inquiryCode=" + inquiryCode +
+        ", regVisitedState=" + regVisitedState +
+        ", type=" + type +
+        ", diagnose=" + diagnose +
+        ", sign=" + sign +
+        ", dataJson=" + dataJson +
+        ", remark=" + remark +
+        "}";
+    }
+}

+ 13 - 0
icss-service/src/main/java/com/diagbot/entity/QuestionDetail.java

@@ -46,11 +46,22 @@ public class QuestionDetail implements Serializable {
      */
     private Long questionId;
 
+    /**
+     * question_relation
+     */
+    private Long questionRelation;
+
     /**
      * 排序号
      */
     private Integer orderNo;
 
+
+    /**
+     * 特殊类型
+     */
+    private Integer code;
+
     /**
      * 是否默认被选中(0:不选中,1:选中)
      */
@@ -62,4 +73,6 @@ public class QuestionDetail implements Serializable {
     private String remark;
 
 
+
+
 }

+ 5 - 0
icss-service/src/main/java/com/diagbot/entity/QuestionInfo.java

@@ -111,6 +111,11 @@ public class QuestionInfo implements Serializable {
      */
     private Integer textGenerate;
 
+    /**
+     * 是否显示 +
+     */
+    private Integer showAdd;
+
     /**
      * 备注
      */

+ 1 - 2
icss-service/src/main/java/com/diagbot/enums/QuestionTypeEnum.java

@@ -9,8 +9,7 @@ import lombok.Setter;
  * @time: 2018/11/21 11:39
  */
 public enum QuestionTypeEnum implements KeyedNamed {
-    Mainsuit(1, "主诉"),
-    Symptom(2, "现病史"),
+    Symptom(1, "症状"),
     Other(3, "其他史"),
     Vital(4, "查体"),
     Lis(5, "化验"),

+ 2 - 2
icss-service/src/main/java/com/diagbot/facade/DeptInfoFacade.java

@@ -23,12 +23,12 @@ public class DeptInfoFacade extends DeptInfoServiceImpl {
      * @param deptInfoVO
      * @return
      */
-    public RespDTO<List<DeptInfoDTO>> getDeptInfo(DeptInfoVO deptInfoVO) {
+    public List<DeptInfoDTO> getDeptInfo(DeptInfoVO deptInfoVO) {
         List<DeptInfoDTO> deptInfoDTOList = this.getDeptInfos(deptInfoVO.getDeptCode(),deptInfoVO.getHosptialCode());
         if(deptInfoDTOList == null || deptInfoDTOList.size() == 0){
             throw new CommonException(CommonErrorCode.NOT_EXISTS,
                     "获取科室信息失败");
         }
-        return RespDTO.onSuc(deptInfoDTOList);
+        return deptInfoDTOList;
     }
 }

+ 44 - 0
icss-service/src/main/java/com/diagbot/facade/InquiryDetailFacade.java

@@ -0,0 +1,44 @@
+/**
+ * 
+ */
+package com.diagbot.facade;
+
+import java.util.List;
+
+import org.springframework.stereotype.Component;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.entity.InquiryDetail;
+import com.diagbot.service.impl.InquiryDetailServiceImpl;
+
+/**
+ * @Description
+ * @author rengb
+ * @time 2018年11月23日下午2:08:08
+ */
+@Component
+public class InquiryDetailFacade extends InquiryDetailServiceImpl {
+	
+	/**
+	 * 批量保存问诊明细
+	 * @param inquiryDetailList
+	 */
+	public void saveInquiryDetails(List<InquiryDetail> inquiryDetailList){
+		if(inquiryDetailList!=null
+				&&inquiryDetailList.size()>0){
+			baseMapper.saveInquiryDetails(inquiryDetailList);
+		}
+	}
+	
+	/**
+	 * 根据问诊记录id删除问诊记录明细
+	 * @param inquiryId
+	 */
+	public void removeByInquiryId(Long inquiryId){
+		QueryWrapper<InquiryDetail> queryWrapper = new QueryWrapper<InquiryDetail>();
+		queryWrapper.eq("inquiry_id", inquiryId);
+		this.remove(queryWrapper);
+	}
+	
+
+}

+ 85 - 0
icss-service/src/main/java/com/diagbot/facade/InquiryInfoFacade.java

@@ -0,0 +1,85 @@
+/**
+ * 
+ */
+package com.diagbot.facade;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.dto.InquiryDetailDTO;
+import com.diagbot.dto.SaveInquiryDTO;
+import com.diagbot.entity.InquiryDetail;
+import com.diagbot.entity.InquiryInfo;
+import com.diagbot.service.impl.InquiryInfoServiceImpl;
+import com.diagbot.vo.SaveInquiryVO;
+
+/**
+ * @Description
+ * @author rengb
+ * @time 2018年11月23日下午2:08:08
+ */
+@Component
+public class InquiryInfoFacade extends InquiryInfoServiceImpl {
+	
+	@Autowired
+	private InquiryDetailFacade inquiryDetailFacade;
+	
+	/**
+	 * 问诊记录保存
+	 * @param saveInquiryVO
+	 * @return
+	 */
+	public SaveInquiryDTO saveInquiry(SaveInquiryVO saveInquiryVO){
+		SaveInquiryDTO saveInquiryDTO = new SaveInquiryDTO();
+		
+		QueryWrapper<InquiryInfo> queryWrapper = new QueryWrapper<InquiryInfo>();
+		queryWrapper.eq("hospital_id", saveInquiryVO.getHospitalId());
+		queryWrapper.eq("hospital_dept_id", saveInquiryVO.getHospitalDeptId());
+		queryWrapper.eq("doctor_id", saveInquiryVO.getDoctorId());
+		queryWrapper.eq("patient_id", saveInquiryVO.getPatientId());
+		queryWrapper.eq("inquiry_code", saveInquiryVO.getInquiryCode());
+		InquiryInfo inquiryInfo = this.getOne(queryWrapper);
+		
+		Long inquiryId = null;
+		InquiryInfo inquiryInfoSave = new InquiryInfo();
+		inquiryInfoSave.setHospitalId(saveInquiryVO.getHospitalId());
+		inquiryInfoSave.setHospitalDeptId(saveInquiryVO.getHospitalDeptId());
+		inquiryInfoSave.setDoctorId(saveInquiryVO.getDoctorId());
+		inquiryInfoSave.setPatientId(saveInquiryVO.getPatientId());
+		inquiryInfoSave.setInquiryCode(saveInquiryVO.getInquiryCode());
+		inquiryInfoSave.setRegVisitedState(saveInquiryVO.getRegVisitedState());
+		inquiryInfoSave.setType(saveInquiryVO.getType());
+		inquiryInfoSave.setDiagnose(saveInquiryVO.getDiagnose());
+		inquiryInfoSave.setSign(saveInquiryVO.getSign());
+		inquiryInfoSave.setDataJson(saveInquiryVO.getDataJson());
+		if(inquiryInfo==null){
+			this.save(inquiryInfoSave);
+			inquiryId = inquiryInfoSave.getId();
+		}else{
+			inquiryId = inquiryInfo.getId();
+			inquiryInfoSave.setId(inquiryId);
+			this.updateById(inquiryInfoSave);
+			
+			inquiryDetailFacade.removeByInquiryId(inquiryId);
+		}
+		
+		
+		List<InquiryDetail> inquiryDetailList = new ArrayList<>();
+		for(InquiryDetailDTO i : saveInquiryVO.getDetailList()){
+			InquiryDetail inquiryDetail = new InquiryDetail();
+			inquiryDetail.setInquiryId(inquiryId);
+			inquiryDetail.setType(i.getType());
+			inquiryDetail.setContent(i.getContent());
+			inquiryDetailList.add(inquiryDetail);
+		}
+		inquiryDetailFacade.saveInquiryDetails(inquiryDetailList);
+		
+		saveInquiryDTO.setInquiryId(inquiryId);
+		return saveInquiryDTO;
+	}
+
+}

+ 0 - 28
icss-service/src/main/java/com/diagbot/facade/ModuleDetailFacade.java

@@ -1,16 +1,8 @@
 package com.diagbot.facade;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.diagbot.dto.ModuleInfoDTO;
-import com.diagbot.entity.ModuleInfo;
-import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.service.impl.ModuleDetailServiceImpl;
-import com.diagbot.util.BeanUtil;
 import org.springframework.stereotype.Component;
 
-import java.util.ArrayList;
-import java.util.List;
-
 /**
  * @Description: 模型明细务层
  * @author: zhoutg
@@ -20,24 +12,4 @@ import java.util.List;
 public class ModuleDetailFacade extends ModuleDetailServiceImpl {
 
 
-    /**
-     * 返回所有的模型结构
-     *
-     * @return 模型结构
-     */
-    public List<ModuleInfoDTO> getAll() {
-        List<ModuleInfoDTO> data = new ArrayList<>();
-        QueryWrapper queryWrapper = new QueryWrapper();
-        queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
-        List<ModuleInfo> list =  this.list(queryWrapper);
-        data = BeanUtil.listCopyTo(list, ModuleInfoDTO.class);
-        for(ModuleInfoDTO bean : data) {
-            QueryWrapper wrapper = new QueryWrapper();
-            wrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
-            wrapper.eq("module_id", bean.getId());
-            wrapper.orderByAsc("order_no");
-        }
-        return data;
-    }
-
 }

+ 3 - 2
icss-service/src/main/java/com/diagbot/facade/PrintRecordFacade.java

@@ -1,10 +1,11 @@
 package com.diagbot.facade;
 
-import com.diagbot.util.DateUtil;
 import org.springframework.stereotype.Component;
 
 import com.diagbot.entity.PrintRecord;
 import com.diagbot.service.impl.PrintRecordServiceImpl;
+import com.diagbot.util.DateUtil;
+import com.diagbot.util.GsonUtil;
 import com.diagbot.vo.PrintRecordsVO;
 
 /**
@@ -32,7 +33,7 @@ public class PrintRecordFacade extends PrintRecordServiceImpl{
 		printRecord.setHospitalId(printRecordsVO.getHospitalId());//医院id
 		printRecord.setInquiryCode(printRecordsVO.getInquiryCode());//就诊号
 		printRecord.setPatientId(printRecordsVO.getPatientId());//患者id
-		printRecord.setContent(printRecordsVO.getContent());//文件展现
+		printRecord.setContent(GsonUtil.toJson(printRecordsVO.getContent()));//文件展现
 		printRecord.setDataJson(printRecordsVO.getDataJson());//打印数据json
 		boolean res = save(printRecord);
 		return res;

+ 1 - 1
icss-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -117,7 +117,7 @@ public class PushFacade {
             pushDTO.setDisMap(disMap);
         }
         //症状(主诉 type=1;现病史 type=2) 返回 tagName+填写单
-        else if (featureTypeSet.contains(QuestionTypeEnum.Mainsuit.getKey()) || featureTypeSet.contains(QuestionTypeEnum.Symptom.getKey())) {
+        else if (featureTypeSet.contains(QuestionTypeEnum.Symptom.getKey())) {
             QueryWrapper<QuestionInfo> questionInfoQueryWrapper = new QueryWrapper();
             questionInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
                     in("tag_name", symptomMap.keySet()).

+ 20 - 12
icss-service/src/main/java/com/diagbot/facade/QuestionFacade.java

@@ -4,7 +4,6 @@ import com.diagbot.dto.QuestionDTO;
 import com.diagbot.entity.QuestionDetail;
 import com.diagbot.entity.QuestionInfo;
 import com.diagbot.entity.wrapper.QuestionInfoWrapper;
-import com.diagbot.enums.ControlTypeEnum;
 import com.diagbot.service.impl.QuestionInfoServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.ListUtil;
@@ -48,15 +47,8 @@ public class QuestionFacade extends QuestionInfoServiceImpl {
         BeanUtil.copyProperties(questionInfo, res);
 
         //获取明细项
-        if(ControlTypeEnum.EMPTY_TAG.getKey() != res.getControlType()) { //不为空标签
-            List<QuestionDetail> questionDetailList = questionDetailFacade.getByQuestionId(questionVO.getId());
-            res.setQuestionDetailList(questionDetailList);
-        }
-
-        //获取同级标签
-//        List<QuestionInfo> questionRelation = this.getByQuestionRelation(paramMap);
-//        List<QuestionDTO> questionRelationDTO = BeanUtil.listCopyTo(questionRelation, QuestionDTO.class);
-//        res.setQuestionRelationList(questionRelationDTO);
+        List<QuestionDetail> questionDetailList = questionDetailFacade.getByQuestionId(questionVO.getId());
+        res.setQuestionDetailList(questionDetailList);
 
         //获取子标签
         List<QuestionInfoWrapper> questionMapping = this.getByQuestionMapping(paramMap);
@@ -64,9 +56,25 @@ public class QuestionFacade extends QuestionInfoServiceImpl {
         res.setQuestionMapping(sonQuestionList);
         //获取子标签的明细项
         if(ListUtil.isNotEmpty(sonQuestionList)) {
+            Map paramMap1 = new HashMap<>();
+            paramMap1.put("sexType", questionVO.getSexType());
+            paramMap1.put("age", questionVO.getAge());
+
             for(QuestionDTO bean : sonQuestionList) {
-                List<QuestionDetail> questionDetailList = questionDetailFacade.getByQuestionId(bean.getId());
-                bean.setQuestionDetailList(questionDetailList);
+                List<QuestionDetail> questionDetailList1 = questionDetailFacade.getByQuestionId(bean.getId());
+                bean.setQuestionDetailList(questionDetailList1);
+                paramMap1.put("id", bean.getId());
+                //获取第二级子标签
+                List<QuestionInfoWrapper> questionMapping1 = this.getByQuestionMapping(paramMap1);
+                List<QuestionDTO> sonQuestionList1 = BeanUtil.listCopyTo(questionMapping1, QuestionDTO.class);
+                bean.setQuestionMapping(sonQuestionList1);
+
+                for(QuestionDTO questionDTO : sonQuestionList1) {
+                    //获取二级子明细项
+                    List<QuestionDetail> questionDetailList2 = questionDetailFacade.getByQuestionId(questionDTO.getId());
+                    questionDTO.setQuestionDetailList(questionDetailList2);
+                }
+
             }
         }
         return res;

+ 35 - 0
icss-service/src/main/java/com/diagbot/facade/QuestionUsualFacade.java

@@ -0,0 +1,35 @@
+package com.diagbot.facade;
+
+import com.diagbot.dto.QuestionUsualDTO;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.service.impl.QuestionUsualServiceImpl;
+import com.diagbot.vo.QuestionUsualVO;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2018/11/22 16:16
+ */
+@Component
+public class QuestionUsualFacade extends QuestionUsualServiceImpl {
+
+
+    /**
+     * 获取常用标签
+     *
+     * @param questionUsualVO
+     * @return
+     */
+    public List<QuestionUsualDTO> getQuestionUsual(QuestionUsualVO questionUsualVO) {
+        List<QuestionUsualDTO> questionUsualDTOList = this.getQuestionUsualName(questionUsualVO);
+        if(questionUsualDTOList == null || questionUsualDTOList.size() == 0){
+            throw new CommonException(CommonErrorCode.NOT_EXISTS,
+                    "获取标签信息失败");
+        }
+        return questionUsualDTOList ;
+    }
+}

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

@@ -20,7 +20,7 @@ import com.diagbot.vo.TemplateInfosVO;
 
 /**
  * @author wangfeng
- * @Description: 病模板
+ * @Description: 病模板
  * @date 2018年11月16日 上午11:24:36
  */
 @Component
@@ -28,8 +28,8 @@ public class TemplateInfoFacade extends TemplateInfoServiceImpl {
 
 	/**
 	 * 
-	 * @param templateInfo
-	 * @return 医生病模板信息
+	 * @param templateInfoVO
+	 * @return 医生病模板信息
 	 */
 	public List<TemplateInfoDTO> findByDoctorIdTemplates(TemplateInfoVO templateInfoVO) {
 		//根据传入的医生id和部门id还有医院id在数据表中查出相应的模板数据

+ 25 - 0
icss-service/src/main/java/com/diagbot/mapper/InquiryDetailMapper.java

@@ -0,0 +1,25 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.InquiryDetail;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 问诊记录明细表 Mapper 接口
+ * </p>
+ *
+ * @author rengb
+ * @since 2018-11-23
+ */
+public interface InquiryDetailMapper extends BaseMapper<InquiryDetail> {
+	
+	/**
+	 * 批量保存问诊明细
+	 * @param inquiryDetailList
+	 */
+	public void saveInquiryDetails(List<InquiryDetail> inquiryDetailList);
+
+}

+ 16 - 0
icss-service/src/main/java/com/diagbot/mapper/InquiryInfoMapper.java

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.InquiryInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 问诊记录表 Mapper 接口
+ * </p>
+ *
+ * @author rengb
+ * @since 2018-11-23
+ */
+public interface InquiryInfoMapper extends BaseMapper<InquiryInfo> {
+
+}

+ 9 - 0
icss-service/src/main/java/com/diagbot/mapper/QuestionUsualMapper.java

@@ -1,7 +1,11 @@
 package com.diagbot.mapper;
 
+import com.diagbot.dto.QuestionUsualDTO;
 import com.diagbot.entity.QuestionUsual;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.diagbot.vo.QuestionUsualVO;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +17,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface QuestionUsualMapper extends BaseMapper<QuestionUsual> {
 
+    /**
+     * 根据科室code获取常用标签
+     * @return
+     */
+    public List<QuestionUsualDTO> getQuestionUsualName(QuestionUsualVO questionUsualVO);
 }

+ 1 - 1
icss-service/src/main/java/com/diagbot/mapper/TemplateInfoMapper.java

@@ -16,7 +16,7 @@ import com.diagbot.entity.TemplateInfo;
  */
 public interface TemplateInfoMapper extends BaseMapper<TemplateInfo> {
 	
-	//根据医生id查询该医生保存的病模板
+	//根据医生id查询该医生保存的病模板
 	public List<TemplateInfoDTO> findByDoctorIdTemplate(TemplateInfo templateInfo);
 
 }

+ 16 - 0
icss-service/src/main/java/com/diagbot/service/InquiryDetailService.java

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.InquiryDetail;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 问诊记录明细表 服务类
+ * </p>
+ *
+ * @author rengb
+ * @since 2018-11-23
+ */
+public interface InquiryDetailService extends IService<InquiryDetail> {
+
+}

+ 16 - 0
icss-service/src/main/java/com/diagbot/service/InquiryInfoService.java

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.InquiryInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 问诊记录表 服务类
+ * </p>
+ *
+ * @author rengb
+ * @since 2018-11-23
+ */
+public interface InquiryInfoService extends IService<InquiryInfo> {
+
+}

+ 10 - 1
icss-service/src/main/java/com/diagbot/service/QuestionUsualService.java

@@ -1,7 +1,11 @@
 package com.diagbot.service;
 
-import com.diagbot.entity.QuestionUsual;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.dto.QuestionUsualDTO;
+import com.diagbot.entity.QuestionUsual;
+import com.diagbot.vo.QuestionUsualVO;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +17,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface QuestionUsualService extends IService<QuestionUsual> {
 
+    /**
+     * 根据科室code获取常用标签
+     * @return
+     */
+    public List<QuestionUsualDTO> getQuestionUsualName(QuestionUsualVO questionUsualVO);
 }

+ 1 - 1
icss-service/src/main/java/com/diagbot/service/TemplateInfoService.java

@@ -17,7 +17,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface TemplateInfoService extends IService<TemplateInfo> {
 	
-	//根据医生id查询该医生保存的病模板
+	//根据医生id查询该医生保存的病模板
 	public List<TemplateInfoDTO> findByDoctorIdTemplate(TemplateInfo templateInfo);
 	
 	public boolean updateById(TemplateInfo templateInfo);

+ 20 - 0
icss-service/src/main/java/com/diagbot/service/impl/InquiryDetailServiceImpl.java

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.InquiryDetail;
+import com.diagbot.mapper.InquiryDetailMapper;
+import com.diagbot.service.InquiryDetailService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 问诊记录明细表 服务实现类
+ * </p>
+ *
+ * @author rengb
+ * @since 2018-11-23
+ */
+@Service
+public class InquiryDetailServiceImpl extends ServiceImpl<InquiryDetailMapper, InquiryDetail> implements InquiryDetailService {
+
+}

+ 20 - 0
icss-service/src/main/java/com/diagbot/service/impl/InquiryInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.InquiryInfo;
+import com.diagbot.mapper.InquiryInfoMapper;
+import com.diagbot.service.InquiryInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 问诊记录表 服务实现类
+ * </p>
+ *
+ * @author rengb
+ * @since 2018-11-23
+ */
+@Service
+public class InquiryInfoServiceImpl extends ServiceImpl<InquiryInfoMapper, InquiryInfo> implements InquiryInfoService {
+
+}

+ 8 - 0
icss-service/src/main/java/com/diagbot/service/impl/QuestionUsualServiceImpl.java

@@ -1,11 +1,15 @@
 package com.diagbot.service.impl;
 
+import com.diagbot.dto.QuestionUsualDTO;
 import com.diagbot.entity.QuestionUsual;
 import com.diagbot.mapper.QuestionUsualMapper;
 import com.diagbot.service.QuestionUsualService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.vo.QuestionUsualVO;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 常用标签表 服务实现类
@@ -17,4 +21,8 @@ import org.springframework.stereotype.Service;
 @Service
 public class QuestionUsualServiceImpl extends ServiceImpl<QuestionUsualMapper, QuestionUsual> implements QuestionUsualService {
 
+    @Override
+    public List<QuestionUsualDTO> getQuestionUsualName(QuestionUsualVO questionUsualVO) {
+        return baseMapper.getQuestionUsualName(questionUsualVO);
+    }
 }

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

@@ -22,7 +22,7 @@ import com.diagbot.service.TemplateInfoService;
 public class TemplateInfoServiceImpl extends ServiceImpl<TemplateInfoMapper, TemplateInfo> implements TemplateInfoService {
 
 	/**
-	 * 根据医生id查询该医生保存的病模板
+	 * 根据医生id查询该医生保存的病模板
 	 */
 	@Override
 	public List<TemplateInfoDTO> findByDoctorIdTemplate(TemplateInfo templateInfo) {

+ 27 - 0
icss-service/src/main/java/com/diagbot/vo/ContentsVO.java

@@ -0,0 +1,27 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 
+ * @author wangfeng
+ * @Description: 类型(1:主诉,2现病史,3其他史,4查体,5化验,6辅检,7诊断,8医嘱)
+ * @date 2018年11月23日 下午2:20:02
+ */
+
+@Getter
+@Setter
+public class ContentsVO {
+	 /**
+     * 类型(1:主诉,2现病史,3其他史,4查体,5化验,6辅检,7诊断,8医嘱)
+     */
+    private String chief;//主诉
+    private String present;//现病史
+    private String other;//其他史
+    private String vital;//查体
+    private String lis;//化验
+    private String pacs;//辅检
+    private String diag;//诊断
+    private String advice;//医嘱
+}

+ 3 - 2
icss-service/src/main/java/com/diagbot/vo/PrintRecordsVO.java

@@ -1,5 +1,7 @@
 package com.diagbot.vo;
 
+import java.util.List;
+
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 
@@ -51,8 +53,7 @@ public class PrintRecordsVO {
     /**
      * 文本内容
      */
-	@NotBlank(message = "请输入文本内容")
-    private String content;
+    private ContentsVO content;
 
     /**
      * 内容JSON字符串(打印页面展示)

+ 19 - 0
icss-service/src/main/java/com/diagbot/vo/QuestionUsualVO.java

@@ -0,0 +1,19 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2018/11/22 16:15
+ */
+@Getter
+@Setter
+public class QuestionUsualVO {
+
+    @NotNull(message = "请输入科室编码")
+    private String deptCode;
+}

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

@@ -0,0 +1,97 @@
+package com.diagbot.vo;
+
+import java.util.List;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+
+import com.diagbot.dto.InquiryDetailDTO;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: rengb
+ * @time: 2018/11/19 18:58
+ */
+@Getter
+@Setter
+public class SaveInquiryVO {
+	
+	/**
+     * 医院id
+     */
+	@ApiModelProperty(value="医院id",required=true)
+	@NotNull(message="医院id必传")
+    private Long hospitalId;
+
+    /**
+     * 科室id
+     */
+	@ApiModelProperty(value="科室id",required=true)
+	@NotNull(message="科室id必传")
+    private Long hospitalDeptId;
+
+    /**
+     * 医生id
+     */
+	@ApiModelProperty(value="医生id",required=true)
+	@NotNull(message="医生id必传")
+    private Long doctorId;
+
+    /**
+     * 患者id
+     */
+	@ApiModelProperty(value="患者id",required=true)
+	@NotNull(message="患者id必传")
+    private Long patientId;
+
+    /**
+     * 就诊序列号
+     */
+	@ApiModelProperty(value="就诊序列号",required=true)
+	@NotBlank(message="就诊序列号必传")
+    private String inquiryCode;
+
+    /**
+     * 就诊状态(0待接诊,1接诊中,2完成接诊)
+     */
+	@ApiModelProperty(value="就诊状态(0待接诊,1接诊中,2完成接诊)")
+    private Integer regVisitedState=1;
+
+    /**
+     * 分类(1:门诊,2:住院)
+     */
+	@ApiModelProperty(value="分类(1:门诊,2:住院)")
+    private Integer type=1;
+
+    /**
+     * 诊断
+     */
+	@ApiModelProperty(value="诊断",required=true)
+    @NotBlank(message="诊断必传")
+    private String diagnose;
+
+    /**
+     * 类型:1:结构化 2:文本模式
+     */
+	@ApiModelProperty(value="类型:1:结构化 2:文本模式")
+    private Integer sign=1;
+
+    /**
+     * 内容JSON字符串
+     */
+	@ApiModelProperty(value="内容JSON字符串",required=true)
+    @NotBlank(message="内容JSON字符串必传")
+    private String dataJson;
+    
+    @Valid
+    @ApiModelProperty(value="问诊明细",required=true)
+    @NotEmpty(message="问诊明细不能为空")
+    private List<InquiryDetailDTO> detailList;
+   
+}

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

@@ -9,7 +9,7 @@ import lombok.Setter;
 /**
  * 
  * @author wangfeng
- * @Description: 病保存
+ * @Description: 病保存
  * @date 2018年11月16日 下午3:35:05
  */
 @Getter

+ 2 - 1
icss-service/src/main/java/com/diagbot/web/DeptInfoController.java

@@ -28,6 +28,7 @@ import java.util.List;
 @RestController
 @RequestMapping("/deptInfo")
 @Api(value = "科室信息API", tags = { "科室信息API" })
+@SuppressWarnings("unchecked")
 public class DeptInfoController {
 
     @Autowired
@@ -39,6 +40,6 @@ public class DeptInfoController {
     @PostMapping("/getDeptInfo")
     @SysLogger("getDeptInfo")
     public RespDTO<List<DeptInfoDTO>> getDeptInfo(@Valid @RequestBody DeptInfoVO deptInfoVO) {
-        return deptInfoFacade.getDeptInfo(deptInfoVO);
+        return RespDTO.onSuc(deptInfoFacade.getDeptInfo(deptInfoVO));
     }
 }

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

@@ -28,6 +28,7 @@ import java.util.List;
 @RestController
 @RequestMapping("/doctorInfo")
 @Api(value = "医生信息API", tags = { "医生信息API" })
+@SuppressWarnings("unchecked")
 public class DoctorInfoController {
 
     @Autowired

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

@@ -24,6 +24,7 @@ import java.util.List;
 @RestController
 @RequestMapping("/hospitalInfo")
 @Api(value = "医院信息API", tags = { "医院信息API" })
+@SuppressWarnings("unchecked")
 public class HospitalInfoController {
 
     @Autowired

+ 45 - 0
icss-service/src/main/java/com/diagbot/web/InquiryInfoController.java

@@ -0,0 +1,45 @@
+package com.diagbot.web;
+
+
+import javax.validation.Valid;
+
+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 com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.SaveInquiryDTO;
+import com.diagbot.facade.InquiryInfoFacade;
+import com.diagbot.vo.SaveInquiryVO;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * @author rengb
+ * @since 2018-11-23
+ */
+@RestController
+@RequestMapping("/inquiryInfo")
+@Api(value = "问诊记录API", tags = { "问诊记录API" })
+@SuppressWarnings("unchecked")
+public class InquiryInfoController {
+	
+	@Autowired
+	private InquiryInfoFacade inquiryInfoFacade;
+	
+	@ApiOperation(value = "问诊记录保存[by:rengb]")
+	@PostMapping("/saveInquiry")
+	@SysLogger("saveInquiry")
+	@Transactional
+	public RespDTO<SaveInquiryDTO> saveInquiry(@Valid @RequestBody SaveInquiryVO saveInquiryVO) {
+		return RespDTO.onSuc(inquiryInfoFacade.saveInquiry(saveInquiryVO));
+	}
+	
+	
+
+}

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

@@ -27,6 +27,7 @@ import javax.validation.Valid;
 @RestController
 @RequestMapping("/introduceInfo")
 @Api(value = "提示信息相关API", tags = { "提示信息相关API" })
+@SuppressWarnings("unchecked")
 public class IntroduceInfoController {
 
     @Autowired

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

@@ -26,6 +26,7 @@ import java.util.List;
 @RestController
 @RequestMapping("/moduleInfo")
 @Api(value = "模型相关API", tags = { "模型相关API" })
+@SuppressWarnings("unchecked")
 public class ModuleInfoController {
 
     @Autowired

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

@@ -30,6 +30,7 @@ import java.util.List;
 @RestController
 @RequestMapping("/patientInfo")
 @Api(value = "患者信息API", tags = { "患者信息API" })
+@SuppressWarnings("unchecked")
 public class PatientInfoController {
     @Autowired
     private PatientInfoFacade patientInfoFacade;

+ 15 - 12
icss-service/src/main/java/com/diagbot/web/PrintRecordController.java

@@ -1,7 +1,8 @@
 package com.diagbot.web;
 
-
 import javax.validation.Valid;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
@@ -13,6 +14,7 @@ import org.springframework.web.bind.annotation.RestController;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.PrintRecordFacade;
+import com.diagbot.vo.ContentsVO;
 import com.diagbot.vo.PrintRecordsVO;
 
 import io.swagger.annotations.Api;
@@ -26,23 +28,24 @@ import io.swagger.annotations.ApiOperation;
  */
 @RestController
 @RequestMapping("/printRecord")
-@Api(value = "打印记录API[by:wangfeng]", tags = { "打印记录API" })
+@Api(value = "打印记录API[by:wangfeng]", tags = { "WF——打印记录API" })
 @SuppressWarnings("unchecked")
 public class PrintRecordController {
-	
+
 	@Autowired
 	PrintRecordFacade printRecordFacade;
-	
-	@ApiOperation(value = "保存打印记录",notes = "保存打印记录")
-    @PostMapping("/savePrintRecords")
+
+	@ApiOperation(value = "保存打印记录[by:wangfeng]", notes = "疾病名称 :name</br>医生id:doctorId</br>医院编码 : hospitalId</br>"
+			+ "患者id:patientId</br>"
+			+ "医院部门id:hospitalDeptId</br> 问诊号:inquiryCode</br>文本内容 :content </br>{chief;//主诉present;//现病史other;//其他史vital;//查体lis;//化验pacs;//辅检diag;//诊断advice;//医嘱}</br>dataJson:内容JSON字符串(打印页面展示)")
+	@PostMapping("/savePrintRecords")
 	@SysLogger("savePrintRecords")
 	@Transactional
-    public RespDTO<Boolean> savePrintRecords(@Valid @RequestBody PrintRecordsVO printRecordsVO) {
+	public RespDTO<Boolean> savePrintRecords(@Valid @RequestBody PrintRecordsVO printRecordsVO) {
+
+		boolean res = printRecordFacade.savePrintRecord(printRecordsVO);
 
-        boolean res = printRecordFacade.savePrintRecord(printRecordsVO);
-        
-        return RespDTO.onSuc(res);
-    }
-	
+		return RespDTO.onSuc(res);
+	}
 
 }

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

@@ -24,6 +24,7 @@ import javax.validation.Valid;
 @RestController
 @RequestMapping("/push")
 @Api(value = "推理相关API", tags = { "推理相关API" })
+@SuppressWarnings("unchecked")
 public class PushController {
 
     @Autowired

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

@@ -27,6 +27,7 @@ import java.util.Map;
 @RequestMapping("/questionInfo")
 @RestController
 @Api(value = "标签相关API", tags = { "标签相关API" })
+@SuppressWarnings("unchecked")
 public class QuestionInfoController {
 
     @Autowired

+ 24 - 0
icss-service/src/main/java/com/diagbot/web/QuestionUsualController.java

@@ -1,10 +1,22 @@
 package com.diagbot.web;
 
 
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.QuestionUsualDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.QuestionUsualFacade;
+import com.diagbot.vo.QuestionUsualVO;
 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>
  * 常用标签表 前端控制器
@@ -16,6 +28,18 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 @RequestMapping("/questionUsual")
 @Api(value = "常用标签检索API", tags = { "常用标签API" })
+@SuppressWarnings("unchecked")
 public class QuestionUsualController {
 
+    @Autowired
+    private QuestionUsualFacade questionUsualFacade;
+
+    @ApiOperation(value = "常用标签——根据标签id获取提示信息[by:wangyu]",
+            notes = "deptCode:医院编码<br>" )
+    @PostMapping("/getQuestionUsual")
+    @SysLogger("getQuestionUsual")
+    public RespDTO<List<QuestionUsualDTO>> getQuestionUsual(@RequestBody @Valid QuestionUsualVO questionUsualVO) {
+        List<QuestionUsualDTO> data = questionUsualFacade.getQuestionUsual(questionUsualVO);
+        return RespDTO.onSuc( data);
+    }
 }

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

@@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 @RequestMapping("/retrieval")
 @Api(value = "同义词检索API", tags = { "同义词检索API" })
+@SuppressWarnings("unchecked")
 public class RetrievalController {
 
 }

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

@@ -28,19 +28,19 @@ import io.swagger.annotations.ApiOperation;
 /**
  * 
  * @author wangfeng
- * @Description:  病模板表 前端控制器
+ * @Description:  病模板表 前端控制器
  * @date 2018年11月16日 上午9:14:51
  */
 @RestController
 @RequestMapping("/templateInfo")
-@Api(value = "病例模板API[by:wangfeng]", tags = { "病例模板API" })
+@Api(value = "病历模板API[by:wangfeng]", tags = { "WF——病历模板API" })
 @SuppressWarnings("unchecked")
 public class TemplateInfoController {
 	
 	@Autowired
 	TemplateInfoFacade templateInfoFacade;
 	
-    @ApiOperation(value = "根据医生id、医院id、部门id返回病模板内容[by:wangfeng]",
+    @ApiOperation(value = "根据医生id、医院id、部门id返回病模板内容[by:wangfeng]",
     		notes = "doctorId: 医生id<br>" +"dospitalId:医院编码<br>"+"deptId:部门id<br>")
     @PostMapping("/getByDoctorIdTemplates")
     @SysLogger("getByDoctorIdTemplates")
@@ -64,7 +64,7 @@ public class TemplateInfoController {
     }
 
 
-    @ApiOperation(value = "保存病例模板[by:wangfeng]",notes = "保存病例模板")
+    @ApiOperation(value = "保存病历模板[by:wangfeng]",notes = "保存病历模板")
     @PostMapping("/saveTemplateInfo")
     @SysLogger("saveTemplateInfo")
     @Transactional
@@ -75,7 +75,7 @@ public class TemplateInfoController {
     	return RespDTO.onSuc(res);
     }
     
-    @ApiOperation(value = "根据模板id批量删除病模板[by:wangfeng]",notes = "ids: 模板ids<br>'ids':'1,2,3,4,5,6'")
+    @ApiOperation(value = "根据模板id批量删除病模板[by:wangfeng]",notes = "ids: 模板ids<br>'ids':'1,2,3,4,5,6'")
     @PostMapping("/cancelTemplateInfos")
     @SysLogger("cancelTemplateInfos")
     @Transactional

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

@@ -28,6 +28,7 @@ import java.util.List;
 @RestController
 @RequestMapping("/tranFieldInfo")
 @Api(value = "字段对应信息API", tags = { "字段对应信息API" })
+@SuppressWarnings("unchecked")
 public class TranFieldInfoController {
     @Autowired
     TranFieldInfoFacade tranFieldInfoFacade;

+ 26 - 0
icss-service/src/main/resources/mapper/InquiryDetailMapper.xml

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.diagbot.mapper.InquiryDetailMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.InquiryDetail">
+        <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="inquiry_id" property="inquiryId" />
+        <result column="type" property="type" />
+        <result column="content" property="content" />
+        <result column="remark" property="remark" />
+    </resultMap>
+    
+    <insert id="saveInquiryDetails" parameterType="list">
+    	insert into icss_inquiry_detail(inquiry_id,type,content) values
+    	<foreach collection="list" separator="," item="detail">
+    		(#{detail.inquiryId},#{detail.type},#{detail.content})
+    	</foreach>
+    </insert>
+
+</mapper>

+ 26 - 0
icss-service/src/main/resources/mapper/InquiryInfoMapper.xml

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.diagbot.mapper.InquiryInfoMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.InquiryInfo">
+        <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_id" property="hospitalId" />
+        <result column="hospital_dept_id" property="hospitalDeptId" />
+        <result column="doctor_id" property="doctorId" />
+        <result column="patient_id" property="patientId" />
+        <result column="inquiry_code" property="inquiryCode" />
+        <result column="reg_visited_state" property="regVisitedState" />
+        <result column="type" property="type" />
+        <result column="diagnose" property="diagnose" />
+        <result column="sign" property="sign" />
+        <result column="data_json" property="dataJson" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+</mapper>

+ 7 - 0
icss-service/src/main/resources/mapper/QuestionUsualMapper.xml

@@ -17,4 +17,11 @@
         <result column="remark" property="remark" />
     </resultMap>
 
+    <select id="getQuestionUsualName" resultType="com.diagbot.dto.QuestionUsualDTO">
+        SELECT b.`name` FROM `icss_dept_info` a
+        LEFT JOIN `icss_question_usual` c ON a.id = c.dept_id
+        LEFT JOIN `icss_question_info` b ON b.id = c.question_id
+        LEFT JOIN `tran_hospital_dept` d ON d.dept_id = a.id
+        WHERE a.is_deleted = 'N' AND b.is_deleted = 'N' AND c.is_deleted = 'N' AND d.is_deleted = 'N' AND d.`code` = #{deptCode}
+    </select>
 </mapper>

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

@@ -19,7 +19,7 @@
         <result column="data_json" property="dataJson" />
         <result column="remark" property="remark" />
     </resultMap>
-    <!--根据医生id查询该医生保存的病模板 -->
+    <!--根据医生id查询该医生保存的病模板 -->
 	<select id="findByDoctorIdTemplate" resultType="com.diagbot.dto.TemplateInfoDTO">
 	SELECT
 		id AS id,

+ 355 - 0
icssman-service/src/main/java/com/diagbot/entity/QuestionInfo.java

@@ -0,0 +1,355 @@
+package com.diagbot.entity;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 标签基础表
+ * </p>
+ *
+ * @author zhaops
+ * @since 2018-11-23
+ */
+@TableName("icss_question_info")
+public class QuestionInfo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private LocalDateTime gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private LocalDateTime gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 标签名
+     */
+    private String tagName;
+
+    /**
+     * 内容
+     */
+    private String name;
+
+    /**
+     * 性别(1:男 2:女 3:通用)
+     */
+    private Integer sexType;
+
+    /**
+     * 最小年龄
+     */
+    private Integer ageBegin;
+
+    /**
+     * 最大年龄
+     */
+    private Integer ageEnd;
+
+    /**
+     * 标签标识(1:单项单问题,例如: 程度,咳出通畅度  2:单项多问题,例如:杂音,添加症状 3:填充项,例如:有前后缀的输入框 4:横铺组合项,例如:咳嗽,发热 5:竖铺组合项,例如:诊疗变化)
+     */
+    private String tagType;
+
+    /**
+     * 控件类型(0:无类型,默认值 1:下拉单选 2:下拉多选 3:联合下拉单选 4:联合下拉多选 5:占位标签 6:文本框 7:数字键盘文本框 99:联合推送)
+     */
+    private Integer controlType;
+
+    /**
+     * 类型(1:症状 3:其他史 4:查体,5:化验 6:辅检 7:诊断)
+     */
+    private Integer type;
+
+    /**
+     * 子类型,(0:本身,1:描述类型 31:既往史 32:家族史 33:个人史 34:月经史 35:婚育史)
+     */
+    private Integer subType;
+
+    /**
+     * 前置内容
+     */
+    private String labelPrefix;
+
+    /**
+     * 后置内容
+     */
+    private String labelSuffix;
+
+    /**
+     * 最小值
+     */
+    private BigDecimal minValue;
+
+    /**
+     * 最大值
+     */
+    private BigDecimal maxValue;
+
+    /**
+     * 判断类型(0:本身异常;1:本身正常;2:数字范围;3:计算公式;9:无需判断)
+     */
+    private String judgeType;
+
+    /**
+     * 文本生成规则(0:点选顺序,例如初为 1:从上到下,从左到右,例如查体杂音 2:从左到右,从上到下,例如伴/无)
+     */
+    private Integer textGenerate;
+
+    /**
+     * 是否复制 (0:不复制,1:复制)
+     */
+    private String copyType;
+
+    /**
+     * 是否显示+ (0:不显示 1:显示),+功能等于复制
+     */
+    private Integer showAdd;
+
+    /**
+     * 提示语
+     */
+    private String placeholder;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+    public LocalDateTime getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(LocalDateTime gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+    public LocalDateTime getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(LocalDateTime gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
+    public String getTagName() {
+        return tagName;
+    }
+
+    public void setTagName(String tagName) {
+        this.tagName = tagName;
+    }
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+    public Integer getSexType() {
+        return sexType;
+    }
+
+    public void setSexType(Integer sexType) {
+        this.sexType = sexType;
+    }
+    public Integer getAgeBegin() {
+        return ageBegin;
+    }
+
+    public void setAgeBegin(Integer ageBegin) {
+        this.ageBegin = ageBegin;
+    }
+    public Integer getAgeEnd() {
+        return ageEnd;
+    }
+
+    public void setAgeEnd(Integer ageEnd) {
+        this.ageEnd = ageEnd;
+    }
+    public String getTagType() {
+        return tagType;
+    }
+
+    public void setTagType(String tagType) {
+        this.tagType = tagType;
+    }
+    public Integer getControlType() {
+        return controlType;
+    }
+
+    public void setControlType(Integer controlType) {
+        this.controlType = controlType;
+    }
+    public Integer getType() {
+        return type;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+    public Integer getSubType() {
+        return subType;
+    }
+
+    public void setSubType(Integer subType) {
+        this.subType = subType;
+    }
+    public String getLabelPrefix() {
+        return labelPrefix;
+    }
+
+    public void setLabelPrefix(String labelPrefix) {
+        this.labelPrefix = labelPrefix;
+    }
+    public String getLabelSuffix() {
+        return labelSuffix;
+    }
+
+    public void setLabelSuffix(String labelSuffix) {
+        this.labelSuffix = labelSuffix;
+    }
+    public BigDecimal getMinValue() {
+        return minValue;
+    }
+
+    public void setMinValue(BigDecimal minValue) {
+        this.minValue = minValue;
+    }
+    public BigDecimal getMaxValue() {
+        return maxValue;
+    }
+
+    public void setMaxValue(BigDecimal maxValue) {
+        this.maxValue = maxValue;
+    }
+    public String getJudgeType() {
+        return judgeType;
+    }
+
+    public void setJudgeType(String judgeType) {
+        this.judgeType = judgeType;
+    }
+    public Integer getTextGenerate() {
+        return textGenerate;
+    }
+
+    public void setTextGenerate(Integer textGenerate) {
+        this.textGenerate = textGenerate;
+    }
+    public String getCopyType() {
+        return copyType;
+    }
+
+    public void setCopyType(String copyType) {
+        this.copyType = copyType;
+    }
+    public Integer getShowAdd() {
+        return showAdd;
+    }
+
+    public void setShowAdd(Integer showAdd) {
+        this.showAdd = showAdd;
+    }
+    public String getPlaceholder() {
+        return placeholder;
+    }
+
+    public void setPlaceholder(String placeholder) {
+        this.placeholder = placeholder;
+    }
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    @Override
+    public String toString() {
+        return "QuestionInfo{" +
+        "id=" + id +
+        ", isDeleted=" + isDeleted +
+        ", gmtCreate=" + gmtCreate +
+        ", gmtModified=" + gmtModified +
+        ", creator=" + creator +
+        ", modifier=" + modifier +
+        ", tagName=" + tagName +
+        ", name=" + name +
+        ", sexType=" + sexType +
+        ", ageBegin=" + ageBegin +
+        ", ageEnd=" + ageEnd +
+        ", tagType=" + tagType +
+        ", controlType=" + controlType +
+        ", type=" + type +
+        ", subType=" + subType +
+        ", labelPrefix=" + labelPrefix +
+        ", labelSuffix=" + labelSuffix +
+        ", minValue=" + minValue +
+        ", maxValue=" + maxValue +
+        ", judgeType=" + judgeType +
+        ", textGenerate=" + textGenerate +
+        ", copyType=" + copyType +
+        ", showAdd=" + showAdd +
+        ", placeholder=" + placeholder +
+        ", remark=" + remark +
+        "}";
+    }
+}

+ 1 - 2
icssman-service/src/main/java/com/diagbot/enums/QuestionTypeEnum.java

@@ -9,8 +9,7 @@ import lombok.Setter;
  * @time: 2018/11/21 11:39
  */
 public enum QuestionTypeEnum implements KeyedNamed {
-    Mainsuit(1, "主诉"),
-    Symptom(2, "现病史"),
+    Symptom(1, "症状"),
     Other(3, "其他史"),
     Vital(4, "查体"),
     Lis(5, "化验"),

+ 58 - 2
icssman-service/src/main/java/com/diagbot/facade/DeptVitalFacade.java

@@ -1,13 +1,69 @@
 package com.diagbot.facade;
 
-import com.diagbot.service.impl.DeptInfoServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.entity.DeptVital;
+import com.diagbot.entity.QuestionInfo;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.enums.QuestionTypeEnum;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.service.impl.DeptVitalServiceImpl;
+import com.diagbot.util.EntityUtil;
+import com.diagbot.vo.DeptVitalVO;
+import com.google.common.collect.Lists;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
 /**
  * @Description:
  * @Author:zhaops
  * @time: 2018/11/22 11:45
  */
 @Component
-public class DeptVitalFacade extends DeptInfoServiceImpl {
+public class DeptVitalFacade extends DeptVitalServiceImpl {
+
+    @Autowired
+    private QuestionInfoFacade questionInfoFacade;
+
+    /**
+     * 保存查体模板
+     *
+     * @param deptVitalVO
+     * @return
+     */
+    public Boolean saveDeptVitals(DeptVitalVO deptVitalVO) {
+        //先删除该科室原有模板
+        QueryWrapper<DeptVital> deptVitalQueryWrapper = new QueryWrapper<DeptVital>();
+        deptVitalQueryWrapper.eq("dept_id", deptVitalVO.getDeptId());
+        this.remove(deptVitalQueryWrapper);
+
+        //查找标签是否存在
+        QueryWrapper<QuestionInfo> questionInfoQueryWrapper = new QueryWrapper<>();
+        questionInfoQueryWrapper.in("id", deptVitalVO.getVitalIds()).
+                eq("type", QuestionTypeEnum.Vital.getKey()).
+                eq("is_deleted", IsDeleteEnum.N.getKey());
+        List<QuestionInfo> questionInfoList = questionInfoFacade.list(questionInfoQueryWrapper);
+
+        Map<Long, QuestionInfo> questionInfoMap = EntityUtil.makeEntityMap(questionInfoList, "id");
+        for (Long vital : deptVitalVO.getVitalIds()) {
+            if (questionInfoMap.get(vital) == null) {
+                throw new CommonException(CommonErrorCode.NOT_EXISTS, "id=" + vital + "的查体标签不存在");
+            }
+        }
+
+        //插入新模板
+        List<DeptVital> deptVitalList = Lists.newArrayList();
+        for (Long vital : deptVitalVO.getVitalIds()) {
+            DeptVital deptVital = new DeptVital();
+            deptVital.setDeptId(deptVitalVO.getDeptId());
+            deptVital.setVitalId(vital);
+            deptVital.setGmtCreate(new Date());
+        }
+        this.saveBatch(deptVitalList);
+        return true;
+    }
 }

+ 13 - 0
icssman-service/src/main/java/com/diagbot/facade/QuestionInfoFacade.java

@@ -0,0 +1,13 @@
+package com.diagbot.facade;
+
+import com.diagbot.service.impl.QuestionInfoServiceImpl;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2018/11/23 11:37
+ */
+@Component
+public class QuestionInfoFacade extends QuestionInfoServiceImpl {
+}

+ 16 - 0
icssman-service/src/main/java/com/diagbot/mapper/QuestionInfoMapper.java

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.QuestionInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 标签基础表 Mapper 接口
+ * </p>
+ *
+ * @author zhaops
+ * @since 2018-11-23
+ */
+public interface QuestionInfoMapper extends BaseMapper<QuestionInfo> {
+
+}

+ 16 - 0
icssman-service/src/main/java/com/diagbot/service/QuestionInfoService.java

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.QuestionInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 标签基础表 服务类
+ * </p>
+ *
+ * @author zhaops
+ * @since 2018-11-23
+ */
+public interface QuestionInfoService extends IService<QuestionInfo> {
+
+}

+ 20 - 0
icssman-service/src/main/java/com/diagbot/service/impl/QuestionInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.QuestionInfo;
+import com.diagbot.mapper.QuestionInfoMapper;
+import com.diagbot.service.QuestionInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 标签基础表 服务实现类
+ * </p>
+ *
+ * @author zhaops
+ * @since 2018-11-23
+ */
+@Service
+public class QuestionInfoServiceImpl extends ServiceImpl<QuestionInfoMapper, QuestionInfo> implements QuestionInfoService {
+
+}

+ 20 - 0
icssman-service/src/main/java/com/diagbot/vo/DeptVitalVO.java

@@ -0,0 +1,20 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Description:查体模板
+ * @Author:zhaops
+ * @time: 2018/11/23 11:16
+ */
+@Getter
+@Setter
+public class DeptVitalVO {
+    @NotNull(message = "请输入科室ID")
+    private Long deptId;
+    @NotNull(message = "请输入查体标签ID")
+    private Long[] vitalIds;
+}

+ 0 - 2
icssman-service/src/main/java/com/diagbot/web/DeptInfoController.java

@@ -3,8 +3,6 @@ package com.diagbot.web;
 
 import io.swagger.annotations.Api;
 import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RestController;
 
 /**

+ 17 - 0
icssman-service/src/main/java/com/diagbot/web/DeptVitalController.java

@@ -1,10 +1,19 @@
 package com.diagbot.web;
 
 
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.DeptVital;
+import com.diagbot.vo.DeptVitalVO;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+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 java.util.List;
+
 /**
  * <p>
  * 科室查体对应表 前端控制器
@@ -18,4 +27,12 @@ import org.springframework.web.bind.annotation.RestController;
 @Api(value = "查体模板相关API", tags = { "查体模板相关API" })
 public class DeptVitalController {
 
+    @ApiOperation(value = "保存查体模板",
+            notes = "deptId:科室ID,必填<br>" +
+                    "vitalIds:查体标签ids,必填<br>" )
+    @PostMapping("/saveDeptVitals")
+    @SysLogger("saveDeptVitals")
+    public RespDTO<Boolean> saveDeptVitals(@RequestBody DeptVitalVO deptVitalVO){
+        return RespDTO.onSuc(true);
+    }
 }

+ 20 - 0
icssman-service/src/main/java/com/diagbot/web/QuestionInfoController.java

@@ -0,0 +1,20 @@
+package com.diagbot.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ * 标签基础表 前端控制器
+ * </p>
+ *
+ * @author zhaops
+ * @since 2018-11-23
+ */
+@Controller
+@RequestMapping("/questionInfo")
+public class QuestionInfoController {
+
+}

+ 1 - 2
icssman-service/src/main/java/com/diagbot/web/VitalOrderController.java

@@ -3,8 +3,6 @@ package com.diagbot.web;
 
 import io.swagger.annotations.Api;
 import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RestController;
 
 /**
@@ -20,4 +18,5 @@ import org.springframework.web.bind.annotation.RestController;
 @Api(value = "查体排序相关API", tags = { "查体排序相关API" })
 public class VitalOrderController {
 
+
 }

+ 34 - 0
icssman-service/src/main/resources/mapper/QuestionInfoMapper.xml

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.diagbot.mapper.QuestionInfoMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.QuestionInfo">
+        <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="tag_name" property="tagName" />
+        <result column="name" property="name" />
+        <result column="sex_type" property="sexType" />
+        <result column="age_begin" property="ageBegin" />
+        <result column="age_end" property="ageEnd" />
+        <result column="tag_type" property="tagType" />
+        <result column="control_type" property="controlType" />
+        <result column="type" property="type" />
+        <result column="sub_type" property="subType" />
+        <result column="label_prefix" property="labelPrefix" />
+        <result column="label_suffix" property="labelSuffix" />
+        <result column="min_value" property="minValue" />
+        <result column="max_value" property="maxValue" />
+        <result column="judge_type" property="judgeType" />
+        <result column="text_generate" property="textGenerate" />
+        <result column="copy_type" property="copyType" />
+        <result column="show_add" property="showAdd" />
+        <result column="placeholder" property="placeholder" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+</mapper>