/// <summary> /// 产生医嘱不产生费用 /// </summary> /// <param name="inpatient_no">住院号</param> /// <param name="yzid">医嘱项目id</param> /// <param name="xyl">剂量</param> /// <param name="app_docid">申请医生id</param> /// <param name="app_deptid">申请科室id</param> /// <param name="_database">数据库连接对象</param> /// <param name="baby_id">婴儿id,大人为0</param> /// <param name="bb">标本id</param> /// <param name="jgbm">机构编码</param> /// <param name="bz">备注</param> public static void CommitOrder_notexe(string inpatient_no, long yzid, Decimal xyl, long app_docid, long app_deptid, RelationalDatabase _database, long baby_id, string bb, long jgbm, string bz) { string sql = "select * from zy_inpatient where inpatient_no='" + inpatient_no + "' and flag in(1,3,4)"; DataTable tb = _database.GetDataTable(sql); bz = ""; if (tb.Rows.Count == 0) { throw new Exception("没有找到住院号为【" + inpatient_no + "】的病人信息!!"); } else { _database.BeginTransaction(); try { Ts_zyys_public.DbQuery dbquery = new DbQuery(_database); sql = "select *,CASE WHEN b.EXEC_DEPT>0 THEN b.EXEC_DEPT ELSE A.DEFAULT_DEPT END zkxsid " + " from JC_HOITEMDICTION a left join JC_HOI_DEPT b on a.ORDER_ID=b.ORDER_ID " + " left join JC_DEPT_PROPERTY c on c.DEPT_ID=b.EXEC_DEPT where a.ORDER_ID=" + yzid + " and c.jgbm=" + jgbm; DataTable hoitemtb = _database.GetDataTable(sql); if (hoitemtb.Rows.Count == 0) { throw new Exception("获取医嘱项目失败!!"); } long zxksid = long.Parse(hoitemtb.Rows[0]["zkxsid"].ToString()); string ward_id = Convert.ToString(_database.GetDataResult("select ward_id from JC_WARDRDEPT where dept_id='" + tb.Rows[0]["dept_id"].ToString() + "'")); Guid inpatient_id = new Guid(tb.Rows[0]["inpatient_id"].ToString()); long yzNum = dbquery.GetYzNum(_database, inpatient_id) + 1; Guid order_id = PubStaticFun.NewGuid(); string commandtext = string.Concat(new object[] { "INSERT INTO ZY_ORDERRECORD(order_id,Group_ID,Inpatient_ID,Dept_ID,Ward_ID,MNGTYPE,nType,Order_Doc,HOItem_ID,xmly,Order_context,Num,Dosage,Unit,book_date,Order_bDate,First_times,Order_Usage,frequency,Operator,Delete_Bit,status_flag,baby_id,dept_br,exec_dept,dwlx,MEMO,MEMO1,jgbm,zsl,jz_flag) " + " VALUES('", order_id, "',", yzNum.ToString(), ",'", inpatient_id.ToString(), "',", app_deptid, ",'", ward_id, "',1,5,", FrmMdiMain.CurrentUser.EmployeeId, ",", yzid, ",2,'", "", hoitemtb.Rows[0]["ORDER_NAME"].ToString() + bz, "',", xyl.ToString(), ",1,'", hoitemtb.Rows[0]["ORDER_UNIT"].ToString(), "',GetDate(),GetDate(),0,'", "", "','',", app_docid, ",0,0,", baby_id.ToString(), ",", tb.Rows[0]["dept_id"], ",", zxksid.ToString(), ",", bb.ToString(), ",'", "", "★", "", "','", "", "',", jgbm, "," + xyl.ToString() + ",0)" }); _database.DoCommand(commandtext); dbquery.insertJY(_database, inpatient_id, baby_id, order_id); // ts_zyhs_classes.BaseFunc bfucn = new ts_zyhs_classes.BaseFunc(_database); //bfucn.ExecOrders("", inpatient_id, baby_id, yzNum, 1, DateManager.ServerDateTimeByDBType(_database), DateManager.ServerDateTimeByDBType(_database), app_docid, (int)jgbm); _database.CommitTransaction(); } catch (Exception ex) { _database.RollbackTransaction(); throw ex; } } }
private void btnOk_Click(object sender, System.EventArgs e) { if (cmbWard.Text == "") { MessageBox.Show("没有选择病区,请选择转到的病区", "提示!", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (cmbDept.Text == "") { MessageBox.Show("没有选择科室,请选择转到的科室", "提示!", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } //Modify By tany 2010-01-08 原来判断开单医生的科室,现在判断病人所在科室 if (this.Dept_Br == Convert.ToInt64(this.cmbDept.SelectedValue)) { FrmMessageBox.Show("不允许本科室转本科室!请重新选择科室。", new Font("宋体", 12f), Color.Red, "Sorry!", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } // if(myQuery.SexName(this.BinID)=="男") // { // //选择转出的科室如果是妇科和产科,则提示不能转(302表示妇产科) // if(Convert.ToInt64(this.cmbDept.SelectedValue) == 302) // { // MessageBox.Show("该病人是男性,不能转去妇产科,请重新选择科室","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning); // return; // } // } #region 权限确认 //Modify By Tany 2010-06-08 是否使用密码确认 0=使用 1=不使用 if (new SystemCfg(6023).Config == "0") { string dlgvalue = DlgPW.Show(); string pwStr = dlgvalue; //YS.Password; bool bOk = InstanceForm._currentUser.CheckPassword(pwStr); if (!bOk) { FrmMessageBox.Show("你没有通过权限确认,不能发送医嘱!", new Font("宋体", 12f), Color.Red, "Sorry!", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } #endregion //写停医嘱记录 string er = ""; long Order_Num = myQuery.GetYzNum(this.BinID, this.DeptID); long OrderNumCount = Order_Num + 1; int num = 0; SystemCfg cfg6045 = new SystemCfg(6045); DataTable babyTb; //Modify By Tany 2011-03-07 婴儿和大人一起停医嘱并转科 //add by zouchihua 2012-5-15 if (cfg6045.Config.Trim() == "0") { babyTb = FrmMdiMain.Database.GetDataTable("select * from zy_inpatient_baby where inpatient_id='" + BinID + "'"); } else { babyTb = FrmMdiMain.Database.GetDataTable("select * from zy_inpatient_baby where inpatient_id='" + BinID + "' and flag in(1,3,4)"); } //Modify By Tany 2011-03-07 婴儿和大人一起转科,对方科室也必须是产科 if (babyTb != null && babyTb.Rows.Count > 0) { if (!myFunc.IsFCK(cmbWard.SelectedValue.ToString().Trim())) { FrmMessageBox.Show("带婴儿的病人不允许转到非妇产科室!请重新选择科室。", new Font("宋体", 12f), Color.Red, "Sorry!", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } //生成数据库访问对象 FrmMdiMain.Database.BeginTransaction(); try { //构成SQL语句,并执行,默认婴儿ID为0,医嘱录入人为医生本人,默认病人科室为医生科室,中草药剂量默认为1,操作员为医生本人 //武汉中心医院转科、出院、死亡医嘱存储到临时医嘱 Moidify by jchl string OrderID = PubStaticFun.NewGuid().ToString();//Modify BY Tany 2014-12-04 转科的Order_id不用查询来取,直接赋值公用就行//Convert.ToString(FrmMdiMain.Database.GetDataResult(sSql)); string sSql = "INSERT INTO ZY_ORDERRECORD(" + "order_id,Group_ID,Inpatient_ID,Dept_ID,Ward_ID,MNGTYPE,nType,Order_Doc," + "HOItem_ID,xmly,Order_context,Num,Dosage,Unit,book_date," + "Order_bDate,First_times,Order_Usage,frequency," + "Operator,Delete_Bit,status_flag,baby_id,dept_br,exec_dept,serial_no,jgbm)" + " VALUES('" + OrderID + "'," + OrderNumCount.ToString() + ",'" + BinID.ToString() + "'," + this.DeptID.ToString() + ",'" + this.WardID + "',1,0," + this.YS_ID.ToString() + "," + "-1,2,'" + "转:【" + this.cmbJgbm.Text + "】" + this.cmbDept.Text.Trim() + "',0,1,'',GetDate()," + "'" + this.dateTimePicker1.Value.ToString() + "',1,'','1'," + "" + this.YS_ID.ToString() + ",0,1," + "0" + "," + (Dept_Br == 0 ? DeptID.ToString() : Dept_Br.ToString()) + "," + this.DeptID.ToString() + ",0," + FrmMdiMain.Jgbm + ") "; FrmMdiMain.Database.DoCommand(sSql); //获取转科医嘱order_id //武汉中心医院转科、出院、死亡医嘱存储到临时医嘱 Moidify by jchl[mngtype=0->mngtype=1] //sSql = "select order_id from zy_orderrecord where inpatient_id='" + this.BinID.ToString() + "' and mngtype=1 and HOItem_ID=-1 and order_context like '%转%'and Order_bDate='" + this.dateTimePicker1.Value.ToString() + "' "; //string OrderID = Convert.ToString(FrmMdiMain.Database.GetDataResult(sSql)); string tran_type = "0"; if (chk_trantype.Checked == false) { tran_type = "1"; } string sSql0 = "insert into zy_transfer_dept(" + "id,Inpatient_id,S_dept_id,D_dept_id,Transfer_date,Book_date,Operator,description,Baby_id,finish_bit,order_id,CANCEL_BIT,jgbm,Trans_type) " + "values('" + PubStaticFun.NewGuid() + "','" + BinID.ToString() + "'," + (Dept_Br == 0 ? DeptID.ToString() : Dept_Br.ToString()) + "," + this.cmbDept.SelectedValue.ToString() + ",'" + this.dateTimePicker1.Value.ToString() + "'," + "GetDate()," + this.YS_ID.ToString() + ",'转',0,0,'" + OrderID + "',0 ," + FrmMdiMain.Jgbm + "," + tran_type + ")"; FrmMdiMain.Database.DoCommand(sSql0); //Modify By Tany 2011-03-07 婴儿和大人一起停医嘱 if (babyTb != null && babyTb.Rows.Count > 0) { for (int i = 0; i < babyTb.Rows.Count; i++) { string sSql1 = ""; if (chk_trantype.Checked)//正常转科 { sSql1 = "insert into zy_transfer_dept(" + "id,Inpatient_id,S_dept_id,D_dept_id,Transfer_date,Book_date,Operator,description,Baby_id,finish_bit,order_id,CANCEL_BIT,jgbm,Trans_type) " + "values('" + PubStaticFun.NewGuid() + "','" + BinID.ToString() + "'," + (Dept_Br == 0 ? DeptID.ToString() : Dept_Br.ToString()) + "," + this.cmbDept.SelectedValue.ToString() + ",'" + this.dateTimePicker1.Value.ToString() + "'," + "GetDate()," + this.YS_ID.ToString() + ",'转'," + Convert.ToInt64(babyTb.Rows[i]["baby_id"]) + ",0,'" + OrderID + "',0 ," + FrmMdiMain.Jgbm + ",0)"; } else { //非正常转科 sSql1 = "insert into zy_transfer_dept(" + "id,Inpatient_id,S_dept_id,D_dept_id,Transfer_date,Book_date,Operator,description,Baby_id,finish_bit,order_id,CANCEL_BIT,jgbm,Trans_type) " + "values('" + PubStaticFun.NewGuid() + "','" + BinID.ToString() + "'," + (Dept_Br == 0 ? DeptID.ToString() : Dept_Br.ToString()) + "," + this.cmbDept.SelectedValue.ToString() + ",'" + this.dateTimePicker1.Value.ToString() + "'," + "GetDate()," + this.YS_ID.ToString() + ",'转'," + Convert.ToInt64(babyTb.Rows[i]["baby_id"]) + ",0,'" + OrderID + "',0 ," + FrmMdiMain.Jgbm + ",1)"; } FrmMdiMain.Database.DoCommand(sSql1); } } if (this.radBt1.Checked == true) { num = -1; } else { num = Convert.ToInt16(this.numUD.Value); } if (this.lbStop.Text == "√") { //停医嘱 myQuery.StopOrders(FrmMdiMain.Database, this.dateTimePicker1.Value.ToString(), this.YS_ID, this.BinID, 0, num); //停账单 myQuery.StopOrders_ZD(FrmMdiMain.Database, this.dateTimePicker1.Value.ToString(), this.YS_ID, this.BinID, 0, num, 0); //Modify By Tany 2011-03-07 婴儿和大人一起停医嘱 if (babyTb != null && babyTb.Rows.Count > 0) { for (int i = 0; i < babyTb.Rows.Count; i++) { //停医嘱 myQuery.StopOrders(FrmMdiMain.Database, this.dateTimePicker1.Value.ToString(), this.YS_ID, this.BinID, Convert.ToInt64(babyTb.Rows[i]["baby_id"]), num); //停账单 myQuery.StopOrders_ZD(FrmMdiMain.Database, this.dateTimePicker1.Value.ToString(), this.YS_ID, this.BinID, Convert.ToInt64(babyTb.Rows[i]["baby_id"]), num, 0); } } } FrmMdiMain.Database.CommitTransaction(); MessageBox.Show("转科申请成功!"); outType = true; string msg_wardid = InstanceForm._currentDept.WardId; long msg_deptid = 0; long msg_empid = 0; string msg_sender = FrmMdiMain.CurrentDept.DeptName + ":" + FrmMdiMain.CurrentUser.Name; string msg_msg = lblBedNo.Text + " 床 " + lblName.Text + " 有转科医嘱,请处理!"; TrasenFrame.Classes.WorkStaticFun.SendMessage(true, SystemModule.住院护士站, msg_wardid, msg_deptid, msg_empid, msg_sender, msg_msg); } catch (System.Exception err) { FrmMdiMain.Database.RollbackTransaction(); MessageBox.Show("转科申请失败!请重试!\n" + err.ToString(), "", MessageBoxButtons.OK, MessageBoxIcon.Error); er = err.ToString(); this.Close(); } finally { if (er.Trim() == "") { myQuery.SaveLog(this.DeptID, this.YS_ID, "开转科医嘱", this.BinID.ToString() + ":从" + this.DeptID.ToString() + "转到" + this.cmbDept.SelectedValue.ToString() + ",末日次数:" + num.ToString(), 0, 41); } else { myQuery.SaveLog(this.DeptID, this.YS_ID, "转科医嘱失败", this.BinID.ToString() + ":" + er.Trim() + " ⊙从" + this.DeptID.ToString() + "转到" + this.cmbDept.SelectedValue.ToString() + ",末日次数:" + num.ToString(), 1, 41); } } //发消息通知护士站 if (this.chk_hsz.Checked) { long warddept = (this.DeptID); myQuery.InformHS(warddept, " 请为 " + this.lblBedNo.Text.Trim() + "床 " + this.lblName.Text.Trim() + " 办理转科手续"); } Ts_zyys_main.frmMain.outflag = true; this.Close(); }
private void buttQD_Click(object sender, EventArgs e) { //DataTable pattb = (DataTable)this.myDataGrid2.DataSource; //#region//Add by Zouchihua 2011-10-12 判断病人的当前科室是不是属于本院区,主要是为了阻止临时跨院业务的病人操作 string[] rtnSql = ts_zyhs_classes.BaseFunc.GetBrzt(_BinID); if (rtnSql[0] != "0") { MessageBox.Show("由于跨院转科或者特殊治疗,该病人记录已经冻结不允许操作!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } int BrJgbm = Convert.ToInt32(rtnSql[1]); //#endregion if (_rbIn) { #region //Add by yaokx 2013-12-05 判断病人是不是当前科室,主要是为了阻止临时跨科室业务的病人操作 string sql_dept = "select * from VI_ZY_VINPATIENT_INFO where inpatient_id ='" + _BinID + "' and baby_id=" + _BabyID; DataTable table_dept = FrmMdiMain.Database.GetDataTable(sql_dept); if (table_dept.Rows.Count > 0) { string flag = table_dept.Rows[0]["FLAG"].ToString(); string sql = " select * from JC_WARDRDEPT where dept_id=" + InstanceForm.BCurrentDept.DeptId.ToString() + ""; DataTable tbtemp = InstanceForm.BDatabase.GetDataTable(sql); if (tbtemp.Rows.Count <= 0) { MessageBox.Show("该病人已转科不属于本科室,不允许操作!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } else if (flag.Equals("2") || flag.Equals("5") || flag.Equals("6")) { MessageBox.Show("该病人已经出区,不允许操作!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } #endregion } int i, serial_no = 0, iYZH = 0; int yztype = _yztype;//(this.tabControl1.SelectedTab.Text.Trim() == sTab0 ? 2 : 3); string sSql = ""; DataTable myTbwz = (DataTable)this.dataGridView1.DataSource; //Modify by zouchihfua 2011-10-31 Guid tsapply_id = Guid.Empty; int Apply_type = 0; //0=正常 包括 1=特殊治疗,2=手术申请,3=转科 4=会诊 ; //1 特殊治疗 if (_rbTszl) { //获得特殊治疗id string ssql = "select id from ZY_TS_APPLY where TS_DEPT =" + FrmMdiMain.CurrentDept.DeptId.ToString() + " and inpatient_id='" + ClassStatic.Current_BinID + "' and STATUS_FLAG !=2 and DELETE_BIT=0"; DataTable Tstable = FrmMdiMain.Database.GetDataTable(ssql); if (Tstable.Rows.Count > 0) { tsapply_id = new Guid(Tstable.Rows[0]["id"].ToString()); Apply_type = 1; } } //3 转科 if (Apply_type == 0) { string zk = "select id from ZY_TRANSFER_DEPT where INPATIENT_ID='" + _BinID + "' and CANCEL_BIT=0 and FINISH_BIT=1 order by TRANSFER_DATE desc";//最近一次转科 DataTable temptb = FrmMdiMain.Database.GetDataTable(zk); if (temptb.Rows.Count > 0) { tsapply_id = new Guid(temptb.Rows[0]["id"].ToString()); Apply_type = 3; } } if (_isSSMZ) { //获得特殊治疗id string ssql = "select a.id from ss_apprecord a inner join ss_arrrecord b on a.sno=b.sno and b.wcbj=0 and a.bdelete=0 where a.inpatient_id='" + ClassStatic.Current_BinID + "' and a.BDELETE=0 and b.BDELETE=0 and a.apbj=1"; DataTable Tstable = FrmMdiMain.Database.GetDataTable(ssql); if (Tstable.Rows.Count > 0) { tsapply_id = new Guid(Tstable.Rows[0]["id"].ToString()); Apply_type = 2; } } //初始化医嘱 sSql = @"select max(Group_Id) as YZH " + " from Zy_OrderRecord " + " where inpatient_id='" + _BinID + "'" + " and baby_id=" + _BabyID; //+ // " and mngtype=" + yztype.ToString(); DataTable myTempTb = InstanceForm.BDatabase.GetDataTable(sSql); if (myTempTb.Rows[0]["YZH"].ToString().Trim() == "") { iYZH = 0; } else { iYZH = Convert.ToInt32(myTempTb.Rows[0]["YZH"]); } // //生成数据访问对象 // RelationalDatabase database=RelationalDatabase.GetDatabase(DatabaseType.IbmDb2ZY); // database.Initialize(""); // database.Open(); // //开始一个事物 // database.BeginTransaction(); //是否开单科室领药,包含冲账权限 int _iskdksly = 0; if (_rbTszl) { _iskdksly = Convert.ToInt32(Convertor.IsNull(InstanceForm.BDatabase.GetDataResult("select iskdksly from jc_dept_tszl where deptid=" + myTb.Rows[nrow]["dept_id"]), "0")); } InstanceForm.BDatabase.BeginTransaction(); try { #region 循环保存数据 for (i = 0; i <= myTbwz.Rows.Count - 1; i++) { if (myTbwz.Rows[i]["SELECTED"].ToString().Trim() == "1") { //首次 int j = 1; if (first_times != "") { j = Convert.ToInt32(first_times); } if (myTbwz.Rows[i]["ORDER_ID"] == null || myTbwz.Rows[i]["ORDER_ID"].ToString() == "") { InstanceForm.BDatabase.RollbackTransaction(); MessageBox.Show(this, "保存数据失败!找不到收费项目医嘱id", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } string hoitemid = myTbwz.Rows[i]["ORDER_ID"].ToString(); //取医嘱号 //if ((i == 0) || (i > 0 && myTb.Rows[nrow]["group_id"].ToString() != myTb.Rows[nrow - 1]["group_id"].ToString())) //{ iYZH += 1; serial_no = 0; //} //else serial_no += 1; decimal v_price = Convert.ToDecimal(myTbwz.Rows[i]["COST_PRICE"].ToString().Trim()); //构成SQL语句,并执行 //Modify By Tany 2004-10-23 加入price 主要针对单价为0的项目 sSql = @"INSERT INTO ZY_ORDERRECORD( " + "ORDER_ID,INPATIENT_ID,Baby_ID,WARD_ID,DEPT_BR,DEPT_ID, " + "MNGTYPE,ORDER_BDATE,GROUP_ID,NTYPE, " + "HOITEM_ID,XMLY,ORDER_CONTEXT,NUM,DOSAGE,UNIT,ORDER_USAGE,FREQUENCY, " + "EXEC_DEPT,FIRST_TIMES,STATUS_FLAG, " + "AUDITING_USER,AUDITING_DATE,OPERATOR,BOOK_DATE,SERIAL_NO,jgbm,iskdksly,tsapply_id,Apply_type,MEMO2,ppcl_yzid) " + "VALUES('" + PubStaticFun.NewGuid() + "' ,'" + _BinID + "'," + _BabyID + ",'" + new Department(ClassStatic.Current_DeptID, InstanceForm.BDatabase).WardId + "'," + ClassStatic.Current_DeptID + "," + dept_id + "," + _yztype + ",'" + DateManager.ServerDateTimeByDBType(InstanceForm.BDatabase) + "'," + iYZH.ToString() + "," + myTb.Rows[nrow]["ntype"].ToString() + "," + hoitemid + ",2,'" + myTbwz.Rows[i]["ITEM_NAME"] + "'," + myTbwz.Rows[i]["NUM"] + "," + myTb.Rows[nrow]["DOSAGE"] + ",'" + myTbwz.Rows[i]["ITEM_UNIT"] + "','" + myTb.Rows[nrow]["ORDER_USAGE"] + "','" + myTb.Rows[nrow]["FREQUENCY"] + "'," + myTb.Rows[nrow]["Exec_Dept"] + "," + myTbwz.Rows[i]["NUM"] + ",2," + InstanceForm.BCurrentUser.EmployeeId + ",getdate() ," + InstanceForm.BCurrentUser.EmployeeId + ",getdate()," + serial_no.ToString() + "," + BrJgbm + "," + _iskdksly + ",'" + tsapply_id + "'," + Apply_type + ",'物资匹配','" + this.Order_id + "')"; InstanceForm.BDatabase.DoCommand(sSql); } } #endregion InstanceForm.BDatabase.CommitTransaction(); MessageBox.Show(this, "保存数据成功", "OK", MessageBoxButtons.OK, MessageBoxIcon.Information); BingData(); this.Close(); } catch (System.Data.OleDb.OleDbException err) { InstanceForm.BDatabase.RollbackTransaction(); MessageBox.Show(this, "保存数据失败!(" + err.ToString() + ")", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (Exception err) { InstanceForm.BDatabase.RollbackTransaction(); MessageBox.Show(this, "保存数据失败!(" + err.ToString() + ")", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void btnOk_Click(object sender, System.EventArgs e) { if (this.BabyID == 0 && (txtXY.Text.Trim() == "" || Convertor.IsNull(txtXY.Tag, "") == "")) { MessageBox.Show("出院诊断不完整!"); return; } #region//Add by Zouchihua 2011-11-18 判断病人的当前科室是不是属于本院区,获得病人所在科室机构编码 string[] rtnSql = ts_zyhs_classes.BaseFunc.GetBrzt(BinID); //Modify by zouchihfua 2011-11-16 病人所在科室机构编码 //string[] rtnSql = ts_zyhs_classes.BaseFunc.GetBrzt(BinID); int BrJgbm = Convert.ToInt32(rtnSql[1]); #endregion //Modify By Tany 2010-06-08 是否使用密码确认 0=使用 1=不使用 if (new SystemCfg(6023).Config == "0") { string dlgvalue = DlgPW.Show(); string pwStr = dlgvalue; //YS.Password; bool bOk = InstanceForm._currentUser.CheckPassword(pwStr); if (!bOk) { FrmMessageBox.Show("你没有通过权限确认,不能提交该医嘱!", new Font("宋体", 12f), Color.Red, "Sorry!", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } if (this.BabyID == 0 && ybjklx == 40 && yblx >= 0) { //医保病人必须有医保诊断 if (string.IsNullOrEmpty(Convertor.IsNull(lblYbjbbm.Tag, ""))) { MessageBox.Show("医保病人:未找到西医诊断的医保编码,请重新选择西医诊断!"); return; } } //出院医嘱提醒 modify by jchl 2015-09-30 OutHosp.isZg(lblZyh.Text.Trim(), FrmMdiMain.Database); string er = ""; long Order_Num = myQuery.GetYzNum(this.BinID, this.DeptID); long OrderNumCount = Order_Num + 1; int num = 0;//末日次数 FrmMdiMain.Database.BeginTransaction(); try { //构成SQL语句,并执行,默认婴儿ID为0,医嘱录入人为医生本人,默认病人科室为医生科室,中草药剂量默认为1,操作员为医生本人 //武汉中心医院转科、出院、死亡医嘱存储到临时医嘱 Moidify by jchl string sSql = "INSERT INTO ZY_ORDERRECORD(" + "order_id,Group_ID,Inpatient_ID,Dept_ID,Ward_ID,MNGTYPE,nType,Order_Doc," + "HOItem_ID,xmly,Order_context,Num,Dosage,Unit,book_date," + "Order_bDate,First_times,Order_Usage,frequency," + "Operator,Delete_Bit,status_flag,baby_id,dept_br,exec_dept,serial_no,jgbm)" + " VALUES('" + PubStaticFun.NewGuid() + "'," + OrderNumCount.ToString() + ",'" + BinID.ToString() + "'," + this.DeptID.ToString() + ",'" + this.WardID + "',1,0," + this.YS_ID.ToString() + "," + "-1,2,'病人死亡',0,1,'',GetDate(),'" + this.dTimePicker1.Value.ToString() + "',1,'','1'," + "" + this.YS_ID.ToString() + ",0,1," + "0" + "," + this.DeptID.ToString() + "," + this.DeptID.ToString() + ",0," + BrJgbm + ") "; FrmMdiMain.Database.DoCommand(sSql); string sSql0 = "update zy_inpatient set out_mode=4,out_date='" + this.dTimePicker1.Value.ToString() + "',out_diagnosis='" + Convertor.IsNull(txtXY.Tag, "") + "'," + "flag=4 where inpatient_id='" + this.BinID.ToString() + "'"; FrmMdiMain.Database.DoCommand(sSql0); if (this.BabyID == 0) { //Modify by jchl 优先删除该病人的废的第1诊断 string sqlDelZd = string.Format(@"delete from ZY_DISEASE_MANY where INPATIENT_ID='{0}' and DISEASE_MARK='第1诊断'", this.BinID.ToString()); FrmMdiMain.Database.DoCommand(sqlDelZd); //Modify by jchl 新增第一诊断 sSql = String.Format(@" INSERT INTO ZY_DISEASE_MANY (INPATIENT_ID ,INPATIENT_NO ,BABY_ID ,DISEASE_MARK ,DISEASE_CODE ,DISEASE_NAME ,JGBM,YBJBBM,YBJBMC) VALUES ('{0}','{1}','{2}','{3}','{4}','{5}',{6},'{7}','{8}')", this.BinID.ToString(), lblZyh.Text.Trim(), "0", "第1诊断", Convertor.IsNull(txtXY.Tag, ""), txtXY.Text, BrJgbm, Convertor.IsNull(lblYbjbbm.Tag, ""), lblYbjbbm.Text); FrmMdiMain.Database.DoCommand(sSql); } if (this.radBt1.Checked == true) { num = -1; } else { num = Convert.ToInt16(this.numUD.Value); } // //停医嘱 myQuery.StopOrders(FrmMdiMain.Database, this.dTimePicker1.Value.ToString(), this.YS_ID, this.BinID, this.BabyID, num); //停账单 myQuery.StopOrders_ZD(FrmMdiMain.Database, this.dTimePicker1.Value.ToString(), this.YS_ID, this.BinID, this.BabyID, num, 0); FrmMdiMain.Database.CommitTransaction(); outType = true; string msg_wardid = InstanceForm._currentDept.WardId; long msg_deptid = 0; long msg_empid = 0; string msg_sender = FrmMdiMain.CurrentDept.DeptName + ":" + FrmMdiMain.CurrentUser.Name; string msg_msg = lblBedNo.Text + " 床 " + lblName.Text + " 有死亡医嘱,请处理!"; TrasenFrame.Classes.WorkStaticFun.SendMessage(true, SystemModule.住院护士站, msg_wardid, msg_deptid, msg_empid, msg_sender, msg_msg); } catch (Exception err) { FrmMdiMain.Database.RollbackTransaction(); MessageBox.Show("生成死亡医嘱错误!请重试!\n" + err.ToString(), "错误", MessageBoxButtons.OK, MessageBoxIcon.Warning); er = err.ToString(); this.Close(); } finally { // _Database.Close(); if (er.Trim() == "") { myQuery.SaveLog(this.DeptID, this.YS_ID, "开死亡医嘱", this.BinID.ToString() + ": " + txtXY.Text.Trim() + ",死亡时间" + this.dTimePicker1.Value.ToString() + ",末日次数:" + num.ToString(), 0, 41); } else { myQuery.SaveLog(this.DeptID, this.YS_ID, "死亡医嘱失败", this.BinID.ToString() + ":" + er.Trim() + " ⊙" + txtXY.Text.Trim() + ",死亡时间" + this.dTimePicker1.Value.ToString() + ",末日次数:" + num.ToString(), 1, 41); } } //FrmYZGL.outType=true; Ts_zyys_main.frmMain.outflag = true; this.Close(); }
private void btnSave_Click(object sender, System.EventArgs e) { if (MessageBox.Show("是否确定保存静脉采血相关费用?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } IsSave = true; string sSql = ""; string strSql = ""; DataTable myTempTb = new DataTable(); bool IsErr = false; DataTable myTb = (DataTable)myDataGrid1.DataSource; //取静脉采血费 sSql = @"Select a.order_id,a.order_name,a.order_unit,a.order_type " + "from jc_hoitemdiction a,jc_CONFIG b " + "where a.order_id=convert(bigint,b.config) and b.id=7015 "; DataTable myJTb = InstanceForm.BDatabase.GetDataTable(sSql); //取静脉采血管费 sSql = @"Select a.order_id,a.order_name,a.order_unit,a.order_type " + "from jc_hoitemdiction a,jc_CONFIG b " + "where a.order_id=convert(bigint,b.config) and b.id=7016"; DataTable myGTb = InstanceForm.BDatabase.GetDataTable(sSql); //如果没有设置静脉采血费代码,将不插入煎药费 if (myJTb.Rows.Count == 0 || myJTb == null) { MessageBox.Show("没有设置静脉采血费代码,请手工输入静脉采血费!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Stop); IsErr = true; } else if (myGTb.Rows.Count == 0 || myGTb == null) { MessageBox.Show("没有设置静脉采血管代码,请手工输入静脉采血管费!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Stop); IsErr = true; } else { decimal v_hoitem_id = Convert.ToDecimal(myJTb.Rows[0]["order_id"].ToString()); string v_order_context = myJTb.Rows[0]["order_name"].ToString().Trim(); string v_unit = myJTb.Rows[0]["order_unit"].ToString().Trim(); int v_order_type = Convert.ToInt32(myJTb.Rows[0]["order_type"].ToString().Trim()); decimal v_hoitem_id1 = Convert.ToDecimal(myGTb.Rows[0]["order_id"].ToString()); string v_order_context1 = myGTb.Rows[0]["order_name"].ToString().Trim(); string v_unit1 = myGTb.Rows[0]["order_unit"].ToString().Trim(); int v_order_type1 = Convert.ToInt32(myGTb.Rows[0]["order_type"].ToString().Trim()); int i = 0; int iYZH = 0; // //生成数据访问对象 // RelationalDatabase database=RelationalDatabase.GetDatabase(DatabaseType.IbmDb2ZY); // database.Initialize(""); // database.Open(); // //开始一个事物 // database.BeginTransaction(); InstanceForm.BDatabase.BeginTransaction(); try { for (i = 0; i < myTb.Rows.Count; i++) { if (myTb.Rows[i]["采血费次数"].ToString().Trim() != "0" && myTb.Rows[i]["采血费次数"].ToString().Trim() != "") { //取组号 sSql = @"select max(Group_Id) as YZH " + " from Zy_OrderRecord " + " where inpatient_id='" + myTb.Rows[i]["inpatient_id"].ToString().Trim() + "'" + " and baby_id=" + myTb.Rows[i]["baby_id"].ToString().Trim(); //+ // " and mngtype=3"; myTempTb.Clear(); myTempTb = InstanceForm.BDatabase.GetDataTable(sSql); if (myTempTb.Rows[0]["YZH"].ToString().Trim() == "") { iYZH = 0; } else { iYZH = Convert.ToInt32(myTempTb.Rows[0]["YZH"]) + 1; } //插入医嘱记录表 strSql = @"INSERT INTO ZY_ORDERRECORD( " + "order_id,jgbm,xmly,INPATIENT_ID,Baby_ID,WARD_ID,DEPT_BR,DEPT_ID, " + "MNGTYPE,ORDER_BDATE,GROUP_ID,NTYPE, " + "HOITEM_ID,ORDER_CONTEXT,NUM,DOSAGE,UNIT,ORDER_USAGE,FREQUENCY, " + "EXEC_DEPT,FIRST_TIMES,STATUS_FLAG, " + "AUDITING_USER,AUDITING_DATE,OPERATOR,BOOK_DATE,SERIAL_NO ) " + "VALUES('" + PubStaticFun.NewGuid() + "'," + FrmMdiMain.Jgbm + ",2, '" + myTb.Rows[i]["inpatient_id"].ToString().Trim() + "'," + Convert.ToDecimal(myTb.Rows[i]["baby_id"].ToString().Trim()) + ",'" + InstanceForm.BCurrentDept.WardId + "'," + Convert.ToDecimal(myTb.Rows[i]["dept_br"].ToString().Trim()) + "," + Convert.ToDecimal(myTb.Rows[i]["dept_id"].ToString().Trim()) + ",3,getdate()," + iYZH.ToString() + "," + v_order_type + "," + v_hoitem_id + ",'" + v_order_context + "'," + myTb.Rows[i]["采血费次数"] + ",1,'" + v_unit + "','',''," + Convert.ToDecimal(myTb.Rows[i]["dept_br"].ToString().Trim()) + ", 1,2," + InstanceForm.BCurrentUser.EmployeeId + ",getdate() ," + InstanceForm.BCurrentUser.EmployeeId + ",getdate(),0)"; InstanceForm.BDatabase.DoCommand(strSql); } //Add By Tany 2004-11-13 if (myTb.Rows[i]["采血管次数"].ToString().Trim() != "0" && myTb.Rows[i]["采血管次数"].ToString().Trim() != "") { //取组号 sSql = @"select max(Group_Id) as YZH " + " from Zy_OrderRecord " + " where inpatient_id='" + myTb.Rows[i]["inpatient_id"].ToString().Trim() + "'" + " and baby_id=" + myTb.Rows[i]["baby_id"].ToString().Trim(); //+ // " and mngtype=3"; myTempTb.Clear(); myTempTb = InstanceForm.BDatabase.GetDataTable(sSql); if (myTempTb.Rows[0]["YZH"].ToString().Trim() == "") { iYZH = 0; } else { iYZH = Convert.ToInt32(myTempTb.Rows[0]["YZH"]) + 1; } //插入医嘱记录表 strSql = @"INSERT INTO ZY_ORDERRECORD( " + "order_id,jgbm,xmly,INPATIENT_ID,Baby_ID,WARD_ID,DEPT_BR,DEPT_ID, " + "MNGTYPE,ORDER_BDATE,GROUP_ID,NTYPE, " + "HOITEM_ID,ORDER_CONTEXT,NUM,DOSAGE,UNIT,ORDER_USAGE,FREQUENCY, " + "EXEC_DEPT,FIRST_TIMES,STATUS_FLAG, " + "AUDITING_USER,AUDITING_DATE,OPERATOR,BOOK_DATE,SERIAL_NO ) " + "VALUES( '" + PubStaticFun.NewGuid() + "'," + FrmMdiMain.Jgbm + ",2,'" + myTb.Rows[i]["inpatient_id"].ToString().Trim() + "'," + myTb.Rows[i]["baby_id"].ToString().Trim() + ",'" + InstanceForm.BCurrentDept.WardId + "'," + Convert.ToDecimal(myTb.Rows[i]["dept_br"].ToString().Trim()) + "," + Convert.ToDecimal(myTb.Rows[i]["dept_id"].ToString().Trim()) + ",3,getdate()," + iYZH.ToString() + "," + v_order_type1 + "," + v_hoitem_id1 + ",'" + v_order_context1 + "'," + myTb.Rows[i]["采血管次数"] + ",1,'" + v_unit1 + "','',''," + Convert.ToDecimal(myTb.Rows[i]["dept_br"].ToString().Trim()) + ", 1,2," + InstanceForm.BCurrentUser.EmployeeId + ",getdate() ," + InstanceForm.BCurrentUser.EmployeeId + ",getdate(),0)"; InstanceForm.BDatabase.DoCommand(strSql); } } InstanceForm.BDatabase.CommitTransaction(); } catch (Exception err) { InstanceForm.BDatabase.RollbackTransaction(); //写错误日志 Add By Tany 2005-01-12 SystemLog _systemErrLog = new SystemLog(-1, InstanceForm.BCurrentDept.DeptId, InstanceForm.BCurrentUser.EmployeeId, "程序错误", "保存静脉采血费用错误:" + err.Message + " Source:" + err.Source, DateManager.ServerDateTimeByDBType(InstanceForm.BDatabase), 1, "主机名:" + System.Environment.MachineName, 39); _systemErrLog.Save(); _systemErrLog = null; MessageBox.Show("错误:将静脉采血相关费用插入临时账单错误,请手工生成静脉采血相关费用!\n系统:" + err.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Stop); IsErr = true; } // database.Close(); } if (IsErr == false) { MessageBox.Show("已经成功生成静脉采血相关费用临时账单!", "成功", MessageBoxButtons.OK, MessageBoxIcon.Information); } this.Close(); }
private void btnSave_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(txtYlzh.Text.Trim())) { MessageBox.Show("医疗证号不能为空", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); txtYlzh.Focus(); txtYlzh.Select(); return; } if (string.IsNullOrEmpty(txtLdh.Text.Trim())) { MessageBox.Show("联单号不能为空", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); txtLdh.Focus(); txtLdh.Select(); return; } if (string.IsNullOrEmpty(txtYfXe.Text.Trim())) { MessageBox.Show("药费限额 不能为空", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); txtYfXe.Focus(); txtYfXe.Select(); return; } if (string.IsNullOrEmpty(txtQtXe.Text.Trim())) { MessageBox.Show("其他限额 不能为空", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); txtQtXe.Focus(); txtQtXe.Select(); return; } decimal dOut = 0M; if (!decimal.TryParse(txtYfXe.Text.Trim(), out dOut)) { MessageBox.Show("药费限额 必须为数值格式", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); txtYfXe.Focus(); txtYfXe.Select(); return; } if (!decimal.TryParse(txtQtXe.Text.Trim(), out dOut)) { MessageBox.Show("其他限额 必须为数值格式", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); txtQtXe.Focus(); txtQtXe.Select(); return; } if (MessageBox.Show("是否确认操作?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2) == DialogResult.Cancel) { return; } string yblx = cmbYblx.SelectedValue.ToString(); string ylzh = txtYlzh.Text; string ldh = txtLdh.Text; string ssql = ""; try { ssql = string.Format(@"select count(1) as Num from gf_ld_mzsh where yblx='{0}' and ylzh='{1}' and ldh='{2}' and del_bit=0", yblx, ylzh, ldh); int iNum = Convert.ToInt32(FrmMdiMain.Database.GetDataResult(ssql).ToString()); if (_bAdd) { if (iNum > 0) { throw new Exception("医疗证号:" + ylzh + " 联单号:" + ldh + " 已存在授权信息,请直接修改原授权记录!"); } ssql = string.Format(@"insert into gf_ld_mzsh (id,yblx,ylzh,ldh,yf_xe,qt_xe,apply_date,memo) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}')", PubStaticFun.NewGuid(), yblx, ylzh, ldh, txtYfXe.Text.Trim(), txtQtXe.Text.Trim(), DateTime.Now, txtMemo.Text); FrmMdiMain.Database.DoCommand(ssql); } else { if (iNum <= 0) { throw new Exception("医疗证号:" + ylzh + " 联单号:" + ldh + " 不存在授权记录,请先新增授权记录!"); } ssql = string.Format(@"update gf_ld_mzsh set yf_xe='{3}', qt_xe='{4}', Mod_man='{5}', Mod_date='{6}' where yblx='{0}' and ylzh='{1}' and ldh='{2}' and del_bit=0 " , yblx, ylzh, ldh, txtYfXe.Text.Trim(), txtQtXe.Text.Trim(), FrmMdiMain.CurrentUser.EmployeeId, DateTime.Now); FrmMdiMain.Database.DoCommand(ssql); } DoQueryLdChk(); MessageBox.Show("操作成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show("保存出错" + "\r\r" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } }