//查询处方按钮事件 private void butcfcx_Click(object sender, System.EventArgs e) { this.Cursor = PubStaticFun.WaitCursor(); try { DataTable tb = new DataTable(); string rq1 = dtprq1.Value.ToShortDateString(); string rq2 = dtprq2.Value.ToShortDateString(); string wardid = InstanceForm.BCurrentDept.DeptId.ToString(); //未发药 //if (this.tabControl1.SelectedTab == this.tabPage1) //{ // if (_menuTag.Function_Name.Trim() == "Fun_ts_yf_zyfy_cf_cx" || _menuTag.Function_Name.Trim() == "Fun_ts_yf_zyfy_cf_jy") // tb = ZY_FY.SelectCF(wardid, inpatient_id, rq1, rq2, "", "", "", "", "0", bk, (rdCydy.Checked ? 1 : 0), 0, cfh, InstanceForm.BDatabase, bdybz); // else // tb = ZY_FY.SelectCF(wardid, inpatient_id, rq1, rq2, "", "", "", "", "0", bk, (rdCydy.Checked ? 1 : 0), InstanceForm.BCurrentDept.DeptId, cfh, InstanceForm.BDatabase, bdybz); //} ////已发药 //if (this.tabControl1.SelectedTab == this.tabPage2) //{ // string fybz = "1"; // if (_menuTag.Function_Name.Trim() == "Fun_ts_yf_zyfy_cf_jy") // fybz = "9"; // if (_menuTag.Function_Name.Trim() == "Fun_ts_yf_zyfy_cf_cx") // tb = ZY_FY.SelectCF(wardid, inpatient_id, "", "", "", "", rq1, rq2, fybz, bk, (rdCydy.Checked ? 1 : 0), 0, cfh, InstanceForm.BDatabase, bdybz); // else // tb = ZY_FY.SelectCF(wardid, inpatient_id, "", "", "", "", rq1, rq2, fybz, bk, (rdCydy.Checked ? 1 : 0), InstanceForm.BCurrentDept.DeptId, cfh, InstanceForm.BDatabase, bdybz); //} string fybz = "1"; int bdybz = 0; string fyType = cmbFylb.SelectedValue.ToString(); tb = ZY_FY.SelectCF(fyType, wardid, rq1, rq2, fybz, bdybz, InstanceForm.BDatabase); //添加处方 this.AddPresc(tb); chkall.Checked = false; } catch (System.Exception err) { MessageBox.Show(err.Message); } finally { this.Cursor = Cursors.Arrow; } }
public static void PrintCf(string inpatient_id, string mngtype, string groupid, RelationalDatabase _DataBase) { DataTable tb = null; string ssql = "select top 1 presc_no,execdept_id,cz_flag from zy_orderrecord a,zy_fee_speci b " + " where a.inpatient_id=b.inpatient_id and a.order_id=b.order_id and a.inpatient_id='" + inpatient_id + "' and (mngtype=" + mngtype + " or mngtype=5 ) and a.group_id=" + groupid + " and cz_flag in(0,1) order by cz_flag "; DataTable tbcx = _DataBase.GetDataTable(ssql, 30); decimal cfh = 0; int zxks = 0; int cz_flag = 0; if (tbcx.Rows.Count > 0) { cfh = Convert.ToDecimal(tbcx.Rows[0]["presc_no"].ToString()); zxks = Convert.ToInt32(tbcx.Rows[0]["execdept_id"].ToString()); cz_flag = Convert.ToInt32(tbcx.Rows[0]["cz_flag"].ToString()); if (cz_flag == 1) { MessageBox.Show("该处方已冲正,不能打印", "", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } else { MessageBox.Show("请确认处方已执行", "", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (cfh == 0) { return; } tb = ZY_FY.SelectCF("0", new Guid(inpatient_id), "", "", "", "", "", "", "0", 0, 0, 0, cfh, _DataBase, 2); if (tb.Rows.Count == 0) { tb = ZY_FY.SelectCF("0", new Guid(inpatient_id), "", "", "", "", "", "", "1", 0, 0, 0, cfh, _DataBase, 2); } if (new SystemCfg(8021).Config == "0") { #region 区分中药 try { if (tb.Rows.Count == 0) { return; } DataRow[] rows; rows = tb.Select("ypsl<>0"); ts_Yk_ReportView.Dataset2 Dset = new ts_Yk_ReportView.Dataset2(); DataRow myrow; for (int i = 0; i <= rows.Length - 1; i++) { myrow = Dset.发药明细单.NewRow(); myrow["rowno"] = Convert.ToString(rows[i]["序号"]); myrow["yppm"] = Convert.ToString(rows[i]["品名"]); myrow["ypspm"] = Convert.ToString(rows[i]["商品名"]); myrow["ypgg"] = Convert.ToString(rows[i]["规格"]); myrow["sccj"] = Convert.ToString(rows[i]["厂家"]); myrow["lsj"] = Convert.ToDecimal(rows[i]["单价"]); myrow["ypsl"] = Convert.ToDecimal(rows[i]["数量"]); if (Convert.ToDecimal(rows[i]["剂数"]) > 1 || Convert.ToString(rows[i]["STATITEM_CODE"]).Substring(0, 2) == "03") { myrow["cfts"] = "剂数:" + rows[i]["剂数"].ToString() + " 剂 " + rows[i]["煎药"].ToString(); } myrow["ypdw"] = Convert.ToString(rows[i]["单位"]); myrow["lsje"] = Convert.ToDecimal(rows[i]["金额"]); myrow["shh"] = Convert.ToString(rows[i]["货号"]); myrow["bed_no"] = Convert.ToString(rows[i]["床号"]); myrow["name"] = Convert.ToString(rows[i]["姓名"]).Trim() + " 处方日期:" + Convert.ToString(rows[i]["处方日期"]).Trim(); myrow["inpatient_no"] = Convert.ToString(rows[i]["住院号"]); myrow["lydw"] = Convert.ToString(rows[i]["发药科室"]) + " 医生:" + Convert.ToString(rows[i]["医生"]); myrow["ksname"] = Yp.SeekDeptName(Convert.ToInt32(rows[i]["dept_id"]), _DataBase); myrow["presc_no"] = rows[i]["处方号"].ToString().Trim(); myrow["order_usage"] = rows[i]["用法"].ToString().Trim() + " " + rows[i]["频次"].ToString().Trim(); myrow["xb"] = Convert.ToString(rows[i]["性别"]); myrow["nl"] = Convert.ToString(rows[i]["年龄"]); myrow["JTDZ"] = ""; myrow["LXDH"] = ""; myrow["SFZH"] = ""; myrow["bz1"] = Convert.ToString(rows[i]["诊断"]); myrow["bz2"] = Convert.ToString(rows[i]["中医诊断"]); myrow["bz3"] = Convert.ToString(rows[i]["中医症型"]); Dset.发药明细单.Rows.Add(myrow); } ParameterEx[] parameters = new ParameterEx[2]; parameters[0].Text = "titletext"; string ss = ""; //if (chkcydy.Checked == false) ss = "住院处方清单"; // else // ss = "出院带药清单"; parameters[0].Value = TrasenFrame.Classes.Constant.HospitalName + "(" + Yp.SeekDeptName(zxks, _DataBase) + ")" + ss.Trim(); parameters[1].Text = "BZ"; parameters[1].Value = ""; bool bview = false; TrasenFrame.Forms.FrmReportView f; f = new TrasenFrame.Forms.FrmReportView(Dset.发药明细单, Constant.ApplicationDirectory + "\\Report\\YF_住院处方清单医生站用.rpt", parameters, bview); if (f.LoadReportSuccess) { f.Show(); } else { f.Dispose(); } } catch (System.Exception err) { MessageBox.Show(err.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Error); } #endregion } else { try { DataRow[] rows; rows = tb.Select(" ypsl<>0"); DataRow[] rows_xy = null; DataRow[] rows_zy = null; rows_xy = tb.Select(" STATITEM_CODE not like '%03%' "); rows_zy = tb.Select(" STATITEM_CODE like '%03%' "); ts_Yk_ReportView.Dataset2 Dset; DataRow myrow; if (rows_xy.Length > 0) { Dset = new ts_Yk_ReportView.Dataset2(); for (int i = 0; i <= rows_xy.Length - 1; i++) { myrow = Dset.发药明细单.NewRow(); myrow["rowno"] = Convert.ToString(rows_xy[i]["序号"]); myrow["yppm"] = Convert.ToString(rows_xy[i]["品名"]); myrow["ypspm"] = Convert.ToString(rows_xy[i]["商品名"]); myrow["ypgg"] = Convert.ToString(rows_xy[i]["规格"]); myrow["sccj"] = Convert.ToString(rows_xy[i]["厂家"]); myrow["lsj"] = Convert.ToDecimal(rows_xy[i]["单价"]); myrow["ypsl"] = Convert.ToDecimal(rows_xy[i]["数量"]); if (Convert.ToDecimal(rows_xy[i]["剂数"]) > 1 || Convert.ToString(rows_xy[i]["STATITEM_CODE"]).Substring(0, 2) == "03") { myrow["cfts"] = "剂数:" + rows_xy[i]["剂数"].ToString() + " 剂 " + rows_xy[i]["煎药"].ToString(); } myrow["ypdw"] = Convert.ToString(rows_xy[i]["单位"]); myrow["lsje"] = Convert.ToDecimal(rows_xy[i]["金额"]); myrow["shh"] = Convert.ToString(rows_xy[i]["货号"]); myrow["bed_no"] = Convert.ToString(rows_xy[i]["床号"]); myrow["name"] = Convert.ToString(rows_xy[i]["姓名"]).Trim() + " 处方日期:" + Convert.ToString(rows_xy[i]["处方日期"]).Trim(); myrow["inpatient_no"] = Convert.ToString(rows_xy[i]["住院号"]); myrow["lydw"] = Convert.ToString(rows_xy[i]["发药科室"]) + " 医生:" + Convert.ToString(rows_xy[i]["医生"]); myrow["ksname"] = Yp.SeekDeptName(Convert.ToInt32(rows_xy[i]["dept_id"]), _DataBase); myrow["presc_no"] = rows_xy[i]["处方号"].ToString().Trim(); myrow["order_usage"] = rows_xy[i]["用法"].ToString().Trim() + " " + rows_xy[i]["频次"].ToString().Trim(); myrow["xb"] = Convert.ToString(rows_xy[i]["性别"]); myrow["nl"] = Convert.ToString(rows_xy[i]["年龄"]); myrow["JTDZ"] = ""; myrow["LXDH"] = ""; myrow["SFZH"] = ""; myrow["bz1"] = Convert.ToString(rows_xy[i]["诊断"]); myrow["bz2"] = Convert.ToString(rows_xy[i]["中医诊断"]); myrow["bz3"] = Convert.ToString(rows_xy[i]["中医症型"]); Dset.发药明细单.Rows.Add(myrow); } ParameterEx[] parameters = new ParameterEx[2]; parameters[0].Text = "titletext"; string ss = ""; //if (chkcydy.Checked == false) ss = "住院处方清单"; //else // ss = "出院带药清单"; parameters[0].Value = TrasenFrame.Classes.Constant.HospitalName + "(" + Yp.SeekDeptName(zxks, _DataBase) + ")" + ss.Trim(); parameters[1].Text = "BZ"; parameters[1].Value = ""; bool bview = false; TrasenFrame.Forms.FrmReportView f; f = new TrasenFrame.Forms.FrmReportView(Dset.发药明细单, Constant.ApplicationDirectory + "\\Report\\YF_住院处方清单医生站用.rpt", parameters, bview); if (f.LoadReportSuccess) { f.Show(); } else { f.Dispose(); } } if (rows_zy.Length > 0) { Dset = new ts_Yk_ReportView.Dataset2(); for (int i = 0; i <= rows_zy.Length - 1; i++) { myrow = Dset.发药明细单.NewRow(); myrow["rowno"] = Convert.ToString(rows_zy[i]["序号"]); myrow["yppm"] = Convert.ToString(rows_zy[i]["品名"]); myrow["ypspm"] = Convert.ToString(rows_zy[i]["商品名"]); myrow["ypgg"] = Convert.ToString(rows_zy[i]["规格"]); myrow["sccj"] = Convert.ToString(rows_zy[i]["厂家"]); myrow["lsj"] = Convert.ToDecimal(rows_zy[i]["单价"]); myrow["ypsl"] = Convert.ToDecimal(rows_zy[i]["数量"]); if (Convert.ToDecimal(rows_zy[i]["剂数"]) > 1 || Convert.ToString(rows_zy[i]["STATITEM_CODE"]).Substring(0, 2) == "03") { myrow["cfts"] = "剂数:" + rows_zy[i]["剂数"].ToString() + " 剂 " + rows_zy[i]["煎药"].ToString(); } myrow["ypdw"] = Convert.ToString(rows_zy[i]["单位"]); myrow["lsje"] = Convert.ToDecimal(rows_zy[i]["金额"]); myrow["shh"] = Convert.ToString(rows_zy[i]["货号"]); myrow["bed_no"] = Convert.ToString(rows_zy[i]["床号"]); myrow["name"] = Convert.ToString(rows_zy[i]["姓名"]).Trim() + " 处方日期:" + Convert.ToString(rows_zy[i]["处方日期"]).Trim(); myrow["inpatient_no"] = Convert.ToString(rows_zy[i]["住院号"]); myrow["lydw"] = Convert.ToString(rows_zy[i]["发药科室"]) + " 医生:" + Convert.ToString(rows_zy[i]["医生"]); myrow["ksname"] = Yp.SeekDeptName(Convert.ToInt32(rows_zy[i]["dept_id"]), _DataBase); myrow["presc_no"] = rows_zy[i]["处方号"].ToString().Trim(); myrow["order_usage"] = rows_zy[i]["用法"].ToString().Trim() + " " + rows_zy[i]["频次"].ToString().Trim(); myrow["xb"] = Convert.ToString(rows_zy[i]["性别"]); myrow["nl"] = Convert.ToString(rows_zy[i]["年龄"]); myrow["JTDZ"] = ""; myrow["LXDH"] = ""; myrow["SFZH"] = ""; myrow["bz1"] = Convert.ToString(rows_zy[i]["诊断"]); myrow["bz2"] = Convert.ToString(rows_zy[i]["中医诊断"]); myrow["bz3"] = Convert.ToString(rows_zy[i]["中医症型"]); Dset.发药明细单.Rows.Add(myrow); } ParameterEx[] parameters = new ParameterEx[2]; parameters[0].Text = "titletext"; string ss = ""; //if (chkcydy.Checked == false) ss = "住院处方清单"; //else // ss = "出院带药清单"; parameters[0].Value = TrasenFrame.Classes.Constant.HospitalName + "(" + Yp.SeekDeptName(zxks, _DataBase) + ")" + ss.Trim(); parameters[1].Text = "BZ"; parameters[1].Value = ""; bool bview = false; TrasenFrame.Forms.FrmReportView f; f = new TrasenFrame.Forms.FrmReportView(Dset.发药明细单, Constant.ApplicationDirectory + "\\Report\\YF_住院处方清单(中药)医生站用.rpt", parameters, bview); if (f.LoadReportSuccess) { f.Show(); } else { f.Dispose(); } } } catch (System.Exception err) { MessageBox.Show(err.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }