Преглед на файлове

医疗组新增删除修改接口

zhanghang преди 3 години
родител
ревизия
9e1399165d

+ 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)

+ 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>