Browse Source

Merge remote-tracking branch 'origin/dev/icssNCD' into dev/icssNCD

wangyu 6 years ago
parent
commit
841c00de8f

+ 27 - 0
icssman-service/src/main/java/com/diagbot/dto/IndexRevDTO.java

@@ -0,0 +1,27 @@
+/**
+ * 
+ */
+package com.diagbot.dto;
+
+import java.util.List;
+
+import com.diagbot.entity.QuestionInfo;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description
+ * @author rgb
+ * @time 2018年12月19日下午2:06:21
+ */
+@SuppressWarnings("serial")
+@ApiModel(value="同义词excel文件导入接口出参")
+@Getter
+@Setter
+public class IndexRevDTO extends QuestionInfo{
+	
+	private String typeName;
+
+}

+ 18 - 10
icssman-service/src/main/java/com/diagbot/facade/QuestionFacade.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.client.UserServiceClient;
 import com.diagbot.dto.GetQuestionInfoDTO;
+import com.diagbot.dto.IndexRevDTO;
 import com.diagbot.dto.QuestionDTO;
 import com.diagbot.dto.QuestionPageDTO;
 import com.diagbot.dto.RespDTO;
@@ -594,7 +595,7 @@ public class QuestionFacade extends QuestionInfoServiceImpl {
      * @param questionIndexVO
      * @return
      */
-    public List<QuestionInfo> indexRev(QuestionIndexVO questionIndexVO) {
+    public List<IndexRevDTO> indexRev(QuestionIndexVO questionIndexVO) {
         Map<String, Object> paramMap = new HashMap<>();
         paramMap.put("age", questionIndexVO.getAge());
         paramMap.put("sexType", questionIndexVO.getSexType());
@@ -607,16 +608,23 @@ public class QuestionFacade extends QuestionInfoServiceImpl {
         paramMap.put("notTagType", questionIndexVO.getNotTagType());
         paramMap.put("notControlType", questionIndexVO.getNotControlType());
         List<QuestionInfo> list = this.index(paramMap);
-        if (ListUtil.isEmpty(list)) {
-            return list;
-        }
-        Map<Long, Long> couMap = retrievalMappingFacade.getMapCouByQuesIds(list.stream().map(i -> i.getId()).collect(Collectors.toList()));
-        return list.stream().filter(i -> {
-            if (couMap.get(i.getId()) != null) {
-                return false;
+        if (ListUtil.isNotEmpty(list)) {
+            Map<Long, Long> couMap = retrievalMappingFacade.getMapCouByQuesIds(list.stream().map(i -> i.getId()).collect(Collectors.toList()));
+            list = list.stream().filter(i -> {
+                if (couMap.get(i.getId()) != null) {
+                    return false;
+                }
+                return true;
+            }).collect(Collectors.toList());
+            if (ListUtil.isNotEmpty(list)) {
+                List<IndexRevDTO> indexRevDTOList = BeanUtil.listCopyTo(list, IndexRevDTO.class);
+                indexRevDTOList.forEach(i -> {
+                    i.setTypeName(QuestionTypeEnum.getName(i.getType()));
+                });
+                return indexRevDTOList;
             }
-            return true;
-        }).collect(Collectors.toList());
+        }
+        return null;
     }
 
 

+ 16 - 6
icssman-service/src/main/java/com/diagbot/facade/RetrievalFacade.java

@@ -38,6 +38,7 @@ import com.diagbot.exception.CommonException;
 import com.diagbot.service.RetrievalMappingService;
 import com.diagbot.service.RetrievalService;
 import com.diagbot.service.impl.RetrievalServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.StringUtil;
@@ -268,6 +269,7 @@ public class RetrievalFacade extends RetrievalServiceImpl {
     public RetrievalExcelImDTO retrievalExcelIm(MultipartFile file) {
         List<AddTagRetrievalVO> addTagRetrievalVOList = new ArrayList<>();
         List<AddTagRetrievalDetailVO> detailList = new ArrayList<>();
+        List<AddTagRetrievalDetailVO> detailList_ = new ArrayList<>();
         StringBuffer sbf = new StringBuffer();
         InputStream inputStream = null;
         Workbook wb = null;
@@ -351,7 +353,7 @@ public class RetrievalFacade extends RetrievalServiceImpl {
             List<QuestionInfo> questionInfos = questionFacade.list(questionInfoQe);
             
             
-            Map<String,Long> quesCouMap = questionInfos.stream().collect(Collectors.groupingBy(QuestionInfo::getTagName, Collectors.counting()));
+           /* Map<String,Long> quesCouMap = questionInfos.stream().collect(Collectors.groupingBy(QuestionInfo::getTagName, Collectors.counting()));
             for(String key:quesCouMap.keySet()){
             	if(quesCouMap.get(key)>1){
             		sbf.append(key).append(" ");
@@ -360,9 +362,9 @@ public class RetrievalFacade extends RetrievalServiceImpl {
             if(sbf.length()>0){
             	sbf.append("数据不规范");
             	throw new CommonException(CommonErrorCode.RPC_ERROR,sbf.toString());
-            }
+            }*/
             
-            Map<String, Long> questionIdMap = questionInfos.stream().collect(Collectors.toMap(QuestionInfo::getTagName, i -> i.getId()));
+            Map<String, List<QuestionInfo>> questionInfoListMap = questionInfos.stream().collect(Collectors.groupingBy(QuestionInfo::getTagName));
             if(questionNames.size()==questionInfos.size()){
             	List<QuestionInfo> questionInfos_ = questionInfos.stream().filter(p->p.getTagType()==TagTypeEnum.T8.getKey()||p.getTagType()==TagTypeEnum.T10.getKey()||p.getTagType()==TagTypeEnum.T11.getKey()).collect(Collectors.toList());
             	if(questionInfos_.size()>0){
@@ -382,9 +384,17 @@ public class RetrievalFacade extends RetrievalServiceImpl {
             	
             	
             	detailList.forEach(i -> {
-                	i.setQuestionId(questionIdMap.get(i.getQuestionName()));
+            		questionInfoListMap.get(i.getQuestionName()).forEach(j->{
+            			AddTagRetrievalDetailVO addTagRetrievalDetailVO = new AddTagRetrievalDetailVO();
+            			BeanUtil.copyProperties(i, addTagRetrievalDetailVO);
+            			addTagRetrievalDetailVO.setQuestionId(j.getId());
+            			detailList_.add(addTagRetrievalDetailVO);
+            		});
                 });
-            	Map<Long, List<AddTagRetrievalDetailVO>> detailMap = detailList.stream().collect(Collectors.groupingBy(AddTagRetrievalDetailVO::getQuestionId));
+            	
+            	
+            	
+            	Map<Long, List<AddTagRetrievalDetailVO>> detailMap = detailList_.stream().collect(Collectors.groupingBy(AddTagRetrievalDetailVO::getQuestionId));
                 for (Long key : detailMap.keySet()) {
                     AddTagRetrievalVO addTagRetrievalVO = new AddTagRetrievalVO();
                     addTagRetrievalVO.setQuestionId(key);
@@ -393,7 +403,7 @@ public class RetrievalFacade extends RetrievalServiceImpl {
                     addTagRetrievalVOList.add(addTagRetrievalVO);
                 }
             }else{
-            	List<String> questionNames_ = questionNames.stream().filter(t->questionIdMap.get(t)==null).collect(Collectors.toList());
+            	List<String> questionNames_ = questionNames.stream().filter(t->questionInfoListMap.get(t)==null).collect(Collectors.toList());
             	sbf.append("标签数据不存在(");
             	int index = 0;
             	

+ 14 - 11
icssman-service/src/main/java/com/diagbot/web/QuestionInfoController.java

@@ -1,8 +1,19 @@
 package com.diagbot.web;
 
 
+import java.util.List;
+import java.util.Map;
+
+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;
+
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.IndexRevDTO;
 import com.diagbot.dto.QuestionDTO;
 import com.diagbot.dto.QuestionPageDTO;
 import com.diagbot.dto.RespDTO;
@@ -15,17 +26,9 @@ import com.diagbot.vo.QuestionPageVO;
 import com.diagbot.vo.QuestionSaveVO;
 import com.diagbot.vo.QuestionSpecVO;
 import com.diagbot.vo.QuestionVO;
+
 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;
-
-import java.util.List;
-import java.util.Map;
 
 /**
  * <p>
@@ -78,8 +81,8 @@ public class QuestionInfoController {
             notes = "")
     @PostMapping("/indexRev")
     @SysLogger("indexRev")
-    public RespDTO<List<QuestionInfo>> indexRev(@RequestBody QuestionIndexVO questionIndexVO) {
-        List<QuestionInfo> data = questionFacade.indexRev(questionIndexVO);
+    public RespDTO<List<IndexRevDTO>> indexRev(@RequestBody QuestionIndexVO questionIndexVO) {
+        List<IndexRevDTO> data = questionFacade.indexRev(questionIndexVO);
         return RespDTO.onSuc(data);
     }