コード例 #1
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);
            }
        }
コード例 #2
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);
            }
        }