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

常用标签维护——获取科室信息加入归属类型,过滤添加过得归属类型,过滤添加过得科室

wangyu 6 роки тому
батько
коміт
da8ea8278a

+ 16 - 0
icssman-service/src/main/java/com/diagbot/dto/DeptInfoDTO.java

@@ -1,11 +1,27 @@
 package com.diagbot.dto;
 
 import com.diagbot.entity.DeptInfo;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
 
 /**
  * @Description:
  * @author: wangyu
  * @time: 2018/11/19 18:56
  */
+@Getter
+@Setter
 public class DeptInfoDTO extends DeptInfo {
+
+    /**
+     *  归属类型
+     */
+    private List<Integer> type;
+
+    /**
+     * 常用标签
+     */
+    private List<GetQuestionUsualAndTypeDTO> questionUsuals;
 }

+ 19 - 0
icssman-service/src/main/java/com/diagbot/dto/GetQuestionUsualAndTypeDTO.java

@@ -0,0 +1,19 @@
+package com.diagbot.dto;
+
+import com.diagbot.entity.QuestionUsual;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2019/3/7 16:13
+ */
+@Getter
+@Setter
+public class GetQuestionUsualAndTypeDTO extends QuestionUsual {
+    /**
+     * 标签类型
+     */
+    private Integer type;
+}

+ 51 - 3
icssman-service/src/main/java/com/diagbot/facade/DeptInfoFacade.java

@@ -5,19 +5,23 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.client.UserServiceClient;
 import com.diagbot.dto.DeptInfoDTO;
 import com.diagbot.dto.GetDeptInfoDTO;
+import com.diagbot.dto.GetQuestionUsualAndTypeDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.DeptInfo;
 import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.enums.QuestionTypeEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.service.impl.DeptInfoServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
+import com.diagbot.util.ListUtil;
 import com.diagbot.util.UserUtils;
 import com.diagbot.vo.AddDeptInfoVO;
 import com.diagbot.vo.DeleteDeptInfoVO;
 import com.diagbot.vo.GetDeptInfoDetialsVO;
 import com.diagbot.vo.GetDeptInfoVO;
+import com.diagbot.vo.GetQuestionUsualAndTypeVO;
 import com.diagbot.vo.UpdateDeptInfoVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -37,7 +41,10 @@ public class DeptInfoFacade extends DeptInfoServiceImpl {
 
     @Autowired
     private UserServiceClient userServiceClient;
-
+    @Autowired
+    private QuestionUsualFacade questionUsualFacade;
+    @Autowired
+    private QuestionFacade questionFacade;
     /**
      * 添加科室信息
      *
@@ -140,8 +147,49 @@ public class DeptInfoFacade extends DeptInfoServiceImpl {
      * @return
      */
     public List<DeptInfoDTO> getAllDeptInfo() {
-        List<DeptInfoDTO> deptInfoList = this.getDeptName();
-        return deptInfoList;
+        //查询所有科室
+        QueryWrapper<DeptInfo> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("is_deleted",IsDeleteEnum.N.getKey());
+        List<DeptInfo> deptInfoList = this.list(queryWrapper);
+        List<DeptInfoDTO> deptInfoDTOList = BeanUtil.listCopyTo(deptInfoList,DeptInfoDTO.class);
+        List<Long> deptIds = new ArrayList<>();
+        deptInfoList.stream().forEach(deptInfoDTO -> deptIds.add(deptInfoDTO.getId()));
+        //在常用标签中查询所有相关标签
+        GetQuestionUsualAndTypeVO getQuestionUsualAndTypeVO = new GetQuestionUsualAndTypeVO();
+        getQuestionUsualAndTypeVO.setDeptIds(deptIds);
+        List<GetQuestionUsualAndTypeDTO> getQuestionUsualAndTypeDTOS = questionUsualFacade.getQuestionUsualByDeptIds(getQuestionUsualAndTypeVO);
+        List<GetQuestionUsualAndTypeDTO> questionUsuals = new ArrayList<>();
+        List<Integer> typeList = new ArrayList<>();
+        List<DeptInfoDTO> deptInfoDTOS = new ArrayList<>();
+        //将标签明细放入科室信息中,并排除类型
+        for (DeptInfoDTO deptInfoDTO : deptInfoDTOList) {
+            typeList = new ArrayList<>();
+            questionUsuals = new ArrayList<>();
+            for (GetQuestionUsualAndTypeDTO getQuestionUsualAndTypeDTO : getQuestionUsualAndTypeDTOS) {
+                    if (deptInfoDTO.getId().intValue() == getQuestionUsualAndTypeDTO.getDeptId().intValue()){
+                        questionUsuals.add(getQuestionUsualAndTypeDTO);
+                    }
+            }
+            deptInfoDTO.setQuestionUsuals(questionUsuals);
+            List<Integer> questionType = new ArrayList<>();
+            deptInfoDTO.getQuestionUsuals().forEach(getQuestionUsualAndTypeDTO -> questionType.add(getQuestionUsualAndTypeDTO.getType()));
+            //对类型进行筛选,已经添加过得类型不再显示
+            if(!questionType.contains(QuestionTypeEnum.Symptom.getKey())){
+                typeList.add(QuestionTypeEnum.Symptom.getKey());
+            }
+            if(!questionType.contains(QuestionTypeEnum.Lis.getKey())){
+                typeList.add(QuestionTypeEnum.Lis.getKey());
+            }
+            if(!questionType.contains(QuestionTypeEnum.Pacs.getKey())){
+                typeList.add(QuestionTypeEnum.Pacs.getKey());
+            }
+            deptInfoDTO.setType(typeList);
+            //对总体类型进行筛选,若该科室已经添加过疾病,化验,复检的常用标签,则该科室不再显示
+            if(ListUtil.isNotEmpty(deptInfoDTO.getType())){
+                deptInfoDTOS.add(deptInfoDTO);
+            }
+        }
+        return deptInfoDTOS;
     }
 
     /**

+ 0 - 17
icssman-service/src/main/java/com/diagbot/facade/QuestionUsualFacade.java

@@ -148,25 +148,8 @@ public class QuestionUsualFacade extends QuestionUsualServiceImpl {
      * @return
      */
     public IPage<GetDeptInfoDTO> getDeptInfos(GetDeptInfoVO getDeptInfoVO) {
-        /*//获取标签修改时间和修改人
-        QueryWrapper<QuestionUsual> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
-        List<QuestionUsual> questionUsualList = this.list(queryWrapper);
-        Map<Long, QuestionUsual> map = new HashMap<>();
-        if (ListUtil.isNotEmpty(questionUsualList)) {
-            for (QuestionUsual questionUsual : questionUsualList) {
-                map.put(questionUsual.getDeptId(), questionUsual);
-            }
-        }*/
         //分页查询科室
         IPage<GetDeptInfoDTO> iPage = deptInfoFacade.getAllDeptInfo(getDeptInfoVO);
-        /*//将科室的修改人替换成常用标签的修改人
-        for (GetDeptInfoDTO getDeptInfoDTO : iPage.getRecords()) {
-            if (map.get(getDeptInfoDTO.getId()) != null) {
-                getDeptInfoDTO.setModifier(map.get(getDeptInfoDTO.getId()).getModifier());
-                getDeptInfoDTO.setGmtModified(map.get(getDeptInfoDTO.getId()).getGmtModified());
-            }
-        }*/
         //获取用户信息
         List<String> ids = new ArrayList<>();
         for (GetDeptInfoDTO getDeptInfoDTO : iPage.getRecords()) {

+ 10 - 0
icssman-service/src/main/java/com/diagbot/mapper/QuestionUsualMapper.java

@@ -1,9 +1,12 @@
 package com.diagbot.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.diagbot.dto.GetQuestionUsualAndTypeDTO;
 import com.diagbot.entity.QuestionUsual;
 import com.diagbot.entity.wrapper.QuestionUsualWapper;
 import com.diagbot.entity.wrapper.QuestionWrapper;
+import com.diagbot.vo.GetQuestionIdsByTypeVO;
+import com.diagbot.vo.GetQuestionUsualAndTypeVO;
 import com.diagbot.vo.QuestionUsualVO;
 import org.apache.ibatis.annotations.Param;
 
@@ -19,10 +22,17 @@ import java.util.List;
  */
 public interface QuestionUsualMapper extends BaseMapper<QuestionUsual> {
     /**
+     *
      * 根据标签id获取常用标签信息
      * @param questionUsualVO
      * @return
      */
     public List<QuestionUsual> getQuestionUsualByQuestionId(@Param("questionUsualVO") QuestionUsualVO questionUsualVO);
 
+    /**
+     * 根据科室id获取常用标签
+     *
+     * @return
+     */
+    public List<GetQuestionUsualAndTypeDTO> getQuestionUsualByDeptIds(GetQuestionUsualAndTypeVO GetQuestionUsualAndTypeVO);
 }

+ 9 - 0
icssman-service/src/main/java/com/diagbot/service/QuestionUsualService.java

@@ -1,7 +1,9 @@
 package com.diagbot.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.dto.GetQuestionUsualAndTypeDTO;
 import com.diagbot.entity.QuestionUsual;
+import com.diagbot.vo.GetQuestionUsualAndTypeVO;
 import com.diagbot.vo.QuestionUsualVO;
 
 import java.util.List;
@@ -24,4 +26,11 @@ public interface QuestionUsualService extends IService<QuestionUsual> {
      */
     public List<QuestionUsual> getQuestionUsualByQuestionId(QuestionUsualVO questionUsualVO);
 
+    /**
+     * 根据科室id获取常用标签
+     *
+     * @return
+     */
+    public List<GetQuestionUsualAndTypeDTO> getQuestionUsualByDeptIds(GetQuestionUsualAndTypeVO getQuestionUsualAndTypeVO);
+
 }

+ 7 - 0
icssman-service/src/main/java/com/diagbot/service/impl/QuestionUsualServiceImpl.java

@@ -1,9 +1,11 @@
 package com.diagbot.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.dto.GetQuestionUsualAndTypeDTO;
 import com.diagbot.entity.QuestionUsual;
 import com.diagbot.mapper.QuestionUsualMapper;
 import com.diagbot.service.QuestionUsualService;
+import com.diagbot.vo.GetQuestionUsualAndTypeVO;
 import com.diagbot.vo.QuestionUsualVO;
 import org.springframework.stereotype.Service;
 
@@ -24,4 +26,9 @@ public class QuestionUsualServiceImpl extends ServiceImpl<QuestionUsualMapper, Q
     public List<QuestionUsual> getQuestionUsualByQuestionId(QuestionUsualVO questionUsualVO) {
         return baseMapper.getQuestionUsualByQuestionId(questionUsualVO);
     }
+
+    @Override
+    public List<GetQuestionUsualAndTypeDTO> getQuestionUsualByDeptIds(GetQuestionUsualAndTypeVO getQuestionUsualAndTypeVO) {
+        return baseMapper.getQuestionUsualByDeptIds(getQuestionUsualAndTypeVO);
+    }
 }

+ 21 - 0
icssman-service/src/main/java/com/diagbot/vo/GetQuestionUsualAndTypeVO.java

@@ -0,0 +1,21 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2019/3/7 16:14
+ */
+@Getter
+@Setter
+public class GetQuestionUsualAndTypeVO {
+
+    /**
+     * 科室id
+     */
+    private List<Long> deptIds;
+}

+ 1 - 1
icssman-service/src/main/resources/mapper/DeptInfoMapper.xml

@@ -43,7 +43,7 @@
 			    icss_question_usual b
 		      WHERE
 		        b.is_deleted = 'N'
-		        AND b.id IN (
+		        AND b.dept_id IN (
 				    SELECT
 					  c.id
 				    FROM

+ 13 - 0
icssman-service/src/main/resources/mapper/QuestionUsualMapper.xml

@@ -23,4 +23,17 @@
         </foreach>
     </select>
 
+    <select id="getQuestionUsualByDeptIds" resultType="com.diagbot.dto.GetQuestionUsualAndTypeDTO">
+        SELECT
+	      a.*,b.type
+        FROM
+	      `icss_question_usual` a
+        LEFT JOIN icss_question_info b ON a.question_id = b.id
+        WHERE
+	      a.is_deleted = 'N'
+        AND a.dept_id IN
+        <foreach item="deptId" collection="deptIds" open="(" separator="," close=")">
+            #{deptId}
+        </foreach>
+    </select>
 </mapper>