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 @@ diff --git a/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonth_SeDin.aspx.cs b/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonth_SeDin.aspx.cs index cb27259e..4298f4d5 100644 --- a/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonth_SeDin.aspx.cs +++ b/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonth_SeDin.aspx.cs @@ -214,6 +214,14 @@ namespace FineUIPro.Web.HSSE.Manager Alert.ShowInTop("当前月份的月报已存在!", MessageBoxIcon.Warning); return; } + + var getNMonthReport = Funs.DB.SeDin_MonthReport.FirstOrDefault(x =>x.ProjectId == this.CurrUser.LoginProjectId && x.States != Const.State_3); + if (getNMonthReport != null) + { + Alert.ShowInTop("存在未完成月报,请先办理完成!", MessageBoxIcon.Warning); + return; + } + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ManagerMonth_SeDinEdit.aspx?Month={0}", txtMonth.Text.Trim()), "添加月报表")); } #endregion diff --git a/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonth_SeDinEdit.aspx b/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonth_SeDinEdit.aspx index c50acea0..27de9647 100644 --- a/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonth_SeDinEdit.aspx +++ b/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonth_SeDinEdit.aspx @@ -126,7 +126,8 @@ - + diff --git a/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonth_SeDinEdit.aspx.cs b/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonth_SeDinEdit.aspx.cs index 6a9a8af1..d427f429 100644 --- a/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonth_SeDinEdit.aspx.cs +++ b/SGGL/FineUIPro.Web/HSSE/Manager/ManagerMonth_SeDinEdit.aspx.cs @@ -713,7 +713,6 @@ namespace FineUIPro.Web.HSSE.Manager newItem.MonthReportId = MonthReportId; newItem.MonthWorkTime = Funs.GetNewDecimalOrZero(MonthWorkTime.Text); newItem.YearWorkTime = Funs.GetNewDecimalOrZero(YearWorkTime.Text); - newItem.YearWorkTime = Funs.GetNewDecimalOrZero(YearWorkTime.Text); newItem.TotalLostTime = Funs.GetNewDecimalOrZero(TotalLostTime.Text); newItem.MillionLossRate = MillionLossRate.Text; newItem.ProjectWorkTime = Funs.GetNewDecimalOrZero(ProjectWorkTime.Text); @@ -1439,5 +1438,28 @@ namespace FineUIPro.Web.HSSE.Manager { SetStepDrp(); } + + protected void MonthWorkTime_Blur(object sender, EventArgs e) + { + var monthWorkTimeValue = Funs.GetNewDecimalOrZero(this.MonthWorkTime.Text); + decimal hdYearWorkTimeValue =0; + decimal hdSafeWorkTimeValue =0; + DateTime month=Funs.GetNewDateTimeOrNow(this.ReporMonth.Text); + + var getMaxMonthReport = (from x in Funs.DB.SeDin_MonthReport where x.ProjectId == this.ProjectId && x.ReporMonth < month + 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) + { + hdYearWorkTimeValue = getMonthReport2.YearWorkTime ?? 0; + hdSafeWorkTimeValue = getMonthReport2.SafeWorkTime ?? 0; + } + } + + this.YearWorkTime.Text = (monthWorkTimeValue + hdYearWorkTimeValue).ToString(); + this.SafeWorkTime.Text = (monthWorkTimeValue + hdSafeWorkTimeValue).ToString(); + } } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/HSSE/QualityAudit/EquipmentQualityEdit.aspx b/SGGL/FineUIPro.Web/HSSE/QualityAudit/EquipmentQualityEdit.aspx index a743aae7..a966adf7 100644 --- a/SGGL/FineUIPro.Web/HSSE/QualityAudit/EquipmentQualityEdit.aspx +++ b/SGGL/FineUIPro.Web/HSSE/QualityAudit/EquipmentQualityEdit.aspx @@ -42,7 +42,7 @@ - - @@ -374,7 +374,7 @@ - diff --git a/SGGL/FineUIPro.Web/PZHGL/InformationProject/ConstructionLog.aspx.cs b/SGGL/FineUIPro.Web/PZHGL/InformationProject/ConstructionLog.aspx.cs index 7ef3688c..8c107946 100644 --- a/SGGL/FineUIPro.Web/PZHGL/InformationProject/ConstructionLog.aspx.cs +++ b/SGGL/FineUIPro.Web/PZHGL/InformationProject/ConstructionLog.aspx.cs @@ -205,7 +205,7 @@ namespace FineUIPro.Web.PZHGL.InformationProject { this.btnMenuAdd.Hidden = true; this.btnMenuEdit.Hidden = false; - this.btnMenuDown.Hidden = false; + //this.btnMenuDown.Hidden = false; this.btnMenuDelete.Hidden = false; } } @@ -677,6 +677,7 @@ namespace FineUIPro.Web.PZHGL.InformationProject /// protected void btnMenuDown_Click(object sender, EventArgs e) { + } #endregion diff --git a/SGGL/FineUIPro.Web/PZHGL/InformationProject/ConstructionLogFileCabinet.aspx b/SGGL/FineUIPro.Web/PZHGL/InformationProject/ConstructionLogFileCabinet.aspx index 8f4f0083..949d9e69 100644 --- a/SGGL/FineUIPro.Web/PZHGL/InformationProject/ConstructionLogFileCabinet.aspx +++ b/SGGL/FineUIPro.Web/PZHGL/InformationProject/ConstructionLogFileCabinet.aspx @@ -78,9 +78,11 @@ - + - + + + @@ -304,9 +306,9 @@ -