/// <summary> /// 处理组套项目折叠{5C2A9C83-D165-434c-ACA4-86F23E956442} /// </summary> /// <param name="rowIndex"></param> private void ExpendOrCloseRows(int rowIndex) { if (!string.IsNullOrEmpty(this.neuSpread1_Sheet1.Cells[rowIndex, 2].Text)) { return; } bool isExpend = true; if (this.neuSpread1_Sheet1.RowHeader.Cells[rowIndex, 0].Text == "+") { this.neuSpread1_Sheet1.RowHeader.Cells[rowIndex, 0].Text = "-"; isExpend = true; } else { this.neuSpread1_Sheet1.RowHeader.Cells[rowIndex, 0].Text = "+"; isExpend = false; } for (int i = 0; i < this.neuSpread1_Sheet1.RowCount; i++) { Neusoft.HISFC.Models.Terminal.TerminalConfirmDetail confirmDetail = this.neuSpread1_Sheet1.Rows[i].Tag as Neusoft.HISFC.Models.Terminal.TerminalConfirmDetail; if (confirmDetail == null) { continue; } if (this.neuSpread1_Sheet1.Cells[rowIndex, 0].Text == confirmDetail.MoOrder && //医嘱号 this.neuSpread1_Sheet1.Cells[rowIndex, 1].Text == confirmDetail.ExecMoOrder && //医嘱执行号 this.neuSpread1_Sheet1.RowHeader.Cells[i, 0].Text == ".") { this.neuSpread1_Sheet1.Rows[i].Visible = isExpend; } } }
private void fpSpread1_CellDoubleClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e) { #region 处理组合项目{5C2A9C83-D165-434c-ACA4-86F23E956442} Neusoft.HISFC.Models.Terminal.TerminalConfirmDetail confirmDetail = this.fpSpread1_Sheet1.Rows[e.Row].Tag as Neusoft.HISFC.Models.Terminal.TerminalConfirmDetail; if (!string.IsNullOrEmpty(confirmDetail.User01)) { int rowCount = this.fpSpread1_Sheet1.RowCount; for (int i = rowCount - 1; i >= 0; i--) { Neusoft.HISFC.Models.Terminal.TerminalConfirmDetail tmpConfirmDetail = this.fpSpread1_Sheet1.Rows[i].Tag as Neusoft.HISFC.Models.Terminal.TerminalConfirmDetail; if (tmpConfirmDetail.User01 == confirmDetail.User01) { this.fpSpread1_Sheet1.RemoveRows(i, 1); } } #region addby xuewj 2010-10-3 增加单价、合计 {AB2D96F8-2CB3-49d2-9445-CCFDA1FFFCE7} this.SubCancelMoney(); #endregion return; } #endregion this.fpSpread1_Sheet1.RemoveRows(this.fpSpread1_Sheet1.ActiveRowIndex, 1); #region addby xuewj 2010-10-3 增加单价、合计 {AB2D96F8-2CB3-49d2-9445-CCFDA1FFFCE7} this.SubCancelMoney(); #endregion }
//{23016A93-22CE-4fe6-9CF4-1F9E90B3DD08} private bool IsExist(Neusoft.HISFC.Models.Terminal.TerminalConfirmDetail confirmDetail) { for (int i = 0; i < this.alTermalDept.Count; i++) { Neusoft.HISFC.Models.Base.DepartmentStat obj = alTermalDept[i] as Neusoft.HISFC.Models.Base.DepartmentStat; if (confirmDetail.Apply.ConfirmOperEnvironment.Dept.ID == obj.DeptCode) { return(true); } } return(false); }
private int AddDetailToFp(Neusoft.HISFC.Models.Terminal.TerminalConfirmDetail tecDetail) { //可以一次取消多条 by yuyun 08-8-12 {58B76F7C-A35D-4cbb-8948-8163EA3C5191} int rowCount = this.fpSpread1_Sheet1.RowCount; this.fpSpread1_Sheet1.Rows.Add(rowCount, 1); #region addby xuewj 2010-10-3 增加单价、合计 {AB2D96F8-2CB3-49d2-9445-CCFDA1FFFCE7} Neusoft.HISFC.Models.Fee.Inpatient.FeeItemList itemList = this.feeManager.GetItemListByRecipeNO(tecDetail.Apply.Item.RecipeNO, tecDetail.Apply.Item.SequenceNO, Neusoft.HISFC.Models.Base.EnumItemType.UnDrug); this.fpSpread1_Sheet1.Cells[rowCount, (int)Cols.UnitPrice].Value = itemList.Item.Price; this.fpSpread1_Sheet1.Cells[rowCount, (int)Cols.TotCost].Value = itemList.FT.TotCost; #endregion this.fpSpread1_Sheet1.Cells[rowCount, (int)Cols.MoOrder].Text = tecDetail.MoOrder; this.fpSpread1_Sheet1.Cells[rowCount, (int)Cols.ExecMoOrder].Text = tecDetail.ExecMoOrder; this.fpSpread1_Sheet1.Cells[rowCount, (int)Cols.ApplyNum].Text = tecDetail.Sequence; this.fpSpread1_Sheet1.Cells[rowCount, (int)Cols.ItemID].Text = tecDetail.Apply.Item.ID; this.fpSpread1_Sheet1.Cells[rowCount, (int)Cols.ItemName].Text = tecDetail.Apply.Item.Name; this.fpSpread1_Sheet1.Cells[rowCount, (int)Cols.ConfirmQty].Text = tecDetail.Apply.Item.ConfirmedQty.ToString(); #region addby xuewj 2010-10-3 待取消确认列表确认科室、确认人显示名称 {878C1070-41E9-4558-A4D7-E823D044F9EE} //this.fpSpread1_Sheet1.Cells[rowCount, (int)Cols.OperCode].Text = tecDetail.Apply.Item.ConfirmOper.ID; //this.fpSpread1_Sheet1.Cells[rowCount, (int)Cols.OperDept].Text = tecDetail.Apply.ConfirmOperEnvironment.Dept.ID; Neusoft.HISFC.Models.Base.Employee tmpEmp = this.deptManager.GetEmployeeInfo(tecDetail.Apply.Item.ConfirmOper.ID); this.fpSpread1_Sheet1.Cells[rowCount, (int)Cols.OperCode].Tag = tmpEmp.ID; this.fpSpread1_Sheet1.Cells[rowCount, (int)Cols.OperCode].Text = tmpEmp.Name; Neusoft.HISFC.Models.Base.Department tmpDept = this.deptManager.GetDepartment(tecDetail.Apply.ConfirmOperEnvironment.Dept.ID);//确认科室 this.fpSpread1_Sheet1.Cells[rowCount, (int)Cols.OperDept].Tag = tmpDept.ID; this.fpSpread1_Sheet1.Cells[rowCount, (int)Cols.OperDept].Text = tmpDept.Name; #endregion this.fpSpread1_Sheet1.Cells[rowCount, (int)Cols.OperTime].Text = tecDetail.Apply.ConfirmOperEnvironment.OperTime.ToString(); this.fpSpread1_Sheet1.Cells[rowCount, (int)Cols.RecipeNo].Text = tecDetail.Apply.Item.RecipeNO; this.fpSpread1_Sheet1.Cells[rowCount, (int)Cols.SequenceNo].Text = tecDetail.Apply.Item.SequenceNO.ToString(); //by yuyun 08-7-7 this.fpSpread1_Sheet1.Cells[rowCount, (int)Cols.Operator].Text = tecDetail.Oper.ID; //技师:默认是当前操作员,可以修改 this.fpSpread1_Sheet1.Cells[rowCount, (int)Cols.Machine].Text = tecDetail.ExecDevice; //项目使用设备:从医技载体表进行查找 this.fpSpread1_Sheet1.Cells[rowCount, (int)Cols.MoOrder].Tag = tecDetail; this.fpSpread1_Sheet1.Rows[rowCount].Tag = tecDetail; //------------{58B76F7C-A35D-4cbb-8948-8163EA3C5191} return(1); }
/// <summary> /// 保存 /// </summary> /// <returns></returns> private int Save() { if (this.neuSpread1_Sheet1.RowCount <= 0) { return(0); } if (this.fpSpread1_Sheet1.RowCount <= 0) { MessageBox.Show("请选择需取消的明细"); return(0); } if (MessageBox.Show("是否取消该次终端确认?\r\n 取消确认操作不可回退", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return(0); } Neusoft.FrameWork.Management.PublicTrans.BeginTransaction(); Neusoft.HISFC.BizLogic.Terminal.TerminalConfirm terMgr = new Neusoft.HISFC.BizLogic.Terminal.TerminalConfirm(); //Neusoft.FrameWork.Management.Transaction t = new Neusoft.FrameWork.Management.Transaction(this.tecManager.Connection); //t.BeginTransaction(); this.feeManager.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans); this.orderManager.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans); //terMgr.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans); Neusoft.HISFC.Models.Terminal.TerminalConfirmDetail obj = ((Neusoft.HISFC.Models.Terminal.TerminalConfirmDetail) this.fpSpread1_Sheet1.Cells[this.fpSpread1_Sheet1.ActiveRowIndex, (int)Cols.MoOrder].Tag).Clone(); #region 医嘱 if (this.fpSpread1_Sheet1.RowCount == 1)//如果就剩一条,就说明所有的都取消了 { if (terMgr.CancelInpatientConfirmMoOrder(obj) <= 0) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show("更新医嘱失败" + terMgr.Err); return(-1); } } #endregion #region 费用 #region {2CE2BB1D-9DEB-4afa-90CF-15E3E44285E1} 重取明细数目,防止明细数目与组套项目数目不一致时出错 //if (terMgr.CancelInpatientItemList(obj) <= 0) //{ // Neusoft.FrameWork.Management.PublicTrans.RollBack(); // MessageBox.Show("更新费用明细失败" + terMgr.Err); // return -1; //} foreach (FarPoint.Win.Spread.Row r in this.fpSpread1_Sheet1.Rows) { Neusoft.HISFC.Models.Terminal.TerminalConfirmDetail tcd = ((Neusoft.HISFC.Models.Terminal.TerminalConfirmDetail) this.fpSpread1_Sheet1.Cells[r.Index, (int)Cols.MoOrder].Tag).Clone(); if (terMgr.CancelInpatientItemListWithSeq(tcd) <= 0) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show("更新费用明细失败" + terMgr.Err); return(-1); } } #endregion #endregion #region 确认明细 if (terMgr.CancelInpatientConfirmDetail(obj) <= 0) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show("更新确认明细失败" + terMgr.Err); return(-1); } #endregion Neusoft.FrameWork.Management.PublicTrans.Commit(); MessageBox.Show("取消成功"); this.fpSpread1_Sheet1.Rows.Remove(this.fpSpread1_Sheet1.ActiveRowIndex, 1); return(1); }
private void neuSpread1_CellDoubleClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e) { #region 处理组合项目{5C2A9C83-D165-434c-ACA4-86F23E956442} int rowIndex = e.Row; //选中组合项目明细-查找组合节点进行处理 if (this.neuSpread1_Sheet1.RowHeader.Cells[e.Row, 0].Text == ".") { for (int i = 0; i < this.neuSpread1_Sheet1.RowCount; i++) { Neusoft.HISFC.Models.Terminal.TerminalConfirmDetail confirmDetail = this.neuSpread1_Sheet1.Rows[e.Row].Tag as Neusoft.HISFC.Models.Terminal.TerminalConfirmDetail; if (this.neuSpread1_Sheet1.Cells[i, 0].Text == confirmDetail.MoOrder && //医嘱号 this.neuSpread1_Sheet1.Cells[i, 1].Text == confirmDetail.ExecMoOrder && //医嘱执行号 string.IsNullOrEmpty(this.neuSpread1_Sheet1.Cells[i, 2].Text)) { rowIndex = i; break; } } } if (string.IsNullOrEmpty(this.neuSpread1_Sheet1.Cells[rowIndex, 2].Text)) { for (int i = 0; i < this.neuSpread1_Sheet1.RowCount; i++) { Neusoft.HISFC.Models.Terminal.TerminalConfirmDetail confirmDetail = this.neuSpread1_Sheet1.Rows[i].Tag as Neusoft.HISFC.Models.Terminal.TerminalConfirmDetail; if (confirmDetail == null) { continue; } if (this.neuSpread1_Sheet1.Cells[rowIndex, 0].Text == confirmDetail.MoOrder && //医嘱号 this.neuSpread1_Sheet1.Cells[rowIndex, 1].Text == confirmDetail.ExecMoOrder && //医嘱执行号 this.neuSpread1_Sheet1.RowHeader.Cells[i, 0].Text == ".") { //判断是否存在重复记录 foreach (FarPoint.Win.Spread.Row r in this.fpSpread1_Sheet1.Rows) { if (this.fpSpread1_Sheet1.Rows[r.Index].Tag == confirmDetail) { MessageBox.Show("该行已被选择过"); return; } } //医嘱执行号+组合项目编码 --方便取消 confirmDetail.User01 = this.neuSpread1_Sheet1.Cells[rowIndex, 3].Text + this.neuSpread1_Sheet1.Cells[rowIndex, 1].Text; AddDetailToFp(confirmDetail); } } #region addby xuewj 2010-10-3 增加单价、合计 {AB2D96F8-2CB3-49d2-9445-CCFDA1FFFCE7} this.SubCancelMoney(); #endregion return; } #endregion //可以一次取消多条 by yuyun 08-8-12 {58B76F7C-A35D-4cbb-8948-8163EA3C5191} //this.fpSpread1_Sheet1.RowCount = 0; //--------------------------------------- int RowIndex = this.neuSpread1_Sheet1.ActiveRowIndex; Neusoft.HISFC.Models.Terminal.TerminalConfirmDetail tecDetail = new Neusoft.HISFC.Models.Terminal.TerminalConfirmDetail(); tecDetail = this.neuSpread1_Sheet1.ActiveRow.Tag as Neusoft.HISFC.Models.Terminal.TerminalConfirmDetail; //可以一次取消多条 by yuyun 08-8-12 {58B76F7C-A35D-4cbb-8948-8163EA3C5191} //判断是否存在重复记录 foreach (FarPoint.Win.Spread.Row r in this.fpSpread1_Sheet1.Rows) { if (this.fpSpread1_Sheet1.Rows[r.Index].Tag == tecDetail) { MessageBox.Show("该行已被选择过"); return; } } //--------------------------------------- AddDetailToFp(tecDetail); #region addby xuewj 2010-10-3 增加单价、合计 {AB2D96F8-2CB3-49d2-9445-CCFDA1FFFCE7} this.SubCancelMoney(); #endregion }
/// <summary> /// 保存 /// </summary> /// <returns></returns> private int Save() { if (this.neuSpread1_Sheet1.RowCount <= 0) { return(0); } if (this.fpSpread1_Sheet1.RowCount <= 0) { MessageBox.Show("请选择需取消的明细"); return(0); } if (MessageBox.Show("是否取消该次终端确认?\r\n 取消确认操作不可回退", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { CancelItem();//{5C66549E-AA04-4f72-8AA8-717FF5FB5E4F} return(0); } Neusoft.FrameWork.Management.PublicTrans.BeginTransaction(); Neusoft.HISFC.BizLogic.Terminal.TerminalConfirm terMgr = new Neusoft.HISFC.BizLogic.Terminal.TerminalConfirm(); //Neusoft.FrameWork.Management.Transaction t = new Neusoft.FrameWork.Management.Transaction(this.tecManager.Connection); //t.BeginTransaction(); this.feeManager.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans); this.orderManager.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans); //terMgr.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans); #region 可以一次取消多条 by yuyun 08-8-12 {58B76F7C-A35D-4cbb-8948-8163EA3C5191} System.Collections.Hashtable hsMoExecNOList = new Hashtable(); foreach (FarPoint.Win.Spread.Row r in this.fpSpread1_Sheet1.Rows) { //Neusoft.HISFC.Models.Terminal.TerminalConfirmDetail obj = ((Neusoft.HISFC.Models.Terminal.TerminalConfirmDetail)this.fpSpread1_Sheet1.Cells[this.fpSpread1_Sheet1.ActiveRowIndex, (int)Cols.MoOrder].Tag).Clone(); Neusoft.HISFC.Models.Terminal.TerminalConfirmDetail obj = ((Neusoft.HISFC.Models.Terminal.TerminalConfirmDetail) this.fpSpread1_Sheet1.Cells[r.Index, (int)Cols.MoOrder].Tag).Clone(); obj.FreeCount = Neusoft.FrameWork.Function.NConvert.ToDecimal(this.fpSpread1_Sheet1.Cells[r.Index, (int)Cols.ConfirmQty].Value.ToString()); #region 医嘱 if (!hsMoExecNOList.ContainsKey(obj.MoOrder + obj.ExecMoOrder)) { if (!string.IsNullOrEmpty(obj.MoOrder))//如果就剩一条,就说明所有的都取消了 ???不懂 { if (terMgr.CancelInpatientConfirmMoOrder(obj) <= 0) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show("更新医嘱失败" + terMgr.Err); return(-1); } } hsMoExecNOList.Add(obj.MoOrder + obj.ExecMoOrder, null); } #endregion #region 费用 //更新可退数量 if (terMgr.CancelInpatientItemList(obj) <= 0) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show("更新费用明细失败" + terMgr.Err); return(-1); } #endregion #region 判断是否需要作废执行档,对已全部确认完的项目作废执行档,未全部确认的项目不作废 //{0A8C4027-210C-49e0-977F-576789F46946} by yuyun 08-8-13 //取医嘱执行档的数量 decimal execOrderQty = terMgr.GetExecOrderQty(obj.ExecMoOrder); if (execOrderQty == -1) { MessageBox.Show(terMgr.Err); return(-1); } //取已确认的总数量 decimal confirmedQty = terMgr.GetAlreadConfirmNum(obj.MoOrder, obj.ExecMoOrder); //MessageBox.Show(execOrderQty.ToString() + "|||||||" + confirmedQty.ToString()); //对比两个数量 判断是否需要作废执行档 if (confirmedQty == execOrderQty) { //作废执行档 if (!string.IsNullOrEmpty(obj.ExecMoOrder)) //为医嘱开立项目才进行执行档作废 { if (terMgr.CancelExecOrder(obj.ExecMoOrder) <= 0) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show("作废医嘱执行档失败" + terMgr.Err); return(-1); } } //MessageBox.Show("更新"); } #endregion #region 确认明细 if (terMgr.CancelInpatientConfirmDetail(obj) <= 0) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show("更新确认明细失败" + terMgr.Err); return(-1); } #endregion #region {5D274E04-7B3D-449c-AB72-3DAAC9414D6C} if (this.isUsePACSApplySheet) { try { if (PACSApplyInterfaceNew == null) { PACSApplyInterfaceNew = new Neusoft.HISFC.Components.PacsApply.HisInterface(Neusoft.FrameWork.Management.Connection.Operator.ID, (Neusoft.FrameWork.Management.Connection.Operator as Neusoft.HISFC.Models.Base.Employee).Dept.ID); } if (PACSApplyInterfaceNew != null) { Neusoft.HISFC.Models.Order.Inpatient.Order orderInfo = this.orderManager.QueryOneOrder(obj.MoOrder); if (orderInfo != null && orderInfo.ApplyNo != "") { if (PACSApplyInterfaceNew.DeleteApply(orderInfo.ApplyNo) < 0) { MessageBox.Show("查询电子申请单失败!"); } } } } catch { } } #endregion } #endregion Neusoft.FrameWork.Management.PublicTrans.Commit(); MessageBox.Show("取消成功"); //可以一次取消多条 by yuyun 08-8-12 {58B76F7C-A35D-4cbb-8948-8163EA3C5191} //this.fpSpread1_Sheet1.Rows.Remove(this.fpSpread1_Sheet1.ActiveRowIndex,1); this.fpSpread1_Sheet1.RowCount = 0; //--------------- #region addby xuewj 2010-10-3 增加单价、合计 {AB2D96F8-2CB3-49d2-9445-CCFDA1FFFCE7} this.lblTotCancelCost.Text = "当前待取消项目合计:0.00"; #endregion return(1); }