浏览代码

标签相关接口

zhoutg 5 年之前
父节点
当前提交
4c6347c460
共有 43 个文件被更改,包括 2128 次插入12 次删除
  1. 32 0
      mrman-service/src/main/java/com/diagbot/dto/QuestionDTO.java
  2. 103 0
      mrman-service/src/main/java/com/diagbot/dto/QuestionPageDTO.java
  3. 20 0
      mrman-service/src/main/java/com/diagbot/entity/CommonParam.java
  4. 160 0
      mrman-service/src/main/java/com/diagbot/entity/QcModuleDetail.java
  5. 73 0
      mrman-service/src/main/java/com/diagbot/entity/QcModuleInfo.java
  6. 113 0
      mrman-service/src/main/java/com/diagbot/entity/QcQuestionInfo.java
  7. 73 0
      mrman-service/src/main/java/com/diagbot/entity/QcQuestionMapping.java
  8. 21 0
      mrman-service/src/main/java/com/diagbot/entity/wrapper/QuestionInfoWrapper.java
  9. 42 0
      mrman-service/src/main/java/com/diagbot/entity/wrapper/QuestionMappingWrapper.java
  10. 34 0
      mrman-service/src/main/java/com/diagbot/entity/wrapper/QuestionWrapper.java
  11. 50 0
      mrman-service/src/main/java/com/diagbot/enums/InsertOrUpdateEnum.java
  12. 49 0
      mrman-service/src/main/java/com/diagbot/enums/TagTypeEnum.java
  13. 439 0
      mrman-service/src/main/java/com/diagbot/facade/QcQuestionFacade.java
  14. 25 0
      mrman-service/src/main/java/com/diagbot/facade/QcQuestionMappingFacade.java
  15. 16 0
      mrman-service/src/main/java/com/diagbot/mapper/QcModuleDetailMapper.java
  16. 16 0
      mrman-service/src/main/java/com/diagbot/mapper/QcModuleInfoMapper.java
  17. 56 0
      mrman-service/src/main/java/com/diagbot/mapper/QcQuestionInfoMapper.java
  18. 25 0
      mrman-service/src/main/java/com/diagbot/mapper/QcQuestionMappingMapper.java
  19. 16 0
      mrman-service/src/main/java/com/diagbot/service/QcModuleDetailService.java
  20. 16 0
      mrman-service/src/main/java/com/diagbot/service/QcModuleInfoService.java
  21. 62 0
      mrman-service/src/main/java/com/diagbot/service/QcQuestionInfoService.java
  22. 25 0
      mrman-service/src/main/java/com/diagbot/service/QcQuestionMappingService.java
  23. 20 0
      mrman-service/src/main/java/com/diagbot/service/impl/QcModuleDetailServiceImpl.java
  24. 20 0
      mrman-service/src/main/java/com/diagbot/service/impl/QcModuleInfoServiceImpl.java
  25. 51 0
      mrman-service/src/main/java/com/diagbot/service/impl/QcQuestionInfoServiceImpl.java
  26. 26 0
      mrman-service/src/main/java/com/diagbot/service/impl/QcQuestionMappingServiceImpl.java
  27. 16 0
      mrman-service/src/main/java/com/diagbot/vo/DeleteModuleVO.java
  28. 15 0
      mrman-service/src/main/java/com/diagbot/vo/DeleteQuestionVO.java
  29. 15 0
      mrman-service/src/main/java/com/diagbot/vo/QuestionIdsVO.java
  30. 24 0
      mrman-service/src/main/java/com/diagbot/vo/QuestionIndexVO.java
  31. 24 0
      mrman-service/src/main/java/com/diagbot/vo/QuestionPageVO.java
  32. 16 0
      mrman-service/src/main/java/com/diagbot/vo/QuestionSaveVO.java
  33. 15 0
      mrman-service/src/main/java/com/diagbot/vo/QuestionVO.java
  34. 15 0
      mrman-service/src/main/java/com/diagbot/vo/SubQuestionVO.java
  35. 20 0
      mrman-service/src/main/java/com/diagbot/web/QcModuleDetailController.java
  36. 20 0
      mrman-service/src/main/java/com/diagbot/web/QcModuleInfoController.java
  37. 115 0
      mrman-service/src/main/java/com/diagbot/web/QcQuestionInfoController.java
  38. 20 0
      mrman-service/src/main/java/com/diagbot/web/QcQuestionMappingController.java
  39. 19 0
      mrman-service/src/main/resources/mapper/QcModuleDetailMapper.xml
  40. 19 0
      mrman-service/src/main/resources/mapper/QcModuleInfoMapper.xml
  41. 151 0
      mrman-service/src/main/resources/mapper/QcQuestionInfoMapper.xml
  42. 31 0
      mrman-service/src/main/resources/mapper/QcQuestionMappingMapper.xml
  43. 10 12
      mrman-service/src/test/java/com/diagbot/CodeGeneration.java

+ 32 - 0
mrman-service/src/main/java/com/diagbot/dto/QuestionDTO.java

@@ -0,0 +1,32 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Description: 返回标签内容
+ * @Author: ztg
+ * @Date: 2018/10/24 16:11
+ */
+@Getter
+@Setter
+public class QuestionDTO {
+
+    private Long id;// id
+    private String name;//key
+    private String val;//value
+    private String tagName;//标签名称
+    private Integer controlType; //控件类型
+    private Integer tagType; //标签标识
+    private Long hospitalId; //医院ID
+    private Long modeId; //数据模块ID
+    private Integer retract; //缩进(0:不缩进 1:缩进)
+    private Integer addLine; //换行(0:不换行,1:换行)
+    private Integer bold;//换行(0:不换行,1:加粗)
+    private String casesEntryIds;//质控条目id列表
+    private List<QuestionDTO> questionMapping = new ArrayList<>();     //下级标签
+    private String remark;//备注
+}

+ 103 - 0
mrman-service/src/main/java/com/diagbot/dto/QuestionPageDTO.java

@@ -0,0 +1,103 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 标签基础表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2018-12-03
+ */
+
+@Getter
+@Setter
+public class QuestionPageDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 标签名
+     */
+    private String tagName;
+
+    /**
+     * 内容
+     */
+    private String name;
+
+    /**
+     * value
+     */
+    private String val;
+
+    /**
+     * 标签标识(1:单标签 4:组合标签)
+     */
+    private Integer tagType;
+
+    /**
+     * 控件类型(0:无类型)
+     */
+    private Integer controlType;
+
+    /**
+     * 缩进(0:不缩进 1:缩进)
+     */
+    private Integer retract;
+
+    /**
+     * 换行(0:不换行,1:换行)
+     */
+    private Integer addLine;
+
+    /**
+     * 换行(0:不换行,1:加粗)
+     */
+    private Integer bold;
+
+    /**
+     * 质控条目id列表
+     */
+    private String casesEntryIds;
+
+    /**
+     * 备注
+     */
+    private String remark;
+}

+ 20 - 0
mrman-service/src/main/java/com/diagbot/entity/CommonParam.java

@@ -0,0 +1,20 @@
+package com.diagbot.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * @Description:
+ * @Author: ztg
+ * @Date: 2018/12/14 14:15
+ */
+@Getter
+@Setter
+public class CommonParam {
+    private String person;     //操作人
+    private Date now;          //当前时间
+    private int insertOrUpdate;//更新或新增标识
+    private QcQuestionInfo qcQuestionInfo; //主表信息
+}

+ 160 - 0
mrman-service/src/main/java/com/diagbot/entity/QcModuleDetail.java

@@ -0,0 +1,160 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 模型明细表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-27
+ */
+@Data
+public class QcModuleDetail implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * module_id
+     */
+    private Long moduleId;
+
+    /**
+     * questionId
+     */
+    private Long questionId;
+
+    /**
+     * 排序号
+     */
+    private Integer orderNo;
+
+    /**
+     * 备注
+     */
+    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 Date getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(Date gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+    public Date getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(Date 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 getModuleId() {
+        return moduleId;
+    }
+
+    public void setModuleId(Long moduleId) {
+        this.moduleId = moduleId;
+    }
+    public Long getQuestionId() {
+        return questionId;
+    }
+
+    public void setQuestionId(Long questionId) {
+        this.questionId = questionId;
+    }
+    public Integer getOrderNo() {
+        return orderNo;
+    }
+
+    public void setOrderNo(Integer orderNo) {
+        this.orderNo = orderNo;
+    }
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    @Override
+    public String toString() {
+        return "QcModuleDetail{" +
+            "id=" + id +
+            ", isDeleted=" + isDeleted +
+            ", gmtCreate=" + gmtCreate +
+            ", gmtModified=" + gmtModified +
+            ", creator=" + creator +
+            ", modifier=" + modifier +
+            ", moduleId=" + moduleId +
+            ", questionId=" + questionId +
+            ", orderNo=" + orderNo +
+            ", remark=" + remark +
+        "}";
+    }
+}

+ 73 - 0
mrman-service/src/main/java/com/diagbot/entity/QcModuleInfo.java

@@ -0,0 +1,73 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 模型表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-27
+ */
+@Data
+public class QcModuleInfo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 模板名称
+     */
+    private String name;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 数据模块ID
+     */
+    private Long modeId;
+
+    /**
+     * 备注
+     */
+    private String remark;
+}

+ 113 - 0
mrman-service/src/main/java/com/diagbot/entity/QcQuestionInfo.java

@@ -0,0 +1,113 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 标签基础表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-27
+ */
+@Data
+public class QcQuestionInfo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 数据模块ID
+     */
+    private Long modeId;
+
+    /**
+     * 标签名
+     */
+    private String tagName;
+
+    /**
+     * key
+     */
+    private String name;
+
+    /**
+     * value
+     */
+    private String val;
+
+    /**
+     * 标签标识(1:单标签 4:组合标签)
+     */
+    private Integer tagType;
+
+    /**
+     * 控件类型(0:无类型)
+     */
+    private Integer controlType;
+
+    /**
+     * 缩进(0:不缩进 1:缩进)
+     */
+    private Integer retract;
+
+    /**
+     * 换行(0:不换行,1:换行)
+     */
+    private Integer addLine;
+
+    /**
+     * 换行(0:不换行,1:加粗)
+     */
+    private Integer bold;
+
+    /**
+     * 质控条目id列表
+     */
+    private String casesEntryIds;
+
+    /**
+     * 备注
+     */
+    private String remark;
+}

+ 73 - 0
mrman-service/src/main/java/com/diagbot/entity/QcQuestionMapping.java

@@ -0,0 +1,73 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 标签映射表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-27
+ */
+@Data
+public class QcQuestionMapping implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 上级question
+     */
+    private Long parentQuestion;
+
+    /**
+     * 下级question
+     */
+    private Long sonQuestion;
+
+    /**
+     * 排序号
+     */
+    private Integer orderNo;
+
+    /**
+     * 备注
+     */
+    private String remark;
+}

+ 21 - 0
mrman-service/src/main/java/com/diagbot/entity/wrapper/QuestionInfoWrapper.java

@@ -0,0 +1,21 @@
+package com.diagbot.entity.wrapper;
+
+import com.diagbot.entity.QcQuestionInfo;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 标签扩展表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2018-11-15
+ */
+@Getter
+@Setter
+public class QuestionInfoWrapper extends QcQuestionInfo {
+
+    private Long parentQuestion; //父级问题ID
+
+}

+ 42 - 0
mrman-service/src/main/java/com/diagbot/entity/wrapper/QuestionMappingWrapper.java

@@ -0,0 +1,42 @@
+package com.diagbot.entity.wrapper;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 标签映射表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2018-12-03
+ */
+@Getter
+@Setter
+public class QuestionMappingWrapper implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    private Long id;
+
+    /**
+     * 上级question
+     */
+    private Long parentQuestion;
+
+    /**
+     * 下级question
+     */
+    private Long sonQuestion;
+
+    /**
+     * 排序号
+     */
+    private Integer orderNo;
+
+}

+ 34 - 0
mrman-service/src/main/java/com/diagbot/entity/wrapper/QuestionWrapper.java

@@ -0,0 +1,34 @@
+package com.diagbot.entity.wrapper;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 标签保存参数
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2018-12-03
+ */
+
+@Data
+public class QuestionWrapper implements Serializable {
+    private Long id; //主键
+    private Long hospitalId; //医院ID
+    private Long modeId; //数据模块ID
+    private String tagName; //标签名
+    private String name; //界面名称
+    private String val; // value
+    private Integer tagType; //标签显示类型
+    private Integer controlType; //控件类型
+    private Integer retract; // 缩进(0:不缩进 1:缩进)
+    private Integer addLine; // 换行(0:不换行,1:换行)
+    private Integer bold; //换行(0:不换行,1:加粗)
+    private String casesEntryIds; //质控条目id列表
+    private String remark; //备注
+    private List<QuestionMappingWrapper> questionMappings = new ArrayList<>(); //映射关系
+}

+ 50 - 0
mrman-service/src/main/java/com/diagbot/enums/InsertOrUpdateEnum.java

@@ -0,0 +1,50 @@
+package com.diagbot.enums;
+
+import com.diagbot.core.KeyedNamed;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description: TODO
+ * @date 2018年11月21日 下午2:31:42
+ */
+public enum InsertOrUpdateEnum implements KeyedNamed {
+    Insert(1, "新增"),
+    Update(2, "修改");
+
+    @Setter
+    private int key;
+
+    @Setter
+    private String name;
+
+    InsertOrUpdateEnum(int key, String name) {
+        this.key = key;
+        this.name = name;
+    }
+
+    public static InsertOrUpdateEnum getEnum(int key) {
+        for (InsertOrUpdateEnum item : InsertOrUpdateEnum.values()) {
+            if (item.key == key) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static String getName(int key) {
+        InsertOrUpdateEnum item = getEnum(key);
+        return item != null ? item.name : null;
+    }
+
+    @Override
+    public int getKey() {
+        return key;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+}
+

+ 49 - 0
mrman-service/src/main/java/com/diagbot/enums/TagTypeEnum.java

@@ -0,0 +1,49 @@
+package com.diagbot.enums;
+
+import com.diagbot.core.KeyedNamed;
+import lombok.Setter;
+
+/**
+ * @Description:标签显示类型
+ * @Author:zhoutg
+ * @time: 2018/11/21 11:39
+ */
+public enum TagTypeEnum implements KeyedNamed {
+    T1(1, "单标签"),
+    T4(4, "组合标签");
+
+    @Setter
+    private int key;
+
+    @Setter
+    private String name;
+
+    TagTypeEnum(int key, String name) {
+        this.key = key;
+        this.name = name;
+    }
+
+    public static TagTypeEnum getEnum(int key) {
+        for (TagTypeEnum item : TagTypeEnum.values()) {
+            if (item.key == key) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static String getName(int key) {
+        TagTypeEnum item = getEnum(key);
+        return item != null ? item.name : null;
+    }
+
+    @Override
+    public int getKey() {
+        return key;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+}

+ 439 - 0
mrman-service/src/main/java/com/diagbot/facade/QcQuestionFacade.java

@@ -0,0 +1,439 @@
+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.diagbot.client.UserServiceClient;
+import com.diagbot.dto.QuestionDTO;
+import com.diagbot.dto.QuestionPageDTO;
+import com.diagbot.entity.CommonParam;
+import com.diagbot.entity.QcQuestionInfo;
+import com.diagbot.entity.QcQuestionMapping;
+import com.diagbot.entity.wrapper.QuestionInfoWrapper;
+import com.diagbot.entity.wrapper.QuestionMappingWrapper;
+import com.diagbot.entity.wrapper.QuestionWrapper;
+import com.diagbot.enums.InsertOrUpdateEnum;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.service.QcQuestionMappingService;
+import com.diagbot.service.impl.QcQuestionInfoServiceImpl;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.util.DateUtil;
+import com.diagbot.util.ListUtil;
+import com.diagbot.util.StringUtil;
+import com.diagbot.util.UserUtils;
+import com.diagbot.vo.DeleteQuestionVO;
+import com.diagbot.vo.QuestionIdsVO;
+import com.diagbot.vo.QuestionIndexVO;
+import com.diagbot.vo.QuestionPageVO;
+import com.diagbot.vo.QuestionSaveVO;
+import com.diagbot.vo.QuestionVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description:
+ * @Author:zhoutg
+ * @time: 2018/11/23 11:37
+ */
+@Component
+public class QcQuestionFacade extends QcQuestionInfoServiceImpl {
+
+//    @Autowired
+//    @Qualifier("questionInfoServiceImpl")
+//    QuestionInfoService questionInfoService;
+    @Autowired
+    @Qualifier("qcQuestionMappingServiceImpl")
+    QcQuestionMappingService qcQuestionMappingService;
+    @Autowired
+    QcQuestionMappingFacade qcQuestionMappingFacade;
+    @Autowired
+    UserServiceClient userServiceClient;
+//    @Autowired
+//    ModuleDetailFacade moduleDetailFacade;
+//    @Autowired
+//    ModuleInfoFacade moduleInfoFacade;
+
+    /**
+     * 标签保存
+     *
+     * @param questionSaveVO
+     */
+    public void saveOrUpdate(QuestionSaveVO questionSaveVO) {
+        QuestionWrapper questionWrapper = questionSaveVO.getQuestionWrapper();
+        CommonParam param = initCommonParam();
+        //保存|修改主表信息
+        saveQuestionInfo(questionWrapper, param);
+        // 保存映射表
+        saveQuestionMapping(questionWrapper, param);
+    }
+
+
+    /**
+     * 初始化参数
+     *
+     * @return
+     */
+    public CommonParam initCommonParam() {
+        CommonParam param = new CommonParam();
+        String person = UserUtils.getCurrentPrincipleID();
+        param.setNow(DateUtil.now());
+        param.setPerson(person);
+        param.setInsertOrUpdate(InsertOrUpdateEnum.Insert.getKey());
+        return param;
+    }
+
+
+    /**
+     * 保存映射关系
+     *
+     * @param questionWrapper
+     * @param param
+     */
+    public void saveQuestionMapping(QuestionWrapper questionWrapper, CommonParam param) {
+        QcQuestionInfo questionInfo = param.getQcQuestionInfo();
+        Date now = param.getNow();
+        String person = param.getPerson();
+        //先删除原明细,再插入新明细
+        List<QuestionMappingWrapper> questionMappings = questionWrapper.getQuestionMappings();
+        if (ListUtil.isNotEmpty(questionMappings)) {
+            deleteMapping(questionInfo.getId(), param);//删除原映射关系
+            saveMapping(questionMappings, person, now, questionInfo.getId());
+        }
+    }
+
+
+    /**
+     * 删除映射关系
+     *
+     * @param questionId
+     * @param param
+     */
+    public void deleteMapping(Long questionId, CommonParam param) {
+        qcQuestionMappingFacade.update(new QcQuestionMapping(),
+                new UpdateWrapper<QcQuestionMapping>()
+                        .eq("parent_question", questionId)
+                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .set("gmt_modified", param.getNow())
+                        .set("modifier", param.getPerson())
+                        .set("is_deleted", IsDeleteEnum.Y.getKey()));
+    }
+
+
+    /**
+     * 保存映射关系
+     *
+     * @param questionMappings
+     * @param person
+     * @param now
+     * @param id
+     */
+    public void saveMapping(List<QuestionMappingWrapper> questionMappings, String person, Date now, Long id) {
+        List<QcQuestionMapping> saveMapping = new ArrayList<>();
+        for (QuestionMappingWrapper mapping : questionMappings) {
+            QcQuestionMapping bean = new QcQuestionMapping();
+            BeanUtil.copyProperties(mapping, bean);
+            bean.setId(null); //防止前端传参,将前端的id置空自动插入
+            bean.setCreator(person);
+            bean.setGmtCreate(now);
+            bean.setModifier(person);
+            bean.setGmtModified(now);
+            bean.setParentQuestion(id);
+            saveMapping.add(bean);
+        }
+        qcQuestionMappingService.saveBatch(saveMapping);
+    }
+
+    /**
+     * 保存主表
+     *
+     * @param questionWrapper
+     * @param param
+     */
+    public void saveQuestionInfo(QuestionWrapper questionWrapper, CommonParam param) {
+        QcQuestionInfo qcQuestionInfo = new QcQuestionInfo();
+        if (questionWrapper.getId() != null) {
+            qcQuestionInfo = this.getOne(new QueryWrapper<QcQuestionInfo>()
+                    .eq("id", questionWrapper.getId())
+                    .eq("is_deleted", IsDeleteEnum.N.getKey()), false);
+            if (qcQuestionInfo == null) { //校验
+                throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "标签不存在");
+            }
+            param.setInsertOrUpdate(InsertOrUpdateEnum.Update.getKey());
+        }
+        BeanUtil.copyProperties(questionWrapper, qcQuestionInfo);
+        List<QcQuestionInfo> questionInfoList = this.list(new QueryWrapper<QcQuestionInfo>()
+                .eq("tag_name", qcQuestionInfo.getTagName())
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("mode_id", qcQuestionInfo.getModeId())
+                .eq("hospital_id", qcQuestionInfo.getHospitalId())
+                .ne("id", qcQuestionInfo.getId() == null ? -1 : qcQuestionInfo.getId()));
+        if (ListUtil.isNotEmpty(questionInfoList)) { //标签type、tagName唯一
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "系统名称已重复,无法建立");
+        }
+        if (InsertOrUpdateEnum.Insert.getKey() == param.getInsertOrUpdate()) {
+            qcQuestionInfo.setCreator(param.getPerson()); //创建人
+            qcQuestionInfo.setGmtCreate(param.getNow());//创建时间
+        }
+        qcQuestionInfo.setGmtModified(param.getNow());//修改时间
+        qcQuestionInfo.setModifier(param.getPerson());//修改人
+        param.setQcQuestionInfo(qcQuestionInfo);
+        this.saveOrUpdate(qcQuestionInfo);
+    }
+
+
+    /**
+     * 标签列表
+     *
+     * @param questionPageVO
+     * @return
+     */
+    public IPage<QuestionPageDTO> getListFac(QuestionPageVO questionPageVO) {
+        IPage<QuestionPageDTO> res = this.getList(questionPageVO);
+//        if (res.getTotal() <= 0) {
+//            return res;
+//        }
+//        List<String> personIds = res.getRecords().stream().map(row -> row.getModifier()).collect(Collectors.toList());
+//        RespDTO<Map<String, String>> mapRespDTO = userServiceClient.getUserInfoByIds(personIds);
+//        if (mapRespDTO == null || !CommonErrorCode.OK.getCode().equals(mapRespDTO.code)) {
+//            throw new CommonException(CommonErrorCode.RPC_ERROR, "获取操作人失败");
+//        }
+//        for (QuestionPageDTO bean : res.getRecords()) {
+//            bean.setModifier(mapRespDTO.data.get(bean.getModifier()));
+//        }
+        return res;
+    }
+
+
+    /**
+     * 根据id删除标签
+     *
+     * @param deleteQuestionVO
+     * @return
+     */
+    public Boolean deleteByIdsFac(DeleteQuestionVO deleteQuestionVO) {
+        String ids = deleteQuestionVO.getIds();
+        if (StringUtil.isEmpty(ids)) {
+            return true;
+        }
+        List<String> idList = Arrays.asList(ids.split(","));
+        Date now = DateUtil.now();
+        String person = UserUtils.getCurrentPrincipleID();
+        for (String id : idList) {
+            Map paramMap = new HashMap<>();
+            paramMap.put("delete", IsDeleteEnum.Y.getKey());
+            paramMap.put("ids", Arrays.asList(ids.split(",")));
+            paramMap.put("gmtModified", now);
+            paramMap.put("modifier", person);
+            // 映射关系删除校验,如果有父项关联,不能删除
+            List<QcQuestionInfo> questionInfoList = getParentQuestion(Long.parseLong(id));
+            if (ListUtil.isNotEmpty(questionInfoList)) {
+                StringBuffer sb = new StringBuffer();
+                sb.append("请先删除上级关联:");
+                for (QcQuestionInfo ques : questionInfoList) {
+                    sb.append("【" + ques.getTagName() + "】");
+                }
+                throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
+                        sb.toString());
+            }
+
+            // TODO 从模板中查找是否有关联
+//            List<ModuleDetail> moduleDetails = moduleDetailFacade.list(new QueryWrapper<ModuleDetail>()
+//                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+//                    .eq("question_id", Long.parseLong(id)));
+//            if (ListUtil.isNotEmpty(moduleDetails)) {
+//                StringBuffer errMsg = new StringBuffer();
+//                StringBuffer finalMsg = new StringBuffer();
+//                List<Long> moduleIds = moduleDetails.stream().map(row -> row.getModuleId()).collect(Collectors.toList());
+//                List<String> moduleNames = moduleInfoFacade.list(new QueryWrapper<ModuleInfo>()
+//                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+//                        .in("id", moduleIds))
+//                        .stream().map(row -> row.getName()).collect(Collectors.toList());
+//                for (String mouduleName : moduleNames) {
+//                    if (moduleNames.get(moduleNames.size() - 1).equals(mouduleName)) {//如果当前元素是最后一个,不追加顿号
+//                        errMsg.append("【" + mouduleName + "】");
+//                    } else {
+//                        errMsg.append("【" + mouduleName + "】").append("、");
+//                    }
+//                }
+//                finalMsg.append("该标签已关联模板").append(errMsg);
+//                throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
+//                        finalMsg.toString());
+//            }
+
+            //删除自身
+            this.deleteByIds(paramMap);
+
+            //删除映射关系
+            qcQuestionMappingFacade.deleteByIdsFac(paramMap);
+        }
+        return true;
+    }
+
+
+    /**
+     * 检索
+     *
+     * @param questionIndexVO
+     * @return
+     */
+    public List<QcQuestionInfo> indexFac(QuestionIndexVO questionIndexVO) {
+        Map<String, Object> paramMap = new HashMap<>();
+        paramMap.put("hospitalId", questionIndexVO.getHospitalId());
+        paramMap.put("modeId", questionIndexVO.getModeId());
+        paramMap.put("tagName", questionIndexVO.getTagName());
+        paramMap.put("controlType", questionIndexVO.getControlType());
+        paramMap.put("notIds", questionIndexVO.getNotIds());
+        paramMap.put("tagType", questionIndexVO.getTagType());
+        paramMap.put("notTagType", questionIndexVO.getNotTagType());
+        paramMap.put("notControlType", questionIndexVO.getNotControlType());
+        List<QcQuestionInfo> res = this.index(paramMap);
+        return res;
+    }
+
+//    /**
+//     * 根据主标签id 检索子标签
+//     *
+//     * @param questionIndexSubVO
+//     * @return
+//     */
+//    public List<QuestionInfo> indexSub(QuestionIndexSubVO questionIndexSubVO) {
+//        Map<String, Object> paramMap = new HashMap<>();
+//        paramMap.put("age", questionIndexSubVO.getAge());
+//        paramMap.put("sexType", questionIndexSubVO.getSexType());
+//        paramMap.put("tagName", questionIndexSubVO.getTagName());
+//        paramMap.put("type", questionIndexSubVO.getType());
+//        paramMap.put("controlType", questionIndexSubVO.getControlType());
+//        paramMap.put("notIds", questionIndexSubVO.getNotIds());
+//        paramMap.put("tagType", questionIndexSubVO.getTagType());
+//        paramMap.put("existName", questionIndexSubVO.getExistName());
+//        paramMap.put("notTagType", questionIndexSubVO.getNotTagType());
+//        paramMap.put("notControlType", questionIndexSubVO.getNotControlType());
+//
+//        QueryWrapper<QuestionMapping> questionMappingQueryWrapper = new QueryWrapper<>();
+//        questionMappingQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+//                .eq("parent_question", questionIndexSubVO.getParentId());
+//        List<QuestionMapping> questionMappingList = questionMappingFacade.list(questionMappingQueryWrapper);
+//        if (ListUtil.isNotEmpty(questionMappingList)) {
+//            List<Long> sonIds = questionMappingList.stream().map(questionMapping -> questionMapping.getSonQuestion())
+//                    .collect(Collectors.toList());
+//            paramMap.put("ids", sonIds);
+//        }
+//        List<QuestionInfo> res = this.index(paramMap);
+//        return res;
+//    }
+
+
+    /**
+     * 根据参数返回标签内容
+     *
+     * @param questionVO 获取标签内容参数
+     * @return 标签内容
+     */
+    public QuestionDTO getById(QuestionVO questionVO) {
+        Map paramMap = new HashMap<>();
+        paramMap.put("id", questionVO.getId());
+
+        QcQuestionInfo questionInfo = this.getOne(new QueryWrapper<QcQuestionInfo>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("id", questionVO.getId()), false
+        );
+        if (questionInfo == null) { //无数据直接返回,不通过报错的形式返回
+            return new QuestionDTO();
+        }
+        QuestionDTO res = new QuestionDTO();
+        BeanUtil.copyProperties(questionInfo, res);
+
+        //获取子标签
+        List<QuestionInfoWrapper> questionMapping = this.getByQuestionMapping(paramMap);
+        List<QuestionDTO> sonQuestionList = BeanUtil.listCopyTo(questionMapping, QuestionDTO.class);
+        res.setQuestionMapping(sonQuestionList);
+        return res;
+    }
+
+
+    /**
+     * 查询多个id返回标签内容
+     *
+     * @param questionIdsVO 获取标签内容参数
+     * @return 标签内容
+     */
+    public Map<Long, Object> getByIds(QuestionIdsVO questionIdsVO) {
+        Map<Long, Object> data = new HashMap<>();
+        if (StringUtil.isEmpty(questionIdsVO.getIds())) {
+            return data;
+        }
+        String[] ids = questionIdsVO.getIds().split(",");
+        for (String id : ids) {
+            QuestionVO questionVO = new QuestionVO();
+            questionVO.setId(Long.parseLong(id));
+            QuestionDTO item = this.getById(questionVO);
+            data.put(item.getId(), item);
+        }
+        return data;
+    }
+
+
+//    /**
+//     * 根据id返回被引用的父标签
+//     *
+//     * @param subQuestionVO 获取父标签内容参数
+//     * @return 标签内容
+//     */
+//    public List<QuestionInfo> getBySubQuestionId(SubQuestionVO subQuestionVO) {
+//        List<QuestionDetail> list = questionDetailFacade.list(new QueryWrapper<QuestionDetail>()
+//                .eq("is_deleted", IsDeleteEnum.N.getKey())
+//                .apply("find_in_set({0}, sub_question)", subQuestionVO.getId())
+//        );
+//        if (ListUtil.isNotEmpty(list)) {
+//            List<Long> ids = list.stream().map(r -> r.getQuestionId()).distinct().collect(Collectors.toList());
+//            return this.list(new QueryWrapper<QuestionInfo>()
+//                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+//                    .in("id", ids)
+//            );
+//        }
+//        return null;
+//    }
+
+
+
+//    /**
+//     * 获取所有需要删除的缓存id列表
+//     *
+//     * @param id
+//     * @return
+//     */
+//    public List<Long> getDeleteId(Long id) {
+//        List<Long> list = new ArrayList<>();
+//        list.add(id); //添加自身id
+//        getParent(id, list); //添加父级
+//        return list;
+//    }
+
+
+//    public void getParent(Long id, List<Long> list) {
+//        List<QuestionMapping> questionMappingList = questionMappingFacade.list(
+//                new QueryWrapper<QuestionMapping>()
+//                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+//                        .eq("son_question", id)
+//        );
+//        if (ListUtil.isNotEmpty(questionMappingList)) {
+//            for (QuestionMapping questionMapping : questionMappingList) {
+//                Long parentId = questionMapping.getParentQuestion();
+//                if (!list.contains(parentId)) {
+//                    list.add(parentId);
+//                    getParent(parentId, list);
+//                }
+//            }
+//        }
+//    }
+}

+ 25 - 0
mrman-service/src/main/java/com/diagbot/facade/QcQuestionMappingFacade.java

@@ -0,0 +1,25 @@
+package com.diagbot.facade;
+
+import com.diagbot.service.impl.QcQuestionMappingServiceImpl;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * @author zhoutg
+ * @Description:
+ * @date 2020-03-10 16:32
+ */
+@Component
+public class QcQuestionMappingFacade extends QcQuestionMappingServiceImpl {
+
+    /**
+     * 根据id删除标签
+     *
+     * @param map
+     * @return
+     */
+    public void deleteByIdsFac(Map map) {
+        this.deleteByIds(map);
+    }
+}

+ 16 - 0
mrman-service/src/main/java/com/diagbot/mapper/QcModuleDetailMapper.java

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.QcModuleDetail;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 模型明细表 Mapper 接口
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-27
+ */
+public interface QcModuleDetailMapper extends BaseMapper<QcModuleDetail> {
+
+}

+ 16 - 0
mrman-service/src/main/java/com/diagbot/mapper/QcModuleInfoMapper.java

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.QcModuleInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 模型表 Mapper 接口
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-27
+ */
+public interface QcModuleInfoMapper extends BaseMapper<QcModuleInfo> {
+
+}

+ 56 - 0
mrman-service/src/main/java/com/diagbot/mapper/QcQuestionInfoMapper.java

@@ -0,0 +1,56 @@
+package com.diagbot.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.dto.QuestionPageDTO;
+import com.diagbot.entity.QcQuestionInfo;
+import com.diagbot.entity.wrapper.QuestionInfoWrapper;
+import com.diagbot.vo.QuestionPageVO;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 标签基础表 Mapper 接口
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-27
+ */
+public interface QcQuestionInfoMapper extends BaseMapper<QcQuestionInfo> {
+
+    /**
+     * 获取标签列表
+     *
+     * @param questionPageVO
+     * @return
+     */
+    IPage<QuestionPageDTO> getList(QuestionPageVO questionPageVO);
+
+    /**
+     * 检索
+     *
+     * @param map
+     * @return
+     */
+    public List<QcQuestionInfo> index(Map map);
+
+    public List<QuestionInfoWrapper> getByQuestionMapping(Map map);
+
+    /**
+     * 获取关联的父级标签
+     *
+     * @param id
+     * @return
+     */
+    public List<QcQuestionInfo> getParent(Long id);
+
+    /**
+     * 根据id删除标签
+     *
+     * @param map
+     * @return
+     */
+    public void deleteByIds(Map map);
+}

+ 25 - 0
mrman-service/src/main/java/com/diagbot/mapper/QcQuestionMappingMapper.java

@@ -0,0 +1,25 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.QcQuestionMapping;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 标签映射表 Mapper 接口
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-27
+ */
+public interface QcQuestionMappingMapper extends BaseMapper<QcQuestionMapping> {
+
+    /**
+     * 根据id删除标签
+     *
+     * @param map
+     * @return
+     */
+    public void deleteByIds(Map map);
+}

+ 16 - 0
mrman-service/src/main/java/com/diagbot/service/QcModuleDetailService.java

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.QcModuleDetail;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 模型明细表 服务类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-27
+ */
+public interface QcModuleDetailService extends IService<QcModuleDetail> {
+
+}

+ 16 - 0
mrman-service/src/main/java/com/diagbot/service/QcModuleInfoService.java

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.QcModuleInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 模型表 服务类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-27
+ */
+public interface QcModuleInfoService extends IService<QcModuleInfo> {
+
+}

+ 62 - 0
mrman-service/src/main/java/com/diagbot/service/QcQuestionInfoService.java

@@ -0,0 +1,62 @@
+package com.diagbot.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.dto.QuestionPageDTO;
+import com.diagbot.entity.QcQuestionInfo;
+import com.diagbot.entity.wrapper.QuestionInfoWrapper;
+import com.diagbot.vo.QuestionPageVO;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 标签基础表 服务类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-27
+ */
+public interface QcQuestionInfoService extends IService<QcQuestionInfo> {
+
+    /**
+     * 获取标签列表
+     *
+     * @param questionPageVO
+     * @return
+     */
+    IPage<QuestionPageDTO> getList(QuestionPageVO questionPageVO);
+
+    /**
+     * 检索
+     *
+     * @param map
+     * @return
+     */
+    public List<QcQuestionInfo> index(Map map);
+
+    /**
+     * 根据questionMapping获取标签信息
+     *
+     * @param map 参数
+     * @return
+     */
+    public List<QuestionInfoWrapper> getByQuestionMapping(Map map);
+
+    /**
+     * 获取关联的父级标签
+     *
+     * @param id
+     * @return
+     */
+    public List<QcQuestionInfo> getParentQuestion(Long id);
+
+    /**
+     * 根据id删除标签
+     *
+     * @param map
+     * @return
+     */
+    public void deleteByIds(Map map);
+}

+ 25 - 0
mrman-service/src/main/java/com/diagbot/service/QcQuestionMappingService.java

@@ -0,0 +1,25 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.QcQuestionMapping;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 标签映射表 服务类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-27
+ */
+public interface QcQuestionMappingService extends IService<QcQuestionMapping> {
+
+    /**
+     * 根据id删除标签
+     *
+     * @param map
+     * @return
+     */
+    public void deleteByIds(Map map);
+}

+ 20 - 0
mrman-service/src/main/java/com/diagbot/service/impl/QcModuleDetailServiceImpl.java

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.QcModuleDetail;
+import com.diagbot.mapper.QcModuleDetailMapper;
+import com.diagbot.service.QcModuleDetailService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 模型明细表 服务实现类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-27
+ */
+@Service
+public class QcModuleDetailServiceImpl extends ServiceImpl<QcModuleDetailMapper, QcModuleDetail> implements QcModuleDetailService {
+
+}

+ 20 - 0
mrman-service/src/main/java/com/diagbot/service/impl/QcModuleInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.QcModuleInfo;
+import com.diagbot.mapper.QcModuleInfoMapper;
+import com.diagbot.service.QcModuleInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 模型表 服务实现类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-27
+ */
+@Service
+public class QcModuleInfoServiceImpl extends ServiceImpl<QcModuleInfoMapper, QcModuleInfo> implements QcModuleInfoService {
+
+}

+ 51 - 0
mrman-service/src/main/java/com/diagbot/service/impl/QcQuestionInfoServiceImpl.java

@@ -0,0 +1,51 @@
+package com.diagbot.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.dto.QuestionPageDTO;
+import com.diagbot.entity.QcQuestionInfo;
+import com.diagbot.entity.wrapper.QuestionInfoWrapper;
+import com.diagbot.mapper.QcQuestionInfoMapper;
+import com.diagbot.service.QcQuestionInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.vo.QuestionPageVO;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 标签基础表 服务实现类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-27
+ */
+@Service
+public class QcQuestionInfoServiceImpl extends ServiceImpl<QcQuestionInfoMapper, QcQuestionInfo> implements QcQuestionInfoService {
+
+    @Override
+    public IPage<QuestionPageDTO> getList(QuestionPageVO questionPageVO) {
+        return baseMapper.getList(questionPageVO);
+    }
+
+    @Override
+    public List<QcQuestionInfo> index(Map map) {
+        return baseMapper.index(map);
+    }
+
+    @Override
+    public List<QuestionInfoWrapper> getByQuestionMapping(Map map) {
+        return baseMapper.getByQuestionMapping(map);
+    }
+
+    @Override
+    public List<QcQuestionInfo> getParentQuestion(Long id) {
+        return baseMapper.getParent(id);
+    }
+
+    @Override
+    public void deleteByIds(Map map) {
+        baseMapper.deleteByIds(map);
+    }
+}

+ 26 - 0
mrman-service/src/main/java/com/diagbot/service/impl/QcQuestionMappingServiceImpl.java

@@ -0,0 +1,26 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.QcQuestionMapping;
+import com.diagbot.mapper.QcQuestionMappingMapper;
+import com.diagbot.service.QcQuestionMappingService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 标签映射表 服务实现类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-27
+ */
+@Service
+public class QcQuestionMappingServiceImpl extends ServiceImpl<QcQuestionMappingMapper, QcQuestionMapping> implements QcQuestionMappingService {
+
+    @Override
+    public void deleteByIds(Map map) {
+        baseMapper.deleteByIds(map);
+    }
+}

+ 16 - 0
mrman-service/src/main/java/com/diagbot/vo/DeleteModuleVO.java

@@ -0,0 +1,16 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2019/1/28 15:55
+ */
+@Getter
+@Setter
+public class DeleteModuleVO {
+    //要删除的id
+    private String ids;
+}

+ 15 - 0
mrman-service/src/main/java/com/diagbot/vo/DeleteQuestionVO.java

@@ -0,0 +1,15 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: ztg
+ * @time: 2019/1/28 15:45
+ */
+@Getter
+@Setter
+public class DeleteQuestionVO {
+    private String ids;
+}

+ 15 - 0
mrman-service/src/main/java/com/diagbot/vo/QuestionIdsVO.java

@@ -0,0 +1,15 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: zhoutg
+ * @time: 2018/8/6 10:16
+ */
+@Getter
+@Setter
+public class QuestionIdsVO {
+    private String ids;
+}

+ 24 - 0
mrman-service/src/main/java/com/diagbot/vo/QuestionIndexVO.java

@@ -0,0 +1,24 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhoutg
+ * @time: 2018/11/29 15:09
+ */
+@Getter
+@Setter
+public class QuestionIndexVO {
+    private String tagName;
+    private List<Integer> controlType;
+    private List<Integer> tagType;
+    private List<Long> notIds;
+    private List<Integer> notTagType;
+    private List<Integer> notControlType;
+    private Long hospitalId;
+    private Long modeId;
+}

+ 24 - 0
mrman-service/src/main/java/com/diagbot/vo/QuestionPageVO.java

@@ -0,0 +1,24 @@
+package com.diagbot.vo;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description: 标签列表入参
+ * @Author: ztg
+ * @Date: 2018/12/13 10:07
+ */
+@Getter
+@Setter
+public class QuestionPageVO extends Page {
+
+    private String tagName;
+    private List<Integer> tagTypeList;
+    private List<Integer> controlTypeList;
+    private String name;//界面名称
+    private Long hospitalId;
+    private Long modeId;
+}

+ 16 - 0
mrman-service/src/main/java/com/diagbot/vo/QuestionSaveVO.java

@@ -0,0 +1,16 @@
+package com.diagbot.vo;
+
+import com.diagbot.entity.wrapper.QuestionWrapper;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description: 标签保存入参
+ * @Author: ztg
+ * @Date: 2018/10/24 16:11
+ */
+@Getter
+@Setter
+public class QuestionSaveVO {
+    private QuestionWrapper questionWrapper; //标签相关
+}

+ 15 - 0
mrman-service/src/main/java/com/diagbot/vo/QuestionVO.java

@@ -0,0 +1,15 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: zhoutg
+ * @time: 2018/8/6 10:16
+ */
+@Getter
+@Setter
+public class QuestionVO {
+    private Long id;
+}

+ 15 - 0
mrman-service/src/main/java/com/diagbot/vo/SubQuestionVO.java

@@ -0,0 +1,15 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: zhoutg
+ * @time: 2018/8/6 10:16
+ */
+@Getter
+@Setter
+public class SubQuestionVO {
+    private Long id;
+}

+ 20 - 0
mrman-service/src/main/java/com/diagbot/web/QcModuleDetailController.java

@@ -0,0 +1,20 @@
+package com.diagbot.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ * 模型明细表 前端控制器
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-27
+ */
+@Controller
+@RequestMapping("/qcModuleDetail")
+public class QcModuleDetailController {
+
+}

+ 20 - 0
mrman-service/src/main/java/com/diagbot/web/QcModuleInfoController.java

@@ -0,0 +1,20 @@
+package com.diagbot.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ * 模型表 前端控制器
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-27
+ */
+@Controller
+@RequestMapping("/qcModuleInfo")
+public class QcModuleInfoController {
+
+}

+ 115 - 0
mrman-service/src/main/java/com/diagbot/web/QcQuestionInfoController.java

@@ -0,0 +1,115 @@
+package com.diagbot.web;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.QuestionDTO;
+import com.diagbot.dto.QuestionPageDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.QcQuestionInfo;
+import com.diagbot.facade.QcQuestionFacade;
+import com.diagbot.vo.DeleteQuestionVO;
+import com.diagbot.vo.QuestionIdsVO;
+import com.diagbot.vo.QuestionIndexVO;
+import com.diagbot.vo.QuestionPageVO;
+import com.diagbot.vo.QuestionSaveVO;
+import com.diagbot.vo.QuestionVO;
+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;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 标签基础表 前端控制器
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-27
+ */
+@RestController
+@RequestMapping("/qc/qcQuestionInfo")
+@SuppressWarnings("unchecked")
+@Api(value = "标签相关API", tags = { "标签相关API" })
+public class QcQuestionInfoController {
+
+    @Autowired
+    QcQuestionFacade qcQuestionFacade;
+
+    @ApiOperation(value = "标签新增或更新[by:zhoutg]",
+            notes = "")
+    @PostMapping("/saveOrUpdate")
+    @SysLogger("saveOrUpdate")
+    @Transactional
+    public RespDTO<Boolean> saveOrUpdate(@RequestBody QuestionSaveVO questionSaveVO) {
+        qcQuestionFacade.saveOrUpdate(questionSaveVO);
+        return RespDTO.onSuc(true);
+    }
+
+
+    @ApiOperation(value = "标签分页列表[by:zhoutg]",
+            notes = "")
+    @PostMapping("/page")
+    @SysLogger("page")
+    public RespDTO<IPage<QuestionPageDTO>> list(@RequestBody @Valid QuestionPageVO questionPageVO) {
+        IPage<QuestionPageDTO> data = qcQuestionFacade.getListFac(questionPageVO);
+        return RespDTO.onSuc(data);
+    }
+
+
+    @ApiOperation(value = "标签检索[by:zhoutg]",
+            notes = "tagName:系统名称<br>" +
+                    "hospitalId:医院id<br>" +
+                    "modeId:模块id<br>" +
+                    "notIds:过滤的id值<br>" +
+                    "notControlType:不能为的控件类型<br>" +
+                    "controlType:指定的控件类型<br>" +
+                    "tagType:指定的标签类型<br>")
+    @PostMapping("/index")
+    @SysLogger("index")
+    public RespDTO<List<QcQuestionInfo>> index(@RequestBody QuestionIndexVO questionIndexVO) {
+        List<QcQuestionInfo> data = qcQuestionFacade.indexFac(questionIndexVO);
+        return RespDTO.onSuc(data);
+    }
+
+
+    @ApiOperation(value = "标签删除[by:zhoutg]",
+            notes = "")
+    @PostMapping("/delete")
+    @SysLogger("delete")
+    @Transactional
+    public RespDTO<Boolean> delete(@RequestBody DeleteQuestionVO deleteQuestionVO) {
+        qcQuestionFacade.deleteByIdsFac(deleteQuestionVO);
+        return RespDTO.onSuc(true);
+    }
+
+
+    @ApiOperation(value = "根据参数返回标签内容[by:zhoutg]",
+            notes = "id: questionId<br>" +
+                    "sexType:性别,1:男,2:女<br>" +
+                    "age:年龄")
+    @PostMapping("/getById")
+    public RespDTO<QuestionDTO> getById(@RequestBody QuestionVO questionVO) {
+        QuestionDTO data = qcQuestionFacade.getById(questionVO);
+        return RespDTO.onSuc(data);
+    }
+
+
+    @ApiOperation(value = "查询多个id返回标签内容[by:zhoutg]",
+            notes = "ids: 多个questionId<br>" +
+                    "sexType:性别,1:男,2:女<br>" +
+                    "age:年龄")
+    @PostMapping("/getByIds")
+    public RespDTO<Map<Long, Object>> getByIds(@RequestBody QuestionIdsVO questionIdsVO) {
+        Map<Long, Object> data = qcQuestionFacade.getByIds(questionIdsVO);
+        return RespDTO.onSuc(data);
+    }
+}

+ 20 - 0
mrman-service/src/main/java/com/diagbot/web/QcQuestionMappingController.java

@@ -0,0 +1,20 @@
+package com.diagbot.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ * 标签映射表 前端控制器
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-27
+ */
+@Controller
+@RequestMapping("/qcQuestionMapping")
+public class QcQuestionMappingController {
+
+}

+ 19 - 0
mrman-service/src/main/resources/mapper/QcModuleDetailMapper.xml

@@ -0,0 +1,19 @@
+<?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.QcModuleDetailMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.QcModuleDetail">
+        <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="module_id" property="moduleId" />
+        <result column="question_id" property="questionId" />
+        <result column="order_no" property="orderNo" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+</mapper>

+ 19 - 0
mrman-service/src/main/resources/mapper/QcModuleInfoMapper.xml

@@ -0,0 +1,19 @@
+<?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.QcModuleInfoMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.QcModuleInfo">
+        <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="name" property="name" />
+        <result column="hospital_id" property="hospitalId" />
+        <result column="mode_id" property="modeId" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+</mapper>

+ 151 - 0
mrman-service/src/main/resources/mapper/QcQuestionInfoMapper.xml

@@ -0,0 +1,151 @@
+<?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.QcQuestionInfoMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.QcQuestionInfo">
+        <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="mode_id" property="modeId" />
+        <result column="tag_name" property="tagName" />
+        <result column="name" property="name" />
+        <result column="val" property="val" />
+        <result column="tag_type" property="tagType" />
+        <result column="control_type" property="controlType" />
+        <result column="retract" property="retract" />
+        <result column="add_line" property="addLine" />
+        <result column="bold" property="bold" />
+        <result column="cases_entry_ids" property="casesEntryIds" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+    <delete id="deleteByIds" parameterType="java.util.Map">
+        update `qc_question_info`
+        set gmt_modified = #{gmtModified}, modifier = #{modifier}, is_deleted = #{delete}
+        where is_deleted = 'N'
+        and id in
+        <foreach item="id" collection="ids" open="(" separator="," close=")" >
+            #{id}
+        </foreach>
+    </delete>
+
+    <select id="index" parameterType="java.util.Map" resultType="com.diagbot.entity.QcQuestionInfo">
+        select * from `qc_question_info`
+        where is_deleted = 'N'
+        <if test="hospitalId != null">
+            AND hospital_id = #{hospitalId}
+        </if>
+        <if test="modeId != null">
+            AND mode_id = #{modeId}
+        </if>
+        <if test="tagName != null and tagName != ''">
+            and UPPER(tag_name) like concat("%", UPPER(trim(#{tagName})), "%")
+        </if>
+        <if test="type != null and type != ''">
+            and type = #{type}
+        </if>
+        <if test="controlType != null and controlType.size() > 0">
+            and control_type in
+            <foreach  collection="controlType" item="controlType" open="("  separator=","  close=")">
+                #{controlType}
+            </foreach>
+        </if>
+        <if test="tagType != null and tagType.size() > 0">
+            and tag_type in
+            <foreach  collection="tagType" item="tagType" open="("  separator=","  close=")">
+                #{tagType}
+            </foreach>
+        </if>
+        <if test="notTagType != null and notTagType.size() > 0">
+            and tag_type not in
+            <foreach  collection="notTagType" item="notTagType" open="("  separator=","  close=")">
+                #{notTagType}
+            </foreach>
+        </if>
+        <if test="notControlType != null and notControlType.size() > 0">
+            and control_type not in
+            <foreach  collection="notControlType" item="notControlType" open="("  separator=","  close=")">
+                #{notControlType}
+            </foreach>
+        </if>
+        <if test="notIds != null and notIds.size() > 0 ">
+            and id not in
+            <foreach  collection="notIds" item="id" open="("  separator=","  close=")">
+                #{id}
+            </foreach>
+        </if>
+        order by gmt_modified desc
+    </select>
+
+    <select id="getList" resultType="com.diagbot.dto.QuestionPageDTO">
+        SELECT a.* FROM `qc_question_info` a
+        WHERE a.is_deleted = 'N'
+        <if test="hospitalId != null">
+            AND a.hospital_id = #{hospitalId}
+        </if>
+        <if test="modeId != null">
+            AND a.mode_id = #{modeId}
+        </if>
+        <if test="tagName != null and tagName != ''">
+            AND UPPER(a.tag_name) like concat ('%', UPPER(trim(#{tagName})), '%')
+        </if>
+        <if test="tagTypeList != null and tagTypeList.size() > 0 ">
+            and a.tag_type in
+            <foreach  collection="tagTypeList" item="tagType" open="("  separator=","  close=")">
+                #{tagType}
+            </foreach>
+        </if>
+        <if test="controlTypeList != null and controlTypeList.size() > 0 ">
+            and a.control_type in
+            <foreach  collection="controlTypeList" item="controlType" open="("  separator=","  close=")">
+                #{controlType}
+            </foreach>
+        </if>
+        order by a.gmt_modified desc
+
+    </select>
+
+
+    <select id="getParent"  resultMap="BaseResultMap">
+        SELECT a.* FROM `qc_question_info` a, qc_question_mapping b
+        where a.is_deleted = 'N' and b.is_deleted = 'N' and a.id = b.parent_question
+        and b.son_question = #{id}
+    </select>
+
+    <select id="getByQuestionMapping" parameterType="java.util.Map" resultType="com.diagbot.entity.wrapper.QuestionInfoWrapper">
+        select t.*, m.parent_question from qc_question_info t, qc_question_mapping m
+        where t.is_deleted = 'N' and m.is_deleted = 'N' and m.son_question = t.id
+        <if test="id != null">
+            and m.parent_question = #{id}
+        </if>
+        <if test="ids != null and ids.size > 0">
+            <foreach item="myId" collection="ids" open="and(" separator="or" close=")" >
+                m.parent_question = #{myId}
+            </foreach>
+        </if>
+        <if test="id != null">
+            order by m.order_no
+        </if>
+        <if test="ids != null and ids.size > 0">
+            order by m.parent_question, m.order_no
+        </if>
+    </select>
+
+
+    <select id="getByParam" parameterType="java.util.Map" resultMap="BaseResultMap">
+        select * from prec_question_info  where is_deleted = 'N'
+        and id = #{id}
+        <if test="sexType != null and sexType != 3 and sexType != ''">
+            and sex_type in (3, #{sexType})
+        </if>
+        <if test="age != null and age != ''">
+            <![CDATA[ and age_begin <= #{age} ]]>
+            <![CDATA[ and age_end >= #{age} ]]>
+        </if>
+    </select>
+</mapper>

+ 31 - 0
mrman-service/src/main/resources/mapper/QcQuestionMappingMapper.xml

@@ -0,0 +1,31 @@
+<?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.QcQuestionMappingMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.QcQuestionMapping">
+        <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="parent_question" property="parentQuestion" />
+        <result column="son_question" property="sonQuestion" />
+        <result column="order_no" property="orderNo" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+    <delete id="deleteByIds" parameterType="java.util.Map">
+        update `qc_question_mapping`
+        set gmt_modified = #{gmtModified}, modifier = #{modifier}, is_deleted = #{delete}
+        where is_deleted = 'N'
+        and
+        (
+        parent_question in
+        <foreach item="id" collection="ids" open="(" separator="," close=")" >
+            #{id}
+        </foreach>
+        )
+    </delete>
+</mapper>

+ 10 - 12
mrman-service/src/test/java/com/diagbot/CodeGeneration.java

@@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
 import com.baomidou.mybatisplus.generator.config.GlobalConfig;
 import com.baomidou.mybatisplus.generator.config.PackageConfig;
 import com.baomidou.mybatisplus.generator.config.StrategyConfig;
-import com.baomidou.mybatisplus.generator.config.converts.OracleTypeConvert;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
 import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
 
@@ -28,13 +27,13 @@ public class CodeGeneration {
 
         // 全局配置
         GlobalConfig gc = new GlobalConfig();
-        gc.setOutputDir("E://code//mrmanservice");
+        gc.setOutputDir("E://code//qc");
         gc.setFileOverride(true);
         gc.setActiveRecord(false);// 不需要ActiveRecord特性的请改为false
         gc.setEnableCache(false);// XML 二级缓存
         gc.setBaseResultMap(true);// XML ResultMap
         gc.setBaseColumnList(false);// XML columList
-        gc.setAuthor("gaodm");// 作者
+        gc.setAuthor("zhoutg");// 作者
 
         // 自定义文件命名,注意 %s 会自动填充表实体属性!
         gc.setControllerName("%sController");
@@ -46,19 +45,18 @@ public class CodeGeneration {
 
         // 数据源配置
         DataSourceConfig dsc = new DataSourceConfig();
-        dsc.setDbType(DbType.ORACLE);
-        dsc.setTypeConvert(new OracleTypeConvert());
-        dsc.setDriverName("oracle.jdbc.driver.OracleDriver");
-        dsc.setUsername("ETRACKMRQC");
-        dsc.setPassword("ETRACKMRQC");
-        dsc.setUrl("jdbc:oracle:thin:@192.168.2.246:1521:orcl");
+        dsc.setDbType(DbType.MYSQL);
+        dsc.setDriverName("com.mysql.cj.jdbc.Driver");
+        dsc.setUsername("root");
+        dsc.setPassword("lantone");
+        dsc.setUrl("jdbc:mysql://192.168.2.236:3306/qc?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8");
         mpg.setDataSource(dsc);
 
         // 策略配置
         StrategyConfig strategy = new StrategyConfig();
-//        strategy.setTablePrefix(new String[] { "sys_" });// 此处可以修改为您的表前缀
-        strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
-        strategy.setInclude(new String[] { "MR_MEDICALRECORDS","MR_MRCONTENT","AR_RECHOME","BR_RECDIAGNOSE","BR_RECINHOS" }); // 需要生成的表
+//        strategy.setTablePrefix(new String[] { "icss_" });// 此处可以修改为您的表前缀
+         strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
+        strategy.setInclude(new String[] { "qc_question_info","qc_question_mapping","qc_module_info","qc_module_detail" }); // 需要生成的表
 
         strategy.setSuperServiceClass(null);
         strategy.setSuperServiceImplClass(null);