public override CiOrderDO Save2Order() { ciOrder = base.Save2Order(); if (this.ciEmsDTO.Id_or == null) { MedSrvDO medSrcDO = LogicEx.GetInstance().getApBuSrv(); if (medSrcDO != null) { CiorderAggDO ciagg = orService.findById(ciOrder.Id_or); 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 = ciagg.getOrdSrvDO()[0].Medu_name; uiEmsDTO.CiordubDTO.Id_unit = uiEmsDTO.MedSrvDO.Id_unit_med; } } return(ciOrder); }
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; }
private void setOrdDetail(RouteMark routeMark) { var orService = XapServiceMgr.find <ICiorderCrudService>(); routeMark.MedicalInfoList = new List <MedicalInfo>(); //获取已医嘱信息 CiorderAggDO ciagg = orService.findById(routeMark.IdOr); IOrderedEnumerable <OrdSrvDO> srva = ciagg.getOrdSrvDO().OrderBy(x => x.Sortno); foreach (OrdSrvDO srvDo in srva) { if (srvDo.Fg_or == FBoolean.True && srvDo.Sd_srvtp.StartsWith("01")) { var med = new MedicalInfo(); med.Units = srvDo.Quan_medu + " " + srvDo.Medu_name; med.MedicationModels = srvDo.Route_name; med.Name = srvDo.Name; med.Order = (int)srvDo.Sortno; routeMark.MedicalInfoList.Add(med); } } }
/// <summary> /// /// </summary> /// <param name="emsHeadDO"></param> /// <param name="srvList"></param> public void SetOpORSrv(EmsUIDTO emsHeadDO, List <OrdSrvDO> srvList) { OrdSrvDO srv = new OrdSrvDO(); if (agg.getOrdSrvDO() != null) { OrdSrvDO srvtmp = agg.getOrdSrvDO().FirstOrDefault(p => p.Id_orsrv == emsHeadDO.Emsapbt.Id_orsrv); if (srvtmp != null) { srv = srvtmp; srv.Status = DOStatus.UPDATED; } } orDataBing.SaveOpOrSrvDataBing(emsHeadDO, srv); srvList.Add(srv); }
/// <summary> /// 检查的 ci_or_srv 的数据 /// </summary> /// <param name="agg"></param> /// <param name="status"></param> /// <param name="emsHeadDO"></param> /// <param name="srvList"></param> public void SetCiORSrv(CiorderAggDO agg, EmsUIDTO emsHeadDO, List <OrdSrvDO> srvList) { int i = 1; XapDataList <EmsObsLap> list = emsHeadDO.Emsapobs.EmsOrObsList; foreach (EmsObsLap p in list) { //把检查的项目 对照成服务 OrdSrvDO srv = new OrdSrvDO(); if (emsHeadDO.Status == DOStatus.UPDATED) { //srv = agg.getOrdSrvDO()[emsHeadDO.Emsdrugs.EmsOrDrugList.IndexOf(p)]; srv = agg.getOrdSrvDO().FirstOrDefault(x => x.Id_orsrv == p.Id_srv); //找到数据库已经存在的 } if (srv == null) //数据库找不到 可能是修改时候 新增了 药品 { srv = new OrdSrvDO(); } srv.Id_pat = emsHeadDO.PatInfo.Id_pat; //患者 srv.Id_entp = emsHeadDO.PatInfo.Id_entp; //就诊类型 srv.Code_entp = emsHeadDO.PatInfo.Code_entp; //就诊类型编码 srv.Id_en = emsHeadDO.PatInfo.Id_ent; //就诊 srv.Sortno = i; //TODO: 顺序应该是机制生成的 srv.Id_srvtp = emsHeadDO.MedSrvDO.Id_srvtp; // 服务类型 srv.Sd_srvtp = emsHeadDO.MedSrvDO.Sd_srvtp; //服务类型编码 srv.Id_srv = emsHeadDO.MedSrvDO.Id_srv; //服务项目 srv.Name = emsHeadDO.Emsapobs.Name_srv; //服务项目名称 srv.Name = p.Name_srv; agg.getParentDO().Dt_entry = emsHeadDO.Emsapobs.Dt_plan; //每条检查 不同的属性再进行独立赋值 srv.Name = p.Name_srv; agg.getParentDO().Dt_entry = emsHeadDO.Emsapobs.Dt_plan; agg.getParentDO().Dt_stop = emsHeadDO.Emsapobs.Dt_plan; agg.getParentDO().Dt_effe = emsHeadDO.Emsapobs.Dt_plan; //agg.getParentDO().Content_or = cof.GetOrDes(emsHeadDO, emsType); //待完善 srvList.Add(srv); i++; } }
/// <summary> /// 创建用血医嘱元数据 /// </summary> /// <param name="id_or"></param> /// <returns></returns> CiordubDTO creatBuEmsDO(string id_or, MedSrvDO medSrcDO) { CiorderAggDO ciagg = XapServiceMgr.find <ICiorderCrudService>().findById(id_or); CiOrderDO ciOrder = ciagg.getParentDO(); OrdApBtDO[] btdos = XapServiceMgr.find <ICiorappbtMDOCrudService>().find("id_or='" + id_or + "'", null, FBoolean.False); OrdApBtDO btdo = btdos[0]; OrdSrvDO mainSrv = null; foreach (OrdSrvDO ordsrv in ciagg.getOrdSrvDO()) { if (ordsrv.Eu_sourcemd != null && ordsrv.Eu_sourcemd == (int)OrSrvSourceFromEnum.PHYSIAN && ordsrv.Sd_srvtp == BdSrvDictCodeConst.SD_SRVTP_BLOODPROD_BLOODPROD_READYBLOOD) { mainSrv = ordsrv; break; } } (this.GetViewModel().GetEmsUIDTO() as EmsUIDTO).CiordubDTO = new CiordubDTO(); (this.GetViewModel().GetEmsUIDTO() as EmsUIDTO).CiordubDTO.Id_or_rel = ciOrder.Id_or; (this.GetViewModel().GetEmsUIDTO() as EmsUIDTO).CiordubDTO.Applyform = btdo.No_applyform; if (mainSrv != null) { (this.GetViewModel().GetEmsUIDTO() as EmsUIDTO).CiordubDTO.Orsrvname = mainSrv.Name; (this.GetViewModel().GetEmsUIDTO() as EmsUIDTO).CiordubDTO.Quan_medu = mainSrv.Quan_medu; (this.GetViewModel().GetEmsUIDTO() as EmsUIDTO).CiordubDTO.Id_unit = mainSrv.Id_medu; (this.GetViewModel().GetEmsUIDTO() as EmsUIDTO).CiordubDTO.Name_unit = mainSrv.Medu_name; } (this.GetViewModel().GetEmsUIDTO() as EmsUIDTO).CiordubDTO.Id_srv = ciOrder.Id_srv; (this.GetViewModel().GetEmsUIDTO() as EmsUIDTO).CiordubDTO.Dt_bt_pl = Convert.ToDateTime(btdo.Dt_bt_pl); (this.GetViewModel().GetEmsUIDTO() as EmsUIDTO).CiordubDTO.Num_margin_bu = btdo.Num_margin_bu; (this.GetViewModel().GetEmsUIDTO() as EmsUIDTO).CiordubDTO.Id_emp_sign = ciOrder.Id_emp_sign; (this.GetViewModel().GetEmsUIDTO() as EmsUIDTO).CiordubDTO.Name_emp_sign = ciOrder.Emp_sign_name; (this.GetViewModel().GetEmsUIDTO() as EmsUIDTO).CiordubDTO.Id_route = medSrcDO.Id_route; (this.GetViewModel().GetEmsUIDTO() as EmsUIDTO).CiordubDTO.Name_route = medSrcDO.Route_name; (this.GetViewModel().GetEmsUIDTO() as EmsUIDTO).CiordubDTO.Quan_medu_ub = (this.GetViewModel().GetEmsUIDTO() as EmsUIDTO).CiordubDTO.Quan_medu; (this.GetViewModel().GetEmsUIDTO() as EmsUIDTO).CiordubDTO.Id_unit = (this.GetViewModel().GetEmsUIDTO() as EmsUIDTO).Emsapbt.Id_unit_med; return((this.GetViewModel().GetEmsUIDTO() as EmsUIDTO).CiordubDTO); }