package com.ltkj.web.controller.dongfanghis;
|
|
import cn.hutool.core.date.DateUtil;
|
import com.ltkj.common.core.domain.AjaxResult;
|
import com.ltkj.hosp.domain.TjCustomer;
|
import com.ltkj.web.wxUtils.HttpClientUtils;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.data.redis.core.RedisTemplate;
|
import org.springframework.stereotype.Component;
|
|
import java.io.FileInputStream;
|
import java.io.IOException;
|
import java.util.HashMap;
|
import java.util.Map;
|
import java.util.Properties;
|
|
/**
|
* ClassName: DfHisApiMethodService <br/>
|
* Description: <br/>
|
* date: 2024/12/10 09:24<br/>
|
*
|
* @author zjh<br />
|
*/
|
|
@Component
|
@Slf4j
|
public class DfHisApiMethodService {
|
|
private static String HIS_URL = "";
|
|
private static String CONFIG_PATH;
|
|
private static String GRANT_TYPE = "";
|
private static String CLIENT_ID = "";
|
private static String CLIENT_SECRET = "";
|
private static String SCOP = "";
|
|
// @Autowired
|
// private RedisTemplate<String,Object> redisTemplate;
|
|
@Value("${config.properties}")
|
public void setConfigPath(String configPath) {
|
CONFIG_PATH = configPath;
|
try {
|
FileInputStream inputStream = new FileInputStream(CONFIG_PATH);
|
Properties props = new Properties();
|
props.load(inputStream);
|
String url = props.getProperty("df_his_api_url");
|
String port = props.getProperty("df_his_api_port");
|
GRANT_TYPE = props.getProperty("grant_type");
|
CLIENT_ID= props.getProperty("client_id");
|
CLIENT_SECRET = props.getProperty("client_secret");
|
SCOP = props.getProperty("scope");
|
HIS_URL=url+":"+port+"/OAPI/";
|
} catch (IOException throwables) {
|
throwables.printStackTrace();
|
}
|
}
|
|
|
//获取token
|
public AjaxResult getToken () {
|
Map<String, Object> map = new HashMap<>();
|
map.put("grant_type",GRANT_TYPE);
|
map.put("client_id",CLIENT_ID);
|
map.put("client_secret",CLIENT_SECRET);
|
map.put("scope",SCOP);
|
String post = HttpClientUtils.sendPost (HIS_URL+"/oauth/token", map);
|
return AjaxResult.success ().put ("data", post);
|
}
|
|
//建档
|
public AjaxResult jianDang (TjCustomer customer) {
|
Map<String, Object> map = new HashMap<> ();
|
map.put ("jiuZhenKh", customer.getPationId ());
|
map.put ("kaiLeiXing","4");
|
map.put ("xingMing", customer.getCusName ());
|
Long cusSex = customer.getCusSex();
|
if(cusSex==0L){
|
map.put ("xingBie",1);
|
}else if(cusSex==1L){
|
map.put ("xingBie",2);
|
}else {
|
map.put ("xingBie",9);
|
}
|
map.put ("shenFenZh", customer.getCusIdcard ());
|
map.put ("danWeiBh","");
|
map.put ("chuShengRq", DateUtil.format(customer.getCusBrithday(),"yyyy-MM-dd"));
|
map.put ("lianXiDz", customer.getCusAddr());
|
map.put ("lianXiDh", customer.getCusPhone ());
|
map.put ("feiYongLb","");
|
map.put ("feiYongXz","");
|
map.put ("jiLuLy","3");
|
map.put ("caoZuoYuan","1088");
|
map.put ("chongZhiJe","");
|
map.put ("yiBaoKh","");
|
map.put ("geRenBh","");
|
map.put ("yiBaoBrXx","");
|
map.put ("gongZuoDw",customer.getCompName());
|
map.put ("canBaoXzMc","");
|
map.put ("muLuBlLb","");
|
map.put ("kunNanJzDj","");
|
map.put ("yiLiaoLb","");
|
map.put ("minZuDm","");
|
map.put ("minZuMc","");
|
//职业编码
|
String post = HttpClientUtils.sendPost (HIS_URL+"/menZhenJz/jianDang", map);
|
return AjaxResult.success ().put ("data", post);
|
}
|
|
//验证身份证是否建过档
|
public AjaxResult getBingRenXxByShengFenZheng (TjCustomer customer) {
|
Map<String, Object> map = new HashMap<> ();
|
map.put ("caoZuoYuan","1088");
|
map.put ("shenFenZh", customer.getCusIdcard ());
|
map.put ("danWeiBh","");
|
//职业编码
|
String post = HttpClientUtils.sendPost (HIS_URL+"/menZhenJz/getBingRenXxByShengFenZheng", map);
|
return AjaxResult.success ().put ("data", post);
|
}
|
|
//病人基本信息变更
|
public AjaxResult saveBingRenXx (TjCustomer customer) {
|
Map<String, Object> map = new HashMap<> ();
|
map.put ("jiuZhenKh", customer.getPationId ());
|
map.put ("kaiLeiXing","4");
|
map.put ("xingMing", customer.getCusName ());
|
Long cusSex = customer.getCusSex();
|
if(cusSex==0L){
|
map.put ("xingBie",1);
|
}else if(cusSex==1L){
|
map.put ("xingBie",2);
|
}else {
|
map.put ("xingBie",9);
|
}
|
map.put ("shenFenZh", customer.getCusIdcard ());
|
map.put ("danWeiBh","");
|
map.put ("chuShengRq", DateUtil.format(customer.getCusBrithday(),"yyyy-MM-dd"));
|
map.put ("lianXiDz", customer.getCusAddr());
|
map.put ("lianXiDh", customer.getCusPhone ());
|
map.put ("feiYongLb","");
|
map.put ("feiYongXz","");
|
map.put ("jiLuLy","3");
|
map.put ("caoZuoYuan","1088");
|
//职业编码
|
String post = HttpClientUtils.sendPost (HIS_URL+"/menZhenJz/saveBingRenXx", map);
|
return AjaxResult.success ().put ("data", post);
|
}
|
|
//待收费费用查询
|
public AjaxResult getListDaiShouFei (String bingRenId,String jiuZhenKh,String yuanQuId) {
|
Map<String, Object> map = new HashMap<> ();
|
map.put ("bingRenId",bingRenId);
|
map.put ("jiuZhenKh",jiuZhenKh);
|
map.put ("yuanQuId",yuanQuId);
|
//职业编码
|
String post = HttpClientUtils.sendPost (HIS_URL+"/shouFei/getListDaiShouFei", map);
|
return AjaxResult.success ().put ("data", post);
|
}
|
|
|
//待收费费用查询
|
public AjaxResult createMenZhenFy (String bingRenId,String jiuZhenKh,String yuanQuId) {
|
Map<String, Object> map = new HashMap<> ();
|
map.put ("bingRenId",bingRenId);
|
map.put ("jiuZhenKh",jiuZhenKh);
|
map.put ("yuanQuId",yuanQuId);
|
//职业编码
|
String post = HttpClientUtils.sendPost (HIS_URL+"/shouFei/createMenZhenFy", map);
|
return AjaxResult.success ().put ("data", post);
|
}
|
|
|
}
|