示例#1
0
文件: T_SQL_DAL.cs 项目: ewin66/-
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public T_SQD GetModel(string sqlWhere)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("select * from T_SQD ");
            strSql.Append($" where 1 = 1" + sqlWhere);

            var dt = aa.GetDataTable(strSql.ToString(), "dt");

            if (dt.Rows.Count > 0)
            {
                return(DataRowToModel(dt.Rows[0]));
            }
            return(null);
        }
        private void GetItems()
        {
            //如果外部传入了列表,则不再重新读取
            if (CycItems == null)
            {
                string fl          = "f_fzbl_zdjb"; //f_fzbl_yzxm
                string sqlWhereBlk = "";
                if (string.IsNullOrEmpty(F_BLK?.Trim()) == false)
                {
                    sqlWhereBlk = $" and f_zjc1 = '{F_BLK}' ";
                }
                string sql = $" select * from T_CYC where f_cyc_fl='{fl}' {sqlWhereBlk} order by F_CYC_MC ";

                var _dtItems = aa.GetDataTable(sql, "table1");
                CycItems = new List <CYC_Item>();
                foreach (DataRow row in _dtItems.Rows)
                {
                    CycItems.Add(new CYC_Item(row));
                }
            }

            //通过名称获取拼音码
            foreach (CYC_Item cycItem in CycItems)
            {
                cycItem.PYM = GetSpellCode(cycItem.CYC_MC);
            }
        }
示例#3
0
文件: hszxyy.cs 项目: ewin66/-
        private void hszxyy_Shown(object sender, EventArgs e)
        {
            ysmc = f.ReadString("yh", "yhmc", "").Replace("\0", "");
            ysgh = f.ReadString("yh", "yhbh", "").Replace("\0", "");
            DataTable dt    = aa.GetDataTable("select * from T_jcxx where F_blh='" + F_blh + "'", "jcxx");
            var       dtMsg = aa.GetDataTable($"select * from t_wjz_sms t where f_blh='{F_blh}'", "dt1");

            if (dt.Rows.Count < 1)
            {
                MessageBox.Show("未找病理号!");
                this.Close();
            }
            else
            {
                //获取危急值确认情况
                if (dtMsg.Rows.Count > 0)
                {
                    var drMsg    = dtMsg.Rows[0];
                    var sendDate = Convert.ToDateTime(drMsg["f_send_date"]);
                    txtLastSendDate.Text  = sendDate.ToString("yyyy-MM-dd HH:mm:ss");
                    txtConfirmStatus.Text = drMsg["f_confirm_status"].ToString();

                    //如果超过24小时则危急值接收已超时,文字显示成红色
                    if (txtConfirmStatus.Text == "未确认" && (DateTime.Now - sendDate).TotalHours > 24)
                    {
                        txtConfirmStatus.ForeColor = Color.Red;
                    }
                    else
                    {
                        txtConfirmStatus.ForeColor = Color.Black;
                    }
                }

                txtArea.Text        = dt.Rows[0]["F_bq"].ToString();
                txtBlh.Text         = F_blh;
                txtLastContent.Text = dt.Rows[0]["F_yl6"].ToString();
                //短信样式:
//                    【鄂东医疗集团】周丹君,1997 - 10 - 22,住院号: 11662917,病理申请号:123456789,床号: 18 病理危机值提示: 1.(右卵巢)多房性粘液性囊腺瘤伴广泛出血、变性。
//                2.(右侧)输卵管组织见出血,血管扩张、淤血。

                sqxh            = dt.Rows[0]["F_sqxh"].ToString();
                txtContent.Text = "【鄂东医疗集团】" + dt.Rows[0]["F_xm"] + "," + dt.Rows[0]["F_mz"] + ",住院号:" + dt.Rows[0]["F_zyh"] + "申请单号:" + sqxh + ",床号:" + dt.Rows[0]["F_ch"] + " 危机值提示:" + dt.Rows[0]["F_blzd"].ToString() + " 收到请回复:BL" + sqxh;
                bgys            = dt.Rows[0]["F_bgys"].ToString().Trim();
                shys            = dt.Rows[0]["F_shys"].ToString().Trim();
                bgrq            = dt.Rows[0]["F_bgrq"].ToString().Trim();
            }
        }
示例#4
0
        public Form1()
        {
            InitializeComponent();

            cmbBlk.Items.Add("");
            var dtBlk = aa.GetDataTable(" select F_BLKMC from t_blk_cs ", "dt1");

            foreach (DataRow dtBlkRow in dtBlk.Rows)
            {
                cmbBlk.Items.Add(dtBlkRow["F_BLKMC"].ToString());
            }
        }
示例#5
0
        /// <summary>
        /// 上报危急值
        /// </summary>
        /// <param name="blh">病理号</param>
        public void ReportCrisis(string blh)
        {
            string sql    = "select * from t_jcxx t where t.f_blh='" + blh + "' ";
            var    dtJcxx = aa.GetDataTable(sql, "dt");

            if (dtJcxx.Rows.Count < 0)
            {
                throw new Exception("没有找到病理号[" + blh + "]对应的jcxx");
            }

            var drJcxx        = dtJcxx.Rows[0];
            var crisisMessage = drJcxx["f_bz"].ToString();
        }
示例#6
0
        public static string szz(dbbase.odbcdb aa, string xl)
        {
            DataTable T_SZ = new DataTable();

            T_SZ = aa.GetDataTable("SELECT * FROM T_SZ WHERE F_XL like '%" + xl + "%'", "T_SZ");
            if (T_SZ.Rows.Count > 0)
            {
                return(T_SZ.Rows[0]["F_SZZ"].ToString());
            }
            else
            {
                return("");
            }
        }
示例#7
0
        private void button2_Click(object sender, EventArgs e)
        {
            string sql = "select F_id,F_blh as 病理号,F_jssj as 时间,F_FSZt as 发送状态,F_fscs as 发送次数,f_bz as 备注,f_bglx as 报告类型,f_bgxh as 报告序号 from T_JXKH_FS where   F_jssj>='" + dateTimePicker1.Value.ToString("yyyy-MM-dd") + "'  and F_jssj<'" + dateTimePicker2.Value.AddDays(1).ToString("yyyy-MM-dd") + "'  ";

            if (cmbfszt.Text.Trim() != "" && cmbfszt.Text.Trim() != "全部")
            {
                sql = sql + " and  F_FSZT='" + cmbfszt.Text.Trim() + "'";
            }

            if (cmbbgzt.Text.Trim() != "" && cmbbgzt.Text.Trim() != "全部")
            {
                sql = sql + " and  F_BGZT='" + cmbbgzt.Text.Trim() + "'";
            }

            if (textBox1.Text.Trim() != "")
            {
                sql = sql + " and  F_blh='" + textBox1.Text.Trim() + "'";
            }

            DataTable dt1 = aa.GetDataTable(sql, "fsbg");

            dataGridView1.DataSource = dt1;
            label6.Text = "行数:" + dataGridView1.RowCount.ToString();
        }
示例#8
0
        public static List <T_BLK_CS> GetAll()
        {
            List <T_BLK_CS> lstCyc = new List <T_BLK_CS>();

            var dtCyc = aa.GetDataTable($" select * from T_BLK_CS t ", "dt1");

            if (dtCyc != null)
            {
                foreach (DataRow row in dtCyc.Rows)
                {
                    lstCyc.Add(T_BLK_CS.DataRowToModel(row));
                }
            }
            return(lstCyc);
        }
示例#9
0
        //执行oracle数据库查询操作,insert,update,delete,传sql语句,返回影响行数
        //private int insert_orcl(string orcl_strsql, string sm)
        //{
        //    string constr = "Provider='MSDAORA';data source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.215)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = cehr)));user id =cehr;password=Cehr";

        //    OleDbConnection orcl_con = new OleDbConnection(constr);
        //    OleDbCommand ocdc = new OleDbCommand(orcl_strsql, orcl_con);

        //    int x = 0;
        //    try
        //    {
        //        orcl_con.Open();
        //        x = ocdc.ExecuteNonQuery();
        //        orcl_con.Close();
        //        ocdc.Dispose();
        //    }
        //    catch (Exception insert_ee)
        //    {
        //        orcl_con.Close(); ocdc.Dispose();

        //          LGZGQClass.log.WriteMyLog("操作orcal数据库异常--" + insert_ee.ToString());
        //        return 0;
        //    }
        //    return x;

        //}
        private string getyhbh(string yhmc)
        {
            if (yhmc.Trim() == "")
            {
                return("");
            }

            dbbase.odbcdb aa   = new dbbase.odbcdb("DSN=pathnet;UID=pathnet;PWD=4s3c2a1p", "", "");
            DataTable     bljc = new DataTable();

            bljc = aa.GetDataTable("select F_YHBH from T_yh where F_yhmc='" + yhmc + "'", "yhbh");
            aa.Close();
            if (bljc.Rows.Count == 0)
            {
                return("");
            }
            return(bljc.Rows[0]["F_yhbh"].ToString());
        }
示例#10
0
        private void GetItems()
        {
            //如果外部传入了列表,则不再重新读取
            if (CycItems == null)
            {
                string fl       = "f_fzbl_yzxm"; //f_fzbl_yzxm
                string sql      = $" select * from T_CYC where f_cyc_fl='{fl}' order by F_CYC_MC ";
                var    _dtItems = aa.GetDataTable(sql, "table1");
                CycItems = new List <CYC_Item>();
                foreach (DataRow row in _dtItems.Rows)
                {
                    CycItems.Add(new CYC_Item(row));
                }
            }

            //通过名称获取拼音码
            foreach (CYC_Item cycItem in CycItems)
            {
                cycItem.PYM = GetSpellCode(cycItem.CYC_MC);
            }
        }
示例#11
0
        public string ca(string yhxx)
        {
            string webservices = "";
            //-------获取sz中设置的参数---------------------
            string msg = f.ReadString("CA", "msg", "");
            string web = f.ReadString("CA", "webservices", "");

            if (web.Trim() != "")
            {
                webservices = web;
            }
            string appid_1 = f.ReadString("CA", "appid", "");

            if (web.Trim() != "")
            {
                appid = appid_1;
            }

            string getblh = "";
            string type   = "";
            string type2  = "";
            string yhm    = "";

            string yhmc    = "";
            string yhbh    = "";
            string yhmm    = "";
            string bglx    = "";
            string bgxh    = "";
            string keyname = "";

            string[] getyhxx = yhxx.Split('^');
            if (getyhxx.Length == 5)
            {
                type = getyhxx[0];
                yhm  = getyhxx[1];
                yhmc = getyhxx[3];
                yhbh = getyhxx[2];
                yhmm = getyhxx[4];
            }
            else
            {
                type2  = getyhxx[0];
                getblh = getyhxx[1];
                bgxh   = getyhxx[2];
                bglx   = getyhxx[3];
                type   = getyhxx[4];
                yhm    = getyhxx[5];
                yhmc   = getyhxx[6];
                yhbh   = getyhxx[7];
                yhmm   = getyhxx[8];
            }


            //Login_CA("SHQTYSZQZ^" + psCURBLH + "^1^CG^QXSH^" + psYHM + "^" + psYHMC + "^" + psYHBH + "^" + psYHMM)
            // 获取key盘信息---------------------------------------------------------------------------------------------
            xjcaTechATLLib.xjcaTechATLLib xj = new xjcaTechATLLib.xjcaTechATLLib();
            try
            {
                ////调控件
                // MessageBox.Show(xj.XJCA_CspInstalled("HaiTai Cryptographic Service Provider for xjca").ToString());
                //MessageBox.Show(xj.XJCA_CspInstalled("HaiTai Cryptographic Service Provider for xjca").ToString());

                //if (xj.XJCA_CspInstalled("HaiTai Cryptographic Service Provider for xjca").ToString() == "0")
                //{
                //    MessageBox.Show("驱动未安好");
                //    return "0";
                //}
                //if (xj.XJCA_KeyInsert("HaiTai Cryptographic Service Provider for xjca").ToString() == "1")
                //{
                //    MessageBox.Show("key未插入");
                //    return "0";
                //}
                //调动态库
                if (XJCAverify.XJCA_CspInstalled() == false)
                {
                    MessageBox.Show("驱动未安好");
                    return("0");
                }
                if (XJCAverify.XJCA_KeyInserted() == false)
                {
                    MessageBox.Show("key未插入");
                    return("0");
                }
            }
            catch
            { }


            //-------------验证key盘是否插入-------------------------------------------------------------------------------
            string dn = "";

            string[] aaa_ca;
            try
            {
                ////调动态库
                ////-----SN---
                //StringBuilder sn_strB = new StringBuilder(100);
                //int sn_len = 0;
                //XJCAverify.XJCA_GetCertSN(2, sn_strB, ref sn_len);
                //SN = sn_strB.ToString();
                ////----DN--------
                //StringBuilder dn = new StringBuilder(400);
                //int dn_len = 0;
                //XJCAverify.XJCA_GetCertDN(dn, ref dn_len);

                //调控件
                //---SN-----
                string KeyID = xj.XJCA_GetCertSN();
                //----DN----------------
                dn = xj.XJCA_GetCertDN();
                if (KeyID.Trim() == "")
                {
                    MessageBox.Show("证书序列号为空");
                    return("0");
                }
                if (dn.Trim() == "10011")
                {
                    MessageBox.Show("KEY盘未插入,请插入KEY盘!!!");
                    return("0");
                }
                aaa_ca = dn.ToString().Split(',');
            }
            catch
            {
                MessageBox.Show("KEY盘未插入,请插入KEY盘!!!");
                return("0");
            }

            //----------------------------------------------
            //--------------获取KEY中用户名--------------------
            //----------------------------------------------
            try
            {
                keyname = aaa_ca[aaa_ca.Length - 1].Substring(4);
                if (keyname.Contains("."))
                {
                    if (!keyname.Contains(yhmc))
                    {
                        MessageBox.Show("当前操作人与KEY用户不符,不能执行此操作!!!");
                        return("0");
                    }
                }
                else
                {
                    if (yhmc.Trim() != keyname)
                    {
                        MessageBox.Show("当前操作人与KEY用户不符,不能执行此操作!!!");
                        return("0");
                    }
                }
            }
            catch
            {
                MessageBox.Show("KEY盘未插入");
                return("0");
            }
            try
            {
                keyname = aaa_ca[aaa_ca.Length - 1].Substring(4);
                string keyYHGH = aaa_ca[1].Substring(3);

                string xml = xj.XJCA_CertAuth(webservice, appid, keyname);

                if (xml == "")
                {
                    MessageBox.Show("KEY盘验证失败,可能是此KEY用户未注册!");
                    return("0");
                }

                XmlNode     xmlok = null;
                XmlDocument xd    = new XmlDocument();

                xd.LoadXml(xml);
                xmlok = xd.SelectSingleNode("/XJCA_CertAppAuth");
                string bool_key = xmlok["success"].InnerText.ToString();
                //----------------------------------------------
                //---------------审核人是否是KEY的所有者--------------------

                if (bool_key == "false")
                {
                    MessageBox.Show("认证失败!!!你无权操作此软件");
                    return("0");
                }
                if (keyname.Contains("."))
                {
                    keyname = keyname.Substring(0, keyname.IndexOf('.'));
                }

                if (yhmc.Trim() != keyname)
                {
                    MessageBox.Show("当前操作人与KEY用户不符,不能执行此操作!!!");
                    return("0");
                }
                //------------------工号验证-----------------------


                if (keyYHGH.Trim() != yhbh.Trim())
                {
                    MessageBox.Show("当前操作人工号与KEY用户工号不符,不能执行此操作!!!");
                    return("0");
                }
            }
            catch
            {
                MessageBox.Show("获取KEY盘用户异常");
                return("0");
            }



            ////------------------------------------
            ////----------------key密码验证---------
            ////------------------------------------
            if (msg == "1")
            {
                MessageBox.Show("密码验证开始");
            }

            try
            {
                //--动态库---
                StringBuilder signxml = new StringBuilder(5000);
                string        xmlstr  = "12345";
                int           len     = 0;
                bool          ca_yz   = XJCA_SignSeal(xmlstr, signxml, ref len);
                if (!ca_yz)
                {
                    if (msg == "1")
                    {
                        MessageBox.Show("验证未通过");
                    }
                    return("0");
                }
                //-控件--
                //string signxml = xj.XJCA_SignStr("HaiTai Cryptographic Service Provider for xjca", xmlstr);

                //string[] getsignxml1 = signxml.ToString().Split(',');
                // string signxml_str1 = getsignxml1[0].Trim();
                //if (signxml.ToString() == "" || cert1 == "" || signxml_str1 == "")
                //{
                //    MessageBox.Show("验证未通过");
                //    return "0";
                //}
            }
            catch (Exception eeee)
            {
                log.WriteMyLog(eeee.ToString());
                MessageBox.Show("验证异常1");
                return("0");
            }

            if (msg == "1")
            {
                MessageBox.Show("密码验证完成");
            }
            //--------验证完毕----------
            //-----------开始签名------------


            /////////////////////////
            //***********************\
            /////////////////////////

            if (type == "QZ")
            {
                if (msg == "1")
                {
                    MessageBox.Show("开始签名。。。");
                }

                string sql_str = "select * from T_JCXX where  F_BLH='" + getblh + "'  and  F_BGZT='已审核'";

                //补充审核
                if (bglx == "BC")
                {
                    sql_str = "select * from V_BCBG_SH where  F_BLH='" + getblh + "' and F_BC_BGZT='已审核'and F_BC_BGXH='" + bgxh + "'";
                }
                //小冰冻审核
                if (bglx == "BD")
                {
                    sql_str = "select * from V_BDBG_bfk where  F_BLH='" + getblh + "' and  F_BD_BGZT='已审核' and F_BD_BGXH='" + bgxh + "'";
                }


                DataTable dtyhbh = aa.GetDataTable(sql_str, "table");
                aa.Close();

                if (msg == "1")
                {
                    MessageBox.Show("开始时间戳。。。");
                }
                //-----------------签章验证-----------------
                //----------------------------------------------
                //----------------时间戳-------------------------


                //时间戳服务地址
                string IP = "http://172.20.89.23:8080/xjcaTimestamp/services/sign";

                //业务单据号
                string djid = getblh + "^1^CG";
                //关键内容
                string hash = "";

                if (bglx == "BC")
                {
                    hash = dtyhbh.Rows[0]["F_bczd"].ToString().Trim();
                    djid = getblh + "^" + dtyhbh.Rows[0]["F_BC_BGXH"].ToString().Trim() + "^BC";
                }
                else
                {
                    if (bglx == "BD")
                    {
                        hash = dtyhbh.Rows[0]["F_bdzd"].ToString().Trim();
                        djid = getblh + "^" + dtyhbh.Rows[0]["F_BD_BGXH"].ToString().Trim() + "^BD";
                    }
                    else
                    {
                        hash = dtyhbh.Rows[0]["F_blzd"].ToString().Trim();
                        djid = getblh + "^1^CG";
                    }
                }
                if (msg == "1")
                {
                    MessageBox.Show(djid + "\n" + hash);
                }
                //返回值时间戳xml(TimeSign_XML)需要写人数据库
                MessageBox.Show("1");
                // StringBuilder md5 = new StringBuilder(Getmd5(hash));
                // MessageBox.Show("2");
                //   StringBuilder TimeSign_XML = new StringBuilder();
                //  TimeSign_XML = XJCA_TimeSign(IP, djid, md5);
                string TimeSign_XML = "";
                string md5          = Getmd5(hash);
                MessageBox.Show(md5);
                try
                {
                    AZT_TimeSign(IP, djid, ref md5);
                }catch (Exception ee)
                {
                    MessageBox.Show(ee.ToString());
                }
                MessageBox.Show(md5);
                MessageBox.Show("3");
                if (msg == "1")
                {
                    // MessageBox.Show("注意:");
                    MessageBox.Show(TimeSign_XML.ToString());
                    // MessageBox.Show(md5.ToString());
                }
                try
                {
                    //------------将签名时间写入数据库 T_JCXX------------
                    XmlDocument TimeSign_xd = new XmlDocument();
                    TimeSign_xd.LoadXml(TimeSign_XML.ToString());
                    string TimeSign_time = TimeSign_xd.SelectSingleNode("/xjca").ChildNodes[3].InnerText.ToString();
                    aa.ExecuteSQL("update T_JCXX  set F_YL7='" + TimeSign_time + "' where F_BLH='" + getblh + "'");
                }
                catch (Exception des)
                {
                    log.WriteMyLog("将签名时间写入数据库 T_JCXX异常");
                }
                if (msg == "1")
                {
                    MessageBox.Show("时间戳完成");
                }
                //------------------------------------------------------
                //---------------签章----------------------------------
                //签章----------------------------------
                if (msg == "1")
                {
                    MessageBox.Show("开始签章。。。");
                }
                int           len     = 40000;
                StringBuilder signxml = new StringBuilder(40000);
                //签章原文
                string xmlstr = "";
                if (msg == "1")
                {
                    MessageBox.Show(bglx);
                }
                if (bglx == "BC")
                {
                    xmlstr = "<BL><F_BLH>" + dtyhbh.Rows[0]["F_BLH"].ToString() + "</F_BLH>";

                    xmlstr = xmlstr + "<F_BCZD>" + dtyhbh.Rows[0]["F_BCZD"].ToString() + "</F_BCZD>";
                    xmlstr = xmlstr + "<F_BC_BGYS>" + dtyhbh.Rows[0]["F_BC_BGYS"].ToString() + "</F_BC_BGYS>";
                    xmlstr = xmlstr + "<F_BC_SHYS>" + dtyhbh.Rows[0]["F_BC_SHYS"].ToString() + "</F_BC_SHYS>";
                    xmlstr = xmlstr + "<F_BC_BGRQ>" + dtyhbh.Rows[0]["F_BC_BGRQ"].ToString() + "</F_BC_BGRQ>";
                    xmlstr = xmlstr + "<F_BC_BGXH>" + dtyhbh.Rows[0]["F_BC_BGXH"].ToString() + "</F_BC_BGXH></BL>";
                }
                else
                {
                    //小冰冻审核
                    if (bglx == "BD")
                    {
                        xmlstr = "<BL><F_BLH>" + dtyhbh.Rows[0]["F_BLH"].ToString() + "</F_BLH>";
                        xmlstr = xmlstr + "<F_XM>" + dtyhbh.Rows[0]["F_XM"].ToString() + "</F_XM>";
                        xmlstr = xmlstr + "<F_XB>" + dtyhbh.Rows[0]["F_XB"].ToString() + "</F_XB>";
                        xmlstr = xmlstr + "<F_NL>" + dtyhbh.Rows[0]["F_NL"].ToString() + "</F_NL>";
                        xmlstr = xmlstr + "<F_zyh>" + dtyhbh.Rows[0]["F_zyh"].ToString() + "</F_zyh>";
                        xmlstr = xmlstr + "<F_BDZD>" + dtyhbh.Rows[0]["F_BDZD"].ToString() + "</F_BDZD>";
                        xmlstr = xmlstr + "<F_BD_BGYS>" + dtyhbh.Rows[0]["F_BD_BGYS"].ToString() + "</F_BD_BGYS>";
                        xmlstr = xmlstr + "<F_BD_SHYS>" + dtyhbh.Rows[0]["F_BD_SHYS"].ToString() + "</F_BD_SHYS>";
                        xmlstr = xmlstr + "<F_BD_BGRQ>" + dtyhbh.Rows[0]["F_BD_BGRQ"].ToString() + "</F_BD_BGRQ>";
                        xmlstr = xmlstr + "<F_BD_BGXH>" + dtyhbh.Rows[0]["F_BD_BGXH"].ToString() + "</F_BD_BGXH></BL>";
                    }
                    else
                    {
                        xmlstr = "<BL><F_BLH>" + dtyhbh.Rows[0]["F_BLH"].ToString() + "</F_BLH>";
                        xmlstr = xmlstr + "<F_sqxh>" + dtyhbh.Rows[0]["F_sqxh"].ToString() + "</F_sqxh>";
                        xmlstr = xmlstr + "<F_XM>" + dtyhbh.Rows[0]["F_XM"].ToString() + "</F_XM>";
                        xmlstr = xmlstr + "<F_XB>" + dtyhbh.Rows[0]["F_XB"].ToString() + "</F_XB>";
                        xmlstr = xmlstr + "<F_NL>" + dtyhbh.Rows[0]["F_NL"].ToString() + "</F_NL>";
                        xmlstr = xmlstr + "<F_zyh>" + dtyhbh.Rows[0]["F_zyh"].ToString() + "</F_zyh>";
                        xmlstr = xmlstr + "<F_mzh>" + dtyhbh.Rows[0]["F_mzh"].ToString() + "</F_mzh>";
                        xmlstr = xmlstr + "<F_ch>" + dtyhbh.Rows[0]["F_ch"].ToString() + "</F_ch>";
                        xmlstr = xmlstr + "<F_blzd>" + dtyhbh.Rows[0]["F_blzd"].ToString() + "</F_blzd>";
                        xmlstr = xmlstr + "<F_bgys>" + dtyhbh.Rows[0]["F_bgys"].ToString() + "</F_bgys>";
                        xmlstr = xmlstr + "<F_bgrq>" + dtyhbh.Rows[0]["F_bgrq"].ToString() + "</F_bgrq>";
                        xmlstr = xmlstr + "<F_shys>" + dtyhbh.Rows[0]["F_shys"].ToString() + "</F_shys>";
                        xmlstr = xmlstr + "<F_spare5>" + dtyhbh.Rows[0]["F_spare5"].ToString() + "</F_spare5></BL>";
                    }
                }
                if (xmlstr == "")
                {
                    log.WriteMyLog("签章数据内容为空");
                    return("0");
                }
                if (msg == "1")
                {
                    MessageBox.Show("签章内容" + xmlstr);
                }
                try
                {
                    //控件
                    //  string   signxml= xj.XJCA_SignStr(appid,xmlstr);

                    // 动态库
                    //XJCA_SignSeal方法,signxml 返回值,签章返回的信息 包含签章数据,证书内容,证书id,以“,”隔开,保存签章数据和证书id,
                    // XJCAverifyyfy.XJCA_SignSeal(xmlstr, signxml, len);

                    bool ca_yz = XJCA_SignSeal(xmlstr, signxml, ref len);
                    if (!ca_yz)
                    {
                        return("0");
                    }

                    else
                    {
                        if (msg == "1")
                        {
                            MessageBox.Show("签章通过,解析返回值");
                        }
                        try
                        {
                            // 签章返回的信息signxml 包含签章数据,证书内容,证书id,以“,”隔开,保存签章数据和证书id
                            string[] getsignxml = signxml.ToString().Split(',');
                            //签章数据
                            string signxml_str = getsignxml[0];
                            //证书内容
                            string cert = getsignxml[1];
                            //证书id
                            string certID = getsignxml[2];
                            //--------将signxml,,TimeSign_XML等返回值 存入数据库-------------

                            if (msg == "1")
                            {
                                MessageBox.Show("解析返回值完成,插入中间库");
                            }
                            dbbase.odbcdb bb = new odbcdb("DSN=pathnet-ca;UID=pathnet;PWD=4s3c2a1p", "", "");

                            try
                            {
                                string sqlstr = "insert into T_CAXX(blh,RQ,TimeSignXML,signxml,BGNR,keyname,cert,certID,CAZT,BGLX,BGXH) values ('" + dtyhbh.Rows[0]["F_BLH"].ToString() + "','" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','" + TimeSign_XML + "','" + signxml.ToString() + "','" + xmlstr + "','" + keyname + "','" + cert + "','" + certID + "','已验证','" + bglx + "','" + bgxh + "') ";
                                if (msg == "1")
                                {
                                    MessageBox.Show(sqlstr);
                                }
                                int x = bb.ExecuteSQL(sqlstr);
                                bb.Close();
                                if (x < 1)
                                {
                                    log.WriteMyLog("签章结果失败");
                                    return("0");
                                }
                            }
                            catch (Exception ee)
                            {
                                bb.Close();
                                log.WriteMyLog("签章结果异常:数据库写入失败," + ee.ToString());
                                return("0");
                            }
                            if (msg == "1")
                            {
                                MessageBox.Show("插入中间库完成");
                            }
                        }
                        catch
                        {
                            MessageBox.Show("解析返回值或写入数据异常");
                            return("0");
                        }
                    }
                    if (msg == "1")
                    {
                        MessageBox.Show("签章完成");
                    }
                }
                catch
                {
                    if (msg == "1")
                    {
                        MessageBox.Show("签章异常");
                    }
                    return("0");
                }

                //----------------------------------------------
                //----------------获取签章图片----------------------
                //----------------------------------------------
                if (msg == "1")
                {
                    MessageBox.Show("获取签章图片开始。。。");
                }
                bool ss = XJCA_GetSealBMPB("D:\\pathqc\\rpt-szqm\\YSBMP\\" + keyname + ".bmp", 1);
                if (ss)
                {
                    if (msg == "1")
                    {
                        MessageBox.Show("获取签章图片完成,开始上传。。");
                    }
                    //----------------------------------------------
                    //----------------上传签章图片至ftp---------------------
                    //----------------------------------------------
                    string ftpServerIP   = f.ReadString("ftp", "ftpip", "");
                    string ftpUserID     = f.ReadString("ftp", "user", "");
                    string ftpPassword   = f.ReadString("ftp", "pwd", "");
                    string ftpRemotePath = f.ReadString("ftp", "szqmPath", "/pathimages/rpt-szqm/YSBMP/");

                    string ftpURI = "ftp://" + ftpServerIP + "/" + ftpRemotePath + "/";
                    string status = "";
                    FtpWeb fw     = new FtpWeb(ftpServerIP, ftpRemotePath, ftpUserID, ftpPassword);

                    fw.Upload("D:\\pathqc\\rpt-szqm\\YSBMP\\" + keyname + ".bmp", "", out status);
                    if (status == "Error")
                    {
                        MessageBox.Show("签章图片上传失败,请重新审核!");
                        return("0");
                    }
                    if (msg == "1")
                    {
                        MessageBox.Show("签章图片上传成功");
                    }
                    return("1");
                }
                if (msg == "1")
                {
                    MessageBox.Show("签章图片获取失败");
                }
                return("0");
            }
            if (type == "QXSH")
            {
                if (msg == "1")
                {
                    MessageBox.Show("取消审核。。");
                }
                aa.Close();

                dbbase.odbcdb bb = new odbcdb("DSN=pathnet-ca;UID=pathnet;PWD=4s3c2a1p", "", "");
                try
                {
                    if (msg == "1")
                    {
                        MessageBox.Show("取消审核。。删除中间库记录开始");
                    }
                    string sqlstr = "delete  T_CAXX where blh='" + getblh + "'  and BGLX='" + bglx.Trim() + "' and BGXH='" + bgxh + "'";
                    int    x      = bb.ExecuteSQL(sqlstr);
                    bb.Close();
                    if (msg == "1")
                    {
                        MessageBox.Show("取消审核完成");
                    }
                    return("1");
                }
                catch (Exception eee)
                {
                    bb.Close();
                    if (msg == "1")
                    {
                        MessageBox.Show("取消审核异常");
                    }
                    log.WriteMyLog(eee.ToString());
                    return("0");
                }
            }
            if (type == "QXQZ" && (bglx == "BC" || bglx == "BD"))
            {
                if (msg == "1")
                {
                    MessageBox.Show("取消签字开始。。");
                }
                aa.Close();

                dbbase.odbcdb bb = new odbcdb("DSN=pathnet-ca;UID=pathnet;PWD=4s3c2a1p", "", "");
                try
                {
                    if (msg == "1")
                    {
                        MessageBox.Show("取消签字。。删除中间库记录开始");
                    }
                    string sqlstr = "delete  T_CAXX where blh='" + getblh + "'  and BGLX='" + bglx.Trim() + "' and BGXH='" + bgxh + "'";
                    int    x      = bb.ExecuteSQL(sqlstr);
                    bb.Close();
                    if (msg == "1")
                    {
                        MessageBox.Show("取消签字完成。。");
                    }
                    return("1");
                }
                catch (Exception eee)
                {
                    bb.Close();
                    if (msg == "1")
                    {
                        MessageBox.Show("取消签字异常");
                    }
                    log.WriteMyLog(eee.ToString());
                    return("0");
                }
            }

            if (msg == "1")
            {
                MessageBox.Show("完成操作");
            }
            aa.Close();

            return("1");
        }
示例#12
0
        private void btnImport_Click(object sender, EventArgs e)
        {
            var importList = reportImages.Where(o => o.IsUpload).ToList();

            var imgBlh = (from o in reportImages group o by o.Blh into g select g.Key).ToList();

            //获取图像目录,如果没有则设置为yyyyMM,并更新jcxx
            foreach (string blh in imgBlh)
            {
                var dtJcxxMl = aa.GetDataTable($" select f_txml from t_jcxx where f_blh='{blh}' ", "dt1");
                if (dtJcxxMl.Rows.Count == 0)
                {
                    MessageBox.Show($"分子诊断戏中未找到病理号为:[{blh}]的患者,本次导入被终止,请检查病人信息!");
                    return;
                }
                var txml = dtJcxxMl.Rows[0][0].ToString();

                //如果图像目录为空 设置为年月,并更新jcxx
                if (string.IsNullOrEmpty(txml.Trim()))
                {
                    txml = DateTime.Now.ToString("yyyyMM");
                    aa.ExecuteSQL($" update t_jcxx set f_txml = '{txml}',F_SFCT='是' where f_blh='{blh}' ");
                }

                //txml赋值给对象
                reportImages.Where(o => o.Blh == blh).ForEach(o => o.Txml = txml);

                //FTP尝试新建文件夹
                string errMakeDir = "";
//                var ftp = GetFtp();
//                ftp.Makedir(txml+ "/" + blh + "/", out errMakeDir);

                string sqlDel = $" delete t_tx where f_blh='{blh}' and f_txsm='二代测序上传' ";
                //清空t_tx历史数据
                aa.ExecuteSQL(sqlDel);
            }


            //开始上传图片
            foreach (ReportImage reportImage in importList)
            {
                //上传文件
                string errUpload = "";
                var    ftp       = GetFtp();
                ftp.Makedir(reportImage.Txml, out errUpload);
                ftp.Makedir(reportImage.Txml + "\\" + reportImage.Blh, out errUpload);
                ftp.Upload(reportImage.FileFullName, reportImage.Blh, reportImage.Txml, out errUpload);

                if (errUpload != "OK")
                {
                    MessageBox.Show($"上传图片发生错误,终止上传,文件名{reportImage.FileFullName},错误信息:" + errUpload);
                    return;
                }

                //先清空二代测序图片,再插入t_tx

                #region sql

                string sql =
                    $@"INSERT INTO [dbo].[T_TX]
                       ([F_BLH]
                       ,[F_TXM]
                       ,[F_TXSM]
                       ,[F_SFDY]
                       ,[F_TXLB])
                 VALUES
                       ('{reportImage
                        .Blh}'
                       ,'{reportImage.FileSafeName}'
                       ,'二代测序上传'
                       ,'1'
                       ,'' )";

                #endregion
                aa.ExecuteSQL(sql);
            }

            //上传成功后删除本地图片
            reportImages.ForEach(o => File.Delete(o.FileFullName));

            MessageBox.Show("上传成功!");

            //刷新待上传列表
            GetImages();
        }
示例#13
0
        public static string ptxml(string Sslbx, string Ssbz, string Debug)
        {
            if (Sslbx != "")
            {
                //************************************************
                //-------撤销申请单----
                //************************************************
                if (Sslbx == "撤销申请单")
                {
                    //dbbase.odbcdb aa = new dbbase.odbcdb("DSN=pathnet-his;UID=pathnet;PWD=4s3c2a1p", "", "");
                    xyfyyyweb.DHCPisXiangYaOne xyfy = new xyfyyyweb.DHCPisXiangYaOne();
                    string pathweburl = f.ReadString("SF", "webservicesurl", "");
                    if (pathweburl.Trim() != "")
                    {
                        xyfy.Url = pathweburl;
                    }

                    string T_exam_bill_items_sql = f.ReadString("SF", "V_exam_bill_items", "");

                    string yh = f.ReadString("yh", "yhmc", "").Replace("\0", "");

                    //if (yh.Length > 3 && yh.Length % 2 != 1)
                    //    yh = yh.Substring(0, yh.Length / 2);
                    //else
                    //    yh = "";

                    string Operator = yh;
                    string Status   = "301"; //:取消申请单301
                    try
                    {
                        //判断申请单信息表中是否有该条记录
                        DataTable sqdxx = new DBdata().select_sql("select * from  Examapply  where  CheckFlow='" + Ssbz.Trim() + "'  and  (jszt='已发送' or  jszt='已执行'  or  jszt='已作废')");
                        if (sqdxx.Rows.Count <= 0)
                        {
                            MessageBox.Show("病理申请单信息表中,无此申请号信息,请确认!!!");
                            return("0");
                        }

                        if (sqdxx.Rows[0]["jszt"].ToString().Trim() == "已作废")
                        {
                            MessageBox.Show("此申请单已作废!!!");
                            return("0");
                        }



                        dbbase.odbcdb aa      = new dbbase.odbcdb("DSN=pathnet;UID=pathnet;PWD=4s3c2a1p", "", "");
                        DataTable     dt_jxcc = aa.GetDataTable("select * from   T_JCXX where F_SQXH='" + Ssbz.Trim() + "'", "jcxx");
                        if (dt_jxcc.Rows.Count > 0)
                        {
                            MessageBox.Show("此申请号在病理系统中已登记,请先取消登记再撤销!!!\n" + "姓名:" + dt_jxcc.Rows[0]["F_xm"].ToString() + "\n病理号:" + dt_jxcc.Rows[0]["F_BLH"].ToString());
                            return("0");
                        }



                        //判断此申请单是门诊还是住院

                        string brlb = sqdxx.Rows[0]["InOrOut"].ToString();

                        if (sqdxx.Rows[0]["kdxt"].ToString() == "PIS")
                        {
                            //内镜系统开申请单
                            DBdata db = new DBdata();

                            // 查询收费记录,有收费项目的不能撤销
                            string EXAM_NO = "";
                            try
                            {
                                string exam_appoints_id_str = "select *  from emr.exam_appoints_id where CHECK_FLOW='" + Ssbz.Trim() + "' ";
                                if (brlb == "门诊")
                                {
                                    exam_appoints_id_str = "select *  from mzemr.exam_appoints_id where CHECK_FLOW='" + Ssbz.Trim() + "' ";
                                }
                                DataTable exam_appoints_id = db.select_orcl(exam_appoints_id_str, "获取EXAM_NO号");
                                if (exam_appoints_id.Rows.Count > 0)
                                {
                                    EXAM_NO = exam_appoints_id.Rows[0]["EXAM_NO"].ToString().Trim();
                                }
                                else
                                {
                                    MessageBox.Show("撤销失败,不存在EXAM_NO号!"); return("0");
                                }
                            }
                            catch
                            {
                                MessageBox.Show("撤销失败,抛出异常"); return("0");
                            }


                            DataTable dt_sfmx = db.select_orcl("select * from exam.exam_bill_items  where  exam_no='" + EXAM_NO + "' " + T_exam_bill_items_sql + "   and  Performed_By='90' ", "获取收费明细");
                            if (dt_sfmx.Rows.Count > 0)
                            {
                                MessageBox.Show("此申请单为内镜开单系统所开,撤销申请时须退出所有的收费项目!");
                                return  "0";
                            }
                            else
                            {
                                int x = db.Execute_sql("delete  Examapply   where CheckFlow='" + Ssbz.Trim().Trim() + "'  and (jszt='已发送' or jszt='已接收') ");
                                if (x > 0)
                                {
                                    MessageBox.Show("撤销申请单完成");
                                }
                                else
                                {
                                    MessageBox.Show("撤销申请单失败");
                                }
                                return  "0";
                            }
                        }
                        else
                        {
                            //正常开单
                            string funName = "ExamStatus";
                            if (brlb == "住院")
                            {
                                funName = "ExamStatusIp";
                            }

                            string ExamStatus_XML = "<Request><ExamStatus>"
                                                    + "<CheckFlow>" + Ssbz + "</CheckFlow>"
                                                    + "<ExamGroup></ExamGroup><ScheduledDate></ScheduledDate><Note></Note>"
                                                    + "<Operator>" + Operator + "</Operator>"
                                                    + "<OperatorDate>" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "</OperatorDate><Status>" + Status + "</Status>"
                                                    + "<Notice></Notice><ExamAddress></ExamAddress></ExamStatus></Request>";



                            string rtn_Status = "";
                            //**********************************
                            //---执行撤销命令---------------
                            try
                            {
                                rtn_Status = xyfy.DhcService(funName, ExamStatus_XML);
                            }
                            catch (Exception e)
                            {
                                log.WriteMyLog("撤销申请状态错误," + e.ToString());
                                MessageBox.Show("撤销申请状态错误,可能是网络连接问题");
                                return("0");
                            }
                            //**********************************
                            //-----解析返回值xml-------------
                            //**********************************
                            if (rtn_Status.Trim() == "")
                            {
                                MessageBox.Show("撤销申请失败,返回值为空");
                                log.WriteMyLog("撤销申请错误,返回值为空");
                                return("0");
                            }
                            //------
                            try
                            {
                                XmlDataDocument xd = new XmlDataDocument();
                                xd.LoadXml(rtn_Status);
                                XmlNode xn = xd.SelectSingleNode("/Response");

                                if (xn.FirstChild["Returncode"].InnerText.ToString() == "-1")
                                {
                                    MessageBox.Show("撤销申请单失败!");
                                    return("0");
                                }


                                try
                                {
                                    int tn = new DBdata().Execute_sql("update  Examapply set  jszt='已作废'  where  CheckFlow='" + Ssbz + "'  and  (jszt='已发送' or  jszt='已接收')");
                                    //if (=0)
                                    MessageBox.Show("撤销申请单成功!");
                                    return("0");
                                }
                                catch
                                {
                                    MessageBox.Show("病理申请单信息表中数据删除失败,抛出异常");
                                    return("0");
                                }
                            }
                            catch (Exception xml_e)
                            {
                                MessageBox.Show("撤销申请失败,解析XML错误");
                                log.WriteMyLog("撤销申请错误,解析XML错误" + xml_e.ToString());
                                return("0");
                            }
                        }
                    }
                    catch (Exception eee)
                    {
                        MessageBox.Show("程序异常");
                        log.WriteMyLog("程序异常" + eee.ToString());
                        return("0");
                    }

                    //------
                }
                //************************************************
                //-------提取申请单信息,并判断是否要确认费用----
                //************************************************

                if (Sslbx == "申请单")
                {
                    DataTable dt_Examapply = new DataTable();

                    DBdata db = new DBdata();
                    //-------提取申请单信息-----------------

                    dbbase.odbcdb aa      = new dbbase.odbcdb("DSN=pathnet;UID=pathnet;PWD=4s3c2a1p", "", "");
                    DataTable     dt_jcxx = aa.GetDataTable("select * from   T_JCXX where F_SQXH='" + Ssbz.Trim() + "'", "jcxx");
                    try
                    {
                        dt_Examapply = db.select_sql("select * from Examapply where  CheckFlow='" + Ssbz.Trim() + "'  and  (jszt='已发送' or jszt='已执行' or jszt='已作废')");
                    }
                    catch (Exception ee_examapply)
                    {
                        MessageBox.Show("获取申请单信息异常,数据库连接失败!");
                        log.WriteMyLog("获取申请单信息异常" + ee_examapply.ToString());
                        return("0");
                    }

                    try
                    {
                        if (dt_Examapply.Rows.Count < 1)
                        {
                            MessageBox.Show("未找到该申请单信息");
                            log.WriteMyLog("未找到该申请单信息,获取表中行数为0");
                            return("0");
                        }
                    }
                    catch (Exception sd)
                    {
                        MessageBox.Show(sd.ToString());
                    }


                    if (dt_Examapply.Rows[0]["jszt"].ToString().Trim() == "已作废")
                    {
                        MessageBox.Show("该申请单已作废,不能提取信息。\n" + "姓名:" + dt_Examapply.Rows[0]["NAME"].ToString().Trim() + "\n申请号:" + dt_Examapply.Rows[0]["CHECKFLOW"].ToString().Trim() + "\n" + "ID:" + dt_Examapply.Rows[0]["PATIENTID"].ToString().Trim());

                        return("0");
                    }


                    if (dt_jcxx.Rows.Count > 0)
                    {
                        if (MessageBox.Show("此病人已登记,请勿重复登记,是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2) == DialogResult.No)
                        {
                            return("0");
                        }
                    }


                    //-------------------------------
                    //------判断住院病人是否计费----------------------
                    string rmb = dt_Examapply.Rows[0]["sfje"].ToString();

                    if (dt_Examapply.Rows[0]["jfbj"].ToString().Trim() != "1" && dt_Examapply.Rows[0]["INOROUT"].ToString().Trim() == "住院")
                    {
                        if (MessageBox.Show("此住院病人还未计费,是否现在计费", "收费信息提示", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
                        {
                            frm_sfjk sf = new frm_sfjk(Ssbz, "0");
                            sf.ShowDialog();
                            rmb = sf.F_sfje.ToString();
                            if (rmb == "" || rmb == "0")
                            {
                                return("0");
                            }
                        }
                        else
                        {
                            MessageBox.Show("该住院病人未确认费用,不能登记");
                            return("0");
                        }
                    }

                    //------判断门诊病人是否已自动划价----------------------
                    if (dt_Examapply.Rows[0]["zdhj"].ToString().Trim() != "1" && dt_Examapply.Rows[0]["INOROUT"].ToString().Trim() == "门诊")
                    {
                        if (MessageBox.Show("此门诊病人还未划价,可能还未交费,请确认!\n是否现在进行划价", "收费信息提示", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
                        {
                            frm_sfjk sf = new frm_sfjk(Ssbz, "0");
                            sf.ShowDialog();
                            rmb = sf.F_sfje.ToString();
                            if (rmb == "" || rmb == "0")
                            {
                                return("0");
                            }
                        }
                        else
                        {
                            MessageBox.Show("该门诊病人未划价未收费,不能登记");
                            return("0");
                        }
                    }

                    //门诊---判断是否收费
                    if (dt_Examapply.Rows[0]["INOROUT"].ToString() == "门诊")
                    {
                        DBdata db2 = new DBdata();
                        try
                        {
                            DataTable dt_exam_no = db2.select_orcl(" select exam_no  from mzemr.exam_appoints_id where CHECK_FLOW='" + dt_Examapply.Rows[0]["CHECKFLOW"].ToString().Trim() + "'", "获取exam_no");
                            if (dt_exam_no.Rows.Count > 0)
                            {
                                DataTable dt_exam_appoints_id = db2.select_orcl("select billing_attr,item_name from  exam.exam_bill_items where ordered_by='90' and performed_by='90' and exam_no='" + dt_exam_no.Rows[0]["exam_no"].ToString().Trim() + "' ", "获取收费明细");
                                if (dt_exam_appoints_id.Rows.Count > 0)
                                {
                                    for (int i = 0; i < dt_exam_appoints_id.Rows.Count; i++)
                                    {
                                        if (dt_exam_appoints_id.Rows[i]["billing_attr"].ToString() == "0")
                                        {
                                            MessageBox.Show("该病人还有收费项目未收费,不能提取信息:" + dt_exam_appoints_id.Rows[i]["item_name"].ToString());

                                            if (MessageBox.Show("是否查看收费项目", "收费信息提示", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
                                            {
                                                frm_sfjk sf = new frm_sfjk(Ssbz, "0");
                                                sf.ShowDialog();
                                                rmb = sf.F_sfje.ToString();
                                                if (rmb == "" || rmb == "0")
                                                {
                                                    return("0");
                                                }
                                                db2.Execute_sql("update Examapply set  sfje='" + rmb + "'  where  CheckFlow='" + Ssbz.Trim() + "'");
                                                MessageBox.Show("病人有项目未交费,先交费再登记!");
                                                return("0");
                                            }
                                            else
                                            {
                                                return("0");
                                            }
                                        }
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("该病人没有收费项目明细,不能提取信息");
                                    if (MessageBox.Show("是否查看收费项目", "收费信息提示", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
                                    {
                                        frm_sfjk sf = new frm_sfjk(Ssbz, "0");
                                        sf.ShowDialog();
                                        rmb = sf.F_sfje.ToString();
                                        if (rmb == "" || rmb == "0")
                                        {
                                            return("0");
                                        }
                                        db2.Execute_sql("update Examapply set  sfje='" + rmb + "'  where  CheckFlow='" + Ssbz.Trim() + "'");
                                        MessageBox.Show("病人有项目未交费,先交费再登记!");
                                        return("0");
                                    }
                                    else
                                    {
                                        return("0");
                                    }
                                }
                            }
                            else
                            {
                                MessageBox.Show("程序获取exam_no失败,不能提取信息");
                                return("0");
                            }
                        }
                        catch (Exception ee)
                        {
                            MessageBox.Show("程序异常,异常信息:" + ee.ToString());
                            return("0");
                        }
                    }
                    ///////////////////////////////////////////////////////////////
                    //合并申请号
                    string sfhb = f.ReadString("申请单", "sfhb", "0").Replace("\0", "");
                    if (sfhb.Trim() == "1")
                    {
                        try
                        {
                            string sss = "select * from Examapply  where jszt='已执行' and   PatientID='" + dt_Examapply.Rows[0]["PatientID"].ToString() + "' and visitid='" + dt_Examapply.Rows[0]["visitid"].ToString() + "' and  inorout='" + dt_Examapply.Rows[0]["inorout"].ToString() + "' and name='" + dt_Examapply.Rows[0]["name"].ToString() + "' and deptcode='" + dt_Examapply.Rows[0]["deptcode"].ToString() + "'and  deptname='" + dt_Examapply.Rows[0]["deptname"].ToString() + "'";// and  indate>='" + DateTime.Parse(dt_Examapply.Rows[0]["indate"].ToString()).AddDays(-1).ToString() + "' and indate<='" + DateTime.Parse(dt_Examapply.Rows[0]["indate"].ToString()).AddDays(1).ToString() + "'";

                            DataTable dt2 = db.select_sql(sss);

                            if (dt2.Rows.Count > 0)
                            {
                                if (dt2.Rows[0]["checkflow"].ToString().Trim() != Ssbz.Trim())
                                {
                                    if (MessageBox.Show("病人:" + dt_Examapply.Rows[0]["name"].ToString() + ",可能已送过标本组织,需要合并到之前的病理号吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
                                    {
                                        string blh_2 = "";
                                        for (int i = 0; i < dt2.Rows.Count; i++)
                                        {
                                            if (dt2.Rows[i]["checkflow"].ToString().Trim() != Ssbz.Trim())
                                            {
                                                DataTable dt_sqxx = aa.GetDataTable("select F_BLH,F_SQXH2 from   T_JCXX where F_SQXH='" + dt2.Rows[i]["checkflow"].ToString().Trim() + "'  and F_BGZT<>'已审核'", "sqxx");
                                                if (dt_sqxx.Rows.Count > 0)
                                                {
                                                    for (int y = 0; y < dt_sqxx.Rows.Count; y++)
                                                    {
                                                        if (dt_sqxx.Rows[y]["F_sqxh2"].ToString().Trim() == Ssbz.Trim())
                                                        {
                                                            MessageBox.Show("此病人申请号已经合并过,不能再合并,合并病理号" + dt_sqxx.Rows[y]["F_blh"].ToString().Trim());
                                                            return("0");
                                                        }
                                                        blh_2 = blh_2 + "^" + dt_sqxx.Rows[y]["F_BLH"].ToString().Trim();
                                                    }
                                                }
                                            }
                                        }
                                        //////////////////////
                                        if (blh_2.Trim().TrimStart('^').Trim() == "" || blh_2.Trim() == "")
                                        {
                                            MessageBox.Show("未查到病理号,不能合并");
                                            return("0");
                                        }
                                        xyxxshowblh ff = new xyxxshowblh(blh_2.Trim().TrimStart('^'));
                                        ff.ShowDialog();
                                        string getblh = ff.getblh;

                                        if (getblh.Trim() == "")
                                        {
                                            MessageBox.Show("病理号为空,不能合并");
                                            return("0");
                                        }
                                        else
                                        {//合并
                                            DataTable dt_bl = aa.GetDataTable("select *  from   T_JCXX where F_BLH='" + getblh.Trim() + "'", "sqxx");
                                            if (dt_bl.Rows.Count <= 0)
                                            {
                                                MessageBox.Show("获取病理号" + getblh.Trim() + "信息错误,不能合并");
                                                return("0");
                                            }

                                            decimal je_2 = decimal.Parse(dt_bl.Rows[0]["F_SF"].ToString()) + decimal.Parse(rmb);

                                            if ((aa.ExecuteSQL("update  T_JCXX  set F_SQXH2='" + Ssbz.Trim() + "',F_SF='" + je_2.ToString() + "' where  F_BLH='" + getblh.Trim() + "'")) <= 0)
                                            {
                                                MessageBox.Show("不能合并,合并错误");
                                            }
                                            else
                                            {
                                                db.Execute_sql("update Examapply   set jszt='已执行'  where   CheckFlow='" + Ssbz.Trim() + "'  and jszt<>'已执行' ");
                                                MessageBox.Show("合并完成,病理号:" + getblh.Trim());
                                            }
                                            return("0");
                                        }
                                    }
                                }
                            }
                        }
                        catch (Exception ee3)
                        {
                            MessageBox.Show("不能合并,合并异常" + ee3.ToString());
                            return("0");
                        }
                    }

                    ///////////////////////////////////////////////////////////////////
                    //---------------------------------------------
                    string bbmc = dt_Examapply.Rows[0]["bb1"].ToString().Trim() + "(" + dt_Examapply.Rows[0]["bw1"].ToString().Trim() + ")";
                    if (dt_Examapply.Rows[0]["bb2"].ToString().Trim() != "" || dt_Examapply.Rows[0]["bb2"].ToString().Trim() != "")
                    {
                        bbmc = bbmc + "," + dt_Examapply.Rows[0]["bb2"].ToString().Trim() + "(" + dt_Examapply.Rows[0]["bw2"].ToString().Trim() + ")";
                    }
                    if (dt_Examapply.Rows[0]["bb3"].ToString().Trim() != "" || dt_Examapply.Rows[0]["bb3"].ToString().Trim() != "")
                    {
                        bbmc = bbmc + "," + dt_Examapply.Rows[0]["bb3"].ToString().Trim() + "(" + dt_Examapply.Rows[0]["bw3"].ToString().Trim() + ")";
                    }
                    if (dt_Examapply.Rows[0]["bb4"].ToString().Trim() != "" || dt_Examapply.Rows[0]["bb4"].ToString().Trim() != "")
                    {
                        bbmc = bbmc + "," + dt_Examapply.Rows[0]["bb4"].ToString().Trim() + "(" + dt_Examapply.Rows[0]["bw4"].ToString().Trim() + ")";
                    }



                    //---------xml------------------------
                    string xml = "<?xml version=" + (char)34 + "1.0" + (char)34 + " encoding=" + (char)34 + "gbk" + (char)34 + "?>";
                    try
                    {
                        xml = xml + "<LOGENE>";
                        xml = xml + "<row ";
                        xml = xml + "病人编号=" + (char)34 + dt_Examapply.Rows[0]["PATIENTID"].ToString() + (char)34 + " ";
                        xml = xml + "就诊ID=" + (char)34 + dt_Examapply.Rows[0]["VISITID"].ToString() + (char)34 + " ";
                        xml = xml + "申请序号=" + (char)34 + dt_Examapply.Rows[0]["CHECKFLOW"].ToString() + (char)34 + " ";
                        xml = xml + "门诊号=" + (char)34 + dt_Examapply.Rows[0]["VISITNO"].ToString() + (char)34 + " ";
                        xml = xml + "住院号=" + (char)34 + dt_Examapply.Rows[0]["INPNO"].ToString() + (char)34 + " ";
                        xml = xml + "姓名=" + (char)34 + dt_Examapply.Rows[0]["NAME"].ToString() + (char)34 + " ";
                        xml = xml + "性别=" + (char)34 + dt_Examapply.Rows[0]["SEX"].ToString() + (char)34 + " ";
                        xml = xml + "年龄=" + (char)34 + dt_Examapply.Rows[0]["AGE"].ToString() + (char)34 + " ";

                        xml = xml + "婚姻=" + (char)34 + "" + (char)34 + " ";
                        xml = xml + "地址=" + (char)34 + dt_Examapply.Rows[0]["ADDRESS"].ToString() + (char)34 + "   ";
                        xml = xml + "电话=" + (char)34 + dt_Examapply.Rows[0]["PHONE"].ToString() + (char)34 + " ";
                        xml = xml + "病区=" + (char)34 + dt_Examapply.Rows[0]["DEPTNAME"].ToString() + (char)34 + " ";
                        xml = xml + "床号=" + (char)34 + dt_Examapply.Rows[0]["BEDNO"].ToString() + (char)34 + " ";
                        xml = xml + "身份证号=" + (char)34 + "" + (char)34 + " ";
                        xml = xml + "民族=" + (char)34 + "汉族" + (char)34 + " ";
                        xml = xml + "职业=" + (char)34 + dt_Examapply.Rows[0]["DATEOFBIRTH"].ToString() + (char)34 + " ";
                        if (dt_Examapply.Rows[0]["KDXT"].ToString() == "PIS")
                        {
                            xml = xml + "送检科室=" + (char)34 + dt_Examapply.Rows[0]["reqdept"].ToString() + (char)34 + " ";
                        }
                        else
                        {
                            xml = xml + "送检科室=" + (char)34 + dt_Examapply.Rows[0]["DEPTNAME"].ToString() + (char)34 + " ";
                        }
                        xml = xml + "送检医生=" + (char)34 + dt_Examapply.Rows[0]["REQPHYSICIAN"].ToString() + (char)34 + " ";
                        //if (dt_Examapply.Rows[0]["sfje"].ToString().Trim() != "")
                        //    rmb = dt_Examapply.Rows[0]["sfje"].ToString();
                        xml = xml + "收费=" + (char)34 + rmb + (char)34 + " ";
                        xml = xml + "标本名称=" + (char)34 + bbmc.Replace("()", "").ToString() + (char)34 + " ";
                        xml = xml + "送检医院=" + (char)34 + "本院" + (char)34 + " ";
                        xml = xml + "医嘱项目=" + (char)34 + dt_Examapply.Rows[0]["EXAMITEM"].ToString() + (char)34 + " ";
                        xml = xml + "备用1=" + (char)34 + "" + (char)34 + " ";
                        xml = xml + "备用2=" + (char)34 + "" + (char)34 + " ";
                        xml = xml + "费别=" + (char)34 + dt_Examapply.Rows[0]["Identitys"].ToString() + (char)34 + " ";
                        xml = xml + "病人类别=" + (char)34 + dt_Examapply.Rows[0]["INOROUT"].ToString() + (char)34 + " ";
                        xml = xml + "/>";
                        string mcyj = dt_Examapply.Rows[0]["mcyj"].ToString().Trim();
                        if (mcyj != "")
                        {
                            mcyj = "末次月经:" + mcyj;
                        }
                        xml = xml + "<临床病史><![CDATA[" + mcyj + "  " + dt_Examapply.Rows[0]["ClinSYMP"].ToString() + "]]></临床病史>";
                        xml = xml + "<临床诊断><![CDATA[" + dt_Examapply.Rows[0]["CLINDIAG"].ToString() + "]]></临床诊断>";
                        xml = xml + "</LOGENE>";
                        return(xml);
                    }
                    catch (Exception rtn_xml_e)
                    {
                        MessageBox.Show("拼接XML异常" + rtn_xml_e.ToString());
                        return("0");
                    }
                }
                if (Sslbx == "查询申请表")
                {
                    string path = f.ReadString("查询申请表", "exepath", "");
                    if (path.Trim() == "")
                    {
                        path = "D:\\pathqc\\xy1ysqcx.exe";
                    }
                    Process.Start(path);
                    return("0");
                }

                return("0");
            }
            return("0");
        }
示例#14
0
        public void pathtohis(string blh, string yymc)
        {
            string bglx = "cg";
            string bgxh = "0";
            //安全校验凭证,凭证既是接口的检验码,也是调用方的身份标识,由集成平台提供给LIS、PACS.
            string certificate = "7pzOrESsiv8VnB6RD2FXmndLaJCYpiY7";

            blhgy = blh;
            string msg   = f.ReadString("savetohis", "msg", "");
            string debug = f.ReadString("savetohis", "debug", "");

            DataTable bljc = new DataTable();

            bljc = aa.GetDataTable("select * from T_jcxx where F_blh='" + blh + "'", "blxx");

            if (bljc == null)
            {
                MessageBox.Show("病理数据库设置有问题!");
                log.WriteMyLog("病理数据库设置有问题!");
                return;
            }
            if (bljc.Rows.Count < 1)
            {
                MessageBox.Show("病理号有错误!");
                log.WriteMyLog("病理号有错误!");
                return;
            }

            if (bljc.Rows[0]["F_brlb"].ToString().Trim() == "体检" && bljc.Rows[0]["F_sqxh"].ToString().Trim() == "")
            {
                pathtoTJ(blh, bglx, bgxh, bljc, debug);
                return;
            }

            if (bljc.Rows[0]["F_sqxh"].ToString().Trim() == "")
            {
                log.WriteMyLog("无申请序号(单据号),不处理!");
                return;
            }

            string visitType = "";   ////	--就诊类型(1门急诊2住院 3体检)
            string visitNo   = "";   //门诊号或住院号
            string brlb      = bljc.Rows[0]["F_brlb"].ToString().Trim();

            if (brlb == "门诊")
            {
                visitType = "1";
                visitNo   = bljc.Rows[0]["F_MZH"].ToString().Trim();
            }
            if (brlb == "住院")
            {
                visitType = "2";
                visitNo   = bljc.Rows[0]["F_zyh"].ToString().Trim();
            }
            if (brlb == "体检")
            {
                visitType = "3";
            }

            //string sqxh=bljc.Rows[0]["F_sqxh"].ToString().Trim();
            string zt = bljc.Rows[0]["F_bgzt"].ToString().Trim();
            //string pacsBillNo = bljc.Rows[0]["F_blh"].ToString().Trim();

            string ztbm        = "3"; //状态编号
            int    reAuditFlag = 0;   //是否重复审核

            if (zt == "已登记")
            {
                ztbm = "3";
            }
            if (zt == "已取材")
            {
                ztbm = "5";
            }

            if (zt == "已写报告")
            {
                ztbm = "6";
            }

            int F_SFCFSH = 0;

            try
            {
                F_SFCFSH = int.Parse(bljc.Rows[0]["F_SFCFSH"].ToString().Trim());
            }
            catch
            {
            }

            if (zt == "已审核")
            {
                ztbm = "7";

                if (F_SFCFSH >= 1)
                {
                    reAuditFlag = 1;
                }
            }

            string yhmc = f.ReadString("yh", "yhmc", "").Replace("\0", "");;
            string yhbh = f.ReadString("yh", "yhbh", "").Replace("\0", "");
            //  // 更改报告状态
            //if (bljc.Rows[0]["F_sqxh"].ToString().Trim() == "")
            // sqxh = " ";

            string xmlstr = "<?xml version='1.0' encoding='UTF-8'?>";

            try
            {
                xmlstr = xmlstr + "<root>";
                xmlstr = xmlstr + "<visitType>" + visitType + "</visitType>";                                      //	--就诊类型(1门急诊2住院 3体检)
                xmlstr = xmlstr + "<visitNo>" + bljc.Rows[0]["F_by2"].ToString().Trim() + "</visitNo>";            //--门诊挂号号/住院号/体检号/条码号
                xmlstr = xmlstr + "<patientId>" + bljc.Rows[0]["F_BRBH"].ToString().Trim() + "</patientId>";       // -- 病人ID
                xmlstr = xmlstr + "<pacsBillNo>" + bljc.Rows[0]["F_BLH"].ToString().Trim() + "</pacsBillNo>";      //--pacs报告单号
                xmlstr = xmlstr + "<hisApplyNo>" + bljc.Rows[0]["F_SQXH"].ToString().Trim() + "</hisApplyNo>";     //--his单据号
                xmlstr = xmlstr + "<clinicCode></clinicCode>";                                                     //HIS收费项目代码
                xmlstr = xmlstr + "<clinicName></clinicName>";                                                     // 项目名称
                xmlstr = xmlstr + "<reportStatus>" + ztbm + "</reportStatus>";                                     // -- 报告状态编码
                xmlstr = xmlstr + "<reAuditFlag>" + reAuditFlag + "</reAuditFlag>";                                //-重复审核标志:1-标识重复审核
                xmlstr = xmlstr + "<changeTime>" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "</changeTime>"; // -- 改变时间
                xmlstr = xmlstr + "<changeOperator>" + yhmc + "/" + yhbh + "</changeOperator>";                    // --修改操作人:姓名/工号
                xmlstr = xmlstr + "</root>";
            }
            catch
            {
                if (msg == "1")
                {
                    MessageBox.Show("生成xml异常!");
                }
                log.WriteMyLog("生成xml异常");
                return;
            }

            try
            {
                klmyWeb.WSInterface klmy = new PathHISZGQJK.klmyWeb.WSInterface();
                string webServicesURL    = f.ReadString("savetohis", "webServicesURL", "");
                if (webServicesURL.Trim() != "")
                {
                    klmy.Url = webServicesURL;
                }

                string ztstr = klmy.CallInterface("UpdatePacsReportStatus", xmlstr, "", certificate);

                if (ztstr.Contains("error"))
                {
                    if (msg == "1")
                    {
                        MessageBox.Show("回传报告状态失败!原因:" + ztstr);
                    }
                    log.WriteMyLog("回传报告状态失败!原因:" + ztstr);
                }
                else
                {
                    if (msg == "1")
                    {
                        MessageBox.Show("回传报告状态成功!");
                    }
                }
            }
            catch (Exception e)
            {
                if (msg == "1")
                {
                    MessageBox.Show("回传报告状态异常!");
                }
                log.WriteMyLog("回传报告状态异常!原因:" + e.ToString());
                return;
            }

            if (zt == "已审核")
            {
                try
                {
                    aa.ExecuteSQL("update T_JCXX set F_SFCFSH='" + (F_SFCFSH + 1).ToString() + "' where F_BLH='" + blh + "'");
                }
                catch
                {
                    return;
                }
            }
            return;
        }
示例#15
0
        public static void messagemain(string msg, string hl7server, string hl7port, ref byte[] ack)
        {
            HL7.readhl7 adtread = new HL7.readhl7();
            string[]    aaa     = adtread.Adt01(msg);
            // netStream = client.GetStream();
            string hfdm = "";


            hfdm = "ORR^O02";
            //回复消息
            byte[] by2 = System.Text.Encoding.UTF8.GetBytes(adtread.MSH[0].ToString() + "|" + adtread.MSH[1].ToString() + "|BL||EMR||" + adtread.MSH[6].ToString() + "||" + hfdm + "|ACK" + adtread.MSH[9].ToString() + "|" + adtread.MSH[10].ToString() + "|" + adtread.MSH[11].ToString() + "||||||utf-8\r" + "MSA|AA|" + adtread.MSH[9].ToString() + "|0|||\r");
            byte[] by3 = new byte[by2.Length + 3];
            by3[0] = 11;
            Array.Copy(by2, 0, by3, 1, by2.Length);
            by3[by3.Length - 2] = 28;
            by3[by3.Length - 1] = 13;
            ack = by3;
            try
            {
                //删除申请单
                if (adtread.MSH[8] == "ORM^O01" && adtread.ORC[1] == "CA")
                {
                    //aa.ExecuteSQL("delete from T_HL7_SQD where F_sqxh='" + adtread.ORC[4].ToString().Trim() + "'");
                    aa.ExecuteSQL("delete from T_HL7_SQD where F_yzid='" + adtread.OBR[45].Replace(@"\r", "").Split('^')[3] + "'");
                    aa.ExecuteSQL("delete from T_hl7_bblb where F_yzid='" + adtread.OBR[45].Replace(@"\r", "").Split('^')[3] + "'");

                    return;
                }

                //存档1 ORM^O01
                if (adtread.MSH[8] == "ORM^O01" && adtread.ORC[1] == "NW")
                {
                    string[] fields = new string[42];
                    fields[0]  = "F_brid";
                    fields[1]  = "F_brxm";
                    fields[2]  = "F_brsr";
                    fields[3]  = "F_brxb";
                    fields[4]  = "F_brdz";
                    fields[5]  = "F_brdh";
                    fields[6]  = "F_brly";
                    fields[7]  = "F_bqxx";
                    fields[8]  = "F_ksxx";
                    fields[9]  = "F_zzys";
                    fields[10] = "F_zyh";
                    fields[11] = "F_jzsj";
                    fields[12] = "F_brlb";
                    fields[13] = "F_xm";
                    fields[14] = "F_xb";
                    fields[15] = "F_nl";
                    fields[16] = "F_bq";
                    fields[17] = "F_ch";
                    fields[18] = "F_messageid";
                    fields[19] = "F_mzh";
                    fields[20] = "F_sqxh";
                    fields[21] = "F_yzid";

                    fields[22] = "F_sqsj";
                    fields[23] = "F_sjys";
                    fields[24] = "F_sjks";
                    fields[25] = "F_zxks";

                    fields[26] = "F_yzxm";
                    fields[27] = "F_sldw";
                    fields[28] = "F_je";
                    fields[29] = "F_fph";
                    fields[30] = "F_hjsf";
                    fields[31] = "F_PID";
                    fields[32] = "F_PV1";
                    fields[33] = "F_ORC";
                    fields[34] = "F_OBR";
                    fields[35] = "F_barcode";
                    fields[36] = "F_bbmc";
                    fields[37] = "F_lczd";
                    fields[38] = "F_MzhOrZyh";
                    fields[39] = "F_FB";
                    fields[40] = "F_rysj";
                    fields[41] = "F_lczl";
                    string[] values = new string[42];


                    ////PID
                    values[0] = adtread.PID[3].Split('^')[0];
                    values[1] = adtread.PID[5];
                    values[2] = adtread.PID[7];
                    values[3] = adtread.PID[8];
                    values[4] = adtread.PID[11];
                    values[5] = adtread.PID[13];

                    //PV1
                    values[6] = adtread.PV1[2];
                    values[7] = adtread.PV1[3];
                    //
                    values[38] = adtread.PV1[19];
                    values[39] = adtread.PV1[20];
                    values[40] = adtread.PV1[44];

                    //OBR
                    values[8] = adtread.OBR[18] + "|" + adtread.OBR[19];

                    string bbmc  = adtread.OBR[39];
                    int    start = bbmc.IndexOf("送检标本#");

                    if (bbmc.IndexOf("送检标本#") > 0)
                    {
                        bbmc = bbmc.Substring(start + 5);
                        if (bbmc.IndexOf("$$") > 0)
                        {
                            bbmc = bbmc.Substring(0, bbmc.IndexOf("$$"));
                        }
                        else
                        {
                            bbmc = "";
                        }
                    }
                    else
                    {
                        bbmc = "";
                    }
                    string[] bblb = bbmc.Split(';');

                    bbmc = bblb[0];
                    //bbmc = adtread.OBR[27].Substring(adtread.OBR[27].IndexOf("送检标本#") + 5, adtread.OBR[27].IndexOf("送检标本#").ToString().Length - adtread.OBR[27].IndexOf("送检标本#").ToString().Length);

                    string barcode = "";


                    if (bbmc.Split('/').Length >= 3)
                    {
                        barcode    = bbmc.Split('/')[2];
                        bbmc       = bbmc.Split('/')[0] + "/" + bbmc.Split('/')[1];
                        values[35] = barcode;
                        values[36] = bbmc;
                    }
                    else
                    {
                        values[35] = "";
                        values[36] = bbmc;
                    }
                    //MessageBox.Show("1");
                    /////zgq---bbmc-lczd-lczl
                    //string NTE = adtread.NTE[3];
                    //MessageBox.Show(NTE);
                    //string [] nte_1 = NTE.Replace("$$", "$").Split('$');
                    //MessageBox.Show(nte_1[0]);
                    //string lczd_1 = nte_1[0].Split('#')[1].ToString();
                    //MessageBox.Show("7");
                    //string bbmc_1 = nte_1[1].Split('#')[1].ToString() + ";" + nte_1[0].Split('#')[2].ToString() + ";" + nte_1[0].Split('#')[3].ToString();
                    ////string cqbw_1 = nte_1[1].Split('#')[1].ToString() + ";" + nte_1[0].Split('#')[2].ToString() + ";" + nte_1[0].Split('#')[3].ToString();
                    //string lczl_1 = nte_1[1].Split('#')[4].ToString();
                    //MessageBox.Show("9");
                    //bbmc_1 = bbmc_1.Replace(";;", ";");
                    //values[36] = bbmc_1;
                    //values[37] = lczd_1;
                    //values[41] = lczl_1;
                    values[41] = "";
                    values[9]  = "";
                    //住院号
                    if (adtread.PV1[2].Trim() == "I")
                    {
                        values[38] = adtread.PV1[19];
                    }
                    else
                    {
                        values[10] = "";
                    }
                    //门诊号
                    if (adtread.PV1[2].Trim() == "O" || adtread.PV1[2].Trim() == "P")
                    {
                        values[19] = adtread.PV1[19];
                    }
                    else
                    {
                        values[19] = "";
                    }

                    values[11] = "";


                    if (adtread.PV1[2].Trim() == "I")
                    {
                        values[12] = "住院";
                    }
                    if (adtread.PV1[2].Trim() == "O")
                    {
                        values[12] = "门诊";
                    }
                    if (adtread.PV1[2].Trim() == "P")
                    {
                        values[12] = "体检";
                    }
                    if (adtread.PV1[2].Trim() == "E")
                    {
                        values[12] = "急诊";
                    }


                    //values[15] = "住院";

                    values[13] = adtread.PID[5];
                    if (adtread.PID[5].IndexOf('^') > -1)
                    {
                        values[13] = adtread.PID[5].Substring(0, adtread.PID[5].IndexOf('^'));
                    }


                    values[14] = "其他";
                    if (adtread.PID[8].Trim() == "M")
                    {
                        values[14] = "男";
                    }
                    if (adtread.PID[8].Trim() == "F")
                    {
                        values[14] = "女";
                    }

                    try
                    {
                        DateTime tm1 = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd"));
                        DateTime tm2 = Convert.ToDateTime(adtread.PID[7].Substring(0, 4) + "-" + adtread.PID[7].Substring(4, 2) + "-" + adtread.PID[7].Substring(6, 2));
                        values[15] = datediff(tm1, tm2);
                    }
                    catch
                    {
                        values[15] = "0岁";
                    }



                    values[16] = "";
                    values[17] = "";
                    if (adtread.PV1[3].IndexOf('^') > -1)
                    {
                        try
                        {
                            values[16] = adtread.PV1[3].Split('^')[0];
                            values[17] = adtread.PV1[3].Split('^')[2];
                        }
                        catch
                        { }
                    }

                    values[18] = adtread.MSH[9];

                    //ORC
                    values[20] = adtread.ORC[2];
                    values[21] = adtread.ORC[4];//收费小序号
                    //  values[21] = adtread.OBR[45].Replace(@"\r", "").Split('^')[3];

                    values[22] = adtread.OBR[6];
                    values[23] = adtread.ORC[12];
                    values[24] = adtread.OBR[18] + "|" + adtread.OBR[19];
                    values[25] = adtread.OBR[20] + "|" + adtread.OBR[21];

                    values[26] = adtread.OBR[4];
                    values[27] = adtread.OBR[9];

                    values[28] = adtread.OBR[23];
                    values[29] = adtread.OBR[46].Replace(@"\r", "");
                    values[30] = adtread.OBR[45].Replace(@"\r", "");
                    try
                    {
                        //NTE
                        string nte = adtread.OBR[3];
                        values[37] = nte.Split('$')[0].Split('#')[1].ToString();
                    }
                    catch
                    {
                        values[37] = "";
                    }
                    string pid = "";
                    for (int i = 0; i < adtread.PID.Length; i++)
                    {
                        pid = pid + adtread.PID[i].ToString() + "|";
                    }

                    pid = pid.Replace(@"\r", "");
                    string pv1 = "";
                    for (int j = 0; j < adtread.PV1.Length; j++)
                    {
                        pv1 = pv1 + adtread.PV1[j].ToString() + "|";
                    }
                    string orc = "";
                    for (int ii = 0; ii < adtread.ORC.Length; ii++)
                    {
                        orc = orc + adtread.ORC[ii].ToString() + "|";
                    }
                    orc = orc.Replace(@"\r", "");
                    string obr = "";
                    // LGZGQClass.log.WriteMyLog(adtread.OBR.Length.ToString());
                    for (int jj = 0; jj < adtread.OBR.Length; jj++)
                    {
                        // LGZGQClass.log.WriteMyLog(jj.ToString()+" "+adtread.OBR[jj].ToString());
                        obr = obr + adtread.OBR[jj].ToString() + "|";
                    }

                    pv1        = pv1.Replace(@"\r", "");
                    values[31] = pid;
                    values[32] = pv1;
                    values[33] = orc;
                    values[34] = obr;


                    DataTable hl7check = aa.GetDataTable("select * from T_HL7_SQD where F_messageid='" + adtread.MSH[9] + "'", "checkhl7");

                    if (hl7check.Rows.Count > 0)
                    {
                        log.WriteMyLog("重发消息" + adtread.MSH[9] + ",不处理!");
                        //MessageBox.Show("重发消息");
                    }
                    else
                    {
                        aa.insertsql("T_HL7_SQD", ref fields, ref values);

                        string[] bbfds = new string[6];
                        string[] bbvas = new string[6];
                        bbfds[0] = "F_tmh";
                        bbfds[1] = "F_bbmc";
                        bbfds[2] = "F_bbbw";
                        bbfds[3] = "F_sl";

                        bbfds[4] = "F_sqdh";
                        bbfds[5] = "F_yzid";

                        bbvas[4] = values[20];
                        bbvas[5] = values[21];

                        for (int i = 0; i < bblb.Length; i++)
                        {
                            bbvas[0] = bblb[i].Split('/')[2];
                            bbvas[1] = bblb[i].Split('/')[1];
                            bbvas[2] = bblb[i].Split('/')[0];
                            bbvas[3] = bblb[i].Split('/')[3];
                            aa.insertsql("T_hl7_bblb", ref bbfds, ref bbvas);
                        }
                    }
                    //hl7sub.sendack(ref by3, hl7server,hl7port);
                    //netStream.Write(by3, 0, by3.Length);
                    //netStream.Flush();
                    // LGZGQClass.log.WriteMyLog("send to server " + f.ReadString("HL7", "Server", "") + ":" + f.ReadInteger("HL7", "Port", 8000).ToString() + " message:" + System.Text.Encoding.Default.GetString(by3, 0, by3.Length));
                }
            }
            catch (Exception ex)
            {
                hfdm = "ORR^O02";
                //回复消息
                by2    = System.Text.Encoding.UTF8.GetBytes(adtread.MSH[0].ToString() + "|" + adtread.MSH[1].ToString() + "|BL||EMR||" + adtread.MSH[6].ToString() + "||" + hfdm + "|ACK" + adtread.MSH[9].ToString() + "|" + adtread.MSH[10].ToString() + "|" + adtread.MSH[11].ToString() + "||||||utf-8\r" + "MSA|AE|ACK2" + adtread.MSH[9].ToString() + "|" + ex.Message.ToString() + "||\r");
                by3    = new byte[by2.Length + 3];
                by3[0] = 11;
                Array.Copy(by2, 0, by3, 1, by2.Length);
                by3[by3.Length - 2] = 28;
                by3[by3.Length - 1] = 13;
                ack = by3;
            }


            //if (adtread.MSH[8] == "ACK")
            //{
            //    string[] fields = new string[3];
            //    fields[0] = "F_messageid";
            //    fields[1] = "F_zt";
            //    fields[2] = "F_bz";
            //    string[] values = new string[3];
            //    string messagetype = adtread.MSA[2];
            //    values[0] = "";
            //    if (messagetype.IndexOf("IP") > 0)
            //    {
            //        values[0] = messagetype.Substring(0, messagetype.IndexOf("IP"));
            //    }
            //    if (messagetype.IndexOf("BG") > 0)
            //    {
            //        values[0] = messagetype.Substring(0, messagetype.IndexOf("BG"));
            //    }
            //    if (messagetype.IndexOf("AA") > 0)
            //    {
            //        values[0] = messagetype.Substring(0, messagetype.IndexOf("AA"));
            //         LGZGQClass.log.WriteMyLog(messagetype+"检查完成ACK消息,不处理!");
            //        return;

            //    }
            //    if (messagetype.IndexOf("CM") > 0)
            //    {
            //        values[0] = messagetype.Substring(0, messagetype.IndexOf("CM"));
            //         LGZGQClass.log.WriteMyLog(messagetype + "报告审核ACK消息,不处理!");
            //        return;

            //    }
            //    if (messagetype.IndexOf("OC") > 0)
            //    {
            //        values[0] = messagetype.Substring(0, messagetype.IndexOf("OC"));
            //         LGZGQClass.log.WriteMyLog(messagetype + "取消检查ACK消息,不处理!");
            //        return;

            //    }
            //    if (adtread.MSA[1] == "AA")
            //    {
            //        values[1] = "发送完成";
            //        values[2] = "";
            //    }
            //    else
            //    {
            //        values[1] = "发送失败";
            //        values[2] = "HIS错误";
            //    }

            //    dbbase.sqldb aa = new sqldb(System.Windows.Forms.Application.StartupPath, "sqlserver2");
            //    if (values[0] == "")
            //    {
            //         LGZGQClass.log.WriteMyLog(adtread.MSA[2] + " HIS错误消息,不处理!");
            //    }
            //    else
            //    {
            //        if (aa.updatesql("T_jcxx2", ref fields, ref values, "F_messageid='" + values[0] + "'"))
            //        { }
            //        else
            //        {
            //             LGZGQClass.log.WriteMyLog(adtread.MSA[2] + "更新失败!");
            //        }
            //    }
            //}
        }
示例#16
0
        /// <summary>
        ///  dbbase.odbcdb aa = new odbcdb("DSN=pathnet-his2;UID=sys_sqsf;PWD=sqsfglxt", "", "");
        ///DataTable dzbl_jcjg = new DataTable();
        /// </summary>
        public void myzxyy_hx(string blh, string debug)
        {
            string usr = f.ReadString("myzxyy", "usr", "sys_sqsf");
            string pwd = f.ReadString("myzxyy", "pwd", "sqsfglxt");
            string CZY = f.ReadString("yh", "yhmc", "").Replace("\0", "").Trim();

            DataTable brxx = new DataTable();



            brxx = aa.GetDataTable("select * from T_JCXX where F_blh='" + blh + "'", "brxx");

            if (brxx == null)
            {
                MessageBox.Show("病理数据库设置有问题!");
                return;
            }
            if (brxx.Rows.Count < 1)
            {
                MessageBox.Show("病理号有错误!");
                return;
            }

            cn = new OdbcConnection("DSN=pathnet-his;UID=" + usr + ";PWD=" + pwd + "");
            try
            {
                string brbh    = brxx.Rows[0]["F_brbh"].ToString().Trim();
                string rysj    = brxx.Rows[0]["F_RYSJ"].ToString().Trim();
                string zyh     = brxx.Rows[0]["F_zyh"].ToString().Trim();
                string mzh     = brxx.Rows[0]["F_mzh"].ToString().Trim();
                string bgzt    = brxx.Rows[0]["F_BGZT"].ToString().Trim();
                string sqxh    = brxx.Rows[0]["F_SQXH"].ToString().Trim();
                string sdrq    = brxx.Rows[0]["F_SDRQ"].ToString().Trim();
                string bgys    = brxx.Rows[0]["F_BGYS"].ToString().Trim();
                string blzd    = brxx.Rows[0]["F_BlZD"].ToString().Trim();
                string deljcid = "select * from dzbl_jcjg where jcdh='" + blh + "'";

                string brlb = brxx.Rows[0]["F_BRLB"].ToString().Trim();

                if (brbh != "")
                {
                    DataTable dt = new DataTable();
                    try
                    {
                        cn.Open();
                        OdbcDataAdapter dap = new OdbcDataAdapter(deljcid, cn);
                        dap.Fill(dt);
                        dap.Dispose();
                        cn.Close();
                    }
                    catch (Exception ee1)
                    {
                        MessageBox.Show("执行数据库失败:" + ee1.Message);
                        return;
                    }

                    if (bgzt == "已审核")
                    {
                        if (sqxh != "")                          //申请序号不为空才回写标志
                        {
                            if (brxx.Rows[0]["F_HXBZ"].ToString() != "1")
                            {
                                upstatus(blh, brlb, sqxh, debug);
                            }
                        }

                        string shrq = brxx.Rows[0]["F_SPARE5"].ToString().Trim();
                        string shys = brxx.Rows[0]["F_shys"].ToString().Trim();
                        string blk  = brxx.Rows[0]["F_Blk"].ToString().Trim();

                        if (brlb == "住院" || brlb == "门诊")
                        {
                            string in_jcjg = "";
                            if (dt.Rows.Count > 0)
                            {
                                in_jcjg = "update  dzbl_jcjg  set jcid='" + sqxh + "',jcsj='" + rysj + "',jcjl='" + blzd + "',zdys='" + bgys + "',shys='" + shys + "',sblx='病理',jcrq='" + sdrq + "',bgrq='" + shrq + "',jbdm='',jbmc='',zyh='" + brbh + "',khid=''  where   jcdh='" + blh + "'";
                            }
                            else
                            {
                                in_jcjg = "insert into dzbl_jcjg(jcid,jcsj,jcjl,zdys,shys,sblx,jcrq,bgrq,jbdm,jbmc,zyh,khid,jcdh)values('" + sqxh + "','" + rysj + "','" + blzd + "','" + bgys + "','" + shys + "','病理','" + sdrq + "','" + shrq + "','','','" + brbh + "','','" + blh + "')";
                            }

                            try
                            {
                                OdbcCommand cmd2 = new OdbcCommand(in_jcjg, cn);
                                cn.Open();
                                int z = cmd2.ExecuteNonQuery();
                                cn.Close();
                                if (z > 0)
                                {
                                    log.WriteMyLog(blh + "写入HIS成功;");
                                    if (debug == "1")
                                    {
                                        log.WriteMyLog(blh + ",执行语句;" + in_jcjg);
                                    }
                                    ZgqClass.BGHJ(blh, CZY, "审核", "写入HIS成功", "ZGQJK", "");
                                }
                                else
                                {
                                    log.WriteMyLog(blh + "写入HIS失败;" + in_jcjg);
                                    ZgqClass.BGHJ(blh, CZY, "审核", "写入HIS失败", "ZGQJK", "");
                                }
                            }
                            catch (Exception ee1)
                            {
                                MessageBox.Show("执行数据库失败:" + ee1.Message);
                                return;
                            }
                        }
                        else
                        {
                            if (debug == "1")
                            {
                                log.WriteMyLog(blh + "非门诊或住院病人,不处理");
                            }
                            ZgqClass.BGHJ(blh, CZY, "审核", "非门诊或住院病人,不处理", "ZGQJK", "");
                            return;
                        }
                    }
                    else
                    {
                        if (sqxh != "")
                        {
                            if (brxx.Rows[0]["F_HXBZ"].ToString() != "1")
                            {
                                upstatus(blh, brlb, sqxh, debug);
                            }
                        }

                        //取消审核
                        if (bgzt == "已写报告")
                        {
                            string in_jcjg = "";
                            if (dt.Rows.Count > 0)
                            {
                                in_jcjg = "update  dzbl_jcjg  set jcsj='',jcjl='',zdys='',shys='',bgrq=''   where   jcdh='" + blh + "'";

                                try
                                {
                                    OdbcCommand cmd2 = new OdbcCommand(in_jcjg, cn);
                                    cn.Open();
                                    int z = cmd2.ExecuteNonQuery();
                                    cn.Close();
                                    if (z > 0)
                                    {
                                        log.WriteMyLog(blh + "取消审核更改HIS记录成功");

                                        ZgqClass.BGHJ(blh, CZY, "取消审核", "更改HIS记录成功", "ZGQJK", "");
                                    }
                                    else
                                    {
                                        log.WriteMyLog(blh + "取消审核更改HIS记录失败:" + in_jcjg);
                                        ZgqClass.BGHJ(blh, CZY, "取消审核", "更改HIS记录失败", "ZGQJK", "");
                                    }
                                }
                                catch (Exception ee1)
                                {
                                    MessageBox.Show("执行数据库失败:" + ee1.Message);
                                    log.WriteMyLog(blh + "取消审核执行数据库失败:" + ee1.Message + "\r\n" + in_jcjg);
                                    ZgqClass.BGHJ(blh, CZY, "取消审核", "更改HIS记录失败", "ZGQJK", "");
                                    return;
                                }
                            }
                        }
                    }
                }
                else
                {
                    if (sqxh != "")
                    {
                        if (brxx.Rows[0]["F_HXBZ"].ToString() != "1")
                        {
                            upstatus(blh, brlb, sqxh, debug);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                cn.Close();
                ZgqClass.BGHJ(blh, CZY, "审核", "异常:" + e.Message.ToString(), "ZGQJK", "");
                MessageBox.Show(e.Message.ToString());
            }
        }
示例#17
0
        public void sxeyy_hx(string F_blh)
        {
            DataTable jcxx = new DataTable();
            DataTable bltx = new DataTable();
            string    xml_check;  //更新检查状态
            string    xml_report; //更新报告状态

            try
            {
                jcxx = aa.GetDataTable("select * from T_jcxx where F_blh='" + F_blh + "'", "jcxx");
                bltx = aa.GetDataTable("select * from t_tx where F_blh='" + F_blh + "'", "bltx");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString());
                return;
            }


            if (jcxx == null)
            {
                MessageBox.Show("病理数据库设置有问题!");
                log.WriteMyLog("病理数据库设置有问题!");
                return;
            }
            if (jcxx.Rows.Count < 1)
            {
                MessageBox.Show("病理号有错误!");
                log.WriteMyLog("病理号有错误!");
                return;
            }
            #region  获取系统设置表中msg即写日志开关及webservice地址链接
            string    msg  = null;
            DataTable T_SZ = new DataTable();
            T_SZ = aa.GetDataTable("select F_SZZ,F_XL from T_SZ where F_DL='JK' and (F_XL='JK_MSG' or F_XL='JK_WebServicesURL')", "T_SZ");
            string URL = null;

            for (int y = 0; y < T_SZ.Rows.Count; y++)
            {
                if (T_SZ.Rows[y]["F_XL"].ToString().Trim() == "JK_MSG")
                {
                    msg = T_SZ.Rows[0]["F_SZZ"].ToString().Trim();
                }
                if (T_SZ.Rows[y]["F_XL"].ToString().Trim() == "JK_WebServicesURL")
                {
                    URL = T_SZ.Rows[y]["F_SZZ"].ToString().Trim();
                }
            }
            if (URL == "")
            {
                URL = "http://168.192.8.10:8080/WebService/services/MatrixService?wsdl";
            }
            #endregion
            if (jcxx.Rows.Count > 0)
            {
                #region 报告状态未审核
                if (jcxx.Rows[0]["F_BGZT"].ToString() != "已审核")
                {
                    xml_check = update_xmlcheck(jcxx, jcxx.Rows[0]["F_sqxh"].ToString().Trim(), F_blh, "SC", jcxx.Rows[0]["F_BLK"].ToString().Trim());
                    if (jcxx.Rows[0]["F_HXBZ"].ToString().Trim() == "" && jcxx.Rows[0]["F_SQXH"].ToString().Trim() != "")     //HXBZ 1-表示已更新状态   2-报告已传过
                    {
                        ///此处增加webservice执行xml,更改状态
                        if (ExcuteWebservice("JCZT", xml_check, URL) == "1")
                        {
                            aa.ExecuteSQL("update t_jcxx set f_hxbz='1' where f_blh='" + F_blh + "'");
                            if (msg == "1")
                            {
                                log.WriteMyLog(F_blh + "更改检查状态成功!");
                            }
                        }
                        else
                        {
                            log.WriteMyLog(F_blh + "更改检查状态失败!");
                        }
                    }


                    else if (jcxx.Rows[0]["F_HXBZ"].ToString().Trim() == "2")//2表示已经回写过诊断,此处要更新为空的状态
                    {
                        xml_report = update_xmlreportnoapply(jcxx, "C", bltx);


                        //此处增加更新报告诊断置为空状态
                        if (ExcuteWebservice("BG", xml_report, URL) == "1")
                        {
                            if (msg == "1")
                            {
                                log.WriteMyLog(F_blh + "清空报告内容成功!");
                            }
                        }
                        else
                        {
                            log.WriteMyLog(F_blh + "清空报告内容失败!");
                        }
                    }
                    if (msg == "1")
                    {
                        log.WriteMyLog(F_blh + "回写标志为空或者已经更改过检查状态!");
                    }
                }
                #endregion

                #region 报告状态已审核
                if (jcxx.Rows[0]["F_BGZT"].ToString() == "已审核")
                {
                    if (jcxx.Rows[0]["F_sqxh"].ToString().Trim() != "")
                    {
                        //先更新检查状态为检查完成--上传报告--hxbz改为2已上传报告


                        //此处增加webservice执行xml,更改状态
                        if (jcxx.Rows[0]["F_HXBZ"].ToString().Trim() != "2")
                        {
                            xml_check = update_xmlcheck(jcxx, jcxx.Rows[0]["F_sqxh"].ToString().Trim(), F_blh, "CM", jcxx.Rows[0]["F_BLK"].ToString().Trim());
                            if (ExcuteWebservice("JCZT", xml_check, URL) == "1")
                            {
                                if (msg == "1")
                                {
                                    log.WriteMyLog(F_blh + "更改检查状态成功,改为CM检查完成!");
                                }
                            }
                            else
                            {
                                log.WriteMyLog(F_blh + "更改检查状态失败!");
                            }
                        }
                    }
                    if (msg == "1")
                    {
                        log.WriteMyLog(F_blh + "开始执行报告xml拼写并回传!");
                    }

                    xml_report = update_xmlreportnoapply(jcxx, "F", bltx);
                    if (ExcuteWebservice("BG", xml_report, URL) == "1")
                    {
                        aa.ExecuteSQL("update t_jcxx set f_hxbz='2' where f_blh='" + F_blh + "'");
                        if (msg == "1")
                        {
                            log.WriteMyLog(F_blh + "更新报告成功!");
                        }
                    }
                    else
                    {
                        log.WriteMyLog(F_blh + "更新报告失败!");
                    }
                }
                #endregion
            }
        }
示例#18
0
        public string caqm(string cslb)
        {
            if (f.ReadInteger("CA", "msg", 0) == 1)
            {
                MessageBox.Show(cslb);
            }

            string ysxm = "";

            //if (cslb.Split('^')[0].ToUpper() == "SH")
            //{

            //    frm_bhdxfsyy newfrm2 = new frm_bhdxfsyy("sh", "");
            //    newfrm2.ShowDialog();
            //    ysxm = newfrm2.ysxm;
            //    MessageBox.Show(ysxm);
            //    if (ysxm == "0")
            //    {
            //        return "0";
            //    }
            //    //else
            //    //{
            //    //    return "1";
            //    //}
            //}

            string[] castr     = cslb.Split('^');
            string   blh       = "";
            string   bgxh      = "";
            string   bglx      = "";
            string   dz        = "";
            string   sqlstring = "";

            ysxm = "";
            if (castr.Length > 6)
            {
                blh  = castr[1];
                bgxh = castr[2];
                bglx = castr[3].ToLower();
                dz   = castr[4].ToUpper();
            }

            if (blh.Trim() == "")
            {
                return("0");
            }

            if (bglx == "bc")
            {
                sqlstring = "select F_blh,F_bc_bgxh,F_bczd as 病理诊断,F_qzid from T_bcbg where F_blh='" + blh + "' and F_bc_bgxh='" + bgxh + "'";
            }
            else if (bglx == "bd")
            {
                sqlstring = "select F_blh,F_bd_bgxh,F_bdzd as 病理诊断,F_qzid from T_bdbg where F_blh='" + blh + "' and F_bd_bgxh='" + bgxh + "'";
            }
            else
            {
                sqlstring = "select F_blh,F_blzd as 病理诊断,F_qzid from T_jcxx  where F_blh='" + blh + "'";
            }

            System.Data.DataTable dt1 = aa.GetDataTable(sqlstring, "jcxx");
            if (dt1.Rows.Count < 1)
            {
                return("0"); //不可能出现,以防万一
            }
            string blzd = dt1.Rows[0]["F_blh"].ToString().Trim() + "^" + bglx + "^" + bgxh + "^" + dt1.Rows[0]["病理诊断"].ToString().Trim();

            if (f.ReadInteger("CA", "msg", 0) == 1)
            {
                MessageBox.Show(dt1.Rows[0]["F_qzid"].ToString().Trim());
            }

            frm_bhdxfsyy newfrm = new frm_bhdxfsyy("sh", blzd);

            newfrm.ShowDialog();
            ysxm = newfrm.ysxm;
            newfrm.Close();
            newfrm.Dispose();

            if (ysxm == "0")
            {
                MessageBox.Show("数字签名失败!");
                return("0");
            }
            else
            {
                if (f.ReadInteger("CA", "msg", 0) == 1)
                {
                    MessageBox.Show("数字签名成功!");
                }
                if (bglx == "bc")
                {
                    sqlstring = "update T_bcbg set F_qzid='" + ysxm + "' where F_blh='" + blh + "' and F_bc_bgxh='" + bgxh + "'";
                }
                else if (bglx == "bd")
                {
                    sqlstring = "update T_bdbg set F_qzid='" + ysxm + "' where F_blh='" + blh + "' and F_bd_bgxh='" + bgxh + "'";
                }
                else
                {
                    sqlstring = "update T_jcxx set F_qzid='" + ysxm + "' where F_blh='" + blh + "'";
                }

                aa.ExecuteSQL(sqlstring);

                return("1");
            }
        }
示例#19
0
        public void pathtohis(string blh, string debug)
        {
            string CZY   = f.ReadString("yh", "yhmc", "").Replace("\0", "").Trim();
            string CZYGH = f.ReadString("yh", "yhbh", "").Replace("\0", "").Trim();
            int    ljfs  = f.ReadInteger("savetohis", "ljfs", 1);

            debug = f.ReadString("savetohis", "debug", "").Replace("\0", "").Trim();

            string msg   = f.ReadString("savetohis", "msg", "").Replace("\0", "").Trim();
            string wsurl = f.ReadString("savetohis", "wsurl", "").Replace("\0", "").Trim();



            DataTable bljc = new DataTable();

            bljc = aa.GetDataTable("select * from T_jcxx where F_blh='" + blh + "'", "bljc");
            if (bljc == null)
            {
                MessageBox.Show("病理数据库设置有问题!");
                log.WriteMyLog("病理数据库设置有问题!");
                return;
            }

            if (bljc.Rows.Count < 1)
            {
                MessageBox.Show("病理号有错误!");
                log.WriteMyLog("病理号有错误!");
                return;
            }
            if (bljc.Rows[0]["F_sqxh"].ToString().Trim() == "")
            {
                log.WriteMyLog("无申请序号(单据号),不处理!");
                ZgqClass.BGHJ(blh, CZY, "保存", "无申请序号(单据号),不处理!", "ZGQJK", "");
                return;
            }



            string constr = f.ReadString("savetohis", "odbcsql", "Data Source=192.168.4.5;Initial Catalog=ESDB;User Id=sa;Password=abc123!;");

            SqlDB  db     = new SqlDB();
            string errmsg = "";

            try
            {
                if (bljc.Rows[0]["F_HISBJ"].ToString() == "" || bljc.Rows[0]["F_HISBJ"].ToString() == null)
                {
                    string sql1 = "update pacs_resulto_temp set flag=1  where detail_id='" + bljc.Rows[0]["F_SQXH"].ToString() + "'";

                    int x = db.ExecuteNonQuery(constr, sql1, ref errmsg);
                    if (x > 0)
                    {
                        aa.ExecuteSQL("update T_JCXX set F_HISBJ='1'  where F_blh='" + blh + "'");
                        if (debug == "1")
                        {
                            MessageBox.Show("ToHIS:回写状态成功");
                        }
                    }
                    else
                    {
                        log.WriteMyLog("ToHIS:回写状态失败:" + errmsg + "\r\n" + sql1);
                        if (debug == "1")
                        {
                            MessageBox.Show("ToHIS:回写状态失败");
                        }
                    }
                }
            }
            catch
            {
                log.WriteMyLog("ToHIS:回写状态异常");
            }
            if (bljc.Rows[0]["F_BGZT"].ToString() == "已审核")
            {
                string sql = "update pacs_resulto_temp set flag=2,report_no='" + blh + "',check_ok='" + bljc.Rows[0]["F_RYSJ"].ToString() + "',check_result='" + bljc.Rows[0]["F_BLZD"].ToString() + "',execute_date='" + bljc.Rows[0]["F_BGRQ"].ToString() + "',doctor='" + bljc.Rows[0]["F_SHYS"].ToString() + "',check_date='" + bljc.Rows[0]["F_SPARE5"].ToString() + "',check_doctor='" + bljc.Rows[0]["F_SHYS"].ToString() + "'";
                sql = sql + "  where detail_id='" + bljc.Rows[0]["F_SQXH"].ToString() + "'";

                if (debug == "1")
                {
                    log.WriteMyLog(sql);
                }

                int x = db.ExecuteNonQuery(constr, sql, ref errmsg);
                log.WriteMyLog("返回:" + x.ToString() + "---" + errmsg);
                if (x > 0)
                {
                    aa.ExecuteSQL("update T_JCXX set F_HISBJ='2' where F_blh='" + blh + "'");
                    if (debug == "1")
                    {
                        MessageBox.Show("ToHIS:回写报告成功");
                    }
                }
                else
                {
                    log.WriteMyLog("ToHIS:回写报告失败:" + errmsg + "\r\n" + sql);
                    if (debug == "1")
                    {
                        MessageBox.Show("ToHIS:回写报告失败");
                    }
                }
                //   return;
            }
            else
            if (bljc.Rows[0]["F_BGZT"].ToString() == "已写报告" && bljc.Rows[0]["F_HISBJ"].ToString() == "2")
            {
                string sql1 = "update pacs_resulto_temp set flag=-1,report_no='" + blh + "',check_ok='',check_result='',execute_date='',doctor='',check_date='',check_doctor='' "
                              + "  where detail_id='" + bljc.Rows[0]["F_SQXH"].ToString() + "'";

                int x = db.ExecuteNonQuery(constr, sql1, ref errmsg);
                if (x > 0)
                {
                    aa.ExecuteSQL("update T_JCXX set F_HISBJ='-1' where F_blh='" + blh + "'");
                    if (debug == "1")
                    {
                        MessageBox.Show("ToHIS:回收报告成功");
                    }
                }
                else
                {
                    log.WriteMyLog("ToHIS:回收报告失败:" + errmsg + "\r\n" + sql1);
                    if (debug == "1")
                    {
                        MessageBox.Show("ToHIS:回收报告失败");
                    }
                }
            }
            else
            {
                log.WriteMyLog("ToHIS:" + bljc.Rows[0]["F_BGZT"].ToString() + ",不处理");
            }
            //tohis
            //    tohis(blh, bljc,debug);
            //topacs
            // topacs(blh, bljc,debug,bglx,bgxh,dz);
        }
示例#20
0
 public static DataTable GetTableBySql(string sql)
 {
     return(aa.GetDataTable(sql, "table1"));
 }
示例#21
0
        public void RTXML(string blh, string Debug1)
        {
            string Debug = f.ReadString("savetohis", "Debug", "").Replace("\0", "");

            brxx = aa.GetDataTable("select * from T_JCXX where F_blh='" + blh + "'", "brxx");
            DataTable yhqx  = aa.GetDataTable("select * from t_yh where F_YHMC='" + czyname + "'", "yhqx");
            int       brsta = 0;

            try
            {
                if (brxx.Rows.Count > 0)
                {
                    string brlb = brxx.Rows[0]["F_BRLB"].ToString();
                    string hxbz = brxx.Rows[0]["F_HXBZ"].ToString().Trim();
                    string zyh  = brxx.Rows[0]["F_zyh"].ToString().Trim();
                    string mzh  = brxx.Rows[0]["F_mzh"].ToString().Trim();
                    string sqdh = brxx.Rows[0]["F_BGZT"].ToString().Trim();
                    string sqxh = brxx.Rows[0]["F_SQXH"].ToString().Trim();
                    string blk  = brxx.Rows[0]["F_Blk"].ToString().Trim();
                    switch (brlb)
                    {
                    case "住院": brsta = 1; break;

                    case "门诊": brsta = 2; break;

                    case "体检": brsta = 3; break;
                    }

                    if (brxx.Rows[0]["F_SQXH"].ToString().Trim() != "")
                    {
                        //LisReportClass lc = new LisReportClass();

                        //bool b = lc.Connect(0, "40220", "159159"); ///HIS提供连接用户名
                        //if (Debug == "1")
                        //    MessageBox.Show(b.ToString());
                        //if (sqdh == "已审核")
                        //{
                        //    string sq2 = "update T_JCXX set F_HXBZ='2' where f_blh='" + blh + "'";
                        //    if (b)
                        //    {
                        //        if (Debug == "1")
                        //            MessageBox.Show(b.ToString());
                        //        if (hxbz == "")
                        //        {
                        //            if (Debug == "1")
                        //                MessageBox.Show(b.ToString());
                        //            if (lc.WriteRegInfo(1, brsta, zyh + mzh, sqxh + "|" + czyid + "|" + czyname))
                        //            {
                        //                if (lc.DoPerform(1, brsta, zyh + mzh, sqxh, "*"))
                        //                {

                        //                    MessageBox.Show("执行成功!");
                        //                     LGZGQClass.log.WriteMyLog(blh + "执行成功!");     ///标志改为2,因为已经审核

                        //                }
                        //            }
                        //        }
                        //        if (hxbz == "2")
                        //        {

                        //            if (lc.RemoveReport(brsta, zyh + mzh, sqxh, "*"))
                        //            {  LGZGQClass.log.WriteMyLog(blh + "在HIS中删除成功!"); }

                        //        }

                        //        string xmlpath = "D:\\pathqc\\UploadFiles";
                        //        if (!System.IO.Directory.Exists(xmlpath))
                        //        {
                        //            System.IO.Directory.CreateDirectory(xmlpath);
                        //        }

                        //        string shys = brxx.Rows[0]["F_SHYS"].ToString();

                        //        XmlTextWriter xtw = new XmlTextWriter("" + xmlpath + "\\" + blh + ".xml", System.Text.Encoding.GetEncoding("GB2312"));
                        //        xtw.WriteStartDocument();
                        //        xtw.WriteStartElement("MSG");     ///根元素
                        //        #region MSH
                        //        xtw.WriteStartElement("MSH");     ///MSH块
                        //        xtw.WriteElementString("MSH.1", "BGD");
                        //        xtw.WriteElementString("MSH.2", "05");
                        //        xtw.WriteElementString("MSH.3", "");
                        //        xtw.WriteEndElement();

                        //        #endregion

                        //        #region BGD
                        //        xtw.WriteStartElement("BGD");
                        //        #region ZYX块
                        //        xtw.WriteStartElement("ZYX");
                        //        xtw.WriteElementString("ZYX.1", "'" + brxx.Rows[0]["F_ZYH"].ToString().Trim() + "'");

                        //        xtw.WriteEndElement();
                        //        #endregion

                        //        #region MZX
                        //        xtw.WriteStartElement("MZX");
                        //        xtw.WriteElementString("MZX.1", "'" + brxx.Rows[0]["F_MZH"].ToString().Trim() + "'");

                        //        xtw.WriteEndElement();
                        //        #endregion

                        //        #region SQD
                        //        xtw.WriteStartElement("SQD");
                        //        xtw.WriteElementString("SQD.1", "" + brxx.Rows[0]["F_SQXH"].ToString().Trim() + "");
                        //        xtw.WriteElementString("SQD.26", "" + brxx.Rows[0]["F_BLK"] + "");
                        //        xtw.WriteEndElement();
                        //        #endregion
                        //        xtw.WriteElementString("BGD.1", "" + brxx.Rows[0]["F_BLH"].ToString().Trim() + "");
                        //        xtw.WriteElementString("BGD.2", " ");
                        //        xtw.WriteElementString("BGD.3", " ");
                        //        xtw.WriteElementString("BGD.4", "" + brxx.Rows[0]["F_SDRQ"].ToString().Trim() + "");
                        //        xtw.WriteElementString("BGD.5", " ");
                        //        xtw.WriteElementString("BGD.6", "" + brxx.Rows[0]["F_BGRQ"].ToString().Trim() + "");
                        //        xtw.WriteElementString("BGD.7", "" + brxx.Rows[0]["F_BGYS"].ToString().Trim() + "");
                        //        xtw.WriteElementString("BGD.8", "" + brxx.Rows[0]["F_BLZD"].ToString().Trim() + "");
                        //        xtw.WriteElementString("BGD.56", "" + ksbm + "");
                        //        xtw.WriteElementString("BGD.57", "病理科");
                        //        xtw.WriteElementString("BGD.61", "" + brxx.Rows[0]["F_SPARE5"] + "");
                        //        xtw.WriteElementString("BGD.62", "" + czyid + "");
                        //        xtw.WriteElementString("BGD.63", "" + brxx.Rows[0]["F_SHYS"].ToString().Trim() + "");
                        //        xtw.WriteElementString("BGD.65", "" + brxx.Rows[0]["F_BBMC"].ToString().Trim() + "");
                        //        xtw.WriteEndElement();
                        //        #endregion
                        //        xtw.WriteEndElement();
                        //        xtw.WriteEndDocument();
                        //        xtw.Close();
                        //        aa.Close();
                        //        ///读取文件夹中xml文件
                        //        StreamReader obj = new StreamReader(xmlpath + "\\" + blh + ".xml", System.Text.Encoding.GetEncoding("gb2312"));
                        //        string xml = obj.ReadToEnd();
                        //        obj.Close();
                        //        if (xml.Trim() != "")
                        //        {
                        //            try
                        //            {
                        //                if (b)
                        //                {
                        //                    if (lc.WriteReport(brsta, zyh + mzh, sqxh, "*", xml))     ///此处调用com  上传xml函数。返回执行标志,如果为true
                        //                    {
                        //                        int exjcxx = aa.ExecuteSQL(sq2);
                        //                         LGZGQClass.log.WriteMyLog(blh + "报告回传成功!");
                        //                    }
                        //                }
                        //            }
                        //            catch (Exception e)
                        //            {
                        //                 LGZGQClass.log.WriteMyLog(blh + "回写报告失败!" + e.ToString());
                        //            }
                        //            DelFile(xmlpath, blh + ".xml");                           ///上传成功True删除指定 对应xml文件
                        //        }
                        //        else
                        //        {
                        //             LGZGQClass.log.WriteMyLog(blh + "xml文件为空");
                        //        }

                        //    }

                        //}
                        //else
                        //{
                        //    if (hxbz == "2")
                        //    {
                        //        if (b)
                        //        {
                        //            if (Debug == "1")
                        //                MessageBox.Show("连接成功0");
                        //            if (lc.RemoveReport(brsta, zyh + mzh, "JC" + sqxh, "*"))
                        //            {
                        //                string sq1 = "update T_JCXX set F_HXBZ='1' where f_blh='" + blh + "'";
                        //                int exjcxx2 = aa.ExecuteSQL(sq1);
                        //                 LGZGQClass.log.WriteMyLog(blh + "在HIS中报告删除成功!");
                        //            }
                        //        }
                        //    }
                        //    else if (hxbz == "")
                        //    {

                        //        if (lc.WriteRegInfo(1, brsta, zyh + mzh, sqxh + "|" + czyid + "|" + czyname))
                        //        {

                        //            if (lc.DoPerform(1, brsta, zyh + mzh, sqxh, "*"))
                        //            {
                        //                string sq1 = "update T_JCXX set F_HXBZ='1' where f_blh='" + blh + "'";
                        //                int exjcxx2 = aa.ExecuteSQL(sq1);
                        //                 LGZGQClass.log.WriteMyLog(blh + "执行成功!");     ///标志改为1

                        //            }
                        //        }
                        //    }
                        //}

                        //lc.DisConnect();
                        //aa.Close();
                    }
                    else
                    {
                        log.WriteMyLog(blh + " 无申请单号不处理!");
                    }
                }
            }
            catch (Exception e)
            {
                MessageBox.Show("抛出异常");
                log.WriteMyLog(blh + e.Message.ToString());
            }
        }