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); }
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"); }
/// <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); } }
/// <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); } }
/// <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; } }