///// <summary> ///// 初始化事件 ///// </summary> ///// <param name="sender"></param> ///// <param name="neuObject"></param> ///// <param name="param"></param> ///// <returns></returns> //protected override Neusoft.FrameWork.WinForms.Forms.ToolBarService OnInit(object sender, object neuObject, object param) //{ // if (this.DesignMode) // { // return null; // } // if (this.isQueryForm) // { // this.neuButtonOK.Visible = false; // } // else // { // this.neuButtonOK.Visible = true; // } // return null; //} #endregion #region 取消终端确认 private void CancelConfirm() { if (this.neuSpreadItemDetail_SheetItemDetail.RowCount == 0) { return; } if (MessageBox.Show("是否取消该次确认", "确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } if (this.neuSpreadItemDetail_SheetItemDetail.Rows[this.neuSpreadItemDetail_SheetItemDetail.ActiveRowIndex].Tag == null) { MessageBox.Show("获取终端确认明细出错"); return; } Neusoft.FrameWork.Management.PublicTrans.BeginTransaction(); Neusoft.HISFC.BizLogic.Terminal.TerminalConfirm terminalConfim = new Neusoft.HISFC.BizLogic.Terminal.TerminalConfirm(); Neusoft.HISFC.BizProcess.Integrate.PhysicalExamination.ExamiManager examiMgr = new Neusoft.HISFC.BizProcess.Integrate.PhysicalExamination.ExamiManager(); Neusoft.HISFC.BizProcess.Integrate.Fee feeMgr = new Neusoft.HISFC.BizProcess.Integrate.Fee(); Neusoft.HISFC.BizProcess.Integrate.RADT serviceInpatient = new Neusoft.HISFC.BizProcess.Integrate.RADT(); //Neusoft.FrameWork.Management.Transaction t = new Neusoft.FrameWork.Management.Transaction(terminalConfim.Connection); //t.BeginTransaction(); //terminalConfim.SetTrans(t.Trans); //examiMgr.SetTrans(t.Trans); //feeMgr.SetTrans(t.Trans); //serviceInpatient.SetTrans(t.Trans); Neusoft.HISFC.Models.Terminal.TerminalConfirmDetail detail = (Neusoft.HISFC.Models.Terminal.TerminalConfirmDetail) this.neuSpreadItemDetail_SheetItemDetail.Rows[this.neuSpreadItemDetail_SheetItemDetail.ActiveRowIndex].Tag; Neusoft.HISFC.Models.Terminal.TerminalApply apply = terminalConfim.GetItemListBySequence(detail.Apply.Order.ID, detail.Apply.ID); Neusoft.HISFC.Models.Base.Employee employee = (Neusoft.HISFC.Models.Base.Employee)terminalConfim.Operator; if (detail.OperInfo.ID != terminalConfim.Operator.ID) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show("只能取消自己做过的终端确认"); return; } if (detail == null) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show("获取终端确认明细出错"); return; } int BackQty = Neusoft.FrameWork.Function.NConvert.ToInt32(detail.Apply.Item.ConfirmedQty); if (terminalConfim.UpdateConfirmDetail(detail.Sequence, "1") <= 0) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show("作废终端确认明细表出错" + terminalConfim.Err); return; } if (terminalConfim.UpdateTerminalConfirmByMoOrder(detail.Apply.Order.ID, BackQty) <= 0) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show("更新终端确认主表失败" + terminalConfim.Err); return; } string confirmFlag = "1"; if (apply.AlreadyConfirmCount - BackQty == 0) { confirmFlag = "0"; } if (apply.PatientType != "5" && (apply.PatientType == "1" || apply.PatientType == "4")) { if (terminalConfim.UpdateFeeConfirmQty(detail.Apply.Order.ID, confirmFlag, -BackQty) <= 0) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show("更新费用表失败" + terminalConfim.Err); return; } #region 扣门诊账户 if (detail.Apply.SpecalFlag == "1") { //退费用到门诊账户 ,目前门诊账户项目不能分开多次确认 decimal totCost = decimal.Round(apply.Item.Item.Price * apply.Item.Item.Qty, 2); if (feeMgr.AccountCancelPay(apply.Patient, totCost, "终端退费", employee.Dept.ID, "") < 0) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show("退门诊账户失败 :" + feeMgr.Err); return; } #region 更新费用表 if (feeMgr.UpdateAccountByMoOrderAndItemCode(apply.Item.Item.ID, apply.Order.ID, false) <= 0) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show("门诊收费表扣费标志失败 :" + feeMgr.Err); return; } #endregion #region 更新执行标志到划价状态 if (terminalConfim.UpdateConfirmSendFlag(detail.Apply.Order.ID, detail.Apply.Item.Item.ID, "0") <= 0) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show("更新终端确认表执行标志失败 :" + terminalConfim.Err); return; } #endregion } #endregion } if (apply.PatientType == "4" || apply.PatientType == "5") { //体检中心的可退数量 int NoBackQty = Neusoft.FrameWork.Function.NConvert.ToInt32(apply.Item.Item.Qty - apply.Item.ConfirmedQty + BackQty); if (examiMgr.UpdateConfirmInfo(detail.Apply.Order.ID, confirmFlag, NoBackQty) <= 0) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show("更新体检表失败:" + examiMgr.Err); return; } } if (apply.PatientType == "2" && detail.Apply.SpecalFlag == "2") //回退住院费用 { #region 构建住院患者实体 Neusoft.HISFC.Models.RADT.PatientInfo patientInfo = serviceInpatient.QueryPatientInfoByInpatientNO(apply.Patient.PID.ID); if (patientInfo == null) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show("获取住院患者信息失败:" + serviceInpatient.Err); return; } #endregion #region 构建住院费用实体 Neusoft.HISFC.Models.Fee.Inpatient.FeeItemList feeItemList = new Neusoft.HISFC.Models.Fee.Inpatient.FeeItemList(); Neusoft.HISFC.Models.Terminal.TerminalApply terminalApply = apply.Clone(); feeItemList.Item = terminalApply.Item.Item.Clone(); feeItemList.Item.PriceUnit = terminalApply.Item.Item.PriceUnit;//计价单位 if (terminalApply.Item.Order.DoctorDept.ID == null || terminalApply.Item.Order.DoctorDept.ID == "") { feeItemList.RecipeOper.Dept = employee.Dept; } else { feeItemList.RecipeOper.Dept = terminalApply.Item.Order.DoctorDept; } if (terminalApply.Item.Order.Doctor.ID == null || terminalApply.Item.Order.Doctor.ID == "") { feeItemList.RecipeOper.ID = employee.ID; feeItemList.RecipeOper.Name = employee.Name; feeItemList.ChargeOper.ID = employee.ID; feeItemList.ChargeOper.Name = employee.Name; feeItemList.ChargeOper.Dept = employee.Dept; } else { feeItemList.RecipeOper.ID = terminalApply.Item.Order.Doctor.ID; feeItemList.RecipeOper.Name = terminalApply.Item.Order.Doctor.Name; feeItemList.ChargeOper.ID = terminalApply.Item.Order.Doctor.ID; feeItemList.ChargeOper.Name = terminalApply.Item.Order.Doctor.Name; } feeItemList.ExecOper.ID = employee.ID; feeItemList.ExecOper.Name = employee.Name; feeItemList.ExecOper.Dept = employee.Dept; feeItemList.StockOper.Dept = employee.Dept;//药品的扣库存的科室 feeItemList.Item.PackQty = terminalApply.Item.Item.PackQty; feeItemList.Item.Qty = terminalApply.Item.Item.Price; feeItemList.Item.Qty = terminalApply.Item.Item.Qty; if (feeItemList.Item.PackQty == 0) { feeItemList.Item.PackQty = 1; } feeItemList.FT.TotCost = Neusoft.FrameWork.Public.String.FormatNumber((feeItemList.Item.Price * feeItemList.Item.Qty / feeItemList.Item.PackQty), 2); feeItemList.FT.OwnCost = feeItemList.FT.TotCost; feeItemList.IsBaby = patientInfo.IsBaby; feeItemList.IsEmergency = false; feeItemList.Order = new Neusoft.HISFC.Models.Order.Inpatient.Order(); feeItemList.ExecOrder.ID = terminalApply.Item.Order.ID; feeItemList.NoBackQty = 0; feeItemList.FTRate.OwnRate = 1; feeItemList.BalanceState = "0"; feeItemList.FeeOper.ID = employee.ID; feeItemList.FeeOper.Name = employee.Name; feeItemList.FeeOper.Dept = employee.Dept; feeItemList.TransType = TransTypes.Positive; #endregion if (feeMgr.QuitItem(patientInfo, feeItemList) <= 0) { MessageBox.Show("退住院费用失败" + feeMgr.Err); return; } } Neusoft.FrameWork.Management.PublicTrans.Commit(); this.neuSpreadItemDetail_SheetItemDetail.Rows.Remove(this.neuSpreadItemDetail_SheetItemDetail.ActiveRowIndex, 1); #region 修改界面上的数量 for (int i = 0; i < this.neuSpreadItem_SheetItem.RowCount; i++) { Neusoft.HISFC.Models.Terminal.TerminalApply obj = (Neusoft.HISFC.Models.Terminal.TerminalApply) this.neuSpreadItem_SheetItem.Rows[i].Tag; if (obj.Order.ID == detail.Apply.Order.ID) { int freeQty = Neusoft.FrameWork.Function.NConvert.ToInt32(detail.Apply.Item.ConfirmedQty) + Neusoft.FrameWork.Function.NConvert.ToInt32(neuSpreadItem_SheetItem.Cells[i, (int)ApplyField.FreeQty].Text); this.neuSpreadItem_SheetItem.Cells[i, (int)ApplyField.FreeQty].Text = freeQty.ToString(); break; } } #endregion MessageBox.Show("取消成功"); }
/// <summary> /// 生成诊断列表 /// </summary> /// <param name="arr"></param> private void FillList(ArrayList arr) { this.InitDiagnoseList(); try { Neusoft.HISFC.Models.HealthRecord.Diagnose diagns = null; Neusoft.HISFC.Models.Base.Spell dsType = null; Neusoft.HISFC.Models.Base.Employee emp = null; String strDsType = ""; String strDsTypeID = ""; String strDrName = ""; String mainFlag = ""; ArrayList dsTypeList = Neusoft.HISFC.Models.HealthRecord.DiagnoseType.SpellList(); ArrayList drList = this.managerIntegrate.QueryEmployee(Neusoft.HISFC.Models.Base.EnumEmployeeType.D); for (int i = 0; i < arr.Count; i++) { diagns = (Neusoft.HISFC.Models.HealthRecord.Diagnose)arr[i]; //填入诊断类型中文名称 for (int j = 0; j < dsTypeList.Count; j++) { dsType = (Neusoft.HISFC.Models.Base.Spell)dsTypeList[j]; if (dsType.ID.ToString() == diagns.DiagInfo.DiagType.ID) { strDsType = dsType.Name; strDsTypeID = dsType.ID; break; } } //填入诊断医生姓名 for (int j = 0; j < drList.Count; j++) { emp = (Neusoft.HISFC.Models.Base.Employee)drList[j]; if (emp.ID.ToString() == diagns.DiagInfo.Doctor.ID) { strDrName = emp.Name; break; } } //是否主诊断 if (diagns.DiagInfo.IsMain) { mainFlag = "1"; } else { mainFlag = "0"; } ListViewItem item1 = listView1.Items.Add(""); item1.SubItems.Add(strDsType); // 诊断类型 item1.SubItems.Add(diagns.DiagInfo.ICD10.Name); // 诊断名称 item1.SubItems.Add(strDrName); // 诊断医师 item1.SubItems.Add(diagns.DiagInfo.DiagDate.ToShortDateString()); // 诊断时间 item1.SubItems.Add(""); // 状态? item1.SubItems.Add(diagns.DiagInfo.HappenNo.ToString()); // 发生序号 item1.SubItems.Add(diagns.OperType); // 操作类型 item1.SubItems.Add(diagns.DiagInfo.ICD10.ID); //ICD代码 item1.SubItems.Add(diagns.DiagInfo.User03); //ICD类别 'ICD10';'医保(市)';'医保(省)' item1.SubItems.Add(mainFlag); //MAIN_FLAG 是否主诊断1是0否 if (strDsTypeID == "1" && mainFlag == "1" && diagns.DiagInfo.User03 == "医保") { item1.ForeColor = Color.Red; } } } catch (Exception ex) { MessageBox.Show(Language.Msg("生成诊断信息列表出错!" + ex.Message)); this.listView1.Clear(); return; } }
/// <summary> /// 控件初始化 /// </summary> public void InitCtrl() { this.Clear(); this.imageList1.Images.Add(Neusoft.FrameWork.WinForms.Classes.Function.GetImage(Neusoft.FrameWork.WinForms.Classes.EnumImageList.R人员)); //麻醉方式combox try { this.cmbAnaeType.Items.Clear(); ArrayList alAnaeType = Environment.IntegrateManager.GetConstantList(EnumConstant.ANESTYPE); this.cmbAnaeType.AddItems(alAnaeType); } catch { } //麻醉效果combox try { this.cmbAnaeResult.Items.Clear(); ArrayList alAnaeResult = Environment.IntegrateManager.GetConstantList(EnumConstant.EFFECT); this.cmbAnaeResult.AddItems(alAnaeResult); } catch { } //入(PACU)室状态combox try { this.cmbInStatus.Items.Clear(); ArrayList alInStatus = Environment.IntegrateManager.GetConstantList(EnumConstant.PACUSTATUS); this.cmbInStatus.AddItems(alInStatus); } catch { } //出(PACU)室状态combox try { this.cmbOutStatus.Items.Clear(); ArrayList alOutStatus = Environment.IntegrateManager.GetConstantList(EnumConstant.PACUSTATUS); this.cmbOutStatus.AddItems(alOutStatus); } catch { } //镇痛方式 try { this.cmbDemuKind.Items.Clear(); ArrayList alDemuKind = Environment.IntegrateManager.GetConstantList(EnumConstant.DEMUKIND); this.cmbDemuKind.AddItems(alDemuKind); } catch { } //泵型 try { this.cmbDemuModel.Items.Clear(); ArrayList alDemuModel = Environment.IntegrateManager.GetConstantList(EnumConstant.DEMUMODEL); this.cmbDemuModel.AddItems(alDemuModel); } catch { } //镇痛效果combox try { this.cmbDemuResult.Items.Clear(); ArrayList alDemuResult = Environment.IntegrateManager.GetConstantList(EnumConstant.EFFECT); this.cmbDemuResult.AddItems(alDemuResult); } catch { } //一些标志Combox赋值 ArrayList alFlag = new ArrayList(); NeuObject obj = new NeuObject(); obj.ID = "1"; obj.Name = "是"; alFlag.Add(obj.Clone()); obj.ID = "0"; obj.Name = "否"; alFlag.Add(obj.Clone()); cmbCharge.AddItems((ArrayList)(alFlag.Clone())); //是否记帐 Neusoft.HISFC.BizProcess.Integrate.Manager managerMgr = new Neusoft.HISFC.BizProcess.Integrate.Manager(); Neusoft.HISFC.BizLogic.Operation.OpsTableManage opsTable = new Neusoft.HISFC.BizLogic.Operation.OpsTableManage(); Neusoft.HISFC.Models.Base.Employee objEmp = (Neusoft.HISFC.Models.Base.Employee)opsTable.Operator; //原来的 //txtPullOutOpcd.AddItems(managerMgr.QueryEmployeeByDeptID(objEmp.Dept.ID)); #region donggq--2010.10.04--{C5C20361-3B0F-4f36-AA28-D7861E9236D3} ArrayList alPullDoc = managerMgr.QueryEmployeeByDeptID("2600"); alPullDoc.AddRange(managerMgr.QueryEmployeeByDeptID("2603")); txtPullOutOpcd.AddItems(alPullDoc); #endregion //初始化麻醉科人员列表 //this.lvPersons.Dept = this.ParentForm.var.User.Dept.Clone(); //this.lvPersons.ShowDeptPerson(); //Neusoft.HISFC.Components.Common.Controls.l //this.UcCtrlEnabled(false); //this.lvPersons.DeptID = Environment.OperatorDeptID; //this.lvPersons.DeptID = "2600"; //this.lvPersons.DeptID = "2603"; }
public void InitControl() { currentOperator = (Neusoft.HISFC.Models.Base.Employee)opsTableMgr.Operator; //手术规模 ArrayList altype = Environment.IntegrateManager.GetConstantList(Neusoft.HISFC.Models.Base.EnumConstant.OPERATETYPE); if (altype == null) { altype = new ArrayList(); } this.cmbOpType.AddItems(altype); //if (altype.Count >= 3) //{ // this.cmbOpType.Tag = (altype[0] as NeuObject).ID; //} this.cmbOpType.IsListOnly = true; //手术分类 ArrayList alKind = Environment.IntegrateManager.GetConstantList("OPERATEKIND"); if (alKind == null) { alKind = new ArrayList(); } this.cmbOperKind.AddItems(alKind); //if (alKind.Count >= 3) //{ // this.cmbOperKind.Tag = (alKind[2] as NeuObject).ID; //} this.cmbOperKind.IsListOnly = true; //切口类型 ArrayList alInci = Environment.IntegrateManager.GetConstantList(Neusoft.HISFC.Models.Base.EnumConstant.INCITYPE); if (alInci == null) { alInci = new ArrayList(); } this.cmbIncityep.AddItems(alInci); //if (alInci.Count>= 3) //{ // this.cmbIncityep.Tag = (alInci[1] as NeuObject).ID; //} this.cmbIncityep.IsListOnly = true; //加载科室 ArrayList alDept = Environment.IntegrateManager.QueryDeptmentsInHos(true); if (alDept == null) { alDept = new ArrayList(); } this.comDept.AddItems(alDept); // ArrayList alDoc = Environment.IntegrateManager.QueryEmployee(Neusoft.HISFC.Models.Base.EnumEmployeeType.D); if (alDoc == null) { alDoc = new ArrayList(); } //医生术者 this.cmbDoctor.AddItems(alDoc); this.cmbDoctor.IsListOnly = true; //一助 this.cmbHelper1.AddItems(alDoc); this.cmbHelper1.IsListOnly = true; //二助 this.cmbHelper2.AddItems(alDoc); this.cmbHelper2.IsListOnly = true; //护士 ArrayList alNurse = Environment.IntegrateManager.QueryEmployee(Neusoft.HISFC.Models.Base.EnumEmployeeType.N, currentOperator.Dept.ID); if (alNurse == null) { alNurse = new ArrayList(); } //巡回1 this.cmbXH1.AddItems(alNurse); this.cmbXH1.IsListOnly = true; //巡回2 this.cmbXH2.AddItems(alNurse); this.cmbXH2.IsListOnly = true; //洗手1 this.cmbWash1.AddItems(alNurse); this.cmbWash1.IsListOnly = true; //洗手2 this.cmbWash2.AddItems(alNurse); this.cmbWash2.IsListOnly = true; }