Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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;
            }
        }
Ejemplo n.º 3
0
        /// <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;
        }
Ejemplo n.º 4
0
 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;
             }
         }
     }
 }
Ejemplo n.º 5
0
        /// <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);
                }
            });
        }