/// <summary> /// 新增一行 /// </summary> private MED_ANES_VALUATION_LIST AddNewInfo(MED_CHARGE_VS_EVENT charge, int method) { MED_ANES_VALUATION_LIST newRow; if (charge != null) { MED_ANES_VALUATION_LIST valuation = null; if (valuationList.Count > 0) { valuation = valuationList.Where(x => x.ITEM_CODE == charge.ITEM_CODE && x.ITEM_CLASS == charge.ITEM_CALSS).FirstOrDefault(); } if (valuation == null) { valuation = new MED_ANES_VALUATION_LIST(); valuation.PATIENT_ID = _patientID; valuation.VISIT_ID = _visitID; valuation.OPER_ID = _operID; valuation.VALUATION_NO = valuationList.Count + 1; valuation.ITEM_CLASS = charge.ITEM_CALSS; valuation.ITEM_CODE = charge.ITEM_CODE; valuation.ITEM_NAME = charge.ITEM_NAME; valuation.ITEM_CLASS_NAME = charge.ITEM_CLASS_NAME; valuation.ITEM_SPEC = charge.ITEM_SPEC; valuation.DOSAGE = charge.DOSAGE; valuation.AMOUNT = charge.AMOUNT; valuation.UNITS = charge.UNITS; valuation.AMOUNT = 1; valuation.STATUS = 0; valuation.METHOD = method; valuation.TECHNICIAN = ExtendAppContext.Current.LoginUser.USER_JOB_ID; valuation.ORDERED_BY = ExtendAppContext.Current.LoginUser.USER_DEPT_CODE; valuation.BILLING_DATE_TIME = DateTime.Now; newRow = valuation; } else { newRow = null; } } else { newRow = new MED_ANES_VALUATION_LIST(); newRow.PATIENT_ID = _patientID; newRow.VISIT_ID = _visitID; newRow.OPER_ID = _operID; newRow.VALUATION_NO = valuationList.Count + 1; newRow.ITEM_CLASS = ""; newRow.ITEM_CODE = ""; newRow.STATUS = 0; newRow.AMOUNT = 1; newRow.METHOD = method; newRow.TECHNICIAN = ExtendAppContext.Current.LoginUser.USER_JOB_ID; newRow.ORDERED_BY = ExtendAppContext.Current.LoginUser.USER_DEPT_CODE; newRow.BILLING_DATE_TIME = DateTime.Now; } return(newRow); }
/// <summary> /// 加在行设置行背景色以及是否可修改 /// </summary> private void dataGrid_LoadingRow(object sender, DataGridRowEventArgs e) { MED_ANES_VALUATION_LIST row = (MED_ANES_VALUATION_LIST)(e.Row.Item); if (row != null && row.STATUS.HasValue && (row.STATUS == 1 || row.STATUS == 2)) { e.Row.IsEnabled = false; e.Row.Background = Brushes.Gainsboro; } }
/// <summary> /// 更新事件表数据 /// </summary> /// private void UpdateAnesEventInfo() { chargeList = ChargeInfoService.ClientInstance.GetChargeEventInfo(_patientID, _visitID, _operID); foreach (MED_CHARGE_VS_EVENT charge in chargeList) { MED_ANES_VALUATION_LIST valuation = AddNewInfo(charge, 1); if (valuation != null) { valuationList.Add(valuation); tmpValuationList.Add(valuation); } } ValuationList = valuationList; }
private void BtnSubmit_Click(object sender, RoutedEventArgs e) { anesFreeViewModel.SubmitCommon.Execute(""); for (int i = 0; i < dataGrid.Items.Count; i++) { DataGridRow gridRow = (DataGridRow)dataGrid.ItemContainerGenerator.ContainerFromIndex(i); if (gridRow != null) { MED_ANES_VALUATION_LIST row = (MED_ANES_VALUATION_LIST)(gridRow.Item); if (row != null && row.STATUS.HasValue && row.STATUS == 1) { gridRow.IsEnabled = false; gridRow.Background = Brushes.Gainsboro; } } } }
/// <summary> /// 注册命令信息 /// </summary> private void RegisterCommand() { // 更新命令:将现有的数据直接清空,根据患者用药信息自动获取最新的数据 this.RefreshCommon = new RelayCommand <object>(par => { UpdateAnesEventInfo(); }); // 新增命令:再最后一行新增数据行 this.InsertCommon = new RelayCommand <object>(par => { MED_ANES_VALUATION_LIST valuation = AddNewInfo(null, 3); if (valuation != null) { IsAddEnabled = true; valuationList.Add(valuation); tmpValuationList.Add(valuation); } }); // 套用模板:左侧显示模板列表,确认模板后将模板数据追加到计费列表后 this.UserTemplateCommon = new RelayCommand <object>(par => { var message = new ShowContentWindowMessage("ChargeTempletControl", "收费模板"); message.Height = 800; message.Width = 700; message.CallBackCommand = CallChatgeTemplet; Messenger.Default.Send <ShowContentWindowMessage>(message); }); // 保存模板 this.SaveTemplateCommon = new RelayCommand <object>(par => { var message = new ShowContentWindowMessage("ChargeTemplateMethodControl", "收费模板名称"); message.Height = 220; message.Width = 500; message.CallBackCommand = CallSaveTemplet; Messenger.Default.Send <ShowContentWindowMessage>(message); }); //删除行命令 this.DeleteItemClickCommon = new RelayCommand <MED_ANES_VALUATION_LIST>(data => { if (null != data) { if (data.ModelStatus != ModelStatus.Add) { data.ModelStatus = ModelStatus.Deleted; ValuationList.Remove(data); } else { data.ModelStatus = ModelStatus.Deleted; tmpValuationList.Remove(data); ValuationList.Remove(data); } } }); // 保存命令:将现有数据保存到数据库 this.SaveCommon = new RelayCommand <object>(par => { bool con = true; foreach (MED_ANES_VALUATION_LIST row in tmpValuationList) { if (row.ModelStatus != ModelStatus.Deleted) { if (string.IsNullOrEmpty(row.ITEM_CLASS) || string.IsNullOrEmpty(row.ITEM_NAME) || !row.AMOUNT.HasValue) { ShowMessageBox("类别、项目名称、数量不能为空", MessageBoxButton.OK, MessageBoxImage.Information); con = false; break; } } } if (con) { bool result = ChargeInfoService.ClientInstance.SaveValuationList(new List <MED_ANES_VALUATION_LIST>(tmpValuationList)); if (result) { ShowMessageBox("保存成功", MessageBoxButton.OK, MessageBoxImage.Information); } foreach (var item in tmpValuationList) { if (item.ModelStatus != ModelStatus.Deleted) { item.ModelStatus = ModelStatus.Default; } } } }); // 提交命令:将现有数据提交,提交后的数据不能更改。提交前弹出确认框,再录入用户名和密码验证成功后才可提交 this.SubmitCommon = new RelayCommand <object>(par => { bool result = true; List <MED_ANES_VALUATION_LIST> anesList = new List <MED_ANES_VALUATION_LIST>(ValuationList); foreach (MED_ANES_VALUATION_LIST anes in anesList) { if (anes.ModelStatus != ModelStatus.Deleted) { if (string.IsNullOrEmpty(anes.ITEM_CLASS) || string.IsNullOrEmpty(anes.ITEM_NAME)) { ShowMessageBox("类别、项目名称、数量不能为空", MessageBoxButton.OK, MessageBoxImage.Information); result = false; break; } if (!anes.AMOUNT.HasValue) { result = false; ShowMessageBox(anes.ITEM_NAME + "的数量不能为空,请填写数量。", MessageBoxButton.OK, MessageBoxImage.Information); break; } } } if (result) { var message = new ShowContentWindowMessage("ChargeSubmitControl", "确认提交"); message.Height = 400; message.Width = 400; message.CallBackCommand = CallSubmit; Messenger.Default.Send <ShowContentWindowMessage>(message); } }); }