zhaowenxuan
2025-02-12 53d149f491dba554ee035599059a1bf65ea92df2
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethodService.java
@@ -1,40 +1,44 @@
package com.ltkj.web.controller.his;
import cn.hutool.core.date.DateUtil;
import cn.hutool.json.JSONUtil;
import com.ltkj.common.core.domain.AjaxResult;
import com.ltkj.hosp.domain.TjCustomer;
import com.ltkj.hosp.hisDto.*;
import com.ltkj.hosp.service.ITjCustomerService;
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.stereotype.Component;
import java.io.FileInputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
/* @Authot:zjh
 * @Date:  2024-05-28
 * */
@Slf4j
@Component
public class HisApiMethodService {
    @Autowired
    private ITjCustomerService tjCustomerService;
    @Autowired
    private ISysConfigService configService;
    private static  String HIS_URL = "";
    // 数据库配置文件路径
    private static final String CONFIG_PATH = "D:\\ltkjprojectconf\\config.properties";
    private static String CONFIG_PATH;
    static  {
    @Value ("${config.properties}")
    public void setConfigPath(String configPath) {
        CONFIG_PATH = configPath;
        try {
            FileInputStream inputStream = new FileInputStream(CONFIG_PATH);
            Properties props = new Properties();
@@ -47,21 +51,42 @@
        }
    }
/*    static  {
        try {
            FileInputStream inputStream = new FileInputStream(CONFIG_PATH);
            Properties props = new Properties();
            props.load(inputStream);
            String url = props.getProperty("his_api_url");
            String port = props.getProperty("his_api_port");
            HIS_URL=url+":"+port+"/api/His/";
        } catch (IOException throwables) {
            throwables.printStackTrace();
        }
    }*/
    //    @ApiOperation(value = "新增/修改门诊注册信息")
    public AjaxResult Outpincreateapply (TjCustomer customer) {
        String ysbm = configService.selectConfigByKey("request_default_ysbm");
        Map<String, Object> map = new HashMap<> ();
        if (null != customer.getCusId ()) {
            map.put ("pationid", customer.getCusId ());
        if (null != customer.getPationId () && !customer.getPationId().equals("0")) {
            map.put ("Pationid", customer.getPationId ());
        } else {
            map.put ("pationid", null);
            map.put ("Pationid", null);
        }
        map.put ("brxm", customer.getCusName ());
        map.put ("brxb", customer.getCusSex ());
        map.put ("csrq", customer.getCusBrithday ());
        Long cusSex = customer.getCusSex();
        if(cusSex==0L){
            map.put ("brxb",1);
        }else if(cusSex==1L){
            map.put ("brxb",2);
        }else {
            map.put ("brxb",9);
        }
        map.put ("csrq", DateUtil.format(customer.getCusBrithday(),"yyyy-MM-dd"));
        map.put ("brnl", customer.getAge ());
        map.put ("brnldw", customer.getAgeUnit ());
        map.put ("addr", customer.getAddr ());
        map.put ("addr", customer.getCusAddr());
        map.put ("gzdw", null);
        map.put ("dwdz", null);
        map.put ("lxr", customer.getCusName ());
@@ -70,12 +95,14 @@
        map.put ("sfzh", customer.getCusIdcard ());
        map.put ("jhrxm", null);
        map.put ("jhrsfzh", null);
        map.put ("mz", customer.getCusNational ());
        map.put ("zy", customer.getCareer ());
        map.put ("mz", null);
        map.put ("zy","职员");
        map.put ("fbbm", null);
        map.put ("czy", customer.getCreateBy ());
        map.put ("jkkkh", customer.getIndexCard ());
        map.put ("mindex_id", customer.getIndexCard ());
        map.put ("czy", ysbm);
        map.put ("jkkkh",null);
        map.put ("mindex_id",null);
//        map.put ("zybm","职员");
        //职业编码
        String post = HttpClientUtils.sendPost (HIS_URL+"Outpincreateapply", map);
        return AjaxResult.success ().put ("data", post);
    }
@@ -86,7 +113,7 @@
//jzrq = "接诊日期"
//jzysbm = "接诊医师"
    public AjaxResult Outpinconapply (String jzh,
                                      Date jzrq,
                                      String jzrq,
                                      String jzysbm) {
        Map<String, Object> map = new HashMap<> ();
        map.put ("his_registration_id", jzh);
@@ -99,7 +126,7 @@
    //    @ApiOperation(value = "门诊医生取消接诊")
    public AjaxResult Outpinunconapply (String jzh,
                                        Date jzrq,
                                        String jzrq,
                                        String jzysbm) {
        Map<String, Object> map = new HashMap<> ();
        map.put ("his_registration_id", jzh);
@@ -111,34 +138,30 @@
    //    @ApiOperation(value = "新增/修改门诊诊断")
    public AjaxResult Outpinimpapply (OutpinimpapplyDto dto) {
        Map<String, Object> map = new HashMap<> ();
        map.put ("his_registration_id", dto.getHisRegistrationId ());
        map.put ("mzzdid", dto.getMzzdid ());
        map.put ("sqysbm", dto.getSqysbm ());
        map.put ("mzksbm", dto.getMzksbm ());
        map.put ("fbrq", dto.getFbrq ());
        map.put ("zdrq", dto.getZdrq ());
        map.put ("czybm", dto.getCzybm ());
        map.put ("czyksbm", dto.getCzyksbm ());
        map.put ("zs", dto.getZs ());
        map.put ("bs", dto.getBs ());
        map.put ("clyz", dto.getClyz ());
        map.put ("jws", dto.getJws ());
        map.put ("tgjc", dto.getTgjc ());
        map.put ("gms", dto.getGms ());
        map.put ("jbbm", dto.getJbbm ());
        map.put ("jbbm1", dto.getJbbm1 ());
        map.put ("jbbm2", dto.getJbbm2 ());
        map.put ("tw", dto.getTw ());
        map.put ("mb", dto.getMb ());
        map.put ("hx", dto.getHx ());
        map.put ("bp", dto.getBp ());
        map.put ("fzbz", dto.getFzbz ());
        map.put ("hzqx", dto.getHzqx ());
        map.put ("sfqc", dto.getSfqc ());
        map.put ("qchs", dto.getQchs ());
        map.put ("sfqj", dto.getSfqj ());
        map.put ("ckrq", dto.getCkrq ());
        Map<String, Object> map = new HashMap<>();
        map.put("his_registration_id",dto.getHisRegistrationId());
        map.put("mzzdid",dto.getMzzdid());
        map.put("sqysbm",dto.getSqysbm());
        map.put("mzksbm",dto.getMzksbm());
        map.put("fbrq",dto.getFbrq());
        map.put("zdrq",dto.getZdrq());
        map.put("czybm",dto.getCzybm());
        map.put("czyksbm",dto.getCzyksbm());
        map.put("zs",dto.getZs());
        map.put("bs",dto.getBs());
        map.put("clyz",dto.getClyz());
        map.put("jws",dto.getJws());
        map.put("tgjc",dto.getTgjc());
        map.put("gms",dto.getGms());
        map.put("jbbm",dto.getJbbm());
        map.put("jbbm1",dto.getJbbm1());
        map.put("jbbm2",dto.getJbbm2());
        map.put("fzbz",dto.getFzbz());
        map.put("hzqx",dto.getHzqx());
        map.put("sfqc",dto.getSfqc());
        map.put("qchs",dto.getQchs());
        map.put("sfqj",dto.getSfqj());
        map.put("jzqk",dto.getJzqk());
        String post = HttpClientUtils.sendPost (HIS_URL+"Outpinimpapply", map);
        return AjaxResult.success ().put ("data", post);
    }
@@ -200,7 +223,7 @@
        Map<String, Object> map = new HashMap<> ();
        map.put ("his_registration_id", hisRegistrationId);
        map.put ("czybm", czybm);
        map.put ("zflxbm", sqdh);
        map.put ("sqdh", sqdh);
        String post = HttpClientUtils.sendPost (HIS_URL+"Outpindeltestapply", map);
        return AjaxResult.success ().put ("data", post);
    }
@@ -222,7 +245,9 @@
        map.put ("jcbw", dao.getJcbw ());
        map.put ("sfjz", dao.getSfjz ());
        map.put ("details", dao.getDetails ());
        log.info("HIS门诊检查申请 ->{},请求参数 ->{}",HIS_URL+"Outpinexamapply", JSONUtil.toJsonStr(map));
        String post = HttpClientUtils.sendPost (HIS_URL+"Outpinexamapply", map);
        log.info("HIS门诊检查申请返回 ->{}",post);
        return AjaxResult.success ().put ("data", post);
    }
@@ -234,7 +259,7 @@
        Map<String, Object> map = new HashMap<> ();
        map.put ("his_registration_id", hisRegistrationId);
        map.put ("czybm", czybm);
        map.put ("zflxbm", sqdh);
        map.put ("sqdh", sqdh);
        String post = HttpClientUtils.sendPost (HIS_URL+"Outpindelexamapply", map);
        return AjaxResult.success ().put ("data", post);
    }
@@ -265,7 +290,7 @@
        Map<String, Object> map = new HashMap<> ();
        map.put ("his_registration_id", hisRegistrationId);
        map.put ("czybm", czybm);
        map.put ("zflxbm", sqdh);
        map.put ("sqdh", sqdh);
        String post = HttpClientUtils.sendPost (HIS_URL+"Outpindelmedapply", map);
        return AjaxResult.success ().put ("data", post);
    }
@@ -296,7 +321,7 @@
        Map<String, Object> map = new HashMap<> ();
        map.put ("his_registration_id", hisRegistrationId);
        map.put ("czybm", czybm);
        map.put ("zflxbm", sqdh);
        map.put ("sqdh", sqdh);
        String post = HttpClientUtils.sendPost (HIS_URL+"Outpintdelreatapply", map);
        return AjaxResult.success ().put ("data", post);
    }
@@ -306,7 +331,7 @@
    public AjaxResult Outpinmedicapply (OutpinmedicapplyDto dao) {
        Map<String, Object> map = new HashMap<> ();
        map.put ("his_registration_id", dao.getHisRegistrationId ());
        map.put ("sfzh", dao.getHisRegistrationId ());
        map.put ("sfzh", dao.getSfzh ());
        map.put ("sqysbm", dao.getSqysbm ());
        map.put ("mzksbm", dao.getMzksbm ());
        map.put ("sjrq", dao.getSjrq ());
@@ -314,9 +339,9 @@
        map.put ("czyksbm", dao.getCzyksbm ());
        map.put ("cflxbm", dao.getCflxbm ());
        map.put ("yfbm", dao.getYfbm ());
        map.put ("fyts", dao.getFyts ());
        map.put ("mzzd", dao.getMzzd ());
        map.put ("details", dao.getDetails ());
        map.put ("fyts","1");
        map.put ("mzzd","");
        map.put ("details", dao.getDetails());
        String post = HttpClientUtils.sendPost (HIS_URL+"Outpinmedicapply", map);
        return AjaxResult.success ().put ("data", post);
    }
@@ -328,47 +353,36 @@
        Map<String, Object> map = new HashMap<> ();
        map.put ("his_registration_id", hisRegistrationId);
        map.put ("czybm", czybm);
        map.put ("zflxbm", sqdh);
        map.put ("sqdh", sqdh);
        String post = HttpClientUtils.sendPost (HIS_URL+"Outpindelmedicapply", map);
        return AjaxResult.success ().put ("data", post);
    }
    //    @ApiOperation(value = "获取检查申请信息")
    public AjaxResult Getexamapplyinfo (String hisRegistrationId,
                                        String ksbm,
                                        Date jsrq,
                                        Date ksrq) {
        Map<String, Object> map = new HashMap<> ();
        map.put ("his_registration_id", hisRegistrationId);
        map.put ("ksbm", ksbm);
        map.put ("jsrq", jsrq);
        map.put ("ksrq", ksrq);
    public AjaxResult Getexamapplyinfo (Map<String ,Object> map) {
//        Map<String, Object> map = new HashMap<> ();
//        map.put ("his_registration_id", hisRegistrationId);
//        map.put ("ksbm", ksbm);
//        map.put ("jsrq", jsrq);
//        map.put ("ksrq", ksrq);
        String post = HttpClientUtils.sendPost (HIS_URL+"Getexamapplyinfo", map);
        return AjaxResult.success ().put ("data", post);
    }
    //    @ApiOperation(value = "获取检查报告信息")
    public AjaxResult Getexamreportinfo (String hisRegistrationId,
                                         String ksmc,
                                         String pationid,
                                         Date jsrq,
                                         Date ksrq,
                                         Integer pagecount,
                                         Integer page,
                                         String status,
                                         String cardtype) {
        Map<String, Object> map = new HashMap<> ();
        map.put ("his_registration_id", hisRegistrationId);
        map.put ("ksmc", ksmc);
        map.put ("jsrq", jsrq);
        map.put ("ksrq", ksrq);
        map.put ("pationid", pationid);
        map.put ("pagecount", pagecount);
        map.put ("page", page);
        map.put ("status", status);
        map.put ("cardtype", cardtype);
    public AjaxResult Getexamreportinfo (Map<String ,Object> map) {
//        Map<String, Object> map = new HashMap<> ();
//        map.put ("his_registration_id", hisRegistrationId);
//        map.put ("ksmc", ksmc);
//        map.put ("jsrq", jsrq);
//        map.put ("ksrq", ksrq);
//        map.put ("pationid", pationid);
//        map.put ("pagecount", pagecount);
//        map.put ("page", page);
//        map.put ("status", status);
//        map.put ("cardtype", cardtype);
        String post = HttpClientUtils.sendPost (HIS_URL+"Getexamreportinfo", map);
        return AjaxResult.success ().put ("data", post);
    }
@@ -453,17 +467,13 @@
    }
    //    @ApiOperation(value = "获取检查危急值信息")
    public AjaxResult Getexamurgentinfo (String hisRegistrationId,
                                         Date jsrq,
                                         Date ksrq,
                                         Integer pagecount,
                                         Integer page) {
        Map<String, Object> map = new HashMap<> ();
        map.put ("his_registration_id", hisRegistrationId);
        map.put ("jsrq", jsrq);
        map.put ("ksrq", ksrq);
        map.put ("pagecount", pagecount);
        map.put ("page", page);
    public AjaxResult Getexamurgentinfo (Map<String ,Object> map) {
//        Map<String, Object> map = new HashMap<> ();
//        map.put ("his_registration_id", hisRegistrationId);
//        map.put ("jsrq", jsrq);
//        map.put ("ksrq", ksrq);
//        map.put ("pagecount", pagecount);
//        map.put ("page", page);
        String post = HttpClientUtils.sendPost (HIS_URL+"Getexamurgentinfo", map);
        return AjaxResult.success ().put ("data", post);
    }
@@ -487,70 +497,57 @@
    //    @ApiOperation(value = "获取检验申请信息")
    public AjaxResult Getlabapplyinfo (String hisRegistrationId,
                                       Date jsrq,
                                       Date ksrq,
                                       String cardtype,
                                       String mzorzy,
                                       String ksbm) {
        Map<String, Object> map = new HashMap<> ();
        map.put ("his_registration_id", hisRegistrationId);
        map.put ("jsrq", jsrq);
        map.put ("ksrq", ksrq);
        map.put ("cardtype", cardtype);
        map.put ("mzorzy", mzorzy);
        map.put ("ksbm", ksbm);
    public AjaxResult Getlabapplyinfo (Map<String ,Object> map) {
//        Map<String, Object> map = new HashMap<> ();
//        map.put ("his_registration_id", hisRegistrationId);
//        map.put ("jsrq", jsrq);
//        map.put ("ksrq", ksrq);
//        map.put ("cardtype", cardtype);
//        map.put ("mzorzy", mzorzy);
//        map.put ("ksbm", ksbm);
        String post = HttpClientUtils.sendPost (HIS_URL+"Getlabapplyinfo", map);
        return AjaxResult.success ().put ("data", post);
    }
    //    @ApiOperation(value = "获取检验报告记录信息")
    public AjaxResult Getlabreportinfo (String hisRegistrationId,
                                        Date jsrq,
                                        Date ksrq,
                                        String ksbm,
                                        String pationid,
                                        Integer pagecount,
                                        Integer page) {
        Map<String, Object> map = new HashMap<> ();
        map.put ("his_registration_id", hisRegistrationId);
        map.put ("jsrq", jsrq);
        map.put ("ksrq", ksrq);
        map.put ("ksbm", ksbm);
        map.put ("pationid", pationid);
        map.put ("pagecount", pagecount);
        map.put ("page", page);
    public AjaxResult Getlabreportinfo (Map<String ,Object> map) {
//        Map<String, Object> map = new HashMap<> ();
//        map.put ("his_registration_id", hisRegistrationId);
//        map.put ("jsrq", jsrq);
//        map.put ("ksrq", ksrq);
//        map.put ("ksbm", ksbm);
//        map.put ("pationid", pationid);
//        map.put ("pagecount", pagecount);
//        map.put ("page", page);
        String post = HttpClientUtils.sendPost (HIS_URL+"Getlabreportinfo", map);
        return AjaxResult.success ().put ("data", post);
    }
    //    @ApiOperation(value = "获取微生物报告记录信息")
    public AjaxResult Getlabgermrepinfo (String jybgid) {
        Map<String, Object> map = new HashMap<> ();
        map.put ("jybgid", jybgid);
    public AjaxResult Getlabgermrepinfo (Map<String ,Object> map) {
//        Map<String, Object> map = new HashMap<> ();
//        map.put ("jybgid", jybgid);
        String post = HttpClientUtils.sendPost (HIS_URL+"Getlabgermrepinfo", map);
        return AjaxResult.success ().put ("data", post);
    }
    //    @ApiOperation(value = "获取微生物药敏信息")
    public AjaxResult Getlabgermdetailinfo (String jybgid) {
        Map<String, Object> map = new HashMap<> ();
        map.put ("jybgid", jybgid);
    public AjaxResult Getlabgermdetailinfo (Map<String ,Object> map) {
//        Map<String, Object> map = new HashMap<> ();
//        map.put ("jybgid", jybgid);
        String post = HttpClientUtils.sendPost (HIS_URL+"Getlabgermdetailinfo", map);
        return AjaxResult.success ().put ("data", post);
    }
    //    @ApiOperation(value = "获取危急值信息")
    public AjaxResult Getlaburgentinfo (String jybgid,
                                        Date jsrq,
                                        Date ksrq) {
        Map<String, Object> map = new HashMap<> ();
        map.put ("jybgid", jybgid);
        map.put ("jsrq", jsrq);
        map.put ("ksrq", ksrq);
    public AjaxResult Getlaburgentinfo (Map<String ,Object> map) {
//        Map<String, Object> map = new HashMap<> ();
//        map.put ("jybgid", jybgid);
//        map.put ("jsrq", jsrq);
//        map.put ("ksrq", ksrq);
        String post = HttpClientUtils.sendPost (HIS_URL+"Getlaburgentinfo", map);
        return AjaxResult.success ().put ("data", post);
    }
@@ -647,36 +644,27 @@
    //    @ApiOperation(value = "获取门诊患者费用清单信息")
    public AjaxResult Getoutpatientcostinfo (String cardtype,
                                             Date jsrq,
                                             Date ksrq,
                                             String input,
                                             Integer pagecount,
                                             Integer page) {
        Map<String, Object> map = new HashMap<> ();
        map.put ("cardtype", cardtype);
        map.put ("input", input);
        map.put ("jsrq", jsrq);
        map.put ("ksrq", ksrq);
        map.put ("pagecount", pagecount);
        map.put ("page", page);
    public AjaxResult Getoutpatientcostinfo (Map<String ,Object> map) {
//        Map<String, Object> map = new HashMap<> ();
//        map.put ("cardtype", cardtype);
//        map.put ("input", input);
//        map.put ("jsrq", jsrq);
//        map.put ("ksrq", ksrq);
//        map.put ("pagecount", pagecount);
//        map.put ("page", page);
        String post = HttpClientUtils.sendPost (HIS_URL+"Getoutpatientcostinfo", map);
        return AjaxResult.success ().put ("data", post);
    }
    //    @ApiOperation(value = "获取门诊结算记录")
    public AjaxResult Getoutaccountrecord (String hisRegistrationId,
                                           Date jsrq,
                                           Date ksrq,
                                           Integer pagecount,
                                           Integer page) {
        Map<String, Object> map = new HashMap<> ();
        map.put ("his_registration_id", hisRegistrationId);
        map.put ("jsrq", jsrq);
        map.put ("ksrq", ksrq);
        map.put ("pagecount", pagecount);
        map.put ("page", page);
    public AjaxResult Getoutaccountrecord (Map<String ,Object> map) {
//        Map<String, Object> map = new HashMap<> ();
//        map.put ("his_registration_id", hisRegistrationId);
//        map.put ("jsrq", jsrq);
//        map.put ("ksrq", ksrq);
//        map.put ("pagecount", pagecount);
//        map.put ("page", page);
        String post = HttpClientUtils.sendPost (HIS_URL+"Getoutaccountrecord", map);
        return AjaxResult.success ().put ("data", post);
    }
@@ -693,4 +681,61 @@
        String post = HttpClientUtils.sendPost (HIS_URL+"Getpatientalterregrecord", map);
        return AjaxResult.success ().put ("data", post);
    }
    // @ApiOperation(value = "2.4.3 获取检验结果记录信息")
    public AjaxResult Getlabdetailinfo (Map<String ,Object> map) {
        String post = HttpClientUtils.sendPost (HIS_URL+"Getlabdetailinfo", map);
        return AjaxResult.success ().put ("data", post);
    }
//    192.168.0.123:12005/api/His/Getlabreginfoinfo
//{
//    "his_registration_id":"20250107000011",
//        "pationid":"20240618000042",
//        "ksrq":"2025-01-07 00:00:00",
//        "jsrq":"2025-01-08 00:00:00",
//        "pagecount":100,
//        "page":1,
//        "status":"已申请"
//}
    /**
     * 获取His检验条码号
     * @return
     */
    public AjaxResult Getlabreginfoinfo(String hisCardId,Boolean isZf,String today){
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date todayDate = null;
        try {
            todayDate = dateFormat.parse(today);
        } catch (ParseException e) {
            return AjaxResult.error();
        }
        String now = dateFormat.format(new Date());
        HashMap<String, Object> map = new HashMap<>();
        map.put("his_registration_id",hisCardId);
        map.put("ksrq",today);
        map.put("pagecount",100);
        map.put("page",1);
        if (now.equals(today)){
            Calendar instance = Calendar.getInstance();
            instance.setTime(todayDate);
            instance.add(Calendar.DAY_OF_MONTH,1);
            String tomorrow = dateFormat.format(instance.getTime());
            map.put("jsrq",tomorrow);
        }else {
            map.put("jsrq",now);
        }
        if (!isZf)
            map.put("status","已申请");
        else map.put("status","已作废");
        String post = HttpClientUtils.sendPost (HIS_URL+"Getlabreginfoinfo", map);
        return AjaxResult.success ().put ("data", post);
    }
}