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("| {0} | ", 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("| {0} | ", html);
+ }
+
+ sb.Append("
");
+ }
+
+ sb.Append("
");
+
+ 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 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+