/// <summary> /// 得到子级 /// </summary> /// <param name="orgTree"></param> /// <param name="OrgPhids"></param> /// <returns></returns> public List <OrganizeModel> GetChild(OrganizeModel orgTree, List <Int64> OrgPhids) { Dictionary <string, object> dic = new Dictionary <string, object>(); new CreateCriteria(dic) .Add(ORMRestrictions <String> .Eq("RelatId", "lg")) .Add(ORMRestrictions <Int64> .Eq("ParentOrgId", orgTree.PhId)); IList <OrgRelatitem2Model> orgRelatitems = OrgRelatitem2Rule.Find(dic, new string[] { "RelId Asc" }); if (orgRelatitems.Count > 0) { for (var i = 0; i < orgRelatitems.Count; i++) { OrganizeModel Orgdata = OrganizationRule.Find(orgRelatitems[i].OrgId); if (Orgdata.IfCorp == "Y" && Orgdata.IsActive == "1")//筛选组织 { if (!OrgPhids.Contains(Orgdata.PhId)) { Orgdata.WeChatId = "false";//用于判断是否没有权限 } Orgdata.children = GetChild(Orgdata, OrgPhids); if (orgTree.children == null) { orgTree.children = new List <OrganizeModel>(); } orgTree.children.Add(Orgdata); } } } return(orgTree.children); }
/// <summary> /// 根据操作员和申报单位取预算部门 /// </summary> /// <param name="Usercoode"></param> /// <param name="Unit"></param> /// <returns></returns> public IList <OrganizeModel> GetDept(string Usercoode, string Unit) { Dictionary <string, object> dic_Corr = new Dictionary <string, object>(); new CreateCriteria(dic_Corr) .Add(ORMRestrictions <String> .Eq("Dwdm", Usercoode)) .Add(ORMRestrictions <String> .Eq("Dylx", "97")) .Add(ORMRestrictions <String> .LLike("Dydm", Unit)); IList <CorrespondenceSettingsModel> correspondenceSettings = CorrespondenceSettingsRule.Find(dic_Corr); List <string> ocodeList = new List <string>(); if (correspondenceSettings.Count > 0) { for (var i = 0; i < correspondenceSettings.Count; i++) { if (!ocodeList.Contains(correspondenceSettings[i].Dydm)) { ocodeList.Add(correspondenceSettings[i].Dydm); } } } Dictionary <string, object> dic_org = new Dictionary <string, object>(); new CreateCriteria(dic_org) .Add(ORMRestrictions <String> .Eq("IfCorp", "N")) .Add(ORMRestrictions <String> .Eq("IsActive", "1")) .Add(ORMRestrictions <List <String> > .In("OCode", ocodeList)); IList <OrganizeModel> organizes = OrganizationRule.Find(dic_org); return(organizes); }
/// <summary> /// 根据操作员取组织树(是否需要权限 WeChatId判断) /// </summary> /// <param name="UserId"></param> /// <returns></returns> public List <OrganizeModel> GetOrgTree(long UserId) { List <OrganizeModel> trees = new List <OrganizeModel>(); List <Int64> PHIDs1 = new List <Int64>();//存有权限的组织phid Dictionary <string, object> dic_userorg = new Dictionary <string, object>(); new CreateCriteria(dic_userorg) .Add(ORMRestrictions <Int64> .Eq("UserId", UserId)); //IList<UserOrganize2Model> userOrganize2s = UserOrgRule.Find(dic_userorg); List <long> PHIDs2 = UserOrgRule.Find(dic_userorg).ToList().Select(x => x.OrgId).Distinct().ToList(); Dictionary <string, object> dic_sb = new Dictionary <string, object>(); new CreateCriteria(dic_sb). Add(ORMRestrictions <string> .Eq("Dylx", "SB")); List <Int64> PHIDs3 = CorrespondenceSettings2Rule.Find(dic_sb).ToList().Select(x => long.Parse(x.DefStr2)).Distinct().ToList(); /*if (PHIDs1.Count > 0) * { * for (var i = 0; i < PHIDs1.Count; i++) * { * if (!PHIDs2.Contains(PHIDs1[i])) * { * PHIDs1.Remove(PHIDs1[i]); * } * } * }*/ PHIDs1 = PHIDs3.Intersect(PHIDs2).ToList(); Dictionary <string, object> dic = new Dictionary <string, object>(); new CreateCriteria(dic) .Add(ORMRestrictions <String> .Eq("RelatId", "lg")) .Add(ORMRestrictions <Int64> .Eq("ParentOrgId", 0)); IList <OrgRelatitem2Model> orgRelatitems = OrgRelatitem2Rule.Find(dic, new string[] { "RelId Asc" }); if (orgRelatitems.Count > 0) { for (var i = 0; i < orgRelatitems.Count; i++) { OrganizeModel tree = OrganizationRule.Find(orgRelatitems[i].OrgId); if (tree.IfCorp == "Y" && tree.IsActive == "1") //筛选组织 { if (!PHIDs1.Contains(tree.PhId)) { tree.WeChatId = "false";//用于判断是否没有权限 } GetChild(tree, PHIDs1); trees.Add(tree); } } } return(trees); }
/// <summary> /// 得到子级(包括部门)(树) /// </summary> /// <param name="orgTree"></param> /// <returns></returns> public List <OrganizeModel> GetAllChild(OrganizeModel orgTree) { Dictionary <string, object> dic = new Dictionary <string, object>(); new CreateCriteria(dic) .Add(ORMRestrictions <String> .Eq("RelatId", "lg")) .Add(ORMRestrictions <Int64> .Eq("ParentOrgId", orgTree.PhId)); IList <OrgRelatitem2Model> orgRelatitems = OrgRelatitem2Rule.Find(dic); if (orgRelatitems.Count > 0) { for (var i = 0; i < orgRelatitems.Count; i++) { OrganizeModel Orgdata = OrganizationRule.Find(orgRelatitems[i].OrgId); if (Orgdata.IfCorp == "Y" && Orgdata.IsActive == "1")//筛选组织 { Orgdata.children = GetAllChild(Orgdata); if (orgTree.children == null) { orgTree.children = new List <OrganizeModel>(); } orgTree.children.Add(Orgdata); } } } Dictionary <string, object> dicDept = new Dictionary <string, object>(); new CreateCriteria(dicDept) .Add(ORMRestrictions <Int64> .Eq("ParentOrgId", orgTree.PhId)) .Add(ORMRestrictions <String> .Eq("IfCorp", "N")) .Add(ORMRestrictions <String> .Eq("IsActive", "1")); List <OrganizeModel> Depts = OrganizationRule.Find(dicDept).ToList(); if (Depts.Count > 0) { if (orgTree.children == null) { orgTree.children = new List <OrganizeModel>(); } for (var i = 0; i < Depts.Count; i++) { Depts[i].OName = orgTree.OName + "-" + Depts[i].OName;//部门名称变为 组织-部门 orgTree.children.Add(Depts[i]); } } return(orgTree.children); }
/// <summary> /// 根据操作员取申报单位 /// </summary> /// <param name="USERID"></param> /// <returns></returns> public IList <OrganizeModel> GetSBUnit(long USERID) { //SELECT DISTINCT fg3_userorg.ORGID FROM fg3_userorg WHERE USERID=488181024000001 List <Int64> PHIDs1 = new List <Int64>(); List <Int64> PHIDs2 = new List <Int64>(); Dictionary <string, object> dic_userorg = new Dictionary <string, object>(); new CreateCriteria(dic_userorg) .Add(ORMRestrictions <Int64> .Eq("UserId", USERID)); IList <UserOrganize2Model> userOrganize2s = UserOrgRule.Find(dic_userorg); if (userOrganize2s.Count > 0) { for (var i = 0; i < userOrganize2s.Count; i++) { if (!PHIDs1.Contains(userOrganize2s[i].OrgId)) { PHIDs1.Add(userOrganize2s[i].OrgId); } } } Dictionary <string, object> dic_Corr2 = new Dictionary <string, object>(); new CreateCriteria(dic_Corr2) .Add(ORMRestrictions <String> .Eq("Dylx", "SB")); IList <CorrespondenceSettings2Model> correspondenceSettings2 = CorrespondenceSettings2Rule.Find(dic_Corr2); if (correspondenceSettings2.Count > 0) { for (var i = 0; i < correspondenceSettings2.Count; i++) { if (!PHIDs2.Contains(long.Parse(correspondenceSettings2[i].DefStr2))) { PHIDs2.Add(long.Parse(correspondenceSettings2[i].DefStr2)); } } } List <Int64> phid3 = PHIDs1.Intersect(PHIDs2).ToList(); Dictionary <string, object> dic_org = new Dictionary <string, object>(); new CreateCriteria(dic_org) .Add(ORMRestrictions <String> .Eq("IfCorp", "Y")) .Add(ORMRestrictions <String> .Eq("IsActive", "1")) .Add(ORMRestrictions <List <Int64> > .In("PhId", phid3)); IList <OrganizeModel> organizes = OrganizationRule.Find(dic_org, new string[] { "OCode" }); return(organizes); }
/// <summary> /// 通过代码找名称 /// </summary> /// <param name="Dm"></param> /// <returns></returns> public string FindMcByDm(string Dm) { var dicWhere = new Dictionary <string, object>(); new CreateCriteria(dicWhere) .Add(ORMRestrictions <string> .Eq("OCode", Dm)); IList <OrganizeModel> organizes = OrganizationRule.Find(dicWhere); if (organizes.Count > 0) { return(organizes[0].OName); } else { return(""); } }
/// <summary> /// 得到子级(包括部门)(不是树 是list) /// </summary> /// <param name="orgId"></param> /// <param name="OrgList"></param> /// <returns></returns> public List <OrganizeModel> GetAllChildList(long orgId, List <OrganizeModel> OrgList = null) { if (OrgList == null) { OrgList = new List <OrganizeModel>(); } Dictionary <string, object> dic = new Dictionary <string, object>(); new CreateCriteria(dic) .Add(ORMRestrictions <String> .Eq("RelatId", "lg")) .Add(ORMRestrictions <Int64> .Eq("ParentOrgId", orgId)); IList <OrgRelatitem2Model> orgRelatitems = OrgRelatitem2Rule.Find(dic); if (orgRelatitems.Count > 0) { for (var i = 0; i < orgRelatitems.Count; i++) { OrganizeModel Orgdata = OrganizationRule.Find(orgRelatitems[i].OrgId); if (Orgdata.IfCorp == "Y" && Orgdata.IsActive == "1")//筛选组织 { OrgList.Add(Orgdata); GetAllChildList(Orgdata.PhId, OrgList); } } } Dictionary <string, object> dicDept = new Dictionary <string, object>(); new CreateCriteria(dicDept) .Add(ORMRestrictions <Int64> .Eq("ParentOrgId", orgId)) .Add(ORMRestrictions <String> .Eq("IfCorp", "N")) .Add(ORMRestrictions <String> .Eq("IsActive", "1")); List <OrganizeModel> Depts = OrganizationRule.Find(dicDept).ToList(); if (Depts.Count > 0) { for (var i = 0; i < Depts.Count; i++) { OrgList.Add(Depts[i]); } } return(OrgList); }
/// <summary> /// 取组织树(包括部门) /// </summary> /// <returns></returns> public List <OrganizeModel> GetALLOrgTree() { List <OrganizeModel> trees = new List <OrganizeModel>(); Dictionary <string, object> dic = new Dictionary <string, object>(); new CreateCriteria(dic) .Add(ORMRestrictions <String> .Eq("RelatId", "lg")) .Add(ORMRestrictions <Int64> .Eq("ParentOrgId", 0)); IList <OrgRelatitem2Model> orgRelatitems = OrgRelatitem2Rule.Find(dic); if (orgRelatitems.Count > 0) { for (var i = 0; i < orgRelatitems.Count; i++) { OrganizeModel tree = OrganizationRule.Find(orgRelatitems[i].OrgId); GetAllChild(tree); trees.Add(tree); } } return(trees); }