/// <summary>
        /// 获得所有的子节点中的医嘱模板的id
        /// </summary>
        /// <param name="tmpl"></param>
        /// <returns></returns>
        public FArrayList getAllChildOrTmplDTO(OrTmplDTO tmpl, string sd_ortmpltp)
        {
            FArrayList modelList = new FArrayList();

            if (tmpl.OrtmplType == "1")
            {
                modelList.Add(tmpl.Id_ortmpl.Substring(0, tmpl.Id_ortmpl.Length - 1));
            }
            if (this.mapTree != null)
            {
                FArrayList hospitalList = mapTree[BdSrvDictCodeConst.SD_OWTP_HOSPIAL_ID] as FArrayList;
                foreach (OrTmplDTO dto in hospitalList)
                {
                    if (dto.Id_ortmplca == tmpl.Id_ortmpl && dto.Sd_ortmpltp == sd_ortmpltp)
                    {
                        if (dto.OrtmplType == "1")
                        {
                            modelList.Add(dto.Id_ortmpl.Substring(0, dto.Id_ortmpl.Length - 1));
                        }
                        modelList.AddRange(getAllChildOrTmplDTO(dto, sd_ortmpltp));
                    }
                }
            }
            return(modelList);
        }
Exemple #2
0
 /// <summary>
 /// 允许编辑医保列
 /// </summary>
 /// <param name="o"></param>
 /// <returns></returns>
 private Boolean DisableEditHP(string propName, CiOrdFeeSrvDTO dataSource, bool def)
 {
     if (propName.Equals("Fg_selfpay"))
     {
         FArrayList bdhpdtos = dataSource.BdHpIndicationList;
         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.BdHpIndicationList = bdhpdtos;
         }
         //符合医保判断条件,并且医保使用症为true的时候才可以操作
         if (CanEditHp() && dataSource.BdHpIndicationList == null || dataSource.BdHpIndicationList.Count == 0 || string.IsNullOrEmpty((dataSource.BdHpIndicationList[0] as BdHpIndicationDTO).Code_hpindicjudged))
         {
             return(true);
         }
         else
         {
             return(dataSource.Fg_indic == null ? true : !(bool)dataSource.Fg_indic);
         }
     }
     return(def);
 }
Exemple #3
0
        public virtual ExpenseModel LoadEmsOrDrug(EmsOrDrug newDrug)
        {
            // if (nCurrentSelIndex >= 0 && nCurrentSelIndex < tableDataSource.Count(p=>!p.IsDELETED))
            {
                // 填充默认值
                newDrug.Use_days       = 1;
                newDrug.Id_unit_sale   = newDrug.Id_unit_med;
                newDrug.Name_unit_sale = newDrug.Name_unit_med;
                newDrug.Fg_or          = false;
                newDrug.Fg_bl          = true;
                newDrug.Eu_sourcemd    = (int)OrSrvSourceFromEnum.PHYSIANFEEADD;
                #region 计算总量和价格
                newDrug.Quan_cur = this.GetLogicEx().getNotDrugTotal(
                    newDrug.Quan_med.ToDouble(),
                    newDrug.Id_freq,
                    newDrug.Freqct == null ? 1 : newDrug.Freqct.Value,
                    newDrug.Use_days == null ? 1 : newDrug.Use_days.Value);

                newDrug.Price      = this.GetLogicEx().getSrvNotMMPri(newDrug.Id_srv, newDrug.Id_pri);
                newDrug.Totalprice = newDrug.Price * newDrug.Quan_cur;
                #endregion
                FArrayList list = new FArrayList();
                //判断是否是保外诊断
                CiEnContextDTO ciEnContextDTO = BaseEmsView.BaseEmsInfoContext["CiEnContextDTO"] as CiEnContextDTO;
                //保外诊断标识
                string eu_hpbeyond = ciEnContextDTO.Eu_hpbeyond;

                if (ent4BannerDTO != null && true == ent4BannerDTO.Fg_hpfundpay && HpBeyondEnum.HPDIAG.Equals(ciEnContextDTO.Eu_hpbeyond) /*保内诊断*/)
                {
                    BdHpIndicationDTO bdhpindication = HpJudgeUtil.getInstance().getBdHpIndicationDTO(newDrug.Id_srv, newDrug.Id_mm, this.ent4BannerDTO);
                    if (bdhpindication != null)
                    {
                        newDrug.Fg_treat   = bdhpindication.Fg_indic;
                        newDrug.Id_hp      = bdhpindication.Id_hp;
                        newDrug.Sd_hpsrvtp = bdhpindication.Sd_hpsrvtp;
                        newDrug.Id_hpsrvtp = bdhpindication.Id_hpsrvtp;
                        if (string.IsNullOrEmpty(bdhpindication.Id_hpsrvtp))
                        {
                            newDrug.Id_hpsrvtp = HpJudgeUtil.IdHpSrvtpFromSdHpSrvtp(bdhpindication.Sd_hpsrvtp);
                        }
                        newDrug.Name_hpsrvtp     = HpJudgeUtil.NameHpSrvtpFromSdHpSrvtp(bdhpindication.Sd_hpsrvtp);
                        newDrug.Fg_selfpay       = HpJudgeUtil.getInstance().isSelfPay(bdhpindication);
                        newDrug.Fg_hpindicjudged = HpJudgeUtil.getInstance().getFg_hpindicjudged(bdhpindication);
                        list.Add(bdhpindication);
                    }
                }
                else if (ciEnContextDTO.Fg_hpfundpay == null || !(bool)ciEnContextDTO.Fg_hpfundpay || (ciEnContextDTO.Eu_hpbeyond != null && !ciEnContextDTO.Eu_hpbeyond.Equals(HpBeyondEnum.HPDIAG)))
                {
                    newDrug.Fg_treat   = false;
                    newDrug.Fg_selfpay = true;
                }
                newDrug.BdHpIndicationDTO = list;
                #region 计算执行科室
                CalculateDeptMp(newDrug);
                #endregion
            }
            return(this);
        }
Exemple #4
0
        public void ShowHpDialog(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 = new FArrayList();
                        BdHpIndicationDTO dto = HpJudgeUtil.getInstance().getBdHpIndicationDTO(emsordrug.Id_srv, emsordrug.Id_mm, this.GetModel().getEnt4BannerDTO());
                        if (dto != null)
                        {
                            bdhpdtos.Add(dto);
                        }
                        emsordrug.BdHpIndicationDTO = bdhpdtos;
                    }
                    if (bdhpdtos != null && bdhpdtos.Count > 0)
                    {
                        BdHpIndicationDTO bdhpdto            = bdhpdtos[0] as BdHpIndicationDTO;
                        string            code_hpindicjudged = bdhpdto.Code_hpindicjudged;
                        bool?isDefault = null;
                        if (code_hpindicjudged == "12")
                        {
                            isDefault = emsordrug.Fg_treat;
                        }
                        if (code_hpindicjudged != null)
                        {
                            switch (code_hpindicjudged)
                            {
                            case "12":
                            case "21":
                                BdHpIndicationDTOForm dialog       = new BdHpIndicationDTOForm(emsordrug.Limit, emsordrug.Name_srv, isDefault);
                                DialogResult          dialogResutl = dialog.ShowDialog();
                                if (dialogResutl == DialogResult.OK)
                                {
                                    emsordrug.Fg_treat         = true;
                                    emsordrug.Fg_selfpay       = false;
                                    emsordrug.Fg_hpindicjudged = (int)HpIndicJudgeEnum.JUDGED;    //0不需要判断,1待判断,2已判断;
                                }
                                else if (dialogResutl == DialogResult.No)
                                {
                                    emsordrug.Fg_treat         = false;
                                    emsordrug.Fg_selfpay       = true;
                                    emsordrug.Fg_hpindicjudged = (int)HpIndicJudgeEnum.JUDGED;    //0不需要判断,1待判断,2已判断;
                                }
                                break;
                            }
                        }
                    }
                }
            }
        }
        /// <summary>
        /// 装载费用项目信息
        /// </summary>
        /// <param name="newDrug"></param>
        /// <returns></returns>
        public virtual EmsFeebillViewModel LoadEmsFeeSrv(CiOrdFeeSrvDTO newDrug)
        {
            {
                // 填充默认值
                newDrug.setAttrVal <int>("Use_days", 1);
                newDrug.Id_unit_sale   = newDrug.Id_unit_med;
                newDrug.Name_unit_sale = newDrug.Name_unit_med;
                newDrug.Fg_or          = false;
                newDrug.Fg_bl          = true;
                newDrug.Eu_sourcemd    = (int)OrSrvSourceFromEnum.PHYSIANFEEADD;
                #region 计算总量和价格
                newDrug.Quan_total_medu = this.GetLogicEx().getNotDrugTotal(
                    newDrug.Quan_med.ToDouble(),
                    newDrug.Id_freq,
                    newDrug.Freqct == null ? 1 : newDrug.Freqct.Value,
                    newDrug.getAttrVal <int>("Use_days"));

                newDrug.Price   = this.GetLogicEx().getSrvNotMMPri(newDrug.Id_srv, newDrug.Id_primd, null, GetEnt4BannerDTO().Id_pripat);
                newDrug.Amt_cur = newDrug.Price * newDrug.Quan_cur;
                #endregion
                FArrayList list = new FArrayList();
                //判断是否是保外诊断
                CiEnContextDTO ciEnContextDTO = BaseEmsView.BaseEmsInfoContext["CiEnContextDTO"] as CiEnContextDTO;
                //保外诊断标识
                string eu_hpbeyond = ciEnContextDTO.Eu_hpbeyond;

                if (ent4BannerDTO != null && true == ent4BannerDTO.Fg_hpfundpay && HpBeyondEnum.HPDIAG.Equals(ciEnContextDTO.Eu_hpbeyond) /*保内诊断*/)
                {
                    BdHpIndicationDTO bdhpindication = HpJudgeUtil.getInstance().getBdHpIndicationDTO(newDrug.Id_srv, newDrug.Id_mm, this.ent4BannerDTO);
                    if (bdhpindication != null)
                    {
                        newDrug.Fg_treat   = bdhpindication.Fg_indic;
                        newDrug.Id_hp      = bdhpindication.Id_hp;
                        newDrug.Sd_hpsrvtp = bdhpindication.Sd_hpsrvtp;
                        newDrug.Id_hpsrvtp = bdhpindication.Id_hpsrvtp;
                        if (string.IsNullOrEmpty(bdhpindication.Id_hpsrvtp))
                        {
                            newDrug.Id_hpsrvtp = HpJudgeUtil.IdHpSrvtpFromSdHpSrvtp(bdhpindication.Sd_hpsrvtp);
                        }
                        newDrug.Name_hpsrvtp = HpJudgeUtil.NameHpSrvtpFromSdHpSrvtp(bdhpindication.Sd_hpsrvtp);
                        newDrug.Fg_selfpay   = HpJudgeUtil.getInstance().isSelfPay(bdhpindication);
                        list.Add(bdhpindication);
                    }
                }
                else if (ciEnContextDTO.Fg_hpfundpay == null || !(bool)ciEnContextDTO.Fg_hpfundpay || (ciEnContextDTO.Eu_hpbeyond != null && !ciEnContextDTO.Eu_hpbeyond.Equals(HpBeyondEnum.HPDIAG)))
                {
                    newDrug.Fg_treat   = false;
                    newDrug.Fg_selfpay = true;
                }
                newDrug.setAttrVal <FArrayList>("BdHpIndicationDTO", list);
                #region 计算执行科室
                CalculateDeptMp(newDrug);
                #endregion
            }
            return(this);
        }
Exemple #6
0
        public void showHpDialog(object sender)
        {
            var            row       = sender as XDataRow;
            CiOrdFeeSrvDTO emsordrug = row.DataSource as CiOrdFeeSrvDTO;

            if (emsordrug != null)
            {
                if (row.ClickCell.FieldName.Equals("Fg_indic"))
                {
                    FArrayList bdhpdtos = emsordrug.BdHpIndicationList;
                    if (bdhpdtos == null)
                    {
                        bdhpdtos = new FArrayList();
                        BdHpIndicationDTO dto = HpJudgeUtil.getInstance().getBdHpIndicationDTO(emsordrug.Id_srv, emsordrug.Id_mm, this.GetModel().GetEnt4BannerDTO());
                        if (dto != null)
                        {
                            bdhpdtos.Add(dto);
                        }
                        emsordrug.BdHpIndicationList = bdhpdtos;
                    }
                    if (bdhpdtos != null && bdhpdtos.Count > 0)
                    {
                        BdHpIndicationDTO bdhpdto            = bdhpdtos[0] as BdHpIndicationDTO;
                        string            code_hpindicjudged = bdhpdto.Code_hpindicjudged;
                        bool?isDefault = null;
                        if (code_hpindicjudged == "12")
                        {
                            isDefault = emsordrug.Fg_treat;
                        }
                        if (code_hpindicjudged != null)
                        {
                            switch (code_hpindicjudged)
                            {
                            case "12":
                            case "21":
                                BdHpIndicationDTOForm dialog = new BdHpIndicationDTOForm(emsordrug.Limit, emsordrug.Name_srv, isDefault);
                                if (dialog.ShowDialog() == DialogResult.OK)
                                {
                                    emsordrug.Fg_indic   = true;
                                    emsordrug.Fg_selfpay = false;
                                }
                                else
                                {
                                    emsordrug.Fg_indic   = false;
                                    emsordrug.Fg_selfpay = true;
                                }
                                break;
                            }
                        }
                    }
                }
            }
        }
Exemple #7
0
        public override CiOrderDO Save2Order()
        {
            FArrayList druglist = new FArrayList();

            foreach (EmsOrDrug emsordrug in this.uiEmsDTO.Emsdrugs.EmsOrDrugList)
            {
                druglist.Add(emsordrug);
            }
            this.uiEmsDTO.Emsdrugs.EmsOrDrugListEx = druglist;
            return(base.Save2Order());
            //return New_Save();
        }
        private XapDataList <OrTmplDTO> pickOrTmlBySdModelType(FArrayList hospitalList, string sd_type)
        {
            XapDataList <OrTmplDTO> dataTree = new XapDataList <OrTmplDTO>();
            //if (sd_type == BdSrvDictCodeConst.SD_ORTMPLTP_FHMBA)
            //{
            //    foreach (OrTmplDTO dto in hospitalList)
            //    {
            //        dataTree.Add(dto);
            //    }
            //}
            //else
            //{
            FArrayList modelItmlist  = new FArrayList();   //模板类型下的数据
            FArrayList modelClaslist = new FArrayList();   //模板分类

            foreach (OrTmplDTO dto in hospitalList)
            {
                if (string.IsNullOrWhiteSpace(dto.Sd_ortmpltp))
                {
                    modelClaslist.Add(dto);
                    continue;
                }
                if (dto.Sd_ortmpltp.Equals(sd_type))
                {
                    modelItmlist.Add(dto);
                }
            }
            if (modelItmlist.Count > 0)
            {
                FArrayList reModelClasList = new FArrayList();
                foreach (OrTmplDTO dto in modelItmlist)
                {
                    getParentOrTmplDTO(modelClaslist, reModelClasList, dto);
                }
                modelItmlist.AddRange(reModelClasList);
                int i = 1;
                foreach (OrTmplDTO dto in modelItmlist)
                {
                    //Log.writelog(dto.Id_ortmpl + "," + dto.Name + ":" + (i++));
                    dataTree.Add(dto);
                }
            }
            //}
            return(dataTree);
        }
 private FArrayList getParentOrTmplDTO(FArrayList modelClaslist, FArrayList reModelClasList, OrTmplDTO tmpl)
 {
     if (tmpl != null && !string.IsNullOrWhiteSpace(tmpl.Id_ortmplca))
     {
         foreach (OrTmplDTO dto in modelClaslist)
         {
             if (dto.Id_ortmpl == tmpl.Id_ortmplca)
             {
                 if (!reModelClasList.Contains(dto))
                 {
                     reModelClasList.Add(dto);
                     this.getParentOrTmplDTO(modelClaslist, reModelClasList, dto);
                 }
             }
         }
     }
     return(reModelClasList);
 }
        /// <summary>
        /// 获得对应模板类型下的模板id
        /// </summary>
        /// <param name="sd_type"></param>
        /// <returns></returns>
        public FArrayList getModelIdByModelType(string sd_type)
        {
            FArrayList modelIds = new FArrayList();

            if (mapTree != null)
            {
                FArrayList hospitalList = mapTree[BdSrvDictCodeConst.SD_OWTP_HOSPIAL_ID] as FArrayList;
                if (hospitalList != null)
                {
                    foreach (OrTmplDTO dto in hospitalList)
                    {
                        if (!string.IsNullOrWhiteSpace(dto.Sd_ortmpltp) && dto.Sd_ortmpltp.Equals(sd_type))
                        {
                            modelIds.Add(dto.Id_ortmpl.Substring(0, dto.Id_ortmpl.Length - 1));
                        }
                    }
                }
            }
            return(modelIds);
        }
Exemple #11
0
        public virtual bool LoadFeeSrv(CiOrdFeeSrvDTO newDrug)
        {
            #region  效性检查
            if (CheckRepeatFeeSrv(newDrug))
            {
                this.errorMsgString = String.Format("【{0}】 在该医嘱中存在,请选择其它服务", newDrug.Name_srv);
                return(false);
            }
            #endregion

            #region 填充默认值
            int nUseDays = GetOrderDO(newDrug.Id_or).Days_or ?? 1;
            newDrug.Id_unit_sale   = newDrug.Id_unit_med;
            newDrug.Name_unit_sale = newDrug.Name_unit_med;
            newDrug.Fg_or          = false;
            newDrug.Fg_bl          = true;
            newDrug.Eu_sourcemd    = (int)OrSrvSourceFromEnum.PHYSIANFEEADD;
            #endregion

            #region 计算总量和价格
            newDrug.Price = this.GetLogicEx().getSrvNotMMPri(newDrug.Id_srv, newDrug.Id_primd);

            #endregion

            #region 计算总量
            this.CalculateAmtCur(newDrug);
            #endregion

            #region 总价
            if (newDrug.Fg_mm != null && newDrug.Fg_mm.Value)
            {
                newDrug.Amt_total = newDrug.Price * newDrug.Quan_cur;
            }
            else
            {
                newDrug.Amt_total = newDrug.Price * newDrug.Quan_total_medu;
            }
            #endregion
            FArrayList list = new FArrayList();
            //判断是否是保外诊断
            CiEnContextDTO ciEnContextDTO = BaseEmsView.BaseEmsInfoContext["CiEnContextDTO"] as CiEnContextDTO;
            //保外诊断标识
            string eu_hpbeyond = ciEnContextDTO.Eu_hpbeyond;

            if (ent4BannerDTO != null && true == ent4BannerDTO.Fg_hpfundpay && HpBeyondEnum.HPDIAG.Equals(ciEnContextDTO.Eu_hpbeyond) /*保内诊断*/)
            {
                BdHpIndicationDTO bdhpindication = HpJudgeUtil.getInstance().getBdHpIndicationDTO(newDrug.Id_srv, newDrug.Id_mm, this.ent4BannerDTO);
                if (bdhpindication != null)
                {
                    newDrug.Fg_treat   = bdhpindication.Fg_indic;
                    newDrug.Fg_indic   = bdhpindication.Fg_indic;
                    newDrug.Id_hp      = bdhpindication.Id_hp;
                    newDrug.Sd_hpsrvtp = bdhpindication.Sd_hpsrvtp;
                    newDrug.Id_hpsrvtp = bdhpindication.Id_hpsrvtp;
                    if (string.IsNullOrEmpty(bdhpindication.Id_hpsrvtp))
                    {
                        newDrug.Id_hpsrvtp = HpJudgeUtil.IdHpSrvtpFromSdHpSrvtp(bdhpindication.Sd_hpsrvtp);
                    }
                    newDrug.Name_hpsrvtp     = HpJudgeUtil.NameHpSrvtpFromSdHpSrvtp(bdhpindication.Sd_hpsrvtp);
                    newDrug.Name_hp          = HpJudgeUtil.NameHpSrvtpFromSdHpSrvtp(bdhpindication.Sd_hpsrvtp);
                    newDrug.Fg_selfpay       = HpJudgeUtil.getInstance().isSelfPay(bdhpindication);
                    newDrug.Fg_hpindicjudged = HpJudgeUtil.getInstance().getFg_hpindicjudged(bdhpindication);
                    list.Add(bdhpindication);
                }
            }
            else if (ciEnContextDTO.Fg_hpfundpay == null || !(bool)ciEnContextDTO.Fg_hpfundpay || (ciEnContextDTO.Eu_hpbeyond != null && !ciEnContextDTO.Eu_hpbeyond.Equals(HpBeyondEnum.HPDIAG)))
            {
                newDrug.Fg_treat   = false;
                newDrug.Fg_selfpay = true;
            }
            newDrug.setAttrVal <FArrayList>("BdHpIndicationDTO", list);
            #region 计算执行科室
            CalculateFeeDeptMp(newDrug);
            #endregion

            return(true);
        }
Exemple #12
0
        /// <summary>
        /// 医保适应症弹窗处理
        /// </summary>
        private void showFgTreatDialog(EmsOrDrug drug)
        {
            EmsOrDrug drugitem = null;

            if (drug != null)
            {
                drugitem = drug;
            }
            else
            {
                drugitem = this.GetViewModel().GetSelectedObject() as EmsOrDrug;
            }

            BdHpIndicationDTO bdhpdto     = drugitem.BdHpIndicationDTO[0] as BdHpIndicationDTO;
            FArrayList        bdhpdtolist = new FArrayList();

            bdhpdtolist.Add(bdhpdto);
            drugitem.BdHpIndication = bdhpdtolist;
            var  code_hpindicjudged = bdhpdto.Code_hpindicjudged;
            bool?isDefault          = null;

            if (code_hpindicjudged == HpIndicationRuleEnum.SYS_JUD_DOCCONFIRM)
            {
                isDefault = drugitem.Fg_treat;
            }

            using (dialog = new BdHpIndicationDTOForm(drugitem.Limit, drugitem.Name_srv, isDefault))
            {
                // 适应症复选框
                var fg_treat = this.GetXapFormControl().GetUserRender(FORM_CARD_PAGECODE, "fg_treat") as XLabelBaseUserRender;
                // 自费复选框
                var    fg_selfpay = this.GetXapFormControl().GetUserRender(FORM_CARD_PAGECODE, "fg_selfpay") as XLabelBaseUserRender;
                String ishp       = SysParamUtils.getSysParam().SYS_PARAM_IsRemind4FgIndicFalseConfirmed.OrgParam;
                if (bdhpdto.Fg_indic != FBoolean.True && code_hpindicjudged != null && ishp != null &&
                    ishp.StartsWith("true") && code_hpindicjudged == HpIndicationRuleEnum.SYS_CONFIRM)
                {
                    dialog.saveButton.Visible  = false;
                    dialog.saveButton1.Visible = false;
                    dialog.saveButton2.Visible = false;
                    DialogResult dialogResult = dialog.ShowDialog();

                    if (dialogResult == DialogResult.OK)
                    {
                        if (!this.GetXapFormControl().IsLoading)
                        {
                            fg_treat.Checked   = true;
                            fg_selfpay.Checked = false;
                        }
                        drugitem.Fg_treat         = true;
                        drugitem.Fg_selfpay       = false;
                        drugitem.Fg_hpindicjudged = (int)HpIndicJudgeEnum.JUDGED;  //0不需要判断,1待判断,2已判断;
                    }
                    else if (dialogResult == DialogResult.No)
                    {
                        if (!this.GetXapFormControl().IsLoading)
                        {
                            fg_treat.Checked = false;
                            // 执行完fg_treat.Checked 后,fg_selfpay.Enabled = false 导致赋值的时候,没有处方datachange事件,费用列表中的fg_selfpay状态不改变,导致后续保存自费标识错误
                            // 先修改自费服复选框可用,在设置选中状态
                            fg_selfpay.Enabled = true;
                            fg_selfpay.Checked = true;
                        }
                        drugitem.Fg_treat         = false;
                        drugitem.Fg_selfpay       = true;
                        drugitem.Fg_hpindicjudged = (int)HpIndicJudgeEnum.JUDGED;  //0不需要判断,1待判断,2已判断;
                    }
                }
                else if (code_hpindicjudged == HpIndicationRuleEnum.SYS_JUD_DOCCONFIRM)
                {
                    dialog.saveButton1.Visible = false;
                    dialog.saveButton2.Visible = false;
                    drugitem.Fg_selfpay        = false;
                    DialogResult dialogResult = dialog.ShowDialog();
                    dialog.saveButton1.Visible = false;
                    dialog.saveButton2.Visible = false;

                    if (dialogResult == DialogResult.OK)
                    {
                        if (!this.GetXapFormControl().IsLoading)
                        {
                            fg_treat.Checked   = true;
                            fg_selfpay.Checked = false;
                        }
                        drugitem.Fg_treat         = true;
                        drugitem.Fg_selfpay       = false;
                        drugitem.Fg_hpindicjudged = (int)HpIndicJudgeEnum.JUDGED; //0不需要判断,1待判断,2已判断;
                    }
                    else if (dialogResult == DialogResult.No)
                    {
                        if (!this.GetXapFormControl().IsLoading)
                        {
                            fg_treat.Checked = false;
                            // 执行完fg_treat.Checked 后,fg_selfpay.Enabled = false 导致赋值的时候,没有处方datachange事件,费用列表中的fg_selfpay状态不改变,导致后续保存自费标识错误
                            // 先修改自费服复选框可用,在设置选中状态
                            fg_selfpay.Enabled = true;
                            fg_selfpay.Checked = true;
                        }
                        drugitem.Fg_treat         = false;
                        drugitem.Fg_selfpay       = true;
                        drugitem.Fg_hpindicjudged = (int)HpIndicJudgeEnum.JUDGED; //0不需要判断,1待判断,2已判断;
                    }
                }
                else if (code_hpindicjudged == HpIndicationRuleEnum.DOC_CONFIRM)
                {
                    Dictionary <String, MPayRatioDfDO> dic = new Dictionary <string, MPayRatioDfDO>();

                    FArrayList list = bdhpdto.Mutipayratio_list;

                    if (list != null && list.Count > 0)
                    {
                        int i = 1;
                        foreach (MPayRatioDfDO mPayRatio in list)
                        {
                            dic.Add(i + "", mPayRatio);
                            i++;
                        }
                        dialog.dic = dic;
                        if (dic != null && dic.Count > 0)
                        {
                            if (dic != null && dic.Count == 2)
                            {
                                dialog.saveButton1.Text = dic["1"].Name;
                                dialog.saveButton2.Text = dic["2"].Name;
                            }
                            else if (dic != null && dic.Count == 1)
                            {
                                dialog.saveButton1.Text    = dic["1"].Name;
                                dialog.saveButton2.Visible = false;
                            }
                            dialog.saveButton.Visible = false;
                        }
                        else
                        {
                            dialog.saveButton1.Visible = false;
                            dialog.saveButton2.Visible = false;
                        }
                    }
                    else
                    {
                        dialog.saveButton1.Visible = false;
                        dialog.saveButton2.Visible = false;
                    }

                    drugitem.Fg_selfpay = false;
                    DialogResult dialogResult = dialog.ShowDialog();

                    if (dialogResult == DialogResult.OK)
                    {
                        if (!this.GetXapFormControl().IsLoading)
                        {
                            fg_treat.Checked   = true;
                            fg_selfpay.Checked = false;
                        }

                        drugitem.Fg_treat         = true;
                        drugitem.Fg_selfpay       = false;
                        drugitem.Fg_hpindicjudged = (int)HpIndicJudgeEnum.JUDGED; //0不需要判断,1待判断,2已判断;
                    }
                    else if (dialogResult == DialogResult.Retry)
                    {
                        if (!this.GetXapFormControl().IsLoading)
                        {
                            fg_treat.Checked   = true;
                            fg_selfpay.Checked = false;
                        }
                        drugitem.Indicitemid      = dic["1"].Id_hpmpayratiodf;
                        drugitem.Fg_treat         = true;
                        drugitem.Fg_selfpay       = false;
                        drugitem.Fg_hpindicjudged = (int)HpIndicJudgeEnum.JUDGED;  //0不需要判断,1待判断,2已判断;
                    }
                    else if (dialogResult == DialogResult.Yes)
                    {
                        if (!this.GetXapFormControl().IsLoading)
                        {
                            fg_treat.Checked   = true;
                            fg_selfpay.Checked = false;
                        }
                        if (dic.Count == 2)
                        {
                            drugitem.Indicitemid = dic["2"].Id_hpmpayratiodf;
                        }
                        drugitem.Fg_treat         = true;
                        drugitem.Fg_selfpay       = false;
                        drugitem.Fg_hpindicjudged = (int)HpIndicJudgeEnum.JUDGED; //0不需要判断,1待判断,2已判断
                    }
                    else if (dialogResult == DialogResult.No)
                    {
                        if (!this.GetXapFormControl().IsLoading)
                        {
                            fg_treat.Checked = false;
                            // 执行完fg_treat.Checked 后,fg_selfpay.Enabled = false 导致赋值的时候,没有处方datachange事件,费用列表中的fg_selfpay状态不改变,导致后续保存自费标识错误
                            // 先修改自费服复选框可用,在设置选中状态
                            fg_selfpay.Enabled = true;
                            fg_selfpay.Checked = true;
                        }
                        drugitem.Fg_treat         = false;
                        drugitem.Fg_selfpay       = true;
                        drugitem.Fg_hpindicjudged = (int)HpIndicJudgeEnum.JUDGED;  //0不需要判断,1待判断,2已判断;
                    }
                }
                setFgSefPayRenderEnable(!fg_selfpay.Checked);
            }
        }