Esempio n. 1
0
        private void button2_Click(object sender, EventArgs e)
        {
            if (dgvOper.SelectedRows.Count == 1)
            {
                #region 发送HL7
                string HL7IPaddress = ConfigurationManager.AppSettings["HL7IPaddress"];

                List <QueryMzjldDto> list  = (List <QueryMzjldDto>)dgvOper.DataSource;
                QueryMzjldDto        model = list[dgvOper.CurrentRow.Index];
                string message             = Hl7Bll.AppendHL7stringOperConfig(model.Patid,
                                                                              "0001",
                                                                              "admin");
                LogHelp.SaveLogHL7(message);
                // if (UserFunction.PingHost(HL7IPaddress))
                if (true)
                {
                    if (message.Length > 0)
                    {
                        string HL7port = ConfigurationManager.AppSettings["HL7port"];
                        SenderRoutingLib.SocketSender send = new SenderRoutingLib.SocketSender();
                        object objResult;
                        int    iResult = 0;
                        int    count   = 1;
                        if (count < 10)
                        {
                            new System.Threading.Thread(o =>
                            {
                                for (int i = 0; i < count; i++)
                                {
                                    objResult  = send.Send(message, HL7IPaddress, HL7port.ToInt32());
                                    string ack = objResult == null ? string.Empty : objResult.ToString();
                                    if (ack.Contains("AA"))
                                    {
                                        iResult++;
                                        LogHelp.SaveLogHL7(string.Format("\r\n成功条数:{0} \r\n结束时间:{1}", iResult.ToString(), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                                    }
                                    else
                                    {
                                        iResult++;
                                        LogHelp.SaveLogHL7(string.Format("\r\n消息处理失败原因:{0} \r\n结束时间:{1}", ack, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                                    }
                                }
                            }).Start();
                        }
                    }
                    else
                    {
                        LogHelp.SaveLogHL7(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " IP地址或端口错误");
                    }
                }
                #endregion
            }
        }
Esempio n. 2
0
        private void btnAll_Click(object sender, EventArgs e)
        {
            foreach (DataGridViewRow item in dgvOper.Rows)
            {
                #region 发送HL7
                string HL7IPaddress = ConfigurationManager.AppSettings["HL7IPaddress"];

                string message = Hl7Bll.AppendHL7stringOperConfig(item.Cells["patid"].Value.ToString(),
                                                                  item.Cells["userNo"].Value.ToString(),
                                                                  item.Cells["ap1"].Value.ToString());
                LogHelp.SaveLogHL7(message);
                // if (UserFunction.PingHost(HL7IPaddress))
                if (true)
                {
                    if (message.Length > 0)
                    {
                        string HL7port = ConfigurationManager.AppSettings["HL7port"];
                        SenderRoutingLib.SocketSender send = new SenderRoutingLib.SocketSender();
                        object objResult;
                        int    iResult = 0;
                        int    count   = 1;
                        if (count < 10)
                        {
                            new System.Threading.Thread(o =>
                            {
                                for (int i = 0; i < count; i++)
                                {
                                    objResult  = send.Send(message, HL7IPaddress, HL7port.ToInt32());
                                    string ack = objResult == null ? string.Empty : objResult.ToString();
                                    if (ack.Contains("AA"))
                                    {
                                        iResult++;
                                        LogHelp.SaveLogHL7(string.Format("\r\n成功条数:{0} \r\n结束时间:{1}", iResult.ToString(), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                                    }
                                    else
                                    {
                                        iResult++;
                                        LogHelp.SaveLogHL7(string.Format("\r\n消息处理失败原因:{0} \r\n结束时间:{1}", ack, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                                    }
                                }
                            }).Start();
                        }
                    }
                    else
                    {
                        LogHelp.SaveLogHL7(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " IP地址或端口错误");
                    }
                }
                #endregion
            }
        }
Esempio n. 3
0
        private void button1_Click(object sender, EventArgs e)
        {
            _model.AP1   = cmbAP1.Text;
            _model.AP1No = cmbAP1.SelectedValue.ToStringForce();
            _model.AP2   = cmbAP2.Text;
            _model.AP2No = cmbAP2.SelectedValue.ToStringForce();

            _model.AP3   = cmbAp3.Text;
            _model.AP3No = cmbAp3.SelectedValue.ToStringForce();

            _model.SN1   = cmbSN1.Text;
            _model.SN1No = cmbSN1.SelectedValue.ToStringForce();

            _model.SN2   = cmbSN2.Text;
            _model.SN2No = cmbSN2.SelectedValue.ToStringForce();
            _model.ON1   = cmbON1.Text;
            _model.ON1No = cmbON1.SelectedValue.ToStringForce();
            _model.ON2   = cmbON2.Text;
            _model.ON2No = cmbON2.SelectedValue.ToStringForce();
            _model.AP1   = cmbAP1.Text;
            _model.AP1No = cmbAP1.SelectedValue.ToStringForce();
            _model.AP2   = cmbAP2.Text;
            _model.AP2No = cmbAP2.SelectedValue.ToStringForce();

            _model.AP3    = cmbAp3.Text;
            _model.AP3No  = cmbAp3.SelectedValue.ToStringForce();
            _model.SN1    = cmbSN1.Text;
            _model.SN1No  = cmbSN1.SelectedValue.ToStringForce();
            _model.SN2    = cmbSN2.Text;
            _model.SN2No  = cmbSN2.SelectedValue.ToStringForce();
            _model.ON1    = cmbON1.Text;
            _model.ON1No  = cmbON1.SelectedValue.ToStringForce();
            _model.ON2    = cmbON2.Text;
            _model.ON2No  = cmbON2.SelectedValue.ToStringForce();;
            _model.Oroom  = cmbOroom.Text;
            _model.Second = tbSecond.Text;
            if (_model.Ostate < 1)
            {
                _model.Ostate = 1;
            }

            int RES = dal.UpdatePaiban(_model);

            if (RES > 0)
            {
                string message = Hl7Bll.AppendHL7stringConfig(_model.ID, Program.yh, Program.zhanghao);
                LogHelp.SaveLogHL7(message);
                string HL7IPaddress = ConfigurationManager.AppSettings["HL7IPaddress"];
                string HL7port      = ConfigurationManager.AppSettings["HL7port"];
                SenderRoutingLib.SocketSender send = new SenderRoutingLib.SocketSender();
                object objResult;
                int    iResult = 0;
                int    count   = 1;
                if (count < 10)
                {
                    new System.Threading.Thread(o =>
                    {
                        for (int i = 0; i < count; i++)
                        {
                            objResult  = send.Send(message, HL7IPaddress, Convert.ToInt32(HL7port));
                            string ack = objResult == null ? string.Empty : objResult.ToString();
                            if (ack.Contains("AA"))
                            {
                                iResult++;
                                LogHelp.SaveLogHL7(string.Format("\r\n成功条数:{0} \r\n结束时间:{1}", iResult.ToString(), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                                _model.IsSend = 1;
                                dal.UpdatePaiban(_model);
                                // SetText(string.Format("\r\n成功条数:{0} \r\n结束时间:{1}", iResult.ToString(), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                            }
                            else
                            {
                                iResult++;
                                LogHelp.SaveLogHL7(string.Format("\r\n消息处理失败原因:{0} \r\n结束时间:{1}", ack, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                                // SetText(string.Format("\r\n消息处理失败原因:{0} \r\n结束时间:{1}", ack, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                            }
                        }
                    }).Start();
                }
                else
                {
                    for (int j = 0; j < 10; j++)
                    {
                        new System.Threading.Thread(o =>
                        {
                            for (int i = 0; i < count / 10; i++)
                            {
                                objResult  = send.Send(message, HL7IPaddress, Convert.ToInt32(HL7port));
                                string ack = objResult == null ? string.Empty : objResult.ToString();
                                if (ack.Contains("AA"))
                                {
                                    iResult++;
                                    // SetText(string.Format("\r\n成功条数:{0} \r\n结束时间:{1}", iResult.ToString(), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                                }
                                else
                                {
                                    iResult++;
                                    //SetText(string.Format("\r\n发送失败,错误信息:{0} \r\n结束时间:{1}", ack, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                                }
                            }
                        }).Start();
                    }
                }


                this.Close();
            }
            else
            {
                MessageBox.Show("保存排班失败,请重试!");
            }
        }
Esempio n. 4
0
        private void btnSync_Click(object sender, EventArgs e)
        {
            foreach (DataGridViewRow item in dgvOTypesetting.Rows)
            {
                string patid   = item.Cells["patid"].Value.ToString();
                string Oroom   = item.Cells["Oroom"].Value.ToString();
                string Osecond = item.Cells["second"].Value.ToString();
                if (Oroom == "" && Osecond == "")
                {
                    MessageBox.Show("手术间和台次不能都为空");
                    return;
                }

                string message = AppendHL7stringConfig(patid);

                LogHelp.SaveLogHL7(message);
                string HL7IPaddress = ConfigurationManager.AppSettings["HL7IPaddress"];
                //if (message.Length > 0 && UserFunction.PingHost(HL7IPaddress))
                if (true)
                {
                    string HL7port = ConfigurationManager.AppSettings["HL7port"];
                    SenderRoutingLib.SocketSender send = new SenderRoutingLib.SocketSender();
                    object objResult;
                    int    iResult = 0;
                    int    count   = 1;
                    if (count < 10)
                    {
                        new System.Threading.Thread(o =>
                        {
                            for (int i = 0; i < count; i++)
                            {
                                objResult  = send.Send(message, HL7IPaddress, Convert.ToInt32(HL7port));
                                string ack = objResult == null ? string.Empty : objResult.ToString();
                                if (ack.Contains("AA"))
                                {
                                    iResult++;
                                    LogHelp.SaveLogHL7(string.Format("\r\n成功条数:{0} \r\n结束时间:{1}", iResult.ToString(), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                                    // SetText(string.Format("\r\n成功条数:{0} \r\n结束时间:{1}", iResult.ToString(), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                                }
                                else
                                {
                                    iResult++;
                                    LogHelp.SaveLogHL7(string.Format("\r\n消息处理失败原因:{0} \r\n结束时间:{1}", ack, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                                    // SetText(string.Format("\r\n消息处理失败原因:{0} \r\n结束时间:{1}", ack, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                                }
                            }
                        }).Start();
                    }
                    else
                    {
                        for (int j = 0; j < 10; j++)
                        {
                            new System.Threading.Thread(o =>
                            {
                                for (int i = 0; i < count / 10; i++)
                                {
                                    objResult  = send.Send(message, HL7IPaddress, Convert.ToInt32(HL7port));
                                    string ack = objResult == null ? string.Empty : objResult.ToString();
                                    if (ack.Contains("AA"))
                                    {
                                        iResult++;
                                        // SetText(string.Format("\r\n成功条数:{0} \r\n结束时间:{1}", iResult.ToString(), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                                    }
                                    else
                                    {
                                        iResult++;
                                        //SetText(string.Format("\r\n发送失败,错误信息:{0} \r\n结束时间:{1}", ack, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                                    }
                                }
                            }).Start();
                        }
                    }
                }
                else
                {
                    MessageBox.Show("IP地址或端口错误");
                }
            }
        }
Esempio n. 5
0
        /// <summary>
        /// 确定手术安排
        /// </summary>
        /// <param name="patid"></param>
        /// <returns></returns>
        private string AppendHL7stringConfig(string patid)
        {
            ORM_O01   orm       = new ORM_O01();
            DataTable dtResult  = dal.GetPaiban(patid);
            DataRow   dr        = dtResult.Rows[0];
            int       ostateNum = UserFunction.ToInt32(dr["Ostate"].ToString());

            LogHelp.SaveLogHL7("状态" + dr["Ostate"].ToString());
            string SCH_1 = "";

            #region 组装消息头
            SCH_1 = "确定手术安排";
            orm.MSH.MessageType.TriggerEvent.Value     = "S18";
            orm.MSH.MessageType.MessageStructure.Value = "SIU_S12";
            //if (ostateNum == 0)
            //{
            //    SCH_1 = "确定手术安排";
            //    orm.MSH.MessageType.TriggerEvent.Value = "S18";
            //    orm.MSH.MessageType.MessageStructure.Value = "SIU_S12";
            //}
            //else
            //{
            //    SCH_1 = "修改手术安排";
            //    orm.MSH.MessageType.TriggerEvent.Value = "S19";
            //    orm.MSH.MessageType.MessageStructure.Value = "SIU_S12";
            //}


            orm.MSH.MessageType.MessageType.Value = "SIU";

            orm.MSH.FieldSeparator.Value = MessageConstant.FieldSeparator;
            orm.MSH.SendingApplication.NamespaceID.Value   = "SSMZ1";
            orm.MSH.SendingFacility.NamespaceID.Value      = "SSMZ1";
            orm.MSH.ReceivingApplication.NamespaceID.Value = "MediII";
            orm.MSH.ReceivingFacility.NamespaceID.Value    = "MediII";
            orm.MSH.EncodingCharacters.Value  = MessageConstant.EncodingCharacters;
            orm.MSH.VersionID.VersionID.Value = MessageConstant.VersionID;
            orm.MSH.DateTimeOfMessage.TimeOfAnEvent.SetLongDateWithSecond(DateTime.Now);
            orm.MSH.MessageControlID.Value          = MediII.Common.GUIDHelper.NewGUID();
            orm.MSH.ProcessingID.ProcessingID.Value = MessageConstant.ProcessingID;

            #endregion

            int Jieguo = dal.UpdatePaibanConfig(patid);//修改成 已排班

            #region SCH|
            String SCH = "SCH||||||^" + SCH_1 + "^^^原因" + "|||||";
            SCH += "^^^" + Convert.ToDateTime(dr["odate"]).AddDays(-1).ToString("yyyyMMdd") + DateTime.Now.ToString("HHmmss") + "|||||";
            SCH += "SZ1168^^缪兰芬" + "|||";
            SCH += "^^^^^^^^" + dr["patdpm"].ToString() + "|";
            SCH += "SZ1168^^缪兰芬" + "||||||";
            SCH += dr["patid"].ToString() + "\n";
            #endregion

            String PID = dr["PidInfo"].ToString();

            String PV1 = dr["Pv1Info"].ToString();
            #region RGS|
            String RGS = "RGS|1" + "\n";
            #endregion

            #region AIS|
            String AIS = "AIS|1||";
            AIS += dr["OperNo"].ToString() + "^" + dr["Oname"].ToString() + "|||||||";
            AIS += dr["Oroom"].ToString() + "^^^" + dr["Second"].ToString() + "|" + "\n";
            #endregion



            #region 手术医生
            String AIP = "AIP|1||";
            AIP += dr["OsNo"].ToString() + "^" + dr["OS"].ToString() + "|主刀医生" + "\n";
            #endregion

            #region 护士
            DataTable dt     = dal.GetUserNoByName(dr["SN1"].ToString());
            string    UserNO = " ";
            if (dt.Rows.Count > 0)
            {
                UserNO = dt.Rows[0][0].ToString();
            }
            AIP += "AIP|2||";
            AIP += UserNO + "^" + dr["SN1"].ToString() + "|4^洗手护士" + "\n";

            dt     = dal.GetUserNoByName(dr["SN2"].ToString());
            UserNO = " ";
            if (dt.Rows.Count > 0)
            {
                UserNO = dt.Rows[0][0].ToString();
            }
            AIP += "AIP|3||";
            AIP += UserNO + "^" + dr["SN2"].ToString() + "|4^洗手护士" + "\n";

            dt     = dal.GetUserNoByName(dr["ON1"].ToString());
            UserNO = " ";
            if (dt.Rows.Count > 0)
            {
                UserNO = dt.Rows[0][0].ToString();
            }
            AIP += "AIP|4||";
            AIP += UserNO + "^" + dr["ON1"].ToString() + "|5^巡回护士" + "\n";

            dt     = dal.GetUserNoByName(dr["ON2"].ToString());
            UserNO = " ";
            if (dt.Rows.Count > 0)
            {
                UserNO = dt.Rows[0][0].ToString();
            }
            AIP += "AIP|5||";
            AIP += UserNO + "^" + dr["ON2"].ToString() + "|5^巡回护士" + "\n";

            dt     = dal.GetUserNoByName(dr["ON3"].ToString());
            UserNO = " ";
            if (dt.Rows.Count > 0)
            {
                UserNO = dt.Rows[0][0].ToString();
            }
            AIP += "AIP|6||";
            AIP += UserNO + "^" + dr["ON3"].ToString() + "|5^巡回护士" + "\n";
            #endregion

            #region 手术助手
            AIP += "AIP|7||";
            AIP += dr["OA1No"].ToString() + "^" + dr["OA1"].ToString() + "|2^助理医生" + "\n";
            AIP += "AIP|8||";
            AIP += dr["OA2No"].ToString() + "^" + dr["OA2"].ToString() + "|2^助理医生" + "\n";
            AIP += "AIP|9||";
            AIP += dr["OA3No"].ToString() + "^" + dr["OA3"].ToString() + "|2^助理医生" + "\n";
            #endregion
            #region 麻醉医生
            dt     = dal.GetUserNoByName(dr["AP1"].ToString());
            UserNO = " ";
            if (dt.Rows.Count > 0)
            {
                UserNO = dt.Rows[0][0].ToString();
            }
            AIP   += "AIP|11||";
            AIP   += UserNO + "^" + dr["AP1"].ToString() + "|麻醉医师" + "\n";
            dt     = dal.GetUserNoByName(dr["AP2"].ToString());
            UserNO = " ";
            if (dt.Rows.Count > 0)
            {
                UserNO = dt.Rows[0][0].ToString();
            }
            AIP   += "AIP|12||";
            AIP   += UserNO + "^" + dr["AP2"].ToString() + "|麻醉医师" + "\n";
            dt     = dal.GetUserNoByName(dr["AP3"].ToString());
            UserNO = " ";
            if (dt.Rows.Count > 0)
            {
                UserNO = dt.Rows[0][0].ToString();
            }
            AIP += "AIP|13||";
            AIP += UserNO + "^" + dr["AP3"].ToString() + "|麻醉医师" + "\n";
            #endregion



            #region 转换消息对象为字符串
            String hl7Message = SCH + PID + PV1 + RGS + AIS + AIP;
            NHapi.Base.Parser.PipeParser parser = new NHapi.Base.Parser.PipeParser();
            string message = parser.Encode(orm) + hl7Message;
            return(message);

            #endregion
        }
Esempio n. 6
0
        /// <summary>
        /// 确定手术安排
        /// </summary>
        /// <param name="id"></param>
        /// <param name="userName">用户名</param>
        /// <param name="uid">用户ID</param>
        /// <returns></returns>
        public static string AppendHL7stringConfig(int id, string userName, string uid)
        {
            ORM_O01 orm       = new ORM_O01();
            var     paiban    = dal.GetPaiban(id);
            int     ostateNum = paiban.Ostate.ToInt32();

            LogHelp.SaveLogHL7("状态" + ostateNum.ToString());
            string SCH_1 = "";

            #region 组装消息头
            if (paiban.IsSend == 0)
            {
                SCH_1 = "确定手术安排";
                orm.MSH.MessageType.TriggerEvent.Value     = "S18";
                orm.MSH.MessageType.MessageStructure.Value = "SIU_S12";
            }
            else
            {
                SCH_1 = "修改手术安排";
                orm.MSH.MessageType.TriggerEvent.Value     = "S19";
                orm.MSH.MessageType.MessageStructure.Value = "SIU_S12";
            }


            orm.MSH.MessageType.MessageType.Value = "SIU";

            orm.MSH.FieldSeparator.Value = MessageConstant.FieldSeparator;
            orm.MSH.SendingApplication.NamespaceID.Value   = "SSMZ";
            orm.MSH.SendingFacility.NamespaceID.Value      = "SSMZ";
            orm.MSH.ReceivingApplication.NamespaceID.Value = "MediII";
            orm.MSH.ReceivingFacility.NamespaceID.Value    = "MediII";
            orm.MSH.EncodingCharacters.Value  = MessageConstant.EncodingCharacters;
            orm.MSH.VersionID.VersionID.Value = MessageConstant.VersionID;
            orm.MSH.DateTimeOfMessage.TimeOfAnEvent.SetLongDateWithSecond(DateTime.Now);
            orm.MSH.MessageControlID.Value          = MediII.Common.GUIDHelper.NewGUID();
            orm.MSH.ProcessingID.ProcessingID.Value = MessageConstant.ProcessingID;

            #endregion

            // int Jieguo = dal.UpdatePaibanConfig(id);//修改成 已排班

            #region SCH|
            String SCH = "SCH||||||^" + SCH_1 + "^^^原因" + "|||||";
            SCH += "^^^" + paiban.Odate.AddDays(-1).ToString("yyyyMMdd") + DateTime.Now.ToString("HHmmss") + "|||||";
            SCH += uid + "^^" + userName + "|||";
            SCH += "^^^^^^^^" + paiban.Patdpm.ToString() + "|";
            SCH += uid + "^^" + userName + "||||||";
            SCH += paiban.ApplyId + "\n";
            #endregion

            string PID = paiban.PidInfo + "\n";
            string PV1 = paiban.Pv1Info + "\n";
            #region RGS|
            String RGS = "RGS|1" + "\n";
            #endregion

            #region AIS|
            String AIS = "AIS|1||";
            AIS += paiban.OperNo + "^" + paiban.Oname + "|||||||";
            AIS += paiban.Oroom + "^^^" + paiban.Second + "|" + "\n";
            #endregion


            #region 手术医生

            String AIP      = "AIP|1||";
            var    listUser = dal.GetUser();
            AIP += paiban.OsNo + "^" + paiban.OS + " |主刀医生" + "\n";

            AIP += "AIP|7||";
            AIP += paiban.Os1No + "^" + paiban.OS1 + "|2^助理医生" + "\n";

            AIP += "AIP|8||";
            AIP += paiban.Os2No + "^" + paiban.OS2 + "|2^助理医生" + "\n";

            AIP += "AIP|9||";
            AIP += paiban.Os3No + "^" + paiban.OS3 + "|2^助理医生" + "\n";
            #endregion

            #region 护士

            string UserNO = string.Empty;
            var    user   = listUser.FirstOrDefault(a => a.User_name == paiban.SN1);
            if (user != null)
            {
                UserNO = user.Uid;
            }
            AIP += "AIP|2||";
            AIP += paiban.SN1No + "^" + paiban.SN1 + "|4^洗手护士" + "\n";

            UserNO = string.Empty;
            user   = listUser.FirstOrDefault(a => a.User_name == paiban.SN2);
            if (user != null)
            {
                UserNO = user.Uid;
            }
            AIP += "AIP|3||";
            AIP += paiban.SN2No + "^" + paiban.SN2 + "|4^洗手护士" + "\n";

            UserNO = string.Empty;
            user   = listUser.FirstOrDefault(a => a.User_name == paiban.ON1);
            if (user != null)
            {
                UserNO = user.Uid;
            }
            AIP   += "AIP|4||";
            AIP   += paiban.ON1No + "^" + paiban.ON1 + "|5^巡回护士" + "\n";
            UserNO = string.Empty;
            user   = listUser.FirstOrDefault(a => a.User_name == paiban.ON2);
            if (user != null)
            {
                UserNO = user.Uid;
            }
            AIP += "AIP|5||";
            AIP += paiban.ON2No + "^" + paiban.ON2 + "|5^巡回护士" + "\n";


            AIP += "AIP|6||";
            AIP += "^" + "" + "|5^巡回护士" + "\n";
            #endregion

            AIP += "AIP|10|||6^体外循环师" + "\n";

            #region 麻醉医生

            UserNO = string.Empty;
            user   = listUser.FirstOrDefault(a => a.User_name == paiban.AP1);
            if (user != null)
            {
                UserNO = user.Uid;
            }
            AIP += "AIP|11||";
            AIP += paiban.AP1No + "^" + paiban.AP1 + "|3^麻醉师" + "\n";

            UserNO = string.Empty;
            user   = listUser.FirstOrDefault(a => a.User_name == paiban.AP2);
            if (user != null)
            {
                UserNO = user.Uid;
            }
            AIP += "AIP|12||";
            AIP += paiban.AP2No + "^" + paiban.AP2 + "|7^助理麻醉师" + "\n";

            UserNO = string.Empty;
            user   = listUser.FirstOrDefault(a => a.User_name == paiban.AP3);
            if (user != null)
            {
                UserNO = user.Uid;
            }
            AIP += "AIP|13||";
            AIP += paiban.AP3No + "^" + paiban.AP3 + "|7^助理麻醉师" + "\n";
            #endregion


            #region 转换消息对象为字符串
            String hl7Message = SCH + PID + PV1 + RGS + AIS + AIP;
            NHapi.Base.Parser.PipeParser parser = new NHapi.Base.Parser.PipeParser();
            string message = parser.Encode(orm) + hl7Message;
            return(message);

            #endregion
        }
Esempio n. 7
0
        private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                if (dgvOTypesetting.SelectedCells.Count == 1)
                {
                    List <PaibanDto> list    = (List <PaibanDto>)dgvOTypesetting.DataSource;
                    PaibanDto        model   = list[dgvOTypesetting.CurrentRow.Index];
                    string           patid   = model.PatID;
                    string           Oroom   = model.Oroom;
                    string           Osecond = model.Second;
                    //string patid = dgvOTypesetting.CurrentRow.Cells["patid"].Value.ToString();
                    //string Oroom = dgvOTypesetting.CurrentRow.Cells["Oroom"].Value.ToString();
                    //string Osecond = dgvOTypesetting.CurrentRow.Cells["second"].Value.ToString();
                    if (Oroom.IsNullOrEmpty() && Osecond.IsNullOrEmpty())
                    {
                        MessageBox.Show("手术间和台次不能都为空");
                        return;
                    }

                    string message = Hl7Bll.AppendHL7stringConfig(model.ID, "卢赛芳", "486");

                    LogHelp.SaveLogHL7(message);
                    string HL7IPaddress = ConfigurationManager.AppSettings["HL7IPaddress"];
                    //if (message.Length > 0 && UserFunction.PingHost(HL7IPaddress))
                    if (true)
                    {
                        string HL7port = ConfigurationManager.AppSettings["HL7port"];
                        SenderRoutingLib.SocketSender send = new SenderRoutingLib.SocketSender();
                        object objResult;
                        int    iResult = 0;
                        int    count   = 1;
                        if (count < 10)
                        {
                            new System.Threading.Thread(o =>
                            {
                                for (int i = 0; i < count; i++)
                                {
                                    objResult  = send.Send(message, HL7IPaddress, Convert.ToInt32(HL7port));
                                    string ack = objResult == null ? string.Empty : objResult.ToString();
                                    if (ack.Contains("AA"))
                                    {
                                        iResult++;
                                        LogHelp.SaveLogHL7(string.Format("\r\n成功条数:{0} \r\n结束时间:{1}", iResult.ToString(), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                                        // SetText(string.Format("\r\n成功条数:{0} \r\n结束时间:{1}", iResult.ToString(), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                                    }
                                    else
                                    {
                                        iResult++;
                                        LogHelp.SaveLogHL7(string.Format("\r\n消息处理失败原因:{0} \r\n结束时间:{1}", ack, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                                        // SetText(string.Format("\r\n消息处理失败原因:{0} \r\n结束时间:{1}", ack, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                                    }
                                }
                            }).Start();
                        }
                        else
                        {
                            for (int j = 0; j < 10; j++)
                            {
                                new System.Threading.Thread(o =>
                                {
                                    for (int i = 0; i < count / 10; i++)
                                    {
                                        objResult  = send.Send(message, HL7IPaddress, Convert.ToInt32(HL7port));
                                        string ack = objResult == null ? string.Empty : objResult.ToString();
                                        if (ack.Contains("AA"))
                                        {
                                            iResult++;
                                            // SetText(string.Format("\r\n成功条数:{0} \r\n结束时间:{1}", iResult.ToString(), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                                        }
                                        else
                                        {
                                            iResult++;
                                            //SetText(string.Format("\r\n发送失败,错误信息:{0} \r\n结束时间:{1}", ack, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                                        }
                                    }
                                }).Start();
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("IP地址或端口错误");
                    }
                }
                else
                {
                    MessageBox.Show("请选择一位病人");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }