Procházet zdrojové kódy

Merge branch 'dev/icss' into debug

gaodm před 6 roky
rodič
revize
87d5dc843a

+ 11 - 0
icss-service/src/main/java/com/diagbot/dto/HisInquiryDTO.java

@@ -1,5 +1,9 @@
 package com.diagbot.dto;
 
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
@@ -58,4 +62,11 @@ public class HisInquiryDTO{
     private String dataJson;
 	
 	
+	/**
+	 * 病历时间
+	 */
+	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+	@ApiModelProperty(value="病历时间")
+	private Date gmtCreate;
+	
 }

+ 15 - 1
icss-service/src/main/java/com/diagbot/facade/InquiryInfoFacade.java

@@ -6,6 +6,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import com.diagbot.util.BeanUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -131,7 +132,20 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
 	 * @return
 	 */
 	public List<HisInquiryDTO> hisInquirys(HisInquirysVO hisInquirysVO){
-		return null;
+		QueryWrapper<InquiryInfo> queryWrapper = new QueryWrapper<InquiryInfo>();
+		queryWrapper.eq("hospital_id", hisInquirysVO.getHospitalId());
+		queryWrapper.eq("hospital_dept_id", hisInquirysVO.getHospitalDeptId());
+		queryWrapper.eq("doctor_id", hisInquirysVO.getDoctorId());
+		queryWrapper.eq("patient_id", hisInquirysVO.getPatientId());
+		queryWrapper.eq("type", hisInquirysVO.getType());
+		queryWrapper.eq("sign", hisInquirysVO.getSign());
+		queryWrapper.between("gmt_create", hisInquirysVO.getStartDate(), hisInquirysVO.getEndDate());
+		queryWrapper.orderByDesc("gmt_create");
+		List<InquiryInfo> inquiryInfoList = this.list(queryWrapper);
+
+		List<HisInquiryDTO> hisInquiryDTOList = BeanUtil.listCopyTo(inquiryInfoList, HisInquiryDTO.class);
+		
+		return hisInquiryDTOList;
 	}
 
 }

+ 20 - 4
icss-service/src/main/java/com/diagbot/facade/ModuleFacade.java

@@ -8,13 +8,19 @@ import com.diagbot.entity.ModuleInfo;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.service.impl.ModuleInfoServiceImpl;
 import com.diagbot.util.BeanUtil;
+import com.diagbot.util.EntityUtil;
+import com.diagbot.util.ListUtil;
 import com.diagbot.vo.ModuleVO;
 import com.diagbot.vo.QuestionVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @Description: 模型业务层
@@ -41,13 +47,23 @@ public class ModuleFacade extends ModuleInfoServiceImpl {
         queryWrapper.orderByAsc("id");
         List<ModuleInfo> list = this.list(queryWrapper);
         data = BeanUtil.listCopyTo(list, ModuleInfoDTO.class);
-        for (ModuleInfoDTO bean : data) {
+        List<Long> ids = data.stream()
+                .map(artist -> artist.getId())
+                .collect(Collectors.toList());
+        Map<Long, List<ModuleDetail>> moduleDetailMap = new LinkedHashMap<>();
+        if (ListUtil.isNotEmpty(ids)){
             QueryWrapper wrapper = new QueryWrapper();
             wrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
-            wrapper.eq("module_id", bean.getId());
-            wrapper.orderByAsc("order_no");
+            wrapper.in("module_id", ids);
+            wrapper.orderByAsc("module_id", "order_no");
             List<ModuleDetail> moduleDetailList = moduleDetailFacade.list(wrapper);
-            List<ModuleDetailDTO> moduleDetailDTOList = BeanUtil.listCopyTo(moduleDetailList, ModuleDetailDTO.class);
+            if (ListUtil.isNotEmpty(moduleDetailList)){
+                moduleDetailMap = EntityUtil.makeEntityListMap(moduleDetailList, "moduleId");
+            }
+
+        }
+        for (ModuleInfoDTO bean : data) {
+            List<ModuleDetailDTO> moduleDetailDTOList = BeanUtil.listCopyTo(moduleDetailMap.get(bean.getId()), ModuleDetailDTO.class);
             bean.setModuleDetailDTOList(moduleDetailDTOList);
             for (ModuleDetailDTO detailDTO : moduleDetailDTOList) {
                 if (null != detailDTO.getQuestionId()) {

+ 27 - 0
icss-service/src/main/java/com/diagbot/facade/QuestionDetailFacade.java

@@ -4,10 +4,15 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.entity.QuestionDetail;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.service.impl.QuestionDetailServiceImpl;
+import com.diagbot.util.EntityUtil;
+import com.diagbot.util.ListUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @Description: 标签业务层
@@ -36,4 +41,26 @@ public class QuestionDetailFacade extends QuestionDetailServiceImpl {
         questionDetailList = this.list(queryWrapper);
         return questionDetailList;
     }
+
+    /**
+     * 根据id获取标签明细
+     *
+     * @param questionIds 标签ids
+     * @return 标签内容
+     */
+    public Map<Long, List<QuestionDetail>> getByQuestionIds(List<Long> questionIds) {
+        Map<Long, List<QuestionDetail>> map = new LinkedHashMap<>();
+        if(ListUtil.isEmpty(questionIds)) {
+            return map;
+        }
+        QueryWrapper queryWrapper = new QueryWrapper();
+        queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
+        queryWrapper.in("question_id", questionIds);
+        queryWrapper.orderByAsc("question_id", "order_no");
+        List<QuestionDetail>  questionDetailList = this.list(queryWrapper);
+        if (ListUtil.isNotEmpty(questionDetailList)){
+            map = EntityUtil.makeEntityListMap(questionDetailList, "questionId");
+        }
+        return map;
+    }
 }

+ 18 - 3
icss-service/src/main/java/com/diagbot/facade/QuestionFacade.java

@@ -13,9 +13,11 @@ import com.diagbot.vo.QuestionVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @Description: 标签业务层
@@ -59,9 +61,15 @@ public class QuestionFacade extends QuestionInfoServiceImpl {
             Map paramMap1 = new HashMap<>();
             paramMap1.put("sexType", questionVO.getSexType());
             paramMap1.put("age", questionVO.getAge());
-
+            List<Long> sonQuestionIds  = sonQuestionList.stream()
+                    .map(artist -> artist.getId())
+                    .collect(Collectors.toList());
+            Map<Long, List<QuestionDetail>> sonQuestionMap = questionDetailFacade.getByQuestionIds(sonQuestionIds);
             for(QuestionDTO bean : sonQuestionList) {
-                List<QuestionDetail> questionDetailList1 = questionDetailFacade.getByQuestionId(bean.getId());
+                List<QuestionDetail> questionDetailList1 = sonQuestionMap.get(bean.getId());
+                if (ListUtil.isEmpty(questionDetailList1)){
+                    questionDetailList1 = new ArrayList<>();
+                }
                 bean.setQuestionDetailList(questionDetailList1);
                 paramMap1.put("id", bean.getId());
                 //获取第二级子标签
@@ -69,9 +77,16 @@ public class QuestionFacade extends QuestionInfoServiceImpl {
                 List<QuestionDTO> sonQuestionList1 = BeanUtil.listCopyTo(questionMapping1, QuestionDTO.class);
                 bean.setQuestionMapping(sonQuestionList1);
 
+                List<Long> sonQuestionIds1  = sonQuestionList1.stream()
+                        .map(artist -> artist.getId())
+                        .collect(Collectors.toList());
+                Map<Long, List<QuestionDetail>> sonQuestionMap1 = questionDetailFacade.getByQuestionIds(sonQuestionIds1);
                 for(QuestionDTO questionDTO : sonQuestionList1) {
                     //获取二级子明细项
-                    List<QuestionDetail> questionDetailList2 = questionDetailFacade.getByQuestionId(questionDTO.getId());
+                    List<QuestionDetail> questionDetailList2 = sonQuestionMap1.get(questionDTO.getId());
+                    if (ListUtil.isEmpty(questionDetailList2)){
+                        questionDetailList2 = new ArrayList<>();
+                    }
                     questionDTO.setQuestionDetailList(questionDetailList2);
                 }
 

+ 57 - 0
icss-service/src/main/java/com/diagbot/vo/HisInquirysVO.java

@@ -1,6 +1,13 @@
 package com.diagbot.vo;
 
+import java.util.Date;
+
+import javax.validation.constraints.NotNull;
+
+import org.springframework.format.annotation.DateTimeFormat;
+
 import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -14,5 +21,55 @@ import lombok.Setter;
 @Setter
 public class HisInquirysVO {
 	
+	/**
+     * 医院id
+     */
+	@ApiModelProperty(value="医院id",required=true)
+	@NotNull(message="医院id必传")
+    private Long hospitalId;
+
+    /**
+     * 科室id
+     */
+	@ApiModelProperty(value="科室id")
+    private Long hospitalDeptId;
+
+    /**
+     * 医生id
+     */
+	@ApiModelProperty(value="医生id")
+    private Long doctorId;
+
+    /**
+     * 患者id
+     */
+	@ApiModelProperty(value="患者id")
+    private Long patientId;
+    
+    /**
+     * 病历分类(1:门诊,2:住院)
+     */
+	@ApiModelProperty(value="病历分类(1:门诊,2:住院)")
+    private Integer type=1;
+    
+    /**
+     * 内容输入类型:1:结构化 2:文本模式
+     */
+	@ApiModelProperty(value="内容输入类型:1:结构化 2:文本模式")
+    private Integer sign=1;
+    
+	/**
+	 * 开始时间
+	 */
+	@ApiModelProperty(value="开始时间,格式为:2018-11-28 17:25:30")
+	@DateTimeFormat(pattern="yyyy-MM-dd hh:mm:ss")
+	private Date startDate;
+	
+	/**
+	 * 结束时间
+	 */
+	@ApiModelProperty(value="结束时间,格式为:2018-11-28 17:25:30")
+	@DateTimeFormat(pattern="yyyy-MM-dd hh:mm:ss")
+	private Date endDate;
 	   
 }

+ 17 - 1
icssman-service/src/main/java/com/diagbot/facade/IntroduceInfoFacade.java

@@ -76,7 +76,7 @@ public class IntroduceInfoFacade extends IntroduceInfoServiceImpl {
             introduceDetailList.add(detail);
         }
         //插入新的明细记录
-        introduceDetailServiceImpl.saveOrUpdateBatch(introduceDetailList);
+        introduceDetailServiceImpl.saveBatch(introduceDetailList);
         return true;
     }
 
@@ -91,6 +91,7 @@ public class IntroduceInfoFacade extends IntroduceInfoServiceImpl {
         QueryWrapper<IntroduceDetail> introduceDetailQueryWrapper = new QueryWrapper<>();
         introduceDetailQueryWrapper.eq("introduce_id", id);
         introduceDetailFacade.remove(introduceDetailQueryWrapper);
+        //删除提示信息
         this.removeById(id);
         return true;
     }
@@ -106,6 +107,7 @@ public class IntroduceInfoFacade extends IntroduceInfoServiceImpl {
         QueryWrapper<IntroduceDetail> introduceDetailQueryWrapper = new QueryWrapper<>();
         introduceDetailQueryWrapper.in("introduce_id", ids);
         introduceDetailFacade.remove(introduceDetailQueryWrapper);
+        //删除提示信息
         this.removeByIds(Arrays.asList(ids));
         return true;
     }
@@ -124,4 +126,18 @@ public class IntroduceInfoFacade extends IntroduceInfoServiceImpl {
         IPage<IntroduceInfo> introduceInfoIPage = this.page(introducePageVO, introduceInfoQueryWrapper);
         return introduceInfoIPage;
     }
+
+    /**
+     * 带条件查询
+     *
+     * @param map
+     * @return
+     */
+    public List<IntroduceInfo> getByMap(Map<String, Object> map) {
+        QueryWrapper<IntroduceInfo> introduceInfoQueryWrapper = new QueryWrapper<>();
+        for (Map.Entry<String, Object> entry : map.entrySet()) {
+            introduceInfoQueryWrapper.eq(entry.getKey(), entry.getValue());
+        }
+        return this.list(introduceInfoQueryWrapper);
+    }
 }

+ 5 - 8
icssman-service/src/main/java/com/diagbot/facade/IntroduceMapFacade.java

@@ -32,7 +32,7 @@ public class IntroduceMapFacade extends IntroduceMapServiceImpl {
      * @param introduceMapVO
      * @return
      */
-    public Boolean saveRecord(IntroduceMapVO introduceMapVO) {
+    public Boolean saveIntroduceMap(IntroduceMapVO introduceMapVO) {
         IntroduceInfo introduceInfo = introduceInfoFacade.getById(introduceMapVO.getIntroduceId());
         if (introduceInfo == null) {
             throw new CommonException(CommonErrorCode.NOT_EXISTS, "提示信息未添加");
@@ -45,16 +45,13 @@ public class IntroduceMapFacade extends IntroduceMapServiceImpl {
                 eq("type", introduceMapVO.getType()).
                 eq("introduce_id", introduceMapVO.getIntroduceId());
         IntroduceMap introduceMap = this.getOne(introduceMapQueryWrapper);
-        UpdateWrapper<IntroduceMap> introduceMapUpdateWrapper = new UpdateWrapper<>();
         if (introduceMap == null) {
-            //删除该标签关联的提示信息,插入新的提示信息
+            //删除该标签关联的别的提示信息,插入新的提示信息
+            UpdateWrapper<IntroduceMap> introduceMapUpdateWrapper = new UpdateWrapper<>();
             introduceMapUpdateWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
                     eq("question_id", introduceMapVO.getQuestionId()).
-                    eq("type", introduceMapVO.getType()).
-                    set("is_deleted", IsDeleteEnum.Y.getKey()).
-                    set("gmt_modified", new Date()).
-                    set("modifier", UserUtils.getCurrentPrincipleID());
-            this.update(new IntroduceMap(), introduceMapUpdateWrapper);
+                    eq("type", introduceMapVO.getType());
+            this.remove(introduceMapUpdateWrapper);
 
             //插入新的关系
             introduceMap = new IntroduceMap();

+ 0 - 3
icssman-service/src/main/java/com/diagbot/web/DeptVitalController.java

@@ -3,7 +3,6 @@ package com.diagbot.web;
 
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.RespDTO;
-import com.diagbot.entity.DeptVital;
 import com.diagbot.facade.DeptVitalFacade;
 import com.diagbot.vo.DeptVitalVO;
 import io.swagger.annotations.Api;
@@ -14,8 +13,6 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.List;
-
 /**
  * <p>
  * 科室查体对应表 前端控制器

+ 2 - 2
icssman-service/src/main/java/com/diagbot/web/IntroduceDetailController.java

@@ -34,8 +34,8 @@ public class IntroduceDetailController {
             notes = "introduceId: 提示信息id,必填")
     @PostMapping("/getByIntroduceId")
     @SysLogger("getByIntroduceId")
-    public RespDTO<Boolean> getByIntroduceId(@RequestParam Long introduceId) {
+    public RespDTO<List<IntroduceDetail>> getByIntroduceId(@RequestParam Long introduceId) {
         List<IntroduceDetail> data = introduceDetailFacade.getByIntroduceId(introduceId);
         return RespDTO.onSuc(data);
     }
-}
+}

+ 17 - 0
icssman-service/src/main/java/com/diagbot/web/IntroduceInfoController.java

@@ -18,6 +18,8 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -86,4 +88,19 @@ public class IntroduceInfoController {
         IPage<IntroduceInfo> infoIPage = introduceInfoFacade.getPageByMap(introducePageVO);
         return RespDTO.onSuc(infoIPage);
     }
+
+    /**
+     * 带条件查询
+     *
+     * @param map
+     * @return
+     */
+    @ApiOperation(value = "带条件查询提示信息[by:zhaops]",
+            notes = "map:查询条件(=),key为数据库字段名<br>")
+    @PostMapping("/getByMap")
+    @SysLogger("getByMap")
+    public RespDTO<IntroduceInfo> getByMap(@RequestBody Map<String, Object> map) {
+        List<IntroduceInfo> data = introduceInfoFacade.getByMap(map);
+        return RespDTO.onSuc(data);
+    }
 }

+ 4 - 4
icssman-service/src/main/java/com/diagbot/web/IntroduceMapController.java

@@ -33,10 +33,10 @@ public class IntroduceMapController {
             notes = "questionId: 标签id,必填" +
                     "introduceId: 提示信息id,必填" +
                     "type: 标签类型,必填")
-    @PostMapping("/saveRecord")
-    @SysLogger("saveRecord")
-    public RespDTO<Boolean> saveRecord(@RequestBody IntroduceMapVO introduceMapVO) {
-        Boolean data = introduceMapFacade.saveRecord(introduceMapVO);
+    @PostMapping("/saveIntroduceMap")
+    @SysLogger("saveIntroduceMap")
+    public RespDTO<Boolean> saveIntroduceMap(@RequestBody IntroduceMapVO introduceMapVO) {
+        Boolean data = introduceMapFacade.saveIntroduceMap(introduceMapVO);
         return RespDTO.onSuc(data);
     }
 

+ 0 - 1
icssman-service/src/main/java/com/diagbot/web/VitalOrderController.java

@@ -5,7 +5,6 @@ import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.VitalOrder;
 import com.diagbot.facade.VitalOrderFacade;
-import com.diagbot.vo.DeptVitalVO;
 import com.diagbot.vo.VitalOrderVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;