Bladeren bron

Merge branch 'dev/20220228_v3.0.1通用版_渠道管理第一期' into debug

zhanghang 3 jaren geleden
bovenliggende
commit
ad709fd72f
28 gewijzigde bestanden met toevoegingen van 825 en 11 verwijderingen
  1. 40 0
      daqe-center/src/main/java/com/lantone/daqe/dto/GetConceptLibraryPageDTO.java
  2. 2 2
      daqe-center/src/main/java/com/lantone/daqe/dto/GetRecordTemplateManageDTO.java
  3. 83 0
      daqe-center/src/main/java/com/lantone/daqe/entity/ConceptLibrary.java
  4. 42 0
      daqe-center/src/main/java/com/lantone/daqe/enums/ConceptLibraryTypeEnum.java
  5. 1 1
      daqe-center/src/main/java/com/lantone/daqe/facade/ColumnResultManagementFacade.java
  6. 1 1
      daqe-center/src/main/java/com/lantone/daqe/facade/ColumnVerifyManagementFacade.java
  7. 50 0
      daqe-center/src/main/java/com/lantone/daqe/facade/CurrencyManagementFacade.java
  8. 14 0
      daqe-center/src/main/java/com/lantone/daqe/facade/base/ConceptLibraryFacade.java
  9. 13 0
      daqe-center/src/main/java/com/lantone/daqe/mapper/ConceptLibraryMapper.java
  10. 13 0
      daqe-center/src/main/java/com/lantone/daqe/service/ConceptLibraryService.java
  11. 17 0
      daqe-center/src/main/java/com/lantone/daqe/service/impl/ConceptLibraryServiceImpl.java
  12. 1 1
      daqe-center/src/main/java/com/lantone/daqe/vo/ColumnInfoVO.java
  13. 36 0
      daqe-center/src/main/java/com/lantone/daqe/vo/GetConceptLibraryPageVO.java
  14. 35 0
      daqe-center/src/main/java/com/lantone/daqe/web/CurrencyManagmentController.java
  15. 1 1
      daqe-center/src/main/resources/mapper/ColumnVerifyMapper.xml
  16. 5 0
      daqe-center/src/main/resources/mapper/ConceptLibraryMapper.xml
  17. 19 0
      daqe-center/src/main/resources/mapper/base/BaseConceptLibraryMapper.xml
  18. 21 1
      daqe-center/src/main/resources/upgrade/V1__daqe_init.sql
  19. 3 2
      dblayer-mbg/src/test/java/com/lantone/dblayermbg/CodeAutoGenerator.java
  20. 40 0
      security-center/src/main/java/com/lantone/security/dto/GetMedoupManageDTO.java
  21. 168 0
      security-center/src/main/java/com/lantone/security/facade/MedoupManagementFacade.java
  22. 4 1
      security-center/src/main/java/com/lantone/security/mapper/MedoupMapper.java
  23. 38 0
      security-center/src/main/java/com/lantone/security/vo/AddMedoupManageVO.java
  24. 24 0
      security-center/src/main/java/com/lantone/security/vo/DeleteMedoupManageVO.java
  25. 24 0
      security-center/src/main/java/com/lantone/security/vo/GetMedoupManageVO.java
  26. 42 0
      security-center/src/main/java/com/lantone/security/vo/UpdateMedoupManageVO.java
  27. 57 0
      security-center/src/main/java/com/lantone/security/web/MedoupManagementController.java
  28. 31 1
      security-center/src/main/resources/mapper/MedoupMapper.xml

+ 40 - 0
daqe-center/src/main/java/com/lantone/daqe/dto/GetConceptLibraryPageDTO.java

@@ -0,0 +1,40 @@
+package com.lantone.daqe.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 获取标准词和同义词(一对一)分页列表-接口出参
+ * @author: rengb
+ * @time: 2022/2/27 14:30
+ */
+@ApiModel(value = "获取标准词和同义词(一对一)分页列表-接口出参")
+@Getter
+@Setter
+public class GetConceptLibraryPageDTO implements Serializable {
+
+    private static final long serialVersionUID = -3423432863909470619L;
+
+    /**
+     * 标准词
+     */
+    @ApiModelProperty(value = "标准词")
+    private String standard;
+
+    /**
+     * 同义词
+     */
+    @ApiModelProperty(value = "同义词")
+    private String synonym;
+
+    /**
+     * 术语类型
+     */
+    @ApiModelProperty(value = "术语类型")
+    private String type;
+
+}

+ 2 - 2
daqe-center/src/main/java/com/lantone/daqe/dto/GetRecordTemplateManageDTO.java

@@ -40,8 +40,8 @@ public class GetRecordTemplateManageDTO implements Serializable {
     @ApiModelProperty(value = "模板内容")
     private String content;
 
-    @ApiModelProperty(value = "模板类型")
-    private String contentType;
+    @ApiModelProperty(value = "模板类型,模板类型,0:未知,1:html,2:xml ")
+    private String type;
 
 
 }

+ 83 - 0
daqe-center/src/main/java/com/lantone/daqe/entity/ConceptLibrary.java

@@ -0,0 +1,83 @@
+package com.lantone.daqe.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 术语表 实体类
+ * </p>
+ */
+@Data
+@TableName("base_concept_library")
+public class ConceptLibrary implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 标准词
+     */
+    @TableField("standard")
+    private String standard;
+
+    /**
+     * 同义词
+     */
+    @TableField("synonym")
+    private String synonym;
+
+    /**
+     * 术语类型,1:诊断,2:手术,3:药品
+     */
+    @TableField("type")
+    private String type;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    @TableField("is_deleted")
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    @TableField("gmt_create")
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    @TableField("gmt_modified")
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    @TableField("creator")
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    @TableField("modifier")
+    private String modifier;
+
+    /**
+     * 备注
+     */
+    @TableField("remark")
+    private String remark;
+
+}

+ 42 - 0
daqe-center/src/main/java/com/lantone/daqe/enums/ConceptLibraryTypeEnum.java

@@ -0,0 +1,42 @@
+package com.lantone.daqe.enums;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description: 术语类型
+ * @author: zhanghang
+ * @time: 2022/3/11 16:03
+ */
+public enum ConceptLibraryTypeEnum {
+    DISEASE("1", "诊断"),
+    OPERATION("2", "手术"),
+    DRUG("3", "药品");
+
+    @Getter
+    @Setter
+    private String key;
+
+    @Getter
+    @Setter
+    private String name;
+
+    ConceptLibraryTypeEnum(String key, String name) {
+        this.key = key;
+        this.name = name;
+    }
+
+    public static ConceptLibraryTypeEnum getEnum(String key) {
+        for (ConceptLibraryTypeEnum item : ConceptLibraryTypeEnum.values()) {
+            if (item.key.equals(key)) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static String getName(String key) {
+        ConceptLibraryTypeEnum item = getEnum(key);
+        return item != null ? item.name : null;
+    }
+}

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

@@ -57,7 +57,7 @@ import java.util.List;
 
 
 /**
- * @Description: 字段校验问题明细维护API
+ * @Description: 字段校验问题明细维护API-业务处理类
  * @author: zhanghang
  * @time: 2022/3/8 14:49
  */

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

@@ -47,7 +47,7 @@ import java.util.Date;
 import java.util.List;
 
 /**
- * @Description: 字段校验规则维护API
+ * @Description: 字段校验规则维护API-业务处理类
  * @author: zhanghang
  * @time: 2022/3/1 10:14
  */

+ 50 - 0
daqe-center/src/main/java/com/lantone/daqe/facade/CurrencyManagementFacade.java

@@ -0,0 +1,50 @@
+package com.lantone.daqe.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.lantone.common.enums.IsDeleteEnum;
+import com.lantone.common.util.BeanUtil;
+import com.lantone.common.util.StringUtil;
+import com.lantone.daqe.dto.GetConceptLibraryPageDTO;
+import com.lantone.daqe.entity.ConceptLibrary;
+import com.lantone.daqe.enums.ConceptLibraryTypeEnum;
+import com.lantone.daqe.facade.base.ConceptLibraryFacade;
+import com.lantone.daqe.vo.GetConceptLibraryPageVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Description: 通用处理API-业务处理类
+ * @author: rengb
+ * @time: 2022/3/1 10:14
+ */
+@Component
+public class CurrencyManagementFacade {
+
+    @Autowired
+    private ConceptLibraryFacade conceptLibraryFacade;
+
+    public IPage<GetConceptLibraryPageDTO> getConceptLibraryPage(GetConceptLibraryPageVO getConceptLibraryPageVO) {
+        IPage<GetConceptLibraryPageDTO> getConceptLibraryPageDTOIPage = new Page<>();
+
+        QueryWrapper<ConceptLibrary> conceptLibraryQueryWrapper = new QueryWrapper<>();
+        conceptLibraryQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
+        conceptLibraryQueryWrapper.eq("type", getConceptLibraryPageVO.getType());
+        conceptLibraryQueryWrapper.like(StringUtil.isNotBlank(getConceptLibraryPageVO.getWord()), "synonym", getConceptLibraryPageVO.getWord());
+
+        Page<ConceptLibrary> conceptLibraryIPage = new Page<>(getConceptLibraryPageVO.getCurrent(), getConceptLibraryPageVO.getSize());
+        conceptLibraryFacade.page(conceptLibraryIPage, conceptLibraryQueryWrapper);
+        BeanUtil.copyProperties(conceptLibraryIPage, getConceptLibraryPageDTOIPage);
+
+        List<GetConceptLibraryPageDTO> getConceptLibraryPageDTOList = BeanUtil.listCopyTo(conceptLibraryIPage.getRecords(), GetConceptLibraryPageDTO.class);
+        getConceptLibraryPageDTOList.forEach(i -> {
+            i.setType(ConceptLibraryTypeEnum.getName(i.getType()));
+        });
+        getConceptLibraryPageDTOIPage.setRecords(getConceptLibraryPageDTOList);
+        return getConceptLibraryPageDTOIPage;
+    }
+
+}

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

@@ -0,0 +1,14 @@
+package com.lantone.daqe.facade.base;
+
+import com.lantone.daqe.service.impl.ConceptLibraryServiceImpl;
+import org.springframework.stereotype.Component;
+
+/**
+ * <p>
+ * 表名:base_concept_library 业务类
+ * </p>
+ */
+@Component
+public class ConceptLibraryFacade extends ConceptLibraryServiceImpl {
+
+}

+ 13 - 0
daqe-center/src/main/java/com/lantone/daqe/mapper/ConceptLibraryMapper.java

@@ -0,0 +1,13 @@
+package com.lantone.daqe.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.lantone.daqe.entity.ConceptLibrary;
+
+/**
+ * <p>
+ * 表名:base_concept_library Mapper接口
+ * </p>
+ */
+public interface ConceptLibraryMapper extends BaseMapper<ConceptLibrary> {
+
+}

+ 13 - 0
daqe-center/src/main/java/com/lantone/daqe/service/ConceptLibraryService.java

@@ -0,0 +1,13 @@
+package com.lantone.daqe.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.lantone.daqe.entity.ConceptLibrary;
+
+/**
+ * <p>
+ * 术语表 Service类
+ * </p>
+ */
+public interface ConceptLibraryService extends IService<ConceptLibrary> {
+
+}

+ 17 - 0
daqe-center/src/main/java/com/lantone/daqe/service/impl/ConceptLibraryServiceImpl.java

@@ -0,0 +1,17 @@
+package com.lantone.daqe.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.lantone.daqe.entity.ConceptLibrary;
+import com.lantone.daqe.mapper.ConceptLibraryMapper;
+import com.lantone.daqe.service.ConceptLibraryService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 术语表 Service实现类
+ * </p>
+ */
+@Service
+public class ConceptLibraryServiceImpl extends ServiceImpl<ConceptLibraryMapper, ConceptLibrary> implements ConceptLibraryService {
+
+}

+ 1 - 1
daqe-center/src/main/java/com/lantone/daqe/vo/ColumnInfoVO.java

@@ -19,7 +19,7 @@ import java.io.Serializable;
 public class ColumnInfoVO implements Serializable {
     private static final long serialVersionUID = -4822420650132733065L;
 
-    @ApiModelProperty(value = "主键")
+    @ApiModelProperty(value = "主键",required = true)
     private Long id;
 
     @ApiModelProperty(value = "表名称(中文)", required = true)

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

@@ -0,0 +1,36 @@
+package com.lantone.daqe.vo;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @Description: 获取标准词和同义词(一对一)分页列表-接口入参
+ * @author: rengb
+ * @time: 2022/2/27 11:15
+ */
+@ApiModel(value = "获取标准词和同义词(一对一)分页列表-接口入参")
+@Getter
+@Setter
+public class GetConceptLibraryPageVO extends Page {
+
+    private static final long serialVersionUID = 4521884666557513363L;
+
+    /**
+     * 术语类型,1:诊断,2:手术,3:药品
+     */
+    @ApiModelProperty(value = "术语类型,1:诊断,2:手术,3:药品", required = true)
+    @NotBlank(message = "术语类型不能为空")
+    private String type;
+
+    /**
+     * 搜索关键词
+     */
+    @ApiModelProperty(value = "搜索关键词")
+    private String word;
+
+}

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

@@ -0,0 +1,35 @@
+package com.lantone.daqe.web;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.lantone.common.api.CommonResult;
+import com.lantone.daqe.dto.GetConceptLibraryPageDTO;
+import com.lantone.daqe.facade.CurrencyManagementFacade;
+import com.lantone.daqe.vo.GetConceptLibraryPageVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Description: 通用处理API
+ * @author: rengb
+ * @time: 2022/3/8 14:24
+ */
+@RestController
+@Api(value = "通用处理API", tags = { "通用处理API" })
+@RequestMapping("/currencyManage")
+public class CurrencyManagmentController {
+
+    @Autowired
+    private CurrencyManagementFacade currencyManagementFacade;
+
+    @ApiOperation(value = "获取标准词和同义词(一对一)分页列表 [by:rengb]")
+    @PostMapping("/getConceptLibraryPage")
+    public CommonResult<IPage<GetConceptLibraryPageDTO>> getConceptLibraryPage(@RequestBody GetConceptLibraryPageVO getConceptLibraryPageVO) {
+        return CommonResult.success(currencyManagementFacade.getConceptLibraryPage(getConceptLibraryPageVO));
+    }
+
+}

+ 1 - 1
daqe-center/src/main/resources/mapper/ColumnVerifyMapper.xml

@@ -51,7 +51,7 @@
         where
         1=1
         <if test="getColumnVerifyPageVO.isRequired != null and getColumnVerifyPageVO.isRequired != ''">
-            AND a.column_ename = #{getColumnVerifyPageVO.columnEname}
+            AND a.isRequired = #{getColumnVerifyPageVO.isRequired}
         </if>
         <if test="getColumnVerifyPageVO.regularName != null and getColumnVerifyPageVO.regularName != ''">
             AND a.regular = #{getColumnVerifyPageVO.regularName}

+ 5 - 0
daqe-center/src/main/resources/mapper/ConceptLibraryMapper.xml

@@ -0,0 +1,5 @@
+<?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.lantone.daqe.mapper.ConceptLibraryMapper">
+
+</mapper>

+ 19 - 0
daqe-center/src/main/resources/mapper/base/BaseConceptLibraryMapper.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.lantone.daqe.mapper.ConceptLibraryMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.lantone.daqe.entity.ConceptLibrary">
+        <id column="id" property="id"/>
+        <result column="standard" property="standard"/>
+        <result column="synonym" property="synonym"/>
+        <result column="type" property="type"/>
+        <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="remark" property="remark"/>
+    </resultMap>
+
+</mapper>

+ 21 - 1
daqe-center/src/main/resources/upgrade/V1__daqe_init.sql

@@ -8,6 +8,7 @@ CREATE TABLE `dc_column_info` (
   `table_ename` varchar(32) NOT NULL COMMENT '表英文名',
   `column_cname` varchar(32) NOT NULL COMMENT '字段中文名',
   `column_ename` varchar(32) NOT NULL COMMENT '字段英文名',
+  `type` varchar(2) NOT NULL DEFAULT '1' COMMENT '字段类型说明,1:普通字段,2:编号字段',
   `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
   `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
   `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
@@ -386,4 +387,23 @@ CREATE TABLE `hos_record_template` (
   `modifier` varchar(32) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
   `remark` varchar(128) DEFAULT NULL COMMENT '备注',
   PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='医院病历文书模板信息表';
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='医院病历文书模板信息表';
+
+-- ----------------------------
+-- Table structure for base_concept_library
+-- ----------------------------
+DROP TABLE IF EXISTS `base_concept_library`;
+CREATE TABLE `base_concept_library` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `standard` varchar(128) NOT NULL COMMENT '标准词',
+  `synonym` varchar(128) NOT NULL COMMENT '同义词',
+  `type` varchar(2) NOT NULL COMMENT '术语类型,1:诊断,2:手术,3:药品',
+  `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(32) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(32) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `remark` varchar(128) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `uniq_stand_syn_type` (`standard`,`synonym`,`type`) USING BTREE COMMENT '字段standard、字段synonym和字段type的值组合必须全表唯一'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='术语表';

+ 3 - 2
dblayer-mbg/src/test/java/com/lantone/dblayermbg/CodeAutoGenerator.java

@@ -122,10 +122,11 @@ public class CodeAutoGenerator {
                 "his_behospital_info",
                 "his_home_page",
                 "his_medical_record",
-                "his_medical_record_content"
+                "his_medical_record_content",
+                "base_concept_library"
         };
         //生成的实体类忽略表前缀: 不需要则置空
-        String[] ENTITY_IGNORE_PREFIX = { "hos_", "dc_", "med_" };
+        String[] ENTITY_IGNORE_PREFIX = { "hos_", "dc_", "med_", "base_" };
 
         GeneratorUtil.create(moduleName_, parentPackagePath_, packageName_, username, password, url, TABLES, ENTITY_IGNORE_PREFIX);
     }

+ 40 - 0
security-center/src/main/java/com/lantone/security/dto/GetMedoupManageDTO.java

@@ -0,0 +1,40 @@
+package com.lantone.security.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 查看医疗组具体信息-接口出参
+ * @author: zhanghang
+ * @time: 2022/3/17 13:26
+ */
+@ApiModel(value = "查看医疗组具体信息-接口出参")
+@Getter
+@Setter
+public class GetMedoupManageDTO implements Serializable {
+
+    @ApiModelProperty(value = "主键id")
+    private Long id;
+
+    @ApiModelProperty(value = "医疗组代码")
+    private String code;
+
+    @ApiModelProperty(value = "医疗组名称")
+    private String name;
+
+    @ApiModelProperty(value = "上级科室ID")
+    private Long deptId;
+
+    @ApiModelProperty(value = "上级科室名称")
+    private String deptName;
+
+    @ApiModelProperty(value = "上级病区ID")
+    private Long regionId;
+
+    @ApiModelProperty(value = "上级病区名称")
+    private String regionName;
+}

+ 168 - 0
security-center/src/main/java/com/lantone/security/facade/MedoupManagementFacade.java

@@ -0,0 +1,168 @@
+package com.lantone.security.facade;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.lantone.common.enums.IsDeleteEnum;
+import com.lantone.common.exception.Asserts;
+import com.lantone.common.util.SysUserUtils;
+import com.lantone.security.dto.GetMedoupManageDTO;
+import com.lantone.security.entity.DeptMedoup;
+import com.lantone.security.entity.Medoup;
+import com.lantone.security.entity.RegionMedoup;
+import com.lantone.security.facade.base.DeptMedoupFacade;
+import com.lantone.security.facade.base.MedoupFacade;
+import com.lantone.security.facade.base.RegionMedoupFacade;
+import com.lantone.security.vo.AddMedoupManageVO;
+import com.lantone.security.vo.DeleteMedoupManageVO;
+import com.lantone.security.vo.GetMedoupManageVO;
+import com.lantone.security.vo.UpdateMedoupManageVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+
+/**
+ * @Description: 医疗组管理API
+ * @author: zhanghang
+ * @time: 2022/3/17 13:20
+ */
+@Component
+public class MedoupManagementFacade {
+    @Autowired
+    MedoupFacade medoupFacade;
+    @Autowired
+    DeptMedoupFacade deptMedoupFacade;
+    @Autowired
+    RegionMedoupFacade regionMedoupFacade;
+
+    /**
+     * 新增医疗组信息
+     *
+     * @param addMedoupManageVO
+     * @return: 是否成功
+     */
+    public Boolean addMedoupManage(AddMedoupManageVO addMedoupManageVO) {
+        Long currentPrincipleId = SysUserUtils.getCurrentPrincipleId();
+        //医疗组表
+        Medoup medoup = new Medoup();
+        medoup.setCode(addMedoupManageVO.getCode());
+        medoup.setName(addMedoupManageVO.getName());
+        medoup.setGmtCreate(new Date());
+        medoup.setCreator(currentPrincipleId.toString());
+        try {
+            medoupFacade.getBaseMapper().insert(medoup);
+        } catch (Exception e) {
+            Asserts.fail("新增医疗组失败!");
+        }
+        Long medoupId = medoup.getId();
+        //病区与医疗组关联表
+        RegionMedoup regionMedoup = new RegionMedoup();
+        regionMedoup.setMedoupId(medoupId);
+        regionMedoup.setRegionId(addMedoupManageVO.getRegionId());
+        regionMedoup.setGmtCreate(new Date());
+        regionMedoup.setCreator(currentPrincipleId.toString());
+        try {
+            regionMedoupFacade.getBaseMapper().insert(regionMedoup);
+        } catch (Exception e) {
+            Asserts.fail("新增病区与医疗组关联表失败!");
+        }
+        //科室与医疗组关联表
+        DeptMedoup deptMedoup = new DeptMedoup();
+        deptMedoup.setMedoupId(medoupId);
+        deptMedoup.setDeptId(addMedoupManageVO.getDeptId());
+        deptMedoup.setGmtCreate(new Date());
+        deptMedoup.setCreator(currentPrincipleId.toString());
+        try {
+            deptMedoupFacade.getBaseMapper().insert(deptMedoup);
+        } catch (Exception e) {
+            Asserts.fail("新增科室与医疗组关联表失败!");
+        }
+        return true;
+    }
+
+    /**
+     * 修改医疗组信息
+     *
+     * @param updateMedoupManageVO
+     * @return: 是否成功
+     */
+    public Boolean updateMedoupManage(UpdateMedoupManageVO updateMedoupManageVO) {
+        Long currentPrincipleId = SysUserUtils.getCurrentPrincipleId();
+        //医疗组表
+        medoupFacade.update(new UpdateWrapper<Medoup>()
+                .eq("id", updateMedoupManageVO.getId())
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .set("code", updateMedoupManageVO.getCode())
+                .set("name", updateMedoupManageVO.getName())
+                .set("modifier", currentPrincipleId)
+                .set("gmt_modified", new Date())
+        );
+        Long manageVOId = updateMedoupManageVO.getId();
+        //删除病区与医疗组关联表
+        regionMedoupFacade.remove(new QueryWrapper<RegionMedoup>()
+                .eq("medoup_id", manageVOId)
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+        );
+        //病区与医疗组关联表
+        RegionMedoup regionMedoup = new RegionMedoup();
+        regionMedoup.setMedoupId(manageVOId);
+        regionMedoup.setRegionId(updateMedoupManageVO.getRegionId());
+        regionMedoup.setGmtCreate(new Date());
+        regionMedoup.setCreator(currentPrincipleId.toString());
+        regionMedoupFacade.getBaseMapper().insert(regionMedoup);
+        //删除科室与医疗组关联表
+        deptMedoupFacade.remove(new QueryWrapper<DeptMedoup>()
+                .eq("medoup_id", manageVOId)
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+        );
+        //科室与医疗组关联表
+        DeptMedoup deptMedoup = new DeptMedoup();
+        deptMedoup.setMedoupId(manageVOId);
+        deptMedoup.setDeptId(updateMedoupManageVO.getDeptId());
+        deptMedoup.setGmtCreate(new Date());
+        deptMedoup.setCreator(currentPrincipleId.toString());
+        deptMedoupFacade.getBaseMapper().insert(deptMedoup);
+        return true;
+    }
+
+    /**
+     * 查看医疗组具体信息
+     *
+     * @param getMedoupManageVO
+     * @return:
+     */
+    public GetMedoupManageDTO getMedoupManage(GetMedoupManageVO getMedoupManageVO) {
+        return medoupFacade.getBaseMapper().getMedoupManage(getMedoupManageVO);
+    }
+
+    /**
+     * 删除医疗组具体信息
+     *
+     * @param deleteMedoupManageVO
+     * @return:
+     */
+    public Boolean deleteMedoupManage(DeleteMedoupManageVO deleteMedoupManageVO) {
+        Long currentPrincipleId = SysUserUtils.getCurrentPrincipleId();
+        String manageVOId = deleteMedoupManageVO.getId();
+        regionMedoupFacade.update(new UpdateWrapper<RegionMedoup>()
+                .eq("medoup_id", manageVOId)
+                .set("is_deleted", IsDeleteEnum.Y.getKey())
+                .set("modifier", currentPrincipleId)
+                .set("gmt_modified", new Date())
+        );
+        deptMedoupFacade.update(new UpdateWrapper<DeptMedoup>()
+                .eq("medoup_id", manageVOId)
+                .set("is_deleted", IsDeleteEnum.Y.getKey())
+                .set("modifier", currentPrincipleId)
+                .set("gmt_modified", new Date())
+        );
+        medoupFacade.update(new UpdateWrapper<Medoup>()
+                .eq("id", manageVOId)
+                .eq("is_deleted", IsDeleteEnum.Y.getKey())
+                .set("modifier", currentPrincipleId)
+                .set("gmt_modified", new Date())
+        );
+        return true;
+    }
+}

+ 4 - 1
security-center/src/main/java/com/lantone/security/mapper/MedoupMapper.java

@@ -1,7 +1,10 @@
 package com.lantone.security.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.lantone.security.dto.GetMedoupManageDTO;
 import com.lantone.security.entity.Medoup;
+import com.lantone.security.vo.GetMedoupManageVO;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -9,5 +12,5 @@ import com.lantone.security.entity.Medoup;
  * </p>
  */
 public interface MedoupMapper extends BaseMapper<Medoup> {
-
+    GetMedoupManageDTO getMedoupManage(@Param("getMedoupManageVO") GetMedoupManageVO getMedoupManageVO);
 }

+ 38 - 0
security-center/src/main/java/com/lantone/security/vo/AddMedoupManageVO.java

@@ -0,0 +1,38 @@
+package com.lantone.security.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 新增医疗组信息-接口入参
+ * @author: zhanghang
+ * @time: 2022/3/17 13:26
+ */
+@ApiModel(value = "新增医疗组信息-接口入参")
+@Getter
+@Setter
+public class AddMedoupManageVO implements Serializable {
+
+    private static final long serialVersionUID = 4874891805624327667L;
+    @ApiModelProperty(value = "医疗组代码")
+    private String code;
+
+    @ApiModelProperty(value = "医疗组名称")
+    private String name;
+
+    @ApiModelProperty(value = "上级科室ID")
+    private Long deptId;
+
+    @ApiModelProperty(value = "上级科室名称")
+    private String deptName;
+
+    @ApiModelProperty(value = "上级病区ID")
+    private Long regionId;
+
+    @ApiModelProperty(value = "上级病区名称")
+    private String regionName;
+}

+ 24 - 0
security-center/src/main/java/com/lantone/security/vo/DeleteMedoupManageVO.java

@@ -0,0 +1,24 @@
+package com.lantone.security.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 查看医疗组具体信息-接口入参
+ * @author: zhanghang
+ * @time: 2022/3/17 13:26
+ */
+@ApiModel(value = "查看医疗组具体信息-接口入参")
+@Getter
+@Setter
+public class DeleteMedoupManageVO implements Serializable {
+
+    private static final long serialVersionUID = -712909706557139236L;
+    @ApiModelProperty(value = "医疗组id")
+    private String id;
+
+}

+ 24 - 0
security-center/src/main/java/com/lantone/security/vo/GetMedoupManageVO.java

@@ -0,0 +1,24 @@
+package com.lantone.security.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 查看医疗组具体信息-接口入参
+ * @author: zhanghang
+ * @time: 2022/3/17 13:26
+ */
+@ApiModel(value = "查看医疗组具体信息-接口入参")
+@Getter
+@Setter
+public class GetMedoupManageVO implements Serializable {
+
+    private static final long serialVersionUID = -6590076897770004835L;
+    @ApiModelProperty(value = "医疗组id")
+    private String id;
+
+}

+ 42 - 0
security-center/src/main/java/com/lantone/security/vo/UpdateMedoupManageVO.java

@@ -0,0 +1,42 @@
+package com.lantone.security.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 修改医疗组信息-接口入参
+ * @author: zhanghang
+ * @time: 2022/3/17 13:26
+ */
+@ApiModel(value = "修改医疗组信息-接口入参")
+@Getter
+@Setter
+public class UpdateMedoupManageVO implements Serializable {
+
+
+    private static final long serialVersionUID = -7530624210971806925L;
+    @ApiModelProperty(value = "主键id")
+    private Long id;
+
+    @ApiModelProperty(value = "医疗组代码")
+    private String code;
+
+    @ApiModelProperty(value = "医疗组名称")
+    private String name;
+
+    @ApiModelProperty(value = "上级科室ID")
+    private Long deptId;
+
+    @ApiModelProperty(value = "上级科室名称")
+    private String deptName;
+
+    @ApiModelProperty(value = "上级病区ID")
+    private Long regionId;
+
+    @ApiModelProperty(value = "上级病区名称")
+    private String regionName;
+}

+ 57 - 0
security-center/src/main/java/com/lantone/security/web/MedoupManagementController.java

@@ -0,0 +1,57 @@
+package com.lantone.security.web;
+
+import com.lantone.common.api.CommonResult;
+import com.lantone.security.dto.GetMedoupManageDTO;
+import com.lantone.security.facade.MedoupManagementFacade;
+import com.lantone.security.vo.AddMedoupManageVO;
+import com.lantone.security.vo.DeleteMedoupManageVO;
+import com.lantone.security.vo.GetMedoupManageVO;
+import com.lantone.security.vo.UpdateMedoupManageVO;
+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;
+
+/**
+ * @Description: 医疗组管理API
+ * @author: zhanghang
+ * @time: 2022/3/17 13:20
+ */
+@RestController
+@Api(value = "医疗组管理API", tags = { "医疗组管理API" })
+@RequestMapping("/medoupManage")
+public class MedoupManagementController {
+    @Autowired
+    MedoupManagementFacade medoupManagementFacade;
+
+    @ApiOperation(value = "新增医疗组信息 [by:zhanghang]")
+    @PostMapping("/addMedoupManage")
+    @Transactional
+    public CommonResult<Boolean> addMedoupManage(@RequestBody AddMedoupManageVO addMedoupManageVO) {
+        return CommonResult.success(medoupManagementFacade.addMedoupManage(addMedoupManageVO));
+    }
+
+    @ApiOperation(value = "查看医疗组具体信息 [by:zhanghang]")
+    @PostMapping("/getMedoupManage")
+    public CommonResult<GetMedoupManageDTO> getMedoupManage(@RequestBody GetMedoupManageVO getMedoupManageVO) {
+        return CommonResult.success(medoupManagementFacade.getMedoupManage(getMedoupManageVO));
+    }
+
+    @ApiOperation(value = "修改医疗组信息 [by:zhanghang]")
+    @PostMapping("/updateMedoupManage")
+    @Transactional
+    public CommonResult<Boolean> updateMedoupManage(@RequestBody UpdateMedoupManageVO updateMedoupManageVO) {
+        return CommonResult.success(medoupManagementFacade.updateMedoupManage(updateMedoupManageVO));
+    }
+
+    @ApiOperation(value = "删除医疗组信息 [by:zhanghang]")
+    @PostMapping("/deleteMedoupManage")
+    @Transactional
+    public CommonResult<Boolean> deleteMedoupManage(@RequestBody DeleteMedoupManageVO deleteMedoupManageVO) {
+        return CommonResult.success(medoupManagementFacade.deleteMedoupManage(deleteMedoupManageVO));
+    }
+}

+ 31 - 1
security-center/src/main/resources/mapper/MedoupMapper.xml

@@ -1,5 +1,35 @@
 <?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.lantone.security.mapper.MedoupMapper">
-
+    <select id="getMedoupManage" resultType="com.lantone.security.dto.GetMedoupManageDTO">
+        SELECT
+            smp.id meduopId,
+            smp.code,
+            smp.name,
+            sdm.dept_id,
+            sd.hospital_id,
+            sd.NAME deptName,
+            srm.region_id,
+            sr.NAME regionName,
+            sr.hospital_id regionHospital
+        FROM
+            sys_medoup smp,
+            sys_dept_medoup sdm,
+            sys_dept sd,
+            sys_region_medoup srm,
+            sys_region sr
+        WHERE
+            smp.id = sdm.medoup_id
+        AND sdm.is_deleted = 'N'
+        AND smp.is_deleted = 'N'
+        AND sr.is_deleted = 'N'
+        AND srm.is_deleted = 'N'
+        AND sd.is_deleted = 'N'
+        AND sdm.dept_id = sd.id
+        AND sd.hospital_id = 4
+        AND smp.id = srm.medoup_id
+        AND srm.region_id = sr.id
+        AND sr.hospital_id = sd.hospital_id
+        AND smp.id= #{id}
+    </select>
 </mapper>