Пример #1
0
        private bool TjjgOperation(DataTable dtDyxm, DataRow drs, DataTable dtAccess, string sqlCode)
        {
            Form_lisBll form_lisbll = new Form_lisBll();
            //更新健康体检表
            string Guid = "";
            //true:新的Guid  false:已经存在的Guid
            bool      GuidResult    = true;
            DataTable dt_tjjgUpdate = GetTjjgUpdateDateTable(dtDyxm, drs["jyrq"].ToString(), dtAccess, ref Guid, ref GuidResult);



            string[] sqllist = sqlCode.Split(new char[] { '|' });

            if (sqlCode.Length == 0 || sqllist.Length < 2)
            {
                MessageBox.Show("仪器sql设定错误!");
                return(false);
            }
            //体检结果
            if (GuidResult)
            {
                //体检结果插入
                form_lisbll.Add(dt_tjjgUpdate, sqllist[0]);
            }
            else
            {
                //体检结果更新
                dt_tjjgUpdate.AcceptChanges();
                dt_tjjgUpdate.Rows[0]["guid"] = Guid;
                form_lisbll.Upd(dt_tjjgUpdate, sqllist[1]);
            }

            return(true);
        }
Пример #2
0
        private void UpdateLisResultRe(string ybh, string jyrq, string testno, ref string errsql)
        {
            DataTable dt_update = new DataTable();

            //医院编码
            dt_update.Columns.Add("yybm");
            //仪器编码
            dt_update.Columns.Add("yq");
            //样本号
            dt_update.Columns.Add("ybh");
            //体检日期
            dt_update.Columns.Add("jyrq");
            //健康档案号
            dt_update.Columns.Add("testno");
            //年度
            dt_update.Columns.Add("nd");

            dt_update.Rows.Add();
            dt_update.AcceptChanges();

            dt_update.Rows[0]["yybm"]   = UserInfo.Yybm;
            dt_update.Rows[0]["yq"]     = "EDANSE300";
            dt_update.Rows[0]["ybh"]    = ybh;
            dt_update.Rows[0]["jyrq"]   = Convert.ToDateTime(jyrq).ToString("yyyy-MM-dd");
            dt_update.Rows[0]["testno"] = testno;//dt_access.Rows[0]["jkdah"].ToString();
            //dt_update.Rows[0]["nd"] = Convert.ToDateTime(jyrq_tem).Year .ToString();
            dt_update.Rows[0]["nd"] = DateTime.Now.Year.ToString();
            Form_lisBll form_lisbll = new Form_lisBll();

            errsql = "sql_lis_result_ryxx_update";
            //标本与人员的对应关系保存
            form_lisbll.Upd(dt_update, "sql_lis_result_ryxx_update");
        }
Пример #3
0
        /// <summary>
        /// 再次处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button_save_sys_again(DataTable dt_all, string sqlcode)
        {
            try
            {
                if (dt_all.Rows.Count > 0)
                {
                    DataRow[] drs = dt_all.Select("xmdh='NAME'");
                    for (int i = 0; i < drs.Length; i++)
                    {
                        DBAccess dbjkdah = new DBAccess();

                        //获取以对应的人的信息   不一定与心电工作站中的条码号对应
                        DataTable dt_access_no = dbjkdah.ExecuteQueryBySql(@"select testno from T_JK_lis_result_re where ybh='" + drs[i]["ybh"].ToString() + "'");
                        if (dt_access_no == null || dt_access_no.Rows.Count <= 0)
                        {
                            continue;
                        }

                        //获取以对应的人员的信息
                        DataTable dt_access = dbjkdah.ExecuteQueryBySql(@"select jkdah,sfzh from T_JK_TJRY_TXM where (txmbh='" + dt_access_no.Rows[0]["testno"].ToString()
                                                                        + "' or jkdah ='" + dt_access_no.Rows[0]["testno"].ToString() + "') and yljgbm='" + drs[i]["yybm"].ToString() + "'");
                        //没有对应的人员信息时直接退出
                        if (dt_access == null || dt_access.Rows.Count <= 0)
                        {
                            continue;
                        }
                        ////更新化验结果表(T_JK_lis_result_re),确定化验结果与人员关系
                        //DataTable dt_update = new DataTable();
                        ////医院编码
                        //dt_update.Columns.Add("yybm");
                        ////仪器编码
                        //dt_update.Columns.Add("yq");
                        ////样本号
                        //dt_update.Columns.Add("ybh");
                        ////体检日期
                        //dt_update.Columns.Add("jyrq");
                        ////健康档案号
                        //dt_update.Columns.Add("testno");
                        ////年度
                        //dt_update.Columns.Add("nd");

                        //dt_update.Rows.Add();
                        //dt_update.AcceptChanges();

                        //dt_update.Rows[0]["yybm"] = UserInfo.Yybm;
                        //dt_update.Rows[0]["yq"] = "MECG200";
                        //dt_update.Rows[0]["ybh"] = drs[i]["ybh"].ToString();
                        //dt_update.Rows[0]["jyrq"] = Convert.ToDateTime(drs[i]["jyrq"].ToString()).ToString("yyyy-MM-dd");
                        //dt_update.Rows[0]["testno"] = dt_access.Rows[0]["jkdah"].ToString();
                        ////dt_update.Rows[0]["nd"] = Convert.ToDateTime(jyrq_tem).Year .ToString();
                        //dt_update.Rows[0]["nd"] = DateTime.Now.Year.ToString();

                        Form_lisBll form_lisbll = new Form_lisBll();

                        ////标本与人员的对应关系保存
                        //form_lisbll.Upd(dt_update, "sql_lis_result_ryxx_update");

                        //更新体检人员状态表
                        //form_lisbll.Upd(dt_update, "sql077");
                        //体检状态信息
                        ArrayList TJRYXXList = save_T_JK_TJZT(dt_access.Rows[0]["jkdah"].ToString(), dt_access.Rows[0]["sfzh"].ToString(), drs[i]["xmmc"].ToString(), drs[i]["jyrq"].ToString(), Common.TJTYPE.健康体检表, Common.ZT.确定状态);
                        if (TJRYXXList != null && TJRYXXList.Count > 0)
                        {
                            DBAccess dbaccess = new DBAccess();
                            dbaccess.ExecuteNonQueryBySql(TJRYXXList);
                        }

                        //保存体检结果到体检结果表
                        string sqlWhere = "";
                        //医院编码
                        if (UserInfo.Yybm.Length > 0)
                        {
                            sqlWhere = sqlWhere + string.Format(" and T_JK_lis_result_re.yybm='{0}'", UserInfo.Yybm);
                        }
                        //仪器
                        if (UserInfo.Yybm.Length > 0)
                        {
                            sqlWhere = sqlWhere + string.Format(" and  T_JK_lis_result_re.yq='{0}'", drs[i]["yq"].ToString());
                        }
                        //检验日期
                        if (UserInfo.Yybm.Length > 0)
                        {
                            sqlWhere = sqlWhere + string.Format(" and T_JK_lis_result_re.jyrq='{0}'", drs[i]["jyrq"].ToString());
                        }
                        //样本号
                        if (UserInfo.Yybm.Length > 0)
                        {
                            sqlWhere = sqlWhere + string.Format(" and T_JK_lis_result_re.ybh='{0}'", drs[i]["ybh"].ToString());
                        }

                        //取得化验结果
                        DataTable dt_dyxm = form_lisbll.GetMoHuList(sqlWhere, "sql045");

                        //更新健康体检表
                        DataTable dt_tjjgUpdate = new DataTable();
                        dt_tjjgUpdate.Rows.Add();

                        for (int j = 0; j < dt_dyxm.Rows.Count; j++)
                        {
                            if (dt_tjjgUpdate.Columns.Contains(dt_dyxm.Rows[j]["HIS_DB"].ToString()) == false)
                            {
                                DataColumn dtColumn = new DataColumn(dt_dyxm.Rows[j]["HIS_DB"].ToString());
                                dtColumn.DefaultValue = dt_dyxm.Rows[j]["result"].ToString();
                                dt_tjjgUpdate.Columns.Add(dtColumn);
                            }
                        }

                        if (dt_tjjgUpdate.Columns.Contains("D_GRDABH") == false)
                        {
                            DataColumn dtColumn = new DataColumn("D_GRDABH");
                            dtColumn.DefaultValue = dt_access.Rows[0]["jkdah"].ToString();
                            dt_tjjgUpdate.Columns.Add(dtColumn);
                        }

                        if (dt_tjjgUpdate.Columns.Contains("HAPPENTIME") == false)
                        {
                            DataColumn dtColumn = new DataColumn("HAPPENTIME");
                            dtColumn.DefaultValue = Convert.ToDateTime(drs[i]["jyrq"].ToString()).ToString("yyyy-MM-dd");
                            dt_tjjgUpdate.Columns.Add(dtColumn);
                        }

                        if (dt_tjjgUpdate.Columns.Contains("czy") == false)
                        {
                            DataColumn dtColumn = new DataColumn("czy");
                            dtColumn.DefaultValue = UserInfo.userId;
                            dt_tjjgUpdate.Columns.Add(dtColumn);
                        }

                        if (dt_tjjgUpdate.Columns.Contains("gzz") == false)
                        {
                            DataColumn dtColumn = new DataColumn("gzz");
                            dtColumn.DefaultValue = UserInfo.gzz;
                            dt_tjjgUpdate.Columns.Add(dtColumn);
                        }


                        //体检结果是否已经存在
                        string Guid = "";
                        //true:新的Guid  false:已经存在的Guid
                        bool GuidResult = true;
                        GuidResult = getNewGuid(dt_access.Rows[0]["jkdah"].ToString(), drs[i]["jyrq"].ToString(), out Guid);

                        if (dt_tjjgUpdate.Columns.Contains("guid") == false)
                        {
                            DataColumn dtColumn = new DataColumn("guid");
                            dtColumn.DefaultValue = Guid;
                            dt_tjjgUpdate.Columns.Add(dtColumn);
                        }


                        string[] sqllist = sqlcode.Split(new char[] { '|' });

                        if (sqlcode.Length == 0 || sqllist.Length < 2)
                        {
                            MessageBox.Show("仪器sql设定错误!");
                            return;
                        }
                        //体检结果
                        if (GuidResult == true)
                        {
                            //体检结果插入
                            form_lisbll.Add(dt_tjjgUpdate, sqllist[0]);
                        }
                        else
                        {
                            //体检结果更新
                            dt_tjjgUpdate.AcceptChanges();
                            dt_tjjgUpdate.Rows[0]["guid"] = Guid;
                            form_lisbll.Upd(dt_tjjgUpdate, sqllist[1]);
                        }

                        //签名
                        SaveJktjSignname(drs[i]["jyrq"].ToString(), dt_access.Rows[0]["jkdah"].ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Пример #4
0
        /// <summary>
        /// 其他通用
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button_save_sys(DataTable dt_all, string sqlcode)
        {
            string errsql = "";

            try
            {
                if (dt_all.Rows.Count > 0)
                {
                    //dt_pp(dt_all);
                    ////检查数据保存到T_JK_lis_result_re中
                    Form_lisBll form_lisbll = new Form_lisBll();
                    //form_lisbll.Add(dt_all, "sql042");

                    //
                    DataRow[] drs = dt_all.Select("xmdh='NAME'");
                    for (int i = 0; i < drs.Length; i++)
                    {
                        string    testno    = "";
                        DataTable dt_access = GetDtAccess(drs[i]["ybh"].ToString(), drs[i]["yybm"].ToString(), ref testno);
                        if (dt_access == null || dt_access.Rows.Count <= 0)
                        {
                            logger.Error("无此样本号:" + drs[i]["ybh"].ToString());
                            continue;
                        }
                        //在此处进行插入修改操作
                        //LisResultReOperation(dt_all.Select(string.Format("ybh='{0}' and jyrq='{1}' and yq='{2}' and yybm='{3}'", drs[i]["ybh"], drs[i]["jyrq"],
                        //  drs[i]["yq"], drs[i]["yybm"])).CopyToDataTable());

                        //更新化验结果表(T_JK_lis_result_re),确定化验结果与人员关系
                        UpdateLisResultRe(drs[i]["ybh"].ToString(), drs[i]["jyrq"].ToString(), testno, ref errsql);


                        //Form_lisBll form_lisbll = new Form_lisBll();

                        //查询体检状态
                        string    tjzt  = "1";
                        DataRow[] dr_zt = dt_all.Select("xmdh='TJZT' and ybh='" + drs[i]["ybh"].ToString() + "'");
                        if (dr_zt != null && dr_zt.Length > 0)
                        {
                            tjzt = dr_zt[0]["result"].ToString();
                        }
                        //体检状态信息
                        errsql = "save_T_JK_TJZT " + tjzt.ToString();
                        ArrayList TJRYXXList = save_T_JK_TJZT(dt_access.Rows[0]["jkdah"].ToString(), dt_access.Rows[0]["sfzh"].ToString(), drs[i]["result"].ToString(), drs[i]["jyrq"].ToString(), Common.TJTYPE.健康体检表, Common.ZT.确定状态);
                        if (TJRYXXList != null && TJRYXXList.Count > 0)
                        {
                            DBAccess dbaccess = new DBAccess();
                            dbaccess.ExecuteNonQueryBySql(TJRYXXList);
                        }

                        //取得化验结果
                        DataTable dt_dyxm = GetHyxm(drs[i]["yq"].ToString(), drs[i]["jyrq"].ToString(), drs[i]["ybh"].ToString(),
                                                    ref errsql);

                        //更新健康体检表
                        string Guid = "";
                        //true:新的Guid  false:已经存在的Guid
                        bool      GuidResult    = true;
                        DataTable dt_tjjgUpdate = GetTjjgUpdateDateTable(dt_dyxm, drs[i]["jyrq"].ToString(), dt_access, ref errsql, ref Guid, ref GuidResult);



                        string[] sqllist = sqlcode.Split(new char[] { '|' });

                        if (sqlcode.Length == 0 || sqllist.Length < 2)
                        {
                            MessageBox.Show("仪器sql设定错误!");
                            return;
                        }
                        //体检结果
                        if (GuidResult)
                        {
                            errsql = "jktj insert;sql:" + sqllist[0];
                            //体检结果插入
                            form_lisbll.Add(dt_tjjgUpdate, sqllist[0]);
                        }
                        else
                        {
                            errsql = "jktj update;sql:" + sqllist[1];
                            //体检结果更新
                            dt_tjjgUpdate.AcceptChanges();
                            dt_tjjgUpdate.Rows[0]["guid"] = Guid;
                            form_lisbll.Upd(dt_tjjgUpdate, sqllist[1]);
                        }
                        errsql = "";

                        //签名
                        SaveJktjSignname(drs[i]["jyrq"].ToString(), dt_access.Rows[0]["jkdah"].ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + "-----" + ex.StackTrace + "------sql:" + errsql);
            }
        }
Пример #5
0
        /// <summary>
        /// 更新健康体检表
        /// </summary>
        /// <param name="dt_tjjgUpdate"></param>
        /// <returns></returns>
        public bool Update_jktj(DataTable dt_tjjgUpdate, string JKDAH, string jyrq_tem)
        {
            try
            {
                if (dt_tjjgUpdate == null || dt_tjjgUpdate.Columns.Count == 0 || dt_tjjgUpdate.Rows.Count == 0)
                {
                    return(false);
                }

                if (dt_tjjgUpdate.Columns.Contains("D_GRDABH") == false)
                {
                    DataColumn dtColumn = new DataColumn("D_GRDABH");
                    dtColumn.DefaultValue = JKDAH;
                    dt_tjjgUpdate.Columns.Add(dtColumn);
                }
                if (dt_tjjgUpdate.Columns.Contains("HAPPENTIME") == false)
                {
                    DataColumn dtColumn = new DataColumn("HAPPENTIME");
                    dtColumn.DefaultValue = jyrq_tem;
                    dt_tjjgUpdate.Columns.Add(dtColumn);
                }

                if (dt_tjjgUpdate.Columns.Contains("czy") == false)
                {
                    DataColumn dtColumn = new DataColumn("czy");
                    dtColumn.DefaultValue = UserInfo.userId;
                    dt_tjjgUpdate.Columns.Add(dtColumn);
                }
                if (dt_tjjgUpdate.Columns.Contains("gzz") == false)
                {
                    DataColumn dtColumn = new DataColumn("gzz");
                    dtColumn.DefaultValue = UserInfo.gzz;
                    dt_tjjgUpdate.Columns.Add(dtColumn);
                }

                //体检结果是否已经存在
                string Guid = "";
                //true:新的Guid  false:已经存在的Guid
                bool GuidResult = true;
                GuidResult = getNewGuid(out Guid, JKDAH, jyrq_tem);

                Form_lisBll form_lisbll = new Form_lisBll();
                if (dt_tjjgUpdate.Columns.Contains("guid") == false)
                {
                    DataColumn dtColumn = new DataColumn("guid");
                    dtColumn.DefaultValue = Guid;
                    dt_tjjgUpdate.Columns.Add(dtColumn);
                }

                //体检结果
                if (GuidResult == true)
                {
                    //体检结果插入
                    form_lisbll.Add(dt_tjjgUpdate, "sql047");
                }
                else
                {
                    //体检结果更新
                    dt_tjjgUpdate.AcceptChanges();
                    dt_tjjgUpdate.Rows[0]["guid"] = Guid;
                    form_lisbll.Upd(dt_tjjgUpdate, "sql048");
                }

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }