Ejemplo n.º 1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                var db  = ContextPool.GetContext();
                var blh = Request["blh"];
                Jcxx = db.T_JCXX.SingleOrDefault(o => o.F_BLH == blh);
                if (Jcxx == null)
                {
                    Response.Redirect("NotDataFound.aspx");
                }

                double referenceValue = 0;
                var    seriesName     = "";
                var    seriesName2    = "";
                if (Jcxx.F_BLK == "EBV")
                {
                    seriesName  = "结果值(copy/mL)";
                    seriesName2 = "参考值(copy/mL)";
                }
                else if (Jcxx.F_BLK == "HBV")
                {
                    seriesName  = "结果值(IU/mL)";
                    seriesName2 = "参考值(IU/mL)";
                }
                WebChartControl1.Series[0].Name = seriesName;
                WebChartControl1.Series[1].Name = seriesName2;
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// PIS系统登记申请单时触发该方法
 /// </summary>
 /// <param name="jcxx"></param>
 /// <param name="reportType">常规,冰冻,补充</param>
 public void OnAddReport(T_JCXX jcxx, ReportType reportType)
 {
     if (jcxx.F_BY1 == "his")
     {
         ReceiveReport(jcxx);
     }
 }
Ejemplo n.º 3
0
 /// <summary>
 /// PIS审核报告时触发
 /// </summary>
 /// <param name="jcxx"></param>
 /// <param name="reportType">常规,冰冻,补充</param>
 public void OnCheckReport(T_JCXX jcxx, ReportType reportType)
 {
     if (jcxx.F_BY1 == "his")
     {
         SendReport(jcxx, reportType);
     }
 }
Ejemplo n.º 4
0
        /// <summary>
        /// 把xml字符串保存到本地文件夹,并上传到院方平台ftp
        /// </summary>
        /// <param name="localPdfFullName">xml字符串</param>
        /// <param name="fileId">结果数据主表ID</param>
        /// <param name="jcxx"></param>
        public void UploadPdf(string localPdfFullName, string fileId, T_JCXX jcxx)
        {
            var fileName = fileId + ".xml";

            var serverDir          = $"{DateTime.Now.ToString("yyyy")}\\{DateTime.Now.ToString("MM")}\\{DateTime.Now.ToString("dd")}\\{fileId}";
            var localDir           = f.ReadString("ftpup", "ftplocal", @"c:\temp");
            var localFileFullName  = localDir + "\\" + jcxx.F_BLH + "\\" + localPdfFullName;
            var serverFileSafeName = fileId + ".pdf";

            //新建ftp文件夹
            string err = "";

            FtpMakedir(serverDir, out err);
            if (err != "OK")
            {
                log.WriteMyLog($"在平台ftp新建文件夹失败,serverDir={serverDir}:" + err);
                throw new Exception($"在平台ftp新建文件夹失败,serverDir={serverDir}:" + err);
            }

            //上传到平台ftp
            err = "";
            ftpUp.Upload(localFileFullName, serverDir, out err, serverFileSafeName);
            if (err != "OK")
            {
                log.WriteMyLog($"pdf上传平台ftp失败,serverFileName={serverFileSafeName}:" + err);
                throw new Exception($"pdf上传平台ftp失败,serverFileName={serverFileSafeName}:" + err);
            }
            log.WriteMyLog($"pdf上传平台成功");
        }
Ejemplo n.º 5
0
 /// <summary>
 /// PIS取消审核报告时触发
 /// </summary>
 /// <param name="jcxx"></param>
 /// <param name="reportType">常规,冰冻,补充</param>
 public void OnCancelCheckReport(T_JCXX jcxx, ReportType reportType)
 {
     if (jcxx.F_BY1 == "his")
     {
         DelReport(jcxx, reportType);
     }
 }
Ejemplo n.º 6
0
        public void OutCheckFeeTest()
        {
            湖南省妇幼医院_广州邦弘 f    = new 湖南省妇幼医院_广州邦弘();
            var          jcxx = new T_JCXX();

            jcxx.F_MZH = "1140345105";

            f.OutCheckFee(jcxx);
        }
Ejemplo n.º 7
0
        private void DelReport(T_JCXX jcxx, ReportType reportType)
        {
            var success = zlInterface.DeleteReport(Convert.ToInt32(jcxx.F_YZID.Trim()));

            if (!success)
            {
                throw new Exception($"删除HIS已审报告时出现错误[{jcxx.F_BLH}]:" + zlInterface.GetLastError());
            }

            Logger.Info("HIS接口删除报告成功:" + jcxx.F_BLH);
        }
Ejemplo n.º 8
0
        public void Query()
        {
            dataLayoutControl1.Validate();

            T_JCXX_DAL dal       = new T_JCXX_DAL();
            var        sqlFilter = sqlFilterBindingSource.Current as SqlFilter;
            var        list1     = dal.GetJcxxTbsList(sqlFilter);

            SplashScreenManager.ShowDefaultWaitForm($"正在查询");

            try
            {
                foreach (T_JCXX jcxx in list1)
                {
                    SplashScreenManager.ShowDefaultWaitForm($"分析二次诊断数据 {list1.IndexOf(jcxx)}/{list1.Count}");
                    T_JCXX jcxxPre = dal.GetPreJcxx(jcxx);
                    jcxx.PreJcxx = jcxxPre;
                }
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.ToString());
                return;
            }
            finally
            {
                try
                {
                    SplashScreenManager.CloseDefaultWaitForm();
                }
                catch
                {
                }
            }

            //去掉没有上次检验的
            list1 = list1.Where(o => o.PreJcxx != null && string.IsNullOrEmpty(o.PreJcxx.F_BLH) == false).ToList();
            //差异值过滤
            if (sqlFilter != null && sqlFilter.ValueDiff > 0)
            {
                list1 = list1.Where(o => Math.Abs(o.TBS_VALUE_DIFF) >= Math.Abs(sqlFilter.ValueDiff)).ToList();
            }

            if (list1.Any() == false)
            {
                XtraMessageBox.Show("没有找到任何结果!");
            }
            tJCXXBindingSource.DataSource = list1;
            gridView1.RefreshData();
            gridView1.BestFitColumns();
        }
Ejemplo n.º 9
0
        /// <summary>
        /// 调用pacs接口进行门诊确费
        /// </summary>
        /// <param name="jcxx">检查信息表</param>
        public void OutCheckFee(T_JCXX jcxx)
        {
            #region 入参说明

            //Registeredserialnumber:挂号序号(门诊号);
            //Operatorid:操作者ID
            //Departmentid:执行科室ID
            //Datime:操作时间,时间格式:yyyy - MM - dd HH: mm: ss
            //Type:执行类型:1:确费,0:取消确费;此函数传1;

            #endregion

            string result = "";

            try
            {
                log.WriteMyLog("开始门诊确费,门诊号:" + jcxx.F_MZH);
                var date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");

                //调用门诊确费
                HnsfyRegistrationInterface.WebService service = new HnsfyRegistrationInterface.WebService();

                log.WriteMyLog("开始调用门诊确费接口,门诊号(发票号)是:" + jcxx.F_MZH);
                //门诊号存的就是发票号 账号:林春华 工号:4411 科室ID:1094
                var returnXML = service.CheckFeeOperationByInvoicenumber(jcxx.F_MZH, "4411", "1094", date, "1");
                log.WriteMyLog("门诊确费成功,返回值:\r\n" + returnXML);

                //解析门诊确费接口的返回值
                var    row   = GetDataSetByXml(returnXML).Tables[0].Rows[0];
                int    count = Int32.Parse(row["Code"].ToString());
                string msg   = row["ERR_TEXT"].ToString();

                //如果确费数量<0,则确费失败
                if (count < 0)
                {
                    throw new Exception(msg);
                }
            }
            catch (Exception ee)
            {
                log.WriteMyLog("门诊确费失败:" + ee.Message);
                throw new Exception("确费失败,因为:" + ee.Message);
            }
        }
Ejemplo n.º 10
0
        /// <summary>
        /// 根据报告的收到日期和审核日期,计算报告发放的天数
        /// </summary>
        /// <param name="jcxx"></param>
        /// <returns></returns>
        private int GetDays(T_JCXX jcxx)
        {
            DateTime bgrq;
            DateTime sdrq;

            try
            {
                bgrq = Convert.ToDateTime(jcxx.F_BGRQ).Date;
                sdrq = Convert.ToDateTime(jcxx.F_SDRQ).Date;
            }
            catch (Exception e)
            {
                return(0);
            }

            //收到日期不应该大于报告日期 ,如果出现这种情况,说明数据有错误
            if (sdrq > bgrq)
            {
                return(-1);
            }

            int dayDiff = 0;

            //如果时间大于100,则显示100,更多的计算没有意义,且会让程序变慢
            while (bgrq != sdrq & dayDiff <= 100)
            {
                //是否排除周六日
                if (chkDisable6.Checked && sdrq.DayOfWeek == DayOfWeek.Saturday)
                {
                    //排除周六
                }
                else if (chkDisable7.Checked && sdrq.DayOfWeek == DayOfWeek.Sunday)
                {
                    //排除周日
                }
                else
                {
                    dayDiff++;
                }
                sdrq = sdrq.AddDays(1);
            }

            return(dayDiff);
        }
Ejemplo n.º 11
0
        private void SendReport(T_JCXX jcxx, ReportType reportType)
        {
            #region 入参 参数名 类型及说明

            //         lngAdviceKey Long,医嘱ID
            //         strReportView   报告所见
            //         strReportAdvice 报告建议
            //         strReportDoctor 报告医生
            //         strAuditingDoctor   审核医生

            #endregion

            var success = zlInterface.SendReport(Convert.ToInt32(jcxx.F_YZID.Trim()), jcxx.F_JXSJ, jcxx.F_BLZD,
                                                 jcxx.F_BGYS);

            if (!success)
            {
                throw new Exception($"推送报告到HIS时出错[{jcxx.F_BLH}]:" + zlInterface.GetLastError());
            }

            Logger.Info("HIS接口回传报告成功:" + jcxx.F_BLH);
        }
Ejemplo n.º 12
0
        /// <summary>
        /// 如果JCXX状态为已审核,则回传结果
        /// 否则若病人类型为门诊,则进行门诊确费
        /// </summary>
        /// <param name="pathoNo">病理号</param>
        /// <param name="aa"></param>
        public void SendResult(string pathoNo)
        {
            T_JCXX jcxx = null;

            try
            {
                jcxx = new T_JCXX_DAL().GetModel(pathoNo);
            }
            catch (Exception e)
            {
                throw new Exception("没有找到该结果,病理号为:" + pathoNo);
            }

            if (jcxx == null)
            {
                throw new Exception("没有找到该结果,病理号为:" + pathoNo);
            }


            log.WriteMyLog("进入sendResult" + jcxx.F_SJKS);

            try
            {
                if (jcxx.F_BGZT == "已审核") //如果已审核,执行回传结果
                {
                    SendResult(jcxx);
                }
                else if (string.IsNullOrEmpty(jcxx.F_MZH.Trim()) == false) //如果不是已审核且科室为门诊,执行门诊确费
                {
                    log.WriteMyLog("进入OutCheckFee");
                    OutCheckFee(jcxx);
                }
            }
            catch (Exception e)
            {
                //该接口陈程要求所有报错都不弹窗,只记录log
            }
        }
Ejemplo n.º 13
0
        /// <summary>
        /// 获取extid,该值在pacs中代表报告id,必填
        /// </summary>
        /// <param name="jcxx"></param>
        /// <returns></returns>
        public string GetSqxhFormPacs(T_JCXX jcxx)
        {
            //判断是门诊还是住院
            string operType = "";

            if (string.IsNullOrEmpty(jcxx.F_MZH.Trim()) == false)
            {
                operType = "0";
            }
            else if (string.IsNullOrEmpty(jcxx.F_ZYH.Trim()) == false)
            {
                operType = "1";
            }

            string sxml = "";

            try
            {
                HnsfyRegistrationInterface.WebService service = new HnsfyRegistrationInterface.WebService();
                sxml = service.QuePatiengInfo("", "", "", jcxx.F_ZYH, jcxx.F_MZH, "", operType);

                var dt = GetDataSetByXml(sxml).Tables[0];
                var f  = new ApplicationSelector();
                f.DataTable = dt;
                f.ShowDialog();
                var exid = f.SelectedRow["exid"].ToString();
                //log.请求患者信息成功
                log.WriteMyLog("请求HIS患者信息成功,返回值:\r\n" + sxml);
                return(exid);
            }
            catch (Exception e)
            {
                //log.请求患者信息失败
                log.WriteMyLog("查询HIS患者信息失败:" + e.Message);
                throw new Exception("查询HIS患者信息失败:" + e.Message);
            }
        }
Ejemplo n.º 14
0
        private void ReceiveReport(T_JCXX jcxx)
        {
            #region 入参 参数名 类型及说明

            //    lngAdviceKey    Long,检查或检验申请单关键值(医嘱id入参必须)
            //
            //    strExeRoom String,执行间(默认空)
            //
            //    lngStudyNo Long,检查号(默认空)
            //
            //    strDevice String,检查设备(默认空)
            //
            //    lngHeight Long,身高(默认空)
            //
            //    lngWeight Long,体重(默认空)
            //
            //    strStudyDoc String,检查技师(默认空)
            //
            //    StrExeDate Date,执行时间(默认空)
            //
            //    strExeDes String,执行说明(默认空)
            //
            //    lngExecOne Long,是否分部位执行申请,0 - 成套执行;1 - 单独执行(默认0)

            #endregion

            int yzId    = Convert.ToInt32(jcxx.F_YZID.Trim());
            var success = zlInterface.RecevieRequest(yzId);

            if (!success)
            {
                var lastErr = zlInterface.GetLastError();
                throw new Exception($"向HIS回发报告状态时出现错误[{jcxx.F_BLH}]:" + lastErr);
            }
            Logger.Info("HIS接口确认申请单成功:" + jcxx.F_BLH);
        }
Ejemplo n.º 15
0
        public static void Send(string[] args)
        {
            Logger.Debug("接口exe被调用,入参:" + args[0]);

            IniFiles   f            = new IniFiles("sz.ini");
            var        blh          = "";
            var        bglx         = ""; //cg/bd/bc
            var        reportNumber = "";
            var        czlb         = ""; //new/old
            var        dz           = ""; //save/qxsh/dy/qxdy
            EditType   editType;
            PisAction  pisAction;
            string     hospName;
            ReportType reportType;

            #region 处理入参

            //处理入参
            try
            {
                string[] aa = args[0].Split('^');
                blh          = aa[0];
                bglx         = aa[1].ToLower(); //cg/bd/bc
                reportNumber = aa[2];
                czlb         = aa[3].ToLower(); //new/old
                dz           = aa[4].ToLower(); //save/qxsh/dy/qxdy

                reportType = ReportType.常规报告;
                switch (bglx)
                {
                case "cg":
                default:
                    reportType = ReportType.常规报告;
                    break;

                case "bd":
                    reportType = ReportType.冰冻报告;
                    break;

                case "bc":
                    reportType = ReportType.补充报告;
                    break;
                }
                editType = czlb == "new" ? EditType.新建 : EditType.修改;
                switch (dz)
                {
                case "save":
                    if (editType == EditType.新建)
                    {
                        pisAction = PisAction.新登记;
                    }
                    else
                    {
                        pisAction = PisAction.保存;
                    }
                    break;

                case "qxsh":
                    pisAction = PisAction.取消审核;
                    break;

                case "dy":
                    pisAction = PisAction.打印;
                    break;

                case "qxdy":
                    pisAction = PisAction.取消打印;
                    break;

                default:
                    pisAction = PisAction.未知;
                    break;
                }

                hospName = f.ReadString("savetohis", "yymc", "123").Replace("\0", "");
            }
            catch (Exception e)
            {
                Logger.Error("传入参数解析出错:" + e);
                MessageBox.Show("回传EXE入参错误:" + e);
                return;
            }

            #endregion

            Logger.Debug("EXE接口查询jcxx,病理号:" + blh);
            T_JCXX jcxx = T_JCXX_DAL.GetModel(blh);

            Logger.Debug("尝试获取接口实例,医院名称:" + hospName);
            var sender = Factory.GetSendToThirdPartyByHisName(hospName);

            if (sender == null)
            {
                Logger.Error("获取接口实例失败!");
            }

            Logger.Info($"开始调用EXE接口,病理号:{blh},操作类型:{pisAction},报告状态:{jcxx.F_BGZT}");
            switch (pisAction)
            {
            case PisAction.新登记:
                sender.OnAddReport(jcxx, reportType);
                break;

            case PisAction.保存:
                if (jcxx.F_BGZT == "已审核")
                {
                    sender.OnCheckReport(jcxx, reportType);
                }
                else
                {
                    sender.OnSaveReport(jcxx, reportType);
                }
                break;

            case PisAction.取消审核:
                sender.OnCancelCheckReport(jcxx, reportType);
                break;

            case PisAction.打印:
                sender.OnPrintReport(jcxx, reportType);
                break;

            case PisAction.取消打印:
                sender.OnCancelPrintReport(jcxx, reportType);
                break;

            default:
                throw new Exception("接口调用失败,无法解析PIS给的入参.");
            }
        }
Ejemplo n.º 16
0
 /// <summary>
 /// PIS取消打印报告时触发
 /// </summary>
 /// <param name="jcxx"></param>
 /// <param name="reportType">常规,冰冻,补充</param>
 public void OnCancelPrintReport(T_JCXX jcxx, ReportType reportType)
 {
     Console.WriteLine("OnCancelPrintReport:" + jcxx.F_BLH);
 }
Ejemplo n.º 17
0
 /// <summary>
 /// PIS保存报告时触发
 /// </summary>
 /// <param name="jcxx"></param>
 /// <param name="reportType">常规,冰冻,补充</param>
 public void OnSaveReport(T_JCXX jcxx, ReportType reportType)
 {
     Console.WriteLine("OnSaveReport:" + jcxx.F_BLH);
 }
Ejemplo n.º 18
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public static T_JCXX DataRowToModel(DataRow row)
        {
            T_JCXX model = new T_JCXX();

            if (row != null)
            {
                if (row["F_BLK"] != null)
                {
                    model.F_BLK = row["F_BLK"].ToString();
                }
                if (row["F_BLH"] != null)
                {
                    model.F_BLH = row["F_BLH"].ToString();
                }
                if (row["F_BRBH"] != null)
                {
                    model.F_BRBH = row["F_BRBH"].ToString();
                }
                if (row["F_SQXH"] != null)
                {
                    model.F_SQXH = row["F_SQXH"].ToString();
                }
                if (row["F_YZID"] != null)
                {
                    model.F_YZID = row["F_YZID"].ToString();
                }
                if (row["F_YZXM"] != null)
                {
                    model.F_YZXM = row["F_YZXM"].ToString();
                }
                if (row["F_STUDY_UID"] != null)
                {
                    model.F_STUDY_UID = row["F_STUDY_UID"].ToString();
                }
                if (row["F_XM"] != null)
                {
                    model.F_XM = row["F_XM"].ToString();
                }
                if (row["F_XB"] != null)
                {
                    model.F_XB = row["F_XB"].ToString();
                }
                if (row["F_NL"] != null)
                {
                    model.F_NL = row["F_NL"].ToString();
                }
                if (row["F_AGE"] != null && row["F_AGE"].ToString() != "")
                {
                    model.F_AGE = (double?)decimal.Parse(row["F_AGE"].ToString());
                }
                if (row["F_HY"] != null)
                {
                    model.F_HY = row["F_HY"].ToString();
                }
                if (row["F_MZ"] != null)
                {
                    model.F_MZ = row["F_MZ"].ToString();
                }
                if (row["F_ZY"] != null)
                {
                    model.F_ZY = row["F_ZY"].ToString();
                }
                if (row["F_SFZH"] != null)
                {
                    model.F_SFZH = row["F_SFZH"].ToString();
                }
                if (row["F_LXXX"] != null)
                {
                    model.F_LXXX = row["F_LXXX"].ToString();
                }
                if (row["F_BRLB"] != null)
                {
                    model.F_BRLB = row["F_BRLB"].ToString();
                }
                if (row["F_FB"] != null)
                {
                    model.F_FB = row["F_FB"].ToString();
                }
                if (row["F_ZYH"] != null)
                {
                    model.F_ZYH = row["F_ZYH"].ToString();
                }
                if (row["F_MZH"] != null)
                {
                    model.F_MZH = row["F_MZH"].ToString();
                }
                if (row["F_BQ"] != null)
                {
                    model.F_BQ = row["F_BQ"].ToString();
                }
                if (row["F_SJKS"] != null)
                {
                    model.F_SJKS = row["F_SJKS"].ToString();
                }
                if (row["F_CH"] != null)
                {
                    model.F_CH = row["F_CH"].ToString();
                }
                if (row["F_SJDW"] != null)
                {
                    model.F_SJDW = row["F_SJDW"].ToString();
                }
                if (row["F_SJYS"] != null)
                {
                    model.F_SJYS = row["F_SJYS"].ToString();
                }
                if (row["F_SDRQ"] != null)
                {
                    model.F_SDRQ = row["F_SDRQ"].ToString();
                }
                if (row["F_JSY"] != null)
                {
                    model.F_JSY = row["F_JSY"].ToString();
                }
                if (row["F_BBLX"] != null)
                {
                    model.F_BBLX = row["F_BBLX"].ToString();
                }
                if (row["F_BBQK"] != null)
                {
                    model.F_BBQK = row["F_BBQK"].ToString();
                }
                if (row["F_JSYY"] != null)
                {
                    model.F_JSYY = row["F_JSYY"].ToString();
                }
                if (row["F_SF"] != null && row["F_SF"].ToString() != "")
                {
                    model.F_SF = (double?)decimal.Parse(row["F_SF"].ToString());
                }
                if (row["F_BBMC"] != null)
                {
                    model.F_BBMC = row["F_BBMC"].ToString();
                }
                if (row["F_LCZD"] != null)
                {
                    model.F_LCZD = row["F_LCZD"].ToString();
                }
                if (row["F_LCZL"] != null)
                {
                    model.F_LCZL = row["F_LCZL"].ToString();
                }
                if (row["F_RYSJ"] != null)
                {
                    model.F_RYSJ = row["F_RYSJ"].ToString();
                }
                if (row["F_QCYS"] != null)
                {
                    model.F_QCYS = row["F_QCYS"].ToString();
                }
                if (row["F_QCRQ"] != null)
                {
                    model.F_QCRQ = row["F_QCRQ"].ToString();
                }
                if (row["F_JLY"] != null)
                {
                    model.F_JLY = row["F_JLY"].ToString();
                }
                if (row["F_LKZS"] != null && row["F_LKZS"].ToString() != "")
                {
                    model.F_LKZS = int.Parse(row["F_LKZS"].ToString());
                }
                if (row["F_CKZS"] != null && row["F_CKZS"].ToString() != "")
                {
                    model.F_CKZS = int.Parse(row["F_CKZS"].ToString());
                }
                if (row["F_FY"] != null)
                {
                    model.F_FY = row["F_FY"].ToString();
                }
                if (row["F_JXSJ"] != null)
                {
                    model.F_JXSJ = row["F_JXSJ"].ToString();
                }
                if (row["F_BLZD"] != null)
                {
                    model.F_BLZD = row["F_BLZD"].ToString();
                }
                if (row["F_TSJC"] != null)
                {
                    model.F_TSJC = row["F_TSJC"].ToString();
                }
                try
                {
                    if (row["F_BGYS"] != null)
                    {
                        model.F_BGYS = row["F_BGYS"].ToString();
                    }
                }
                catch (Exception e)
                {
                }
                if (row["F_SHYS"] != null)
                {
                    model.F_SHYS = row["F_SHYS"].ToString();
                }
                if (row["F_BGRQ"] != null)
                {
                    model.F_BGRQ = row["F_BGRQ"].ToString();
                }
                if (row["F_CZYJ"] != null)
                {
                    model.F_CZYJ = row["F_CZYJ"].ToString();
                }
                if (row["F_XGYJ"] != null)
                {
                    model.F_XGYJ = row["F_XGYJ"].ToString();
                }
                if (row["F_ZDGJC"] != null)
                {
                    model.F_ZDGJC = row["F_ZDGJC"].ToString();
                }
                if (row["F_YYX"] != null)
                {
                    model.F_YYX = row["F_YYX"].ToString();
                }
                if (row["F_WFBGYY"] != null)
                {
                    model.F_WFBGYY = row["F_WFBGYY"].ToString();
                }
                if (row["F_BZ"] != null)
                {
                    model.F_BZ = row["F_BZ"].ToString();
                }
                if (row["F_BD_SFFH"] != null)
                {
                    model.F_BD_SFFH = row["F_BD_SFFH"].ToString();
                }
                if (row["F_BGZT"] != null)
                {
                    model.F_BGZT = row["F_BGZT"].ToString();
                }
                if (row["F_SFCT"] != null)
                {
                    model.F_SFCT = row["F_SFCT"].ToString();
                }
                if (row["F_SFDY"] != null)
                {
                    model.F_SFDY = row["F_SFDY"].ToString();
                }
                if (row["F_BGGS"] != null)
                {
                    model.F_BGGS = row["F_BGGS"].ToString();
                }
                if (row["F_GDZT"] != null)
                {
                    model.F_GDZT = row["F_GDZT"].ToString();
                }
                if (row["F_KNHZ"] != null && row["F_KNHZ"].ToString() != "")
                {
                    model.F_KNHZ = int.Parse(row["F_KNHZ"].ToString());
                }
                if (row["F_ZJYJ"] != null)
                {
                    model.F_ZJYJ = row["F_ZJYJ"].ToString();
                }
                if (row["F_WYYJ"] != null)
                {
                    model.F_WYYJ = row["F_WYYJ"].ToString();
                }
                if (row["F_SFZT"] != null && row["F_SFZT"].ToString() != "")
                {
                    model.F_SFZT = int.Parse(row["F_SFZT"].ToString());
                }
                if (row["F_SFJG"] != null)
                {
                    model.F_SFJG = row["F_SFJG"].ToString();
                }
                if (row["F_JBBM_CN"] != null)
                {
                    model.F_JBBM_CN = row["F_JBBM_CN"].ToString();
                }
                if (row["F_JBBM_ENG"] != null)
                {
                    model.F_JBBM_ENG = row["F_JBBM_ENG"].ToString();
                }
                if (row["F_JBMC"] != null)
                {
                    model.F_JBMC = row["F_JBMC"].ToString();
                }
                if (row["F_YBLH"] != null)
                {
                    model.F_YBLH = row["F_YBLH"].ToString();
                }
                if (row["F_SJCL"] != null)
                {
                    model.F_SJCL = row["F_SJCL"].ToString();
                }
                if (row["F_YBLZD"] != null)
                {
                    model.F_YBLZD = row["F_YBLZD"].ToString();
                }
                if (row["F_BGFSFS"] != null)
                {
                    model.F_BGFSFS = row["F_BGFSFS"].ToString();
                }
                if (row["F_SCYS"] != null)
                {
                    model.F_SCYS = row["F_SCYS"].ToString();
                }
                if (row["F_SFFH"] != null)
                {
                    model.F_SFFH = row["F_SFFH"].ToString();
                }
                if (row["F_SPARE1"] != null)
                {
                    model.F_SPARE1 = row["F_SPARE1"].ToString();
                }
                if (row["F_SPARE2"] != null)
                {
                    model.F_SPARE2 = row["F_SPARE2"].ToString();
                }
                if (row["F_SPARE3"] != null)
                {
                    model.F_SPARE3 = row["F_SPARE3"].ToString();
                }
                if (row["F_SPARE4"] != null)
                {
                    model.F_SPARE4 = row["F_SPARE4"].ToString();
                }
                if (row["F_SPARE5"] != null)
                {
                    model.F_SPARE5 = row["F_SPARE5"].ToString();
                }
                if (row["F_SPARE6"] != null)
                {
                    model.F_SPARE6 = row["F_SPARE6"].ToString();
                }
                if (row["F_SPARE7"] != null)
                {
                    model.F_SPARE7 = row["F_SPARE7"].ToString();
                }
                if (row["F_SPARE8"] != null)
                {
                    model.F_SPARE8 = row["F_SPARE8"].ToString();
                }
                if (row["F_SPARE9"] != null)
                {
                    model.F_SPARE9 = row["F_SPARE9"].ToString();
                }
                if (row["F_SPARE10"] != null)
                {
                    model.F_SPARE10 = row["F_SPARE10"].ToString();
                }
                if (row["F_BY1"] != null)
                {
                    model.F_BY1 = row["F_BY1"].ToString();
                }
                if (row["F_BY2"] != null)
                {
                    model.F_BY2 = row["F_BY2"].ToString();
                }
                if (row["F_TXML"] != null)
                {
                    model.F_TXML = row["F_TXML"].ToString();
                }
                if (row["F_ZPZT"] != null)
                {
                    model.F_ZPZT = row["F_ZPZT"].ToString();
                }
                if (row["F_MCYJ"] != null)
                {
                    model.F_MCYJ = row["F_MCYJ"].ToString();
                }
                if (row["F_SFJJ"] != null)
                {
                    model.F_SFJJ = row["F_SFJJ"].ToString();
                }
                if (row["F_TBSID"] != null && row["F_TBSID"].ToString() != "")
                {
                    model.F_TBSID = int.Parse(row["F_TBSID"].ToString());
                }
                if (row["F_TBSMC"] != null)
                {
                    model.F_TBSMC = row["F_TBSMC"].ToString();
                }
                if (row["F_QSB_DYZT"] != null)
                {
                    model.F_QSB_DYZT = row["F_QSB_DYZT"].ToString();
                }
                if (row["F_BGWZ"] != null)
                {
                    model.F_BGWZ = row["F_BGWZ"].ToString();
                }
                if (row["F_BGWZ_QRSJ"] != null)
                {
                    model.F_BGWZ_QRSJ = row["F_BGWZ_QRSJ"].ToString();
                }
                if (row["F_BGWZ_QRCZY"] != null)
                {
                    model.F_BGWZ_QRCZY = row["F_BGWZ_QRCZY"].ToString();
                }
                if (row["F_BBWZ"] != null)
                {
                    model.F_BBWZ = row["F_BBWZ"].ToString();
                }
                if (row["F_LKWZ"] != null)
                {
                    model.F_LKWZ = row["F_LKWZ"].ToString();
                }
                if (row["F_QPWZ"] != null)
                {
                    model.F_QPWZ = row["F_QPWZ"].ToString();
                }
                if (row["F_GDCZY"] != null)
                {
                    model.F_GDCZY = row["F_GDCZY"].ToString();
                }
                if (row["F_GDSJ"] != null)
                {
                    model.F_GDSJ = row["F_GDSJ"].ToString();
                }
                if (row["F_GDBZ"] != null)
                {
                    model.F_GDBZ = row["F_GDBZ"].ToString();
                }
                if (row["F_BGLRY"] != null)
                {
                    model.F_BGLRY = row["F_BGLRY"].ToString();
                }
                if (row["F_FZYS"] != null)
                {
                    model.F_FZYS = row["F_FZYS"].ToString();
                }
                if (row["F_YL1"] != null)
                {
                    model.F_YL1 = row["F_YL1"].ToString();
                }
                if (row["F_YL2"] != null)
                {
                    model.F_YL2 = row["F_YL2"].ToString();
                }
                if (row["F_YL3"] != null)
                {
                    model.F_YL3 = row["F_YL3"].ToString();
                }
                if (row["F_YL4"] != null)
                {
                    model.F_YL4 = row["F_YL4"].ToString();
                }
                if (row["F_YL5"] != null)
                {
                    model.F_YL5 = row["F_YL5"].ToString();
                }
                if (row["F_YL6"] != null)
                {
                    model.F_YL6 = row["F_YL6"].ToString();
                }
                if (row["F_YL7"] != null)
                {
                    model.F_YL7 = row["F_YL7"].ToString();
                }
                if (row["F_YL8"] != null)
                {
                    model.F_YL8 = row["F_YL8"].ToString();
                }
                if (row["F_YL9"] != null)
                {
                    model.F_YL9 = row["F_YL9"].ToString();
                }
                if (row["F_YL10"] != null)
                {
                    model.F_YL10 = row["F_YL10"].ToString();
                }
                if (row["F_ICD10_BM1"] != null)
                {
                    model.F_ICD10_BM1 = row["F_ICD10_BM1"].ToString();
                }
                if (row["F_ICD10_MC1"] != null)
                {
                    model.F_ICD10_MC1 = row["F_ICD10_MC1"].ToString();
                }
                if (row["F_BL1"] != null)
                {
                    model.F_BL1 = row["F_BL1"].ToString();
                }
                if (row["F_BL2"] != null)
                {
                    model.F_BL2 = row["F_BL2"].ToString();
                }
                if (row["F_BL3"] != null)
                {
                    model.F_BL3 = row["F_BL3"].ToString();
                }
                if (row["F_BL4"] != null)
                {
                    model.F_BL4 = row["F_BL4"].ToString();
                }
                if (row["F_BL5"] != null)
                {
                    model.F_BL5 = row["F_BL5"].ToString();
                }
                if (row["F_BL6"] != null)
                {
                    model.F_BL6 = row["F_BL6"].ToString();
                }
                if (row["F_BL7"] != null)
                {
                    model.F_BL7 = row["F_BL7"].ToString();
                }
                if (row["F_BL8"] != null)
                {
                    model.F_BL8 = row["F_BL8"].ToString();
                }
                if (row["F_BL9"] != null)
                {
                    model.F_BL9 = row["F_BL9"].ToString();
                }
                if (row["F_BL10"] != null)
                {
                    model.F_BL10 = row["F_BL10"].ToString();
                }
                if (row["F_ICD10_BM2"] != null)
                {
                    model.F_ICD10_BM2 = row["F_ICD10_BM2"].ToString();
                }
                if (row["F_ICD10_MC2"] != null)
                {
                    model.F_ICD10_MC2 = row["F_ICD10_MC2"].ToString();
                }
                try
                {
                    if (row["F_FBSJ"] != null)
                    {
                        model.F_FBSJ = row["F_FBSJ"].ToString();
                    }
                }
                catch (Exception e)
                {
                }
                try
                {
                    if (row["F_FBYS"] != null)
                    {
                        model.F_FBYS = row["F_FBYS"].ToString();
                    }
                }
                catch (Exception e)
                {
                }
            }
            return(model);
        }
Ejemplo n.º 19
0
        /// <summary>
        /// PIS打印报告时触发
        /// </summary>
        /// <param name="jcxx"></param>
        /// <param name="reportType">常规,冰冻,补充</param>
        public void OnPrintReport(T_JCXX jcxx, ReportType reportType)
        {
//            throw new NotImplementedException();
        }
Ejemplo n.º 20
0
 /// <summary>
 /// PIS取消审核报告时触发
 /// </summary>
 /// <param name="jcxx"></param>
 /// <param name="reportType">常规,冰冻,补充</param>
 public void OnCancelCheckReport(T_JCXX jcxx, ReportType reportType)
 {
     DelReport(jcxx, reportType);
 }
Ejemplo n.º 21
0
 /// <summary>
 /// PIS审核报告时触发
 /// </summary>
 /// <param name="jcxx"></param>
 /// <param name="reportType">常规,冰冻,补充</param>
 public void OnCheckReport(T_JCXX jcxx, ReportType reportType)
 {
     SendReport(jcxx, reportType);
 }
Ejemplo n.º 22
0
 /// <summary>
 /// PIS系统登记申请单时触发该方法
 /// </summary>
 /// <param name="jcxx"></param>
 /// <param name="reportType">常规,冰冻,补充</param>
 public void OnAddReport(T_JCXX jcxx, ReportType reportType)
 {
     ReceiveReport(jcxx);
 }
Ejemplo n.º 23
0
        /// <summary>
        /// 调用PACS接口回传报告结果
        /// </summary>
        /// <param name="jcxx"></param>
        private void SendResult(T_JCXX jcxx)
        {
            #region HIS Data Schema

//< Request >
//< reportdoctorname ></ reportdoctorname > 报告医生    nvarchar
//< checkdoctor ></ checkdoctor > 审核医生    nvarchar
//< checktime ></ checktime > 审核时间    datetime
//< reporttime ></ reporttime > 报告时间    datetime
//< exsee ></ exsee > 检查所见    nvarchar
//< exrel ></ exrel > 检查结论    nvarchar
//< extype ></ extype > 检查类型    nvarchar
//< exadvis ></ exadvis > 医生建议    nvarchar
//< exstatue ></ exstatue > 检查状态    nvarchar
//< isJzreport ></ isJzreport > 是否为急诊报告 Int
//< exsqdh ></ exsqdh > 申请单号    nvarchar
//< IsDelete ></ IsDelete > 删除标志    Int
//< exwjz ></ exwjz > 危急值内容   nvarchar
//< reportfilepath ></ reportfilepath > 病人网页报告地址    nvarchar
//< vendor ></ vendor > 科室PACS厂商名称  nvarchar
//< opertype ></ opertype >执行操作类型  nvarchar
//< exid ></ exid > 检查ID,院PACS提供 Int
//< ImageFile >
//< Path1 > 报告图像路径1 | 1 </ Path1 >
//< Path2 > 报告图像路径2 | 2 </ Path2 >
//< Path3 > 报告图像路径3 | 0 </ Path3 >
//</ ImageFile >
//    图像路径
//</ Request >

            #endregion

            //2017年3月16日 刘冬阳:申请序号exid在保存病人时已写入sqxh
            //获取申请序号
            //jcxx.F_SQXH = GetSqxhFormPacs(jcxx);

            //如果没有审核时间,用报告时间代替审核时间
            if (jcxx.F_SPARE5.Trim() == "")
            {
                jcxx.F_SPARE5 = jcxx.F_BGRQ;
            }

            if (string.IsNullOrEmpty(jcxx.F_SQXH.Trim()))
            {
                throw new Exception("发送结果失败,因为没有获取到extId");
            }

            string returnXml =
                $@"<Request>
                                    <reportdoctorname>{jcxx.F_BGYS}</reportdoctorname>
                                    <checkdoctor>{jcxx.F_SHYS}</checkdoctor>
                                    <checktime>{Convert.ToDateTime(jcxx.F_BGRQ).ToString("yyyy-MM-dd HH:mm:ss")}</checktime>
                                    <reporttime>{Convert.ToDateTime(jcxx.F_BGRQ).ToString("yyyy-MM-dd HH:mm:ss")}</reporttime> 
                                    <exsee>{jcxx.F_RYSJ}</exsee>
                                    <exrel>{jcxx.F_BLZD}</exrel>  
                                    <extype>病理</extype>
                                    <exadvis></exadvis>
                                    <exstatue>已打印发布报告</exstatue> 
                                    <isJzreport>0</isJzreport>
                                    <exsqdh>0</exsqdh>
                                    <IsDelete>0</IsDelete>
                                    <exwjz>{jcxx.F_BZ}</exwjz>
                                    <reportwebfilepath>http://192.168.42.158/pathwebrpt/index_y.asp?yzh={jcxx.F_SQXH}</reportwebfilepath>
                                    <vendor>无锡朗珈</vendor>
                                    <opertype></opertype>
                                    <exid>{jcxx.F_SQXH}</exid>
                                    <isPositive>{jcxx.F_YYX}</isPositive>
                                    <ImageFile>
                                        {GetImageFile(jcxx)}                                    
                                    </ImageFile>

                                    </Request>";

            log.WriteMyLog("开始调用返回结果接口,入参为:\r\n" + returnXml);

            try
            {
                //调用回传结果接口
                string returnXML = new ServiceForward().CallService(returnXml);

                var    row   = GetDataSetByXml(returnXML).Tables[0].Rows[0];
                int    count = Int32.Parse(row["Iden"].ToString());
                string msg   = row["reltxt"].ToString();

                //如果count<0则回传失败
                if (count < 0)
                {
                    throw new Exception(msg);
                }
                else
                {
                    log.WriteMyLog("回传报告成功!");
                }
            }
            catch (Exception e)
            {
                log.WriteMyLog("回传报告失败,因为:" + e.Message + "\r\n接口返回值为:" + returnXml);
                throw;
            }
        }
Ejemplo n.º 24
0
        /// <summary>
        /// 病理图片上传到外部系统ftp,并获取病理图片xml字符串
        /// </summary>
        /// <param name="jcxx">检查信息表</param>
        /// <returns></returns>
        public string GetImageFile(T_JCXX jcxx)
        {
            var sqlWhere = $" F_BLH='{jcxx.F_BLH}' and F_SFDY='1' ";
            var txList   = new T_TX_DAL().GetList(sqlWhere);

            string imageFileString = "";

            #region ftp变量声明

            IniFiles f             = new IniFiles("sz.ini");
            string   ftpserver     = f.ReadString("ftp", "ftpip", "").Replace("\0", "");
            string   ftpuser       = f.ReadString("ftp", "user", "ftpuser").Replace("\0", "");
            string   ftppwd        = f.ReadString("ftp", "pwd", "ftp").Replace("\0", "");
            string   ftplocal      = f.ReadString("ftp", "ftplocal", "c:\\temp").Replace("\0", "");
            string   ftpremotepath = f.ReadString("ftp", "ftpremotepath", "pathimages").Replace("\0", "");
            string   ftps          = f.ReadString("ftp", "ftp", "").Replace("\0", "");
            string   txpath        = f.ReadString("txpath", "txpath", "").Replace("\0", "");
            FtpWeb   fw            = new FtpWeb(ftpserver, ftpremotepath, ftpuser, ftppwd);

            string ftpserver2     = f.ReadString("ftpup", "ftpip", "").Replace("\0", "");
            string ftpuser2       = f.ReadString("ftpup", "user", "ftpuser").Replace("\0", "");
            string ftppwd2        = f.ReadString("ftpup", "pwd", "ftp").Replace("\0", "");
            string ftplocal2      = f.ReadString("ftpup", "ftplocal", "c:\\temp").Replace("\0", "");
            string ftpremotepath2 = f.ReadString("ftpup", "ftpremotepath", "").Replace("\0", "");
            string ftps2          = f.ReadString("ftp", "ftp", "").Replace("\0", "");
            FtpWeb fwup           = new FtpWeb(ftpserver2, ftpremotepath2, ftpuser2, ftppwd2);

            string ftpPath  = $@"ftp:\\{ftpserver}\";  //这里要替换为本地配置文件的ftp路径
            string ftpPath2 = $@"ftp:\\{ftpserver2}\"; //这里要替换为本地配置文件的ftp路径

            #endregion

            for (int i = 0; i < txList.Count; i++)
            {
                var upFilePath = jcxx.F_TXML + "\\";
                var upFileName = upFilePath + txList[i].F_TXM.Trim();

                //下载图片
                string ftpstatus = "";
                if (!Directory.Exists(ftplocal + "\\" + upFilePath))
                {
                    Directory.CreateDirectory(ftplocal + "\\" + upFilePath);
                }
                try
                {
                    fw.Download(ftplocal + "\\" + upFilePath, upFileName, txList[i].F_TXM.Trim(), out ftpstatus);
                    if (ftpstatus == "Error")
                    {
                        throw new Exception("Error");
                    }
                }
                catch (Exception e)
                {
                    log.WriteMyLog("下载ftp图片失败,病理号:" + jcxx.F_BLH +
                                   "\r\n失败原因:" + e.Message);
                    continue;
                }


                //上传到目标ftp
                string ftpstatusUP = "";
                try
                {
                    fwup.Makedir("BL", out ftpstatusUP);
                    fwup.Makedir("BL\\" + upFilePath, out ftpstatusUP);
                    fwup.Upload(ftplocal + "\\" + upFileName, "BL\\" + upFilePath, out ftpstatusUP);
                    if (ftpstatusUP == "Error")
                    {
                        throw new Exception("Error");
                    }
                }
                catch (Exception e)
                {
                    log.WriteMyLog("上传ftp图片失败,病理号:" + jcxx.F_BLH +
                                   "\r\n失败原因:" + e.Message);
                    continue;
                }

                imageFileString +=
                    $@"<Path{i + 1}> {ftpPath2 + "BL\\" + upFileName} | 1 </Path{i + 1}>                                    ";
            }

            return(imageFileString);
        }
Ejemplo n.º 25
0
        public void UploadPic(List <T_TX> txList, T_JCXX jcxx, string fileId)
        {
            var targetServerDir = $"{DateTime.Now.ToString("yyyy")}\\{DateTime.Now.ToString("MM")}\\{DateTime.Now.ToString("dd")}\\{fileId}";
            var pisServerDir    = jcxx.F_TXML;
            var localdir        = $"Pics\\" + targetServerDir;

            for (int i = 0; i < txList.Count; i++)
            {
                var upFilePath         = targetServerDir + "\\";
                var serverFileFullName = pisServerDir + "\\" + txList[i].F_TXM.Trim();
                var localFileFullName  = localdir + "\\" + txList[i].F_TXM.Trim();

                //下载图片
                string ftpstatus = "";
                if (!Directory.Exists(localdir))
                {
                    Directory.CreateDirectory(localdir);
                }
                try
                {
                    ftpPis.Download(localdir, serverFileFullName, txList[i].F_TXM.Trim(), out ftpstatus);
                    if (ftpstatus == "Error")
                    {
                        throw new Exception("下载图片失败");
                    }
                }
                catch (Exception e)
                {
                    log.WriteMyLog("下载ftp图片失败,病理号:" + jcxx.F_BLH +
                                   "\r\n失败原因:" + e);
                    continue;
                }


                //上传到目标ftp
                string ftpstatusUP = "";
                try
                {
                    ftpUp.Makedir("BL", out ftpstatusUP);
                    ftpUp.Makedir("BL\\" + upFilePath, out ftpstatusUP);
                    ftpUp.Upload(localFileFullName, targetServerDir, out ftpstatusUP);
                    if (ftpstatusUP == "Error")
                    {
                        throw new Exception("Error");
                    }
                }
                catch (Exception e)
                {
                    log.WriteMyLog("上传ftp图片失败,病理号:" + jcxx.F_BLH +
                                   "\r\n失败原因:" + e);
                    continue;
                }

                //上传完成后删除本地图片
                try
                {
                    File.Delete(localFileFullName);
                }
                catch
                {
                }
            }
        }