/// <summary> /// 弹出物品选择器 /// </summary> /// <param name="ds"></param> /// <param name="def"></param> /// <param name="atPoint"></param> private void ShowMmSelector(XDataRow row, List <EmsOrDrug> ds, EmsOrDrug def, Point atPoint, bool canEdit = true) { var mmContainer = new XBaseControl(); mmContainer.Size = new Size(473, 160); var query = from items in ds orderby items.Fact_count descending select items; var mm = new ExtMmRefView(LogicEx.GetInstance().ConvertDataSouse <EmsOrDrug>(query.ToList()), def, false); mm.Dock = DockStyle.Fill; mmContainer.AddRender(mm); var popWindow = new XContextForm(mmContainer); mm.Event_SelectChanged += (sender, e) => { EmsOrDrug orDrug = EmsHeadDO.Emsdrugs.EmsOrDrugList[gv.FocusedRowHandle]; var mmDrug = e.Data as EmsOrDrug; if (mmDrug == null) { if (orDrug.Fg_self == true) { orDrug.Name_mm = orDrug.Name_srv; orDrug.Id_mm = null; } popWindow.Close(); return; } #region 皮试逻辑的判断 if (mmDrug.Fg_skintest != null && mmDrug.Fg_skintest == true) { SkinTestLogic logic = new SkinTestLogic(EmsHeadDO.PatInfo); orDrug.Name_mm = mmDrug.Name_mm; orDrug.Id_mm = mmDrug.Id_mm; orDrug.Id_srvskin = mmDrug.Id_srvskin; if (logic.skinTestLogic(orDrug).Equals("0")) { popWindow.Close(); return; } } #endregion cof.CopyTo(mmDrug, orDrug, "Id_srv", "Name_srv"); cof.concateMMSpecAndName(orDrug); orDrug.Fg_mm = true; updateTableCustomerComtrol(); popWindow.Close(); }; popWindow.Show(atPoint); mm.Enabled = canEdit; }
void xapFormControl1_ModelFilled(object sender, EventArgs e) { EmsHeadDO.Emsdrugs.EmsOrDrug = cof.MmSortList(EmsHeadDO.Emsdrugs.EmsOrDrug); gv.DataTable.DataSource = EmsHeadDO.Emsdrugs.EmsOrDrugList; drugBindPropertyEventAndCacheUnimed(EmsHeadDO.Emsdrugs.EmsOrDrugList); SetGridPolicy(!IsReadOnly); if (cof.IsAntDrug(EmsHeadDO.Emsdrugs.Id_srv)) { getControlByName("drugsUse", "fg_treat").Visible = true; //治疗用药 getControlByName("drugsUse", "fg_propc").Visible = true; //预防用药 } else { getControlByName("drugsUse", "fg_treat").Visible = false; //治疗用药 getControlByName("drugsUse", "fg_propc").Visible = false; //预防用药 } //自定义服务处理 if (EmsHeadDO.Emsdrugs.EmsOrDrugList[0] != null && (EmsHeadDO.Emsdrugs.EmsOrDrugList[0].Fg_ctm == null || EmsHeadDO.Emsdrugs.EmsOrDrugList[0].Fg_ctm == false)) { gv.DataTable.Columns[0].ReadOnly = true; } else { gv.DataTable.Columns[0].ReadOnly = false; } if (gv != null) { gv.DataTable.DataSource = EmsHeadDO.Emsdrugs.EmsOrDrugList; //加载时为自定义服务药品列表绑定事件,并缓存自定义服务的剂量单位 zwq 2016-07-18 drugBindPropertyEventAndCacheUnimed(EmsHeadDO.Emsdrugs.EmsOrDrugList); cof.threadSetMaterialInfoOfDrug(EmsHeadDO.Emsdrugs.EmsOrDrug, middle); } bEdit_Note_or = !this.EmsHeadDO.IsNEW; if (EmsHeadDO.IsNEW) { cof.SetNoteOr(this.EmsHeadDO); this.setTime_cur(); setQauntum(this.EmsHeadDO.Emsdrugs.Times_cur); if (EmsHeadDO.Emsdrugs.EmsOrDrugList[0].Fg_ctm == true) { return; } if (EmsHeadDO.Emsdrugs.EmsOrDrugList[0].Fg_skintest != null && EmsHeadDO.Emsdrugs.EmsOrDrugList[0].Fg_skintest == true) { SkinTestLogic logic = new SkinTestLogic(EmsHeadDO.PatInfo); logic.skinTestLogic(EmsHeadDO.Emsdrugs.EmsOrDrugList[0]); } //设置结束时间和停止标志 setEndTime(); } updateTableCustomerComtrol(); }
public void run() { if (emsordrug.Fg_skintest != null && emsordrug.Fg_skintest == true) { if (emsordrug.Fg_skintest != null && emsordrug.Fg_skintest == true) { SkinTestLogic logic = new SkinTestLogic(PatInfo); if (logic.skinTestLogic(emsordrug).Equals("0")) { return; } } } }
void xapFormControl1_ModelFilled(object sender, EventArgs e) { EmsHeadDO.Emsdrugs.EmsOrDrug = cof.MmSortList(EmsHeadDO.Emsdrugs.EmsOrDrug); gv.DataTable.DataSource = EmsHeadDO.Emsdrugs.EmsOrDrugList; drugBindPropertyEventAndCacheUnimed(EmsHeadDO.Emsdrugs.EmsOrDrugList); foreach (EmsOrDrug item in EmsHeadDO.Emsdrugs.EmsOrDrugList) { if (true == item.Fg_ctm) { item.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(item_PropertyChanged); } if (!cacheUnitMed.ContainsKey(item.Id_unit_med)) { cacheUnitMed.Add(item.Id_unit_med, item.Name_unit_med); } } if (gv != null) { gv.DataTable.DataSource = EmsHeadDO.Emsdrugs.EmsOrDrugList; //加载时为自定义服务药品列表绑定事件,并缓存自定义服务的剂量单位 zwq 2016-07-18 drugBindPropertyEventAndCacheUnimed(EmsHeadDO.Emsdrugs.EmsOrDrugList); cof.threadSetMaterialInfoOfDrug(EmsHeadDO.Emsdrugs.EmsOrDrug, middle); } fgoutstate(); SetGridPolicy(!IsReadOnly); if (EmsHeadDO.Emsdrugs.EmsOrDrugList[0].Fg_skintest != null && EmsHeadDO.Emsdrugs.EmsOrDrugList[0].Fg_skintest == true) { SkinTestLogic logic = new SkinTestLogic(EmsHeadDO.PatInfo); logic.skinTestLogic(EmsHeadDO.Emsdrugs.EmsOrDrugList[0]); } bEdit_Note_or = !this.EmsHeadDO.IsNEW; if (EmsHeadDO.IsNEW) { cof.SetNoteOr(this.EmsHeadDO); this.setTime_cur(); setQauntum(this.EmsHeadDO.Emsdrugs.Times_cur); if (EmsHeadDO.Emsdrugs.EmsOrDrugList[0].Fg_ctm == true) { return; } if (EmsHeadDO.Emsdrugs.EmsOrDrugList[0].Fg_skintest != null && EmsHeadDO.Emsdrugs.EmsOrDrugList[0].Fg_skintest == true) { SkinTestLogic logic = new SkinTestLogic(EmsHeadDO.PatInfo); logic.skinTestLogic(EmsHeadDO.Emsdrugs.EmsOrDrugList[0]); } setEndTime(); } updateTableCustomerComtrol(); }
public static string CheckTestSkinSrv(XapBaseControl ctrl, EmsOrDrug drug, Ent4BannerDTO patInfo) { //数据回写后,进行皮试判断 if (drug.Fg_skintest != null && drug.Fg_skintest == true) { SkinTestLogic logic = new SkinTestLogic(patInfo); string code = logic.skinTestLogic(drug); if ("0".Equals(code)) //皮试为阳性,禁用 { return("患者存在该药品过敏史并禁用该药!"); } else if ("9".Equals(code)) { return("患者存在该药品过敏史,未录入强制使用原因,禁用该药!"); } } return(""); }
/// <summary> /// 判断皮试结果 /// </summary> /// <param name="drug">物品</param> /// <param name="skinTestRst">皮试结果</param> /// <param name="patInfo">患者信息</param> /// <returns></returns> public static string CheckSkinTestRst(EmsOrDrug drug, SkinTestRstDTO skinTestRst, Ent4BannerDTO patInfo) { //数据回写后,进行皮试判断 if (drug.Fg_skintest != null && drug.Fg_skintest == true) { SkinTestLogic logic = new SkinTestLogic(patInfo); string code = logic.CheckSkinTestRst(drug, skinTestRst); if ("0".Equals(code)) {//皮试为阳性,禁用 return(""); //return "患者存在该药品过敏史并禁用该药!"; } else if ("9".Equals(code)) { return("患者存在该药品过敏史,未录入强制使用原因,禁用该药!"); } } return(null); }
//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(); }