コード例 #1
0
ファイル: IOPMrServiceImpl.cs プロジェクト: fhis/order.client
        /// <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);
        }
コード例 #2
0
ファイル: IOPMrServiceImpl.cs プロジェクト: fhis/order.client
        /// <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);
        }
コード例 #3
0
ファイル: IOPMrServiceImpl.cs プロジェクト: fhis/order.client
        /// <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);
        }
コード例 #4
0
        /// <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);
        }
コード例 #5
0
ファイル: DiagtreatUtils.cs プロジェクト: fhis/order.client
        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);
        }
コード例 #6
0
        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);
                }
            }
        }
コード例 #7
0
        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);
                    }
                }
            }
        }
コード例 #8
0
ファイル: DiagtreatUtils.cs プロジェクト: fhis/order.client
        public static List <ItemInfo> setVidata2(FArrayList2 fa)
        {
            List <ItemInfo> items1 = convertData(fa.Cast <Temcharitemdto>().ToArray());

            return(items1);
        }
コード例 #9
0
        /// <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);
        }
コード例 #10
0
        /// <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();
            }
        }
コード例 #11
0
ファイル: NewCacheTotal.cs プロジェクト: fhis/order.client
 public NewCacheTotal()
 {
     CacheList    = new List <DiagTreatKeyPointRntDataDTO>();
     KeyPointList = new List <FDate>();
     MrcaList     = new FArrayList2();
 }
コード例 #12
0
        /// <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);
        }