Example #1
0
        private void loadObsDate(string ent, string type)
        {
            var dict = new Dictionary <string, List <OrObsAandLabDTO> >();

            OrObsAandLabDate = service.getObsAndLabDateList(ent, type);

            foreach (OrObsAandLabDTO labDto in OrObsAandLabDate)
            {
                if (dict.ContainsKey(getdate(labDto.Dtor)))
                {
                    //   List<OrObsAandLabDTO> list = dict[labDto.Dtor.Value.ToString().Substring(0, 10)];
                    List <OrObsAandLabDTO> list = dict[getdate(labDto.Dtor)];
                    list.Add(labDto);
                }
                else
                {
                    var list = new List <OrObsAandLabDTO>();
                    list.Add(labDto);
                    dict.Add(getdate(labDto.Dtor), list);
                }
            }
            var listkey = new List <string>();

            listkey.AddRange(dict.Keys);
            foreach (string s in listkey)
            {
                List <OrObsAandLabDTO> list = dict[s];
                var myModuleAdapter         = new KeyNodeDataAdapterFactory <OrObsAandLabDTO>("Id", "Parent");
                //   myModuleAdapter.CustomCaptionFunc = x => x.Name + "(" + x.Dtor.ToString().Substring(10, 5) + ")";
                myModuleAdapter.CustomCaptionFunc = x => x.Name + "(" + x.Dtor.Value.Hour + ":" + x.Dtor.Value.Minute + ")";
                KeyNodeDataCollection ObsDateCollection = myModuleAdapter.ToKeyNodeDataCollection(list);
                treedict.Add(s, ObsDateCollection);
            }
        }
Example #2
0
        public OrderTemplateTreeViewModel(string tpltypeCode, string code_entp)
        {
            this.qryService = XapServiceMgr.find <ICiOrdQryService>();
            Emp2Dep2GroupDTO edg = new Emp2Dep2GroupDTO();

            edg.Id_dep    = UserManager.getInstance().CurrentDept.Id_dep;
            edg.Name_dep  = UserManager.getInstance().CurrentDept.Name;
            edg.Id_emp    = UserManager.getInstance().CurrentPsnInfo.Id_psndoc;
            edg.Name_emp  = UserManager.getInstance().CurrentPsnInfo.Name;
            edg.Id_org    = UserManager.getInstance().CurrentOrg.Id_org;
            edg.Name_org  = UserManager.getInstance().CurrentOrg.Name;
            edg.Code_entp = code_entp;
            UdidocDO udidocDo = UdiDocCache.GetInstance()
                                .GetUdidoc(BdSrvDictCodeTypeConst.SD_ORTPLTP, tpltypeCode);

            if (udidocDo != null)
            {
                this.OrderTplTreeList = this.qryService.getOrderTplTreeDto(udidocDo.Id_udidoc, edg);
            }

            KeyNodeDataAdapterFactory <OrderTplTreeDto> moduleAdapter = new KeyNodeDataAdapterFactory <OrderTplTreeDto>("Id", "Parent");

            moduleAdapter.CustomCaptionFunc = (dataobj => dataobj.Nm);

            this.TreeModel        = new TreeKeyModel <OrderTplTreeDto>(moduleAdapter);
            this.TreeModel.Loader = new OTreeKeyLoader();
            this.TreeModel.AddRange(this.OrderTplTreeList);
        }
        private void loadObsDate(string ent)
        {
            var dict = new Dictionary <string, List <OrdApPathgyDTO> >();

            OrApPathgyDate = this.service.getPathgyList(ent);

            foreach (OrdApPathgyDTO pathgyDto in OrApPathgyDate)
            {
                if (dict.ContainsKey(pathgyDto.Dt_effe.Value.ToString().Substring(0, 10)))
                {
                    List <OrdApPathgyDTO> list = dict[pathgyDto.Dt_effe.Value.ToString().Substring(0, 10)];
                    list.Add(pathgyDto);
                }
                else
                {
                    var list = new List <OrdApPathgyDTO>();
                    list.Add(pathgyDto);
                    dict.Add(pathgyDto.Dt_effe.Value.ToString().Substring(0, 10), list);
                }
            }

            var listkey = new List <string>();

            listkey.AddRange(dict.Keys);
            foreach (string s in listkey)
            {
                List <OrdApPathgyDTO> list = dict[s];
                var myModuleAdapter        = new KeyNodeDataAdapterFactory <OrdApPathgyDTO>("Id_appathgy", "Id_srvca");
                myModuleAdapter.CustomCaptionFunc = x => x.Name + "(" + x.Dt_effe.ToString().Split(' ')[0] + ")";
                KeyNodeDataCollection ObsDateCollection = myModuleAdapter.ToKeyNodeDataCollection(list);
                treedict.Add(s, ObsDateCollection);
            }
        }
Example #4
0
        public medSrvTreeViewModel(string typeparameter)
        {
            service = XapServiceMgr.find <ISrvcateCrudService>();
            if (typeparameter == null)
            {
                return;
            }
            //string str = " a0.ds=0";
            //if (typeparameter == BdSrvDictCodeTypeConst.MEDSRV_DRUG)
            //{
            //    str += " and (a0.code like '01%' or a0.code like '14%')";
            //}
            //if (typeparameter == BdSrvDictCodeTypeConst.MEDSRV_DIAGTREAT)
            //{
            //    str += " and (a0.code not like '01%' and a0.code not like '14%' and a0.code not like '07%')";
            //}
            SrvCateDO[] srvca = service.find(typeparameter, "code", false);
            srvcas = new XapDataList <SrvCateDO>(service, srvca);

            //List<SrvCateDO>  srvs = agg.Select(p => p.getParentDO() as SrvCateDO).ToList();

            //srvs.ForEach(p => { if (p.Id_parent == null)p.Id_parent = "A"; });
            //srvs.Add(new SrvCateDO() { Id_srvca = "A", Id_parent = null, Name = "基本服务分类" });
            //medsrvs = srvs.ToArray();

            KeyNodeDataAdapterFactory <SrvCateDO> moduleAdapter = new KeyNodeDataAdapterFactory <SrvCateDO>("Id_srvca", "Id_parent");

            moduleAdapter.CustomCaptionFunc = (dataobj => dataobj.Code + " " + dataobj.Name);

            this.TreeModel        = new TreeKeyModel <SrvCateDO>(moduleAdapter);
            this.TreeModel.Loader = new OTreeKeyLoader();
            this.TreeModel.AddRange(srvcas);
        }
Example #5
0
        public ConsMrTreeViewModel(string id_ent)
        {
            this.service  = XapServiceMgr.find <IMrcamctmServiceExt>();
            _mrCaCtmMrArr = service.getMrcactm(id_ent, "10", 0, "10");

            this._mrService = XapServiceMgr.find <IMrServiceExt>();
            _mrDtoArr       = _mrService.GetMrDtoForTree(id_ent, "%", "10", "0", ((int)(docornur.DOCTOR)).ToString());
            KeyNodeDataAdapterFactory <MrCaCtmMrDTO> adapter1 =
                new KeyNodeDataAdapterFactory <MrCaCtmMrDTO>("Id_mrcactm")
            {
                CustomCaptionFunc = dataobj => string.Format("{0}", dataobj.Name + "(" + dataobj.Mr_count + ")")
            };
            KeyNodeDataAdapterFactory <MrDTO> adapter2 =
                new KeyNodeDataAdapterFactory <MrDTO>("Id_mr", "", "Id_mrcactm")
            {
                CustomCaptionFunc = dataobj => string.Format("{0}", dataobj.Name)
            };

            TreeModel1             = new TreeKeyModel <MrCaCtmMrDTO>(adapter1);
            this.TreeModel1.Loader = new OTreeKeyLoader();
            TreeModel2             = new TreeKeyModel <MrDTO>(adapter2);
            this.TreeModel2.Loader = this.TreeModel1.Loader;
            TreeModel1.AddRange(_mrCaCtmMrArr);
            TreeModel2.AddRange(_mrDtoArr);
        }
Example #6
0
        private void loadObsDate(string ent, string type)
        {
            OrObsAandLab = service.getOrObsAandLabDTO(ent, type);
            if (OrObsAandLab == null || OrObsAandLab.Length == 0)
            {
                return;
            }
            List <string> pids = OrObsAandLab.Select(p => p.Parent).ToList();

            if (pids == null || pids.Count == 0)
            {
                return;
            }
            string filter = "";

            foreach (string s in pids)
            {
                filter += ("'" + s + "',");
            }

            SrvCateDO[] srvcados = srvcateMservice.find(
                "a0.id_srvca in (" + filter.Substring(0, filter.Count() - 1) + ")", "", FBoolean.False);


            var myModuleAdapter = new KeyNodeDataAdapterFactory <OrObsAandLabDTO>("Id", "Parent");

            myModuleAdapter.CustomCaptionFunc = x => x.Name + "(" + x.Dtor.ToString() + ")";
            ObsDateCollection = myModuleAdapter.ToKeyNodeDataCollection(OrObsAandLab);

            var srvcaAdapter = new KeyNodeDataAdapterFactory <SrvCateDO>("Id_srvca", "Id_srvca");

            srvcaAdapter.CustomCaptionFunc = x => x.Name;
            SrvCaCollection = srvcaAdapter.ToKeyNodeDataCollection(srvcados);
        }
        /// <summary>
        /// 获取树节点数据
        /// </summary>
        public void GetTreeKeyModel()
        {
            var adapter1 = new KeyNodeDataAdapterFactory <OrTmplCaDO>("Id_ortmplca", "Id_parent")
            {
                CustomCaptionFunc = x => x.Name
            };
            var adapter2 = new KeyNodeDataAdapterFactory <OrTmplDTO>("Id_ortmpl", null, "Id_ortmplca")
            {
                CustomCaptionFunc = x => x.Name
            };

            lazyLoadTreeModel = new LazyLoadTreeModel(CurrUdidocDO_SubOwnerType.Name);
            lazyLoadTreeModel.LazyLoadChildren = (oTree, bizNode) =>
            {
                if (bizNode.IsRoot)
                {
                    foreach (var caDO in LstOrTmplCaDOs)
                    {
                        if (caDO.Id_parent == null)
                        {
                            var data = adapter1.Wrap(caDO);
                            oTree.AppendBizNode(bizNode, data);
                        }
                    }
                }
                else
                {
                    OrTmplCaDO moduleDo = bizNode.UserObject as OrTmplCaDO;
                    if (moduleDo != null)
                    {
                        foreach (var caDO in LstOrTmplCaDOs)
                        {
                            if (caDO.Id_parent != null && moduleDo.Id_ortmplca == caDO.Id_parent)
                            {
                                var data = adapter1.Wrap(caDO);
                                oTree.AppendBizNode(bizNode, data);
                            }
                        }

                        foreach (var dto in LstOrTmplDTOs)
                        {
                            if ((strIpOp == "1" && (bool)dto.Fg_entp_ip) || (strIpOp == "0" && ((bool)dto.Fg_entp_op || (bool)dto.Fg_entp_er)))
                            {
                                if (dto.Id_ortmplca == moduleDo.Id_ortmplca)
                                {
                                    var data = adapter2.Wrap(dto);
                                    oTree.AppendBizNode(bizNode, data);
                                }
                            }
                        }
                    }
                }
                return(true);
            };
        }
Example #8
0
        public void LoadData(string ent)
        {
            if (ent != null)
            {
                OrdApPathgyDTO[] apPathgyDtos = this.service.getPathgyList(ent);
                SrvCateDO[]      srvcados     = getCateDos(apPathgyDtos);

                var myModuleAdapter = new KeyNodeDataAdapterFactory <OrdApPathgyDTO>("Id_appathgy", "Id_srvca");
                myModuleAdapter.CustomCaptionFunc = x => x.Name + "(" + x.Dt_effe.ToString().Split(' ')[0] + ")";
                ObsDateCollection = myModuleAdapter.ToKeyNodeDataCollection(apPathgyDtos);

                var srvcaAdapter = new KeyNodeDataAdapterFactory <SrvCateDO>("Id_srvca", "Id_srvca");
                srvcaAdapter.CustomCaptionFunc = x => x.Name;
                SrvCaCollection = srvcaAdapter.ToKeyNodeDataCollection(srvcados);
            }
        }
        ///// <summary>
        ///// 查询模板明细
        ///// </summary>
        ///// <param name="BannerDTO"></param>
        ///// <param name="id_ortmpls"></param>
        ///// <returns></returns>
        // public FMap2 getNewOrderTemplateDTO2(Ent4BannerDTO BannerDTO,string[] id_ortmpls)
        // {
        //     FMap2 map2 = ciOrdQeryService.getNewOrderTemplateDTO2(id_ortmpls, BannerDTO.Id_patcret, BannerDTO.Id_hp,BannerDTO.Code_entp);
        //     //诊疗医疗单的开单模式赋值
        //     if (map2 != null && BaseEmsView.BaseEmsInfoContext.ContainsKey(ICiOrdNSysParamConst.OPDiagTreatTmplOrOpenMode)) {
        //         foreach (string keyId in map2.Keys)
        //         {
        //             FArrayList2 list = map2[keyId] as FArrayList2;
        //             foreach (NewOrderTemplateDTO templateDTO in list)
        //             {
        //                 if (templateDTO.Ui_flag == "6")//治疗医疗单
        //                 {
        //                     FArrayList itmdolist = templateDTO.Itemlist;
        //                     foreach (OrTplNItmDO itmdo in itmdolist)
        //                     {
        //                         itmdo.Opdiagtreattmploropenmode = (string)BaseEmsView.BaseEmsInfoContext[ICiOrdNSysParamConst.OPDiagTreatTmplOrOpenMode];
        //                     }
        //                 }
        //             }
        //         }
        //     }
        //     return map2;
        // }
        /// <summary>
        /// 加载不同模板类型下树的数据源
        /// </summary>
        /// <param name="sd_type"></param>
        /// <returns></returns>
        public TreeKeyModel <OrTmplDTO> loadTreeModel(string model_type)
        {
            KeyNodeDataAdapterFactory <OrTmplDTO> moduleAdapter = new KeyNodeDataAdapterFactory <OrTmplDTO>("Id_ortmpl", "Id_ortmplca");

            moduleAdapter.CustomCaptionFunc = (dataobj => dataobj.Name);
            TreeKeyModel <OrTmplDTO> TreeModel = new TreeKeyModel <OrTmplDTO>(moduleAdapter);

            if (mapTree != null)
            {
                TreeModel.Loader = new OTreeKeyLoader();
                FArrayList hospitalList = mapTree[BdSrvDictCodeConst.SD_OWTP_HOSPIAL_ID] as FArrayList;
                if (hospitalList != null)
                {
                    XapDataList <OrTmplDTO> dataTree = pickOrTmlBySdModelType(hospitalList, model_type);
                    TreeModel.AddRange(dataTree);
                }
            }
            return(TreeModel);
        }
Example #10
0
        /// <summary>
        /// 获取树节点数据
        /// </summary>
        public void GetTreeKeyModel()
        {
            var adapter1 = new KeyNodeDataAdapterFactory <UdidocDO>("Id_udidoc", "Id_udidoc")
            {
                CustomCaptionFunc = x => x.Name
            };
            var adapter2 = new KeyNodeDataAdapterFactory <EntDiProveDO>("Id_diprove", null, "Id_diprovetp")
            {
                CustomCaptionFunc = x => x.Name_emp + string.Format("{0}-{1:D2}-{2:D2}", ((DateTime)x.Dt_diprove).Date.Year, ((DateTime)x.Dt_diprove).Date.Month, ((DateTime)x.Dt_diprove).Date.Day)
            };

            lazyLoadTreeModel = new LazyLoadTreeModel("");
            lazyLoadTreeModel.LazyLoadChildren = (oTree, bizNode) =>
            {
                if (bizNode.IsRoot)
                {
                    //根节点下加载诊断证明分类
                    foreach (var udi in udidocDOs_DiceType)
                    {
                        var data = adapter1.Wrap(udi);
                        oTree.AppendBizNode(bizNode, data);
                    }
                }
                else
                {
                    //在非根节点下加载数据节点
                    UdidocDO moduleDo = bizNode.UserObject as UdidocDO;
                    if (moduleDo != null && "1" == moduleDo.Ctrl1)
                    {
                        //在分类节点下,加载数据节点(非数据独一模式,独一模式没必要显示数据节点)
                        foreach (var item in lstEntDiProveDOs)
                        {
                            if (item.Id_diprovetp != null && moduleDo.Id_udidoc == item.Id_diprovetp)
                            {
                                var data = adapter2.Wrap(item);
                                oTree.AppendBizNode(bizNode, data);
                            }
                        }
                    }
                }
                return(true);
            };
        }
Example #11
0
        public override void LoadData(object cond = null)
        {
            if ((this.Context["PatientData"] as BannerData) != null)
            {
                ent4BannerDto = (this.Context["PatientData"] as BannerData).Ent4BannerDTO;

                OrdApPathgyDTO[] apPathgyDtos = this.ciservice.getPathgyList(ent4BannerDto.Id_ent);
                this.dataListM2 = new NBindingList <OrdApPathgyDTO>(apPathgyDtos.ToArray());

                KeyNodeDataAdapterFactory <OrdApPathgyDTO> adapter2 = new KeyNodeDataAdapterFactory <OrdApPathgyDTO>("Id_appathgy", "Id_srvca", "", "Name");
                this.tkeyModel2        = new TreeKeyModel <OrdApPathgyDTO>(adapter2, this.dataListM2);
                this.tkeyModel2.Loader = new OTreeKeyLoader();

                SrvCateDO[] srvcados = getCateDos(apPathgyDtos);
                KeyNodeDataAdapterFactory <SrvCateDO> adapter1 = new KeyNodeDataAdapterFactory <SrvCateDO>("Id_srvca", "Id_srvca", "", "Name");
                this.dataListM1        = new NBindingList <SrvCateDO>(srvcados);
                this.tkeyModel1        = new TreeKeyModel <SrvCateDO>(adapter1, this.dataListM1);
                this.tkeyModel1.Loader = this.tkeyModel2.Loader;
            }
        }
Example #12
0
        public PastTreeViewModel(String id_pat)
        {
            //Code_entp — 就诊类型(必填)
            //Dt_begin — 查找记录的开始时间(可为null)
            //Dt_end — 查找记录的结束时间(可为null)
            //Id_dep — 就诊科室ID(可为null)
            //Id_emp — 主治医生ID(可为null)


            EnDiQrySchmDTO[] endiqrys = new EnDiQrySchmDTO[2];
            EnDiQrySchmDTO   ipEn     = new EnDiQrySchmDTO();

            ipEn.Code_entp = EnDictCodeConst.SD_ENTP_INPATIENT;
            ipEn.Dt_begin  = logic.GetAfterDateTime(365);
            ipEn.Dt_end    = logic.GetServerDataTime();
            ipEn.Id_dep    = UserManager.getInstance().CurrentDept.Id_dep;
            ipEn.Id_emp    = UserManager.getInstance().CurrentPsnInfo.Id_psndoc;
            EnDiQrySchmDTO opEn = new EnDiQrySchmDTO();

            opEn.Code_entp = EnDictCodeConst.SD_ENTP_OUTPATIENT;
            opEn.Dt_begin  = logic.GetAfterDateTime(180);
            opEn.Dt_end    = logic.GetServerDataTime();
            opEn.Id_dep    = UserManager.getInstance().CurrentDept.Id_dep;
            opEn.Id_emp    = UserManager.getInstance().CurrentPsnInfo.Id_psndoc;
            endiqrys[0]    = ipEn;
            endiqrys[1]    = opEn;

            this.qryService      = XapServiceMgr.find <ICiOrdQryService>();
            this.ListEntHisDiDTO = this.qryService.getEntHisDiDTO(id_pat);
            this.ListEntHisDiDTO = this.qryService.getEntHisDiBySchm(id_pat, endiqrys);



            KeyNodeDataAdapterFactory <EntHisDiDTO> moduleAdapter = new KeyNodeDataAdapterFactory <EntHisDiDTO>("Id_entdi", "Id_entdi");

            moduleAdapter.CustomCaptionFunc = (dataobj => dataobj.Dt_acpt + " " + dataobj.Name_didef_dis + "(" + dataobj.Name_dep + ")");

            this.TreeModel        = new TreeKeyModel <EntHisDiDTO>(moduleAdapter);
            this.TreeModel.Loader = new OTreeKeyLoader();
            this.TreeModel.AddRange(this.ListEntHisDiDTO);
        }
        public conmonOrderTreeViewModel(string strIpOp)
        {
            this.qryService = XapServiceMgr.find <ICiOrdQryService>();
            //this.regularOrCaDO = this.qryService.getRegularOrCaDOs();
            //KeyNodeDataAdapterFactory<RegularOrCaDO> moduleAdapter = new KeyNodeDataAdapterFactory<RegularOrCaDO>("Id_regularorca", "Id_parent");
            //moduleAdapter.CustomCaptionFunc = (dataobj => dataobj.Name );

            //this.TreeModel = new TreeKeyModel<RegularOrCaDO>(moduleAdapter);
            //this.TreeModel.Loader = new OTreeKeyLoader();
            //this.TreeModel.Loader = new OTreeKeyLoader("常规模板");
            //this.TreeModel.AddRange(this.regularOrCaDO);


            this.regularOrCaDO = this.qryService.getMedicalroutinetreedto(strIpOp);
            KeyNodeDataAdapterFactory <Medicalroutinetreedto> moduleAdapter = new KeyNodeDataAdapterFactory <Medicalroutinetreedto>("Id_ortmplca", "Id_parent");

            moduleAdapter.CustomCaptionFunc = (dataobj => dataobj.Name);

            this.TreeModel        = new TreeKeyModel <Medicalroutinetreedto>(moduleAdapter);
            this.TreeModel.Loader = new OTreeKeyLoader();
            this.TreeModel.Loader = new OTreeKeyLoader("常规模板");
            this.TreeModel.AddRange(this.regularOrCaDO);
        }
Example #14
0
        public ConsItemViewModel(String id_ent)
        {
            QryService      = XapServiceMgr.find <ICiOrdQryService>();
            consAggService  = XapServiceMgr.find <ICiorappconsultCrudService>();
            saveService     = XapServiceMgr.find <ICiOrdMaintainService>();
            this.rptService = XapServiceMgr.find <IConsrptCrudService>();
            OrdApConsDO[] ordappcons = QryService.getTreeOrdApConsDO(id_ent);
            //consItems = new XapDataList<OrdApConsDO>();
            XapDataList <OrdApConsDO> list = new XapDataList <OrdApConsDO>();

            ordappcons.ToList().ForEach(p => { list.Add(p); });
            //consItems= apvm.GetApConsItem();

            KeyNodeDataAdapterFactory <OrdApConsDO> moduleAdapter =
                new KeyNodeDataAdapterFactory <OrdApConsDO>("Id_apcons");

            moduleAdapter.CustomCaptionFunc =
                (dataobj => dataobj.Name_constp + "(" + dataobj.Dt_plan.Value.ToString("yy-MM-dd HH:mm") + ")");

            this.TreeModel        = new TreeKeyModel <OrdApConsDO>(moduleAdapter);
            this.TreeModel.Loader = new OTreeKeyLoader();
            this.TreeModel.AddRange(list);
        }
        private void loadObsDate()
        {
            if ((this.Context["PatientData"] as BannerData) != null)
            {
                ent4BannerDto = (this.Context["PatientData"] as BannerData).Ent4BannerDTO;

                OrdApPathgyDTO[] apPathgyDtos = this.ciservice.getPathgyList(ent4BannerDto.Id_ent);
                var dict = new Dictionary <string, List <OrdApPathgyDTO> >();


                foreach (OrdApPathgyDTO pathgyDto in apPathgyDtos)
                {
                    if (dict.ContainsKey(pathgyDto.Dt_effe.Value.ToString().Substring(0, 10)))
                    {
                        List <OrdApPathgyDTO> list = dict[pathgyDto.Dt_effe.Value.ToString().Substring(0, 10)];
                        list.Add(pathgyDto);
                    }
                    else
                    {
                        var list = new List <OrdApPathgyDTO>();
                        list.Add(pathgyDto);
                        dict.Add(pathgyDto.Dt_effe.Value.ToString().Substring(0, 10), list);
                    }
                }
                var listkey = new List <string>();
                listkey.AddRange(dict.Keys);
                foreach (string s in listkey)
                {
                    List <OrdApPathgyDTO> list = dict[s];
                    var myModuleAdapter        = new KeyNodeDataAdapterFactory <OrdApPathgyDTO>("Id_appathgy", "Id_srvca");
                    myModuleAdapter.CustomCaptionFunc = x => x.Name + "(" + x.Dt_effe.ToString().Substring(10, 5) + ")";
                    KeyNodeDataCollection ObsDateCollection = myModuleAdapter.ToKeyNodeDataCollection(list);
                    treedict.Add(s, ObsDateCollection);
                }
            }
        }
Example #16
0
        public prescriptionTreeViewModel(String type)
        {
            this.qryService = XapServiceMgr.find <ICiOrdQryService>();


            Emp2Dep2GroupDTO edg = new Emp2Dep2GroupDTO();

            edg.Id_dep   = UserManager.getInstance().CurrentDept.Id_dep;
            edg.Name_dep = UserManager.getInstance().CurrentDept.Name;
            edg.Id_emp   = UserManager.getInstance().CurrentPsnInfo.Id_psndoc;
            edg.Name_emp = UserManager.getInstance().CurrentPsnInfo.Name;
            edg.Id_org   = UserManager.getInstance().CurrentOrg.Id_org;
            edg.Name_org = UserManager.getInstance().CurrentOrg.Name;

            //  this.OrderTplTreeList = this.qryService.getOrderTplTreeDto(type, edg);
            this.OrderPreslTreeList = this.qryService.getPrescriptionTreeNew("1");
            KeyNodeDataAdapterFactory <Medicalroutinetreedto> moduleAdapter = new KeyNodeDataAdapterFactory <Medicalroutinetreedto>("Id_ortmplca", "Id_parent");

            moduleAdapter.CustomCaptionFunc = (dataobj => dataobj.Name);

            this.TreeModel        = new TreeKeyModel <Medicalroutinetreedto>(moduleAdapter);
            this.TreeModel.Loader = new OTreeKeyLoader();
            this.TreeModel.AddRange(this.OrderPreslTreeList);
        }
Example #17
0
        /// <summary>
        /// 获取树懒加载数据源(模板分类和医嘱模板)
        /// </summary>
        public LazyLoadTreeModel GetTreeKeyModel()
        {
            var adapter1 = new KeyNodeDataAdapterFactory <OrTmplCaDO>("Id_ortmplca", "Id_parent")
            {
                CustomCaptionFunc = x => x.Name
            };
            var adapter2 = new KeyNodeDataAdapterFactory <OrTmplDTO>("Id_ortmpl", null, "Id_ortmplca")
            {
                CustomCaptionFunc = x => x.Name
            };

            String[]          nodesRoot         = new String[] { "全院", "科室", "个人" };
            LazyLoadTreeModel lazyLoadTreeModel = new LazyLoadTreeModel(nodesRoot);

            lazyLoadTreeModel.LazyLoadChildren = (oTree, bizNode) =>
            {
                if (bizNode.IsRoot)
                {
                    //判断是否根节点,第一级的分类没有父节点,加载第一级分类
                    foreach (var caDO in arryOrTmplCaDOs)
                    {
                        if (caDO.Id_parent == null)
                        {
                            switch (bizNode.UserObject.ToString())
                            {
                            case "全院":
                                if (caDO.Sd_srvorrt == BdSrvDictCodeConst.SD_OWTP_HOSPITAL)
                                {
                                    var data = adapter1.Wrap(caDO);
                                    oTree.AppendBizNode(bizNode, data);
                                }
                                break;

                            case "科室":
                                if (caDO.Sd_srvorrt == BdSrvDictCodeConst.SD_OWTP_DEPT)
                                {
                                    var data = adapter1.Wrap(caDO);
                                    oTree.AppendBizNode(bizNode, data);
                                }
                                break;

                            case "个人":
                                if (caDO.Sd_srvorrt == BdSrvDictCodeConst.SD_OWTP_PERSON)
                                {
                                    var data = adapter1.Wrap(caDO);
                                    oTree.AppendBizNode(bizNode, data);
                                }
                                break;
                            }
                        }
                    }
                }
                else
                {
                    //在非根节点下加载节点
                    if (bizNode.UserObject is OrTmplCaDO)
                    {
                        OrTmplCaDO moduleDo = bizNode.UserObject as OrTmplCaDO;
                        if (moduleDo != null)
                        {
                            //非根节点下,加载分类节点
                            foreach (var caDO in arryOrTmplCaDOs)
                            {
                                if (caDO.Id_parent != null && moduleDo.Id_ortmplca == caDO.Id_parent)
                                {
                                    var data = adapter1.Wrap(caDO);
                                    oTree.AppendBizNode(bizNode, data);
                                }
                            }
                            //非根节点下,加载模板节点
                            foreach (var dto in arrayOrTmplDTOs)
                            {
                                if (dto.Id_ortmplca == moduleDo.Id_ortmplca)
                                {
                                    var data = adapter2.Wrap(dto);
                                    oTree.AppendBizNode(bizNode, data);
                                }
                            }
                        }
                    }
                    else if (bizNode.UserObject is OrTmplDTO)
                    {//模板节点先加载“加载中...”
                        oTree.AppendBizNode(bizNode, "加载中...");
                    }
                }
                return(true);
            };
            return(lazyLoadTreeModel);
        }