diff --git a/.vs/SGGL_SeDin/v17/.wsuo b/.vs/SGGL_SeDin/v17/.wsuo index fc93fb60..66e9549e 100644 Binary files a/.vs/SGGL_SeDin/v17/.wsuo and b/.vs/SGGL_SeDin/v17/.wsuo differ diff --git a/DataBase/版本日志/SGGLDB_V2023-08-31.sql b/DataBase/版本日志/SGGLDB_V2023-08-31.sql new file mode 100644 index 00000000..fb755b76 --- /dev/null +++ b/DataBase/版本日志/SGGLDB_V2023-08-31.sql @@ -0,0 +1,29 @@ +alter table dbo.PHTGL_ContractTrackMatchWBS + alter column ContractTrackId varchar(50) null +go +alter table dbo.PHTGL_ContractTrackMatchWBS + alter column WorkPackageEstimate decimal(18, 3) null +go + +alter table dbo.PHTGL_ContractTrackProgress + add Date nvarchar(50) +go +alter table dbo.PHTGL_ContractTrack + alter column EstimatedAmount decimal(18, 2) null +go + +alter table dbo.PHTGL_ContractTrack + alter column SettledAmount decimal(18, 2) null +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) + GO + INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) + VALUES ( N'5AD91BF5-4CA6-4A9E-A370-D17B0D99010F',N'D9BAB30E-3255-4EA0-8631-EF15C9203EFD',N'޸',2) + INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) + VALUES ( N'5D1F64DE-32CE-4236-A6AE-3E276105D387',N'D9BAB30E-3255-4EA0-8631-EF15C9203EFD',N'ɾ',3) + INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) + VALUES ( N'DD9A3A8A-8DD9-4B24-B51D-C3EB530B60F2',N'D9BAB30E-3255-4EA0-8631-EF15C9203EFD',N'',4) + INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex]) + VALUES ( N'C1708178-C52B-4D32-9849-C69622D96105',N'D9BAB30E-3255-4EA0-8631-EF15C9203EFD',N'',1) + GO diff --git a/SGGL/BLL/BLL.csproj b/SGGL/BLL/BLL.csproj index e2af63a8..2c7b45de 100644 --- a/SGGL/BLL/BLL.csproj +++ b/SGGL/BLL/BLL.csproj @@ -106,8 +106,8 @@ ..\packages\QRCoder.1.4.3\lib\net40\QRCoder.dll - - ..\packages\Quartz.3.7.0\lib\netstandard2.0\Quartz.dll + + ..\packages\Quartz.3.5.0\lib\netstandard2.0\Quartz.dll ..\packages\RestSharp.106.15.0\lib\net452\RestSharp.dll @@ -584,6 +584,7 @@ + diff --git a/SGGL/BLL/PHTGL/ContractCompile/PhtglContracttrackService .cs b/SGGL/BLL/PHTGL/ContractCompile/PhtglContracttrackService .cs index 6b9414eb..775ceb26 100644 --- a/SGGL/BLL/PHTGL/ContractCompile/PhtglContracttrackService .cs +++ b/SGGL/BLL/PHTGL/ContractCompile/PhtglContracttrackService .cs @@ -7,10 +7,11 @@ using FineUIPro; using MiniExcelLibs; using MiniExcelLibs.Attributes; using Model; +using WIA; namespace BLL { - public static class PHTGL_ContractTrackService + public static class PhtglContractTrackService { #region 获取列表 @@ -157,6 +158,8 @@ namespace BLL }; Funs.DB.PHTGL_ContractTrack.InsertOnSubmit(table); Funs.DB.SubmitChanges(); + PhtglContracttrackprogressService.CreateTemplateByContractTrackId(newtable.Id); + } @@ -206,6 +209,8 @@ namespace BLL Funs.DB.PHTGL_ContractTrack.DeleteOnSubmit(table); Funs.DB.SubmitChanges(); } + PhtglContracttrackprogressService.DeleteModleByContractTrackId(id); + PhtglContracttrackmatchwbsService.DeleteModelByContractTrackId(id); } public static ResponeData ImportData(string path, string contractid, string projectid) @@ -243,7 +248,9 @@ namespace BLL ContractId = contractid, ProjectId = projectid, }; + if (string.IsNullOrEmpty(item.ProjectCode)) continue; var resultModel = GetPHTGL_ContractTrackByModle(phtglContractTrack); + item.ContractNum=ContractService.GetContractById(contractid)?.ContractNum; if (resultModel.Any()) { item.Id = resultModel[0].Id; @@ -254,6 +261,7 @@ namespace BLL item.Id = SQLHelper.GetNewID(); AddPHTGL_ContractTrack(item); } + PhtglContracttrackprogressService.CreateTemplateByContractTrackId(item.Id); } return responeData; diff --git a/SGGL/BLL/PHTGL/ContractCompile/PhtglContracttrackmatchwbsService.cs b/SGGL/BLL/PHTGL/ContractCompile/PhtglContracttrackmatchwbsService.cs new file mode 100644 index 00000000..7cc62f20 --- /dev/null +++ b/SGGL/BLL/PHTGL/ContractCompile/PhtglContracttrackmatchwbsService.cs @@ -0,0 +1,124 @@ +using FineUIPro; +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using System.Text; + + +namespace BLL +{ + + public static class PhtglContracttrackmatchwbsService + { + + + + #region 获取列表 + /// + /// 记录数 + /// + public static int Count + { + get; + set; + } + public static List GetPHTGL_ContractTrackMatchWBSByModle(Model.PHTGL_ContractTrackMatchWBS table) + { + var q = from x in Funs.DB.PHTGL_ContractTrackMatchWBS + where + (string.IsNullOrEmpty(table.Id) || x.Id.Contains(table.Id)) && + (string.IsNullOrEmpty(table.ContractTrackId) || x.ContractTrackId.Contains(table.ContractTrackId)) && + (string.IsNullOrEmpty(table.ControlItemAndCycleId) || x.ControlItemAndCycleId.Contains(table.ControlItemAndCycleId)) + select x + ; + + return q.ToList(); + } + + /// + /// 获取分页列表 + /// + /// + /// + /// + public static IEnumerable GetListData(Model.PHTGL_ContractTrackMatchWBS table, Grid grid1) + { + var q = GetPHTGL_ContractTrackMatchWBSByModle(table); + Count = q.Count(); + if (Count == 0) + { + return null; + } + q = q.Skip(grid1.PageSize * grid1.PageIndex).Take(grid1.PageSize).ToList(); + // q = SortConditionHelper.SortingAndPaging(q, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize); + return from x in q + select new + { + x.Id, + x.ContractTrackId, + x.ControlItemAndCycleId, + x.WorkPackageEstimate, + + }; + } + #endregion + + public static Model.PHTGL_ContractTrackMatchWBS GetPHTGL_ContractTrackMatchWBSById(string Id) + { + return Funs.DB.PHTGL_ContractTrackMatchWBS.FirstOrDefault(x => x.Id == Id); + } + + + public static void AddPHTGL_ContractTrackMatchWBS(Model.PHTGL_ContractTrackMatchWBS newtable) + { + + Model.PHTGL_ContractTrackMatchWBS table = new Model.PHTGL_ContractTrackMatchWBS + { + Id = newtable.Id, + ContractTrackId = newtable.ContractTrackId, + ControlItemAndCycleId = newtable.ControlItemAndCycleId, + WorkPackageEstimate = newtable.WorkPackageEstimate, + }; + Funs.DB.PHTGL_ContractTrackMatchWBS.InsertOnSubmit(table); + Funs.DB.SubmitChanges(); + } + + + public static void UpdatePHTGL_ContractTrackMatchWBS(Model.PHTGL_ContractTrackMatchWBS newtable) + { + + Model.PHTGL_ContractTrackMatchWBS table = Funs.DB.PHTGL_ContractTrackMatchWBS.FirstOrDefault(x => x.Id == newtable.Id); + if (table != null) + { + table.Id = newtable.Id; + table.ContractTrackId = newtable.ContractTrackId; + table.ControlItemAndCycleId = newtable.ControlItemAndCycleId; + table.WorkPackageEstimate = newtable.WorkPackageEstimate; + Funs.DB.SubmitChanges(); + } + + } + public static void DeleteModelById(string Id) + { + + Model.PHTGL_ContractTrackMatchWBS table = Funs.DB.PHTGL_ContractTrackMatchWBS.FirstOrDefault(x => x.Id == Id); + if (table != null) + { + Funs.DB.PHTGL_ContractTrackMatchWBS.DeleteOnSubmit(table); + Funs.DB.SubmitChanges(); + } + + } + public static void DeleteModelByContractTrackId(string ContractTrackId) + { + var table = Funs.DB.PHTGL_ContractTrackMatchWBS.Where(x => + x.ContractTrackId == ContractTrackId); + if (table != null) + { + Funs.DB.PHTGL_ContractTrackMatchWBS.DeleteAllOnSubmit(table); + Funs.DB.SubmitChanges(); + } + } + } +} \ No newline at end of file diff --git a/SGGL/BLL/PHTGL/ContractCompile/PhtglContracttrackprogressService.cs b/SGGL/BLL/PHTGL/ContractCompile/PhtglContracttrackprogressService.cs index 4c23749e..61e730bf 100644 --- a/SGGL/BLL/PHTGL/ContractCompile/PhtglContracttrackprogressService.cs +++ b/SGGL/BLL/PHTGL/ContractCompile/PhtglContracttrackprogressService.cs @@ -1,4 +1,5 @@ -using System.Collections; +using System; +using System.Collections; using System.Collections.Generic; using System.Linq; using FineUIPro; @@ -33,7 +34,10 @@ namespace BLL (string.IsNullOrEmpty(table.ACWP_OutputValue) || x.ACWP_OutputValue.Contains(table.ACWP_OutputValue)) && (string.IsNullOrEmpty(table.ACWP_Percentage) || - x.ACWP_Percentage.Contains(table.ACWP_Percentage)) + x.ACWP_Percentage.Contains(table.ACWP_Percentage)) && + (string.IsNullOrEmpty(table.Date) || + x.Date.Contains(table.Date)) + orderby x.Date select x ; @@ -63,7 +67,8 @@ namespace BLL x.BCWS_Percentage, x.ACWP_Quantity, x.ACWP_OutputValue, - x.ACWP_Percentage + x.ACWP_Percentage, + x.Date }; } @@ -75,7 +80,52 @@ namespace BLL x.ContractTrackProgressId == ContractTrackProgressId); } + public static void CreateTemplateByContractTrackId(string ContractTrackId) + { + var model = PhtglContractTrackService.GetPHTGL_ContractTrackById(ContractTrackId); + if (model == null) return; + var contractNum=model.ContractNum; + var contractmode = ContractService.GetContractByContractNum(contractNum); + if (contractmode.ContractStartDate != null && contractmode.ContractEndDate != null) + { + var startDate = (DateTime)contractmode.ContractStartDate; + var endDate = (DateTime)contractmode.ContractEndDate; + List months = GetMonthsBetween(startDate, endDate); + foreach (DateTime month in months) + { + var querymodel = new Model.PHTGL_ContractTrackProgress + { + ContractTrackId = ContractTrackId, + Date= month.ToString("yyyy-MM") + }; + if (!GetPHTGL_ContractTrackProgressByModle(querymodel).Any()) + { + var newmodel = new Model.PHTGL_ContractTrackProgress(); + newmodel.ContractTrackProgressId = SQLHelper.GetNewID(typeof(Model.PHTGL_ContractTrackProgress)); + newmodel.ContractTrackId = ContractTrackId; + newmodel.Date = month.ToString("yyyy-MM"); + AddPHTGL_ContractTrackProgress(newmodel); + } + //Console.WriteLine(month.ToString("yyyy-MM")); + } + } + } + public static List GetMonthsBetween(DateTime startDate, DateTime endDate) + { + List months = new List(); + + DateTime currentMonth = new DateTime(startDate.Year, startDate.Month, 1); + DateTime lastMonth = new DateTime(endDate.Year, endDate.Month, 1); + + while (currentMonth <= lastMonth) + { + months.Add(currentMonth); + currentMonth = currentMonth.AddMonths(1); + } + + return months; + } public static void AddPHTGL_ContractTrackProgress(PHTGL_ContractTrackProgress newtable) { var table = new PHTGL_ContractTrackProgress @@ -87,7 +137,9 @@ namespace BLL BCWS_Percentage = newtable.BCWS_Percentage, ACWP_Quantity = newtable.ACWP_Quantity, ACWP_OutputValue = newtable.ACWP_OutputValue, - ACWP_Percentage = newtable.ACWP_Percentage + ACWP_Percentage = newtable.ACWP_Percentage, + Date = newtable.Date + }; Funs.DB.PHTGL_ContractTrackProgress.InsertOnSubmit(table); Funs.DB.SubmitChanges(); @@ -108,6 +160,7 @@ namespace BLL table.ACWP_Quantity = newtable.ACWP_Quantity; table.ACWP_OutputValue = newtable.ACWP_OutputValue; table.ACWP_Percentage = newtable.ACWP_Percentage; + table.Date =newtable.Date; Funs.DB.SubmitChanges(); } } diff --git a/SGGL/BLL/ZHGL/DataSync/HSSEData_HSSEService.cs b/SGGL/BLL/ZHGL/DataSync/HSSEData_HSSEService.cs index dd232097..e5cfebf5 100644 --- a/SGGL/BLL/ZHGL/DataSync/HSSEData_HSSEService.cs +++ b/SGGL/BLL/ZHGL/DataSync/HSSEData_HSSEService.cs @@ -599,7 +599,7 @@ namespace BLL } /// - /// 获取企业总部总监人数 + /// 获取企业总部总监人数 /// /// public static int GetHeadOfficeInspectorGeneralNum() diff --git a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj index ca69c0f9..d00d86fc 100644 --- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj +++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj @@ -1258,6 +1258,7 @@ + @@ -12367,6 +12368,13 @@ ContractTrackList.aspx + + ContractTrackMatchWBS.aspx + ASPXCodeBehind + + + ContractTrackMatchWBS.aspx + GeneralTermsConditions.aspx ASPXCodeBehind diff --git a/SGGL/FineUIPro.Web/PHTGL/ContractCompile/ContractTrackEdit.aspx b/SGGL/FineUIPro.Web/PHTGL/ContractCompile/ContractTrackEdit.aspx index 5c365b79..dd057102 100644 --- a/SGGL/FineUIPro.Web/PHTGL/ContractCompile/ContractTrackEdit.aspx +++ b/SGGL/FineUIPro.Web/PHTGL/ContractCompile/ContractTrackEdit.aspx @@ -197,7 +197,7 @@ + EnableColumnLines="true" DataIDField="ContractTrackProgressId" Hidden="True"> @@ -211,6 +211,12 @@ + + + + + protected global::FineUIPro.Button btnDelete; + /// + /// TextBox1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox TextBox1; + /// /// txtBCWS_Quantity 控件。 /// diff --git a/SGGL/FineUIPro.Web/PHTGL/ContractCompile/ContractTrackIn.aspx.cs b/SGGL/FineUIPro.Web/PHTGL/ContractCompile/ContractTrackIn.aspx.cs index 43f91278..34b8f586 100644 --- a/SGGL/FineUIPro.Web/PHTGL/ContractCompile/ContractTrackIn.aspx.cs +++ b/SGGL/FineUIPro.Web/PHTGL/ContractCompile/ContractTrackIn.aspx.cs @@ -80,7 +80,7 @@ namespace FineUIPro.Web.PHTGL.ContractCompile var fileName = rootPath + initPath + hdFileName.Text; ResponeData responeData = new ResponeData(); - responeData = PHTGL_ContractTrackService.ImportData(fileName, ContractId, this.CurrUser.LoginProjectId); + responeData = PhtglContractTrackService.ImportData(fileName, ContractId, this.CurrUser.LoginProjectId); if (responeData.code == 1) diff --git a/SGGL/FineUIPro.Web/PHTGL/ContractCompile/ContractTrackList.aspx b/SGGL/FineUIPro.Web/PHTGL/ContractCompile/ContractTrackList.aspx index 3ed16b01..3bc45eff 100644 --- a/SGGL/FineUIPro.Web/PHTGL/ContractCompile/ContractTrackList.aspx +++ b/SGGL/FineUIPro.Web/PHTGL/ContractCompile/ContractTrackList.aspx @@ -5,179 +5,394 @@ - + 合同执行跟踪表
- - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -