public CiOrderDO New_Save() { this.uiEmsDTO.Emsapcons.Id_srvof = emsMgrDTO.Id_ems; //处理草药的代煎付数 if (true == this.uiEmsDTO.Emsdrugs.Fg_boil) { this.uiEmsDTO.Emsdrugs.Orders_boil = this.uiEmsDTO.Emsdrugs.Orders; } else { this.uiEmsDTO.Emsdrugs.Orders_boil = 0; } this.uiEmsDTO.Emsdrugs.EmsOrDrugListEx.Clear(); XapDataList <EmsOrDrug> drugList = this.uiEmsDTO.Emsdrugs.EmsOrDrugList; foreach (EmsOrDrug drug in this.uiEmsDTO.Emsdrugs.EmsOrDrugList) { this.uiEmsDTO.Emsdrugs.EmsOrDrugListEx.Add(drug); } EmsRstDTO rst = SaveRemote(this.uiEmsDTO.Emsdrugs); if (rst != null) { return((rst.Document[0] as CiorderAggDO).getParentDO()); } return(null); }
/// <summary> /// 优化后方法 /// </summary> /// <param name="emsCreateParameter"></param> /// <param name="pos"></param> /// <returns></returns> private bool New_LoadMedSrv(EmsCreatedParameter emsCreateParameter, int pos) { base.LoadMedSrv(emsCreateParameter, pos); MedSrvDO med = emsCreateParameter.getMedSrvDO(); this.uiEmsDTO.MedSrvDO = med; var ub = GetCustomParam() as CiordubDTO; Dictionary <String, Object> ctmInfo = new Dictionary <string, object>(); ctmInfo.Add("CustomInfo", ub.Id_or_rel); EmsRstDTO[] rsts = CreateRemote(med.Id_srv, null, ctmInfo); EmsRstDTO rst = rsts[0]; if (rst != null) { if (null == this.uiEmsDTO.CiordubDTO) { this.uiEmsDTO.CiordubDTO = new CiordubDTO(); } uiEmsDTO.CiordubDTO.deSerializeJson((rst.Document[0] as CiordubDTO).serializeJson()); //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString)); //uiEmsDTO.CiordubDTO.deSerializeJson(utf8Str); if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO")) { this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO; } tableDatasource.Add(this.uiEmsDTO.CiordubDTO); } return(true); }
/// <summary> /// 新建医疗单 /// </summary> /// <param name="emsCreatedParameter"></param> /// <param name="pos"></param> /// <returns></returns> public override bool LoadMedSrv(EmsCreatedParameter emsCreatedParameter, int pos) //EmsCreateParameter { base.LoadMedSrv(emsCreatedParameter, pos); MedSrvDO med = emsCreatedParameter.getMedSrvDO(); this.uiEmsDTO.MedSrvDO = med; EmsRstDTO[] rsts = CreateRemote(med.Id_srv); EmsRstDTO rst = rsts[0]; if (rst != null) { uiEmsDTO.Emsapop.deSerializeJson((rst.Document[0] as EmsOpitemDO).serializeJson()); //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString)); //uiEmsDTO.Emsapop.deSerializeJson(utf8Str); if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO")) { this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO; strSd_srvtp = this.uiEmsDTO.MedSrvDO.Sd_srvtp; } tableDatasource.Clear(); tableDatasource.Add(uiEmsDTO.Emsapop); //this.LoadIndicatorData(); // 动态指标 if (null != uiEmsDTO.Emsapop.OpCheckIndicatorList) { uiEmsDTO.Emsapop.OpCheckIndicatorList.Cast <OrdApSugViewItemDO>().ToList().ForEach(item => { uiEmsDTO.Emsapop.OpLabItem.Add(item); }); } } return(true); }
/// <summary> /// 加载病理数据 /// </summary> /// <param name="medSrvDO"></param> public override bool LoadMedSrv(EmsCreatedParameter emsCreatedParameter, int pos) { base.LoadMedSrv(emsCreatedParameter, pos); MedSrvDO medSrvDO = emsCreatedParameter.getMedSrvDO(); this.uiEmsDTO.MedSrvDO = medSrvDO; EmsRstDTO[] rsts = CreateRemote(medSrvDO.Id_srv); EmsRstDTO rst = rsts[0]; if (rst != null) { uiEmsDTO.Emsappathgy.deSerializeJson((rst.Document[0] as EmsPathgyItemDO).serializeJson()); //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString)); //uiEmsDTO.Emsappathgy.deSerializeJson(utf8Str); if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO")) { this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO; strSd_srvtp = this.uiEmsDTO.MedSrvDO.Sd_srvtp; } this.lstEmsPathgyItemDO.Clear(); if (uiEmsDTO.Emsappathgy.EmsItemInpathgy.Count <= 0) { uiEmsDTO.Emsappathgy.EmsItemInpathgy.AddNew(); uiEmsDTO.Emsappathgy.EmsItemInpathgy[0].Sortno = 1; } this.lstEmsPathgyItemDO.Add(uiEmsDTO.Emsappathgy); } return(true); }
/// <summary> /// 从服务项新建医疗单医嘱条目 /// </summary> /// <param name="med"></param> /// <param name="pos"></param> /// <returns></returns> public override bool LoadMedSrv(EmsCreatedParameter emsCreateParameter, int pos) //EmsCreateParameter { base.LoadMedSrv(emsCreateParameter, pos); MedSrvDO med = emsCreateParameter.getMedSrvDO(); // 暂存药品服务 this.uiEmsDTO.MedSrvDO = med; EmsRstDTO[] rsts = CreateRemote(med.Id_srv); EmsRstDTO rst = rsts[0]; if (rst != null) { uiEmsDTO.Emsapcons.deSerializeJson((rst.Document[0] as EmsConsItemDO).serializeJson()); //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString)); //uiEmsDTO.Emsapcons.deSerializeJson(utf8Str); if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO")) { this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO; this.strSd_srvtp = this.uiEmsDTO.MedSrvDO.Sd_srvtp; } this.uiEmsDTO.Emsapcons.Dt_begin_ui = this.uiEmsDTO.Emsapcons.Dt_begin_ui == null?this.NowTime() : this.uiEmsDTO.Emsapcons.Dt_begin_ui; this.uiEmsDTO.Emsapcons.Use_days = 1; this.uiEmsDTO.Emsapcons.Dt_end_ui = ((DateTime)this.uiEmsDTO.Emsapcons.Dt_begin_ui).AddDays((int)this.uiEmsDTO.Emsapcons.Use_days); this.uiEmsDTO.Emsapcons.Times_cur = CalQuantumUtil.GetInstance().getTotalTimes(med.Id_freq, this.uiEmsDTO.Emsapcons.Use_days); this.tableDataSource.Clear(); this.tableDataSource.Add(uiEmsDTO.Emsapcons); if (this.uiEmsDTO.Emsapcons.ConsAssList != null) { if (null == this.uiEmsDTO.Emsapcons.EmsConsAssistItem) { this.uiEmsDTO.Emsapcons.EmsConsAssistItem = new XapDataList <EmsItemInCons>(); } this.uiEmsDTO.Emsapcons.EmsConsAssistItem.Clear(); this.uiEmsDTO.Emsapcons.ConsAssList.Cast <EmsItemInCons>().ToList().ForEach(o => { this.uiEmsDTO.Emsapcons.EmsConsAssistItem.Add(o); }); } if (this.uiEmsDTO.Emsapcons.ConsItemList != null) { if (null == this.uiEmsDTO.Emsapcons.EmsConsItem) { this.uiEmsDTO.Emsapcons.EmsConsItem = new XapDataList <EmsItemInCons>(); } this.uiEmsDTO.Emsapcons.EmsConsItem.Clear(); this.uiEmsDTO.Emsapcons.ConsItemList.Cast <EmsItemInCons>().ToList().ForEach(o => { this.uiEmsDTO.Emsapcons.EmsConsItem.Add(o); }); } } return(true); }
/// <summary> /// 从药品服务项目创建医嘱 /// </summary> /// <param name="med"></param> public override bool LoadMedSrv(EmsCreatedParameter emsCreatedParameter, int pos) //EmsCreateParameter { base.LoadMedSrv(emsCreatedParameter, pos); MedSrvDO med = emsCreatedParameter.getMedSrvDO(); EmsRstDTO[] rsts = CreateRemote(med.Id_srv); EmsRstDTO rst = rsts[0]; if (rst != null) { uiEmsDTO.Emsaplab.deSerializeJson((rst.Document[0] as EmsObsItemDO).serializeJson()); //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString)); //uiEmsDTO.Emsaplab.deSerializeJson(utf8Str); if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO")) { this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO; strSd_srvtp = this.uiEmsDTO.MedSrvDO.Sd_srvtp; } // 处理执行科室过滤条件 if (null != rst.Extension && rst.Extension.Keys.Contains("MpDepFilter")) { this.strID_Dep_Mps = (String)rst.Extension["MpDepFilter"]; } if (this.uiEmsDTO.Emsaplab.EmsOrDrugListEx != null) { if (null == this.uiEmsDTO.Emsaplab.EmsOrDrugList) { this.uiEmsDTO.Emsaplab.EmsOrDrugList = new XapDataList <EmsOrDrug>(); } this.uiEmsDTO.Emsaplab.EmsOrDrugList.Clear(); this.uiEmsDTO.Emsaplab.EmsOrDrugListEx.Cast <EmsOrDrug>().ToList().ForEach(o => { this.uiEmsDTO.Emsaplab.EmsOrDrugList.Add(o); }); } // 处理套项目信息 if (this.uiEmsDTO.Emsaplab.EmsOrObsListEx != null) { if (null == this.uiEmsDTO.Emsaplab.EmsOrObsList) { this.uiEmsDTO.Emsaplab.EmsOrObsList = new XapDataList <EmsObsLap>(); } this.uiEmsDTO.Emsaplab.EmsOrObsList.Clear(); this.uiEmsDTO.Emsaplab.EmsOrObsListEx.Cast <EmsObsLap>().ToList().ForEach(o => { this.uiEmsDTO.Emsaplab.EmsOrObsList.Add(o); }); } } return(true); }
public CiOrderDO New_Save() { this.uiEmsDTO.Emsdrugs.Id_srvof = emsMgrDTO.Id_ems; this.uiEmsDTO.Emsdrugs.Status = this.uiEmsDTO.Status; EmsRstDTO rst = SaveRemote(this.uiEmsDTO.Emsdrugs); if (rst != null) { return((rst.Document[0] as CiorderAggDO).getParentDO()); } return(null); }
/// <summary> /// 编辑医嘱条目 /// </summary> /// <param name="ciOrderDO"></param> public override void EditOrder(ciorder.d.CiOrderDO ciOrderDO) { EmsRstDTO[] rsts = LoadRemote(ciOrderDO.Id_or); EmsRstDTO rst = rsts[0]; if (rst != null) { uiEmsDTO.Status = DOStatus.UPDATED; uiEmsDTO.Emsapcons.deSerializeJson((rst.Document[0] as EmsConsItemDO).serializeJson()); //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString)); //uiEmsDTO.Emsapcons.deSerializeJson(utf8Str); if (rst.Extension != null && rst.Extension.Keys.Contains("CiEmsDTO")) { this.ciEmsDTO = rst.Extension["CiEmsDTO"] as CiEmsDTO; } if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO")) { this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO; } // 附加手术项目 if (uiEmsDTO.Emsapcons.ConsAssList != null) { uiEmsDTO.Emsapcons.ConsAssList.Cast <EmsItemInCons>().ToList().ForEach(p => { uiEmsDTO.Emsapcons.EmsConsAssistItem.Add(p); }); if (uiEmsDTO.Emsapcons.EmsConsAssistItem.Count > 0) { uiEmsDTO.Emsapcons.Id_dep_emp = uiEmsDTO.Emsapcons.EmsConsAssistItem[0].Id_dep_emp; uiEmsDTO.Emsapcons.Name_dep_emp = uiEmsDTO.Emsapcons.EmsConsAssistItem[0].Name_dep_emp; uiEmsDTO.Emsapcons.Id_emp_doctor = uiEmsDTO.Emsapcons.EmsConsAssistItem[0].Id_emp_doctor; uiEmsDTO.Emsapcons.Name_emp_doctor = uiEmsDTO.Emsapcons.EmsConsAssistItem[0].Name_emp_doctor; } } // 状态处理 uiEmsDTO.Emsapcons.Status = uiEmsDTO.Status; this.tableDataSource.Add(uiEmsDTO.Emsapcons); this.ciEmsDTO.Status = DOStatus.UPDATED; this.uiEmsDTO.Status = DOStatus.UPDATED; // 处理分拣费用项目 HandleExpenseItems(ciEmsDTO); } }
public override void EditOrder(CiOrderDO ciOrderDO) { EmsRstDTO[] rsts = LoadRemote(ciOrderDO.Id_or); EmsRstDTO rst = rsts[0]; if (rst != null) { uiEmsDTO.Emsdrugs.deSerializeJson((rst.Document[0] as EmsDrugItemDO).serializeJson()); //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString)); //uiEmsDTO.Emsdrugs.deSerializeJson(utf8Str); if (rst.Extension != null && rst.Extension.Keys.Contains("CiEmsDTO")) { this.ciEmsDTO = rst.Extension["CiEmsDTO"] as CiEmsDTO; } if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO")) { this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO; } if (rst.Extension != null && rst.Extension.Keys.Contains("MpDepFilter")) { this.uiEmsDTO.Emsdrugs.Str_mp_dep_ids = rst.Extension["MpDepFilter"] as String; } if (rst.Extension != null && rst.Extension.Keys.Contains("id_dosages")) { id_dosages = rst.Extension["id_dosages"] as String; } if (this.uiEmsDTO.Emsdrugs.EmsOrDrugListEx != null) { if (null == this.uiEmsDTO.Emsdrugs.EmsOrDrugList) { this.uiEmsDTO.Emsdrugs.EmsOrDrugList = new XapDataList <EmsOrDrug>(); } this.uiEmsDTO.Emsdrugs.EmsOrDrugList.Clear(); this.uiEmsDTO.Emsdrugs.EmsOrDrugListEx.Cast <EmsOrDrug>().ToList().ForEach(o => { this.uiEmsDTO.Emsdrugs.EmsOrDrugList.Add(o); }); } this.uiEmsDTO.Emsdrugs.EmsOrDrug.Clear(); this.uiEmsDTO.Emsdrugs.EmsOrDrug.Add(this.uiEmsDTO.Emsdrugs.EmsOrDrugList.FirstOrDefault()); this.ciEmsDTO.Status = DOStatus.UPDATED; this.uiEmsDTO.Status = DOStatus.UPDATED; HandleExpenseItems(ciEmsDTO); } }
public override void EditOrder(CiOrderDO ciOrderDO) { EmsRstDTO[] rsts = LoadRemote(ciOrderDO.Id_or); EmsRstDTO rst = rsts[0]; if (rst != null) { uiEmsDTO.Emsapbt = rst.Document[0] as EmsBtItemDO; //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString)); //uiEmsDTO.Emsapbt.deSerializeJson(utf8Str); if (rst.Extension != null && rst.Extension.Keys.Contains("CiordubDTO")) { uiEmsDTO.CiordubDTO = rst.Extension["CiordubDTO"] as CiordubDTO; } if (rst.Extension != null && rst.Extension.Keys.Contains("CiEmsDTO")) { this.ciEmsDTO = rst.Extension["CiEmsDTO"] as CiEmsDTO; } if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO")) { this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO; this.strSd_srvtp = this.uiEmsDTO.MedSrvDO.Sd_srvtp; } tableDatasource = new XapDataList <EmsBtItemDO>(); this.tableDatasource.Add(uiEmsDTO.Emsapbt); if (this.uiEmsDTO.Emsapbt.BtLabItemEx != null) { if (null == this.uiEmsDTO.Emsapbt.BtLabItem) { this.uiEmsDTO.Emsapbt.BtLabItem = new XapDataList <OrdApSugViewItemDO>(); } this.uiEmsDTO.Emsapbt.BtLabItem.Clear(); this.uiEmsDTO.Emsapbt.BtLabItemEx.Cast <OrdApSugViewItemDO>().ToList().ForEach(o => { this.uiEmsDTO.Emsapbt.BtLabItem.Add(o); }); } } uiEmsDTO.Id_srvof = ciEmsDTO.Id_srvof; this.ciEmsDTO.Status = DOStatus.UPDATED; this.uiEmsDTO.Status = DOStatus.UPDATED; HandleExpenseItems(ciEmsDTO); }
public CiOrderDO New_Save() { EmsOrDrug ems = uiEmsDTO.Emsdrugs.EmsOrDrugList[0]; this.uiEmsDTO.Emsdrugs.Id_srv = ems.Id_srv; this.uiEmsDTO.Emsdrugs.Fg_selfpay = ems.Fg_selfpay; this.uiEmsDTO.Emsdrugs.Name_srv = ems.Name_srv; this.uiEmsDTO.Emsdrugs.Innercode_srvca = ems.Innercode_srvca; 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; this.uiEmsDTO.Emsdrugs.Id_srvtp = ems.Id_srvtp; this.uiEmsDTO.Emsdrugs.Sd_srvtp = ems.Sd_srvtp; this.uiEmsDTO.Emsdrugs.Fg_bl = ems.Fg_bl; //this.uiEmsDTO.Emsdrugs.Id_srvtp = ems.Id_srvtp; //this.uiEmsDTO.Emsdrugs.Sd_srvtp = ems.Sd_srvtp; this.uiEmsDTO.Emsdrugs.Fg_urgent = ems.Fg_urgent; this.uiEmsDTO.Emsdrugs.Id_srvof = emsMgrDTO.Id_ems; this.uiEmsDTO.Emsdrugs.Fg_selfpay = ems.Fg_selfpay; this.uiEmsDTO.Emsdrugs.EmsOrDrugListEx.Clear(); this.uiEmsDTO.Emsdrugs.EmsOrDrugListEx.Add(this.uiEmsDTO.Emsdrugs.EmsOrDrugList[0]); EmsRstDTO rst = SaveRemote(this.uiEmsDTO.Emsdrugs); if (rst != null) { return((rst.Document[0] as CiorderAggDO).getParentDO()); } return(null); }
public override bool LoadMedSrv(EmsCreatedParameter emsCreateParameter, int pos) //EmsCreateParameter { base.LoadMedSrv(emsCreateParameter, pos); MedSrvDO med = emsCreateParameter.getMedSrvDO(); uiEmsDTO.MedSrvDO = med; tableDatasource = new XapDataList <EmsBtItemDO>(); EmsRstDTO[] rsts = CreateRemote(med.Id_srv); EmsRstDTO rst = rsts[0]; if (rst != null) { uiEmsDTO.Emsapbt.deSerializeJson((rst.Document[0] as EmsBtItemDO).serializeJson()); //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString)); //uiEmsDTO.Emsapbt.deSerializeJson(utf8Str); if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO")) { this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO; this.strSd_srvtp = this.uiEmsDTO.MedSrvDO.Sd_srvtp; } if (rst.Extension != null && rst.Extension.Keys.Contains("MpDepFilter")) { strMpDeps = rst.Extension["MpDepFilter"] as String; } tableDatasource.Add(uiEmsDTO.Emsapbt); // 动态指标 if (null != uiEmsDTO.Emsapbt.BtLabItemEx) { uiEmsDTO.Emsapbt.BtLabItemEx.Cast <OrdApSugViewItemDO>().ToList().ForEach(item => { uiEmsDTO.Emsapbt.BtLabItem.Add(item); item.PropertyChanged += ordApSugViewItemDO_PropertyChanged; }); } } return(true); }
/// <summary> /// 优化后方法 /// </summary> /// <param name="ciOrderDO"></param> private void New_EditOrder(CiOrderDO ciOrderDO) { ICiEmsMainService emsMainService = XapServiceMgr.find <ICiEmsMainService>(); if (null != emsMainService) { EmsLoadDTO[] emsloads = new EmsLoadDTO[1]; var emsload = new EmsLoadDTO(); emsload.Id_or = ciOrderDO.Id_or; emsload.Extension = new FMap2(); emsload.EnContext = CiEnContextUtil.GetCiEnContext(this.GetEnt4BannerDTO(), this.GetContext()); emsload.EmsDriver = ((int)this.uiEmsDTO.EmsType).ToString(); emsloads[0] = emsload; EmsRstDTO[] rsts = emsMainService.load(emsloads); EmsRstDTO rst = rsts[0]; if (rst != null) { uiEmsDTO.CiordubDTO = (rst.Document[0] as CiordubDTO); //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString)); //uiEmsDTO.CiordubDTO.deSerializeJson(utf8Str); if (rst.Extension != null && rst.Extension.Keys.Contains("CiEmsDTO")) { this.ciEmsDTO = rst.Extension["CiEmsDTO"] as CiEmsDTO; } if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO")) { this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO; } tableDatasource = new XapDataList <CiordubDTO>(); this.tableDatasource.Add(uiEmsDTO.CiordubDTO); //其他处理 uiEmsDTO.Id_srvof = ciEmsDTO.Id_srvof; this.ciEmsDTO.Status = DOStatus.UPDATED; this.uiEmsDTO.Status = DOStatus.UPDATED; HandleExpenseItems(ciEmsDTO); } }//*/ }
/// <summary> /// 新病理后台保存逻辑调用 /// </summary> /// <returns></returns> private CiOrderDO New_Save() { this.uiEmsDTO.Emsappathgy.Id_srvof = emsMgrDTO.Id_ems; this.uiEmsDTO.Emsappathgy.EmsItemInpathgyList = new FArrayList(); foreach (var item in this.uiEmsDTO.Emsappathgy.EmsItemInpathgy) { this.uiEmsDTO.Emsappathgy.EmsItemInpathgyList.append(item); } EmsRstDTO rst = SaveRemote(this.uiEmsDTO.Emsappathgy); if (rst != null) { return((rst.Document[0] as CiorderAggDO).getParentDO()); } return(null); }
/// <summary> /// 新会诊远程保存逻辑调用 /// </summary> /// <returns></returns> public CiOrderDO New_Save() { ICiEmsMainService emsMainService = XapServiceMgr.find <ICiEmsMainService>(); if (null != emsMainService) { var emsSave = new EmsSaveDTO(); this.uiEmsDTO.Emsapcons.Id_srvof = emsMgrDTO.Id_ems; emsSave.Document = new FArrayList(); emsSave.Document.Add(this.uiEmsDTO.Emsapcons); emsSave.EnContext = CiEnContextUtil.GetCiEnContext(this.GetEnt4BannerDTO(), EmsAppModeEnum.SVEMSAPPMODE, OrSourceFromEnum.IIHSRVREF, this.GetContext()); emsSave.EmsDriver = ((int)this.uiEmsDTO.EmsType).ToString(); EmsRstDTO rst = emsMainService.save(emsSave); if (rst != null) { return((rst.Document[0] as CiorderAggDO).getParentDO()); } } return(null); }
public override bool LoadMedSrv(EmsCreatedParameter emsCreatedParameter, int pos) //EmsCreateParameter { base.LoadMedSrv(emsCreatedParameter, pos); MedSrvDO med = emsCreatedParameter.getMedSrvDO(); Dictionary <String, Object> ctmInfo = new Dictionary <string, object>(); ctmInfo.Add("CustomInfo", emsCreatedParameter.GetParameter() == null ? null : emsCreatedParameter.GetParameter().ToString()); EmsRstDTO[] rsts = CreateRemote(med.Id_srv, null, ctmInfo); EmsRstDTO rst = rsts[0]; if (rst != null) { uiEmsDTO.Emsdrugs.deSerializeJson((rst.Document[0] as EmsDrugItemDO).serializeJson()); //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString)); //uiEmsDTO.Emsdrugs.deSerializeJson(utf8Str); if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO")) { this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO; strSd_srvtp = this.uiEmsDTO.MedSrvDO.Sd_srvtp; } if (null != rst.Extension && rst.Extension.Keys.Contains("MpDepFilter")) { this.strMpDepFilter = (String)rst.Extension["MpDepFilter"]; } if (null != uiEmsDTO.Emsdrugs.EmsOrDrugListEx) { uiEmsDTO.Emsdrugs.EmsOrDrugList.Clear(); uiEmsDTO.Emsdrugs.EmsOrDrugListEx.Cast <EmsOrDrug>().ToList().ForEach(item => { uiEmsDTO.Emsdrugs.EmsOrDrugList.Add(item); }); } } return(true); }
public override bool LoadMedSrv(EmsCreatedParameter emsCreatedParameter, int pos) //EmsCreateParameter { base.LoadMedSrv(emsCreatedParameter, pos); MedSrvDO med = emsCreatedParameter.getMedSrvDO(); this.uiEmsDTO.MedSrvDO = med; EmsRstDTO[] rsts = CreateRemote(med.Id_srv); EmsRstDTO rst = rsts[0]; if (rst != null) { if (null != rst.Extension && rst.Extension.Keys.Contains("ErrMsgList")) { FArrayList errList = (FArrayList)rst.Extension["ErrMsgList"]; if (errList.Count > 0) { this.errorMsgString = errList.ToString(); return(false); } } uiEmsDTO.Emsapobs.deSerializeJson((rst.Document[0] as EmsObsItemDO).serializeJson()); //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString)); //uiEmsDTO.Emsapobs.deSerializeJson(utf8Str); if (null != rst.Extension && rst.Extension.Keys.Contains("MpDepFilter")) { this.strID_Dep_Mps = (String)rst.Extension["MpDepFilter"]; } if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO")) { this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO; strSd_srvtp = this.uiEmsDTO.MedSrvDO.Sd_srvtp; } this.uiEmsDTO.Emsapobs.EmsOrDrugList.Clear(); EmsOrDrug item = new EmsOrDrug(); item.Id_srv = this.uiEmsDTO.Emsapobs.Id_srv; item.Name_srv = this.uiEmsDTO.Emsapobs.Name_srv; item.Id_di = this.uiEmsDTO.Emsapobs.Id_di; item.Id_diitm = this.uiEmsDTO.Emsapobs.Id_diitm; item.Name_diag = this.uiEmsDTO.Emsapobs.Name_diag; item.Dt_plan = this.uiEmsDTO.Emsapobs.Dt_plan; item.Id_mp_dep = this.uiEmsDTO.Emsapobs.Id_mp_dep; item.Name_mp_dep = this.uiEmsDTO.Emsapobs.Name_mp_dep; item.Quan_med = this.uiEmsDTO.Emsapobs.Quan_med; item.Quan_medu_virtual = this.uiEmsDTO.Emsapobs.Quan_med; /////////添加检验、检查、诊疗多剂量多次执行,杨敬本20171111 item.Id_unit_med = this.uiEmsDTO.Emsapobs.Id_unit_med; item.Name_unit_med = this.uiEmsDTO.Emsapobs.Name_unit_med; item.Name_unit_medu_virtual = this.uiEmsDTO.Emsapobs.Name_unit_med; /////////添加检验、检查、诊疗多剂量多次执行,杨敬本20171111 item.Id_freq = uiEmsDTO.MedSrvDO.Id_freq; item.Name_freq = uiEmsDTO.MedSrvDO.Freq_name; item.Freqct = uiEmsDTO.MedSrvDO.Freqct; item.Sd_frequnitct = uiEmsDTO.MedSrvDO.Sd_frequnitct; item.Id_pri = uiEmsDTO.MedSrvDO.Id_primd; item.Use_days = this.uiEmsDTO.Emsapobs.Use_days; item.Quan_cur = this.uiEmsDTO.Emsapobs.Quan_cur; // CalQuantumUtil.GetInstance().getUnMMQuantum(item.Quan_med,this.uiEmsDTO.Emsapobs.Times_cur) ; item.Id_unit_sale = this.uiEmsDTO.Emsapobs.Id_unit_med; item.Name_unit_sale = this.uiEmsDTO.Emsapobs.Name_unit_med; //申请单号 item.No_applyform = this.uiEmsDTO.Emsapobs.No_applyobs; //检查目的 item.Id_pps = uiEmsDTO.Emsapobs.Id_pps; item.Sd_pps = uiEmsDTO.Emsapobs.Sd_pps; item.Name_pps = uiEmsDTO.Emsapobs.Des_pps; item.Totalprice = (item.Price == null ? 0 : item.Price); item.Price = this.uiEmsDTO.Emsapobs.Price; item.Id_mp_dep = this.uiEmsDTO.Emsapobs.Id_mp_dep; item.Name_mp_dep = this.uiEmsDTO.Emsapobs.Name_mp_dep; item.Fg_setradio = uiEmsDTO.MedSrvDO.Fg_setradio; this.uiEmsDTO.Emsapobs.EmsOrDrugList.Clear(); this.uiEmsDTO.Emsapobs.EmsOrDrugList.Add(item); if (this.uiEmsDTO.Emsapobs.EmsOrObsListEx != null) { if (null == this.uiEmsDTO.Emsapobs.EmsOrObsList) { this.uiEmsDTO.Emsapobs.EmsOrObsList = new XapDataList <EmsObsLap>(); } this.uiEmsDTO.Emsapobs.EmsOrObsList.Clear(); this.uiEmsDTO.Emsapobs.EmsOrObsListEx.Cast <EmsObsLap>().ToList().ForEach(o => { this.uiEmsDTO.Emsapobs.EmsOrObsList.Add(o); }); } } return(true); }
/// <summary> /// 编辑医疗单 /// </summary> /// <param name="ciOrderDO"></param> public override void EditOrder(ciorder.d.CiOrderDO ciOrderDO) { EmsRstDTO[] rsts = LoadRemote(ciOrderDO.Id_or); EmsRstDTO rst = rsts[0]; if (rst != null) { uiEmsDTO.Emsapop.deSerializeJson((rst.Document[0] as EmsOpitemDO).serializeJson()); //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString)); //uiEmsDTO.Emsapop.deSerializeJson(utf8Str); if (rst.Extension != null && rst.Extension.Keys.Contains("CiEmsDTO")) { this.ciEmsDTO = rst.Extension["CiEmsDTO"] as CiEmsDTO; } if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO")) { this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO; strSd_srvtp = this.uiEmsDTO.MedSrvDO.Sd_srvtp; } if (rst.Extension != null && rst.Extension.Keys.Contains("MpDepFilter")) { idDepMps = rst.Extension["MpDepFilter"] as String; } // 附加手术项目 if (uiEmsDTO.Emsapop.OpAppendList != null) { uiEmsDTO.Emsapop.OpAppendList.Cast <EmsItemInOp>().ToList().ForEach(p => { uiEmsDTO.Emsapop.OpAppendOpItem.Add(p); }); } // 手术人员 if (uiEmsDTO.Emsapop.OpPersonList != null) { uiEmsDTO.Emsapop.OpPersonList.Cast <EmsItemInOp>().ToList().ForEach(p => { uiEmsDTO.Emsapop.OpEmpItem.Add(p); }); } // 手术物品 if (uiEmsDTO.Emsapop.OpDrugList != null) { uiEmsDTO.Emsapop.OpDrugList.Cast <EmsItemInOp>().ToList().ForEach(p => { uiEmsDTO.Emsapop.OpMmItem.Add(p); }); } // 手术动态检查指标 if (uiEmsDTO.Emsapop.OpCheckIndicatorList != null) { uiEmsDTO.Emsapop.OpCheckIndicatorList.Cast <OrdApSugViewItemDO>().ToList().ForEach(p => { uiEmsDTO.Emsapop.OpLabItem.Add(p); }); } // 附加手术信息转换 this.OpAppendItem2OpexInfo(); tableDatasource.Add(uiEmsDTO.Emsapop); this.ciEmsDTO.Status = DOStatus.UPDATED; this.uiEmsDTO.Status = DOStatus.UPDATED; // 处理分拣费用项目 HandleExpenseItems(ciEmsDTO); } }
public override void EditOrder(CiOrderDO ciOrderDO) { EmsRstDTO[] rsts = LoadRemote(ciOrderDO.Id_or); EmsRstDTO rst = rsts[0]; if (rst != null) { uiEmsDTO.Emsaplab.deSerializeJson((rst.Document[0] as EmsObsItemDO).serializeJson()); //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString)); //uiEmsDTO.Emsaplab.deSerializeJson(utf8Str); if (rst.Extension != null && rst.Extension.Keys.Contains("CiEmsDTO")) { this.ciEmsDTO = rst.Extension["CiEmsDTO"] as CiEmsDTO; } if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO")) { this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO; strSd_srvtp = this.uiEmsDTO.MedSrvDO.Sd_srvtp; } this.ciEmsDTO.Times_cur = ciOrderDO.Times_cur; this.ciEmsDTO.Times_mp_in = ciOrderDO.Times_mp_in; if (this.uiEmsDTO.Emsaplab.EmsOrObsListEx != null) { if (null == this.uiEmsDTO.Emsaplab.EmsOrObsList) { this.uiEmsDTO.Emsaplab.EmsOrObsList = new XapDataList <EmsObsLap>(); } this.uiEmsDTO.Emsaplab.EmsOrObsList.Clear(); this.uiEmsDTO.Emsaplab.EmsOrObsListEx.Cast <EmsObsLap>().ToList().ForEach(o => { this.uiEmsDTO.Emsaplab.EmsOrObsList.Add(o); }); this.uiEmsDTO.Emsaplab.EmsOrDrugList.Clear(); // } uiEmsDTO.Emsaplab.Use_days = this.ciEmsDTO.Days_or; uiEmsDTO.Emsaplab.Dt_begin_ui = this.ciEmsDTO.Dt_begin; uiEmsDTO.Emsaplab.Dt_end_ui = this.ciEmsDTO.Dt_end; uiEmsDTO.Emsaplab.Times_cur = this.ciEmsDTO.Times_cur; uiEmsDTO.Emsaplab.Times_mp_in = this.ciEmsDTO.Times_mp_in; EmsOrDrug item = new EmsOrDrug(); item.Status = DOStatus.UPDATED; item.Id_orsrv = this.uiEmsDTO.Emsaplab.Id_orsrv; item.Id_srv = this.uiEmsDTO.Emsaplab.Id_srv; item.Name_srv = this.uiEmsDTO.Emsaplab.Name_srv; // 频次 item.Id_freq = ciEmsDTO.Id_freq; item.Name_freq = ciEmsDTO.Name_freq; item.Freqct = this.uiEmsDTO.MedSrvDO.Freqct; item.Sd_frequnitct = this.uiEmsDTO.MedSrvDO.Sd_frequnitct; item.Price = (uiEmsDTO.Emsaplab.Price == null ? 0 : uiEmsDTO.Emsaplab.Price); item.Fg_urgent = this.uiEmsDTO.Emsaplab.Fg_urgent; item.Use_days = uiEmsDTO.Emsaplab.Use_days; // 剂量 item.Quan_med = uiEmsDTO.Emsaplab.Quan_med; item.Id_unit_med = uiEmsDTO.Emsaplab.Id_unit_med; item.Name_unit_med = uiEmsDTO.Emsaplab.Name_unit_med; // 执行科室 item.Id_mp_dep = uiEmsDTO.Emsaplab.Id_mp_dep; item.Name_mp_dep = uiEmsDTO.Emsaplab.Name_mp_dep; // 总量 item.Quan_cur = (ciEmsDTO.Times_cur == null ? 0 : ciEmsDTO.Times_cur); item.Id_unit_sale = item.Id_unit_med; item.Name_unit_sale = item.Name_unit_med; /////////添加检验、检查、诊疗多剂量多次执行,杨敬本20171111 item.Quan_medu_virtual = uiEmsDTO.Emsaplab.Quan_med; item.Name_unit_medu_virtual = uiEmsDTO.Emsaplab.Name_unit_med; /////////添加检验、检查、诊疗多剂量多次执行,杨敬本20171111 // 总价 item.Totalprice = item.Price * item.Quan_cur; //申请单号 item.No_applyform = this.uiEmsDTO.Emsaplab.No_applyobs; //标本类型 item.Id_samptp = this.uiEmsDTO.Emsaplab.Id_samptp; item.Sd_samptp = this.uiEmsDTO.Emsaplab.Sd_samptp; item.Name_samptp = this.uiEmsDTO.Emsaplab.Name_samptp; //标本采集时间 item.Id_sampcoltime = this.uiEmsDTO.Emsaplab.Id_sampcoltime; item.Name_sampcoltime = this.uiEmsDTO.Emsaplab.Name_sampcoltime; item.Id_sampcollecttimetp = this.uiEmsDTO.Emsaplab.Id_sampcollecttimetp; item.Sd_sampcollecttimetp = this.uiEmsDTO.Emsaplab.Sd_sampcollecttimetp; item.Len_sampcoltime = this.uiEmsDTO.Emsaplab.Len_sampcoltime; item.Id_unit_sampcoltime = this.uiEmsDTO.Emsaplab.Id_unit_sampcoltime; this.uiEmsDTO.Emsaplab.EmsOrDrugList.Add(item); //其他处理 uiEmsDTO.Id_srvof = ciEmsDTO.Id_srvof; this.ciEmsDTO.Status = DOStatus.UPDATED; this.uiEmsDTO.Status = DOStatus.UPDATED; item.Fg_setradio = uiEmsDTO.MedSrvDO.Fg_setradio; HandleExpenseItems(ciEmsDTO); } }
public override bool LoadMedSrv(EmsCreatedParameter emsCreatedParameter, int pos) //EmsCreateParameter { MedSrvDO med = emsCreatedParameter.getMedSrvDO(); String id_mm = emsCreatedParameter.getMmID(); if (String.IsNullOrEmpty(id_mm)) { this.errorMsgString = "没有物品ID"; return(false); } // 获取列表最后一个数据 EmsOrDrug newDrug = null; AssCostTimeTool.Enabled = true; AssCostTimeTool t1 = new AssCostTimeTool("加载数据时候,LoadMedSrv2 解析 MedSrv 耗时:", false); EmsRstDTO[] rsts = CreateRemote(med.Id_srv, id_mm); EmsRstDTO rst = rsts[0]; if (rst != null) { EmsDrugItemDO emsDrugItem = (rst.Document[0] as EmsDrugItemDO); //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString)); //EmsDrugItemDO emsDrugItem = new EmsDrugItemDO(); //emsDrugItem.deSerializeJson(utf8Str); FMap2 emsExtMap = rst.Extension; MedSrvDO medSrv = emsExtMap["MedSrvDO"] as MedSrvDO; OrWfDeptInfoDTO wf = emsExtMap["OrWfDeptInfoDTO"] as OrWfDeptInfoDTO; emsDrugItem.EmsOrDrug = new XapDataList <EmsOrDrug>(); // 列表中显示的物品 XapDataList <EmsOrDrug> emsOrDrugList = new XapDataList <EmsOrDrug>(); FArrayList drugList_ex = emsDrugItem.EmsOrDrugListEx; foreach (EmsOrDrug drug in drugList_ex) { emsOrDrugList.Add(drug); emsDrugItem.EmsOrDrug.Add(drug); } newDrug = this.GetSelectedObject() as EmsOrDrug; if (pos < 0) { this.uiEmsDTO.MedSrvDO = med; emsDrugItem.EmsOrDrugList = emsOrDrugList; this.uiEmsDTO.Emsdrugs = emsDrugItem; return(true); } //TODO: 可以放到查询药品前,重复就不用走后台了 if (this.uiEmsDTO.Emsdrugs.EmsOrDrugList.Count(p => p.Name_srv == newDrug.Name_srv && !p.IsDELETED) > 1) { this.errorMsgString = "已经存在服务【" + medSrv.Name + "】!"; this.uiEmsDTO.Emsdrugs.EmsOrDrugList.Remove(newDrug); this.logicEx.Clear <EmsOrDrug>(newDrug); newDrug.Status = DOStatus.NEW; this.uiEmsDTO.Emsdrugs.EmsOrDrug.Clear(); this.uiEmsDTO.Emsdrugs.EmsOrDrug.Add(newDrug); return(false); } // 获取从后台返回的用于医嘱列表显示的数据 if (emsOrDrugList == null || string.IsNullOrEmpty(emsOrDrugList[0].Id_mm)) {// TODO 什么情况没有数据 this.errorMsgString = "服务未绑定物品,请联系信息科!"; this.logicEx.Clear <EmsOrDrug>(newDrug); return(false); } EmsOrDrug tempDrug = emsOrDrugList[0]; if (!newDrug.IsUPDATED) { tempDrug.Status = DOStatus.NEW; } else { // 增加该逻辑分支 针对 已保存的 医嘱项目 进行服务项目的修改 -- 2016-11-21 by wangqz tempDrug.Status = DOStatus.UPDATED; tempDrug.Id_orsrv = newDrug.Id_orsrv; } // 新加的药品要与已有的保持同频次,同周期,同用法 tempDrug.Id_route = this.uiEmsDTO.Emsdrugs.Id_route; tempDrug.Name_route = this.uiEmsDTO.Emsdrugs.Name_route; // 草药外配标识在医疗单中,勾选外配,全为外配 tempDrug.Fg_extdispense = this.uiEmsDTO.Emsdrugs.Fg_extdispense; // 同频次 tempDrug.Id_freq = this.uiEmsDTO.Emsdrugs.Id_freq; tempDrug.Name_freq = this.uiEmsDTO.Emsdrugs.Name_freq; tempDrug.Sd_frequnitct = this.uiEmsDTO.Emsdrugs.Sd_frequnitct; tempDrug.Freqct = this.uiEmsDTO.Emsdrugs.Freqct; // 如果只有一条记录,恢复到服务默认的频次,用法 fillSameInfoWithMedSrvDO(tempDrug, medSrv); // 同周期 tempDrug.Use_days = this.uiEmsDTO.Emsdrugs.Use_days; // 计算总次数 TODO 需要提供前台计算方法,数据都有了,不用走后台了 int?times_cur = this.uiEmsDTO.Emsdrugs.Times_cur; // CalQuantumUtil.GetInstance().getTotalTimes(tempDrug.Id_freq, (int)this.uiEmsDTO.Emsdrugs.Use_days); int?orders = this.uiEmsDTO.Emsdrugs.Orders; // 计算总量 tempDrug.Quan_cur = CalQuantumUtil.GetInstance().getMMQuantum(tempDrug.Sd_mupkgutp, tempDrug.Quan_med, tempDrug.Factor_mb, tempDrug.Factor_cb, orders); tempDrug.Totalprice = tempDrug.Price * tempDrug.Quan_cur; // 计算总价 // 将返回数据加到表格数据源中 newDrug.Replace(tempDrug); } return(true); }
public CiOrderDO New_Save() { // 需要将临时存储在列表数据模型中的数据取出来,放置到检验结构中 EmsOrDrug drug = uiEmsDTO.Emsaplab.EmsOrDrugList.ElementAt(0); // 剂量 uiEmsDTO.Emsaplab.Id_unit_med = drug.Id_unit_med; uiEmsDTO.Emsaplab.Name_unit_med = drug.Name_unit_med; uiEmsDTO.Emsaplab.Quan_med = drug.Quan_med; // 使用天数 uiEmsDTO.Emsaplab.Use_days = drug.Use_days; // 总量 uiEmsDTO.Emsaplab.Quan_cur = drug.Quan_cur; uiEmsDTO.Emsaplab.Id_unit_sale = drug.Id_unit_med; uiEmsDTO.Emsaplab.Name_unit_sale = drug.Name_unit_med; /////////添加检验、检查、诊疗多剂量多次执行,杨敬本20171111 // 频次 uiEmsDTO.Emsaplab.Id_freq = drug.Id_freq; uiEmsDTO.Emsaplab.Name_freq = drug.Name_freq; uiEmsDTO.Emsaplab.Freqct = drug.Freqct; uiEmsDTO.Emsaplab.Sd_frequnitct = drug.Sd_frequnitct; /////////添加检验、检查、诊疗多剂量多次执行,杨敬本20171111 // 加急 uiEmsDTO.Emsaplab.Fg_urgent = drug.Fg_urgent; // 价格 uiEmsDTO.Emsaplab.Price = drug.Price; // 执行科室 uiEmsDTO.Emsaplab.Id_mp_dep = drug.Id_mp_dep; uiEmsDTO.Emsaplab.Name_mp_dep = drug.Name_mp_dep; //标本类型 uiEmsDTO.Emsaplab.Id_samptp = drug.Id_samptp; uiEmsDTO.Emsaplab.Sd_samptp = drug.Sd_samptp; uiEmsDTO.Emsaplab.Name_samptp = drug.Name_samptp; //标本采集时间 uiEmsDTO.Emsaplab.Id_sampcoltime = drug.Id_sampcoltime; uiEmsDTO.Emsaplab.Name_sampcoltime = drug.Name_sampcoltime; uiEmsDTO.Emsaplab.Id_sampcollecttimetp = drug.Id_sampcollecttimetp; uiEmsDTO.Emsaplab.Sd_sampcollecttimetp = drug.Sd_sampcollecttimetp; uiEmsDTO.Emsaplab.Len_sampcoltime = drug.Len_sampcoltime; uiEmsDTO.Emsaplab.Id_unit_sampcoltime = drug.Id_unit_sampcoltime; this.uiEmsDTO.Emsaplab.EmsOrObsListEx = new FArrayList(); foreach (EmsObsLap item in this.uiEmsDTO.Emsaplab.EmsOrObsList) { if (item.Fg_chk == FBoolean.True) { this.uiEmsDTO.Emsaplab.EmsOrObsListEx.Add(item); } } EmsRstDTO rst = SaveRemote(this.uiEmsDTO.Emsaplab); if (rst != null) { return((rst.Document[0] as CiorderAggDO).getParentDO()); } return(null); }
/// <summary> /// 创建医疗单 /// </summary> /// <param name="emsCreateParameter"></param> /// <param name="pos"></param> /// <returns></returns> //public override bool LoadMedSrv(EmsCreatedParameter emsCreateParameter, int pos) //{ // base.LoadMedSrv(emsCreateParameter, pos); // MedSrvDO med = emsCreateParameter.getMedSrvDO(); // String id_mm = emsCreateParameter.getMmID(); // // 获取列表最后一个数据 // EmsOrDrug newDrug = null; // EmsCrtDTO emsCrt = new EmsCrtDTO(); // emsCrt.Id_srv = med.Id_srv; // emsCrt.Id_mm = id_mm; // emsCrt.EmsMgrInfo = this.emsMgrDTO; // emsCrt.EnContext = BaseEmsView.BaseEmsInfoContext["CiEnContextDTO"] as CiEnContextDTO; // emsCrt.EmsDriver = ((int)this.uiEmsDTO.EmsType).ToString(); // // 临时用,验证结束需要调整到后台 // emsCrt.CustomInfo = emsCreateParameter.GetParameter() == null ? null : emsCreateParameter.GetParameter().ToString(); // EmsRstDTO rst = emsMainService.create(emsCrt); // if (rst != null) // { // String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.EmsDocument)); // EmsDrugItemDO emsDrugItem = new EmsDrugItemDO(); // emsDrugItem.deSerializeJson(utf8Str); // FMap2 emsExtMap = rst.EmsExtension; // this.id_dosages = emsExtMap["id_dosages"] as string; // MedSrvDO medSrv = emsExtMap["MedSrvDO"] as MedSrvDO; // OrWfDeptInfoDTO wf = emsExtMap["OrWfDeptInfoDTO"] as OrWfDeptInfoDTO; // SkinTestRstDTO skinTestRst = emsExtMap["SkinTestRstDTO"] as SkinTestRstDTO; // if (emsExtMap["isShowWarnInfo"] != null && (bool)emsExtMap["isShowWarnInfo"]) // { // this.tipInfoMsgString = emsExtMap["specillDrugWarnInfo"] as string; // } // // 物品参照 // XapDataList<EmsOrDrug> emsOrDrugRef = new XapDataList<EmsOrDrug>(); // if (emsDrugItem.EmsOrDrugEx == null || emsDrugItem.EmsOrDrugEx.Count == 0) { // this.errorMsgString = "服务"+emsDrugItem.Name_srv+"未绑定物品,请联系信息科!"; // return false; // } // foreach (EmsOrDrug drug in emsDrugItem.EmsOrDrugEx) // { // emsOrDrugRef.Add(drug); // } // emsDrugItem.EmsOrDrug = emsOrDrugRef; // // 列表中显示的物品 // XapDataList<EmsOrDrug> emsOrDrugList = new XapDataList<EmsOrDrug>(); // FArrayList drugList_ex = emsDrugItem.EmsOrDrugListEx; // foreach (EmsOrDrug drug in drugList_ex) // { // emsOrDrugList.Add(drug); // } // if (pos < 0) // { // this.uiEmsDTO.MedSrvDO = med; // emsDrugItem.EmsOrDrugList = emsOrDrugList; // // 当物品id查询不到对应物品时,不做赋值操作 // if (emsOrDrugList.Count > 0) // { // this.uiEmsDTO.Emsdrugs = emsDrugItem; // } // newDrug = this.uiEmsDTO.Emsdrugs.EmsOrDrugList.LastOrDefault(); // } // else // { // newDrug = this.uiEmsDTO.Emsdrugs.EmsOrDrugList.ElementAt(pos); // } // // 设置当前选择项目 // SetSelectedObject(newDrug); // if (emsOrDrugList.Count == 0) // { // this.errorMsgString = med.Name + "(" + id_mm + "), 没有关联物品或者物品数据错误!"; // this.logicEx.Clear<EmsOrDrug>(newDrug); // return false; // } // // 获取从后台返回的用于医嘱列表显示的数据 // EmsOrDrug tempDrug = emsOrDrugList[0]; // //皮试判断逻辑 // string skinErrorInfo = AssToolEx.CheckSkinTestRst(tempDrug, skinTestRst, this.GetEnt4BannerDTO()); // if (!string.IsNullOrEmpty(skinErrorInfo)) // { // this.errorMsgString = skinErrorInfo; // this.logicEx.Clear<EmsOrDrug>(newDrug); // return false; // } // // 加载第一条记录信息已经是全的了,不用执行后边的 // if (pos < 0) // { // return true; // } // if (!newDrug.IsUPDATED) // { // tempDrug.Status = DOStatus.NEW; // } // else // { // 增加该逻辑分支 针对 已保存的 医嘱项目 进行服务项目的修改 -- 2016-11-21 by wangqz // tempDrug.Status = DOStatus.UPDATED; // } // // 保留id_orsrv ,当对编辑项通过退格键删除后,在选择其他服务,Id_orsrv存在 // tempDrug.Id_orsrv = newDrug.Id_orsrv; // // 新加的药品要与已有的保持同频次,同周期,同用法 // tempDrug.Id_route = this.uiEmsDTO.Emsdrugs.Id_route; // tempDrug.Name_route = this.uiEmsDTO.Emsdrugs.Name_route; // // 同频次 // tempDrug.Id_freq = this.uiEmsDTO.Emsdrugs.Id_freq; // tempDrug.Name_freq = this.uiEmsDTO.Emsdrugs.Name_freq; // tempDrug.Sd_frequnitct = this.uiEmsDTO.Emsdrugs.Sd_frequnitct; // tempDrug.Freqct = this.uiEmsDTO.Emsdrugs.Freqct; // // 如果只有一条记录,恢复到服务默认的频次,用法 // fillSameInfoWithMedSrvDO(tempDrug, medSrv); // // 同周期 // tempDrug.Use_days = this.uiEmsDTO.Emsdrugs.Use_days; // // 计算总次数 // int times_cur = CalQuantumUtil.GetInstance().getTotalTimes(tempDrug.Id_freq, (int)this.uiEmsDTO.Emsdrugs.Use_days); // // 计算总量 // tempDrug.Quan_cur = CalQuantumUtil.GetInstance().getMMQuantum(tempDrug.Sd_opmutp, tempDrug.Quan_med, tempDrug.Factor_mb, tempDrug.Factor_cb, times_cur); // // 计算总价 // tempDrug.Totalprice = tempDrug.Price * tempDrug.Quan_cur; // // 将返回数据加到表格数据源中 // newDrug.Replace(tempDrug); // } // return true; //} public override bool LoadMedSrv(EmsCreatedParameter emsCreateParameter, int pos) { base.LoadMedSrv(emsCreateParameter, pos); MedSrvDO med = emsCreateParameter.getMedSrvDO(); String id_mm = emsCreateParameter.getMmID(); Dictionary <String, Object> ctmInfo = new Dictionary <string, object>(); ctmInfo.Add("CustomInfo", emsCreateParameter.GetParameter() == null ? null : emsCreateParameter.GetParameter().ToString()); EmsRstDTO[] rsts = CreateRemote(med.Id_srv, id_mm, ctmInfo); EmsRstDTO rst = rsts[0]; if (rst != null) { // 获取列表最后一个数据 EmsOrDrug newDrug = null; EmsDrugItemDO emsDrugItem = (rst.Document[0] as EmsDrugItemDO); //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString)); //EmsDrugItemDO emsDrugItem = new EmsDrugItemDO(); //emsDrugItem.deSerializeJson(utf8Str); FMap2 emsExtMap = rst.Extension; this.id_dosages = emsExtMap["DosagesFilter"] as string; MedSrvDO medSrv = emsExtMap["MedSrvDO"] as MedSrvDO; OrWfDeptInfoDTO wf = emsExtMap["OrWfDeptInfoDTO"] as OrWfDeptInfoDTO; SkinTestRstDTO skinTestRst = emsExtMap["SkinTestRstDTO"] as SkinTestRstDTO; if (emsExtMap["IsShowWarnInfo"] != null && (bool)emsExtMap["IsShowWarnInfo"]) { this.tipInfoMsgString = emsExtMap["SpecilDrugWarnInfo"] as string; } // 物品参照 if (emsDrugItem.EmsOrDrug == null) { emsDrugItem.EmsOrDrug = new XapDataList <EmsOrDrug>(); } foreach (EmsOrDrug drug in emsDrugItem.EmsOrDrugListEx) { emsDrugItem.EmsOrDrug.Add(drug); } // 列表中显示的物品 XapDataList <EmsOrDrug> emsOrDrugList = new XapDataList <EmsOrDrug>(); foreach (EmsOrDrug drug in emsDrugItem.EmsOrDrugListEx) { emsOrDrugList.Add(drug); } // 获取从后台返回的用于医嘱列表显示的数据 EmsOrDrug tempDrug = emsOrDrugList[0]; if (pos < 0) { this.uiEmsDTO.MedSrvDO = med; emsDrugItem.EmsOrDrugList = emsOrDrugList; // 当物品id查询不到对应物品时,不做赋值操作 if (emsOrDrugList.Count > 0) { this.uiEmsDTO.Emsdrugs = emsDrugItem; } newDrug = this.uiEmsDTO.Emsdrugs.EmsOrDrugList.LastOrDefault(); this.uiEmsDTO.Emsdrugs.Id_dep = tempDrug.Id_mp_dep; this.uiEmsDTO.Emsdrugs.Name_dep = tempDrug.Name_mp_dep; } else { newDrug = this.uiEmsDTO.Emsdrugs.EmsOrDrugList.ElementAt(pos); } // 设置当前选择项目 SetSelectedObject(newDrug); //皮试判断逻辑 string skinErrorInfo = AssToolEx.CheckSkinTestRst(tempDrug, skinTestRst, this.GetEnt4BannerDTO()); if (skinErrorInfo != null) { this.errorMsgString = skinErrorInfo; this.logicEx.Clear <EmsOrDrug>(newDrug); return(false); } // 加载第一条记录信息已经是全的了,不用执行后边的 if (pos < 0) { return(true); } if (!newDrug.IsUPDATED) { tempDrug.Status = DOStatus.NEW; } else { // 增加该逻辑分支 针对 已保存的 医嘱项目 进行服务项目的修改 -- 2016-11-21 by wangqz tempDrug.Status = DOStatus.UPDATED; } // 保留id_orsrv ,当对编辑项通过退格键删除后,在选择其他服务,Id_orsrv存在 tempDrug.Id_orsrv = newDrug.Id_orsrv; // 新加的药品要与已有的保持同频次,同周期,同用法 tempDrug.Id_route = this.uiEmsDTO.Emsdrugs.Id_route; tempDrug.Name_route = this.uiEmsDTO.Emsdrugs.Name_route; // 同频次 tempDrug.Id_freq = this.uiEmsDTO.Emsdrugs.Id_freq; tempDrug.Name_freq = this.uiEmsDTO.Emsdrugs.Name_freq; tempDrug.Sd_frequnitct = this.uiEmsDTO.Emsdrugs.Sd_frequnitct; tempDrug.Freqct = this.uiEmsDTO.Emsdrugs.Freqct; // 如果只有一条记录,恢复到服务默认的频次,用法 fillSameInfoWithMedSrvDO(tempDrug, medSrv); // 同周期 tempDrug.Use_days = this.uiEmsDTO.Emsdrugs.Use_days; // 计算总次数 int times_cur = CalQuantumUtil.GetInstance().getTotalTimes(tempDrug.Id_freq, (int)this.uiEmsDTO.Emsdrugs.Use_days); // 计算总量 tempDrug.Quan_cur = CalQuantumUtil.GetInstance().getMMQuantum(tempDrug.Sd_opmutp, tempDrug.Quan_med, tempDrug.Factor_mb, tempDrug.Factor_cb, times_cur); // 计算总价 tempDrug.Totalprice = tempDrug.Price * tempDrug.Quan_cur; // 将返回数据加到表格数据源中 newDrug.Replace(tempDrug); } return(true); }
/// <summary> /// 优化后编辑方法 /// </summary> /// <param name="ord"></param> private void New_EditOrder(CiOrderDO ord) { ICiEmsMainService emsMainService = XapServiceMgr.find <ICiEmsMainService>(); if (null != emsMainService) { EmsLoadDTO[] emsloads = new EmsLoadDTO[1]; var emsload = new EmsLoadDTO(); emsload.Id_or = ord.Id_or; emsload.Extension = new FMap2(); emsload.EnContext = CiEnContextUtil.GetCiEnContext(this.GetEnt4BannerDTO(), this.GetContext()); emsload.EmsDriver = ((int)this.uiEmsDTO.EmsType).ToString(); emsload.OperateSourceFrom = IOprSourceFromConst.IOSF_EMS; emsloads[0] = emsload; EmsRstDTO[] rsts = emsMainService.load(emsloads); EmsRstDTO rst = rsts[0]; if (rst != null) { uiEmsDTO.Emsappathgy.deSerializeJson((rst.Document[0] as EmsPathgyItemDO).serializeJson()); //String utf8Str = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(rst.DocumentString)); //uiEmsDTO.Emsappathgy.deSerializeJson(utf8Str); if (rst.Extension != null && rst.Extension.Keys.Contains("CiEmsDTO")) { this.ciEmsDTO = rst.Extension["CiEmsDTO"] as CiEmsDTO; } if (rst.Extension != null && rst.Extension.Keys.Contains("MedSrvDO")) { this.uiEmsDTO.MedSrvDO = rst.Extension["MedSrvDO"] as MedSrvDO; strSd_srvtp = this.uiEmsDTO.MedSrvDO.Sd_srvtp; } if (rst.Extension != null && rst.Extension.Keys.Contains("MpDepFilter")) { idDepMps = rst.Extension["MpDepFilter"] as String; } else { idDepMps = ""; } if (this.uiEmsDTO.Emsappathgy.EmsItemInpathgyList != null) { if (null == this.uiEmsDTO.Emsappathgy.EmsItemInpathgy) { this.uiEmsDTO.Emsappathgy.EmsItemInpathgy = new XapDataList <EmsItemInPathgy>(); } this.uiEmsDTO.Emsappathgy.EmsItemInpathgy.Clear(); this.uiEmsDTO.Emsappathgy.EmsItemInpathgyList.Cast <EmsItemInPathgy>().ToList().ForEach(o => { this.uiEmsDTO.Emsappathgy.EmsItemInpathgy.Add(o); }); } if (uiEmsDTO.Emsappathgy.EmsItemInpathgy.Count <= 0) { uiEmsDTO.Emsappathgy.EmsItemInpathgy.AddNew(); uiEmsDTO.Emsappathgy.EmsItemInpathgy[0].Sortno = 1; } } this.lstEmsPathgyItemDO.Add(uiEmsDTO.Emsappathgy); // 其他 this.ciEmsDTO.Status = DOStatus.UPDATED; this.uiEmsDTO.Status = DOStatus.UPDATED; // 处理分拣费用项目 HandleExpenseItems(ciEmsDTO); } }
/// <summary> /// 新的检查医疗单保存逻辑 /// </summary> /// <returns></returns> public CiOrderDO New_Save() { // 需要将临时存储在列表数据模型中的数据取出来,放置到检验结构中 EmsOrDrug drug = uiEmsDTO.Emsapobs.EmsOrDrugList.ElementAt(0); // 剂量 uiEmsDTO.Emsapobs.Id_unit_med = drug.Id_unit_med; uiEmsDTO.Emsapobs.Name_unit_med = drug.Name_unit_med; uiEmsDTO.Emsapobs.Quan_med = drug.Quan_med; // 使用天数 uiEmsDTO.Emsapobs.Use_days = drug.Use_days; // 总量 uiEmsDTO.Emsapobs.Quan_cur = drug.Quan_cur; uiEmsDTO.Emsapobs.Id_unit_sale = drug.Id_unit_sale; uiEmsDTO.Emsapobs.Name_unit_sale = drug.Name_unit_sale; /////////添加检验、检查、诊疗多剂量多次执行,杨敬本20171111 // 频次 uiEmsDTO.Emsapobs.Id_freq = drug.Id_freq; uiEmsDTO.Emsapobs.Name_freq = drug.Name_freq; uiEmsDTO.Emsapobs.Freqct = drug.Freqct; uiEmsDTO.Emsapobs.Sd_frequnitct = drug.Sd_frequnitct; /////////添加检验、检查、诊疗多剂量多次执行,杨敬本20171111 // 加急 uiEmsDTO.Emsapobs.Fg_urgent = drug.Fg_urgent; // 价格 uiEmsDTO.Emsapobs.Price = drug.Price; // 执行科室 uiEmsDTO.Emsapobs.Id_mp_dep = drug.Id_mp_dep; uiEmsDTO.Emsapobs.Name_mp_dep = drug.Name_mp_dep; //检查目的 uiEmsDTO.Emsapobs.Id_pps = drug.Id_pps; uiEmsDTO.Emsapobs.Sd_pps = drug.Sd_pps; uiEmsDTO.Emsapobs.Des_pps = drug.Name_pps; //临床诊断 uiEmsDTO.Emsapobs.Id_di = drug.Id_di; uiEmsDTO.Emsapobs.Name_diag = drug.Name_diag; //计划时间 uiEmsDTO.Emsapobs.Dt_plan = drug.Dt_plan; this.uiEmsDTO.Emsapobs.EmsOrObsListEx = new FArrayList(); foreach (EmsObsLap item in this.uiEmsDTO.Emsapobs.EmsOrObsList) { if (item.Fg_chk == FBoolean.True) { this.uiEmsDTO.Emsapobs.EmsOrObsListEx.Add(item); } } this.uiEmsDTO.Emsapobs.EmsOrDrugListEx = new FArrayList(); this.uiEmsDTO.Emsapobs.EmsOrDrugListEx.Add(drug); uiEmsDTO.Emsapobs.Id_srvof = this.emsMgrDTO.Id_ems; uiEmsDTO.Emsapobs.Fg_quickwflow = this.emsMgrDTO.Fg_quickwflow; EmsRstDTO rst = SaveRemote(this.uiEmsDTO.Emsapobs); if (rst != null) { return((rst.Document[0] as CiorderAggDO).getParentDO()); } return(null); }