|  | @ -1,6 +1,8 @@
 | 
	
		
			
				|  |  | package com.yihu.wlyy.service.app.record;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.yihu.wlyy.entity.dict.SystemDict;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.service.BaseService;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.service.system.SystemDictService;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.util.HttpClientUtil;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.util.SystemConf;
 | 
	
		
			
				|  |  | import org.apache.commons.lang3.StringUtils;
 | 
	
	
		
			
				|  | @ -8,6 +10,7 @@ import org.apache.http.NameValuePair;
 | 
	
		
			
				|  |  | import org.apache.http.message.BasicNameValuePair;
 | 
	
		
			
				|  |  | import org.json.JSONArray;
 | 
	
		
			
				|  |  | import org.json.JSONObject;
 | 
	
		
			
				|  |  | import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import java.util.ArrayList;
 | 
	
	
		
			
				|  | @ -21,6 +24,8 @@ import java.util.Map;
 | 
	
		
			
				|  |  | @Service
 | 
	
		
			
				|  |  | public class RegDeptSpeDoctorService extends BaseService {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     SystemDictService systemDictService;
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 获取转诊预约医生号源信息
 | 
	
		
			
				|  |  |      */
 | 
	
	
		
			
				|  | @ -37,20 +42,53 @@ public class RegDeptSpeDoctorService extends BaseService {
 | 
	
		
			
				|  |  |         params.add(new BasicNameValuePair("DocCode", DocCode));
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String response = HttpClientUtil.post(url, params, "UTF-8");
 | 
	
		
			
				|  |  |         JSONArray result = new JSONArray();
 | 
	
		
			
				|  |  |         JSONArray resultArray = new JSONArray();
 | 
	
		
			
				|  |  |         List<SystemDict> systemDictList = systemDictService.getDictByDictName("EHR_CATALOG");
 | 
	
		
			
				|  |  |         Map<String, String> systemDictMap = new HashMap<>();
 | 
	
		
			
				|  |  |         for (SystemDict systemDict : systemDictList) {
 | 
	
		
			
				|  |  |             systemDictMap.put(systemDict.getCode(), systemDict.getValue());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (!StringUtils.isEmpty(response)){
 | 
	
		
			
				|  |  |             JSONObject jsonObject = new JSONObject(response);
 | 
	
		
			
				|  |  |             int status = jsonObject.getInt("status");
 | 
	
		
			
				|  |  |             JSONObject responseObject = new JSONObject(response);
 | 
	
		
			
				|  |  |             int status = responseObject.getInt("status");
 | 
	
		
			
				|  |  |             if (status == 200){
 | 
	
		
			
				|  |  |                 String data = jsonObject.getString("data");
 | 
	
		
			
				|  |  |                 String data = responseObject.getString("data");
 | 
	
		
			
				|  |  |                 if (!StringUtils.isEmpty(data)){
 | 
	
		
			
				|  |  |                     if (data.startsWith("error")) {
 | 
	
		
			
				|  |  |                         return data;
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                     JSONObject jsonData = new JSONObject(data);
 | 
	
		
			
				|  |  |                     result = jsonData.getJSONArray("EhrList");
 | 
	
		
			
				|  |  |                     JSONArray jsonArray = jsonData.getJSONArray("EhrList");
 | 
	
		
			
				|  |  |                     if (!jsonArray.isNull(0) && jsonArray.getJSONObject(0).length() != 0) {
 | 
	
		
			
				|  |  |                         Map<String, JSONObject> jsonObjectMap = new HashMap<>();
 | 
	
		
			
				|  |  |                         for (int i=0; i<jsonArray.length(); i++) {
 | 
	
		
			
				|  |  |                             JSONObject jsonObject = jsonArray.getJSONObject(i);
 | 
	
		
			
				|  |  |                             String patientId = jsonObject.getString("XMAN_ID");
 | 
	
		
			
				|  |  |                             String eventNo = jsonObject.getString("EVENT");
 | 
	
		
			
				|  |  |                             Integer orgId = jsonObject.getInt("ORG_ID");
 | 
	
		
			
				|  |  |                             String key = patientId + eventNo + orgId;
 | 
	
		
			
				|  |  |                             JSONObject catalogObject = new JSONObject();
 | 
	
		
			
				|  |  |                             String catalogCode = jsonObject.get("CATALOG_CODE").toString();
 | 
	
		
			
				|  |  |                             String catalogValue = systemDictMap.get(catalogCode);
 | 
	
		
			
				|  |  |                             jsonObject.remove("CATALOG_CODE");
 | 
	
		
			
				|  |  |                             if (jsonObjectMap.containsKey(key)) {
 | 
	
		
			
				|  |  |                                 jsonObject = jsonObjectMap.get(key);
 | 
	
		
			
				|  |  |                                 catalogObject = jsonObject.getJSONObject("CATALOG");
 | 
	
		
			
				|  |  |                             }
 | 
	
		
			
				|  |  |                             catalogObject.put(catalogCode, catalogValue);
 | 
	
		
			
				|  |  |                             jsonObject.put("CATALOG", catalogObject);
 | 
	
		
			
				|  |  |                             jsonObjectMap.put(key, jsonObject);
 | 
	
		
			
				|  |  |                         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                         for (String key : jsonObjectMap.keySet()) {
 | 
	
		
			
				|  |  |                             resultArray.put(jsonObjectMap.get(key));
 | 
	
		
			
				|  |  |                         }
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return result.toString();
 | 
	
		
			
				|  |  |         return resultArray.toString();
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | }
 |