}//频次 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); } }
void xapFormControl_RefResult(object sender, RefResultEventArgs e) { RefDataCollection data = e.RefResultSet; //if (e.BindingFieldName.Equals("Name_dep_emp")) //{ // this.id_dep = data.FirstData["Id_dep"] as string;//获取字段值 //} }
/// <summary> /// 引用参照结果处理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected override void OnXapFormControl_RefResult(object sender, RefResultEventArgs e) { RefDataCollection data = e.RefResultSet; EmsOrDrug drug = e.DataObject as EmsOrDrug; if (e.BindingFieldName.Equals("Name_srv") && !string.IsNullOrEmpty(drug.Id_srv) && drug.Status == DOStatus.NEW) { (this.GetViewModel() as EmsHerbsViewModel).AddNewHerbControl(); } base.OnXapFormControl_RefResult(sender, e); }
//频次 protected override void OnRefResult(object sender, RefResultEventArgs e) { RefDataCollection data = e.RefResultSet; if (e.BindingFieldName.Equals("Name_srv")) { string id_srv = data.FirstData["Id_srv"] as string; int drugListCount = this.EmsHeadDO.Emsdrugs.EmsOrDrugList.Count; for (int i = 0; i < drugListCount - 1; i++) { EmsOrDrug tmpEmsOrDrug = this.EmsHeadDO.Emsdrugs.EmsOrDrugList[i]; if (tmpEmsOrDrug.Id_srv == id_srv) { this.ShowInfo("服务重复!"); this.EmsHeadDO.Emsdrugs.EmsOrDrugList[this.EmsHeadDO.Emsdrugs.EmsOrDrugList.Count - 1].Id_srv = ""; this.EmsHeadDO.Emsdrugs.EmsOrDrugList[this.EmsHeadDO.Emsdrugs.EmsOrDrugList.Count - 1].Name_srv = ""; this.EmsHeadDO.Emsdrugs.EmsOrDrugList[this.EmsHeadDO.Emsdrugs.EmsOrDrugList.Count - 1].Spec_mm = ""; this.EmsHeadDO.Emsdrugs.EmsOrDrugList[this.EmsHeadDO.Emsdrugs.EmsOrDrugList.Count - 1].Quan_med = null; this.EmsHeadDO.Emsdrugs.EmsOrDrugList[this.EmsHeadDO.Emsdrugs.EmsOrDrugList.Count - 1].Name_unit_med = ""; this.EmsHeadDO.Emsdrugs.EmsOrDrugList[this.EmsHeadDO.Emsdrugs.EmsOrDrugList.Count - 1].Quan_cur = null; this.EmsHeadDO.Emsdrugs.EmsOrDrugList[this.EmsHeadDO.Emsdrugs.EmsOrDrugList.Count - 1].Name_unit_sale = ""; //btnDel_MouseClick(null,null); //this.EmsHeadDO.Emsdrugs.EmsOrDrugList.AddNew(); return; } } //.EmsOrDrugList[focusOrDrug]; XapDataList <EmsOrDrug> drugs = cof.GetSrvMm(this.EmsHeadDO, id_srv, this.EmsHeadDO.PatInfo.Code_entp); if (drugs.Count > 0) { EmsOrDrug drugRef = drugs.FirstOrDefault(); EmsOrDrug drugNew = xapFormControl1.GetFocused <EmsOrDrug>("drug"); cof.CopyTo(drugRef, drugNew, "Id_srv", "Name_srv"); } if (this.EmsHeadDO.Emsdrugs.Fg_outp == true) { this.manageUnitName("out"); } else { this.manageUnitName("in"); } cof.GetDrugTotal(this.EmsHeadDO); } else if (e.BindingFieldName.Equals("Name_unit_sale")) { cof.GetDrugTotal(this.EmsHeadDO); } if (e.BindingFieldName == "Name_freq") { //RefDataCollection data = e.RefResultSet; string id_freq = data.FirstData["Id_freq"] as string;//获取字段值 this.EmsHeadDO.Emsdrugs.Sd_frequnitct = data.FirstData["Sd_frequnitct"] as string; this.EmsHeadDO.Emsdrugs.Freqct = null; if (data.FirstData["Freqct"].ToString() != "") { this.EmsHeadDO.Emsdrugs.Freqct = int.Parse(data.FirstData["Freqct"].ToString()); } this.EmsHeadDO.Emsdrugs.Fg_long = data.FirstData["Fg_long"].ToString() == "Y" ? true : false; GetMpTimes(this.EmsHeadDO.Emsdrugs.Id_freq); if (cof.getControlByName(xapFormControl1, "drugsUse", "fg_outp").ValueText == "true") { cof.GetDrugTotal(this.EmsHeadDO); } if (data.FirstData["Fg_prnor"].ToString() == "Y")// 备用医嘱 true 并且 长临为 临时 { XLabelBaseUserRender tmpRender = cof.getControlByName(xapFormControl1, "drugsUse", "fg_long"); int h = 0;//高度变动值 if (tmpRender.ValueCode == "False") { if (cof.getControlByName(xapFormControl1, "drugsUse", "dt_fail").Visible == false) { h += 29; } cof.getControlByName(xapFormControl1, "drugsUse", "dt_fail").Visible = true;//临时医嘱失效日期 this.EmsHeadDO.Emsdrugs.Dt_fail = cof.GetSpareEndTime(this.EmsHeadDO.Emsdrugs.Dt_begin_ui.Value); dt_fail.MinDate = this.EmsHeadDO.Emsdrugs.Dt_begin_ui.Value.AddDays(-1); dt_fail.MaxDate = this.EmsHeadDO.Emsdrugs.Dt_begin_ui.Value.AddHours(this.Context.GetOrgParam <int>(ICiOrdNSysParamConst.SYS_PARAM_TemporaryPrnOrValidTime)); cof.getControlByName(xapFormControl1, "drugsUse", "bak_des").ValueText = ""; } else { if (cof.getControlByName(xapFormControl1, "drugsUse", "dt_fail").Visible == true) { h += -29; } cof.getControlByName(xapFormControl1, "drugsUse", "dt_fail").Visible = false;//长期医嘱失效日期禁用 this.EmsHeadDO.Emsdrugs.Dt_fail = null; this.EmsHeadDO.Emsdrugs.Use_days = null; cof.getControlByName(xapFormControl1, "drugsUse", "bak_des").ValueText = "执行最小间隔时间:6小时。"; } if (cof.getControlByName(xapFormControl1, "drugsUse", "bak_des").Visible == false) { h += 29; } cof.getControlByName(xapFormControl1, "drugsUse", "bak_des").Visible = true; cof.adjustHeight(this.xapFormControl1, "drugsUse", adjustHeightIds, h); this.xapFormControl1.Refresh(); } else { int h = 0; if (cof.getControlByName(xapFormControl1, "drugsUse", "dt_fail").Visible == true) { h += -29; } cof.getControlByName(xapFormControl1, "drugsUse", "dt_fail").Visible = false;//临时医嘱失效日期 if (cof.getControlByName(xapFormControl1, "drugsUse", "bak_des").Visible == true) { h += -29; } cof.getControlByName(xapFormControl1, "drugsUse", "bak_des").Visible = false; //cof.adjustHeight(this.xapFormControl1,"drugsUse", adjustHeightIds, 20, "up"); cof.getControlByName(xapFormControl1, "drugsUse", "bak_des").ValueText = ""; this.EmsHeadDO.Emsdrugs.Dt_fail = null; cof.adjustHeight(this.xapFormControl1, "drugsUse", adjustHeightIds, h); this.xapFormControl1.Refresh(); } //可将下面放到算法里 if (this.EmsHeadDO.Emsdrugs.Fg_pmor.Value && !this.EmsHeadDO.Emsdrugs.Fg_long.Value) // 临时医嘱 true 并且 长临为 临时 { cof.getControlByName(xapFormControl1, "drugsUse", "dt_fail").Enabled = true; //临时医嘱失效日期 this.EmsHeadDO.Emsdrugs.Dt_fail = cof.GetSpareEndTime(this.EmsHeadDO.Emsdrugs.Dt_begin_ui.Value); } else { cof.getControlByName(xapFormControl1, "drugsUse", "dt_fail").Enabled = false;//临时医嘱失效日期 this.EmsHeadDO.Emsdrugs.Dt_fail = null; } //获取总量 if (data.FirstData["Fg_long_edit"].ToString() == "Y") { cof.getControlByName(xapFormControl1, "drugsUse", "fg_long").Enabled = true; } else { cof.getControlByName(xapFormControl1, "drugsUse", "fg_long").Enabled = false; } if (this.EmsHeadDO.Emsdrugs.Fg_long == false) { //如果是临时的 使用天数和结束日期置灰 cof.getControlByName(xapFormControl1, "drugsUse", "Use_days").Enabled = false; cof.getControlByName(xapFormControl1, "drugsUse", "dt_end_ui").Enabled = false; } else { cof.getControlByName(xapFormControl1, "drugsUse", "Use_days").Enabled = true; cof.getControlByName(xapFormControl1, "drugsUse", "dt_end_ui").Enabled = true; } } }
void xapFormControl1_RefResult(object sender, RefResultEventArgs e) { //长临标志:根据选择的频次,默认读取BD_FREQ. fg_long显示长临标志。 if (e.BindingFieldName == "Name_freq") { RefDataCollection data = e.RefResultSet; if (data.Count == 0) { return; } string id_freq = data.FirstData["Id_freq"] as string;//获取字段值 EmsHeadDO.Emsdrugs.Sd_frequnitct = data.FirstData["Sd_frequnitct"] as string; EmsHeadDO.Emsdrugs.Freqct = null; if (data.FirstData["Freqct"].ToString() != "") { EmsHeadDO.Emsdrugs.Freqct = int.Parse(data.FirstData["Freqct"].ToString()); } EmsHeadDO.Emsdrugs.Fg_long = data.FirstData["Fg_long"].ToString() == "Y" ? true : false; this.setTime_cur(); setQauntum(this.EmsHeadDO.Emsdrugs.Times_cur); ////可将下面放到算法里 //if (data.FirstData["Fg_prnor"].ToString() == "Y")// 备用医嘱 true 并且 长临为 临时 //{ // XLabelBaseUserRender tmpRender = getControlByName("drugsUse", "fg_long"); // if (tmpRender.ValueCode == "False") // { // getControlByName("drugsUse", "dt_fail").Enabled = true;//临时医嘱失效日期 // EmsHeadDO.Emsdrugs.Dt_fail = cof.GetSpareEndTime(EmsHeadDO.Emsdrugs.Dt_begin_ui.Value); // getControlByName("drugsUse", "bak_des").ValueText = ""; // } // else // { // getControlByName("drugsUse", "dt_fail").Enabled = false;//长期医嘱失效日期禁用 // EmsHeadDO.Emsdrugs.Dt_fail = null; // EmsHeadDO.Emsdrugs.Use_days = null; // getControlByName("drugsUse", "bak_des").ValueText = "执行最小间隔时间:6小时。"; // } // getControlByName("drugsUse", "bak_des").Enabled = true; //} //else //{ // getControlByName("drugsUse", "dt_fail").Enabled = false;//临时医嘱失效日期 // getControlByName("drugsUse", "bak_des").Enabled = false; // EmsHeadDO.Emsdrugs.Dt_fail = null; //} ////首日执行 只针对频次周期类型为‘天’的医嘱才可录入和显示首日执行次数,其他情况该控件隐藏。 //string name_freq = data.FirstData["Name"] as string;//获取字段值 ////if (name_freq.Contains("日")) ////{ //// getControlByName("drugsUse", "quan_firday_mp").Enabled = true;//首日执行次数 //// getControlByName("drugsUse", "work_time").Enabled = true;//首日执行时间 ////} ////else ////{ //// getControlByName("drugsUse", "quan_firday_mp").Enabled = false;//首日执行次数 //// getControlByName("drugsUse", "work_time").Enabled = false;//首日执行时间 ////} //string code_freq = data.FirstData["Code"] as string;//获取字段值 //if (code_freq == "once") //{ // EmsHeadDO.Emsdrugs.Fg_long = false;//长临标识 变临时 // //getControlByName("drugsUse", "fg_long").Enabled = false;// // EmsHeadDO.Emsdrugs.Dt_end_ui = EmsHeadDO.Emsdrugs.Dt_begin_ui; //} //else //{ // // getControlByName("drugsUse", "fg_long").Enabled = true;// //} } else if (e.BindingFieldName.Equals("Name_unit_sale")) { this.setTime_cur(); setQauntum(this.EmsHeadDO.Emsdrugs.Times_cur); } this.updateTableCustomerComtrol(); }
//频次 protected override void OnRefResult(object sender, RefResultEventArgs e) { //长临标志:根据选择的频次,默认读取BD_FREQ. fg_long显示长临标志。 if (e.BindingFieldName == "Name_freq") { RefDataCollection data = e.RefResultSet; string id_freq = data.FirstData["Id_freq"] as string;//获取字段值 EmsHeadDO.Emsdrugs.Sd_frequnitct = data.FirstData["Sd_frequnitct"] as string; EmsHeadDO.Emsdrugs.Freqct = null; if (data.FirstData["Freqct"].ToString() != "") { EmsHeadDO.Emsdrugs.Freqct = int.Parse(data.FirstData["Freqct"].ToString()); } EmsHeadDO.Emsdrugs.Fg_long = data.FirstData["Fg_long"].ToString() == "Y" ? true : false; GetMpTimes(id_freq); //可将下面放到算法里 if (data.FirstData["Fg_prnor"].ToString() == "Y")// 备用医嘱 true 并且 长临为 临时 { XLabelBaseUserRender tmpRender = getControlByName("drugsUse", "fg_long"); h = 0;//高度变动值 if (tmpRender.ValueCode == "False") { //if (getControlByName("drugsUse", "dt_fail").Visible == false) //{ // h += 29; //} //getControlByName("drugsUse", "dt_fail").Visible = true;//临时医嘱失效日期 h += 29; EmsHeadDO.Emsdrugs.Dt_fail = cof.GetSpareEndTime(EmsHeadDO.Emsdrugs.Dt_begin_ui.Value); //getControlByName("drugsUse", "bak_des").ValueText = ""; } else { //if (getControlByName("drugsUse", "dt_fail").Visible == true) //{ // h += -29; //} //getControlByName("drugsUse", "dt_fail").Visible = false;//长期医嘱失效日期禁用 EmsHeadDO.Emsdrugs.Dt_fail = null; EmsHeadDO.Emsdrugs.Use_days = null; //getControlByName("drugsUse", "bak_des").ValueText = "执行最小间隔时间:6小时。"; } //if (getControlByName("drugsUse", "bak_des").Visible == false) //{ // h += 29; //} //getControlByName("drugsUse", "bak_des").Visible = true; h += 29; if (drugChange.Checked) { h += this.gv_change_height; } calCardMoveHeight(); //cof.adjustHeight(this.xapFormControl1, "drugsUse", this.allHeightIds, -h-50); //this.xapFormControl1.Invalidate(); this.xapFormControl1.Refresh(); } else { h = 0; //if (getControlByName("drugsUse", "dt_fail").Visible == true) //{ // h += -29; //} //getControlByName("drugsUse", "dt_fail").Visible = false;//临时医嘱失效日期 //if (getControlByName("drugsUse", "bak_des").Visible == true) //{ // h += -29; //} //getControlByName("drugsUse", "bak_des").Visible = false; //cof.adjustHeight(this.xapFormControl1,"drugsUse", adjustHeightIds, 20, "up"); //getControlByName("drugsUse", "bak_des").ValueText = ""; EmsHeadDO.Emsdrugs.Dt_fail = null; if (drugChange.Checked) { h += this.gv_change_height; } calCardMoveHeight(); //cof.adjustHeight(this.xapFormControl1, "drugsUse", this.allHeightIds, -h + 30); this.xapFormControl1.Refresh(); } //首日执行 只针对频次周期类型为‘天’的医嘱才可录入和显示首日执行次数,其他情况该控件隐藏。 string name_freq = data.FirstData["Name"] as string;//获取字段值 if (name_freq.Contains("日")) { //getControlByName("drugsUse", "quan_firday_mp").Enabled = true;//首日执行次数 //getControlByName("drugsUse", "work_time").Enabled = false;//首日执行时间 } else { //getControlByName("drugsUse", "quan_firday_mp").Enabled = false;//首日执行次数 //getControlByName("drugsUse", "work_time").Enabled = false;//首日执行时间 } string code_freq = data.FirstData["Code"] as string;//获取字段值 if (code_freq == "once") { EmsHeadDO.Emsdrugs.Fg_long = false; //长临标识 变临时 getControlByName("drugsUse", "fg_long").Enabled = false; // EmsHeadDO.Emsdrugs.Dt_end_ui = EmsHeadDO.Emsdrugs.Dt_begin_ui; } else { // getControlByName("drugsUse", "fg_long").Enabled = true;// } //长临标识可更改 if (data.FirstData["Fg_long_edit"].ToString() == "Y") { getControlByName("drugsUse", "fg_long").Enabled = true; } else { getControlByName("drugsUse", "fg_long").Enabled = false; } if (EmsHeadDO.Emsdrugs.Fg_long == false) { //如果是临时的 使用天数和结束日期置灰 getControlByName("drugsUse", "Use_days").Enabled = false; getControlByName("drugsUse", "dt_end_ui").Enabled = false; } else { getControlByName("drugsUse", "Use_days").Enabled = true; getControlByName("drugsUse", "dt_end_ui").Enabled = true; } } else if (e.BindingFieldName.Equals("Name_unit_sale")) { cof.GetDrugTotal(EmsHeadDO); } }
//void btnOK_MouseClick(object sender, MouseEventArgs e) //{ // xapFormControl1.SaveForm(); // this.Save(this); // EmsHeadDO.Sd_srvtp=""; //} //频次 protected override void OnRefResult(object sender, RefResultEventArgs e) { RefDataCollection data = e.RefResultSet; if (data == null || data.Count == 0) { this.ShowInfo("频次为空"); return; } if (e.BindingFieldName == "Name_freq") { string id_freq = data.FirstData["Id_freq"] as string;//获取字段值 string frequnit = data.FirstData["Id_freq"] as string; int freqct = int.Parse(data.FirstData["Freqct"].ToString()); EmsHeadDO.Emsdrugs.Freqct = int.Parse(data.FirstData["Freqct"].ToString()); EmsHeadDO.Emsdrugs.Sd_frequnitct = data.FirstData["Sd_frequnitct"] as string; GetDoseDrugData(id_freq); EmsHeadDO.Emsdrugs.Work_time = cof.GetWorkTime(id_freq); this.setTime_cur(); setQauntum(this.EmsHeadDO.Emsdrugs.Times_cur); fgoutstate(); } //新增时候 参照写会 EmsOrDrug drugNew = xapFormControl1.GetFocused <EmsOrDrug>("drug"); if (e.BindingFieldName.Equals("Name_srv")) { 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 = ""; return; } int focuIndex = gv.DataTable.FocusedRow.Index; if (data.FirstData["Id_srv"] == null) { return; } string id_srv = data.FirstData["Id_srv"] as string; string fg_ctm = data.FirstData["Fg_ctm"] as string; if (fg_ctm == null || "N" == fg_ctm) { drugNew.PropertyChanged -= new System.ComponentModel.PropertyChangedEventHandler(item_PropertyChanged); XapDataList <EmsOrDrug> drugs = cof.GetSrvMm(EmsHeadDO, id_srv, EmsHeadDO.PatInfo.Code_entp); if (drugs.Count > 0) { //执行科室填充 DrugUtils.fillExecDetps(drugs, EmsHeadDO.Emsdrugs.Id_route, EmsHeadDO.PatInfo); foreach (EmsOrDrug ems in drugs) { if (EmsHeadDO.Emsdrugs.EmsOrDrug.Contains(ems)) { continue; } EmsHeadDO.Emsdrugs.EmsOrDrug.Add(ems); } EmsOrDrug drugRef = drugs.FirstOrDefault(); if (drugRef.Fg_skintest != null && drugRef.Fg_skintest == true) { SkinTestLogic logic = new SkinTestLogic(EmsHeadDO.PatInfo); if (logic.skinTestLogic(drugRef).Equals("0")) { return; } } cof.CopyTo(drugRef, drugNew, "Id_srv", "Name_srv"); cof.concateMMSpecAndName(drugNew); cof.concateExtNote(new XapDataList <EmsOrDrug> { drugNew }, EmsHeadDO.PatInfo, EmsHeadDO); //新启动一个线程设置服务的物品库存信息 cof.threadSetMaterialInfoOfDrug(drugs, middle); this.setTime_cur(); setQauntum(this.EmsHeadDO.Emsdrugs.Times_cur); //毒麻药品核对患者信息 //if (cof.verifyPois(drugNew.Fg_pois.Value, drugNew.Sd_pois)) //{ // OrSrvAgentInfoDO agentInfo = cof.newOrSrvAgentInfoDOFromBanner(EmsHeadDO.PatInfo); // if (drugNew.Agentinfolist == null) { // drugNew.Agentinfolist = new FArrayList(); // } // drugNew.Agentinfolist.Add(agentInfo); // CheckPatAgentInfoDialog dialog = new CheckPatAgentInfoDialog(agentInfo); // dialog.ShowDialog(); //} } else { this.ShowInfo("服务未绑定物品,请与信息科联系!", "提示"); 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 = ""; return; } } else { //参照回写是自定义服务时的操作 handleRefResultSrvIsFtmSrv(drugNew); } } this.updateTableCustomerComtrol(); }
//频次 protected override void OnRefResult(object sender, RefResultEventArgs e) { //长临标志:根据选择的频次,默认读取BD_FREQ. fg_long显示长临标志。 if (e.BindingFieldName == "Name_freq") { RefDataCollection data = e.RefResultSet; string id_freq = data.FirstData["Id_freq"] as string;//获取字段值 this.EmsHeadDO.Emsdrugs.Sd_frequnitct = data.FirstData["Sd_frequnitct"] as string; this.EmsHeadDO.Emsdrugs.Freqct = null; if (data.FirstData["Freqct"].ToString() != "") { this.EmsHeadDO.Emsdrugs.Freqct = int.Parse(data.FirstData["Freqct"].ToString()); } this.EmsHeadDO.Emsdrugs.Fg_long = data.FirstData["Fg_long"].ToString() == "Y" ? true : false; //可将下面放到算法里 if (data.FirstData["Fg_prnor"].ToString() == "Y")// 备用医嘱 true 并且 长临为 临时 { XLabelBaseUserRender tmpRender = cof.getControlByName(xapFormControl1, "drugsUse", "fg_long"); int h = 0;//高度变动值 if (tmpRender.ValueCode == "False") { if (cof.getControlByName(xapFormControl1, "drugsUse", "dt_fail").Visible == false) { h += 29; } cof.getControlByName(xapFormControl1, "drugsUse", "dt_fail").Visible = true;//临时医嘱失效日期 this.EmsHeadDO.Emsdrugs.Dt_fail = cof.GetSpareEndTime(this.EmsHeadDO.Emsdrugs.Dt_begin_ui.Value); dt_fail.MinDate = this.EmsHeadDO.Emsdrugs.Dt_begin_ui.Value.AddDays(-1); dt_fail.MaxDate = this.EmsHeadDO.Emsdrugs.Dt_begin_ui.Value.AddHours(this.Context.GetOrgParam <int>(ICiOrdNSysParamConst.SYS_PARAM_TemporaryPrnOrValidTime));; cof.getControlByName(xapFormControl1, "drugsUse", "bak_des").ValueText = ""; } else { if (cof.getControlByName(xapFormControl1, "drugsUse", "dt_fail").Visible == true) { h += -29; } cof.getControlByName(xapFormControl1, "drugsUse", "dt_fail").Visible = false;//长期医嘱失效日期禁用 this.EmsHeadDO.Emsdrugs.Dt_fail = null; this.EmsHeadDO.Emsdrugs.Use_days = null; cof.getControlByName(xapFormControl1, "drugsUse", "bak_des").ValueText = "执行最小间隔时间:6小时。"; } if (cof.getControlByName(xapFormControl1, "drugsUse", "bak_des").Visible == false) { h += 29; } cof.setFreqctMaxMin(this.EmsHeadDO, xapFormControl1); cof.getControlByName(xapFormControl1, "drugsUse", "bak_des").Visible = true; cof.adjustHeight(this.xapFormControl1, "drugsUse", adjustHeightIds, h); //this.xapFormControl1.Invalidate(); this.xapFormControl1.Refresh(); } else { int h = 0; if (cof.getControlByName(xapFormControl1, "drugsUse", "dt_fail").Visible == true) { h += -29; } cof.getControlByName(xapFormControl1, "drugsUse", "dt_fail").Visible = false;//临时医嘱失效日期 if (cof.getControlByName(xapFormControl1, "drugsUse", "bak_des").Visible == true) { h += -29; } cof.getControlByName(xapFormControl1, "drugsUse", "bak_des").Visible = false; //cof.adjustHeight(this.xapFormControl1,"drugsUse", adjustHeightIds, 20, "up"); cof.getControlByName(xapFormControl1, "drugsUse", "bak_des").ValueText = ""; this.EmsHeadDO.Emsdrugs.Dt_fail = null; cof.adjustHeight(this.xapFormControl1, "drugsUse", adjustHeightIds, h); this.xapFormControl1.Refresh(); } //首日执行 只针对频次周期类型为‘天’的医嘱才可录入和显示首日执行次数,其他情况该控件隐藏。 string name_freq = data.FirstData["Name"] as string;//获取字段值 if (name_freq.Contains("日")) { cof.getControlByName(xapFormControl1, "drugsUse", "quan_firday_mp").Enabled = true; //首日执行次数 cof.getControlByName(xapFormControl1, "drugsUse", "work_time").Enabled = false; //首日执行时间 GetMpTimes(id_freq); } else { cof.getControlByName(xapFormControl1, "drugsUse", "quan_firday_mp").Enabled = false; //首日执行次数 cof.getControlByName(xapFormControl1, "drugsUse", "work_time").Enabled = false; //首日执行时间 } string code_freq = data.FirstData["Code"] as string; //获取字段值 if (code_freq == "once") { this.EmsHeadDO.Emsdrugs.Fg_long = false; //长临标识 变临时 cof.getControlByName(xapFormControl1, "drugsUse", "fg_long").Enabled = false; // this.EmsHeadDO.Emsdrugs.Dt_end_ui = this.EmsHeadDO.Emsdrugs.Dt_begin_ui; } else { // cof.getControlByName(xapFormControl1,"drugsUse", "fg_long").Enabled = true;// } //长临标识可更改 if (data.FirstData["Fg_long_edit"].ToString() == "Y") { cof.getControlByName(xapFormControl1, "drugsUse", "fg_long").Enabled = true; } else { cof.getControlByName(xapFormControl1, "drugsUse", "fg_long").Enabled = false; } if (this.EmsHeadDO.Emsdrugs.Fg_long == false) //如果是临时的 使用天数和结束日期置灰 { cof.getControlByName(xapFormControl1, "drugsUse", "Use_days").Enabled = false; cof.getControlByName(xapFormControl1, "drugsUse", "dt_end_ui").Enabled = false; } else { cof.getControlByName(xapFormControl1, "drugsUse", "Use_days").Enabled = true; cof.getControlByName(xapFormControl1, "drugsUse", "dt_end_ui").Enabled = true; } } else if (e.BindingFieldName.Equals("Name_unit_sale")) { cof.GetDrugTotal(this.EmsHeadDO); } }
protected override void OnRefResult(object sender, RefResultEventArgs e) { RefDataCollection data = e.RefResultSet; if (data.Count == 0) { return; } if (e.BindingFieldName == "Name_freq") { if (e.RefResultSet.IsEmpty) { return; } string id_freq = data.FirstData["Id_freq"] as string;//获取字段值 this.EmsHeadDO.Emsdrugs.Sd_frequnitct = data.FirstData["Sd_frequnitct"] as string; this.EmsHeadDO.Emsdrugs.Freqct = null; if (data.FirstData["Freqct"].ToString() != "") { this.EmsHeadDO.Emsdrugs.Freqct = int.Parse(data.FirstData["Freqct"].ToString()); } this.EmsHeadDO.Emsdrugs.Fg_long = data.FirstData["Fg_long"].ToString() == "Y" ? true : false; } string code_freq = data.FirstData["Code"] as string;//获取字段值 if (code_freq == "once") { this.EmsHeadDO.Emsdrugs.Fg_long = false;//长临标识 变临时 //getControlByName("drugsUse", "fg_long").Enabled = false;// this.EmsHeadDO.Emsdrugs.Dt_end_ui = this.EmsHeadDO.Emsdrugs.Dt_begin_ui; } if (e.BindingFieldName.Equals("Name_srv")) { //新增时候 参照写会 EmsOrDrug drugNew = gv.GetFocusedRow().RowDataSource as EmsOrDrug; string strSrv = data.FirstData["Name"].ToString(); if (this.EmsHeadDO.Emsdrugs.EmsOrDrugList.Count(p => p.Name_srv == strSrv) > 1) { this.ShowInfo("存在相同的服务!"); drugNew.Name_srv = null; drugNew.Id_srv = null; return; } drugNew.Quan_med = data.FirstData["Quan_med"] == null?null:new FDouble(data.FirstData["Quan_med"].ToString()); XapDataList <EmsOrDrug> drugs = cof.GetSrvMm(this.EmsHeadDO, drugNew.Id_srv, this.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 }, this.EmsHeadDO.PatInfo, this.EmsHeadDO); } else { this.ShowInfo("服务未绑定物品,请与信息科联系!", "提示"); drugNew.Id_srv = ""; drugNew.Name_srv = ""; drugNew.Name_mm = ""; drugNew.Id_mm = ""; drugNew.Spec_mm = ""; drugNew.Quan_med = null; drugNew.Name_unit_med = ""; drugNew.Quan_cur = null; drugNew.Name_unit_sale = ""; return; } } }
/// <summary> /// 引用参照结果处理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected override void OnXapFormControl_RefResult(object sender, RefResultEventArgs e) { RefDataCollection data = e.RefResultSet; var drug = e.DataObject as EmsOrDrug; if (!this.GetViewModel().IsEmpty() && this.GetViewModel().OnRefResultData(e.BindingFieldName, drug)) { this.updateCustomerControlInfo(this.GetGridControl().GetFocusedRow(), drug); this.SentNotify(EventCodeType.NM_EMS_ORSRV_DATACHANGED); return; } // 判断是否清空参照数据,则执行清空医疗单数据操作 if (e.BindingFieldName.Equals("Name_srv")) { // 如果清空了参照服务内容 if (data.IsEmpty && (this.GetViewModel().IsEmpty() || this.GetViewModel().GetCountWithOutDelete() <= 1)) { // 新建 或者 存储模型的id_or为空,则直接关闭 var emsUIDTO = this.GetViewModel().GetEmsUIDTO() as EmsUIDTO; if (null == emsUIDTO || emsUIDTO.IsNEW || String.IsNullOrEmpty(this.GetViewModel().getCiEmsDTO().Id_or)) { SentNotify(EventCodeType.NM_EMS_CLOSE); } return; } if (string.IsNullOrEmpty(drug.Id_srv)) { this.UnRegFormEvent_DataChanged(); string id_orsrv = drug.Id_orsrv; GetLogicEx().Clear <EmsOrDrug>(drug, new String[] { "Status" }); drug.Id_orsrv = id_orsrv; this.RegFormEvent_DataChanged(); return; } // 获取 BDSrvDO 数据 //var service = XapServiceMgr.find<IMedsrvMDOCrudService>(); //var medSrvDO = service.findById((e.DataObject as EmsOrDrug).Id_srv); var orDrug = e.DataObject as EmsOrDrug; //Ent4BannerDTO patDo = this.Context["banner"] as Ent4BannerDTO; Ent4BannerDTO patDo = this.GetViewModel().GetEnt4BannerDTO(); List <MedicalSharingDTO> infoMedicalSharing = null; CiEnContextDTO ciEnContextDto = CiEnContextUtil.GetCiEnContext(patDo, EmsAppModeEnum.SVEMSAPPMODE, this.Context);//诊断是否保外的 if (patDo != null && ciEnContextDto != null && ciEnContextDto.Eu_hpbeyond == HpBeyondEnum.HPDIAG && !EnDictCodeConst.SD_ENTP_EMERGENCY.Equals(patDo.Code_entp) && patDo.No_hp != null && patDo.Sd_hptp != null && patDo.Sd_hptp.StartsWith("1")) { MedicalSharingDTO[] arrMedicalSharingDtos = new MedicalSharingDTO[1]; MedicalSharingDTO medicalSharing = new MedicalSharingDTO(); medicalSharing.Code = orDrug.Code_hpsrvorca; medicalSharing.Name_srv = orDrug.Name_srv; medicalSharing.Sd_srvtp = orDrug.Sd_srvtp; arrMedicalSharingDtos[0] = medicalSharing; infoMedicalSharing = MedicalSharingDateRule.MedicalSharingValidate(this.Context, arrMedicalSharingDtos, patDo); } if (infoMedicalSharing != null && infoMedicalSharing.Count > 0) { //弹出医保共享信息 using (MedicalSharingInfoForm from = new MedicalSharingInfoForm(infoMedicalSharing)) { if (from.ShowDialog() == DialogResult.OK) { orDrug.Fg_selfpay = FBoolean.True; AsynchronousHandle(orDrug); } else { GetLogicEx().clearEmsOrDrugPropety(orDrug); } } } else { // 异步调用 //delegateRunnable.DelayCall(AsynchronousHandle, orDrug); AsynchronousHandle(orDrug); } } else { this.SentNotify(EventCodeType.NM_EMS_ORSRV_DATACHANGED, e.BindingFieldName, "Name_freq"); } }