diff --git a/DataBase/版本日志/SGGLDB_V2023-10-17.sql b/DataBase/版本日志/SGGLDB_V2023-10-17.sql
new file mode 100644
index 00000000..9f6f55a8
--- /dev/null
+++ b/DataBase/版本日志/SGGLDB_V2023-10-17.sql
@@ -0,0 +1,14 @@
+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
+ INSERT [Sys_Menu] ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+ VALUES ( N'118B3E91-073B-468C-BDE3-DD6DCF6034C6',N'չЧͳ',N'PZHGL/InformationProject/DayConstructionLogWorkEfficiency.aspx',10,N'A9BBF623-83AC-4353-A010-07A5D4CEB7D1',N'Menu_PHTGL',0,1,1)
+ Go
+
+ INSERT [Sys_Menu] ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+ VALUES ( N'4EDB3CB9-9FB6-4D63-802F-83C3FB3CA6B1',N'ƽЧͳ',N'PZHGL/InformationProject/MonthConstructionLogWorkEfficiencySum.aspx',20,N'A9BBF623-83AC-4353-A010-07A5D4CEB7D1',N'Menu_PHTGL',0,1,1)
+ Go
+
+ INSERT [Sys_Menu] ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+ VALUES ( N'D791C4E1-7CF1-4F4E-9457-0CF91ACDB987',N'ĿƽЧͳ',N'PZHGL/InformationProject/ProjectConstructionLogWorkEfficiencySum.aspx',30,N'A9BBF623-83AC-4353-A010-07A5D4CEB7D1',N'Menu_PHTGL',0,1,1)
+ Go
\ No newline at end of file
diff --git a/DataBase/菜单初始化脚本/1-6合同管理(Menu_PHTGL).sql b/DataBase/菜单初始化脚本/1-6合同管理(Menu_PHTGL).sql
index e29a1926..d3683fea 100644
--- a/DataBase/菜单初始化脚本/1-6合同管理(Menu_PHTGL).sql
+++ b/DataBase/菜单初始化脚本/1-6合同管理(Menu_PHTGL).sql
@@ -238,4 +238,20 @@ INSERT [Sys_Menu] ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],
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
\ No newline at end of file
+ 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
+ INSERT [Sys_Menu] ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+ VALUES ( N'118B3E91-073B-468C-BDE3-DD6DCF6034C6',N'չЧͳ',N'PZHGL/InformationProject/DayConstructionLogWorkEfficiency.aspx',10,N'A9BBF623-83AC-4353-A010-07A5D4CEB7D1',N'Menu_PHTGL',0,1,1)
+ Go
+
+ INSERT [Sys_Menu] ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+ VALUES ( N'4EDB3CB9-9FB6-4D63-802F-83C3FB3CA6B1',N'ƽЧͳ',N'PZHGL/InformationProject/MonthConstructionLogWorkEfficiencySum.aspx',20,N'A9BBF623-83AC-4353-A010-07A5D4CEB7D1',N'Menu_PHTGL',0,1,1)
+ Go
+
+ INSERT [Sys_Menu] ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+ VALUES ( N'D791C4E1-7CF1-4F4E-9457-0CF91ACDB987',N'ĿƽЧͳ',N'PZHGL/InformationProject/ProjectConstructionLogWorkEfficiencySum.aspx',30,N'A9BBF623-83AC-4353-A010-07A5D4CEB7D1',N'Menu_PHTGL',0,1,1)
+ Go
\ No newline at end of file
diff --git a/SGGL/BLL/API/HSSE/APISeDinMonthReportService.cs b/SGGL/BLL/API/HSSE/APISeDinMonthReportService.cs
index 52b80d4f..594e6508 100644
--- a/SGGL/BLL/API/HSSE/APISeDinMonthReportService.cs
+++ b/SGGL/BLL/API/HSSE/APISeDinMonthReportService.cs
@@ -189,7 +189,22 @@ namespace BLL
{
newItem.YearWorkTime = 0;
}
+
+ var getMaxMonthReport = (from x in Funs.DB.SeDin_MonthReport
+ where x.ProjectId == projectId && x.ReporMonth < monthD
+ orderby x.ReporMonth descending
+ select x).FirstOrDefault();
+ if (getMaxMonthReport != null)
+ {
+ var getMonthReport2 = Funs.DB.SeDin_MonthReport2.FirstOrDefault(x => x.MonthReportId == getMaxMonthReport.MonthReportId);
+ if (getMonthReport2 != null)
+ {
+ newItem.YearWorkTime = getMonthReport2.YearWorkTime ?? 0;
+ newItem.SafeWorkTime = getMonthReport2.SafeWorkTime ?? 0;
+ }
+ }
}
+
return newItem;
}
}
diff --git a/SGGL/BLL/HSSE/SitePerson/SitePerson_PersonService.cs b/SGGL/BLL/HSSE/SitePerson/SitePerson_PersonService.cs
index d27aa849..8f453806 100644
--- a/SGGL/BLL/HSSE/SitePerson/SitePerson_PersonService.cs
+++ b/SGGL/BLL/HSSE/SitePerson/SitePerson_PersonService.cs
@@ -633,7 +633,7 @@ namespace BLL
///
public static Model.SitePerson_Person getSitePerson_PersonByRoleId(string projectId, string roleId)
{
- return Funs.DB.SitePerson_Person.FirstOrDefault(x => x.ProjectId == projectId && x.RoleIds.Contains(roleId));
+ return Funs.DB.SitePerson_Person.FirstOrDefault(x => x.ProjectId == projectId && x.RoleIds.Contains(roleId) && x.States == Const.ProjectPersonStates_1);
}
///
diff --git a/SGGL/BLL/PHTGL/ContractCompile/PhtglContracttrackService .cs b/SGGL/BLL/PHTGL/ContractCompile/PhtglContracttrackService .cs
index e7c1eced..cf08d95d 100644
--- a/SGGL/BLL/PHTGL/ContractCompile/PhtglContracttrackService .cs
+++ b/SGGL/BLL/PHTGL/ContractCompile/PhtglContracttrackService .cs
@@ -425,7 +425,7 @@ namespace BLL
}
for (int i = 0; i < workPostIds.Count; i++)
{
- var workEfficiency = workEfficiencys.FirstOrDefault(x => x.Type == "Person" && x.TypeId == workPostIds[i] && x.ContractTrackId== item.Id);
+ var workEfficiency = workEfficiencys.FirstOrDefault(x => x.Type == "Person" && x.TypeId == workPostIds[i] && x.ContractTrackId == item.Id);
if (workEfficiency != null)
{
if (workEfficiency.ConsumeHours != null)
@@ -464,6 +464,445 @@ namespace BLL
return table;
}
}
+
+ ///
+ /// 获取模拟树表格
+ ///
+ ///
+ public static DataTable GetProjectAllTreeDataTable(string projectId, string IsOut, List contractNoList, List professionalList, List workPostIds, List machineIds, string compileDate)
+ {
+ using (var db = new Model.SGGLDB(Funs.ConnString))
+ {
+ var pros = BLL.PHTGL_QuantityService.GetMajorItems();
+ List proNames = new List();
+ foreach (var item in professionalList)
+ {
+ var pro = pros.FirstOrDefault(x => x.Text == item);
+ if (pro != null)
+ {
+ proNames.Add(pro.Value);
+ }
+ }
+ proNames = proNames.Distinct().ToList();
+ IQueryable getContractTracks = from x in db.PHTGL_ContractTrack
+ where x.ProjectId == projectId && contractNoList.Contains(x.ContractId) && proNames.Contains(x.MajorName)
+ orderby x.ProjectCode, x.ProjectName
+ select x;
+ DateTime date = Funs.GetNewDateTimeOrNow(compileDate);
+ var personLogIds = (from x in db.ZHGL_ConstructionLog
+ where x.ProjectId == projectId && x.CompileDate == date
+ orderby x.CompileDate descending
+ select x.ConstructionLogId).ToList();
+ IQueryable workEfficiencys = from x in db.ZHGL_ConstructionLogWorkEfficiency
+ where personLogIds.Contains(x.ConstructionLogId)
+ select x;
+ var unitWorks = (from x in getContractTracks
+ select new { MainItemCode = x.MainItemCode, MainItemName = x.MainItemName }).Distinct().ToList();
+
+ DataTable table = new DataTable();
+ table.Columns.Add(new DataColumn("Id", typeof(String)));
+ table.Columns.Add(new DataColumn("Code", typeof(String)));
+ table.Columns.Add(new DataColumn("ProjectCode", typeof(String)));
+ table.Columns.Add(new DataColumn("ProjectName", typeof(String)));
+ table.Columns.Add(new DataColumn("UnitOfMeasurement", typeof(String)));
+ table.Columns.Add(new DataColumn("PhysicalCompletionQuantity", typeof(String)));
+ table.Columns.Add(new DataColumn("MaterialConsumption", typeof(String)));
+ table.Columns.Add(new DataColumn("ShowId", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours0", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency0", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours1", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency1", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours2", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency2", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours3", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency3", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours4", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency4", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours5", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency5", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours6", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency6", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours7", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency7", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours8", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency8", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours9", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency9", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours10", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency10", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours11", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency11", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours12", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency12", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours13", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency13", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours14", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency14", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours15", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency15", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours16", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency16", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours17", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency17", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours18", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency18", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours19", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency19", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours0", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency0", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours1", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency1", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours2", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency2", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours3", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency3", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours4", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency4", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours5", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency5", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours6", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency6", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours7", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency7", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours8", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency8", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours9", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency9", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours10", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency10", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours11", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency11", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours12", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency12", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours13", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency13", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours14", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency14", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours15", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency15", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours16", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency16", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours17", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency17", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours18", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency18", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours19", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency19", typeof(String)));
+ DataRow row;
+ int a = 1;
+ foreach (var unitWork in unitWorks)
+ {
+ row = table.NewRow();
+ row[0] = unitWork.MainItemCode;
+ row[1] = a;
+ row[2] = string.Empty;
+ row[3] = unitWork.MainItemName;
+ table.Rows.Add(row);
+ int b = 1;
+ foreach (var proName in proNames)
+ {
+ row = table.NewRow();
+ row[0] = unitWork.MainItemCode + b.ToString();
+ row[1] = a + "." + b;
+ row[2] = string.Empty;
+ row[3] = proName;
+ table.Rows.Add(row);
+ int c = 1;
+ var contractTracks = getContractTracks.Where(x => x.MainItemCode == unitWork.MainItemCode && x.MajorName == proName);
+ foreach (Model.PHTGL_ContractTrack item in contractTracks)
+ {
+ row = table.NewRow();
+ row[0] = item.Id;
+ row[1] = a + "." + b + "." + c;
+ row[2] = item.ProjectCode;
+ row[3] = item.ProjectName;
+ row[4] = item.UnitOfMeasurement;
+ row[7] = item.Id;
+ if (workEfficiencys.Count() > 0)
+ {
+ var we = workEfficiencys.FirstOrDefault(x => x.ContractTrackId == item.Id);
+ if (we != null)
+ {
+ row[5] = we.PhysicalCompletionQuantity;
+ row[6] = we.MaterialConsumption;
+ }
+ for (int i = 0; i < workPostIds.Count; i++)
+ {
+ var workEfficiencyList = workEfficiencys.Where(x => x.Type == "Person" && x.TypeId == workPostIds[i] && x.ContractTrackId == item.Id);
+ if (workEfficiencyList.Count() > 0)
+ {
+ decimal d = 0;
+ foreach (var workEfficiency in workEfficiencyList)
+ {
+ if (workEfficiency.ConsumeHours != null)
+ {
+ d += decimal.Round(Convert.ToDecimal(workEfficiency.ConsumeHours), 2);
+ }
+ }
+ if (d > 0)
+ {
+ row[8 + i * 2] = decimal.Round(d, 2);
+ if (we.PhysicalCompletionQuantity != null && we.PhysicalCompletionQuantity > 0)
+ {
+ row[9 + i * 2] = decimal.Round(Convert.ToDecimal(we.PhysicalCompletionQuantity / d), 2);
+ }
+ }
+ }
+ }
+ for (int i = 0; i < machineIds.Count; i++)
+ {
+ var workEfficiencyList = workEfficiencys.Where(x => x.Type == "Machine" && x.TypeId == machineIds[i] && x.ContractTrackId == item.Id);
+ if (workEfficiencyList.Count() > 0)
+ {
+ decimal d = 0;
+ foreach (var workEfficiency in workEfficiencyList)
+ {
+ if (workEfficiency.ConsumeHours != null)
+ {
+ d += decimal.Round(Convert.ToDecimal(workEfficiency.ConsumeHours), 2);
+ }
+ }
+ if (d > 0)
+ {
+ row[48 + i * 2] = decimal.Round(d, 2);
+ if (we.PhysicalCompletionQuantity != null && we.PhysicalCompletionQuantity > 0)
+ {
+ row[49 + i * 2] = decimal.Round(Convert.ToDecimal(we.PhysicalCompletionQuantity / d), 2);
+ }
+ }
+ }
+ }
+ }
+ table.Rows.Add(row);
+ c++;
+ }
+ b++;
+ }
+ a++;
+ }
+ return table;
+ }
+ }
+
+ ///
+ /// 获取模拟树表格
+ ///
+ ///
+ public static DataTable GetMonthProjectAllTreeDataTable(string projectId, string IsOut, List contractNoList, List professionalList, List workPostIds, List machineIds, DateTime startDate, DateTime endDate)
+ {
+ using (var db = new Model.SGGLDB(Funs.ConnString))
+ {
+ var pros = BLL.PHTGL_QuantityService.GetMajorItems();
+ List proNames = new List();
+ foreach (var item in professionalList)
+ {
+ var pro = pros.FirstOrDefault(x => x.Text == item);
+ if (pro != null)
+ {
+ proNames.Add(pro.Value);
+ }
+ }
+ proNames = proNames.Distinct().ToList();
+ IQueryable getContractTracks = from x in db.PHTGL_ContractTrack
+ where x.ProjectId == projectId && contractNoList.Contains(x.ContractId) && proNames.Contains(x.MajorName)
+ orderby x.ProjectCode, x.ProjectName
+ select x;
+ var personLogIds = (from x in db.ZHGL_ConstructionLog
+ where x.ProjectId == projectId && x.CompileDate >= startDate && x.CompileDate < endDate
+ orderby x.CompileDate descending
+ select x.ConstructionLogId).ToList();
+ IQueryable workEfficiencys = from x in db.ZHGL_ConstructionLogWorkEfficiency
+ where personLogIds.Contains(x.ConstructionLogId)
+ select x;
+ var unitWorks = (from x in getContractTracks
+ select new { MainItemCode = x.MainItemCode, MainItemName = x.MainItemName }).Distinct().ToList();
+
+ DataTable table = new DataTable();
+ table.Columns.Add(new DataColumn("Id", typeof(String)));
+ table.Columns.Add(new DataColumn("Code", typeof(String)));
+ table.Columns.Add(new DataColumn("ProjectCode", typeof(String)));
+ table.Columns.Add(new DataColumn("ProjectName", typeof(String)));
+ table.Columns.Add(new DataColumn("UnitOfMeasurement", typeof(String)));
+ table.Columns.Add(new DataColumn("PhysicalCompletionQuantity", typeof(String)));
+ table.Columns.Add(new DataColumn("MaterialConsumption", typeof(String)));
+ table.Columns.Add(new DataColumn("ShowId", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours0", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency0", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours1", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency1", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours2", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency2", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours3", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency3", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours4", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency4", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours5", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency5", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours6", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency6", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours7", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency7", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours8", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency8", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours9", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency9", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours10", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency10", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours11", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency11", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours12", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency12", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours13", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency13", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours14", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency14", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours15", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency15", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours16", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency16", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours17", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency17", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours18", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency18", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonConsumeHours19", typeof(String)));
+ table.Columns.Add(new DataColumn("PersonWorkEfficiency19", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours0", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency0", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours1", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency1", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours2", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency2", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours3", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency3", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours4", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency4", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours5", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency5", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours6", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency6", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours7", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency7", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours8", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency8", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours9", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency9", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours10", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency10", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours11", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency11", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours12", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency12", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours13", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency13", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours14", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency14", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours15", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency15", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours16", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency16", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours17", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency17", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours18", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency18", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineConsumeHours19", typeof(String)));
+ table.Columns.Add(new DataColumn("MachineWorkEfficiency19", typeof(String)));
+ DataRow row;
+ int a = 1;
+ foreach (var unitWork in unitWorks)
+ {
+ row = table.NewRow();
+ row[0] = unitWork.MainItemCode;
+ row[1] = a;
+ row[2] = string.Empty;
+ row[3] = unitWork.MainItemName;
+ table.Rows.Add(row);
+ int b = 1;
+ foreach (var proName in proNames)
+ {
+ row = table.NewRow();
+ row[0] = unitWork.MainItemCode + b.ToString();
+ row[1] = a + "." + b;
+ row[2] = string.Empty;
+ row[3] = proName;
+ table.Rows.Add(row);
+ int c = 1;
+ var contractTracks = getContractTracks.Where(x => x.MainItemCode == unitWork.MainItemCode && x.MajorName == proName);
+ foreach (Model.PHTGL_ContractTrack item in contractTracks)
+ {
+ row = table.NewRow();
+ row[0] = item.Id;
+ row[1] = a + "." + b + "." + c;
+ row[2] = item.ProjectCode;
+ row[3] = item.ProjectName;
+ row[4] = item.UnitOfMeasurement;
+ row[7] = item.Id;
+ if (workEfficiencys.Count() > 0)
+ {
+ var we = workEfficiencys.FirstOrDefault(x => x.ContractTrackId == item.Id);
+ if (we != null)
+ {
+ row[5] = we.PhysicalCompletionQuantity;
+ row[6] = we.MaterialConsumption;
+ }
+ for (int i = 0; i < workPostIds.Count; i++)
+ {
+ var workEfficiencyList = workEfficiencys.Where(x => x.Type == "Person" && x.TypeId == workPostIds[i] && x.ContractTrackId == item.Id);
+ if (workEfficiencyList.Count() > 0)
+ {
+ decimal d = 0;
+ foreach (var workEfficiency in workEfficiencyList)
+ {
+ if (workEfficiency.ConsumeHours != null)
+ {
+ d += decimal.Round(Convert.ToDecimal(workEfficiency.ConsumeHours), 2);
+ }
+ }
+ if (d > 0)
+ {
+ row[8 + i * 2] = decimal.Round(d, 2);
+ if (we.PhysicalCompletionQuantity != null && we.PhysicalCompletionQuantity > 0)
+ {
+ row[9 + i * 2] = decimal.Round(Convert.ToDecimal(we.PhysicalCompletionQuantity / d), 2);
+ }
+ }
+ }
+ }
+ for (int i = 0; i < machineIds.Count; i++)
+ {
+ var workEfficiencyList = workEfficiencys.Where(x => x.Type == "Machine" && x.TypeId == machineIds[i] && x.ContractTrackId == item.Id);
+ if (workEfficiencyList.Count() > 0)
+ {
+ decimal d = 0;
+ foreach (var workEfficiency in workEfficiencyList)
+ {
+ if (workEfficiency.ConsumeHours != null)
+ {
+ d += decimal.Round(Convert.ToDecimal(workEfficiency.ConsumeHours), 2);
+ }
+ }
+ if (d > 0)
+ {
+ row[48 + i * 2] = decimal.Round(d, 2);
+ if (we.PhysicalCompletionQuantity != null && we.PhysicalCompletionQuantity > 0)
+ {
+ row[49 + i * 2] = decimal.Round(Convert.ToDecimal(we.PhysicalCompletionQuantity / d), 2);
+ }
+ }
+ }
+ }
+ }
+ table.Rows.Add(row);
+ c++;
+ }
+ b++;
+ }
+ a++;
+ }
+ return table;
+ }
+ }
+
+
}
public class PHTGL_ContractTrackDtoIn
{
diff --git a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
index 9f17ed3c..4ce286b6 100644
--- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
+++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
@@ -1332,10 +1332,13 @@
+
+
+
@@ -12893,6 +12896,20 @@
ConstructionReportView.aspx
+
+ DayConstructionLogWorkEfficiency.aspx
+ ASPXCodeBehind
+
+
+ DayConstructionLogWorkEfficiency.aspx
+
+
+ MonthConstructionLogWorkEfficiencySum.aspx
+ ASPXCodeBehind
+
+
+ MonthConstructionLogWorkEfficiencySum.aspx
+
Picture.aspx
ASPXCodeBehind
@@ -12921,6 +12938,13 @@
ProjectConstructionLog.aspx
+
+ ProjectConstructionLogWorkEfficiency.aspx
+ ASPXCodeBehind
+
+
+ ProjectConstructionLogWorkEfficiency.aspx
+
ReceiveFileManager.aspx
ASPXCodeBehind
diff --git a/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonth_SeDin.aspx b/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonth_SeDin.aspx
index 3422560f..f6590952 100644
--- a/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonth_SeDin.aspx
+++ b/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonth_SeDin.aspx
@@ -111,12 +111,12 @@
+ Width="1300px" Height="600px" Maximized="true">