123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Collections;
- namespace WebAPIBase.NetCore.BusinessCore
- {
- public class RightModel
- {
- public static string UnavailableFunctionStructureCodes = "050170,050171,07,0701,070103,070107,070111,070121,070151,070152,070153,070154,0702,070202,0711,071101,150105,560102,670101,1214";
- public static List<RightModelItem> RightModelList = new List<RightModelItem>();
- public static void InitRightModelList(string licenceVerName, string licenceVerMsg)
- {
- if (string.IsNullOrEmpty(licenceVerMsg))
- {
- return;
- }
- string[] array = licenceVerMsg.Split(',');
- if (array.Length <= 0)
- {
- return;
- }
- CreateRightModelList(licenceVerName);
- for (int i = 1; i < array.Length; i++)
- {
- string[] array2 = array[i].Split(':');
- if (array2.Length != 2)
- {
- continue;
- }
- foreach (RightModelItem rightModel in RightModelList)
- {
- if (!(rightModel.RightModelKey == array2[0]))
- {
- continue;
- }
- if (licenceVerName.ToLower() == "v35proj")
- {
- if (Convert.ToInt32(array2[1]) > 0)
- {
- rightModel.IsValid = true;
- }
- }
- else
- {
- rightModel.IsValid = true;
- }
- break;
- }
- }
- }
- private static void CreateRightModelList(string licenceVerName)
- {
- RightModelList.Clear();
- switch (licenceVerName.ToLower())
- {
- case "v35proj":
- {
- AddItem("项目管理", "UP", "01,12,14,56,04,05,06,22,24,15");
- AddItem("营销管理", "UG", "60,67,61,62,63,64,66");
- StringBuilder stringBuilder2 = new StringBuilder();
- stringBuilder2.Append(",07,17,1206,560102,560121");
- stringBuilder2.Append(",31,1204,560114,560115,560116");
- stringBuilder2.Append(",21");
- stringBuilder2.Append(",57,58");
- stringBuilder2.Append(",09,041116,050113,050114,050115,060108,151306,151506,220108,240106");
- stringBuilder2.Append(",69,660103,660104,670202,670205");
- stringBuilder2.Append(",68,670203");
- stringBuilder2.Append(",660410,660415,660419,660422,660423,660430,660606");
- stringBuilder2.Append(",660105,660109,660120,660114,660115,660116,660117,660121,660122,660123,660124");
- stringBuilder2.Append(",70,600307,6015,6016,6017,6302,6305,6310,6311,660119,660118,660304,660515,660516,6608,660305,610127");
- stringBuilder2.Append(",600308");
- stringBuilder2.Append(",65");
- AddItem("不提供的功能", "INVALID", stringBuilder2.ToString().Substring(1));
- break;
- }
- case "v35":
- AddItem("PM项目信息", "UQ", "01,12,14,56");
- AddItem("成本控制", "US", "04");
- AddItem("合同管理", "UU", "05");
- AddItem("付款管理", "UV", "06");
- AddItem("现场签证", "UW", "22");
- AddItem("设计变更", "UX", "24");
- AddItem("材料管理", "UK", "15");
- AddItem("工程进度", "UR", "17");
- AddItem("招标管理", "UT", "21");
- AddItem("资金计划", "UZ", "31");
- AddItem("质量安全", "UY", "57,58");
- AddItem("营销项目信息", "UH", "60,67");
- AddItem("客户管理", "UI", "61");
- AddItem("财务管理", "UL", "63");
- AddItem("报表中心", "UN", "66");
- AddItem("销售管理", "UJ", "62,64,600304,600305,600306,6004,6005,6006,6007,6009,6010,6014,610113,610114,610115,610116,610117,610118,610119,610120,6301,6303\r\n,660101,660102,660105,660106,660107,660108,660109,660110,660111,660112,660114,660115,660116,660117,660120,660301,660302,660303,6604,660501,660504,660505,660506,660509,660511,660512,660513,660514,6606,660701\r\n,68");
- AddItem("会员管理", "UO", "65");
- AddItem("客户投诉", "UF", "69,660103,660104");
- AddItem("租赁管理", "EB", "70,600307,6015,6016,6017,6302,6305,6310,6311,660118,660119,660304,660515,660516,6608,610127,660121,660122,660123,660124");
- AddItem("始终有效的功能", "VALID", "08,09,10,11").IsValid = true;
- break;
- case "v50":
- AddItem("PM项目信息", "UQ", "01,12,14,56");
- AddItem("成本控制", "US", "04,560103,560104,560105,560106,560111,560112,560113,560131");
- AddItem("合同管理", "UU", "05,210106");
- AddItem("付款管理", "UV", "06,560107,560108");
- AddItem("现场签证", "UW", "22");
- AddItem("设计变更", "UX", "24");
- AddItem("材料管理", "UK", "15,050118,050119,050123,060310,060311");
- AddItem("工程进度", "UR", "17,1206,560101,560121,560131");
- AddItem("招标管理", "UT", "21");
- AddItem("资金计划", "UZ", "31,1204,560114,560115,560116");
- AddItem("质量安全", "UY", "57,58");
- AddItem("合约规划", "EC", "0422");
- AddItem("管理驾驶舱", "ED", "80");
- AddItem("成本数据库", "EE", "5602");
- AddItem("供方管理", "EF", "41");
- AddItem("材料信息库", "EG", "1502");
- AddItem("营销项目信息", "UH", "60,67");
- AddItem("客户管理", "UI", "61,660120,660128,6602,6607");
- AddItem("财务管理", "UL", "63,6605,660105,660109,660116,660117");
- AddItem("报表中心", "UN", "66");
- AddItem("销售管理", "UJ", "62,600304,600305,600306,6004,6005,6006,6007,6009,6010,6014,610113,610114,610115,610116,610117,610118,610119,610120,610121,610122,610125,6301,6303\r\n,660101,660102,660105,660107,660108,660109,660113,660115,660116,660117,660120,660125,660128,660129,6603,660301,660302,660303,6604,660501,660502,660503,660504,660505,660506,660507,660508,660513,660514,660517,660701");
- AddItem("企划管理", "UE", "68,6609,660114,660126");
- AddItem("售后服务", "UM", "64,6606");
- AddItem("会员管理", "UO", "65");
- AddItem("客户投诉", "UF", "69,660103,660104,670202,670205");
- AddItem("租赁管理", "EB", "70,600307,6015,6016,6017,610127,6302,6305,6310,6311,660118,660119,660127,6603,660304,660515,6608,610127");
- AddItem("始终有效的功能", "VALID", "08,09,10,11").IsValid = true;
- break;
- case "v55":
- AddItem("PM项目信息", "UQ", "01,12,14,56");
- AddItem("成本控制", "US", "04,560103,560104,560105,560106,560111,560112,560113,560131");
- AddItem("合同管理", "UU", "05,210106");
- AddItem("付款管理", "UV", "06,560107,560108");
- AddItem("现场签证", "UW", "22");
- AddItem("设计变更", "UX", "24");
- AddItem("材料管理", "UK", "15,050118,050119,050123,060310,060311");
- AddItem("工程进度", "UR", "17,1206,560101,560121,560131");
- AddItem("招标管理", "UT", "21");
- AddItem("资金计划", "UZ", "31,1204,560114,560115,560116");
- AddItem("质量安全", "UY", "57,58");
- AddItem("合约规划", "EC", "0422");
- AddItem("管理驾驶舱", "ED", "80");
- AddItem("成本数据库", "EE", "5602");
- AddItem("供方管理", "EF", "41");
- AddItem("材料信息库", "EG", "1502");
- AddItem("营销项目信息", "UH", "60,67");
- AddItem("客户管理", "UI", "61,660120,660128,6602,6607");
- AddItem("财务管理", "UL", "63,6605,660105,660109,660116,660117");
- AddItem("报表中心", "UN", "66");
- AddItem("票据管理", "EH", "6312");
- AddItem("计划管理", "EI", "18");
- AddItem("销售管理", "UJ", "62,600304,600305,600306,6004,6005,6006,6007,6009,6010,6014,610113,610114,610115,610116,610117,610118,610119,610120,610121,610122,610125,610130,610131,610132,610133,610134,610135,610136,610137,610138,610139,6301,6303,6313\r\n,660101,660102,660105,660107,660108,660109,660113,660115,660116,660117,660120,660125,660128,660129,660301,660302,660303,6604,660501,660504,660505,660506,660509,660513,660514,660517,660701");
- AddItem("企划管理", "UE", "68,6609,660114,660126");
- AddItem("售后服务", "UM", "64,6606");
- AddItem("会员管理", "UO", "65");
- AddItem("客户投诉", "UF", "69,660103,660104,670202,670205");
- AddItem("租赁管理", "EB", "70,600307,6015,6016,6017,610127,6302,6305,6310,6311,660118,660119,660127,660304,660515,6608,610127");
- AddItem("始终有效的功能", "VALID", "08,09,10,11").IsValid = true;
- break;
- case "v56":
- AddItem("PM项目信息", "UQ", "01,12,14,56,19");
- AddItem("成本控制", "US", "04,560103,560104,560105,560106,560111,560112,560113,560131");
- AddItem("合同管理", "UU", "05,210106");
- AddItem("付款管理", "UV", "06,560107,560108");
- AddItem("现场签证", "UW", "22");
- AddItem("设计变更", "UX", "24");
- AddItem("材料管理", "UK", "15,050118,050119,050123,060310,060311");
- AddItem("工程进度", "UR", "17,1206,560101,560121,560131");
- AddItem("招标管理", "UT", "21");
- AddItem("资金计划", "UZ", "31,1204,560114,560115,560116");
- AddItem("质量安全", "UY", "57,58");
- AddItem("合约规划", "EC", "0422");
- AddItem("管理驾驶舱", "ED", "80");
- AddItem("成本数据库", "EE", "5602");
- AddItem("供方管理", "EF", "41");
- AddItem("材料信息库", "EG", "1502");
- AddItem("营销项目信息", "UH", "60,67");
- AddItem("客户管理", "UI", "61,660120,660128,6602,6607");
- AddItem("财务管理", "UL", "63,6605,660105,660109,660116,660117");
- AddItem("报表中心", "UN", "66");
- AddItem("票据管理", "EH", "6312");
- AddItem("计划管理", "EI", "18");
- AddItem("销售管理", "UJ", "62,600304,600305,600306,600308,600309,6004,6005,6006,6007,6009,6010,6014,610113,610114,610115,610116,610117,610118,610119,610120,610121,610122,610125,610130,610131,610132,610133,610134,610135,610136,610137,610138,610139,6301,6303,6313\r\n,660101,660102,660105,660107,660108,660109,660113,660115,660116,660117,660120,660125,660128,660129,660301,660302,660303,6604,660501,660504,660505,660506,660509,660513,660514,660517,660701\r\n,6313,660130,660131,660132,660133,660134,660203,660204,660306,660704,660701");
- AddItem("企划管理", "UE", "68,6609,660114,660126,670203");
- AddItem("售后服务", "UM", "64,6606");
- AddItem("会员管理", "UO", "65");
- AddItem("客户投诉", "UF", "69,660103,660104,670202,670205");
- AddItem("租赁管理", "EB", "70,600307,6015,6016,6017,610127,6302,6305,6310,6311,660118,660119,660127,660304,660515,6608,610127,6314");
- AddItem("始终有效的功能", "VALID", "08,09,10,11,71").IsValid = true;
- break;
- case "v561":
- AddItem("PM项目信息", "UQ", "01,12,14,56,19");
- AddItem("成本控制", "US", "04,560103,560104,560105,560106,560111,560112,560113,560131");
- AddItem("合同管理", "UU", "05,210106");
- AddItem("付款管理", "UV", "06,560107,560108");
- AddItem("现场签证", "UW", "22");
- AddItem("设计变更", "UX", "24");
- AddItem("材料管理", "UK", "15,050118,050119,050123,060310,060311");
- AddItem("工程进度", "UR", "17,1206,560101,560121,560131");
- AddItem("招标管理", "UT", "21");
- AddItem("资金计划", "UZ", "31,1204,560114,560115,560116");
- AddItem("质量安全", "UY", "57,58");
- AddItem("合约规划", "EC", "0422");
- AddItem("管理驾驶舱", "ED", "80");
- AddItem("成本数据库", "EE", "5602");
- AddItem("供方管理", "EF", "41");
- AddItem("材料信息库", "EG", "1502");
- AddItem("营销项目信息", "UH", "60,67");
- AddItem("客户管理", "UI", "61,660120,660128,6602,6607");
- AddItem("财务管理", "UL", "63,6605,660105,660109,660116,660117");
- AddItem("报表中心", "UN", "66");
- AddItem("票据管理", "EH", "6312");
- AddItem("计划管理", "EI", "18");
- AddItem("销售管理", "UJ", "62,600304,600305,600306,600308,600309,6004,6005,6006,6007,6009,6010,6014,610113,610114,610115,610116,610117,610118,610119,610120,610121,610122,610125,610130,610131,610132,610133,610134,610135,610136,610137,610138,610139,6301,6303,6313\r\n,660101,660102,660105,660107,660108,660109,660113,660115,660116,660117,660120,660125,660128,660129,660301,660302,660303,6604,660501,660504,660505,660506,660509,660513,660514,660517,660701\r\n,6313,660130,660131,660132,660133,660134,660203,660204,660306,660704,660701");
- AddItem("企划管理", "UE", "68,6609,660114,660126,670203");
- AddItem("售后服务", "UM", "64,6606");
- AddItem("会员管理", "UO", "65");
- AddItem("客户投诉", "UF", "69,660103,660104,670202,670205");
- AddItem("租赁管理", "EB", "70,600307,6015,6016,6017,610127,6302,6305,6310,6311,660118,660119,660127,660304,660515,6608,610127,6314");
- AddItem("增值税管理", "EK", "81,1115,041161,041623,560132,050188,8092,660519,061109,410207,410208");
- AddItem("始终有效的功能", "VALID", "08,09,10,11,71").IsValid = true;
- break;
- case "v60":
- AddItem("PM项目信息", "UQ", "01,12,14,56,19");
- AddItem("成本控制", "US", "04,560103,560104,560105,560106,560111,560112,560113,560131");
- AddItem("合同管理", "UU", "05,210106");
- AddItem("付款管理", "UV", "06,560107,560108");
- AddItem("现场签证", "UW", "22");
- AddItem("设计变更", "UX", "24");
- AddItem("材料管理", "UK", "15,050118,050119,050123");
- AddItem("工程进度", "UR", "17,1206,560101,560121,560131");
- AddItem("招标管理", "UT", "21");
- AddItem("资金计划", "UZ", "31,1204,560114,560115,560116");
- AddItem("质量安全", "UY", "57,58");
- AddItem("合约规划", "EC", "0422");
- AddItem("管理驾驶舱", "ED", "80");
- AddItem("成本数据库", "EE", "5602");
- AddItem("供方管理", "EF", "41");
- AddItem("材料信息库", "EG", "1502");
- AddItem("营销项目信息", "UH", "60,67");
- AddItem("客户管理", "UI", "61,660120,660128,6602,6607");
- AddItem("财务管理", "UL", "63,6605,660105,660109,660116,660117");
- AddItem("报表中心", "UN", "66");
- AddItem("票据管理", "EH", "6312");
- AddItem("计划管理", "EI", "18");
- AddItem("销售管理", "UJ", "62,600304,600305,600306,600308,600309,6004,6005,6006,6007,6009,6010,6014,610113,610114,610115,610116,610117,610118,610119,610120,610121,610122,610125,610130,610131,610132,610133,610134,610135,610136,610137,610138,610139,6301,6303,6313\r\n,660101,660102,660105,660107,660108,660109,660113,660115,660116,660117,660120,660125,660128,660129,660301,660302,660303,6604,660501,660504,660505,660506,660509,660513,660514,660517,660701\r\n,6313,660130,660131,660132,660133,660134,660203,660204,660306,660704,660701");
- AddItem("企划管理", "UE", "68,6609,660114,660126,670203");
- AddItem("售后服务", "UM", "64,6606");
- AddItem("会员管理", "UO", "65");
- AddItem("客户投诉", "UF", "69,660103,660104,670202,670205");
- AddItem("租赁管理", "EB", "70,600307,6015,6016,6017,610127,6302,6305,6310,6311,660118,660119,660127,660304,660515,6608,610127,6314");
- AddItem("增值税管理", "EK", "81,1115,041161,041623,560132,050188,8092,660519,061109,410207,410208");
- AddItem("商业物业", "EL", "82,88,89,90,91,92,93,94,95,96,97,98,99");
- AddItem("始终有效的功能", "VALID", "08,09,10,11,71").IsValid = true;
- break;
- case "v50proj":
- {
- AddItem("项目管理", "UP", "01,12,14,56,04,05,06,22,24,15,31,41");
- AddItem("营销管理", "UG", "60,67,61,62,63,64,66");
- StringBuilder stringBuilder = new StringBuilder();
- stringBuilder.Append(",07,17,1206,560102,560121,041621,560131");
- stringBuilder.Append(",09,041116,050113,050114,050115,060108,151306,151506,220108,240106");
- stringBuilder.Append(",620813,620915");
- stringBuilder.Append(",21");
- stringBuilder.Append(",4101,4104");
- stringBuilder.Append(",57,58");
- stringBuilder.Append(",65");
- stringBuilder.Append(",68,6609,660114,660126");
- stringBuilder.Append(",69,660103,660104,670202,670205");
- stringBuilder.Append(",6102");
- stringBuilder.Append(",70,600307,6015,6016,6017,6302,6305,6310,6311,660119,660118,660304,660515,6608,660127,610127,660305,660516");
- stringBuilder.Append(",600308");
- stringBuilder.Append(",660415,660419,660422,660423,660430,660606");
- stringBuilder.Append(",660105,660109,660120,660114,660115,660116,660117,660107,660108,660113,660125,660128");
- stringBuilder.Append(",610121,610122,610125,660303");
- stringBuilder.Append(",80");
- stringBuilder.Append(",5602,041117");
- stringBuilder.Append(",0422");
- AddItem("不提供的功能", "INVALID", stringBuilder.ToString().Substring(1));
- break;
- }
- }
- }
- private static RightModelItem AddItem(string name, string key, string rootfunctionstructlist)
- {
- RightModelItem rightModelItem = new RightModelItem(name, key, rootfunctionstructlist);
- RightModelList.Add(rightModelItem);
- return rightModelItem;
- }
- public static RightModelItem GetItemByKey(string key)
- {
- foreach (RightModelItem rightModel in RightModelList)
- {
- if (key.ToLower() == rightModel.RightModelKey.ToLower())
- {
- return rightModel;
- }
- }
- return null;
- }
- public static ArrayList GetRootFunctionStructureByValid(bool isValid)
- {
- ArrayList arrayList = new ArrayList();
- foreach (RightModelItem rightModel in RightModelList)
- {
- if (rightModel.IsValid == isValid)
- {
- string[] array = rightModel.RootFunctionStructList.Split(',');
- string[] array2 = array;
- foreach (string value in array2)
- {
- arrayList.Add(value);
- }
- }
- }
- return arrayList;
- }
- }
- }
|