package com.ltkj.web.controller.dongfanghis;
|
|
import cn.hutool.core.date.DateUtil;
|
import com.ltkj.common.core.domain.AjaxResult;
|
import com.ltkj.hosp.dfDto.CheXiaoMzFyDto;
|
import com.ltkj.hosp.dfDto.CreateMenZhenFyDto;
|
import com.ltkj.hosp.domain.TjCustomer;
|
import com.ltkj.system.service.ISysConfigService;
|
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 {
|
|
@Autowired
|
private ISysConfigService configService;
|
|
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) {
|
String czy = configService.selectConfigByKey("dfhisczybm");
|
|
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","男");
|
}else if(cusSex==1L){
|
map.put ("xingBie","女");
|
}else {
|
map.put ("xingBie","未知");
|
}
|
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",czy);
|
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) {
|
String czy = configService.selectConfigByKey("dfhisczybm");
|
Map<String, Object> map = new HashMap<> ();
|
map.put ("caoZuoYuan",czy);
|
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) {
|
String czy = configService.selectConfigByKey("dfhisczybm");
|
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","男");
|
}else if(cusSex==1L){
|
map.put ("xingBie","女");
|
}else {
|
map.put ("xingBie","未知");
|
}
|
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",czy);
|
//职业编码
|
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 (CreateMenZhenFyDto dto) {
|
String czy = configService.selectConfigByKey("dfhisczybm");
|
Map<String, Object> map = new HashMap<> ();
|
map.put ("bingRenId",dto.getBingRenId());
|
map.put ("jiuZhenKh",dto.getJiuZhenKh());
|
map.put ("caoZuoYuan",czy);
|
map.put ("yuanQuId",dto.getYuanQuId());
|
map.put ("yingYongId",dto.getYingYongId());
|
map.put ("kaiDanKs",dto.getKaiDanKs());
|
map.put ("dengJiLsh",dto.getDengJiLsh());
|
map.put ("shouTuiBz",dto.getShouTuiBz());
|
map.put ("feiYongMxList",dto.getFeiYongMxList());
|
//职业编码
|
String post = HttpClientUtils.sendPost (HIS_URL+"/shouFei/createMenZhenFy", map);
|
return AjaxResult.success ().put ("data", post);
|
}
|
|
|
//门诊未收费费用撤销
|
public AjaxResult cheXiaoMzFy (CheXiaoMzFyDto dto) {
|
Map<String, Object> map = new HashMap<> ();
|
map.put ("bingRenId",dto.getBingRenId());
|
map.put ("jiuZhenKh",dto.getJiuZhenKh());
|
map.put ("feiYongIdList",dto.getFeiYongIdList());
|
//职业编码
|
String post = HttpClientUtils.sendPost (HIS_URL+"/shouFei/cheXiaoMzFy", map);
|
return AjaxResult.success ().put ("data", post);
|
}
|
|
|
//收费/退费完成通知第三方
|
public AjaxResult pushZhiFuMsg (String feiYongId,int yeWuLx ) {
|
Map<String, Object> map = new HashMap<> ();
|
map.put ("feiYongId",feiYongId);
|
map.put ("yeWuLx",yeWuLx);
|
//职业编码
|
String post = HttpClientUtils.sendPost (HIS_URL+"/shouFei/pushZhiFuMsg", map);
|
return AjaxResult.success ().put ("data", post);
|
}
|
|
|
//科室信息查询
|
public AjaxResult getKeShi (String yuanQuId,String keShiMc,int pageIndex,int pageSize ) {
|
Map<String, Object> map = new HashMap<> ();
|
map.put ("yuanQuId",yuanQuId);
|
map.put ("keShiMc",keShiMc);
|
map.put ("pageIndex",pageIndex);
|
map.put ("pageSize",pageSize);
|
//职业编码
|
String post = HttpClientUtils.sendPost (HIS_URL+"/zhuShuJu/getKeShi", map);
|
return AjaxResult.success ().put ("data", post);
|
}
|
|
//医生信息查询
|
public AjaxResult getListYiShengZd (String yuanQuId,String keShiMc,int pageIndex,int pageSize ) {
|
Map<String, Object> map = new HashMap<> ();
|
map.put ("yuanQuId",yuanQuId);
|
map.put ("keShiMc",keShiMc);
|
map.put ("bianGengSj","");
|
map.put ("pageIndex",pageIndex);
|
map.put ("pageSize",pageSize);
|
//职业编码
|
String post = HttpClientUtils.sendPost (HIS_URL+"/zhuShuJu/getListYiShengZd", map);
|
return AjaxResult.success ().put ("data", post);
|
}
|
|
|
//获取收费项目分页
|
public AjaxResult getShouFeiXm (String queryString,String bianGengSj,int pageIndex,int pageSize ) {
|
Map<String, Object> map = new HashMap<> ();
|
map.put ("queryString",queryString);
|
map.put ("bianGengSj",bianGengSj);
|
map.put ("pageIndex",pageIndex);
|
map.put ("pageSize",pageSize);
|
//职业编码
|
String post = HttpClientUtils.sendPost (HIS_URL+"/zhuShuJu/getShouFeiXm", map);
|
return AjaxResult.success ().put ("data", post);
|
}
|
|
|
//3.9科室信息推送
|
// public AjaxResult getShouFeiXm (String queryString,String bianGengSj,int pageIndex,int pageSize ) {
|
// Map<String, Object> map = new HashMap<> ();
|
// map.put ("queryString",queryString);
|
// map.put ("bianGengSj",bianGengSj);
|
// map.put ("pageIndex",pageIndex);
|
// map.put ("pageSize",pageSize);
|
// //职业编码
|
// String post = HttpClientUtils.sendPost (HIS_URL+"/zhuShuJu/getShouFeiXm", map);
|
// return AjaxResult.success ().put ("data", post);
|
// }
|
|
|
}
|