Browse Source

指标数据获取

wangfeng 6 years ago
parent
commit
c5c27cf2c5

+ 16 - 89
icss-service/src/main/java/com/diagbot/facade/IndexDataFacade.java

@@ -1,9 +1,15 @@
 package com.diagbot.facade;
 
+import java.util.List;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import com.diagbot.client.AiptServiceClient;
 import com.diagbot.dto.IndexConfigAndDataDTO;
+import com.diagbot.dto.IndexDataDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.util.RespDTOUtil;
 import com.diagbot.vo.IndexDataFindVO;
 import com.diagbot.vo.IndexDataSaveVO;
 
@@ -17,52 +23,18 @@ public class IndexDataFacade {
 
     @Autowired
     private IndexConfigFacade indexConfigFacade;
-
+    @Autowired
+    AiptServiceClient aiptServiceClient;
     /**
      * 根据疾病id和用户id,开始时间和结束时间 查询用户指标数据
      *
      * @param indexDataFindVO
      * @return
      */
-    public IndexConfigAndDataDTO getIndexDataAll(IndexDataFindVO indexDataFindVO) {
-
-      /*  Map<String, Object> indexDataMap = new HashMap<>();
-        indexDataMap.put("diseaseId", indexDataFindVO.getDiseaseId());
-        indexDataMap.put("patientId", indexDataFindVO.getPatientId());
-        indexDataMap.put("startTime", indexDataFindVO.getStartTime());
-        indexDataMap.put("endTime", indexDataFindVO.getEndTime());
-        //获取慢病指标数据
-        List<IndexDataDTO> data = this.getIndexDataAll(indexDataMap);
-        List<ItemIndexDTO> list = new ArrayList<ItemIndexDTO>();
-        // 根据公表名分组
-        Map<String, List<IndexDataDTO>> dataMap = data.stream()
-                .collect(Collectors.groupingBy(IndexDataDTO::getIndexUnique));
-
-        for (String key : dataMap.keySet()) {
-            ItemIndexDTO itemIndexDTO = new ItemIndexDTO();
-            itemIndexDTO.setItemName(key);
-            List<String> indexUnits = new ArrayList<String>();
-            List<String> indexValues = new ArrayList<String>();
-            List<Integer> isAbnormals = new ArrayList<Integer>();
-            List<Date> creatTimes = new ArrayList<Date>();
-            List<IndexDataDTO> indexDatas = dataMap.get(key);
-            for (IndexDataDTO indexDataDTO : indexDatas) {
-                indexUnits.add(indexDataDTO.getIndexUnit());
-                indexValues.add(indexDataDTO.getIndexValue());
-                isAbnormals.add(indexDataDTO.getIsAbnormal());
-                creatTimes.add(indexDataDTO.getCreatTime());
-            }
-            itemIndexDTO.setIndexUnit(indexUnits);
-            itemIndexDTO.setIndexValue(indexValues);
-            itemIndexDTO.setIsAbnormal(isAbnormals);
-            itemIndexDTO.setCreatTime(creatTimes);
-            list.add(itemIndexDTO);
-
-        }
-        IndexConfigAndDataDTO indexsData = new IndexConfigAndDataDTO();
-        indexsData.setIndexConfigData(indexConfigFacade.getindexConfig(indexDataFindVO.getDiseaseId()));
-        indexsData.setItemIndexData(list);*/
-        return null;
+    public RespDTO<IndexConfigAndDataDTO> getIndexDataAll(IndexDataFindVO indexDataFindVO) {
+    	RespDTO<IndexConfigAndDataDTO> dataList = aiptServiceClient.getIndexDatas(indexDataFindVO);
+    	RespDTOUtil.respNGDeal(dataList, dataList.msg);
+        return dataList;
     }
 
     /**
@@ -71,54 +43,9 @@ public class IndexDataFacade {
      * @param indexDataSaveVO
      * @return
      */
-    public boolean saveIndexDatas(IndexDataSaveVO indexDataSaveVO) {
-      /*  boolean res = false;
-        if (null != indexDataSaveVO && ListUtil.isNotEmpty(indexDataSaveVO.getIndexData())) {
-        	IndexConfigdiseaseNameVO IndexConfigdiseaseNameVO = new IndexConfigdiseaseNameVO();
-            //获取所有需要记录的指标项
-           List<IndexConfigDTO> data = indexConfigFacade.getindexConfig(IndexConfigdiseaseNameVO);
-            List<String> indexUniquelist
-                    = data.stream().map(i -> i.getIndexUnique()).collect(Collectors.toList());
-
-            // 先查询该用户相同就诊号所保留的数据,将其删除
-            UpdateWrapper<IndexData> IndexDataUpdate = new UpdateWrapper<>();
-            Map<String, Object> mapAll = new HashMap<>();
-            mapAll.put("inquiry_code", indexDataSaveVO.getInquiryCode());
-            mapAll.put("patient_id", indexDataSaveVO.getPatientId());
-            IndexDataUpdate.allEq(mapAll).eq("is_deleted", IsDeleteEnum.N.getKey())
-                    .set("is_deleted", IsDeleteEnum.Y.getKey())
-                    // .set("modifier",UserUtils.getCurrentPrincipleID())
-                    .set("gmt_modified", DateUtil.now());
-            res = update(new IndexData(), IndexDataUpdate);
-
-            // 遍历数据进行保存
-            List<IndexData> IndexDataList = new ArrayList<IndexData>();
-            List<IndexDataVO> indexDatas = indexDataSaveVO.getIndexData();
-            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-            for (IndexDataVO indexDataNew : indexDatas) {
-                if (indexUniquelist.contains(indexDataNew.getIndexUnique())) {
-                    IndexData indexData = new IndexData();
-                    indexData.setCreator(indexDataSaveVO.getDoctorId().toString());
-                    indexData.setGmtCreate(DateUtil.now());
-                    indexData.setIndexUnique(indexDataNew.getIndexUnique());
-                    try {
-                        indexData.setCreatTime(sdf.parse(indexDataNew.getCreatTime()));
-                    } catch (ParseException e) {
-                        throw new CommonException(CommonErrorCode.NOT_EXISTS, "时间格式有误");
-                    }
-                    indexData.setIndexUnit(indexDataNew.getIndexUnit());
-                    indexData.setIndexValue(indexDataNew.getIndexValue());
-                    indexData.setInquiryCode(indexDataSaveVO.getInquiryCode());
-                    indexData.setIsAbnormal(indexDataNew.getIsAbnormal());
-                    indexData.setPatientId(indexDataSaveVO.getPatientId());
-                    IndexDataList.add(indexData);
-                }
-            }
-            if (ListUtil.isNotEmpty(IndexDataList)) {
-                res = insertIndexDataList(IndexDataList);
-            }
-
-        }*/
-        return false;
+    public RespDTO<Boolean> saveIndexDatas(IndexDataSaveVO indexDataSaveVO) {
+    	RespDTO<Boolean> data = aiptServiceClient.saveIndexDatas(indexDataSaveVO);
+    	RespDTOUtil.respNGDeal(data, data.msg);
+        return data;
     }
     }

+ 2 - 2
icss-service/src/main/java/com/diagbot/vo/IndexDataFindVO.java

@@ -19,8 +19,8 @@ public class IndexDataFindVO {
 	/**
 	 * 疾病ID
 	 */
-	@NotNull(message = "请输入疾病id")
-	private Long diseaseId;
+	@NotNull(message = "请输入疾病")
+	private String diseaseName;
 	/**
 	 * 患者id
 	 */

+ 6 - 4
icss-service/src/main/java/com/diagbot/web/IndexDataController.java

@@ -1,5 +1,7 @@
 package com.diagbot.web;
 
+import java.util.List;
+
 import javax.validation.Valid;
 
 import org.springframework.beans.factory.annotation.Autowired;
@@ -42,8 +44,8 @@ public class IndexDataController {
     @PostMapping("/getIndexDatas")
     @SysLogger("getIndexDatas")
     public RespDTO<IndexConfigAndDataDTO> getIndexDatas(@Valid @RequestBody IndexDataFindVO indexDataFindVO) {
-    	IndexConfigAndDataDTO data = indexDataFacade.getIndexDataAll(indexDataFindVO);
-        return RespDTO.onSuc(data);
+    	return indexDataFacade.getIndexDataAll(indexDataFindVO);
+        
     }
 
     @ApiOperation(value = "知识库标准化-保存指标数据[by:wangfeng]", notes = "patientId : 患者id 必填<br> inquiryCode :就诊号  必填<br> doctorId:医生id必填<br> IndexData:{指标公表名 :indexUnique;指标值indexValue;指标单位 indexUnit;是否异常 isAbnormal;化验时间creatTime;}")
@@ -51,8 +53,8 @@ public class IndexDataController {
     @SysLogger("saveIndexDatas")
     @Transactional
     public RespDTO<Boolean> saveIndexDatas(@Valid @RequestBody IndexDataSaveVO indexDataSaveVO) {
-        boolean res = indexDataFacade.saveIndexDatas(indexDataSaveVO);
-        return RespDTO.onSuc(res);
+    	return indexDataFacade.saveIndexDatas(indexDataSaveVO);
+        
     }
 
 }