public override void EditEms(CiEmsDTO ems) { base.EditEms(ems); orCiEmsToUiEms.EditApbtuse(uiEmsDTO, ems); var srvCommon = (CiEmsSrvDTO)ems.Emssrvs[0]; var service = XapServiceMgr.find <IMedsrvMDOCrudService>(); //查询用血对应的服务 uiEmsDTO.MedSrvDO = service.findById(srvCommon.Id_srv); var btService = XapServiceMgr.find <ICiorappbtMDOCrudService>(); OrdApBtDO[] btdos = btService.find("a0.id_or='" + ems.Id_or_rel + "'", null, FBoolean.False); OrdApBtDO btdo = btdos[0]; this.uiEmsDTO.CiordubDTO.Id_mp_dep = srvCommon.Id_dep; this.uiEmsDTO.CiordubDTO.Name_mp_dep = srvCommon.Name_dep; uiEmsDTO.CiordubDTO.Applyform = btdo.No_applyform; uiEmsDTO.CiordubDTO.Dt_bt_pl = Convert.ToDateTime(btdo.Dt_bt_pl); uiEmsDTO.CiordubDTO.Num_margin_bu = btdo.Num_margin_bu; uiEmsDTO.CiordubDTO.Quan_medu = btdo.Num_margin_bu; uiEmsDTO.CiordubDTO.Des_or = ems.Note; tableDatasource = new XapDataList <CiordubDTO>(); tableDatasource.Add(uiEmsDTO.CiordubDTO); }
protected void ciUseDayAndDtEnd(CiEmsDTO ciemsdto) { //频次类型为once,使用天数设置为0,长临标识为false if ((string.IsNullOrEmpty(ciemsdto.Sd_frequnitct)) && ciemsdto.Id_freq != null) { var freqdef = XapServiceMgr.find <IFreqdefMDOCrudService>(); var freq = freqdef.findById(ciemsdto.Id_freq); if (freq != null) { if (freq.Sd_frequnitct == BdSrvDictCodeConst.SD_FREQUNIT_ONCE) { ciemsdto.Days_or = 0; ciemsdto.Fg_long = false; } } } else if (ciemsdto.Sd_frequnitct == BdSrvDictCodeConst.SD_FREQUNIT_ONCE) { ciemsdto.Days_or = 0; ciemsdto.Fg_long = false; } DateTime?dt_begin = ciemsdto.Dt_begin; if (dt_begin != null) { if (ciemsdto.Days_or != null) { ciemsdto.Dt_end = ((DateTime)dt_begin).AddDays((int)ciemsdto.Days_or); } } ciemsdto.Days_or = (ciemsdto.Days_or == 0 || ciemsdto.Days_or == null ? 1 : ciemsdto.Days_or); }
protected virtual void OnBeforeCallServiceSave(CiEmsDTO ems) { // TODO: 费用数据 -> ciemsdto(合并) if (expenseList.Count > 0) { this.MergeExpenseSrv(this.expenseList.ToArray(), ems); } if (ems.Times_cur == null) { ems.Times_cur = CalQuantumUtil.GetInstance().getTotalTimes(ems.Id_freq, ems.Days_or); } //if (ems.Freqct != null && ems.Days_or != null&& ems.Times_mp_in == null && ems.Fg_mp_in != null && ems.Fg_mp_in.GetValueOrDefault(false)) { // ems.Times_mp_in = ems.Freqct * ems.Days_or; //} //门诊中频次为once,使用天数设置为0;结束时间=开始时间+使用天数 ciUseDayAndDtEnd(ems); // 添加基本医保判断结果属性 // 第一位 医保就诊为1 非医保就诊为0 // 第二位 黑白名单: 白名单为0 黑名单为 1 非医保就诊时为9 // 第三位 是否为保外诊断:保外诊断 0 保内诊断 1 非医保就诊时为 9 CiEnContextDTO contextDTO = CiEnContextUtil.GetCiEnContext(this.ent4BannerDTO, EmsAppModeEnum.SVEMSAPPMODE); ems.Fg_vip = this.ent4BannerDTO.Fg_gcvip;//vip标识 ems.Bhpjudgerst = contextDTO.Bhpjudgerst; ems.Des_bhpjudgerst = contextDTO.Des_bhpjudgerst; //医保保外诊断的处理,fg_selfpay=Y,fg_indic=false foreach (CiEmsSrvDTO ciemssrvdto in ems.Emssrvs) { HpJudgeUtil.HandleCiEmsSrvDTOHPInfo(ciemssrvdto); } }
public CiOrderDO SaveDTO(EmsUIDTO emsHeadDO, CiEmsDTO dto, int Eu_sourcemd, delegateBeforeSave OnBeforeSaveEms = null) { //保存前进行患者状态校验 judgePatEntStatus(emsHeadDO.PatInfo); model.SaveCiDTO(emsHeadDO, dto, Eu_sourcemd); dto.Id_dept_ns = emsHeadDO.PatInfo.Id_dep_nur; //校验频次、剂量、剂量单位 if (!LogicEx.GetInstance().validateBeforeSaveCiEmsDto(emsHeadDO, dto)) { return(null); } //设置医保信息 后台获取医保目录类型的方法已经被注释掉了,前台在调用浪费时间 // LogicEx.GetInstance().setHpInfo(dto, emsHeadDO.PatInfo.Id_hp); //if (emsHeadDO.IsNEW && LogicEx.GetInstance().validateEmsUIDTO(dto)) //{ // List<string> errorList = LogicEx.GetInstance().validateFreqAndUnitmed(dto); // if (errorList.Count > 0) // { // string strErr = ""; // errorList.ForEach( // p => { strErr += string.Format("{0}.{1}\n", errorList.IndexOf(p) + 1, p); }); // string errInfo = " 验证失败,操作取消!\n" + strErr; // this.ShowInfo(errInfo, "提示:"); // return null; // } //} if (OnBeforeSaveEms != null) { OnBeforeSaveEms(dto); } return(ordMaintainService.SaveCiEmsDTO(dto, CiEnContextUtil.GetCiEnContext(emsHeadDO.PatInfo, EmsAppModeEnum.IVEMSAPPMODE))); }
public override void EditEms(CiEmsDTO ems) { base.EditEms(ems); OrWfDeptInfoDTO wf = new GetDeptMpImp().GetDept_mp_ids(this.uiEmsDTO.PatInfo.Code_entp, this.uiEmsDTO.PatInfo.Id_entp, this.uiEmsDTO.MedSrvDO.Sd_srvtp, this.uiEmsDTO.MedSrvDO.Id_srvca, this.uiEmsDTO.MedSrvDO.Id_srv, this.uiEmsDTO.MedSrvDO.Id_route, "id_mm", this.uiEmsDTO.PatInfo.Id_dep_nur, this.uiEmsDTO.PatInfo.Id_dep_phy); idDepMps = wf.Id_mp_depts; orCiEmsToUiEms.EditApop(uiEmsDTO, ems); this.uiEmsDTO.Status = DOStatus.NEW; this.uiEmsDTO.Emsapop.Status = DOStatus.NEW; this.uiEmsDTO.Emsapop.Dt_creat = ems.Dt_begin; // 附加手术信息转换 this.OpAppendItem2OpexInfo(); tableDatasource.Add(uiEmsDTO.Emsapop); }
public override CiEmsDTO Save2CiEmsDTO(bool forceUpdate) { EmsOrDrug ems = uiEmsDTO.Emsdrugs.EmsOrDrugList[0]; this.uiEmsDTO.Emsdrugs.Id_srv = ems.Id_srv; this.uiEmsDTO.Emsdrugs.Name_srv = ems.Name_srv; 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; ciEmsDTO.Id_srv = ems.Id_srv; ciEmsDTO.Fg_urgent = ems.Fg_urgent; ciEmsDTO.Times_cur = this.uiEmsDTO.Emsdrugs.Times_cur; CiEmsDTO ciemsDTO = base.Save2CiEmsDTO(forceUpdate); // ciemsDTO.Fg_urgent = ems.Fg_urgent; ciemsDTO.Times_cur = this.uiEmsDTO.Emsdrugs.Times_cur;//总的次数 return(ciemsDTO); }
public override void EditEms(CiEmsDTO ems) { base.EditEms(ems); orCiEmsToUiEms.EditCons(uiEmsDTO, ems); this.uiEmsDTO.Status = DOStatus.NEW; this.tableDataSource.Clear(); // 如模型为空 第一次创建 IMedsrvMDOCrudService service = XapServiceMgr.find <IMedsrvMDOCrudService>(); MedSrvDO medSrcDO = service.findById(ems.Id_srv); uiEmsDTO.Emsapcons.Name_srv = medSrcDO.Name; MedSrvConsDO srvcons = this.logicEx.GetCons(this.uiEmsDTO.MedSrvDO.Id_srv); if (srvcons != null) { uiEmsDTO.Emsapcons.Fg_deps = srvcons.Fg_deps; uiEmsDTO.Emsapcons.Fg_inorg = srvcons.Fg_inorg; } 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; } this.tableDataSource.Add(uiEmsDTO.Emsapcons); }
public virtual CiEmsDTO Save2CiEmsDTO(bool forceUpdate) { this.UnRegFormEvent_DataChanged(); CiEmsDTO dto = model.Save2CiEmsDTO(forceUpdate); this.RegFormEvent_DataChanged(); return(dto); }
public override void EditEms(CiEmsDTO ems) { base.EditEms(ems); this.uiEmsDTO.Id_srvof = ems.Id_srvof; this.uiEmsDTO.Funcclassstr = ems.Funcclassstr; this.uiEmsDTO.Status = DOStatus.NEW; HandleEditLogic(ems); }
public CiOrderDO SaveCiEmsDTO(CiEmsDTO ems, CiEnContextDTO ciEnContextDTO) { object[] param = new object[] { ems, ciEnContextDTO }; si.url = url_r; CiOrderDO rtn = si.invoke <CiOrderDO>("SaveCiEmsDTO", param.ToArray()); return(rtn); }
public virtual void EditEms(CiEmsDTO ems) { this.ciEmsDTO = ems; this.uiEmsDTO.MedSrvDO = XapServiceMgr.find <IMedsrvMDOCrudService>().findById(ems.Id_srv); // 处理分拣费用项目 HandleExpenseItems(ems); }
/// <summary> /// 医嘱保存 /// </summary> /// <param name="ciEmsDTO"></param> /// <param name="CiEnContext"></param> /// <returns></returns> public CiOrderTransMissionDTO SaveCiEmsDTONew(CiEmsDTO ciEmsDTO, CiEnContextDTO CiEnContext) { object[] param = new object[] { ciEmsDTO, CiEnContext }; si.url = url_r; CiOrderTransMissionDTO rtn = si.invoke <CiOrderTransMissionDTO>("SaveCiEmsDTONew", param.ToArray()); return(rtn); }
public override void EditEms(CiEmsDTO ems) { base.EditEms(ems); orCiEmsToUiEms.EditEmsLab(this.uiEmsDTO, ems); this.uiEmsDTO.Status = DOStatus.NEW; this.uiEmsDTO.Emsaplab.EmsOrDrugList.Clear();// EmsOrDrug item = new EmsOrDrug(); item.Status = DOStatus.NEW; 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 = ems.Id_freq; item.Name_freq = ems.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 = (ems.Times_cur == null ? 0 : ems.Times_cur); item.Id_unit_sale = item.Id_unit_med; item.Name_unit_sale = item.Name_unit_med; // 总价 item.Totalprice = item.Price * item.Quan_cur; //申请单号 item.No_applyform = this.uiEmsDTO.Emsaplab.No_applyobs; item.Fg_setradio = uiEmsDTO.MedSrvDO.Fg_setradio; this.uiEmsDTO.Emsaplab.EmsOrDrugList.Add(item); this.uiEmsDTO.MedSrvDO = XapServiceMgr.find <IMedsrvMDOCrudService>().findById(ems.Id_srv); item.Fg_setradio = this.uiEmsDTO.MedSrvDO.Fg_setradio == FBoolean.True; if (this.uiEmsDTO.MedSrvDO.Fg_setradio == FBoolean.True) { foreach (EmsObsLap o in this.uiEmsDTO.Emsaplab.EmsOrObsList) { o.Fg_chk = FBoolean.False; } } }
public void ClearContext() { if (this.tableDataSource != null) { this.tableDataSource.Clear(); } this.emsViewModel = null; this.emsDto = null; this.SetNullQryBuffer(); }
public void SetClearFeeSrv(bool isClear) { if (this.GetEmsView() != null && this.GetEmsView().GetViewModel() != null) { CiEmsDTO emsDto = this.GetEmsView().GetViewModel().getCiEmsDTO(); if (null != emsDto) { emsDto.Fg_prisrvhandled = !isClear; } } }
public OrdExpenseView SetEmsContext(object vm, CiEmsDTO sm) { if (sm == null) { this.SetNeedRefresh((int)EuRefreshState.InitState); return(this); } this.GetModel().SetEmsViewModel(vm).SetEmsSaveModel(sm); return(this); }
/// <summary> /// 编辑医嘱内容时候需要将 医嘱内容转化为医嘱项目 /// </summary> public virtual void EditOrder(CiOrderDO ciOrderDO) { FMap fmap = this.ciOrdQryService.getCiEmsDTO(new string[] { ciOrderDO.Id_or }); this.ciEmsDTO = fmap[ciOrderDO.Id_or] as CiEmsDTO; this.ciEmsDTO.SetUpdated(); this.uiEmsDTO.Status = DOStatus.UPDATED; this.uiEmsDTO.MedSrvDO = XapServiceMgr.find <IMedsrvMDOCrudService>().findById(ciEmsDTO.Id_srv); // 处理分拣费用项目 HandleExpenseItems(ciEmsDTO); }
protected override void OnBeforeCallServiceSave(CiEmsDTO ems) { base.OnBeforeCallServiceSave(ems); // 在院执行标志 ems.Fg_mp_in = true; ems.Emssrvs.Cast <CiEmsSrvDTO>().Where(srv => srv.Eu_sourcemd == (int)OrSrvSourceFromEnum.PHYSIAN).ToList().ForEach(srv => { srv.Quan_total_medu = 0; }); }
protected void HandleEditLogic(CiEmsDTO ems) { string unitname = ""; var srvCommon = (CiEmsSrvDTO)ems.Emssrvs[0]; var service = XapServiceMgr.find <IMedsrvMDOCrudService>(); ////查询用血对应的服务 //MedSrvDO medSrcDO = service.findById(Apbu_Srv_ID); uiEmsDTO.MedSrvDO = service.findById(ems.Id_srv); if (uiEmsDTO.Emsapbt.BtLabItem.Count == 0) { LoadIndicatorData(); } orCiEmsToUiEms.EditApbt(uiEmsDTO, ems, ref unitname); this.uiEmsDTO.Status = DOStatus.NEW; uiEmsDTO.Emsapbt.Dt_create = ems.Dt_begin; this.uiEmsDTO.Emsapbt.Id_mp_dep = srvCommon.Id_dep; this.uiEmsDTO.Emsapbt.Name_mp_dep = srvCommon.Name_dep; tableDatasource = new XapDataList <EmsBtItemDO>(); tableDatasource.Add(uiEmsDTO.Emsapbt); if (ems.Id_or != null) { CiorderAggDO ciagg = orService.findById(ems.Id_or); this.ciOrder = ciagg.getParentDO(); OrdApBtDO[] btdos = btService.find("id_or='" + ciOrder.Id_or + "'", null, FBoolean.False); OrdApBtDO btdo = btdos[0]; uiEmsDTO.CiordubDTO = new CiordubDTO(); uiEmsDTO.CiordubDTO.Id_or_rel = ciOrder.Id_or; uiEmsDTO.CiordubDTO.Applyform = btdo.No_applyform; uiEmsDTO.CiordubDTO.Orsrvname = ciagg.getOrdSrvDO()[0].Name; uiEmsDTO.CiordubDTO.Id_srv = ciOrder.Id_srv; uiEmsDTO.CiordubDTO.Quan_medu = ciagg.getOrdSrvDO()[0].Quan_medu; uiEmsDTO.CiordubDTO.Id_unit = ciagg.getOrdSrvDO()[0].Id_medu; uiEmsDTO.CiordubDTO.Dt_bt_pl = Convert.ToDateTime(btdo.Dt_bt_pl); uiEmsDTO.CiordubDTO.Num_margin_bu = btdo.Num_margin_bu; uiEmsDTO.CiordubDTO.Id_emp_sign = ciOrder.Id_emp_sign; uiEmsDTO.CiordubDTO.Name_emp_sign = ciOrder.Emp_sign_name; //uiEmsDTO.CiordubDTO.Id_route = medSrcDO.Id_route; //uiEmsDTO.CiordubDTO.Name_route = medSrcDO.Route_name; uiEmsDTO.CiordubDTO.Quan_medu_ub = uiEmsDTO.CiordubDTO.Quan_medu; uiEmsDTO.CiordubDTO.Name_unit = uiEmsDTO.MedSrvDO.Med_name; uiEmsDTO.CiordubDTO.Id_unit = uiEmsDTO.MedSrvDO.Id_unit_med; } CiorappbtAggDO agg = ems.Orapplysheet[((int)EmsType.BT).ToString()] as CiorappbtAggDO; agg.Status = DOStatus.UPDATED; agg.getParentDO().Status = DOStatus.UPDATED; }
public override CiEmsDTO Save2CiEmsDTO(bool forceUpdate) { // 需要将临时存储在列表数据模型中的数据取出来,放置到检验结构中 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.Sd_frequnitct = drug.Sd_frequnitct; uiEmsDTO.Emsapobs.Freqct = drug.Freqct; /////////添加检验、检查、诊疗多剂量多次执行,杨敬本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; XapDataList <EmsObsLap> hasItems = new XapDataList <EmsObsLap>(); foreach (EmsObsLap item in this.uiEmsDTO.Emsapobs.EmsOrObsList) { if (item.Fg_chk != null && item.Fg_chk.Value) { hasItems.Add(item); } } // 暂存 XapDataList <EmsObsLap> allItems = this.uiEmsDTO.Emsapobs.EmsOrObsList; this.uiEmsDTO.Emsapobs.EmsOrObsList = hasItems; CiEmsDTO ciEmsDTO = base.Save2CiEmsDTO(forceUpdate); this.uiEmsDTO.Emsapobs.EmsOrObsList = allItems; return(ciEmsDTO); }
public void loadcard(EmsUIDTO emsHeadDO, CiEmsDTO emsdto) { this.emsUIDTO = emsHeadDO; this.ciemsDto = emsdto; if (this.emsUIDTO.CiordubDTO != null) { this._model.CiordubDto = this.emsUIDTO.CiordubDTO; if (!string.IsNullOrEmpty(this.ciemsDto.Id_or)) { CiordubDTO ubDto = this._model.getOrderUBDto(this.ciemsDto.Id_or); if (ubDto != null) { this._model.CiordubDto.Quan_medu = ubDto.Quan_medu; } } if (this.emsUIDTO.CiordubDTO.Id_apbu != null) { this.LoadData(); if (this.ciemsDto.Sd_su_or != null && this.ciemsDto.Sd_su_or == "0") { this.xapFormControl.SetEditPolicy(true); } else { OrdApBtDO apbtdo = this._model.getOrDerBtDto(this.emsUIDTO.CiordubDTO.Id_or_rel); if (apbtdo != null) { this._model.CiordubDto.Applyform = apbtdo.No_applyform; this._model.CiordubDto.Num_margin_bu = apbtdo.Num_margin_bu; } this.xapFormControl.SetEditPolicy(false); } } else { this.LoadData(); this.xapFormControl.SetEditPolicy(false); } //if (ems.Id_or != null || ems.Id_or != "") //{ // this._model.getOrderUBDto(ems.Id_or); // this._model.CiordubDto.Name_route = this._model.getRotName(this._model.CiordubDto.Id_route); //} } else { this._model.CiordubDto = null; this.LoadData(); this.xapFormControl.SetEditPolicy(false); } }
public override void OnRefreshData(ciordems.d.EmsUIDTO headDo, object e) { if (headDo != null) { CiHeadDo = headDo; CiEmsDto = e as CiEmsDTO; } if (this.Created) { this.LoadData(); } }
public void LoadGrid(EmsUIDTO ems, CiEmsDTO emsdto) { this.uidto = ems; this.emsdto = emsdto; if (emsdto.Sd_su_or == null || emsdto.Sd_su_or == "0") { ControlSizeChanged(new Size(this.Size.Width, 100)); } else { ControlSizeChanged(new Size(0, 0)); } this.LoadData(); }
/// <summary> /// 将所有的医嘱以及医嘱关联的医疗单整合成费用清单数据集合 /// </summary> /// <param name="szOrders"></param> /// <param name="szEmses"></param> /// <returns></returns> private List <CiOrdFeeSrvDTO> OrdFeeBillListFrom(CiOrderDO[] szOrders, CiEmsDTO[] szEmses, FMap blsrvFMap) { List <CiOrdFeeSrvDTO> OrdFeeBillList = new List <CiOrdFeeSrvDTO>(); foreach (CiOrderDO ord in szOrders) { CiEmsDTO ems = szEmses.ToList().FirstOrDefault(e => e.Id_or.Equals(ord.Id_or)); if (null != ems) { OrdFeeBillList.AddRange(OrdFeeBillListFrom(ord, ems, blsrvFMap)); idor2EmsDTOMap.Add(ord.Id_or, ems); idor2OrderDOMap.Add(ord.Id_or, ord); } } return(OrdFeeBillList); }
/// <summary> /// 初始化操作,做一些对象的实例化,以及常量赋值等操作 /// </summary> public override void Init() { this.ordMaintainService = XapServiceMgr.find <ICiOrdMaintainService>(); this.ciOrdQryService = XapServiceMgr.find <ICiOrdQryService>(); this.cidiagQryService = XapServiceMgr.find <ICidiagQryService>(); this.ciOrdMedicalInsuranceService = XapServiceMgr.find <ICiOrdMedicalInsuranceService>(); this.uiEmsDTO = this.logicEx.CreatEmsIntance(); this.ciEmsDTO = this.logicEx.CreatEmsDTO(); // 初始化数据绑定对象上下文 this.orDataBing.patDo = this.ent4BannerDTO; // 初始化UI数据模型集合中患者就诊信息对象 this.uiEmsDTO.PatInfo = this.ent4BannerDTO; uiEmsDTO.EmsType = EmsType.COMMONDRUG; }
public override void EditEms(CiEmsDTO ems) { base.EditEms(ems); orCiEmsToUiEms.EditDrug(ems, this.uiEmsDTO); this.uiEmsDTO.Status = DOStatus.NEW; foreach (EmsOrDrug item in this.uiEmsDTO.Emsdrugs.EmsOrDrugList) { if (String.IsNullOrEmpty(this.uiEmsDTO.Emsdrugs.Id_route)) { this.uiEmsDTO.Emsdrugs.Name_route = null; } if (String.IsNullOrEmpty(this.uiEmsDTO.Emsdrugs.Id_freq)) { this.uiEmsDTO.Emsdrugs.Name_freq = null; this.uiEmsDTO.Emsdrugs.Freqct = null; } this.fillSameInfoForEmsOrDrug(item, this.uiEmsDTO.Emsdrugs); // 计算 明细总金额 item.Totalprice = item.Quan_cur * item.Price; } if (this.uiEmsDTO.Emsdrugs.EmsOrDrugList != null && this.uiEmsDTO.Emsdrugs.EmsOrDrugList.Count > 0 && this.uiEmsDTO.Emsdrugs.EmsOrDrugList[0].Id_route != "") { id_dosages = this.logicEx.getDrugRouteOfDoSages(this.uiEmsDTO.Emsdrugs.EmsOrDrugList[0].Id_route); } // 物质流向 OrWfDeptInfoDTO wf = new GetDeptMpImp().GetDept_mp_ids(this.GetEnt4BannerDTO().Code_entp, this.GetEnt4BannerDTO().Id_entp, ems.Sd_srvtp, ems.Id_srvca, ems.Id_srv, ems.Id_route, "id_mm", this.GetEnt4BannerDTO().Id_dep_nur, this.GetEnt4BannerDTO().Id_dep_phy); this.uiEmsDTO.Emsdrugs.Str_mp_dep_ids = wf == null ? "" : wf.Id_mp_depts; if (this.uiEmsDTO.Emsdrugs.Id_dep == null) { this.uiEmsDTO.Emsdrugs.Id_dep = wf == null ? "" : wf.Firstid_mp_dept; this.uiEmsDTO.Emsdrugs.Name_dep = wf == null ? "" : wf.Firstname_mp_dept; } if (null != wf) { foreach (EmsOrDrug drug in uiEmsDTO.Emsdrugs.EmsOrDrugList) { //皮试判断逻辑 AssToolEx.CheckTestSkinSrv(null, drug, this.GetEnt4BannerDTO()); drug.Id_dep_wh = wf.Id_dept_wh; } } }
/// <summary> /// 保存CI, 并切换到下一个CI /// </summary> public void ClearCurrentEms() { bool deleateflag = false; int deleateindex = -1; //emsDO = null;// 不能在这里面,因为会影响草药 if (currentEmsControl != null) { splitContainer1.RemoveRender(currentEmsControl); for (int index = 0; index < emsIndexAndButtonArea.IndexRenderList.Count; index++) { if (deleateflag) { if (index == deleateindex) { emsIndexAndButtonArea.IndexRenderList[index].Crossflag = false; emsIndexAndButtonArea.IndexRenderList[index].Editflag = true; this.emsDO = emsIndexAndButtonArea.IndexRenderList[index].Ci.EmsHeadDO; this.dto = emsIndexAndButtonArea.IndexRenderList[index].Ci.CiEmsDTO; //this.splitContainer1.Panel1.Controls.Add(render.Ci); emsIndexAndButtonArea.IndexRenderList[index].Ci.Dock = DockStyle.None; emsIndexAndButtonArea.IndexRenderList[index].Location = TMPrender.Location; TMPrender = emsIndexAndButtonArea.IndexRenderList[index]; currentEmsControl = emsIndexAndButtonArea.IndexRenderList[index].Ci; this.splitContainer1.AddControl(emsIndexAndButtonArea.IndexRenderList[index].Ci, xap.cli.sdk.controls.ControlPosition.Center); } else { emsIndexAndButtonArea.IndexRenderList[index].Location = new Point(emsIndexAndButtonArea.IndexRenderList[index - 1].Location.X + 40, emsIndexAndButtonArea.IndexRenderList[index - 1].Location.Y); } emsIndexAndButtonArea.IndexRenderList[index].Invalidate(); } else if (emsIndexAndButtonArea.IndexRenderList[index].Editflag) { this.emsList.Remove(emsIndexAndButtonArea.IndexRenderList[index].ID); emsIndexAndButtonArea.xapScrollBarPanel1.RemoveRender(emsIndexAndButtonArea.IndexRenderList[index]); TMPrender = emsIndexAndButtonArea.IndexRenderList[index]; emsIndexAndButtonArea.IndexRenderList.Remove(emsIndexAndButtonArea.IndexRenderList[index]); deleateflag = true; deleateindex = index--; } } emsIndexAndButtonArea.xapScrollBarPanel1.Invalidate(); } GC.Collect(); }
public override void EditEms(CiEmsDTO ems) { base.EditEms(ems); orCiEmsToUiEms.EditCommon(this.ciEmsDTO, uiEmsDTO); this.uiEmsDTO.Status = DOStatus.NEW; EmsOrDrug drug = new EmsOrDrug(); drug.Id_srv = this.ciEmsDTO.Id_srv; drug.Name_srv = this.ciEmsDTO.Name; CiEmsSrvDTO emssrv = this.ciEmsDTO.Emssrvs[0] as CiEmsSrvDTO; drug.Id_unit_med = emssrv.Id_unit_med; drug.Name_unit_med = emssrv.Name_unit_med; drug.Id_freq = emssrv.Id_freq; drug.Name_freq = emssrv.Name_freq; drug.Sd_frequnitct = emssrv.Sd_frequnitct; drug.Freqct = emssrv.Freqct; drug.Id_mp_dep = emssrv.Id_dep; drug.Name_mp_dep = emssrv.Name_dep; drug.Note_or = ciEmsDTO.Note; drug.Fg_treat = emssrv.Fg_indic; drug.Use_days = this.ciEmsDTO.Days_or; drug.Quan_med = (emssrv.Quan_med == null ? 1 : emssrv.Quan_med); drug.Quan_cur = (emssrv.Quan_cur == null ? this.logicEx.getNotDrugTotal(drug.Quan_med.ToDouble(), drug.Id_freq, drug.Freqct.Value, drug.Use_days.Value) : emssrv.Quan_cur);; drug.Price = emssrv.Price; drug.Totalprice = drug.Price * drug.Quan_cur; drug.Fg_bl = emssrv.Fg_bl; drug.Id_srvtp = ciEmsDTO.Id_srvtp; drug.Sd_srvtp = ciEmsDTO.Sd_srvtp; drug.Eu_sourcemd = emssrv.Eu_sourcemd; uiEmsDTO.Emsdrugs.EmsOrDrugList.Add(drug); //执行科室 OrWfDeptInfoDTO wf = new GetDeptMpImp().GetDept_mp_ids(this.uiEmsDTO.PatInfo.Code_entp, this.uiEmsDTO.PatInfo.Id_entp, this.uiEmsDTO.MedSrvDO.Sd_srvtp, this.uiEmsDTO.MedSrvDO.Id_srvca, this.uiEmsDTO.MedSrvDO.Id_srv, this.uiEmsDTO.MedSrvDO.Id_route, "", this.uiEmsDTO.PatInfo.Id_dep_nur, this.uiEmsDTO.PatInfo.Id_dep_phy); if (wf != null) { strMpDepFilter = wf.Id_mp_depts; } }
/// <summary> /// 关闭某个医疗单 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void orCom_deleteevent(object sender, EventArgs e) { //处理 List <XRoundRender> list = new List <XRoundRender>(); XRoundRender activeRender = null; foreach (XRoundRender render in emsIndexAndButtonArea.IndexRenderList) { if (!render.Editflag) { list.Add(render); } else { activeRender = render; emsIndexAndButtonArea.xapScrollBarPanel1.RemoveRender(render); //只有处于编辑状态的是激活的,删除的也是这个 } } //按钮区已删除,处理上边对应的view区域 if (activeRender != null) { XRoundRender nextRender = GetNextActiveRender(activeRender); if (nextRender == null) { emsDO = null; this.splitContainer1.RemoveRender(this.EmsIndexAndButtonArea); //清除“确认”、“取消”按钮 this.tabNaviControl.CanShowForm = false; this.ClearEmsList(); //清空数据 this.tabNaviControl.TabNavigationForm.Close(); //关闭右缩面板 } else { nextRender.Editflag = true; this.emsDO = nextRender.Ci.EmsHeadDO; this.dto = nextRender.Ci.CiEmsDTO; nextRender.Ci.Dock = DockStyle.None; TMPrender = nextRender; currentEmsControl = nextRender.Ci; orderItemView.SetTabText(currentEmsControl.SheetName); this.splitContainer1.AddControl(nextRender.Ci, xap.cli.sdk.controls.ControlPosition.Center); } } emsIndexAndButtonArea.IndexRenderList = list; //zzj,最好能直接删除,不要这样直接替换,能够节约内存 emsIndexAndButtonArea.xapScrollBarPanel1.Invalidate(); }
/// <summary> /// 保存之前处理 /// </summary> /// <param name="ems"></param> protected override void OnBeforeCallServiceSave(CiEmsDTO ems) { base.OnBeforeCallServiceSave(ems); ems.Fg_mp_in = true; ems.Times_mp_in = ems.Times_cur; //ems.Dt_begin = this.uiEmsDTO.Emsappathgy.Dt_begin_ui; //ems.Dt_end = this.uiEmsDTO.Emsappathgy.Dt_end_ui; if (ems.Emssrvs != null) { ems.Emssrvs.Cast <CiEmsSrvDTO>().Where(srv => srv.Eu_sourcemd == (int)OrSrvSourceFromEnum.PHYSIAN).ToList().ForEach(srv => { srv.Quan_total_medu = ems.Times_mp_in * srv.Quan_med; }); } }