コード例 #1
0
        void xapFormControl1_RefCanSelect(object sender, RefCanSelectEventArgs e)
        {
            if (e.BindingFieldName.Equals("Name_srv"))
            {
                RefData data   = e.SelectingData;
                string  strSrv = data["Name"] as string;

                //新增时候 参照写会
                EmsOrDrug drugNew = gv.GetFocusedRow().RowDataSource as EmsOrDrug;
                // string strSrv = data.FirstData["Name"].ToString();
                if (this.EmsHeadDO.Emsdrugs.EmsOrDrugList.Count > 1)
                {
                    foreach (EmsOrDrug drug in this.EmsHeadDO.Emsdrugs.EmsOrDrugList)
                    {
                        if (strSrv == drug.Name_srv)
                        {
                            e.Cancel  = true;
                            e.Message = strSrv + ": 已经添加";
                        }
                    }
                    //this.ShowInfo("存在相同的服务!");
                    //drugNew.Name_srv = null;
                    //drugNew.Id_srv = null;
                    //return;
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// 费用页签加载时,判断适应症和自费标识
        /// </summary>
        /// <param name="drug"></param>
        /// <param name="ordDrug"></param>
        /// <returns></returns>
        public static EmsOrDrug HandleEmsOrDrugHPInfo(EmsOrDrug drug)
        {
            //非医保或者保外诊断时
            CiEnContextDTO ciEnContextDTO = BaseEmsView.BaseEmsInfoContext["CiEnContextDTO"] as CiEnContextDTO;
            bool           isHpEnable     = false;

            //是否启用医保标志
            if (BaseEmsView.BaseEmsInfoContext.ContainsKey("isMedicalInsuranceEnable"))
            {
                isHpEnable = (bool)BaseEmsView.BaseEmsInfoContext["isMedicalInsuranceEnable"];
            }
            int opMedInsuranceAuditHandel = 99;

            if (BaseEmsView.BaseEmsInfoContext.ContainsKey("opMedInsuranceAuditHandel"))
            {
                opMedInsuranceAuditHandel = (int)BaseEmsView.BaseEmsInfoContext["opMedInsuranceAuditHandel"];
            }

            if (!string.IsNullOrEmpty(ciEnContextDTO.Id_hp) &&
                true == ciEnContextDTO.Fg_hpfundpay && HpBeyondEnum.HPDIAG.Equals(ciEnContextDTO.Eu_hpbeyond) /*保内诊断*/ && isHpEnable && opMedInsuranceAuditHandel == 0)
            {
            }
            else
            {
                drug.Fg_selfpay = true;  //自费
                drug.Fg_treat   = false; //非医保适应症
            }
            return(drug);
        }
コード例 #3
0
        /// <summary>
        /// 剂量单位和数值发生变化时重新设置quan_medu的值
        /// </summary>
        /// <param name="xComboBoxUnit"></param>
        /// <param name="drug"></param>
        protected void setQuanMedu(XComboBoxUnit xComboBoxUnit, EmsOrDrug drug)
        {
            int selectIndex = xComboBoxUnit.SelectIndex;

            /* if (selectIndex==0)//*/
            //控件的 xComboBoxUnit.SelectIndex的值有问题 改为xComboBoxUnit.ValueUnit来判断
            if (xComboBoxUnit.ValueUnit == drug.Name_unit_med)
            {
                if (drug.Quan_medu_virtual != null)
                {
                    drug.Quan_med = drug.Quan_medu_virtual;
                }
                else
                {
                    drug.Quan_med = null;
                }
            }
            else /* if (selectIndex == 1)//*/ //if (xComboBoxUnit.ValueUnit == drug.Name_unit_med)
            {
                if (drug.Quan_medu_virtual != null && drug.Factor_mb != null)
                {
                    drug.Quan_med = drug.Quan_medu_virtual * drug.Factor_mb;
                }
                else
                {
                    drug.Quan_med = null;
                }
            }
        }
コード例 #4
0
ファイル: EmsConsViewModel.cs プロジェクト: fhis/order.client
 protected override void HandleTotlePriceInfo(EmsOrDrug drug)
 {
     if (drug.Fg_or != null && drug.Fg_or == false &&
         drug.Fg_bl != null && drug.Fg_bl == true)
     {
         if (drug.Quan_cur == null || drug.Quan_cur == 0)
         {
             if (drug.Fg_mm != null && drug.Fg_mm == true)
             {
                 this.logicEx.GetDrugTotal(drug, null, this.GetEnt4BannerDTO().Code_entp, true);
             }
             else
             {
                 drug.Quan_cur = this.logicEx.getNotDrugTotal(drug.Quan_med.ToDouble(), drug.Id_freq, drug.Freqct.Value);
             }
         }
     }
     if (drug.Fg_or != null && drug.Fg_or.Value)
     {
         drug.Quan_cur = 1;
     }
     if (drug.Price != null && drug.Quan_cur != null)
     {
         drug.Totalprice = drug.Price * drug.Quan_cur;
     }
 }
コード例 #5
0
 private void mm_DoubleClickEvent(object sender, EventArgs e)
 {
     this.drugmm = sender as EmsOrDrug;
     mm.setFgSelfValue();
     this.DialogResult = DialogResult.OK;
     Invalidate();
 }
コード例 #6
0
 /// <summary>
 /// 更新用户自定义列单元格信息
 /// </summary>
 /// <param name="row"></param>
 /// <param name="drug"></param>
 void updateCustomerControlInfo(XDataRow row, EmsOrDrug drug)
 {
     if (drug == null)
     {
         return;
     }
     if (row != null && row.ColumnCellDict.ContainsKey("customercolumn_menu"))
     {
         if (drug.Quan_med == null)
         {
             drug.Quan_med = 0;
         }
         if (drug.Name_unit_med == null)
         {
             drug.Name_unit_med = "";
         }
         string strMed_unit = drug.Quan_med + drug.Name_unit_med;
         row.ColumnCellDict["customercolumn_menu"].SetValue(strMed_unit);
     }
     if (row != null && row.ColumnCellDict.ContainsKey("customercolumn_sale_unit"))
     {
         if (drug.Quan_cur == null)
         {
             drug.Quan_cur = 0;
         }
         if (drug.Name_unit_sale == null)
         {
             drug.Name_unit_sale = "";
         }
         string strMed_unit = drug.Quan_cur + drug.Name_unit_sale;
         row.ColumnCellDict["customercolumn_sale_unit"].SetValue(strMed_unit);
     }
 }
コード例 #7
0
ファイル: ExtMmRefView.cs プロジェクト: fhis/order.client
        //protected void OnGridView_RowSelectChanged(Object sender, XSelectedRowChangedEventArgs e)
        //{
        //    if (null != Event_SelectChanged)
        //    {
        //        this.setFgSelfValue();
        //        this.Event_SelectChanged(sender, e);
        //    }
        //}
        void xapFormControl_ModelFilled(object sender, EventArgs e)
        {
            if (this.emsordrug.Fg_self == true)
            {
                cr.Checked       = true;
                gridView.Enabled = false;
            }
            else
            {
                cr.Checked       = false;
                gridView.Enabled = true;
                warncard.Visible = false;

                //设置表格选中行
                EmsOrDrug focusDrug = this.mms.FirstOrDefault(p => p.Id_mm == this.emsordrug.Id_mm);
                if (focusDrug != null)
                {
                    XDataRow row = gridView.DataTable.GetRow(focusDrug);
                    row.Selected = true;
                    row.Focus();
                }
            }
            this.xapFormControl.DataChanged -= new EventHandler <DataChangedEventArgs>(xapFormControl_DataChanged);
            this.xapFormControl.DataChanged += new EventHandler <DataChangedEventArgs>(xapFormControl_DataChanged);
        }
コード例 #8
0
 protected void CalculateDeptMp(EmsOrDrug newDrug)
 {
     #region 计算执行科室
     // if (newDrug.Id_mp_dep == null || newDrug.Id_mp_dep.Length == 0)
     {
         //执行科室
         OrWfDeptInfoDTO wf = new GetDeptMpImp().GetDept_mp_ids(
             this.ent4BannerDTO.Code_entp,
             this.ent4BannerDTO.Id_entp,
             newDrug.Sd_srvtp,
             newDrug.Id_srvca,
             newDrug.Id_srv,
             newDrug.Id_route,
             "",
             this.ent4BannerDTO.Id_dep_nur,
             this.ent4BannerDTO.Id_dep_phy,
             GetOrdDeptMp());
         if (wf != null)
         {
             newDrug.Id_mp_dep   = wf.Firstid_mp_dept;
             newDrug.Name_mp_dep = wf.Firstname_mp_dept;
             newDrug.setAttrVal("str_id_mp_deps", wf.Id_mp_depts);
         }
     }
     #endregion
 }
コード例 #9
0
 public virtual void EmsDataChanged(object sender, xap.rui.engine.DictionaryEventArgs e)
 {
     if (e == null || e.Data == null)
     {
         return;
     }
     if (AssToolEx.ObjectOfEventArgs(e, "Fg_treat") != null)
     {
         var       obj     = AssToolEx.ObjectOfEventArgs(e, "Fg_treat");
         EmsOrDrug drug    = obj as EmsOrDrug;
         object    drugObj = this.tableDataSource.Select(p => p.Id_srv == drug.Id_srv);
         if (drugObj != null && drugObj is EmsOrDrug)
         {
             drug.Fg_treat         = (drugObj as EmsOrDrug).Fg_treat;
             drug.Fg_selfpay       = (drugObj as EmsOrDrug).Fg_selfpay;
             drug.Fg_hpindicjudged = (drugObj as EmsOrDrug).Fg_hpindicjudged;
         }
     }
     else if (AssToolEx.ObjectOfEventArgs(e, "Fg_selfpay") != null)
     {
         var       obj     = AssToolEx.ObjectOfEventArgs(e, "Fg_selfpay");
         EmsOrDrug drug    = obj as EmsOrDrug;
         object    drugObj = this.tableDataSource.Select(p => p.Id_srv == drug.Id_srv);
         if (drugObj != null && drugObj is EmsOrDrug)
         {
             drug.Fg_treat         = (drugObj as EmsOrDrug).Fg_treat;
             drug.Fg_selfpay       = (drugObj as EmsOrDrug).Fg_selfpay;
             drug.Fg_hpindicjudged = (drugObj as EmsOrDrug).Fg_hpindicjudged;
         }
     }
 }
コード例 #10
0
ファイル: EmsHerbsViewCard.cs プロジェクト: fhis/order.client
        private void showHpDialog(EmsOrDrug emsordrug)
        {
            BdHpIndicationDTO bdhpdto = emsordrug.BdHpIndicationDTO[0] as BdHpIndicationDTO;
            var  code_hpindicjudged   = bdhpdto.Code_hpindicjudged;
            bool?isDefault            = null;

            if (code_hpindicjudged == "12")
            {
                isDefault = emsordrug.Fg_treat;
            }
            using (BdHpIndicationDTOForm dialog = new BdHpIndicationDTOForm(emsordrug.Limit, emsordrug.Name_srv, isDefault))
            {
                DialogResult dialogResult = dialog.ShowDialog();
                if (dialogResult == DialogResult.OK)
                {
                    emsordrug.Fg_treat         = true;
                    emsordrug.Fg_selfpay       = false;
                    emsordrug.Fg_hpindicjudged = (int)HpIndicJudgeEnum.JUDGED;//0不需要判断,1待判断,2已判断;
                }
                else if (dialogResult == DialogResult.No)
                {
                    emsordrug.Fg_treat         = false;
                    emsordrug.Fg_selfpay       = true;
                    emsordrug.Fg_hpindicjudged = (int)HpIndicJudgeEnum.JUDGED;//0不需要判断,1待判断,2已判断
                }
            }
        }
コード例 #11
0
        /// <summary>
        /// 鼠标右键点击时触发合理用药
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected override void OnXapGridFormControl_MouseClick(object sender, System.Windows.Forms.MouseEventArgs e)
        {
            base.OnXapGridFormControl_MouseClick(sender, e);

            if (e.Button == System.Windows.Forms.MouseButtons.Right)
            {
                var row = sender as XDataRow;
                if (row != null)
                {
                    EmsOrDrug emsOrDrug = row.RowDataSource as EmsOrDrug;

                    Dictionary <string, string> mmDic = new Dictionary <string, string>();
                    //mmDic.Add(RationalDrugConstant.CODE_MM, emsOrDrug.Code_mm);
                    //mmDic.Add(RationalDrugConstant.NAME_MM, emsOrDrug.Name_mm);
                    //mmDic.Add(RationalDrugConstant.CODE_MM, "200002");
                    //mmDic.Add(RationalDrugConstant.NAME_MM, "头孢克洛");

                    RationalDrugView rationalDrug = RationalDrugViewFactory.GetInstance();
                    if (rationalDrug != null)
                    {
                        rationalDrug.ShowDrugInstruction(emsOrDrug.Code_mm, emsOrDrug.Name_mm);
                        //rationalDrug.ShowDrugInstruction("200002", "头孢克洛");
                    }
                }
            }
        }
コード例 #12
0
ファイル: EmsHerbsViewCard.cs プロジェクト: fhis/order.client
        public override void Cell_MouseClick(object sender)
        {
            var       row       = sender as XDataRow;
            EmsOrDrug emsordrug = row.DataSource as EmsOrDrug;

            if (emsordrug != null)
            {
                if (row.ClickCell.FieldName.Equals("Fg_treat"))
                {
                    FArrayList bdhpdtos = emsordrug.BdHpIndicationDTO;
                    if (bdhpdtos != null && bdhpdtos.Count > 0)
                    {
                        BdHpIndicationDTO bdhpdto            = bdhpdtos[0] as BdHpIndicationDTO;
                        string            code_hpindicjudged = bdhpdto.Code_hpindicjudged;
                        if (code_hpindicjudged != null)
                        {
                            switch (code_hpindicjudged)
                            {
                            case "12":
                            case "21":
                                showHpDialog(emsordrug);
                                break;
                            }
                        }
                    }
                }
            }
        }
コード例 #13
0
 /// <summary>
 /// 参照回写是自定义服务时的操作
 /// </summary>
 /// <param name="drugNew"></param>
 public void handleRefResultSrvIsFtmSrv(EmsOrDrug drugNew)
 {
     drugNew.Fg_mm   = false;
     drugNew.Fg_ctm  = true;
     drugNew.Fg_self = true;
     drugNew.Spec_mm = "";
     if (drugNew.Id_unit_med != null)
     {
         if (cacheUnitMed.ContainsKey(drugNew.Id_unit_med))
         {
             drugNew.Name_unit_med = cacheUnitMed[drugNew.Id_unit_med];
         }
         else
         {
             MeasDocDO meas = cof.getMeasDocDoById(drugNew.Id_unit_med);
             if (meas != null)
             {
                 drugNew.Name_unit_med = meas.Name;
             }
             cacheUnitMed.Add(drugNew.Id_unit_med, drugNew.Name_unit_med);
         }
     }
     cof.concateExtNote(new XapDataList <EmsOrDrug> {
         drugNew
     }, EmsHeadDO.PatInfo, EmsHeadDO);
     drugNew.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(item_PropertyChanged);
 }
コード例 #14
0
        private void xQOnRefFilter(object sender, RefActivatingEventArgs e)
        {
            if (e.BindingFieldName.Equals("Name_srv"))
            {
                e.WherePart = string.Format(" Sd_srvtp like '0103%'");
            }

            if (e.BindingFieldName.Equals("Name_mm"))
            {
                EmsOrDrug drugDo = gv.GetFocusedRow().RowDataSource as EmsOrDrug;
                if (drugDo.Id_srv == null)
                {
                    drugDo.Id_srv = "xxxx";
                }
                e.WherePart = string.Format("id_mm in ({0})", cof.GetSrvMmStr(this.EmsHeadDO, drugDo.Id_srv));
            }

            if (e.BindingFieldName.Equals("Name_dep"))
            {
                if (this.EmsHeadDO.Emsdrugs.Str_mp_dep_ids != null && this.EmsHeadDO.Emsdrugs.Str_mp_dep_ids != "")
                {
                    e.WherePart = string.Format(" id_dep in({0})", this.EmsHeadDO.Emsdrugs.Str_mp_dep_ids);
                }
                //e.RefParams.AddParam("Dep", this.EmsHeadDO.Emsdrugs.Str_mp_dep_ids);
            }

            //if (e.BindingFieldName.Equals("Total_count_unit"))//计量单位
            //{
            //    if (drug.Str_unit_pkg_ids != null && drug.Str_unit_pkg_ids != "")
            //        e.WherePart = string.Format("id_measdoc in ({0})", drug.Str_unit_pkg_ids);
            //    //e.RefParams.AddParam("Dis", drug.Str_unit_pkg_ids);
            //}
        }
コード例 #15
0
        public override CiEmsDTO Save2CiEmsDTO(bool forceUpdate)
        {
            EmsOrDrug ems = uiEmsDTO.Emsdrugs.EmsOrDrugList[0];

            this.uiEmsDTO.Emsdrugs.Id_srv         = ems.Id_srv;
            this.uiEmsDTO.Emsdrugs.Name_srv       = ems.Name_srv;
            this.uiEmsDTO.Emsdrugs.Quan_med       = ems.Quan_med;
            this.uiEmsDTO.Emsdrugs.Id_unit_med    = ems.Id_unit_med;
            this.uiEmsDTO.Emsdrugs.Id_freq        = ems.Id_freq;
            this.uiEmsDTO.Emsdrugs.Name_freq      = ems.Name_freq;
            this.uiEmsDTO.Emsdrugs.Sd_frequnitct  = ems.Sd_frequnitct;
            this.uiEmsDTO.Emsdrugs.Freqct         = ems.Freqct;
            this.uiEmsDTO.Emsdrugs.Use_days       = ems.Use_days;
            this.uiEmsDTO.Emsdrugs.Quan_cur       = ems.Quan_cur;
            this.uiEmsDTO.Emsdrugs.Id_unit_sale   = ems.Id_unit_sale;
            this.uiEmsDTO.Emsdrugs.Name_unit_sale = ems.Name_unit_sale;
            this.uiEmsDTO.Emsdrugs.Id_dep         = ems.Id_mp_dep;
            this.uiEmsDTO.Emsdrugs.Name_dep       = ems.Name_mp_dep;
            this.uiEmsDTO.Emsdrugs.Price          = ems.Price;
            this.uiEmsDTO.Emsdrugs.Totalprice     = ems.Totalprice.ToString();
            this.uiEmsDTO.Emsdrugs.Note_or        = ems.Note_or;
            this.uiEmsDTO.Emsdrugs.Fg_treat       = ems.Fg_treat;
            ciEmsDTO.Id_srv    = ems.Id_srv;
            ciEmsDTO.Fg_urgent = ems.Fg_urgent;
            ciEmsDTO.Times_cur = this.uiEmsDTO.Emsdrugs.Times_cur;
            CiEmsDTO ciemsDTO = base.Save2CiEmsDTO(forceUpdate); //

            ciemsDTO.Fg_urgent = ems.Fg_urgent;
            ciemsDTO.Times_cur = this.uiEmsDTO.Emsdrugs.Times_cur;//总的次数
            return(ciemsDTO);
        }
コード例 #16
0
ファイル: EmsLisViewModel.cs プロジェクト: fhis/order.client
 /////////添加检验、检查、诊疗多剂量多次执行,杨敬本20171111
 public override void OnDataChanged(Object ds, string fieldName, string value)
 {
     if (fieldName.Equals("Use_days") ||
         fieldName.Equals("customercolumn_med_unit") ||
         fieldName.Equals("customercolumn_sale_unit"))
     {
         EmsOrDrug itemDrug = ds as EmsOrDrug;
         if (itemDrug != null && itemDrug.Quan_med != null && itemDrug.Id_freq != null && itemDrug.Freqct != null && itemDrug.Use_days != null)
         {
             itemDrug.Quan_cur   = this.logicEx.getNotDrugTotal(itemDrug.Quan_med.ToDouble(), itemDrug.Id_freq, itemDrug.Freqct.Value, itemDrug.Use_days.Value);
             itemDrug.Totalprice = itemDrug.Price * itemDrug.Quan_cur;
         }
     }
     else if (fieldName.Equals("Dt_plan"))
     {
         this.uiEmsDTO.Emsaplab.Dt_begin_ui = this.uiEmsDTO.Emsaplab.Dt_plan;
         if (this.uiEmsDTO.Emsaplab.Dt_begin_ui == null)
         {
             this.uiEmsDTO.Emsaplab.Dt_end_ui = this.uiEmsDTO.Emsaplab.Dt_begin_ui;
         }
         else
         {
             this.uiEmsDTO.Emsaplab.Dt_end_ui = ((DateTime)this.uiEmsDTO.Emsaplab.Dt_begin_ui).AddDays((int)this.uiEmsDTO.Emsaplab.Use_days);
         }
     }
 }
コード例 #17
0
ファイル: OpOrderHerbsView.cs プロジェクト: fhis/order.client
        }//频次

        protected override void OnRefResult(object sender, RefResultEventArgs e)
        {
            RefDataCollection data = e.RefResultSet;

            if (e.BindingFieldName == "Name_freq")
            {
                if (data.IsEmpty)
                {
                    EmsHeadDO.Emsdrugs.Sd_frequnitct = null;
                    EmsHeadDO.Emsdrugs.Id_freq       = null;
                    EmsHeadDO.Emsdrugs.Freqct        = null;
                    return;
                }
                string id_freq = data.FirstData["Id_freq"] as string;//获取字段值
                EmsHeadDO.Emsdrugs.Sd_frequnitct = data.FirstData["Sd_frequnitct"] as string;
                EmsHeadDO.Emsdrugs.Freqct        = null;
                this.setTime_cur();
                setQauntum(this.EmsHeadDO.Emsdrugs.Orders);
            }
            if (e.BindingFieldName.Equals("Name_srv"))
            {
                //新增时候 参照写会
                EmsOrDrug drugNew = gv.GetFocusedRow().RowDataSource as EmsOrDrug;
                if (e.RefResultSet.IsEmpty)
                {
                    drugNew.Id_srv         = "";
                    drugNew.Name_srv       = "";
                    drugNew.Spec_mm        = "";
                    drugNew.Quan_med       = null;
                    drugNew.Name_unit_med  = "";
                    drugNew.Quan_cur       = null;
                    drugNew.Name_unit_sale = "";
                    drugNew.Note_ext       = "";
                    drugNew.Name_mm        = "";
                    drugNew.Name_boildes   = "";
                    return;
                }
                string strSrv = data.FirstData["Name"].ToString();
                if (EmsHeadDO.Emsdrugs.EmsOrDrugList.Count(p => p.Name_srv == strSrv) > 1)
                {
                    this.ShowInfo("存在相同的服务!");
                    drugNew.Name_srv = null;
                    drugNew.Id_srv   = null;
                    return;
                }
                drugNew.Quan_med = double.Parse(data.FirstData["Quan_med"].ToString());
                XapDataList <EmsOrDrug> drugs = cof.GetSrvMm(EmsHeadDO, drugNew.Id_srv, EmsHeadDO.PatInfo.Code_entp);
                if (drugs.Count > 0)
                {
                    EmsOrDrug drugRef = drugs.FirstOrDefault();
                    cof.CopyTo(drugRef, drugNew, "Id_srv", "Name_srv");
                    cof.concateExtNote(new XapDataList <EmsOrDrug>()
                    {
                        drugNew
                    }, EmsHeadDO.PatInfo, EmsHeadDO);
                }
                this.setTime_cur();
                setQauntum(this.EmsHeadDO.Emsdrugs.Orders);
            }
        }
コード例 #18
0
ファイル: EmsLisViewModel.cs プロジェクト: fhis/order.client
 public void ReCalcPriceInfo(EmsOrDrug risDrug)
 {
     if (risDrug != null)
     {
         risDrug.Price = this.logicEx.getSrvNotMMPri(this.uiEmsDTO.MedSrvDO, getSelectedObsLap(), GetEnt4BannerDTO().Id_pripat);
     }
 }
コード例 #19
0
 /// <summary>
 /// Drugs 表单药品剂量数据写到药品do
 /// </summary>
 /// Author:admin
 /// Date:2015-10-21
 private void DrugWriteData()
 {
     if (EmsHeadDO.Emsdrugs.EmsOrDrugList.Count == 0)
     {
         return;
     }
     if (drug != null)
     {
         drug = EmsHeadDO.Emsdrugs.EmsOrDrugList[0];
     }
     drug.Id_pgku_cur = drug.Id_unit_sale;
     return;
     //orDrug.Name_mm = EmsHeadDO.Emsdrugs.Name_mm;//药品名称
     //orDrug.Spec_mm = EmsHeadDO.Emsdrugs.Spec_mm;//规格
     //orDrug.Name_heath = EmsHeadDO.Emsdrugs.Name_heath;//医保类型
     //orDrug.Limit = EmsHeadDO.Emsdrugs.Limit;//限制报销条件
     //orDrug.Price = EmsHeadDO.Emsdrugs.Price;//参考价格
     //if (EmsHeadDO.Emsdrugs.Total_count != null)
     //    orDrug.Quan_cur = (int)EmsHeadDO.Emsdrugs.Total_count;//总量
     //orDrug.Id_unit_base = EmsHeadDO.Emsdrugs.Id_unit_base;
     //orDrug.Name_unit_base = EmsHeadDO.Emsdrugs.Name_unit_base;
     //orDrug.Id_unit_med = EmsHeadDO.Emsdrugs.Id_unit_med;
     //orDrug.Name_unit_med = EmsHeadDO.Emsdrugs.Name_unit_med;
     //orDrug.Id_pgku_cur = EmsHeadDO.Emsdrugs.Id_total_count_unit;//基本包装单位,如:片
     //orDrug.Name_pgku_cur = EmsHeadDO.Emsdrugs.Total_count_unit;
     //if (EmsHeadDO.Emsdrugs.Id_total_count_unit == null)
     //{
     //    //orDrug.Id_pgku_cur =  EmsHeadDO.Emsdrugs.Id_unit_med ;
     //    //orDrug.Name_pgku_cur = EmsHeadDO.Emsdrugs.Name_unit_base;
     //}
     ////if (EmsHeadDO.Emsdrugs.Quan_base != null)
     //    //orDrug.Quan_base = EmsHeadDO.Emsdrugs.Quan_base;
     //orDrug.Quan_med = EmsHeadDO.Emsdrugs.Quan_med;
 }
コード例 #20
0
        public override void DeleteItemData(object value)
        {
            XapDataList <EmsOrDrug> itemList = this.GetTableDataSource() as XapDataList <EmsOrDrug>;

            if (itemList.Count(p => !p.IsDELETED) > 0)
            {
                EmsOrDrug item = value as EmsOrDrug;
                itemList.Delete(item, item.IsNEW);
            }

            // 如果模型中数据列表为空,则新建一个空数据
            if (GetCountWithOutDelete() == 0)
            {
                SetSelectedObject(AddNew());
                this.uiEmsDTO.Emsdrugs.Fg_self       = null;
                this.uiEmsDTO.Emsdrugs.Fg_selfpay    = null;
                this.uiEmsDTO.Emsdrugs.Fg_treat      = null;
                this.uiEmsDTO.Emsdrugs.Fg_propc      = null;
                this.uiEmsDTO.Emsdrugs.Fg_mp_in      = null;
                this.uiEmsDTO.Emsdrugs.Id_routedes   = null;
                this.uiEmsDTO.Emsdrugs.Name_routedes = null;
                this.uiEmsDTO.Emsdrugs.Note_or       = null;
            }
            // 当前选中对象为最后一个可显示的有效数据
            else
            {
                SetSelectedObject(itemList.LastOrDefault(p => !p.IsDELETED));
            }
        }
コード例 #21
0
 /// <summary>
 /// 处理费用数据相关信息(总量单位、总量、总价)
 /// </summary>
 /// <param name="drug"></param>
 protected virtual void HandleUnitInfo(EmsOrDrug drug)
 {
     if (drug.Fg_or != null && drug.Fg_or == false &&
         drug.Fg_bl != null && drug.Fg_bl == true)
     {
         if (drug.Id_unit_sale == null)
         {
             drug.Id_unit_sale   = drug.Id_unit_med;
             drug.Name_unit_sale = drug.Name_unit_med;
         }
         if (drug.Quan_cur == null || drug.Quan_cur == 0)
         {
             if (drug.Fg_mm != null && drug.Fg_mm == true)
             {
                 this.logicEx.GetDrugTotal(drug, null, this.GetEnt4BannerDTO().Code_entp, true);
             }
             else
             {
                 drug.Quan_cur = logicEx.getNotDrugTotal(drug.Quan_med.ToDouble(), drug.Id_freq, drug.Freqct == null ? 1 : drug.Freqct.Value);
             }
         }
     }
     if (drug.Price != null && drug.Quan_cur != null)
     {
         drug.Totalprice = drug.Price * drug.Quan_cur;
     }
 }
コード例 #22
0
        /// <summary>
        /// 医疗单中医保数据变化时,需要同步到费用页签中
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void EmsHpDataChangedForMappingExpensView(object sender, DictionaryEventArgs e)
        {
            EmsOrDrug drug = null;

            if (AssToolEx.ObjectOfEventArgs(e, "Fg_treat") != null)
            {
                var obj = AssToolEx.ObjectOfEventArgs(e, "Fg_treat");
                if (obj != null)
                {
                    drug = obj as EmsOrDrug;
                }
            }
            else if (AssToolEx.ObjectOfEventArgs(e, "Fg_selfpay") != null)
            {
                var obj = AssToolEx.ObjectOfEventArgs(e, "Fg_selfpay");
                if (obj != null)
                {
                    drug = obj as EmsOrDrug;
                }
            }
            if (drug != null)
            {
                this.GetExpenseDatasource().ForEach(p =>
                {
                    if (p.Id_srv == drug.Id_srv)
                    {
                        p.Fg_selfpay       = drug.Fg_selfpay;
                        p.Fg_treat         = drug.Fg_treat;
                        p.Fg_hpindicjudged = drug.Fg_hpindicjudged;
                    }
                });
            }
        }
コード例 #23
0
 void saveButton_MouseClick(object sender, MouseEventArgs e)
 {
     this.drugmm = mm.xapFormControl.GetSelected <EmsOrDrug>().FirstOrDefault();;
     mm.setFgSelfValue();
     DialogResult = DialogResult.OK;
     Invalidate();
 }
コード例 #24
0
ファイル: OrdExpenseView.cs プロジェクト: fhis/order.client
        protected override void OnXapFormControl_AllowEditing(object sender, AllowEditingEventArgs e)
        {
            EmsOrDrug dataSource = e.Object as EmsOrDrug;

            if (!this.enableEdit)
            {
                e.Cancel = true;
                return;
            }

            // 费用描述字段不能编辑
            if (e.PropName.Equals("Des"))
            {
                e.Cancel = true;

                return;
            }
            // 如果频次为 Once ,禁止修改总量 -- 取消总量限制修改
            if ((e.PropName.Equals("Use_days") /*|| e.PropName.Equals("customercolumn_sale_unit")*/) && BdSrvDictCodeConst.SD_FREQUNIT_ONCE.Equals(dataSource.Sd_frequnitct))
            {
                e.Cancel = true;
            }
            else
            {
                e.Cancel = DisableEditHP(e.PropName, dataSource, DisableEditSrv(dataSource));
            }
        }
コード例 #25
0
        public override bool OnRefResultData(string fieldName, Object ds)
        {
            if (fieldName.Equals("Name_boil") || fieldName.Equals("Name_freq") ||
                fieldName.Equals("Name_route") || fieldName.Equals("Name_routedes"))
            {
                EmsOrDrug drug = this.uiEmsDTO.Emsdrugs.EmsOrDrug[0];
                if (drug.Quan_med != null && this.uiEmsDTO.Emsdrugs.Orders != null)
                {
                    this.HandleOrderTimes();
                    this.setQauntum(this.uiEmsDTO.Emsdrugs.Orders);
                    //this.logicEx.GetDrugTotal(drug, this.uiEmsDTO.Emsdrugs.Orders.Value, this.GetEnt4BannerDTO().Code_entp);
                }
                // 计算 明细总金额
                drug.Totalprice = (drug.Quan_cur == null?0:drug.Quan_cur) * (drug.Price == null?0:drug.Price);

                foreach (EmsOrDrug d in this.uiEmsDTO.Emsdrugs.EmsOrDrugList)
                {
                    d.Sd_frequnitct = this.uiEmsDTO.Emsdrugs.Sd_frequnitct;
                }
                // 规格化备注
                //this.uiEmsDTO.Emsdrugs.Note_or = string.Format("每日{0}付,{1}至400ml,{2},{3}{4}", 1, this.uiEmsDTO.Emsdrugs.Name_boil, this.uiEmsDTO.Emsdrugs.Name_freq, this.uiEmsDTO.Emsdrugs.Name_routedes, this.uiEmsDTO.Emsdrugs.Name_route)
                //.Replace(",,", ",");
                bool fg_edited = (bool)ds;
                if (!fg_edited)
                {
                    logicEx.SetNoteOr(this.uiEmsDTO);
                }
                return(true);
            }

            return(false);
        }
コード例 #26
0
ファイル: OrdExpenseView.cs プロジェクト: fhis/order.client
 /// <summary>
 /// 允许编辑医保列
 /// </summary>
 /// <param name="o"></param>
 /// <returns></returns>
 private Boolean DisableEditHP(string propName, EmsOrDrug dataSource, bool def)
 {
     if (propName.Equals("Fg_selfpay"))
     {
         FArrayList bdhpdtos = dataSource.BdHpIndicationDTO;
         if (bdhpdtos == null)
         {
             bdhpdtos = new FArrayList();
             BdHpIndicationDTO dto = HpJudgeUtil.getInstance().getBdHpIndicationDTO(dataSource.Id_srv, dataSource.Id_mm, this.GetModel().getEnt4BannerDTO());
             if (dto != null)
             {
                 bdhpdtos.Add(dto);
             }
             dataSource.BdHpIndicationDTO = bdhpdtos;
         }
         //药品可以编辑
         if (hpCanEdit())
         {
             //符合医保判断条件,并且医保使用症为true的时候才可以操作
             if (dataSource.BdHpIndicationDTO == null || dataSource.BdHpIndicationDTO.Count == 0 || string.IsNullOrEmpty((dataSource.BdHpIndicationDTO[0] as BdHpIndicationDTO).Code_hpindicjudged))
             {
                 return(true);
             }
             else
             {
                 return(dataSource.Fg_treat == null ? true : !(bool)dataSource.Fg_treat);
             }
         }
         else
         {
             return(true);
         }
     }
     return(def);
 }
コード例 #27
0
ファイル: OpOrderApobsView.cs プロジェクト: fhis/order.client
        void btnDel_MouseClick(object sender, MouseEventArgs e)
        {
            EmsOrDrug orDrug = gv_drug.GetFocusedRow().RowDataSource as EmsOrDrug;

            CiHeadDo.Emsapobs.EmsOrDrugList.Remove(orDrug);
            // this.ShowInfo("删除");
        }
コード例 #28
0
ファイル: OrdExpenseView.cs プロジェクト: fhis/order.client
 void UpdateCustomerControlInfo(XDataRow row, EmsOrDrug drug)
 {
     if (row != null && row.ColumnCellDict.ContainsKey("customercolumn_med_unit"))
     {
         if (drug.Quan_med == null)
         {
             drug.Quan_med = 0;
         }
         if (drug.Name_unit_med == null)
         {
             drug.Name_unit_med = "";
         }
         string strMed_unit = drug.Quan_med + drug.Name_unit_med;
         row.ColumnCellDict["customercolumn_med_unit"].SetValue(strMed_unit);
         row.ColumnCellDict["customercolumn_med_unit"].HasError  = drug.Quan_med == 0;
         row.ColumnCellDict["customercolumn_med_unit"].ErrorText = drug.Quan_med == 0 ? "数值不能为 0" : null;
     }
     if (row != null && row.ColumnCellDict.ContainsKey("customercolumn_sale_unit"))
     {
         if (drug.Quan_cur == null)
         {
             drug.Quan_cur = 0;
         }
         if (drug.Name_unit_sale == null)
         {
             drug.Name_unit_sale = "";
         }
         string strMed_unit = drug.Quan_cur + drug.Name_unit_sale;
         row.ColumnCellDict["customercolumn_sale_unit"].SetValue(strMed_unit);
         row.ColumnCellDict["customercolumn_sale_unit"].HasError  = drug.Quan_cur == 0;
         row.ColumnCellDict["customercolumn_sale_unit"].ErrorText = drug.Quan_cur == 0 ? "数值不能为 0" : null;
     }
 }
コード例 #29
0
        protected override void editorWillAppear(object rowDataSource, XBaseUserRender ctrl)
        {
            EmsOrDrug drug = rowDataSource as EmsOrDrug;

            if (null != drug)
            {
                XComboBoxUnit xComboBoxUnit = ctrl as XComboBoxUnit;
                string        sd_mmbind_op  = drug.Sd_mmbind_op;
                //开立绑定可以编辑
                xComboBoxUnit.UnitIsEnable = (!string.IsNullOrEmpty(sd_mmbind_op) && sd_mmbind_op.Equals("0")) ? true : false;
                //if (xComboBoxUnit.ValueUnit.Length > 0)
                //{
                Dictionary <object, string> items = new Dictionary <object, string>();
                items.Add(drug.Id_unit_med + "," + "1", drug.Name_unit_med);
                if (drug.Id_unit_base != null && !drug.Id_unit_base.Equals(drug.Id_unit_med))
                {
                    items.Add(drug.Id_unit_base + "," + drug.Factor_mb, drug.Name_unit_base);
                }

                xComboBoxUnit.DataSource = items;
                //}
                xComboBoxUnit.ValueText = (drug.Quan_medu_virtual == null ? null : drug.Quan_medu_virtual.ToString());
                xComboBoxUnit.ValueUnit = (drug.Name_unit_medu_virtual == null ? "" : drug.Name_unit_medu_virtual);
                // 自定义控件需要传递编辑完成后该列的错误信息
                setColumnForeColor(drug, ctrl);
            }
        }
コード例 #30
0
 public void ReCalcPriceInfo(EmsOrDrug risDrug)
 {
     if (risDrug != null)
     {
         this.DefaultPriceInfo(risDrug);
     }
 }