コード例 #1
0
        static void Main()
        {
            string serverName = TrasenClasses.GeneralClasses.ApiFunction.GetIniString("SERVER_NAME", "NAME", Constant.ApplicationDirectory + "\\ClientConfig.ini");

            if (serverName == "")
            {
                System.Windows.Forms.MessageBox.Show("ClientConfig.ini中[SERVER_NAME]的NAME未设置,请启动配置程序并设置当前服务器", "错误");
                return;
            }
            //string filename = Constant.ApplicationDirectory + " \\" + string.Format("{0:yyyyMMdd}", DateTime.Now) + ".txt";
            RelationalDatabase database = null;

            database = new MsSqlServer();
            string connectionString = WorkStaticFun.GetConnnectionString(ConnectionType.SQLSERVER, serverName);

            database.Initialize(connectionString);
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new FrmServer(database));
        }
コード例 #2
0
ファイル: BeiJingZhongKePES.cs プロジェクト: Wooyme/HIS-1
        public override bool TestConfig(string[] args)
        {
            RelationalDatabase db = new MsSqlServer();

            try
            {
                string connectionString = "packet size=4096;user id={0};password={1};data source={2};persist security info=True;initial catalog={3}";
                db.Initialize(string.Format(connectionString, args[2], args[3], args[0], args[1]));
                db.Open();
                db.Close();
                return(true);
            }
            catch (Exception error)
            {
                return(false);
            }
            finally
            {
                db.Dispose();
                db = null;
            }
        }
コード例 #3
0
        public static TrasenClasses.DatabaseAccess.RelationalDatabase GetDb()
        {
            //string serverName = "mydb_svr";
            //string cfgPath = ServerVariable.ConfigFilePath;
            //serverName = TrasenClasses.GeneralClasses.ApiFunction.GetIniString("SERVER_NAME", "NAME", cfgPath);
            //if (serverName == "")
            //{
            //    string errmsg = "ClientConfig.ini中[SERVER_NAME]的NAME未设置,请启动配置程序并设置当前服务器";
            //    throw new Exception(errmsg);

            //}
            //string connectionString = BaseDal.GetConnnectionString(cfgPath, ConnectionType.SQLSERVER, serverName);

            string connectionString = "packet size=4096;user id=sa;password=1;data source=192.168.0.92;persist security info=True;initial catalog=trasen";

            TrasenFrame.Forms.FrmMdiMain.Jgbm        = 1001;
            TrasenFrame.Forms.FrmMdiMain.CurrentDept = new Department();
            TrasenFrame.Forms.FrmMdiMain.CurrentUser = new User();

            RelationalDatabase db = new MsSqlServer();

            db.Initialize(connectionString);
            return(db);
        }
コード例 #4
0
ファイル: ServerListen.cs プロジェクト: Wooyme/HIS-1
        /// <summary>
        /// 更新当前界面的显示 返回当前呼叫信息
        /// </summary>
        /// <param name="text"></param>
        public static string UpdateDisplay(object data, int zqid, RelationalDatabase _DataBase)
        {
            string values = "";

            try
            {
                RelationalDatabase db1 = new MsSqlServer();
                db1.Initialize(_DataBase.ConnectionString);
                //更新医生呼叫情况的显示DisplayAreaDoctorCallInfo();
                if (data != null && data.GetType() == typeof(System.String))
                {
                    values = (data.ToString() + "\r\n");
                }
                if (data != null && data.GetType() == typeof(ts_mzys_class.MZHS_FZJL))
                {
                    ts_mzys_class.MZHS_FZJL patient = (ts_mzys_class.MZHS_FZJL)data;
                    //设置呼叫列表 Modify By zp 2014-06-14
                    string zs = patient.roomName;
                    if (_cfg3117.Config.Trim() == "1")
                    {
                        zs = patient.Patzjjc;
                    }
                    values = string.Format("{0}:请{1}号{2}到{3}{4}就诊", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                                           patient.Patdlxh, patient.patName, patient.patGHZKName, zs);
                    if (new  SystemCfg(3013).Config == "1")
                    {
                        values = string.Format("{0}:请{1}号{2}到{3}的{4}就诊", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                                               patient.Pdxh, patient.patName, patient.patGHZKName, zs);
                    }
                }

                //重新获取未分诊的病人,并将列表送到显示屏
                if (refreshScreenDisplay != null)
                {
                    string rq1 = DateManager.ServerDateTimeByDBType(_DataBase).ToShortDateString() + " 00:00:00";
                    string rq2 = DateManager.ServerDateTimeByDBType(_DataBase).ToShortDateString() + " 23:59:59";
                    int    klx = 0;
                    string kh  = "";
                    string blh = "";

                    int sort = 0;
                    int hour = Convert.ToInt32(_DataBase.GetDataResult("select DATEPART(hh, GETDATE())"));
                    //从后台参数获取时间段进行判断 Modify By Zp 2014-02-11

                    //if (hour >= 8 && hour < 12)
                    //    sort = 1;
                    //else if (hour >= 12 && hour < 18)
                    //    sort = 2;
                    DataSet          ds    = MZHS_FZJL.Select_yfzpat(zqid, rq1, rq2, klx, kh, blh, sort, db1); //包含两个内存表1个预约病人列表1个现场病人列表
                    List <MZHS_FZJL> _list = new List <MZHS_FZJL> ();
                    foreach (DataRow dr in ds.Tables[0].Rows)
                    {
                        MZHS_FZJL fz_br = MZHS_FZJL.DataRowToFZjl(dr);
                        _list.Add(fz_br);
                    }
                    refreshScreenDisplay(data, _list); //传给显示屏已分诊病人信息
                }
            }
            catch (Exception ea)
            {
                throw new Exception("UpdateDisplay函数出现异常!原因:" + ea.Message);
            }
            return(values);
        }
コード例 #5
0
ファイル: ServerListen.cs プロジェクト: Wooyme/HIS-1
        /// <summary>
        /// 监听端口 有数据传输则刷新显示屏以及语音朗诵
        /// </summary>
        /// <param name="port">端口号</param>
        public void SocketListen(int port, RelationalDatabase _DataBase, Fz_Zq zq,
                                 Socket listener, VoiceHelp _voice, ref Socket socket)
        {
            RelationalDatabase db1 = new MsSqlServer();

            db1.Initialize(_DataBase.ConnectionString);
            string rq1 = DateManager.ServerDateTimeByDBType(db1).ToShortDateString() + " 00:00:00";

            db1.Close();
            db1.Dispose();
            RelationalDatabase db2 = new MsSqlServer();

            db2.Initialize(_DataBase.ConnectionString);
            string rq2 = DateManager.ServerDateTimeByDBType(db2).ToShortDateString() + " 23:59:59";

            db2.Close();
            db2.Dispose();
            Hjcs = int.Parse(zq.Zqhjcs);
            string msg = "";

            _voice.InitializeVoiceLib();
            _voice.VoiceSpeak(zq.Zqname, ref msg);
            IPEndPoint address = new IPEndPoint(IPAddress.Any, port);

            while (true)
            {
                try
                {
                    if (new SystemCfg(3103).Config == "1")
                    {
                        UpdateDisplayDelegate callDisplay = new UpdateDisplayDelegate(UpdateDisplay);
                        callDisplay("正在等待呼叫。。。", zq.Zqid, _DataBase);
                    }
                    if (listener != null)
                    {
                        if (listener.LocalEndPoint == null)
                        {
                            listener.Bind(address);
                        }
                    }

                    listener.Listen(0);
                    socket = listener.Accept();
                    Stream netStream = new NetworkStream(socket);

                    StreamReader reader = new StreamReader(netStream);
                    string       result = reader.ReadToEnd();//收到呼叫的信息
                    lock (objLockHelper)
                    {
                        ts_mzys_class.MZHS_FZJL p   = new ts_mzys_class.MZHS_FZJL();
                        System.Xml.XmlDocument  doc = new System.Xml.XmlDocument();
                        bool valid = false;
                        try
                        {
                            doc.LoadXml(result);
                            valid = true;
                        }
                        catch
                        {
                            UpdateDisplayDelegate _callDisplay = new UpdateDisplayDelegate(UpdateDisplay);
                            _callDisplay("无效的呼叫信息!", zq.Zqid, _DataBase);
                        }
                        if (valid)
                        {
                            System.Xml.XmlNodeList nodes = doc.GetElementsByTagName("PATIENT")[0].ChildNodes;
                            /*反射生成病人对象*/
                            foreach (System.Xml.XmlNode node in nodes)
                            {
                                try
                                {
                                    System.Reflection.PropertyInfo pi = p.GetType().GetProperty(node.Name); //定义一个属性对象,并且设置类型(需要反射目的对象的某个属性名称)
                                    object objValue = Convert.ChangeType(node.InnerText, pi.PropertyType);  //通过一个object对象获取属性的值与属性的类型
                                    p.GetType().GetProperty(node.Name).SetValue(p, objValue, null);         //对反射对象进行赋值,第一个参数为反射对象,第二参数为反射对象所需的值与类型信息
                                }
                                catch
                                {
                                    continue;
                                }
                            }
                            lstCalledPatient.Insert(0, p);
                            //将当前呼叫的病人发送到显示窗口
                            if (refreshScreenDisplay != null)
                            {
                                int sort = 0;
                                RelationalDatabase dbTemp = new MsSqlServer();
                                dbTemp.Initialize(_DataBase.ConnectionString);
                                int hour = Convert.ToInt32(dbTemp.GetDataResult("select DATEPART(hh, GETDATE())"));
                                dbTemp.Close();
                                dbTemp.Dispose();
                                if (hour >= 8 && hour <= 12)
                                {
                                    sort = 1;
                                }
                                else if (hour > 12 && hour < 18)
                                {
                                    sort = 2;
                                }
                                RelationalDatabase dbTemp2 = new MsSqlServer();
                                dbTemp2.Initialize(_DataBase.ConnectionString);
                                DataSet ds = MZHS_FZJL.Select_yfzpat(zq.Zqid, rq1, rq2, 0, "", "", sort, dbTemp2);//得到最新的候诊列表
                                dbTemp2.Close();
                                dbTemp2.Dispose();
                                List <MZHS_FZJL> _list = new List <MZHS_FZJL>();
                                foreach (DataRow dr in ds.Tables[0].Rows)
                                {
                                    _list.Add(MZHS_FZJL.DataRowToFZjl(dr));
                                }
                                refreshScreenDisplay(p, _list);
                            }
                            CallPatient(lstCalledPatient);
                        }
                    }
                }
                catch (Exception ea)
                {
                    writelog("SocketListen方法发生错误:" + ea.Message);
                }
            }
        }