zjh
2024-12-13 0ded4eb80a80ffd4f29aab8a7b6c02a269d72d2c
ltkj-admin/src/main/java/com/ltkj/web/controller/dongfanghis/DfHisApiMethodService.java
@@ -2,7 +2,10 @@
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;
@@ -13,6 +16,7 @@
import java.io.FileInputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
@@ -27,6 +31,9 @@
@Component
@Slf4j
public class DfHisApiMethodService {
    @Autowired
    private ISysConfigService configService;
    private static  String HIS_URL = "";
@@ -73,17 +80,19 @@
    //建档
    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",1);
            map.put ("xingBie","男");
        }else if(cusSex==1L){
            map.put ("xingBie",2);
            map.put ("xingBie","女");
        }else {
            map.put ("xingBie",9);
            map.put ("xingBie","未知");
        }
        map.put ("shenFenZh", customer.getCusIdcard ());
        map.put ("danWeiBh","");
@@ -93,7 +102,7 @@
        map.put ("feiYongLb","");
        map.put ("feiYongXz","");
        map.put ("jiLuLy","3");
        map.put ("caoZuoYuan","1088");
        map.put ("caoZuoYuan",czy);
        map.put ("chongZhiJe","");
        map.put ("yiBaoKh","");
        map.put ("geRenBh","");
@@ -112,8 +121,9 @@
    //验证身份证是否建过档
    public AjaxResult getBingRenXxByShengFenZheng (TjCustomer customer) {
        String czy = configService.selectConfigByKey("dfhisczybm");
        Map<String, Object> map = new HashMap<> ();
        map.put ("caoZuoYuan","1088");
        map.put ("caoZuoYuan",czy);
        map.put ("shenFenZh", customer.getCusIdcard ());
        map.put ("danWeiBh","");
        //职业编码
@@ -123,17 +133,18 @@
    //病人基本信息变更
    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",1);
            map.put ("xingBie","男");
        }else if(cusSex==1L){
            map.put ("xingBie",2);
            map.put ("xingBie","女");
        }else {
            map.put ("xingBie",9);
            map.put ("xingBie","未知");
        }
        map.put ("shenFenZh", customer.getCusIdcard ());
        map.put ("danWeiBh","");
@@ -143,7 +154,7 @@
        map.put ("feiYongLb","");
        map.put ("feiYongXz","");
        map.put ("jiLuLy","3");
        map.put ("caoZuoYuan","1088");
        map.put ("caoZuoYuan",czy);
        //职业编码
        String post = HttpClientUtils.sendPost (HIS_URL+"/menZhenJz/saveBingRenXx", map);
        return AjaxResult.success ().put ("data", post);
@@ -162,15 +173,190 @@
    //待收费费用查询
    public AjaxResult createMenZhenFy (String bingRenId,String jiuZhenKh,String yuanQuId) {
    public AjaxResult createMenZhenFy (CreateMenZhenFyDto dto) {
        String czy = configService.selectConfigByKey("dfhisczybm");
        Map<String, Object> map = new HashMap<> ();
        map.put ("bingRenId",bingRenId);
        map.put ("jiuZhenKh",jiuZhenKh);
        map.put ("yuanQuId",yuanQuId);
        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);
    }
    /**
     *科室信息推送
     * @param xingZhiSx 组织属性 第一位1 表示 挂号
     * 第二位 1表示临床
     * 第三位 1表示检查
     * 第四位 1 表示手术
     * 第五位 1 表示治疗
     * 第六位 1 表示护理
     * @param queryString 模糊匹配输⼊码1、科室名称
     * @param zuoFeiBz 作废标志:0 正常;1 作废
     * @param yuanQuId 院区id
     * @param keShiIds 科室ID集合
     * @param ifPlus 是否查询plus属性
     * @return
     */
    public AjaxResult getKeShiByConditions (int xingZhiSx, String queryString, int zuoFeiBz, String yuanQuId, List<String>keShiIds,int ifPlus) {
        Map<String, Object> map = new HashMap<> ();
        map.put ("xingZhiSx",xingZhiSx);
        map.put ("queryString",queryString);
        map.put ("zuoFeiBz",zuoFeiBz);
        map.put ("yuanQuId",yuanQuId);
        map.put ("keShiIds",keShiIds);
        map.put ("ifPlus",ifPlus);
        //职业编码
        String post = HttpClientUtils.sendPost (HIS_URL+"/zhuShuJu/getKeShiByConditions", map);
        return AjaxResult.success ().put ("data", post);
    }
    /**
     * //取样本字典
     * @param queryString 样本类型名称(样本名称/样本类型id)
     * @param pageIndex
     * @param pageSize 每⻚条数(最⼤不能超过100)
     * @return
     */
    public AjaxResult getYangBen (String queryString,int pageIndex,int pageSize ) {
        Map<String, Object> map = new HashMap<> ();
        map.put ("queryString",queryString);
        map.put ("pageIndex",pageIndex);
        map.put ("pageSize",pageSize);
        //职业编码
        String post = HttpClientUtils.sendPost (HIS_URL+"/zhuShuJu/getYangBen", map);
        return AjaxResult.success ().put ("data", post);
    }
    /**
     *  //病区信息推送
     * @param yuanQuId 院区Id
     * @param keShiId 科室Id
     * @param pageIndex 当前⻚
     * @param pageSize 每⻚条数(最⼤不能超过100)
     * @return
     */
    public AjaxResult getListBingQuZd (String yuanQuId,String keShiId,int pageIndex,int pageSize ) {
        Map<String, Object> map = new HashMap<> ();
        map.put ("yuanQuId",yuanQuId);
        map.put ("keShiId",keShiId);
        map.put ("pageIndex",pageIndex);
        map.put ("pageSize",pageSize);
        //职业编码
        String post = HttpClientUtils.sendPost (HIS_URL+"/zhuShuJu/getListBingQuZd", map);
        return AjaxResult.success ().put ("data", post);
    }
    /**
     * 职⼯信息
     * @param bianGengSj 变更时间
     * @param pageIndex 当前⻚
     * @param pageSize 每⻚条数(最⼤不能超过100)
     * @return
     */
    public AjaxResult getZhiGongPage (String bianGengSj,int pageIndex,int pageSize ) {
        Map<String, Object> map = new HashMap<> ();
        map.put ("bianGengSj",bianGengSj);
        map.put ("pageIndex",pageIndex);
        map.put ("pageSize",pageSize);
        //职业编码
        String post = HttpClientUtils.sendPost (HIS_URL+"/zhuShuJu/getZhiGongPage", map);
        return AjaxResult.success ().put ("data", post);
    }
    /**
     *
     * @param queryString
     * @param bianGengSj
     * @param pageIndex
     * @param pageSize
     * @return
     */
    public AjaxResult getJianChaXm (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/getJianChaXm", map);
        return AjaxResult.success ().put ("data", post);
    }
}