/// <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); }
/// <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); }
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); }
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); }
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; } } } } } }
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); }
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); }
/// <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); } }