/// <summary> /// 根据当前数据获取所需基本数据 /// </summary> /// <param name="ciMrDO"></param> /// <returns></returns> public FArrayList2 GetData(cimr.d.CiMrDO ciMrDO) { List <object> param = new List <object>(); si.url = url; param.Add(ciMrDO); FArrayList2 result = si.invoke <FArrayList2>("GetData", param.ToArray()); return(result); }
/// <summary> /// 获取处置模板信息 /// </summary> /// <param name="id_dept"></param> /// <returns></returns> public FArrayList2 GetDefaultMrPreFormats(string id_dept) { List <object> param = new List <object>(); si.url = url; param.Add(id_dept); FArrayList2 result = si.invoke <FArrayList2>("GetDefaultMrPreFormats", param.ToArray()); return(result); }
/// <summary> /// 门诊保存病历 /// </summary> /// <param name="mrDocRefValueDOs"></param> /// <param name="ciMrDOs"></param> /// <param name="ciMrFsDOs"></param> /// <returns></returns> public FArrayList2 SaveMr(mrdocrefvalue.d.MrDocRefValueDO[] mrDocRefValueDOs, cimr.d.CiMrDO ciMrDO, cimrfs.d.CiMrFsDO ciMrFsDO) { List <object> param = new List <object>(); si.url = url; param.Add(mrDocRefValueDOs); param.Add(ciMrDO); param.Add(ciMrFsDO); FArrayList2 result = si.invoke <FArrayList2>("SaveMr", param.ToArray()); return(result); }
/// <summary> /// 获取缓存数据 /// </summary> public KeyPointViewData queryViewData(DateTime start, DateTime end) { // var st = new DateTime(start.Year, start.Month, start.Day); var viewdata = new KeyPointViewData(); var st = new DateTime(start.Year, start.Month, start.Day); var CacheDrugList = new FArrayList2(); var CacheLabList = new FArrayList2(); var CacheObsList = new FArrayList2(); var CacheTempList = new FArrayList2(); var CimrsListList = new FArrayList2(); var MrcasListList = new FArrayList2(); MrcasListList.AddRange(Cache.MrcaList); foreach (DiagTreatKeyPointRntDataDTO dataDto in Cache.CacheList) { // if(start.) var f = new DateTime(dataDto.Dt_keypoint.ToTarget.Year, dataDto.Dt_keypoint.ToTarget.Month, dataDto.Dt_keypoint.ToTarget.Day); if (f >= st && f <= end) { if (dataDto.Drugdata != null) { CacheDrugList.AddRange(dataDto.Drugdata); } if (dataDto.Labdata != null) { CacheLabList.AddRange(dataDto.Labdata); } if (dataDto.Obsdata != null) { CacheObsList.AddRange(dataDto.Obsdata); } if (dataDto.Bodysignsdata != null) { CacheTempList.AddRange(DiagtreatUtils.setVidata2(dataDto.Bodysignsdata)); } if (dataDto.Cimrs != null) { CimrsListList.AddRange(dataDto.Cimrs); } } } viewdata.CacheDrugList = CacheDrugList.Cast <TransSrvSplitOrderDTO>().ToArray(); viewdata.CacheLabList = CacheLabList.Cast <OrSplitOrderDTO>().ToArray(); viewdata.CacheObsList = CacheObsList.Cast <OrSplitOrderDTO>().ToArray(); viewdata.CacheTempList = CacheTempList.Cast <ItemInfo>().ToList(); viewdata.CimrsList = CimrsListList.Cast <CiMrDO>().ToArray(); viewdata.MrcasList = MrcasListList.Cast <MrCtmCaDO>().ToArray(); return(viewdata); }
public static List <SrvSplitOrderDTO> filterSrvs(FArrayList2 srvs) { if (srvs == null) { return(null); } var rntsrvs = new List <SrvSplitOrderDTO>(); foreach (SrvSplitOrderDTO splitOrderDto in srvs) { if (splitOrderDto.Dt_mp_plan != null) { rntsrvs.Add(splitOrderDto); } } return(rntsrvs); }
public void setDate4Dic(DateTime start, DateTime end, FArrayList2 mrca) { // start.getDate().getDateAfter(1); FDate dd = start.Date; int len = (end.Date - start.Date).Days; if (Cache == null) { Cache = new NewCacheTotal(); } if (Cache.KeyPointList == null) { Cache.KeyPointList = new List <FDate>(); } if (Cache.CacheList == null) { Cache.CacheList = new List <DiagTreatKeyPointRntDataDTO>(); } //.getDaysBetween(start.getDate(), end.getDate()); Cache.CacheList.Clear(); Cache.KeyPointList.Clear(); dmap.Clear(); int i = 0; Cache.MrcaList = mrca; for (i = 0; i <= len; i++) { FDate f = start.Date.AddDays(i); var dto = new DiagTreatKeyPointRntDataDTO(); dto.Dt_keypoint = f; if (!dmap.ContainsKey(f.ToString())) { dmap.Add(f.ToString(), dto); } if (!Cache.KeyPointList.Contains(f)) { Cache.KeyPointList.Add(f); } if (!Cache.CacheList.Contains(dto)) { Cache.CacheList.Add(dto); } } }
public medSrvRadioViewModel(string code_entp, string fgUse, string strWhere) { this.service = XapServiceMgr.find <IMedsrvMDOCrudService>(); this.qryService = XapServiceMgr.find <ICiOrdQryService>(); if (string.IsNullOrEmpty(strWhere)) { return; } //medSrvDOList = qryService.getClassMedSrvDOS(" a0.fg_active='Y' and a0.fg_or ='Y' and a0.Id_srvca = '" + strWhere + "' and "+ fgUse +"='Y'", "Id_srvca",false); medSrvDOMap = qryService.getClassMedSrvMap(code_entp, " a0.fg_active='Y' and a0.fg_or ='Y' and a0.Id_srvca = '" + strWhere + "' and " + fgUse + "='Y'", "Id_srvca"); // medSrvDOList.AddRange( map["medSrvList"] as XapDataList<MedSrvDO>); SrvStatusMap = medSrvDOMap["srvStatusMap"] as FMap2; FArrayList2 objList = medSrvDOMap["medSrvList"] as FArrayList2; if (objList != null) { medSrvDOList = (XapDataList <MedSrvDO>)objList.Cast <MedSrvDO>().ToArray(); } //medSrvDOList = service.find(" a0.fg_active='Y' and a0.Id_srvca = '" + strWhere + "'", "Id_srvca", false); if (medSrvDOList != null && medSrvDOList.Count > 0) { medSrvDOListPyCode = new XapDataList <MedSrvDO>(); foreach (MedSrvDO medSrv in medSrvDOList) { if (medSrv.Id_srv == null) { medSrvDOListPyCode.Add(medSrv); } } } }
public static List <ItemInfo> setVidata2(FArrayList2 fa) { List <ItemInfo> items1 = convertData(fa.Cast <Temcharitemdto>().ToArray()); return(items1); }
/// <summary> /// 就诊历史中显示的医嘱列表 /// </summary> /// <param name="id_en"></param> /// <param name="code_entp"></param> public void loadOderItems(string id_en, string code_entp) { if (string.IsNullOrEmpty(id_en) || string.IsNullOrEmpty(code_entp)) { this.xapList.Clear(); return; } CiOrderDO[] ciOrders = null; //if (code_entp.Equals(BdFcDictCodeConst.SD_CODE_ENTP_IP))// 住院 //{ // string whereStr = string.Format("a0.id_en='{0}' and a0.code_entp='{1}' and a0.fg_pres_outp='N' ", id_en, code_entp); // ciOrders = this.orderItemMService.find(whereStr, "a0.createdtime " + orderStr, FBoolean.False); //} //else if(BdFcDictCodeConst.SD_CODE_ENTP_OP.Equals(code_entp) || BdFcDictCodeConst.SD_CODE_ENTP_ET.Equals(code_entp)) //{ // // 医嘱map结构,包含两项,orderList 医嘱list集合,orderPriMap 医嘱id与价格的map集合 // FMap2 map = ciOrdQryService.getEnHistoryCiOrders(id_en, code_entp, orderStr); // FArrayList2 orderList = map["orderList"] as FArrayList2; // ciOrders = orderList.Cast<CiOrderDO>().ToArray<CiOrderDO>(); // // 医嘱对应的价格 map中key=id_or,vlaue = 价格 // PriMap = map["orderPriMap"] as FMap2; // OrdStatusMap = map["orderStatusMap"] as FMap2; //} // 医嘱map结构,包含两项,orderList 医嘱list集合,orderPriMap 医嘱id与价格的map集合 FMap2 map = ciOrdQryService.getEnHistoryCiOrders(id_en, code_entp, orderStr); FArrayList2 orderList = map["orderList"] as FArrayList2; ciOrders = orderList.Cast <CiOrderDO>().ToArray <CiOrderDO>(); // 医嘱对应的价格 map中key=id_or,vlaue = 价格 PriMap = map["orderPriMap"] as FMap2; OrdStatusMap = map["orderStatusMap"] as FMap2; foreach (CiOrderDO ciOrder in ciOrders) { ciOrder.Str_long = ciOrder.Fg_long.Value == true ? "长期" : "临时"; if (ciOrder.Emp_stop_name == null || ciOrder.Emp_stop_name == "") { //如果没有停止医生 则医嘱列表停止时间 不显示 王琪需求 ciOrder.Dt_end = null; } if (ciOrder.Fg_long != FBoolean.True) { // 临时医嘱没有停止人 ciOrder.Emp_stop_name = null; } if (!string.IsNullOrEmpty(ciOrder.Id_emp_sign) && !ciOrder.Id_emp_sign.Equals(ciOrder.Id_emp_or)) { // 签署人与开立人不是同一人是,显示为 签署人/开立人 ciOrder.Emp_sign_name = ciOrder.Emp_sign_name + "/" + ciOrder.Emp_phy_name; } else { ciOrder.Emp_sign_name = ciOrder.Emp_phy_name; } } xapList = new XapDataList <CiOrderDO>(orderItemMService, ciOrders); //设定医嘱状态 bool isOp = code_entp.Equals("00") ? true : false; logic.setOrderDisplayStatus(xapList, isOp); }
/// <summary> /// 获取缓存数据 /// </summary> public void writeViewData(DiagTreatViewRntDataDTO diagTreatViewRntData, bool flag) { // var st = new DateTime(start.Year, start.Month, start.Day); if (flag) { var f = new List <FDate>(); if (Cache == null) { Cache = new NewCacheTotal(); } if (diagTreatViewRntData.Cimrs != null) { foreach (object dataDto in diagTreatViewRntData.Cimrs) { var tmp = (CiMrDO)dataDto; if (tmp.Dt_rd == null) { continue; } var ftmp = new FDate(tmp.Dt_rd.Value.Date.ToString()); DiagTreatKeyPointRntDataDTO dto = dmap[ftmp.ToString()]; FArrayList2 labfa = dto.Cimrs; if (labfa == null) { labfa = new FArrayList2(); dto.Cimrs = labfa; } labfa.Add(dataDto); //this.Cache.CacheList.Add(dataDto); //f.Add(dataDto.Dt_keypoint); } } //按日期分类 if (diagTreatViewRntData.Bodysignsdata != null) { foreach (object dataDto in diagTreatViewRntData.Bodysignsdata) { var tmp = (Temcharitemdto)dataDto; var ftmp = new FDate(tmp.Logtime.Value.Date.ToString()); DiagTreatKeyPointRntDataDTO dto = dmap[ftmp.ToString()]; FArrayList2 labfa = dto.Bodysignsdata; if (labfa == null) { labfa = new FArrayList2(); dto.Bodysignsdata = labfa; } labfa.Add(dataDto); //this.Cache.CacheList.Add(dataDto); //f.Add(dataDto.Dt_keypoint); } } if (diagTreatViewRntData.Drugdata != null) { foreach (object dataDto in diagTreatViewRntData.Drugdata) { var tmp = (TransSrvSplitOrderDTO)dataDto; if (tmp.Dt_mp_plan == null) { continue; } var ftmp = new FDate(tmp.Dt_mp_plan.Value.Date.ToString()); DiagTreatKeyPointRntDataDTO dto = dmap[ftmp.ToString()]; FArrayList2 labfa = dto.Drugdata; if (labfa == null) { labfa = new FArrayList2(); dto.Drugdata = labfa; } labfa.Add(dataDto); //this.Cache.CacheList.Add(dataDto); //f.Add(dataDto.Dt_keypoint); } } if (diagTreatViewRntData.Labdata != null) { foreach (object dataDto in diagTreatViewRntData.Labdata) { var tmp = (OrSplitOrderDTO)dataDto; var ftmp = new FDate(tmp.Dt_mp_plan.Value.Date.ToString()); DiagTreatKeyPointRntDataDTO dto = dmap[ftmp.ToString()]; FArrayList2 labfa = dto.Labdata; if (labfa == null) { labfa = new FArrayList2(); dto.Labdata = labfa; } labfa.Add(dataDto); //this.Cache.CacheList.Add(dataDto); //f.Add(dataDto.Dt_keypoint); } } if (diagTreatViewRntData.Obsdata != null) { foreach (object dataDto in diagTreatViewRntData.Obsdata) { var tmp = (OrSplitOrderDTO)dataDto; var ftmp = new FDate(tmp.Dt_mp_plan.Value.Date.ToString()); DiagTreatKeyPointRntDataDTO dto = dmap[ftmp.ToString()]; FArrayList2 labfa = dto.Obsdata; if (labfa == null) { labfa = new FArrayList2(); dto.Obsdata = labfa; } labfa.Add(dataDto); //this.Cache.CacheList.Add(dataDto); //f.Add(dataDto.Dt_keypoint); } } // this.Cache.KeyPointList = f.OrderBy(x => x).ToList(); } }
public NewCacheTotal() { CacheList = new List <DiagTreatKeyPointRntDataDTO>(); KeyPointList = new List <FDate>(); MrcaList = new FArrayList2(); }
/// <summary> /// 医嘱签署 /// </summary> /// <param name="orders"></param> /// <param name="patInfo"></param> /// <returns></returns> public bool SignOrders(CiOrderDO[] orders, Ent4BannerDTO ent4BannerDto, FMap2 map2) { // TODO:填写医嘱签署逻辑 if (orders == null || orders.Length == 0) { return(false); } OrderOperateDTO operateDTO = new OrderOperateDTO(); // 增加就诊上下文环境,用户医嘱签署时,在医嘱中保存保外诊断相关属性 CiEnContextDTO contextDTO = CiEnContextUtil.GetCiEnContext(ent4BannerDto, EmsAppModeEnum.SVEMSAPPMODE, this.context); operateDTO.Document = new FArrayList(); orders.ToList <CiOrderDO>().ForEach(ord => { operateDTO.Document.append(ord.Id_or); }); operateDTO.EnContext = contextDTO; operateDTO.Extension = map2; OrderRstDTO orderRstDTO = orderActionSign.exec(new OrderOperateDTO[] { operateDTO })[0]; if (orderRstDTO == null) { return(false); } FMap2 emsExtension = orderRstDTO.Extension; if (emsExtension != null) { if (emsExtension["specilDrugs"] != null) { //特殊药判断提示 if (!this.IsContinue("提示", emsExtension["specilDrugs"].ToString())) { return(SignOrders(orders, ent4BannerDto, emsExtension)); } else { return(false); } } //医保规则 if (emsExtension["hprule"] != null) { FArrayList2 hplist = (FArrayList2)emsExtension["hprule"]; bool information = false; // fasle 提示, true 终止 if (hplist != null && hplist.Count > 0) { List <MedicalSharingDTO> medicalSharinglist = new List <MedicalSharingDTO>(); foreach (MedicalSharingDTO dto in hplist) { if (dto != null && dto.Code == "Stop") { information = true; } medicalSharinglist.Add(dto); } using (MedicalSharingInfoForm from = new MedicalSharingInfoForm(medicalSharinglist)) { from.Text = "医保规则验证"; if (information) { from.confirmBtn.Visible = false; from.cancelBtn.Text = "确定"; } else { from.cancelBtn.Visible = false; from.confirmBtn.Text = "确定"; } if (from.ShowDialog() == DialogResult.OK) { return(SignOrders(orders, ent4BannerDto, emsExtension)); } else { return(false); } } } } if (emsExtension["willCheckIdOrs"] != null) { //医保和临床路径未判断的话,就弹窗进行判断 FArrayList willCheckIdOrs = (FArrayList)emsExtension["willCheckIdOrs"]; string[] id_ors = willCheckIdOrs.Cast <string>().ToArray(); OrReport report = new OrReport(id_ors); DialogResult result = report.ShowDialog(XFormManager.MainFrom); if (result == DialogResult.OK) { FMap2 map = map2; return(SignOrders(orders, ent4BannerDto, map)); } else { return(false); } } if (emsExtension.Keys.Contains("UnCheckIdors")) { //开立权限校验 FArrayList uncheckidList = emsExtension["UnCheckIdors"] as FArrayList; List <string> uncheckids = uncheckidList.Cast <String>().ToList(); if (uncheckids.Count == orders.Length) { this.ShowInfo(emsExtension["ErrMsg"].ToString()); return(false); } if (!this.IsContinue("提示", emsExtension["ErrMsg"] + "是否继续?")) { return(false); } else { if (uncheckids.Count > 0) { List <CiOrderDO> ciordlist = orders.ToList(); foreach (string idor in uncheckids) { ciordlist.Remove(ciordlist.Find(p => p.Id_or == idor.Trim())); } FMap2 map = new FMap2(); return(SignOrders(ciordlist.ToArray(), ent4BannerDto, map)); } } } if (emsExtension["checkPatInfoSrvs"] != null) { // 如果是毒麻药,需要保存代理人信息 FArrayList checkPatInfoSrvs = (FArrayList)emsExtension["checkPatInfoSrvs"]; OrSrvAgentInfoDO agentInfo = LogicEx.GetInstance().newOrSrvAgentInfoDOFromBanner(ent4BannerDto); CheckPatAgentInfoDialog dialog = new CheckPatAgentInfoDialog(agentInfo, checkPatInfoSrvs); if (dialog.ShowDialog() == DialogResult.OK) { this.maintainService.saveCheckPatInfo(checkPatInfoSrvs, agentInfo); FMap2 map = new FMap2(); return(SignOrders(orders, ent4BannerDto, map)); } else { return(false); } } this.initMrSignCiOrderList(emsExtension); } return(true); }