|  | @ -1,8 +1,11 @@
 | 
	
		
			
				|  |  | package com.yihu.wlyy.service.service;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.alibaba.fastjson.JSON;
 | 
	
		
			
				|  |  | import com.alibaba.fastjson.serializer.SerializerFeature;
 | 
	
		
			
				|  |  | import com.fasterxml.jackson.databind.ObjectMapper;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.service.common.http.HttpApiException;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.service.common.util.StringUtil;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.service.entity.DoctorMapping;
 | 
	
		
			
				|  |  | import com.zoe.phip.ssp.sdk.ApiException;
 | 
	
		
			
				|  |  | import net.sf.json.JSONObject;
 | 
	
		
			
				|  |  | import org.springframework.beans.factory.annotation.Autowired;
 | 
	
	
		
			
				|  | @ -10,7 +13,9 @@ import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import java.io.PrintWriter;
 | 
	
		
			
				|  |  | import java.io.StringWriter;
 | 
	
		
			
				|  |  | import java.util.*;
 | 
	
		
			
				|  |  | import java.util.HashMap;
 | 
	
		
			
				|  |  | import java.util.List;
 | 
	
		
			
				|  |  | import java.util.Map;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | /**
 | 
	
		
			
				|  |  |  * Created by hzp on 2016/9/9.
 | 
	
	
		
			
				|  | @ -172,6 +177,66 @@ public class ZysoftService {
 | 
	
		
			
				|  |  |         return re;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 基卫二次封装Post接口
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     private String postSecond(String api, String content, com.alibaba.fastjson.JSONObject jsonParams, Map<String,String> headers) throws Exception
 | 
	
		
			
				|  |  |     {
 | 
	
		
			
				|  |  |         String re = "";
 | 
	
		
			
				|  |  |         headers.put("INTERFACE",api);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         Map<String,String> paramsList = new HashMap<>();
 | 
	
		
			
				|  |  |         String msgBody = com.alibaba.fastjson.JSONObject.toJSONString(jsonParams, SerializerFeature.WriteMapNullValue);
 | 
	
		
			
				|  |  |         String msgHeader = JSONObject.fromObject(headers).toString();
 | 
	
		
			
				|  |  |         paramsList.put("msgHeader",msgHeader);
 | 
	
		
			
				|  |  |         paramsList.put("msgBody",msgBody);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //System.out.print("msgHeader:"+msgHeader+"\r\n");
 | 
	
		
			
				|  |  |         //System.out.print("msgBody:"+msgBody+"\r\n");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //新增日志
 | 
	
		
			
				|  |  |         String method = "POST";
 | 
	
		
			
				|  |  |         Boolean isSuccess = true;
 | 
	
		
			
				|  |  |         String error = "";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             re = ZysoftApi.getSingleton().post("base/CallEhrInterface", paramsList, null,true);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             Map<String,String> map = objectMapper.readValue(re,Map.class);
 | 
	
		
			
				|  |  |             String code = map.get("CODE");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             if(!code.equals("1"))
 | 
	
		
			
				|  |  |             {
 | 
	
		
			
				|  |  |                 throw new HttpApiException(Integer.valueOf(code),map.get("MESSAGE"));
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             //保存http日志
 | 
	
		
			
				|  |  |             logService.saveHttpLog(isSuccess,api,content,method,msgHeader,msgBody,re,error);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         catch (Exception ex)
 | 
	
		
			
				|  |  |         {
 | 
	
		
			
				|  |  |             StringWriter sw = new StringWriter();
 | 
	
		
			
				|  |  |             PrintWriter pw = new PrintWriter(sw);
 | 
	
		
			
				|  |  |             ex.printStackTrace(pw);
 | 
	
		
			
				|  |  |             error = sw.toString();
 | 
	
		
			
				|  |  |             isSuccess = false;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             //保存http日志
 | 
	
		
			
				|  |  |             logService.saveHttpLog(isSuccess,api,content,method,msgHeader,msgBody,re,error);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             if(ex instanceof ApiException)
 | 
	
		
			
				|  |  |             {
 | 
	
		
			
				|  |  |                 ApiException apiEx = (ApiException) ex;
 | 
	
		
			
				|  |  |                 throw new HttpApiException(apiEx.errorCode(),ex.getMessage());
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             else{
 | 
	
		
			
				|  |  |                 throw new HttpApiException(-1,ex.getMessage());
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return re;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /*************************** 格式转换 *******************************************************/
 | 
	
		
			
				|  |  |     /**
 | 
	
	
		
			
				|  | @ -224,9 +289,9 @@ public class ZysoftService {
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 查询居民健康档案信息接口
 | 
	
		
			
				|  |  |      * 查询是否已签约
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public String getSickArchiveRecord(String idcard,String hospital,String licence)  throws Exception
 | 
	
		
			
				|  |  |     public String getSickFamilySignFlag(String idcard,String hospital,String licence)  throws Exception
 | 
	
		
			
				|  |  |     {
 | 
	
		
			
				|  |  |         Map<String,String> header = new HashMap<>();
 | 
	
		
			
				|  |  |         header.put("ORGCODE",hospital);
 | 
	
	
		
			
				|  | @ -235,24 +300,28 @@ public class ZysoftService {
 | 
	
		
			
				|  |  |         Map<String,String> params = new HashMap<>();
 | 
	
		
			
				|  |  |         params.put("IDENTITY_CARD_NO",idcard);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String response = postSecond("getSickArchiveRecord","查询居民健康档案信息",params,header,false);
 | 
	
		
			
				|  |  |         String response = postSecond("getSickFamilySignFlag","查询是否已签约",params,header,false);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return response;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 查询是否已签约
 | 
	
		
			
				|  |  |      * 7.51查询家庭医生签约人数上限接口
 | 
	
		
			
				|  |  |      * @param jwTeamCode 智业行政团队code
 | 
	
		
			
				|  |  |      * @param hospital
 | 
	
		
			
				|  |  |      * @param licence
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public String getSickFamilySignFlag(String idcard,String hospital,String licence)  throws Exception
 | 
	
		
			
				|  |  |     {
 | 
	
		
			
				|  |  |     public String getSickFamilyDoctorSignLimit(String jwTeamCode,String hospital,String licence) throws Exception{
 | 
	
		
			
				|  |  |         Map<String,String> header = new HashMap<>();
 | 
	
		
			
				|  |  |         header.put("ORGCODE",hospital);
 | 
	
		
			
				|  |  |         header.put("LICENCE",licence);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         Map<String,String> params = new HashMap<>();
 | 
	
		
			
				|  |  |         params.put("IDENTITY_CARD_NO",idcard);
 | 
	
		
			
				|  |  |         params.put("TEAM_CODE",jwTeamCode);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String response = postSecond("getSickFamilySignFlag","查询是否已签约",params,header,false);
 | 
	
		
			
				|  |  |         String response = postSecond("getSickFamilyDoctorSignLimit","查询家庭医生签约人数上限接口",params,header,false);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return response;
 | 
	
		
			
				|  |  |     }
 | 
	
	
		
			
				|  | @ -603,6 +672,67 @@ public class ZysoftService {
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**************************** 建档相关接口 add by ysj at 2017-09-11 *************************************************/
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 7.1查询居民是否有建立健康档案接口
 | 
	
		
			
				|  |  |      * @param idcard
 | 
	
		
			
				|  |  |      * @param hospital
 | 
	
		
			
				|  |  |      * @param licence
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public String getSickArchiveFlag(String idcard,String hospital,String licence)  throws Exception
 | 
	
		
			
				|  |  |     {
 | 
	
		
			
				|  |  |         Map<String,String> header = new HashMap<>();
 | 
	
		
			
				|  |  |         header.put("ORGCODE",hospital);
 | 
	
		
			
				|  |  |         header.put("LICENCE",licence);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         Map<String,String> params = new HashMap<>();
 | 
	
		
			
				|  |  |         params.put("IDENTITY_CARD_NO",idcard);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String response = postSecond("getSickArchiveFlag","查询居民是否有建立健康档案接口",params,header,false);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return response;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 查询居民健康档案信息接口
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public String getSickArchiveRecord(String idcard,String hospital,String licence)  throws Exception
 | 
	
		
			
				|  |  |     {
 | 
	
		
			
				|  |  |         Map<String,String> header = new HashMap<>();
 | 
	
		
			
				|  |  |         header.put("ORGCODE",hospital);
 | 
	
		
			
				|  |  |         header.put("LICENCE",licence);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         Map<String,String> params = new HashMap<>();
 | 
	
		
			
				|  |  |         params.put("IDENTITY_CARD_NO",idcard);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String response = postSecond("getSickArchiveRecord","查询居民健康档案信息",params,header,false);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return response;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 上传居民档案建档信息接口
 | 
	
		
			
				|  |  |      * @param json
 | 
	
		
			
				|  |  |      * @param hospital
 | 
	
		
			
				|  |  |      * @param licence
 | 
	
		
			
				|  |  |      * @param doctor
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public String saveSickArchiveRecord(String json, String hospital, String licence, DoctorMapping doctor) throws Exception{
 | 
	
		
			
				|  |  |         Map<String,String> header = new HashMap<>();
 | 
	
		
			
				|  |  |         header.put("ORGCODE",hospital);
 | 
	
		
			
				|  |  |         header.put("LICENCE",licence);
 | 
	
		
			
				|  |  |         header.put("OPERATOR",doctor.getJwDoctor());
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         com.alibaba.fastjson.JSONObject jsonObject = JSON.parseObject(json);
 | 
	
		
			
				|  |  |         jsonObject.put("ARCHIVE_OPERATOR_NAME",doctor.getJwDoctorName());
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String response = postSecond("saveSickArchiveRecord","上传居民档案建档信息接口",jsonObject,header);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return response;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**************************** 妇幼相关接口 add by hzp at 2017-07-12 *********************************************************/
 |