Переглянути джерело

病区医疗组参数返回接口

chengyao 3 роки тому
батько
коміт
1fb6871cf2

+ 1 - 0
src/main/java/com/diagbot/config/ResourceServerConfigurer.java

@@ -209,6 +209,7 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/consoleByDept/beHosCountByDept").permitAll()
                 .antMatchers("/consoleByDept/casesEntryStatisticsByDept").permitAll()
                 .antMatchers("/bas/doctor/getList").permitAll()
+                .antMatchers("/bas/doctor/getRegionAndMedoupList").permitAll()
                 .antMatchers("/consoleByDept/homePageOrGoodLevelByDept").permitAll()
                 .antMatchers("/print/export/homePageLevelExportByDept").permitAll()
                 .antMatchers("/print/export/homePageOrLevelExportByDept").permitAll()

+ 1 - 0
src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -253,6 +253,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/consoleByDept/beHosCountByDept", request)
                 || matchers("/consoleByDept/casesEntryStatisticsByDept", request)
                 || matchers("/bas/doctor/getList", request)
+                || matchers("/bas/doctor/getRegionAndMedoupList", request)
                 || matchers("/consoleByDept/homePageOrGoodLevelByDept", request)
                 || matchers("/print/export/homePageLevelExportByDept", request)
                 || matchers("/print/export/homePageOrLevelExportByDept", request)

+ 53 - 0
src/main/java/com/diagbot/facade/BasDoctorInfoFacade.java

@@ -1,11 +1,17 @@
 package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.dto.MedoupDTO;
+import com.diagbot.dto.RegionDTO;
+import com.diagbot.dto.RegionMedoupDTO;
 import com.diagbot.entity.*;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.service.impl.BasDoctorInfoServiceImpl;
+import com.diagbot.service.impl.MedoupServiceImpl;
+import com.diagbot.service.impl.RegionServiceImpl;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.SysUserUtils;
+import com.diagbot.vo.GetRegionAndMedoupInfoVO;
 import com.diagbot.vo.data.BasDoctorInfoVO;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,6 +35,53 @@ public class BasDoctorInfoFacade extends BasDoctorInfoServiceImpl {
     BasDeptInfoFacade basDeptInfoFacade;
     @Autowired
     BehospitalInfoFacade behospitalInfoFacade;
+    @Autowired
+    private RegionServiceImpl regionService;
+    @Autowired
+    private MedoupServiceImpl medoupService;
+
+    /**
+     * 获取医院医生下拉列表信息
+     *
+     * @param getRegionAndMedoupInfoVO
+     * @return 医院医生下拉列表信息
+     */
+    public RegionMedoupDTO getRegionAndMedoupList(GetRegionAndMedoupInfoVO getRegionAndMedoupInfoVO) {
+        getRegionAndMedoupInfoVO.setHospitalId(Long.valueOf(SysUserUtils.getCurrentHospitalID()));
+        RegionMedoupDTO regionMedoupDTO = new RegionMedoupDTO();
+        if("1".equals(getRegionAndMedoupInfoVO.getMark())){
+            List<Region> regions = regionService.lambdaQuery()
+                    .eq(Region::getIsDeleted, IsDeleteEnum.N.getKey())
+                    .eq(Region::getHospitalId, getRegionAndMedoupInfoVO.getHospitalId())
+                    .like(StringUtils.isNotBlank(getRegionAndMedoupInfoVO.getRegionStr()), Region::getName,getRegionAndMedoupInfoVO.getRegionStr())
+                    .select(Region::getName, Region::getCode).list();
+            List<RegionDTO> regionDTOS = new ArrayList<>();
+
+            regions.forEach(region->{
+                RegionDTO regionDTO = new RegionDTO();
+                regionDTO.setCode(region.getCode());
+                regionDTO.setName(region.getName());
+                regionDTOS.add(regionDTO);
+            });
+            regionMedoupDTO.setRegions(regionDTOS);
+        }
+        if("2".equals(getRegionAndMedoupInfoVO.getMark())){
+            List<MedoupDTO> medoupDTOS = new ArrayList<>();
+            List<Medoup> medoups = medoupService.lambdaQuery()
+                    .eq(Medoup::getIsDeleted, IsDeleteEnum.N.getKey())
+                    .like(StringUtils.isNotBlank(getRegionAndMedoupInfoVO.getMedoupStr()), Medoup::getName,getRegionAndMedoupInfoVO.getMedoupStr())
+                    .select(Medoup::getName, Medoup::getCode).list();
+            medoups.forEach(medoup->{
+                MedoupDTO medoupDTO = new MedoupDTO();
+                medoupDTO.setCode(medoup.getCode());
+                medoupDTO.setName(medoup.getName());
+                medoupDTOS.add(medoupDTO);
+            });
+            regionMedoupDTO.setMedoups(medoupDTOS);
+        }
+        return regionMedoupDTO;
+
+    }
 
     /**
      * 获取医院医生下拉列表信息

+ 31 - 0
src/main/java/com/diagbot/vo/GetRegionAndMedoupInfoVO.java

@@ -0,0 +1,31 @@
+package com.diagbot.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: cy
+ * @time: 2020/12/24 11:28
+ */
+@Getter
+@Setter
+public class GetRegionAndMedoupInfoVO {
+    /**
+     * 病区搜索参数
+     */
+    private String regionStr;
+    /**
+     * 医疗组搜索参数
+     */
+    private String medoupStr;
+    /**
+     * 1-病区 2-医疗组
+     */
+    private String mark;
+    @ApiModelProperty(hidden = true)
+    private Long hospitalId;
+    @ApiModelProperty(hidden = true)
+    private Long userId;
+}

+ 9 - 0
src/main/java/com/diagbot/web/BasDoctorInfoController.java

@@ -2,9 +2,11 @@ package com.diagbot.web;
 
 
 import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.RegionMedoupDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.BasDoctorInfo;
 import com.diagbot.facade.BasDoctorInfoFacade;
+import com.diagbot.vo.GetRegionAndMedoupInfoVO;
 import com.diagbot.vo.data.BasDoctorInfoVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -39,4 +41,11 @@ public class BasDoctorInfoController {
     public RespDTO<List<BasDoctorInfo>> getList(@RequestBody BasDoctorInfoVO basDoctorInfoVO) {
         return RespDTO.onSuc(basDoctorInfoFacade.getDoctorByDept(basDoctorInfoVO));
     }
+
+    @ApiOperation(value = "获取病区、医疗组[by:cy]")
+    @PostMapping("/getRegionAndMedoupList")
+    @SysLogger("getRegionAndMedoupList")
+    public RespDTO<RegionMedoupDTO> getRegionAndMedoupList(@RequestBody GetRegionAndMedoupInfoVO getRegionAndMedoupInfoVO) {
+        return RespDTO.onSuc(basDoctorInfoFacade.getRegionAndMedoupList(getRegionAndMedoupInfoVO));
+    }
 }