Pārlūkot izejas kodu

病区辅助接口补充

chengyao 3 gadi atpakaļ
vecāks
revīzija
8eda6461d0

+ 3 - 4
common/src/main/java/com/lantone/common/vo/CheckSolveRegionVO.java

@@ -1,8 +1,7 @@
 package com.lantone.common.vo;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-
-import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
 
 
 /**
@@ -19,10 +18,10 @@ public class CheckSolveRegionVO {
     private String name;
 
     @ApiModelProperty(value = "病区id")
-    @NotEmpty(message ="病区id不能为空" )
+    @NotNull(message ="病区id不能为空" )
     private Integer id;
 
     @ApiModelProperty(value = "0-禁用校验标识 1-禁用此病区")
-    @NotEmpty(message ="操作标识不能为空" )
+    @NotNull(message ="操作标识不能为空" )
     private Integer mark = 0;
 }

+ 26 - 0
common/src/main/java/com/lantone/common/vo/GetDeptListVO.java

@@ -0,0 +1,26 @@
+package com.lantone.common.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import javax.validation.constraints.NotNull;
+
+
+/**
+ * @Description:
+ * @Author: cy
+ * @time: 2021/8/2 18:38
+ */
+@Getter
+@Setter
+public class GetDeptListVO {
+    @ApiModelProperty(value = "医院ID")
+    private Long hospitalId;
+
+    @ApiModelProperty(value = "科室名称")
+    private String deptName;
+
+    @ApiModelProperty(value = "标记(0-返回科室列表 1-返回互斥科室列表)")
+    @NotNull(message ="标记不能为空" )
+    private Integer mark = 0;
+}

+ 3 - 3
common/src/main/java/com/lantone/common/vo/SaveDictionaryVO.java

@@ -2,7 +2,7 @@ package com.lantone.common.vo;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 
 
@@ -20,7 +20,7 @@ public class SaveDictionaryVO implements Serializable {
     private Long id;
 
     @ApiModelProperty(value = "代码类别")
-    @NotEmpty(message = "代码类别不能为空")
+    @NotNull(message = "代码类别不能为空")
     private Long groupType;
 
     @ApiModelProperty(value = "代码名称")
@@ -32,7 +32,7 @@ public class SaveDictionaryVO implements Serializable {
     private String val;
 
     @ApiModelProperty(value = "是否启用(0-否 1-是)")
-    @NotEmpty(message = "是否启用不能为空")
+    @NotNull(message = "是否启用不能为空")
     private Long status;
 
     @ApiModelProperty(value = "字典说明")

+ 6 - 0
common/src/main/java/com/lantone/common/vo/SaveHospitalSetVO.java

@@ -25,6 +25,12 @@ public class SaveHospitalSetVO implements Serializable {
     @ApiModelProperty(value = "医院id")
     private Long hospitalId;
 
+    /**
+     * 组织机构名称
+     */
+    @ApiModelProperty(value = "医院名称")
+    private String hospitalName;
+
     /**
      * 参数配置代码
      */

+ 6 - 2
dblayer-mbg/src/main/java/com/lantone/dblayermbg/entity/HospitalSet.java

@@ -5,8 +5,6 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
 import java.util.Date;
@@ -34,6 +32,12 @@ public class HospitalSet implements Serializable {
     @TableField("hospital_id")
     private Long hospitalId;
 
+    /**
+     * 组织机构名称
+     */
+    @TableField("hospital_name")
+    private String hospitalName;
+
     /**
      * 参数配置代码
      */

+ 1 - 0
dblayer-mbg/src/main/resources/mapper/base/BaseHospitalSetMapper.xml

@@ -6,6 +6,7 @@
     <resultMap id="BaseResultMap" type="com.lantone.dblayermbg.entity.HospitalSet">
         <id column="id" property="id"/>
         <result column="hospital_id" property="hospitalId"/>
+        <result column="hospital_name" property="hospitalName"/>
         <result column="code" property="code"/>
         <result column="name" property="name"/>
         <result column="val" property="val"/>

+ 61 - 5
security-center/src/main/java/com/lantone/security/facade/RegionManagementFacade.java

@@ -2,17 +2,22 @@ package com.lantone.security.facade;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.additional.query.impl.LambdaQueryChainWrapper;
 import com.lantone.common.dto.ViewRegionDTO;
 import com.lantone.common.exception.ApiException;
 import com.lantone.common.util.ListUtil;
 import com.lantone.common.util.StringUtil;
 import com.lantone.common.vo.CheckSolveRegionVO;
+import com.lantone.common.vo.GetDeptListVO;
 import com.lantone.common.vo.SaveRegionVO;
 import com.lantone.common.vo.GetRegionVO;
+import com.lantone.dblayermbg.entity.Dept;
 import com.lantone.dblayermbg.entity.Region;
 import com.lantone.dblayermbg.entity.RegionDept;
+import com.lantone.dblayermbg.facade.DeptFacade;
 import com.lantone.dblayermbg.facade.RegionFacade;
 import com.lantone.dblayermbg.service.RegionDeptService;
+import com.lantone.security.enums.IsDeleteEnum;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
@@ -35,6 +40,8 @@ public class RegionManagementFacade {
     private RegionDeptService regionDeptService;
     @Autowired
     private RegionFacade regionFacade;
+    @Autowired
+    private DeptFacade deptFacade;
 
     /**
      * @Description: 新增/修改病区
@@ -197,8 +204,8 @@ public class RegionManagementFacade {
         //禁用校验
         if (null != checkSolveRegionVO.getId() && 0 == checkSolveRegionVO.getMark()) {
             List<Long> collectList = regionDeptService.lambdaQuery()
-                    .eq(RegionDept::getRegionId, checkSolveRegionVO.getId())
-                    .eq(RegionDept::getHospitalId, checkSolveRegionVO.getHospitalId())
+                    .eq(RegionDept::getRegionId,checkSolveRegionVO.getId())
+                    .eq(RegionDept::getHospitalId,checkSolveRegionVO.getHospitalId())
                     .list().stream().map(obj -> obj.getDeptId()).collect(Collectors.toList());
             if (ListUtil.isNotEmpty(collectList) && collectList.size() > 0) {
                 //当前病区存在与之关联的科室
@@ -210,10 +217,59 @@ public class RegionManagementFacade {
         //禁用病区处理
         if (null != checkSolveRegionVO.getId() && 1 == checkSolveRegionVO.getMark()) {
             regionFacade.lambdaUpdate()
-                    .eq(Region::getId, checkSolveRegionVO.getId())
-                    .eq(Region::getHospitalId, checkSolveRegionVO.getHospitalId())
-                    .set(Region::getStatus, 0).update();
+                    .eq(Region::getId,checkSolveRegionVO.getId())
+                    .eq(Region::getHospitalId,checkSolveRegionVO.getHospitalId())
+                    .set(Region::getStatus,0).update();
         }
         return true;
     }
+
+    /**
+     * @Description:科室id,name返回
+     * @Param: [hospitalId]
+     * @return: java.util.List<com.lantone.dblayermbg.entity.Dept>
+     * @Author: cy
+     * @Date: 2021/8/2
+     */
+    public  List<Dept> getDept(GetDeptListVO getDeptListVO){
+        List<Dept> list = new ArrayList<>();
+        if(0 == getDeptListVO.getMark()){
+            list = queryMethod(getDeptListVO,null);
+        }
+
+        //互斥
+        if(1 == getDeptListVO.getMark()) {
+            //关联或被禁止的科室id
+            List<Long> regionDeptIds = regionDeptService.lambdaQuery()
+                    .eq(RegionDept::getHospitalId,getDeptListVO.getHospitalId())
+                    .eq(RegionDept::getIsDeleted,IsDeleteEnum.N.getKey())
+                    .list().stream().map(obj -> obj.getDeptId()).collect(Collectors.toList());
+
+            if(ListUtil.isNotEmpty(regionDeptIds)){
+                list = queryMethod(getDeptListVO,regionDeptIds);
+            }
+        }
+
+        return list;
+    }
+
+    /**
+     * @Description: 科室lambdaQueryChainWrapper
+     * @Param: [getDeptListVO, regionDeptIds]
+     * @return: java.util.List<com.lantone.dblayermbg.entity.Dept>
+     * @Author: cy
+     * @Date: 2021/8/2
+     */
+    public List<Dept> queryMethod(GetDeptListVO getDeptListVO, List<Long> regionDeptIds){
+        LambdaQueryChainWrapper<Dept> lambdaQueryChainWrapper = deptFacade.lambdaQuery();
+        lambdaQueryChainWrapper.eq(Dept::getHospitalId,getDeptListVO.getHospitalId());
+        lambdaQueryChainWrapper.eq(Dept::getIsDeleted,IsDeleteEnum.N.getKey());
+        if(ListUtil.isNotEmpty(regionDeptIds)){
+            lambdaQueryChainWrapper.notIn(Dept::getId,regionDeptIds);
+        }
+        if(StringUtil.isNotEmpty(getDeptListVO.getDeptName())){
+            lambdaQueryChainWrapper.like(Dept::getName,getDeptListVO.getDeptName());
+        }
+        return lambdaQueryChainWrapper.select(Dept::getId,Dept::getName).list();
+    }
 }

+ 11 - 1
security-center/src/main/java/com/lantone/security/web/RegionManagementController.java

@@ -4,8 +4,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.lantone.common.api.CommonResult;
 import com.lantone.common.dto.ViewRegionDTO;
 import com.lantone.common.vo.CheckSolveRegionVO;
-import com.lantone.common.vo.SaveRegionVO;
+import com.lantone.common.vo.GetDeptListVO;
 import com.lantone.common.vo.GetRegionVO;
+import com.lantone.common.vo.SaveRegionVO;
+import com.lantone.dblayermbg.entity.Dept;
 import com.lantone.security.facade.RegionManagementFacade;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -18,6 +20,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
+import java.util.List;
 
 /**
  * @ClassName: RegionManagementController
@@ -77,4 +80,11 @@ public class RegionManagementController {
     public CommonResult<Boolean> deleteRegion(@RequestParam Integer id) {
         return CommonResult.success(sysRegionFacade.deleteRegion(id));
     }
+
+    @ApiOperation(value = "获取科室列表[by:cy]",
+            notes =  "标记(0-返回科室列表 1-返回互斥科室列表),必填<br>")
+    @PostMapping("/getDeptList")
+    public CommonResult<List<Dept>> getDeptList(@RequestBody @Valid GetDeptListVO getDeptListVO) {
+        return CommonResult.success(sysRegionFacade.getDept(getDeptListVO));
+    }
 }