diff --git a/.vs/SGGL_SeDin/v17/.wsuo b/.vs/SGGL_SeDin/v17/.wsuo index 1261326e..8deb1efc 100644 Binary files a/.vs/SGGL_SeDin/v17/.wsuo and b/.vs/SGGL_SeDin/v17/.wsuo differ diff --git a/DataBase/版本日志/SGGLDB_V2023-10-24.sql b/DataBase/版本日志/SGGLDB_V2023-10-24.sql new file mode 100644 index 00000000..947354a9 --- /dev/null +++ b/DataBase/版本日志/SGGLDB_V2023-10-24.sql @@ -0,0 +1,3 @@ +alter table dbo.Sys_Const + alter column ConstValue nvarchar(500) +go \ No newline at end of file diff --git a/DataBase/菜单初始化脚本/0-3合同管理(Menu_HTGL).sql b/DataBase/菜单初始化脚本/0-3合同管理(Menu_HTGL).sql index fbb07771..7ead219a 100644 --- a/DataBase/菜单初始化脚本/0-3合同管理(Menu_HTGL).sql +++ b/DataBase/菜单初始化脚本/0-3合同管理(Menu_HTGL).sql @@ -1,11 +1,11 @@ ---delete from Sys_ButtonToMenu where MenuId in (select MenuId from Sys_Menu where MenuType='Menu_HTGL') ---go ---delete from Sys_Menu where MenuType='Menu_HTGL' ---go - ---INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) ---VALUES('E9D387EB-2797-43E3-AACE-93413839CCF7','合同管理','',10,'0','Menu_HTGL',0,0,1) ---GO +-- delete from Sys_ButtonToMenu where MenuId in (select MenuId from Sys_Menu where MenuType='Menu_HTGL') +-- go +-- delete from Sys_Menu where MenuType='Menu_HTGL' +-- go +-- +-- INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) +-- VALUES('E9D387EB-2797-43E3-AACE-93413839CCF7','合同管理','',10,'0','Menu_HTGL',0,0,1) +-- GO INSERT Sys_Menu ([MenuId],[MenuName],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed]) VALUES ( N'E36CBDD0-2E49-415E-BBE7-B8222F40D749',N'合同模板',20,N'0',N'Menu_HTGL',1,0,1) @@ -158,17 +158,44 @@ GO VALUES ( N'DADA9037-FB84-4F87-B582-22D8C9060CA2',N'10586190-0FDD-4DA8-A877-CE4599D6F0DF',N'保存',4) GO INSERT Sys_Menu ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed]) -VALUES ( N'1C770E20-7912-484C-9739-499B1B2F8DEB',N'电仪安装工程',N'PHTGL/BillOfQuantities/TemQuantityList.aspx?Type=5',60,N'8213BE20-2680-4A13-91B8-49028BB89869',N'Menu_HTGL',1,1,1) +VALUES ( N'1C770E20-7912-484C-9739-499B1B2F8DEB',N'电仪安装工程','',60,N'8213BE20-2680-4A13-91B8-49028BB89869',N'Menu_HTGL',1,0,1) GO - INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) - VALUES ( N'4A66821E-D8EE-4D1B-953D-7D18323A46DA',N'1C770E20-7912-484C-9739-499B1B2F8DEB',N'增加',1) - INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) - VALUES ( N'6CD2EF60-3F20-4A1F-B920-39A696EE1948',N'1C770E20-7912-484C-9739-499B1B2F8DEB',N'修改',2) - INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) - VALUES ( N'CD5B9E2F-52F1-496B-B34D-5C4F27881645',N'1C770E20-7912-484C-9739-499B1B2F8DEB',N'删除',3) - INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) - VALUES ( N'08F6077E-DEC5-4965-BC39-D81439B867B9',N'1C770E20-7912-484C-9739-499B1B2F8DEB',N'保存',4) - GO + INSERT Sys_Menu ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed]) + VALUES ( N'3593DF22-78C1-4A73-8468-B20CB44D88C9',N'电气工程',N'PHTGL/BillOfQuantities/TemQuantityList.aspx?Type=5.1',10,N'1C770E20-7912-484C-9739-499B1B2F8DEB',N'Menu_HTGL',1,1,1) + GO + INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) + VALUES ( N'E85E577E-D291-4BE4-A188-1299627CB9BF',N'3593DF22-78C1-4A73-8468-B20CB44D88C9',N'增加',1) + INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) + VALUES ( N'96284F37-5F44-45BC-9A76-07C5951B65FA',N'3593DF22-78C1-4A73-8468-B20CB44D88C9',N'修改',2) + INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) + VALUES ( N'B449607E-78A1-4D43-B96F-DC005B63D0A9',N'3593DF22-78C1-4A73-8468-B20CB44D88C9',N'删除',3) + INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) + VALUES ( N'C0DAC9B2-E39B-4424-B84B-88CDC840366E',N'3593DF22-78C1-4A73-8468-B20CB44D88C9',N'保存',4) + GO + INSERT Sys_Menu ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed]) + VALUES ( N'3ECE6333-6785-424D-996E-B923A650D8C7',N'仪表工程',N'PHTGL/BillOfQuantities/TemQuantityList.aspx?Type=5.2',20,N'1C770E20-7912-484C-9739-499B1B2F8DEB',N'Menu_HTGL',1,1,1) + GO + INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) + VALUES ( N'0F96E48B-F865-4735-916E-8A981E004898',N'3ECE6333-6785-424D-996E-B923A650D8C7',N'增加',1) + INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) + VALUES ( N'D482584F-9CFD-4490-8BC3-9E19053F4E0D',N'3ECE6333-6785-424D-996E-B923A650D8C7',N'修改',2) + INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) + VALUES ( N'D59B5E5F-C8B0-4ABB-AE90-0574F5057FA5',N'3ECE6333-6785-424D-996E-B923A650D8C7',N'删除',3) + INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) + VALUES ( N'27A4B058-2DAA-49DD-BDA6-27E87DF14EFA',N'3ECE6333-6785-424D-996E-B923A650D8C7',N'保存',4) + GO + INSERT Sys_Menu ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed]) + VALUES ( N'480F8C85-F5F2-4C5C-BE72-2ADABB7250CF',N'电信工程',N'PHTGL/BillOfQuantities/TemQuantityList.aspx?Type=5.3',30,N'1C770E20-7912-484C-9739-499B1B2F8DEB',N'Menu_HTGL',1,1,1) + GO + INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) + VALUES ( N'FE761E62-A580-470E-AE7D-ACC112F816F1',N'480F8C85-F5F2-4C5C-BE72-2ADABB7250CF',N'增加',1) + INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) + VALUES ( N'3CF4C013-1A1E-4FB9-926B-CE50F187EFA5',N'480F8C85-F5F2-4C5C-BE72-2ADABB7250CF',N'修改',2) + INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) + VALUES ( N'C13CB62F-8793-460F-A0D0-8FBBA7F588A4',N'480F8C85-F5F2-4C5C-BE72-2ADABB7250CF',N'删除',3) + INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) + VALUES ( N'89CF8033-B506-41E2-96D5-9D2406D814D0',N'480F8C85-F5F2-4C5C-BE72-2ADABB7250CF',N'保存',4) + GO INSERT Sys_Menu ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed]) VALUES ( N'92101A90-9C22-4B43-B012-9AFF8402F85D',N'水暖安装工程',N'PHTGL/BillOfQuantities/TemQuantityList.aspx?Type=6',70,N'8213BE20-2680-4A13-91B8-49028BB89869',N'Menu_HTGL',1,1,1) GO diff --git a/DataBase/菜单初始化脚本/1-6合同管理(Menu_PHTGL).sql b/DataBase/菜单初始化脚本/1-6合同管理(Menu_PHTGL).sql index 6333b302..d3683fea 100644 --- a/DataBase/菜单初始化脚本/1-6合同管理(Menu_PHTGL).sql +++ b/DataBase/菜单初始化脚本/1-6合同管理(Menu_PHTGL).sql @@ -191,7 +191,7 @@ INSERT [Sys_Menu] ([MenuId],[MenuName],[SortIndex],[SuperMenu],[MenuType],[IsOff GO INSERT [Sys_Menu] ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed]) - VALUES ( N'D9BAB30E-3255-4EA0-8631-EF15C9203EFD',N'ִͬи',N'PHTGL/ContractCompile/ContractTrackList.aspx',40,0,N'Menu_PHTGL',0,1,1) + VALUES ( N'D9BAB30E-3255-4EA0-8631-EF15C9203EFD',N'ͬ۸Ϣ',N'PHTGL/ContractCompile/ContractTrackList.aspx',40,0,N'Menu_PHTGL',0,1,1) GO INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) VALUES ( N'5AD91BF5-4CA6-4A9E-A370-D17B0D99010F',N'D9BAB30E-3255-4EA0-8631-EF15C9203EFD',N'޸',2) @@ -203,6 +203,44 @@ INSERT [Sys_Menu] ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType], VALUES ( N'C1708178-C52B-4D32-9849-C69622D96105',N'D9BAB30E-3255-4EA0-8631-EF15C9203EFD',N'',1) GO +INSERT [Sys_Menu] ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed]) + VALUES ( N'98269480-3F36-4169-A91D-16144D903C6C',N'WBS',N'PHTGL/ContractCompile/ContractWBS.aspx',50,0,N'Menu_PHTGL',0,1,1) + GO + INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) + VALUES ( N'08CD24EB-98F4-407D-822F-8CF9C8D33E82',N'98269480-3F36-4169-A91D-16144D903C6C',N'޸',2) + INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) + VALUES ( N'97308133-D190-4AD7-917F-A2AF444E8462',N'98269480-3F36-4169-A91D-16144D903C6C',N'ɾ',3) + INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) + VALUES ( N'0B7306D1-A4A8-4C3C-814F-B28B991C5488',N'98269480-3F36-4169-A91D-16144D903C6C',N'',4) + INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) + VALUES ( N'3D4B433D-EA34-4D0C-B744-E12CE232171C',N'98269480-3F36-4169-A91D-16144D903C6C',N'',1) + GO +INSERT [Sys_Menu] ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed]) + VALUES ( N'D715B66F-8E99-498F-87DA-E85B4B8EB923',N'öԱͳ',N'PHTGL/ContractCompile/ContractTrackComparison.aspx',60,0,N'Menu_PHTGL',0,1,1) + GO + INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) + VALUES ( N'E2C32BE6-A98D-4A6E-A2C5-6C2A50CF1105',N'D715B66F-8E99-498F-87DA-E85B4B8EB923',N'޸',2) + INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) + VALUES ( N'C375017D-7521-4339-8CAB-029CD3EBB36B',N'D715B66F-8E99-498F-87DA-E85B4B8EB923',N'ɾ',3) + INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) + VALUES ( N'64464E85-267F-4559-89D4-FB6F1E2B5FA5',N'D715B66F-8E99-498F-87DA-E85B4B8EB923',N'',4) + INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) + VALUES ( N'1859C0E1-437C-419F-ABEE-63EE72E24AFC',N'D715B66F-8E99-498F-87DA-E85B4B8EB923',N'',1) + GO +INSERT [Sys_Menu] ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed]) + VALUES ( N'F545E899-B3B5-4B49-A741-DE19356553D5',N'ȼ',N'PHTGL/ContractCompile/ContractTrackProgressDetection.aspx',70,0,N'Menu_PHTGL',0,1,1) + GO + INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) + VALUES ( N'646C7C58-350D-484D-91BD-2FD3754FFD3E',N'F545E899-B3B5-4B49-A741-DE19356553D5',N'޸',2) + INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) + VALUES ( N'6765754C-917B-4C07-A0F6-CCDED2ABDD07',N'F545E899-B3B5-4B49-A741-DE19356553D5',N'ɾ',3) + INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) + VALUES ( N'1F7FDDC4-2746-4B65-9F65-37C71F11D342',N'F545E899-B3B5-4B49-A741-DE19356553D5',N'',4) + INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) + VALUES ( N'D11BD092-6A18-44A3-8ABD-9CF9B95340E1',N'F545E899-B3B5-4B49-A741-DE19356553D5',N'',1) + GO + GO + INSERT [Sys_Menu] ([MenuId],[MenuName],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed]) VALUES ( N'A9BBF623-83AC-4353-A010-07A5D4CEB7D1',N'Чͳ',50,N'0',N'Menu_PHTGL',0,0,1) Go diff --git a/SGGL/BLL/Common/Const.cs b/SGGL/BLL/Common/Const.cs index 829132a1..b5f1c295 100644 --- a/SGGL/BLL/Common/Const.cs +++ b/SGGL/BLL/Common/Const.cs @@ -3206,6 +3206,9 @@ namespace BLL public const string TemQuantityListMenuId3= "FAC4F0F7-A7C0-4F66-8BCB-846C082BCA40"; public const string TemQuantityListMenuId4= "10586190-0FDD-4DA8-A877-CE4599D6F0DF"; public const string TemQuantityListMenuId5= "1C770E20-7912-484C-9739-499B1B2F8DEB"; + public const string TemQuantityListMenuId5_1= "3593DF22-78C1-4A73-8468-B20CB44D88C9"; + public const string TemQuantityListMenuId5_2= "3ECE6333-6785-424D-996E-B923A650D8C7"; + public const string TemQuantityListMenuId5_3= "480F8C85-F5F2-4C5C-BE72-2ADABB7250CF"; public const string TemQuantityListMenuId6= "92101A90-9C22-4B43-B012-9AFF8402F85D"; public const string TemQuantityListMenuId7= "33A03E2C-4E00-4722-AA14-F50419468154"; public const string TemQuantityListMenuId8= "A5A31FE8-0643-4396-99E3-A4A31A947789"; @@ -3215,9 +3218,21 @@ namespace BLL /// public const string PHTGL_BidProjectQuantityMenuId = "687991B6-73AC-42FA-9A72-178AF94D1EB4"; /// - /// 合同执行跟踪 + /// 合同价格信息 /// public const string PHTGL_ContractTrackMenuId = "D9BAB30E-3255-4EA0-8631-EF15C9203EFD"; + /// + /// WBS工作包 + /// + public const string PHTGL_ContractWBSMenuId = "98269480-3F36-4169-A91D-16144D903C6C"; + /// + /// 费用对比统计 + /// + public const string PHTGL_ContractTrackComparisonMenuId = "D715B66F-8E99-498F-87DA-E85B4B8EB923"; + /// + /// 进度检测 + /// + public const string PHTGL_ContractTrackProgressDetectionMenuId = "F545E899-B3B5-4B49-A741-DE19356553D5"; #endregion diff --git a/SGGL/BLL/PHTGL/BillOfQuantities/PhtglQuantityService.cs b/SGGL/BLL/PHTGL/BillOfQuantities/PhtglQuantityService.cs index 0e6a5cd1..ee9616c6 100644 --- a/SGGL/BLL/PHTGL/BillOfQuantities/PhtglQuantityService.cs +++ b/SGGL/BLL/PHTGL/BillOfQuantities/PhtglQuantityService.cs @@ -17,6 +17,10 @@ namespace BLL return Funs.DB.PHTGL_Quantity.FirstOrDefault(x => x.Id == Id); } + public static PHTGL_Quantity GetPHTGL_QuantityByNumBer(string serialNumber,string marjor) + { + return Funs.DB.PHTGL_Quantity.FirstOrDefault(x => x.SerialNumber == serialNumber && x.Major==marjor); + } public static void AddPHTGL_Quantity(PHTGL_Quantity newtable) { @@ -132,10 +136,24 @@ namespace BLL public static ResponeData ImportData(string path, string majortype) { var responeData = new ResponeData(); - List rows; + List rows= new List(); + List remarkQuery=new List(); + string Major = ""; try { - rows = MiniExcel.Query(path).ToList(); + var sheetNames = MiniExcel.GetSheetNames(path); + foreach (var item in sheetNames) + { + if (item=="编制说明") + { + remarkQuery = MiniExcel.Query(path, sheetName: item).ToList(); + } + else + { + rows = MiniExcel.Query(path, sheetName: item).ToList(); + } + } + } catch (Exception e) { @@ -154,17 +172,46 @@ namespace BLL return responeData; } + Major = GetMajorItems().Where(x => x.Text == majortype).Select(x => x.Value).FirstOrDefault() ?? + ""; + List consts=new List(); + int SortIndex = 0; + foreach (var item in remarkQuery) + { + if (string.IsNullOrEmpty(Major)) break; + Model.Sys_Const model = new Model.Sys_Const() + { + ID = SQLHelper.GetNewID(), + ConstValue = item.A?.ToString(), + SortIndex = SortIndex, + GroupId = "工程量清单-"+ Major + }; + consts.Add(model); + SortIndex++; + } + + var old = ConstValue.drpConstItemList("工程量清单-" + Major); + if (old.Count>0) + { + Funs.DB.Sys_Const.DeleteAllOnSubmit(old); + Funs.DB.SubmitChanges(); + } + ; + Funs.DB.Sys_Const.InsertAllOnSubmit(consts); + Funs.DB.SubmitChanges(); foreach (var item in modeList) { - item.Major = GetMajorItems().Where(x => x.Text == majortype).Select(x => x.Value).FirstOrDefault() ?? - ""; - if (string.IsNullOrEmpty(item.Major)) break; + item.Major = Major; + if (string.IsNullOrEmpty(Major)) break; + if (string .IsNullOrEmpty(item.ProjectName)) continue; + if (item.ProjectName== "项目名称") continue; var queryPhtglQuantity = new PHTGL_Quantity { Major = item.Major, SubProject = item.SubProject, SubItemProject = item.SubItemProject, ProjectCode = item.ProjectCode, + ProjectName = item.ProjectName, IsTemplate = true }; var resultModel = GetPHTGL_QuantityByModle(queryPhtglQuantity); @@ -256,17 +303,19 @@ namespace BLL public static ListItem[] GetMajorItems() { - var list = new ListItem[10]; + var list = new ListItem[12]; list[0] = new ListItem("0", "土建工程"); list[1] = new ListItem("1", "钢结构预制工程"); list[2] = new ListItem("2", "工艺管道安装工程"); list[3] = new ListItem("3", "工艺设备安装工程"); list[4] = new ListItem("4", "非标设备现场制作安装工程"); - list[5] = new ListItem("5", "电仪安装工程"); - list[6] = new ListItem("6", "水暖安装工程"); - list[7] = new ListItem("7", "防腐绝热工程"); - list[8] = new ListItem("8", "无损检测工程"); - list[9] = new ListItem("9", "消防工程"); + list[5] = new ListItem("5.1", "电气工程"); + list[6] = new ListItem("5.2", "仪表工程"); + list[7] = new ListItem("5.3", "电信工程"); + list[8] = new ListItem("6", "水暖安装工程"); + list[9] = new ListItem("7", "防腐绝热工程"); + list[10] = new ListItem("8", "无损检测工程"); + list[11] = new ListItem("9", "消防工程"); return list; } @@ -305,12 +354,14 @@ namespace BLL (string.IsNullOrEmpty(table.Remarks) || x.Remarks.Contains(table.Remarks)) && x.IsTemplate == table.IsTemplate && (string.IsNullOrEmpty(table.ParentId) || x.ParentId.Contains(table.ParentId)) - - select new { x ,IntSerialNumber= Funs.GetNewIntOrZero(x.SerialNumber.Replace(".", "")) - } + + select x; + //select new { x ,IntSerialNumber= Funs.GetNewIntOrZero(x.SerialNumber.Replace(".", "")) + // } ; - var model = q.ToList().OrderBy(x => x.IntSerialNumber).Select(itemx => itemx.x).ToList(); + //var model = q.ToList().OrderBy(x => x.IntSerialNumber).Select(itemx => itemx.x).ToList(); + var model = q.ToList().OrderBy(x => x.SerialNumber, new CustomComparer()).ToList(); return model; } @@ -350,9 +401,61 @@ namespace BLL }; } + public static void CheckSubProjectName(List list) + { + foreach (var item in list) + { + var SubProject = ""; + var SubItemProject = ""; + var SerialNumberArry = item.SerialNumber?.Split('.'); + if (SerialNumberArry.Length==2) + { + item.SubProject = GetPHTGL_QuantityByNumBer(SerialNumberArry[0], item.Major).ProjectName; + UpdatePHTGL_Quantity(item); + + } + else if (SerialNumberArry.Length == 3) + { + item.SubProject = GetPHTGL_QuantityByNumBer(SerialNumberArry[0], item.Major).ProjectName; + item.SubItemProject= GetPHTGL_QuantityByNumBer(SerialNumberArry[0]+"."+ SerialNumberArry[1], item.Major).ProjectName; + UpdatePHTGL_Quantity(item); + } + + } + } + #endregion } + public class CustomComparer : IComparer + { + public int Compare(string x, string y) + { + if (string.IsNullOrEmpty(x)||string.IsNullOrEmpty(y)) + { + return 0; + } + var xParts = x.Split('.'); + var yParts = y.Split('.'); + for (int i = 0; i < Math.Min(xParts.Length, yParts.Length); i++) + { + int xNumber, yNumber; + if (int.TryParse(xParts[i], out xNumber) && int.TryParse(yParts[i], out yNumber)) + { + if (xNumber != yNumber) + { + return xNumber.CompareTo(yNumber); + } + } + else + { + return x.CompareTo(y); + } + } + + return xParts.Length.CompareTo(yParts.Length); + } + } public class PHTGL_QuantityDtoIn { [ExcelColumnIndex("A")] public string SerialNumber { get; set; } diff --git a/SGGL/BLL/PHTGL/ContractCompile/PhtglContracttrackService .cs b/SGGL/BLL/PHTGL/ContractCompile/PhtglContracttrackService .cs index 70fca224..10fd5af5 100644 --- a/SGGL/BLL/PHTGL/ContractCompile/PhtglContracttrackService .cs +++ b/SGGL/BLL/PHTGL/ContractCompile/PhtglContracttrackService .cs @@ -214,6 +214,56 @@ namespace BLL PhtglContracttrackmatchwbsService.DeleteModelByContractTrackId(id); } + /// + /// 重新校验合同权重 + /// + /// + /// + public static void CheckContractWeightByContractId(string contractid ,string projectid) + { + Model.PHTGL_ContractTrack table = new Model.PHTGL_ContractTrack(); + table.ProjectId = projectid; + table.ContractId = contractid; + var list= GetPHTGL_ContractTrackByModle(table); + foreach (var item in list) + { + item .ContractWeight = GetContractWeightById(item.Id); + UpdatePHTGL_ContractTrack(item); + + } + } + /// + /// 获取清单的合同权重 + /// + /// + /// + public static string GetContractWeightById(string id ) + { + string ContractWeight = "0"; + var model = GetPHTGL_ContractTrackById(id); + if (model != null) + { + if (GetSumSettledAmountByContractId(model.ContractId, model.ProjectId) == 0) return ContractWeight; + var result = + (model.SettledAmount / GetSumSettledAmountByContractId(model.ContractId, model.ProjectId)) * 100; + ContractWeight = string.Format("{0:F}", result); + } + + return ContractWeight; + } + /// + /// 根据合同id 获取合同预算金额 + /// + public static decimal GetSumSettledAmountByContractId(string contractid, string projectid) + { + decimal SumSettledAmount = 0; + SumSettledAmount = + (from x in Funs.DB.PHTGL_ContractTrack + where x.ProjectId == projectid && x.ContractId == contractid + select x.SettledAmount ?? 0).ToList().Sum(); + return SumSettledAmount; + } + public static ResponeData ImportData(string path, string contractid, string projectid) { var responeData = new ResponeData(); @@ -252,6 +302,11 @@ namespace BLL if (string.IsNullOrEmpty(item.ProjectCode)) continue; var resultModel = GetPHTGL_ContractTrackByModle(phtglContractTrack); item.ContractNum = ContractService.GetContractById(contractid)?.ContractNum; + if (!string .IsNullOrEmpty(item.ProjectCode)&& !item.ProjectCode.Contains("-")) + { + + item.ProjectCode = item.MainItemCode + "-" + item.ProjectCode; + } if (resultModel.Any()) { item.Id = resultModel[0].Id; diff --git a/SGGL/BLL/PHTGL/ContractCompile/PhtglContracttrackprogressService.cs b/SGGL/BLL/PHTGL/ContractCompile/PhtglContracttrackprogressService.cs index 4e3841e5..4cbc8a94 100644 --- a/SGGL/BLL/PHTGL/ContractCompile/PhtglContracttrackprogressService.cs +++ b/SGGL/BLL/PHTGL/ContractCompile/PhtglContracttrackprogressService.cs @@ -1,6 +1,7 @@ using System; using System.Collections; using System.Collections.Generic; +using System.Globalization; using System.Linq; using FineUIPro; using Model; @@ -69,7 +70,15 @@ namespace BLL return Funs.DB.PHTGL_ContractTrackProgress.FirstOrDefault(x => x.ContractTrackProgressId == ContractTrackProgressId); } - + public static PHTGL_ContractTrackProgress GetPHTGL_ContractTrackProgressByTrackIdAndDate(string ContractTrackId,string date) + { + return Funs.DB.PHTGL_ContractTrackProgress.FirstOrDefault(x => + x.ContractTrackId == ContractTrackId && x.Date==date); + } + /// + /// 根据合同价格信息主键创建进度日期数据 + /// + /// public static void CreateTemplateByContractTrackId(string ContractTrackId) { var model = PhtglContractTrackService.GetPHTGL_ContractTrackById(ContractTrackId); @@ -80,7 +89,7 @@ namespace BLL { var startDate = (DateTime)contractmode.ContractStartDate; var endDate = (DateTime)contractmode.ContractEndDate; - List months = GetMonthsBetween(startDate, endDate); + List months = GetMonthsBetween(startDate, endDate);//获取合同起止日期 foreach (DateTime month in months) { @@ -101,6 +110,7 @@ namespace BLL } } } + public static List GetMonthsBetween(DateTime startDate, DateTime endDate) { List months = new List(); @@ -135,9 +145,8 @@ namespace BLL Funs.DB.SubmitChanges(); } - public static void UpdatePHTGL_ContractTrackProgress(PHTGL_ContractTrackProgress newtable) - { + { var table = Funs.DB.PHTGL_ContractTrackProgress.FirstOrDefault(x => x.ContractTrackProgressId == newtable.ContractTrackProgressId); if (table != null) @@ -154,6 +163,71 @@ namespace BLL Funs.DB.SubmitChanges(); } } + /// + /// 重新校验计算进度数据 + /// + /// + public static void CheckProgressByContractTrackId(string contractTrackId) + { + var modeContractTrack = PhtglContractTrackService.GetPHTGL_ContractTrackById(contractTrackId); + if (modeContractTrack!=null) + { + var totalCostFixedComprehensiveUnitPrice = Funs.GetNewDecimalOrZero(modeContractTrack.TotalCostFixedComprehensiveUnitPrice); //全费用综合单价 + var settledAmount = modeContractTrack.SettledAmount??0;//预算金额 + var contractWeight= Funs.GetNewDecimalOrZero(modeContractTrack.ContractWeight)==0?0: Funs.GetNewDecimalOrZero(modeContractTrack.ContractWeight)/100;//合同权重 + var quserytable = new Model.PHTGL_ContractTrackProgress(); + quserytable.ContractTrackId = contractTrackId; + var list= GetPHTGL_ContractTrackProgressByModle(quserytable); + foreach (var item in list) + { + //产值=计划工程量*全费用综合单价(来源于“费用对比统计”), + // 百分比 =(产值 / 预算金额)*合同权重 + item.ACWP_OutputValue = (item.ACWP_Quantity??0)* totalCostFixedComprehensiveUnitPrice; + if (settledAmount == 0) + { + item.ACWP_Percentage = 0; + } + else + { + item.ACWP_Percentage = Math.Round(((item.ACWP_Quantity ?? 0) / settledAmount) * contractWeight * 100, 2); + } + + item.BCWS_OutputValue = (item.BCWS_Quantity ?? 0) * totalCostFixedComprehensiveUnitPrice; + if (settledAmount == 0) + { + item.BCWS_Percentage = 0; + } + else + { + item.BCWS_Percentage = Math.Round(((item.BCWS_Quantity ?? 0) / settledAmount) * contractWeight * 100, 2) ; + } + UpdatePHTGL_ContractTrackProgress(item); + } + } + } + /// + /// 获取累计进程情况 + /// + /// + /// + public static PHTGL_ContractTrackProgress GetSumProgress(string contractTrackProgressId) + { + var result=new PHTGL_ContractTrackProgress(); + var model = GetPHTGL_ContractTrackProgressById(contractTrackProgressId); + var q = (from x in Funs.DB.PHTGL_ContractTrackProgress + where x.ContractTrackId == model.ContractTrackId && string.Compare(x.Date,model.Date)<=0 + select x).ToList(); + result.ACWP_Quantity = q.Sum(x => x.ACWP_Quantity ??0); + result.ACWP_OutputValue = q.Sum(x => x.ACWP_OutputValue ?? 0); + result.ACWP_Percentage = q.Sum(x => x.ACWP_Percentage ?? 0); + + result.BCWS_Quantity = q.Sum(x => x.BCWS_Quantity ?? 0); + result.BCWS_OutputValue = q.Sum(x => x.BCWS_OutputValue ?? 0); + result.BCWS_Percentage = q.Sum(x => x.BCWS_Percentage ?? 0); + + return result; + + } public static void DeleteModleById(string ContractTrackProgressId) { diff --git a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj index a4b2b3ee..b8b3c369 100644 --- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj +++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj @@ -1267,11 +1267,15 @@ + + + + @@ -12440,6 +12444,13 @@ ContractStandingBook.aspx + + ContractTrackComparison.aspx + ASPXCodeBehind + + + ContractTrackComparison.aspx + ContractTrackEdit.aspx ASPXCodeBehind @@ -12475,6 +12486,27 @@ ContractTrackProgressChart.aspx + + ContractTrackProgressDetection.aspx + ASPXCodeBehind + + + ContractTrackProgressDetection.aspx + + + ContractTrackProgressDetectionGrid.aspx + ASPXCodeBehind + + + ContractTrackProgressDetectionGrid.aspx + + + ContractWBS.aspx + ASPXCodeBehind + + + ContractWBS.aspx + GeneralTermsConditions.aspx ASPXCodeBehind diff --git a/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldReportEdit.aspx.cs b/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldReportEdit.aspx.cs index 77e15f0d..88c0514c 100644 --- a/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldReportEdit.aspx.cs +++ b/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldReportEdit.aspx.cs @@ -206,7 +206,7 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage && x.WeldingDailyId == null /*&& x.CoverWelderId != null && x.BackingWelderId != null*/) || x.WeldingDailyId == this.WeldingDailyId select x).ToList(); - weldJointIds= weldJointIds.GroupBy(x => x.WeldJointId, (key, group) => group.First()).ToList(); + weldJointIds= weldJointIds.GroupBy(x => x.WeldJointId, (key, group) => group.OrderByDescending(x=>x.TaskDate).First()).ToList(); task = weldJointIds; //foreach (var weldJointId in weldJointIds) //{ @@ -228,7 +228,7 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage where x.UnitWorkId == this.UnitWorkId && x.TaskDate.Value.Date <= Convert.ToDateTime(txtWeldingDate.Text) && x.WeldingDailyId == null /*&& x.CoverWelderId != null && x.BackingWelderId != null*/ select x).ToList(); - weldJointIds = weldJointIds.GroupBy(x => x.WeldJointId, (key, group) => group.First()).ToList(); + weldJointIds = weldJointIds.GroupBy(x => x.WeldJointId, (key, group) => group.OrderByDescending(x => x.TaskDate).First()).ToList(); task = weldJointIds; //foreach (var weldJointId in weldJointIds) //{ diff --git a/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantityList.aspx b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantityList.aspx index a09ceb99..d318451f 100644 --- a/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantityList.aspx +++ b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantityList.aspx @@ -5,151 +5,152 @@ - +
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + diff --git a/SGGL/FineUIPro.Web/PHTGL/ContractCompile/ContractTrackComparison.aspx.cs b/SGGL/FineUIPro.Web/PHTGL/ContractCompile/ContractTrackComparison.aspx.cs new file mode 100644 index 00000000..9cf8db00 --- /dev/null +++ b/SGGL/FineUIPro.Web/PHTGL/ContractCompile/ContractTrackComparison.aspx.cs @@ -0,0 +1,432 @@ +using BLL; +using Newtonsoft.Json.Linq; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; + +namespace FineUIPro.Web.PHTGL.ContractCompile +{ + public partial class ContractTrackComparison : PageBase + { + public string ContractId + { + get => (string)ViewState["ContractId"]; + set => ViewState["ContractId"] = value; + } + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + this.GetButtonPower(); + //主合同编号 + this.DropContractCode.DataTextField = "ContractNum"; + this.DropContractCode.DataValueField = "ContractNum"; + this.DropContractCode.DataSource = BLL.PHTGL_ContractReviewService.GetContractReview_CompleteData(this.CurrUser.LoginProjectId); + this.DropContractCode.DataBind(); + Funs.FineUIPleaseSelect(this.DropContractCode); + DropMainContractCode_SelectedIndexChanged(null, null); + this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString(); + // 绑定表格 + this.BindGrid(); + + } + } + + #region 绑定数据 + /// + /// 绑定数据 + /// + private void BindGrid() + { + Model.PHTGL_ContractTrack table = new Model.PHTGL_ContractTrack(); + table.ProjectId = this.CurrUser.LoginProjectId; + table.ContractId = this.ContractId; + table.ProjectCode = this.txtProjectCode.Text.Trim(); + table.ProjectName = this.txtProjectName.Text.Trim(); + var tb = BLL.PhtglContractTrackService.GetListData(table, Grid1); + Grid1.RecordCount = PhtglContractTrackService.Count; + //tb = GetFilteredTable(Grid1.FilteredData, tb); + Grid1.DataSource = tb; + Grid1.DataBind(); + + + } + private void BindGrid2() + { + var db = Funs.DB; + var q = from x in db.PHTGL_ContractTrackMatchWBS + join y in db.WBS_ControlItemAndCycle on x.ControlItemAndCycleId equals y.ControlItemAndCycleId + where x.ContractTrackId == Grid1.SelectedRowID + select new + { + x.Id, + x.ContractTrackId, + x.ControlItemAndCycleId, + y.ControlItemAndCycleCode, + y.ControlItemContent, + y.Weights, + x.WorkPackageEstimate + }; + ; + + + } + private string GetDeleteScript() + { + return Confirm.GetShowReference("确定删除当前数据吗?", String.Empty, MessageBoxIcon.Question, Grid1.GetDeleteSelectedRowsReference(), String.Empty); + } + + #endregion + + #region GV 数据操作 + /// + /// 过滤表头 + /// + /// + /// + //protected void Grid1_FilterChange(object sender, EventArgs e) + //{ + // this.BindGrid(); + //} + + /// + /// 分页 + /// + /// + /// + protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) + { + this.Grid1.PageIndex = e.NewPageIndex; + this.BindGrid(); + } + + /// + /// 排序 + /// + /// + /// + protected void Grid1_Sort(object sender, GridSortEventArgs e) + { + this.Grid1.SortDirection = e.SortDirection; + this.Grid1.SortField = e.SortField; + this.BindGrid(); + } + + /// + /// 分页显示条数下拉框 + /// + /// + /// + protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) + { + this.Grid1.PageSize = Convert.ToInt32(this.ddlPageSize.SelectedValue); + this.BindGrid(); + } + #endregion + + #region 数据编辑事件 + + /// + /// 编辑按钮 + /// + /// + /// + protected void btnEdit_Click(object sender, EventArgs e) + { + if (Grid1.SelectedRowIndexArray.Length == 0) + { + Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); + return; + } + string ID = Grid1.SelectedRowID; + var model = BLL.PhtglContractTrackService.GetPHTGL_ContractTrackById(ID); + if (model != null) ///已上报时不能删除 + { + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ContractTrackEdit.aspx?Id={0}", ID, "编辑 - "))); + } + } + + /// + /// Grid行单击事件 + /// + /// + /// + protected void Grid1_OnRowClick(object sender, GridRowClickEventArgs e) + { + BindGrid2(); + } + + /// + /// Grid行双击事件 + /// + /// + /// + protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) + { + this.btnEdit_Click(null, null); + } + + /// + /// 批量删除 + /// + /// + /// + protected void btnDelete_Click(object sender, EventArgs e) + { + if (Grid1.SelectedRowIndexArray.Length > 0) + { + foreach (int rowIndex in Grid1.SelectedRowIndexArray) + { + string rowID = Grid1.DataKeys[rowIndex][0].ToString(); + var model = BLL.PhtglContractTrackService.GetPHTGL_ContractTrackById(rowID); + if (model != null) + { + BLL.PhtglContractTrackService.DeletePHTGL_ContractTrackById(rowID); + } + } + + BindGrid(); + ShowNotify("删除数据成功!", MessageBoxIcon.Success); + } + } + + #region 更新上级WBS内容每月实际费用 + /// + /// 更新上级WBS内容每月实际费用 + /// + /// + /// + /// + /// + private void UpdateWorkPackageParentThisValue(Model.SGGLDB db, string SuperWorkPackageId, DateTime months, decimal thisValue) + { + Model.WBS_WorkPackage workPackage = db.WBS_WorkPackage.FirstOrDefault(x => x.WorkPackageId == SuperWorkPackageId); + if (workPackage != null) + { + Model.WBS_WorkPackageParentDetail parentDetail = BLL.WorkPackageParentDetailService.GetWorkPackageParentDetailByParentIdAndMonths(SuperWorkPackageId, months); + if (parentDetail != null) + { + parentDetail.ThisValue += thisValue; + } + else + { + parentDetail = new Model.WBS_WorkPackageParentDetail(); + parentDetail.WorkPackageParentDetailId = SQLHelper.GetNewID(); + parentDetail.ParentId = SuperWorkPackageId; + parentDetail.Months = months; + parentDetail.ThisValue = thisValue; + db.WBS_WorkPackageParentDetail.InsertOnSubmit(parentDetail); + } + if (workPackage.SuperWorkPackageId != null) //还存在上级节点,需要继续循环 + { + UpdateWorkPackageParentThisValue(db, workPackage.SuperWorkPackageId, months, thisValue); + } + } + } + #endregion + + protected void btnSave_OnClick(object sender, EventArgs e) + { + JArray EditorArr = Grid1.GetMergedData(); + if (EditorArr.Count > 0) + { + for (int i = 0; i < EditorArr.Count; i++) + { + JObject objects = (JObject)EditorArr[i]; + var Id = objects["id"].ToString(); + var MainItemCode = objects["values"]["MainItemCode"].ToString(); + var MainItemName = objects["values"]["MainItemName"].ToString(); + var MajorName = objects["values"]["MajorName"].ToString(); + var MajorCode = objects["values"]["MajorCode"].ToString(); + //var ProjectCode = objects["values"]["ProjectCode"].ToString(); + var ProjectName = objects["values"]["ProjectName"].ToString(); + var ProjectDescription = objects["values"]["ProjectDescription"].ToString(); + var UnitOfMeasurement = objects["values"]["UnitOfMeasurement"].ToString(); + var Quantity = objects["values"]["Quantity"].ToString(); + var TotalCostFixedComprehensiveUnitPrice = objects["values"]["TotalCostFixedComprehensiveUnitPrice"].ToString(); + var MainMaterialCost = objects["values"]["MainMaterialCost"].ToString(); + var TotalPrice = objects["values"]["TotalPrice"].ToString(); + var CalculationRule = objects["values"]["CalculationRule"].ToString(); + var WorkContent = objects["values"]["WorkContent"].ToString(); + var Remarks = objects["values"]["Remarks"].ToString(); + var ConstructionSubcontractor = objects["values"]["ConstructionSubcontractor"].ToString(); + var ContractWeight = objects["values"]["ContractWeight"].ToString(); + var MaterialSupplier = objects["values"]["MaterialSupplier"].ToString(); + var IsWithinGeneralContractScope = objects["values"]["IsWithinGeneralContractScope"].ToString(); + var EstimatedQuantity = objects["values"]["EstimatedQuantity"].ToString(); + var EstimatedAmount = objects["values"]["EstimatedAmount"].ToString(); + var SettledQuantity = objects["values"]["SettledQuantity"].ToString(); + var SettledAmount = objects["values"]["SettledAmount"].ToString(); + + var model = PhtglContractTrackService.GetPHTGL_ContractTrackById(Id); + model.MainItemCode = MainItemCode; + model.MainItemName = MainItemName; + model.MajorName = MajorName; + model.MajorCode = MajorCode; + // model.ProjectCode = ProjectCode; + model.ProjectName = ProjectName; + model.ProjectDescription = ProjectDescription; + model.UnitOfMeasurement = UnitOfMeasurement; + model.Quantity = Quantity; + model.TotalCostFixedComprehensiveUnitPrice = TotalCostFixedComprehensiveUnitPrice; + model.MainMaterialCost = MainMaterialCost; + model.TotalPrice = TotalPrice; + model.CalculationRule = CalculationRule; + model.WorkContent = WorkContent; + model.Remarks = Remarks; + model.ConstructionSubcontractor = ConstructionSubcontractor; + model.ContractWeight = ContractWeight; + model.MaterialSupplier = MaterialSupplier; + model.IsWithinGeneralContractScope = bool.Parse(IsWithinGeneralContractScope); + model.EstimatedQuantity = EstimatedQuantity; + model.EstimatedAmount = Funs.GetNewDecimal(EstimatedAmount); + model.SettledQuantity = SettledQuantity; + model.SettledAmount = Funs.GetNewDecimal(SettledAmount); + + PhtglContractTrackService.UpdatePHTGL_ContractTrack(model); + } + } + if (!string.IsNullOrEmpty(ContractId)) + { + BLL.PhtglContractTrackService.CheckContractWeightByContractId(ContractId, this.CurrUser.LoginProjectId); + } + else + { + ShowNotify("计算合同权重失败,请选择施工分包合同后重新保存", MessageBoxIcon.Question); + } + + BindGrid(); + } + + protected void btnQuery_OnClick(object sender, EventArgs e) + { + BindGrid(); + } + + #endregion + + #region 关闭弹出窗 + /// + /// 关闭弹出窗 + /// + /// + /// + protected void Window1_Close(object sender, WindowCloseEventArgs e) + { + BindGrid(); + } + #endregion + + #region 获取权限按钮 + /// + /// 获取按钮权限 + /// + /// + /// + private void GetButtonPower() + { + var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.PersonId, BLL.Const.PHTGL_ContractTrackComparisonMenuId); + if (buttonList.Count > 0) + { + + if (buttonList.Contains(BLL.Const.BtnModify)) + { + this.btnMenuEdit.Hidden = false; + } + if (buttonList.Contains(BLL.Const.BtnDelete)) + { + this.btnMenuDelete.Hidden = false; + } + } + } + #endregion + + #region 导出按钮 + /// 导出按钮 + /// + /// + /// + protected void btnOut_Click(object sender, EventArgs e) + { + Response.ClearContent(); + string filename = Funs.GetNewFileName(); + Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("合同执行跟踪表" + filename, System.Text.Encoding.UTF8) + ".xls"); + Response.ContentType = "application/excel"; + Response.ContentEncoding = System.Text.Encoding.UTF8; + this.Grid1.PageSize = 500; + this.BindGrid(); + Response.Write(GetGridTableHtml(Grid1)); + Response.End(); + } + + /// + /// 导出方法 + /// + /// + /// + private string GetGridTableHtml(Grid grid) + { + StringBuilder sb = new StringBuilder(); + sb.Append(""); + sb.Append(""); + sb.Append(""); + foreach (GridColumn column in grid.Columns) + { + sb.AppendFormat("", column.HeaderText); + } + sb.Append(""); + foreach (GridRow row in grid.Rows) + { + sb.Append(""); + foreach (GridColumn column in grid.Columns) + { + string html = row.Values[column.ColumnIndex].ToString(); + if (column.ColumnID == "tfNumber") + { + html = (row.FindControl("lblNumber") as System.Web.UI.WebControls.Label).Text; + } + sb.AppendFormat("", html); + } + + sb.Append(""); + } + + sb.Append("
{0}
{0}
"); + + return sb.ToString(); + } + #endregion + + protected void DropMainContractCode_SelectedIndexChanged(object sender, EventArgs e) + { + if (!string.IsNullOrEmpty(DropContractCode.SelectedValue)) + { + var model = ContractService.GetContractByContractNum(DropContractCode.SelectedValue); + if (model != null) + { + ContractId = model.ContractId; + this.txtContractName.Text = model.ContractName; + } + else + { + ContractId = ""; + this.txtContractName.Text = string.Empty; + + } + } + BindGrid(); + } + + + protected void Window3_OnClose(object sender, WindowCloseEventArgs e) + { + BindGrid2(); + } + + + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/PHTGL/ContractCompile/ContractTrackComparison.aspx.designer.cs b/SGGL/FineUIPro.Web/PHTGL/ContractCompile/ContractTrackComparison.aspx.designer.cs new file mode 100644 index 00000000..6240e815 --- /dev/null +++ b/SGGL/FineUIPro.Web/PHTGL/ContractCompile/ContractTrackComparison.aspx.designer.cs @@ -0,0 +1,440 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.PHTGL.ContractCompile +{ + + + public partial class ContractTrackComparison + { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// Panel3 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Panel Panel3; + + /// + /// panelCenterRegion 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Panel panelCenterRegion; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid1; + + /// + /// Toolbar2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar2; + + /// + /// DropContractCode 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList DropContractCode; + + /// + /// txtContractName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Label txtContractName; + + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + + /// + /// btnSave 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnSave; + + /// + /// Toolbar4 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar4; + + /// + /// txtProjectCode 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtProjectCode; + + /// + /// txtProjectName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtProjectName; + + /// + /// btnQuery 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnQuery; + + /// + /// lblNumber 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label lblNumber; + + /// + /// TextBox2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox TextBox2; + + /// + /// TextBox3 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox TextBox3; + + /// + /// TextBox4 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox TextBox4; + + /// + /// TextBox5 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox TextBox5; + + /// + /// TextBox6 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox TextBox6; + + /// + /// TextBox7 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox TextBox7; + + /// + /// TextBox8 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox TextBox8; + + /// + /// TextBox9 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox TextBox9; + + /// + /// TextBox10 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox TextBox10; + + /// + /// TextBox11 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox TextBox11; + + /// + /// TextBox12 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox TextBox12; + + /// + /// TextBox13 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox TextBox13; + + /// + /// TextBox14 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox TextBox14; + + /// + /// TextBox15 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox TextBox15; + + /// + /// TextBox16 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox TextBox16; + + /// + /// TextBox17 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox TextBox17; + + /// + /// TextBox18 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox TextBox18; + + /// + /// TextBox19 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox TextBox19; + + /// + /// TextBox20 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox TextBox20; + + /// + /// TextBox22 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox TextBox22; + + /// + /// NumberBox2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.NumberBox NumberBox2; + + /// + /// TextBox24 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox TextBox24; + + /// + /// NumberBox3 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.NumberBox NumberBox3; + + /// + /// ToolbarSeparator1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1; + + /// + /// ToolbarText1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarText ToolbarText1; + + /// + /// ddlPageSize 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList ddlPageSize; + + /// + /// Window1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window Window1; + + /// + /// Window2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window Window2; + + /// + /// Window3 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window Window3; + + /// + /// Menu1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Menu Menu1; + + /// + /// btnMenuEdit 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.MenuButton btnMenuEdit; + + /// + /// btnMenuDelete 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.MenuButton btnMenuDelete; + } +} diff --git a/SGGL/FineUIPro.Web/PHTGL/ContractCompile/ContractTrackList.aspx b/SGGL/FineUIPro.Web/PHTGL/ContractCompile/ContractTrackList.aspx index 4128a8ff..d58edceb 100644 --- a/SGGL/FineUIPro.Web/PHTGL/ContractCompile/ContractTrackList.aspx +++ b/SGGL/FineUIPro.Web/PHTGL/ContractCompile/ContractTrackList.aspx @@ -37,7 +37,7 @@ ClicksToEdit="1" DataIDField="Id" AllowSorting="true" SortField="Id" SortDirection="DESC" OnSort="Grid1_Sort" EnableColumnLines="true" AllowPaging="False" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange" - EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" OnRowClick="Grid1_OnRowClick" EnableRowClickEvent="True"> + EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableRowClickEvent="True"> @@ -70,9 +70,6 @@ - - @@ -108,13 +105,13 @@ - - @@ -188,54 +185,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -258,136 +208,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +