diff --git a/SGGL/BLL/ProjectData/Project_InstallationService.cs b/SGGL/BLL/ProjectData/Project_InstallationService.cs index dfbe4b0a..9c6c27b5 100644 --- a/SGGL/BLL/ProjectData/Project_InstallationService.cs +++ b/SGGL/BLL/ProjectData/Project_InstallationService.cs @@ -72,6 +72,16 @@ namespace BLL return Funs.DB.Project_Installation.FirstOrDefault(e => e.InstallationId.ToString() == InstallationId); } + /// + /// 获取项目装置节点 + /// ] + /// + /// + public static Model.Project_Installation GetProjectInstallationByProjectId(string projectId) + { + return Funs.DB.Project_Installation.FirstOrDefault(e => e.ProjectId == projectId && e.SuperInstallationId == "0"); + } + /// /// 是否存在子级装置 /// diff --git a/SGGL/FineUIPro.Web/ErrLog.txt b/SGGL/FineUIPro.Web/ErrLog.txt index 5f282702..c688af96 100644 --- a/SGGL/FineUIPro.Web/ErrLog.txt +++ b/SGGL/FineUIPro.Web/ErrLog.txt @@ -1 +1,239 @@ - \ No newline at end of file + +错误信息开始=====> +错误类型:JsonReaderException +错误信息:Error reading JArray from JsonReader. Current JsonReader item is not an array: StartObject. Path '', line 1, position 1. +错误堆栈: + 在 Newtonsoft.Json.Linq.JArray.Load(JsonReader reader, JsonLoadSettings settings) + 在 Newtonsoft.Json.Linq.JArray.Parse(String json, JsonLoadSettings settings) + 在 Newtonsoft.Json.Linq.JArray.Parse(String json) + 在 FineUIPro.Web.ProjectData.Installation.btnMenuDown_Click(Object sender, EventArgs e) 位置 E:\工作\五环施工平台\SGGL_CWCEC\SGGL\FineUIPro.Web\ProjectData\Installation.aspx.cs:行号 250 + 在 FineUIPro.MenuButton.OnClick(EventArgs e) + 在 (MenuButton , EventArgs ) + 在 FineUIPro.MenuButton.RaisePostBackEvent(String eventArgument) + 在 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) + 在 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) + 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +出错时间:10/20/2021 10:04:20 +出错文件:http://localhost:8118/ProjectData/Installation.aspx +IP地址:::1 +操作人员:JT + +出错时间:10/20/2021 10:04:20 + + +错误信息开始=====> +错误类型:SqlException +错误信息:执行超时已过期。完成操作之前已超时或服务器未响应。 +错误堆栈: + 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) + 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) + 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) + 在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) + 在 System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() + 在 System.Data.SqlClient.SqlDataReader.get_MetaData() + 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) + 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) + 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) + 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) + 在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) + 在 System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) + 在 System.Data.Common.DbCommand.ExecuteReader() + 在 System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult) + 在 System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries) + 在 System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query) + 在 System.Data.Linq.DataQuery`1.System.Linq.IQueryProvider.Execute[S](Expression expression) + 在 System.Linq.Queryable.Count[TSource](IQueryable`1 source) + 在 BLL.GetDataService.CorrectingPersonInOutNumber(String projectId) 位置 E:\工作\五环施工平台\SGGL_CWCEC\SGGL\BLL\OpenService\GetDataService.cs:行号 139 + 在 BLL.MonitorService.DoSynchData() 位置 E:\工作\五环施工平台\SGGL_CWCEC\SGGL\BLL\OpenService\MonitorService.cs:行号 2180 + 在 BLL.MonitorService.ColligateFormConfirmProcessEve(Object sender, ElapsedEventArgs e) 位置 E:\工作\五环施工平台\SGGL_CWCEC\SGGL\BLL\OpenService\MonitorService.cs:行号 112 +----错误类型:Win32Exception +----错误信息: +----等待的操作过时。 +----错误堆栈: + 出错时间:10/20/2021 11:25:42 +出错时间:10/20/2021 11:25:42 + + +错误信息开始=====> +错误类型:NullReferenceException +错误信息:未将对象引用设置到对象的实例。 +错误堆栈: + 在 BLL.APIGetHttpService.ControlHttp(String url, String method, String contenttype, Hashtable header, String data) 位置 E:\工作\五环施工平台\SGGL_CWCEC\SGGL\BLL\API\APIGetHttpService.cs:行号 194 + 在 FineUIPro.Web.ProjectData.Installation.btnMenuDown_Click(Object sender, EventArgs e) 位置 E:\工作\五环施工平台\SGGL_CWCEC\SGGL\FineUIPro.Web\ProjectData\Installation.aspx.cs:行号 246 + 在 FineUIPro.MenuButton.OnClick(EventArgs e) + 在 (MenuButton , EventArgs ) + 在 FineUIPro.MenuButton.RaisePostBackEvent(String eventArgument) + 在 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) + 在 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) + 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +出错时间:10/21/2021 11:19:04 +出错文件:http://localhost:8118/ProjectData/Installation.aspx +IP地址:::1 +操作人员:JT + +出错时间:10/21/2021 11:19:04 + + +错误信息开始=====> +错误类型:NotSupportedException +错误信息:对于方法 String.Contains,只支持可在客户端上求值的参数。 +错误堆栈: + 在 System.Data.Linq.SqlClient.PostBindDotNetConverter.Visitor.TranslateStringMethod(SqlMethodCall mc) + 在 System.Data.Linq.SqlClient.PostBindDotNetConverter.Visitor.VisitMethodCall(SqlMethodCall mc) + 在 System.Data.Linq.SqlClient.SqlVisitor.Visit(SqlNode node) + 在 System.Data.Linq.SqlClient.SqlVisitor.VisitExpression(SqlExpression exp) + 在 System.Data.Linq.SqlClient.SqlVisitor.VisitSelectCore(SqlSelect select) + 在 System.Data.Linq.SqlClient.PostBindDotNetConverter.Visitor.VisitSelect(SqlSelect select) + 在 System.Data.Linq.SqlClient.SqlVisitor.Visit(SqlNode node) + 在 System.Data.Linq.SqlClient.PostBindDotNetConverter.Convert(SqlNode node, SqlFactory sql, ProviderMode providerMode) + 在 System.Data.Linq.SqlClient.SqlProvider.BuildQuery(ResultShape resultShape, Type resultType, SqlNode node, ReadOnlyCollection`1 parentParameters, SqlNodeAnnotations annotations) + 在 System.Data.Linq.SqlClient.SqlProvider.BuildQuery(Expression query, SqlNodeAnnotations annotations) + 在 System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query) + 在 System.Data.Linq.DataQuery`1.System.Linq.IQueryProvider.Execute[S](Expression expression) + 在 System.Linq.Queryable.FirstOrDefault[TSource](IQueryable`1 source, Expression`1 predicate) + 在 FineUIPro.Web.ProjectData.Installation.btnMenuDown_Click(Object sender, EventArgs e) 位置 E:\工作\五环施工平台\SGGL_CWCEC\SGGL\FineUIPro.Web\ProjectData\Installation.aspx.cs:行号 283 + 在 FineUIPro.MenuButton.OnClick(EventArgs e) + 在 (MenuButton , EventArgs ) + 在 FineUIPro.MenuButton.RaisePostBackEvent(String eventArgument) + 在 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) + 在 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) + 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +出错时间:10/21/2021 11:21:28 +出错文件:http://localhost:8118/ProjectData/Installation.aspx +IP地址:::1 +操作人员:JT + +出错时间:10/21/2021 11:21:28 + + +错误信息开始=====> +错误类型:SqlException +错误信息:执行超时已过期。完成操作之前已超时或服务器未响应。 +错误堆栈: + 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) + 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) + 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) + 在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) + 在 System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() + 在 System.Data.SqlClient.SqlDataReader.get_MetaData() + 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) + 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) + 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) + 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) + 在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) + 在 System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) + 在 System.Data.Common.DbCommand.ExecuteReader() + 在 System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult) + 在 System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries) + 在 System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query) + 在 System.Data.Linq.DataQuery`1.System.Linq.IQueryProvider.Execute[S](Expression expression) + 在 System.Linq.Queryable.Count[TSource](IQueryable`1 source) + 在 BLL.GetDataService.CorrectingPersonInOutNumber(String projectId) 位置 E:\工作\五环施工平台\SGGL_CWCEC\SGGL\BLL\OpenService\GetDataService.cs:行号 139 + 在 BLL.MonitorService.DoSynchData() 位置 E:\工作\五环施工平台\SGGL_CWCEC\SGGL\BLL\OpenService\MonitorService.cs:行号 2180 + 在 BLL.MonitorService.ColligateFormConfirmProcessEve(Object sender, ElapsedEventArgs e) 位置 E:\工作\五环施工平台\SGGL_CWCEC\SGGL\BLL\OpenService\MonitorService.cs:行号 112 +----错误类型:Win32Exception +----错误信息: +----等待的操作过时。 +----错误堆栈: + 出错时间:10/21/2021 11:24:39 +出错时间:10/21/2021 11:24:40 + + +错误信息开始=====> +错误类型:SqlException +错误信息:执行超时已过期。完成操作之前已超时或服务器未响应。 +错误堆栈: + 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) + 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) + 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) + 在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) + 在 System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() + 在 System.Data.SqlClient.SqlDataReader.get_MetaData() + 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) + 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) + 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) + 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) + 在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) + 在 System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) + 在 System.Data.Common.DbCommand.ExecuteReader() + 在 System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult) + 在 System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries) + 在 System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query) + 在 System.Data.Linq.DataQuery`1.System.Linq.IQueryProvider.Execute[S](Expression expression) + 在 System.Linq.Queryable.Count[TSource](IQueryable`1 source) + 在 BLL.GetDataService.CorrectingPersonInOutNumber(String projectId) 位置 E:\工作\五环施工平台\SGGL_CWCEC\SGGL\BLL\OpenService\GetDataService.cs:行号 139 + 在 BLL.MonitorService.DoSynchData() 位置 E:\工作\五环施工平台\SGGL_CWCEC\SGGL\BLL\OpenService\MonitorService.cs:行号 2180 + 在 BLL.MonitorService.ColligateFormConfirmProcessEve(Object sender, ElapsedEventArgs e) 位置 E:\工作\五环施工平台\SGGL_CWCEC\SGGL\BLL\OpenService\MonitorService.cs:行号 112 +----错误类型:Win32Exception +----错误信息: +----等待的操作过时。 +----错误堆栈: + 出错时间:10/21/2021 11:27:58 +出错时间:10/21/2021 11:27:59 + + +错误信息开始=====> +错误类型:SqlException +错误信息:执行超时已过期。完成操作之前已超时或服务器未响应。 +错误堆栈: + 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) + 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) + 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) + 在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) + 在 System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() + 在 System.Data.SqlClient.SqlDataReader.get_MetaData() + 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) + 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) + 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) + 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) + 在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) + 在 System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) + 在 System.Data.Common.DbCommand.ExecuteReader() + 在 System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult) + 在 System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries) + 在 System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query) + 在 System.Data.Linq.DataQuery`1.System.Linq.IQueryProvider.Execute[S](Expression expression) + 在 System.Linq.Queryable.Count[TSource](IQueryable`1 source) + 在 BLL.GetDataService.CorrectingPersonInOutNumber(String projectId) 位置 E:\工作\五环施工平台\SGGL_CWCEC\SGGL\BLL\OpenService\GetDataService.cs:行号 139 + 在 BLL.MonitorService.DoSynchData() 位置 E:\工作\五环施工平台\SGGL_CWCEC\SGGL\BLL\OpenService\MonitorService.cs:行号 2180 + 在 BLL.MonitorService.ColligateFormConfirmProcessEve(Object sender, ElapsedEventArgs e) 位置 E:\工作\五环施工平台\SGGL_CWCEC\SGGL\BLL\OpenService\MonitorService.cs:行号 112 +----错误类型:Win32Exception +----错误信息: +----等待的操作过时。 +----错误堆栈: + 出错时间:10/21/2021 11:29:35 +出错时间:10/21/2021 11:29:36 + + +错误信息开始=====> +错误类型:SqlException +错误信息:执行超时已过期。完成操作之前已超时或服务器未响应。 +错误堆栈: + 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) + 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) + 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) + 在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) + 在 System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() + 在 System.Data.SqlClient.SqlDataReader.get_MetaData() + 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) + 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) + 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) + 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) + 在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) + 在 System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) + 在 System.Data.Common.DbCommand.ExecuteReader() + 在 System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult) + 在 System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries) + 在 System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query) + 在 System.Data.Linq.DataQuery`1.System.Linq.IQueryProvider.Execute[S](Expression expression) + 在 System.Linq.Queryable.Count[TSource](IQueryable`1 source) + 在 BLL.GetDataService.CorrectingPersonInOutNumber(String projectId) 位置 E:\工作\五环施工平台\SGGL_CWCEC\SGGL\BLL\OpenService\GetDataService.cs:行号 139 + 在 BLL.MonitorService.DoSynchData() 位置 E:\工作\五环施工平台\SGGL_CWCEC\SGGL\BLL\OpenService\MonitorService.cs:行号 2180 + 在 BLL.MonitorService.ColligateFormConfirmProcessEve(Object sender, ElapsedEventArgs e) 位置 E:\工作\五环施工平台\SGGL_CWCEC\SGGL\BLL\OpenService\MonitorService.cs:行号 112 +----错误类型:Win32Exception +----错误信息: +----等待的操作过时。 +----错误堆栈: + 出错时间:10/21/2021 11:30:23 +出错时间:10/21/2021 11:30:24 + diff --git a/SGGL/FineUIPro.Web/JDGL/CostAnalysis/EarnedValueCurve.aspx.cs b/SGGL/FineUIPro.Web/JDGL/CostAnalysis/EarnedValueCurve.aspx.cs index 6040bb9e..ce1ed350 100644 --- a/SGGL/FineUIPro.Web/JDGL/CostAnalysis/EarnedValueCurve.aspx.cs +++ b/SGGL/FineUIPro.Web/JDGL/CostAnalysis/EarnedValueCurve.aspx.cs @@ -37,22 +37,39 @@ namespace FineUIPro.Web.JDGL.CostAnalysis this.trWBS.EnableIcons = true; this.trWBS.AutoScroll = true; this.trWBS.EnableSingleClickExpand = true; - var project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId); - if (project != null) + //var project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId); + //if (project != null) + //{ + // TreeNode rootNode = new TreeNode(); + // rootNode.Text = project.ProjectName; + // rootNode.NodeID = project.ProjectId; + // rootNode.CommandName = "project"; + // rootNode.EnableExpandEvent = true; + // this.trWBS.Nodes.Add(rootNode); + // if (BLL.Project_InstallationService.IsExitProjectInstallation(project.ProjectId)) + // { + // TreeNode emptyNode = new TreeNode(); + // emptyNode.Text = ""; + // emptyNode.NodeID = ""; + // rootNode.Nodes.Add(emptyNode); + // } + //} + Model.Project_Installation installation = BLL.Project_InstallationService.GetProjectInstallationByProjectId(this.CurrUser.LoginProjectId); + if (installation != null) { - TreeNode rootNode = new TreeNode(); - rootNode.Text = project.ProjectName; - rootNode.NodeID = project.ProjectId; - rootNode.CommandName = "project"; - rootNode.EnableExpandEvent = true; - this.trWBS.Nodes.Add(rootNode); - if (BLL.Project_InstallationService.IsExitProjectInstallation(project.ProjectId)) - { - TreeNode emptyNode = new TreeNode(); - emptyNode.Text = ""; - emptyNode.NodeID = ""; - rootNode.Nodes.Add(emptyNode); - } + TreeNode newNode = new TreeNode(); + newNode.Text = "[" + installation.InstallationCode + "]" + installation.InstallationName; + newNode.NodeID = installation.InstallationId; + newNode.CommandName = "installation"; + newNode.EnableExpandEvent = true; + newNode.EnableClickEvent = true; + newNode.EnableCheckBox = false; + this.trWBS.Nodes.Add(newNode); + + TreeNode emptyNode = new TreeNode(); + emptyNode.Text = ""; + emptyNode.NodeID = ""; + newNode.Nodes.Add(emptyNode); } } #endregion @@ -75,7 +92,7 @@ namespace FineUIPro.Web.JDGL.CostAnalysis foreach (var installation in installations) { TreeNode newNode = new TreeNode(); - newNode.Text = installation.InstallationName; + newNode.Text = "[" + installation.InstallationCode + "]" + installation.InstallationName; newNode.NodeID = installation.InstallationId; newNode.CommandName = "installation"; newNode.EnableExpandEvent = true; @@ -99,7 +116,7 @@ namespace FineUIPro.Web.JDGL.CostAnalysis foreach (var installation in installations) { TreeNode newNode = new TreeNode(); - newNode.Text = installation.InstallationName; + newNode.Text = "[" + installation.InstallationCode + "]" + installation.InstallationName; newNode.NodeID = installation.InstallationId; newNode.CommandName = "installation"; newNode.EnableExpandEvent = true; diff --git a/SGGL/FineUIPro.Web/JDGL/WBS/WBSSetAudit.aspx.cs b/SGGL/FineUIPro.Web/JDGL/WBS/WBSSetAudit.aspx.cs index fb0868c8..cc714ab7 100644 --- a/SGGL/FineUIPro.Web/JDGL/WBS/WBSSetAudit.aspx.cs +++ b/SGGL/FineUIPro.Web/JDGL/WBS/WBSSetAudit.aspx.cs @@ -37,23 +37,40 @@ namespace FineUIPro.Web.JDGL.WBS this.trWBS.EnableIcons = true; this.trWBS.AutoScroll = true; this.trWBS.EnableSingleClickExpand = true; - var project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId); - if (project != null) + //var project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId); + //if (project != null) + //{ + // TreeNode rootNode = new TreeNode(); + // rootNode.Text = project.ProjectName; + // rootNode.NodeID = project.ProjectId; + // rootNode.CommandName = "project"; + // rootNode.EnableExpandEvent = true; + // rootNode.EnableCheckBox = false; + // this.trWBS.Nodes.Add(rootNode); + // if (BLL.Project_InstallationService.IsExitProjectInstallation(project.ProjectId)) + // { + // TreeNode emptyNode = new TreeNode(); + // emptyNode.Text = ""; + // emptyNode.NodeID = ""; + // rootNode.Nodes.Add(emptyNode); + // } + //} + Model.Project_Installation installation = BLL.Project_InstallationService.GetProjectInstallationByProjectId(this.CurrUser.LoginProjectId); + if(installation!=null) { - TreeNode rootNode = new TreeNode(); - rootNode.Text = project.ProjectName; - rootNode.NodeID = project.ProjectId; - rootNode.CommandName = "project"; - rootNode.EnableExpandEvent = true; - rootNode.EnableCheckBox = false; - this.trWBS.Nodes.Add(rootNode); - if (BLL.Project_InstallationService.IsExitProjectInstallation(project.ProjectId)) - { - TreeNode emptyNode = new TreeNode(); - emptyNode.Text = ""; - emptyNode.NodeID = ""; - rootNode.Nodes.Add(emptyNode); - } + TreeNode newNode = new TreeNode(); + newNode.Text = "[" + installation.InstallationCode + "]" + installation.InstallationName; + newNode.NodeID = installation.InstallationId; + newNode.CommandName = "installation"; + newNode.EnableExpandEvent = true; + newNode.EnableClickEvent = true; + newNode.EnableCheckBox = false; + this.trWBS.Nodes.Add(newNode); + + TreeNode emptyNode = new TreeNode(); + emptyNode.Text = ""; + emptyNode.NodeID = ""; + newNode.Nodes.Add(emptyNode); } } #endregion @@ -77,7 +94,7 @@ namespace FineUIPro.Web.JDGL.WBS foreach (var installation in installations) { TreeNode newNode = new TreeNode(); - newNode.Text = installation.InstallationName; + newNode.Text = "[" + installation.InstallationCode + "]" + installation.InstallationName; newNode.NodeID = installation.InstallationId; newNode.CommandName = "installation"; newNode.EnableExpandEvent = true; @@ -102,7 +119,7 @@ namespace FineUIPro.Web.JDGL.WBS foreach (var installation in installations) { TreeNode newNode = new TreeNode(); - newNode.Text = installation.InstallationName; + newNode.Text = "[" + installation.InstallationCode + "]" + installation.InstallationName; newNode.NodeID = installation.InstallationId; newNode.CommandName = "installation"; newNode.EnableExpandEvent = true; diff --git a/SGGL/FineUIPro.Web/JDGL/WBS/WorkloadInput.aspx.cs b/SGGL/FineUIPro.Web/JDGL/WBS/WorkloadInput.aspx.cs index 5027144f..4edc6448 100644 --- a/SGGL/FineUIPro.Web/JDGL/WBS/WorkloadInput.aspx.cs +++ b/SGGL/FineUIPro.Web/JDGL/WBS/WorkloadInput.aspx.cs @@ -39,22 +39,39 @@ namespace FineUIPro.Web.JDGL.WBS this.trWBS.EnableIcons = true; this.trWBS.AutoScroll = true; this.trWBS.EnableSingleClickExpand = true; - var project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId); - if (project != null) + //var project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId); + //if (project != null) + //{ + // TreeNode rootNode = new TreeNode(); + // rootNode.Text = project.ProjectName; + // rootNode.NodeID = project.ProjectId; + // rootNode.CommandName = "project"; + // rootNode.EnableExpandEvent = true; + // this.trWBS.Nodes.Add(rootNode); + // if (BLL.Project_InstallationService.IsExitProjectInstallation(project.ProjectId)) + // { + // TreeNode emptyNode = new TreeNode(); + // emptyNode.Text = ""; + // emptyNode.NodeID = ""; + // rootNode.Nodes.Add(emptyNode); + // } + //} + Model.Project_Installation installation = BLL.Project_InstallationService.GetProjectInstallationByProjectId(this.CurrUser.LoginProjectId); + if (installation != null) { - TreeNode rootNode = new TreeNode(); - rootNode.Text = project.ProjectName; - rootNode.NodeID = project.ProjectId; - rootNode.CommandName = "project"; - rootNode.EnableExpandEvent = true; - this.trWBS.Nodes.Add(rootNode); - if (BLL.Project_InstallationService.IsExitProjectInstallation(project.ProjectId)) - { - TreeNode emptyNode = new TreeNode(); - emptyNode.Text = ""; - emptyNode.NodeID = ""; - rootNode.Nodes.Add(emptyNode); - } + TreeNode newNode = new TreeNode(); + newNode.Text = "[" + installation.InstallationCode + "]" + installation.InstallationName; + newNode.NodeID = installation.InstallationId; + newNode.CommandName = "installation"; + newNode.EnableExpandEvent = true; + newNode.EnableClickEvent = true; + newNode.EnableCheckBox = false; + this.trWBS.Nodes.Add(newNode); + + TreeNode emptyNode = new TreeNode(); + emptyNode.Text = ""; + emptyNode.NodeID = ""; + newNode.Nodes.Add(emptyNode); } } #endregion @@ -78,7 +95,7 @@ namespace FineUIPro.Web.JDGL.WBS foreach (var installation in installations) { TreeNode newNode = new TreeNode(); - newNode.Text = installation.InstallationName; + newNode.Text = "[" + installation.InstallationCode + "]" + installation.InstallationName; newNode.NodeID = installation.InstallationId; newNode.CommandName = "installation"; newNode.EnableExpandEvent = true; @@ -102,7 +119,7 @@ namespace FineUIPro.Web.JDGL.WBS foreach (var installation in installations) { TreeNode newNode = new TreeNode(); - newNode.Text = installation.InstallationName; + newNode.Text = "[" + installation.InstallationCode + "]" + installation.InstallationName; newNode.NodeID = installation.InstallationId; newNode.CommandName = "installation"; newNode.EnableExpandEvent = true; diff --git a/SGGL/FineUIPro.Web/ProjectData/Installation.aspx.cs b/SGGL/FineUIPro.Web/ProjectData/Installation.aspx.cs index 1793ed60..e12deaca 100644 --- a/SGGL/FineUIPro.Web/ProjectData/Installation.aspx.cs +++ b/SGGL/FineUIPro.Web/ProjectData/Installation.aspx.cs @@ -110,7 +110,7 @@ namespace FineUIPro.Web.ProjectData foreach (var installation in installations) { TreeNode newNode = new TreeNode(); - newNode.Text = installation.InstallationName; + newNode.Text = "[" + installation.InstallationCode + "]" + installation.InstallationName; newNode.NodeID = installation.InstallationId; newNode.CommandName = "installation"; newNode.EnableExpandEvent = true; @@ -135,7 +135,7 @@ namespace FineUIPro.Web.ProjectData foreach (var installation in installations) { TreeNode newNode = new TreeNode(); - newNode.Text = installation.InstallationName; + newNode.Text = "[" + installation.InstallationCode + "]" + installation.InstallationName; newNode.NodeID = installation.InstallationId; newNode.CommandName = "installation"; newNode.EnableExpandEvent = true; @@ -244,6 +244,152 @@ namespace FineUIPro.Web.ProjectData string url = Funs.RealNameApiUrl + "/Projects/GetConstructionWbsList"; string contenttype = "application/json;charset=utf-8"; var returndata = BLL.APIGetHttpService.ControlHttp(Funs.ControlApiUrl + "/Projects/GetConstructionWbsList?ProjId=" + 2370, "GET", contenttype, null, null); + if (!string.IsNullOrEmpty(returndata)) + { + JObject obj = JObject.Parse(returndata); + JArray arr = JArray.Parse(obj["result"].ToString()); + Model.SGGLDB db = Funs.DB; + //专业 + var cnProfessionInits = from x in db.WBS_CnProfessionInit where x.CnProfessionId < 19 select x; + //单位工程及子单位工程 + var unitProjectInits = from x in db.Wbs_UnitProjectInit where x.CnProfessionId < 19 orderby x.SuperUnitProject select x; + //分部/子分部/分项/子分项 + var wbsSetInits = (from x in db.WBS_WbsSetInit where x.CnProfessionId < 19 orderby x.SuperWbsSetCode select x).ToList(); + //费用清单对应关系 + var wbsSetMatchCostControlInits = from x in db.WBS_WbsSetMatchCostControlInit orderby x.WbsSetCode select x; + //费用清单项 + var totalCostControlInits = from x in db.WBS_CostControlInit orderby x.CostControlInitCode select x; + foreach (var item in arr) + { + string id = item["id"].ToString(); //记录Id,主键 + string parentId = item["parentId"].ToString(); //上一级记录Id + string code = item["code"].ToString(); //WBS编码 + string name = item["name"].ToString(); //WBS名称 + string level = item["level"].ToString(); //级别,0-7依次表示:项目、阶段(施工)、装置、工序、主项、专业、分部工程、分项工程 + string isLeaf = item["isLeaf"].ToString(); //是否末级 + string ppsId = item["ppsId"].ToString(); //阶段ID,3代表施工 + string projId = item["projId"].ToString(); //项目ID + string planStart = item["planStart"].ToString(); //计划开始日期 + string planFinish = item["planFinish"].ToString(); //计划完成日期 + string remark = item["remark"].ToString(); //备注 + if (level == "0" || level == "1" || level == "2" || level == "3" || level == "4") + { + Model.Project_Installation installation = new Model.Project_Installation(); + installation.InstallationId = id; + installation.ProjectId = this.CurrUser.LoginProjectId; + installation.InstallationCode = code; + installation.InstallationName = name; + installation.SuperInstallationId = parentId == "-1" ? "0" : parentId; + installation.StartDate = Funs.GetNewDateTime(planStart); + installation.EndDate = Funs.GetNewDateTime(planFinish); + installation.IsEnd = Convert.ToBoolean(isLeaf); + installation.Def = remark; + db.Project_Installation.InsertOnSubmit(installation); + db.SubmitChanges(); + } + else if (level == "5") + { + var cn = cnProfessionInits.FirstOrDefault(x => x.CnProfessionName.Contains(name.Substring(0, 2))); + //拷贝专业 + if (cn != null) + { + Model.WBS_CnProfession cnProfession = new Model.WBS_CnProfession(); + cnProfession.CnProfessionId = id; + cnProfession.CnProfessionName = cn.CnProfessionName; + cnProfession.CnProfessionCode = cn.CnProfessionCode; + cnProfession.InstallationId = parentId; + cnProfession.ProjectId = this.CurrUser.LoginProjectId; + cnProfession.StartDate = Funs.GetNewDateTime(planStart); + cnProfession.EndDate = Funs.GetNewDateTime(planFinish); + cnProfession.OldId = cn.CnProfessionId; + db.WBS_CnProfession.InsertOnSubmit(cnProfession); + db.SubmitChanges(); + //单位工程 + var unitProjects = unitProjectInits.Where(x => x.CnProfessionId == cn.CnProfessionId); + foreach (var unitProjectInit in unitProjects) + { + Model.Wbs_UnitProject unitProject = new Model.Wbs_UnitProject(); + unitProject.UnitProjectId = SQLHelper.GetNewID(typeof(Model.Wbs_UnitProject)); + unitProject.UnitProjectCode = unitProjectInit.UnitProjectCode; + unitProject.UnitProjectName = unitProjectInit.UnitProjectName; + unitProject.InstallationId = parentId; + unitProject.SortIndex = unitProjectInit.SortIndex; + unitProject.SuperUnitProjectId = null; + unitProject.ProjectId = this.CurrUser.LoginProjectId; + unitProject.CnProfessionId = id; + unitProject.StartDate = Funs.GetNewDateTime(planStart); + unitProject.EndDate = Funs.GetNewDateTime(planFinish); + unitProject.Remark = unitProjectInit.Remark; + unitProject.IsIn = true; + db.Wbs_UnitProject.InsertOnSubmit(unitProject); + db.SubmitChanges(); + } + //分部分项 + var wbsSets = wbsSetInits.Where(x => x.CnProfessionId == cn.CnProfessionId); + foreach (var wbsSetInit in wbsSets) + { + Model.Wbs_WbsSet wbsSet = new Model.Wbs_WbsSet(); + wbsSet.WbsSetId = SQLHelper.GetNewID(typeof(Model.Wbs_WbsSet)); + wbsSet.WbsSetCode = wbsSetInit.WbsSetCode; + wbsSet.WbsSetName = wbsSetInit.WbsSetName; + wbsSet.InstallationId = parentId; + wbsSet.CnProfessionId = id; + wbsSet.UnitProjectId = (from x in db.Wbs_UnitProject where x.UnitProjectCode == wbsSetInit.UnitProjectCode && x.CnProfessionId == id select x.UnitProjectId).FirstOrDefault(); + if (wbsSetInit.SuperWbsSetCode == null) + { + wbsSet.SuperWbsSetId = null; + } + else + { + wbsSet.SuperWbsSetId = (from x in db.Wbs_WbsSet + where x.WbsSetCode == wbsSetInit.SuperWbsSetCode && x.InstallationId == parentId && x.CnProfessionId == id + select x.WbsSetId).FirstOrDefault(); + } + wbsSet.ProjectId = this.CurrUser.LoginProjectId; + wbsSet.StartDate = Funs.GetNewDateTime(planStart); + wbsSet.EndDate = Funs.GetNewDateTime(planFinish); + wbsSet.Flag = wbsSetInit.Flag; + wbsSet.Way = wbsSetInit.Way; + wbsSet.Weights = wbsSetInit.Weights; + wbsSet.ControlItemDef = wbsSetInit.ControlItemDef; + wbsSet.ControlPoint = wbsSetInit.ControlPoint; + wbsSet.Remark = wbsSetInit.Remark; + wbsSet.IsIn = true; + db.Wbs_WbsSet.InsertOnSubmit(wbsSet); + db.SubmitChanges(); + var wbsSetMatchCostControls = wbsSetMatchCostControlInits.Where(x => x.WbsSetCode == wbsSetInit.WbsSetCode); + foreach (var wbsSetMatchCostControlInit in wbsSetMatchCostControls) + { + Model.WBS_WbsSetMatchCostControl wbsSetMatchCostControl = new Model.WBS_WbsSetMatchCostControl(); + wbsSetMatchCostControl.WbsSetMatchCostControlId = SQLHelper.GetNewID(); + wbsSetMatchCostControl.WbsSetId = wbsSet.WbsSetId; + wbsSetMatchCostControl.CostControlCode = wbsSetMatchCostControlInit.CostControlInitCode; + if (wbsSetMatchCostControl.WbsSetId != null) + { + db.WBS_WbsSetMatchCostControl.InsertOnSubmit(wbsSetMatchCostControl); + db.SubmitChanges(); + //拷贝费用清单项 + var costControlInits = from x in totalCostControlInits where x.CostControlInitCode == wbsSetMatchCostControlInit.CostControlInitCode orderby x.CostControlInitCode select x; + foreach (var costControlInit in costControlInits) + { + Model.WBS_CostControl costControl = new Model.WBS_CostControl(); + costControl.CostControlId = SQLHelper.GetNewID(); + costControl.ProjectId = this.CurrUser.LoginProjectId; + costControl.WbsSetId = wbsSetMatchCostControl.WbsSetId; + costControl.CostControlCode = costControlInit.CostControlInitCode; + costControl.CostControlName = costControlInit.CostControlInitName; + costControl.Unit = costControlInit.Unit; + db.WBS_CostControl.InsertOnSubmit(costControl); + db.SubmitChanges(); + } + } + } + } + } + } + } + ShowNotify("抽取成功!", MessageBoxIcon.Success); + } } else { diff --git a/SGGL/FineUIPro.Web/ProjectData/InstallationSave.aspx.cs b/SGGL/FineUIPro.Web/ProjectData/InstallationSave.aspx.cs index 611d80eb..f2259bd2 100644 --- a/SGGL/FineUIPro.Web/ProjectData/InstallationSave.aspx.cs +++ b/SGGL/FineUIPro.Web/ProjectData/InstallationSave.aspx.cs @@ -11,7 +11,6 @@ namespace FineUIPro.Web.ProjectData { public partial class InstallationSave : PageBase { - private static List wbsSetInits; private static string installationId; private static DateTime? startDate; private static DateTime? endDate; @@ -168,7 +167,7 @@ namespace FineUIPro.Web.ProjectData BLL.UnitProjectService.AddUnitProject(unitProject); } //拷贝分部/子分部/分项/子分项 - wbsSetInits = (from x in Funs.DB.WBS_WbsSetInit where x.CnProfessionId < 19 orderby x.SuperWbsSetCode select x).ToList(); + var wbsSetInits = (from x in Funs.DB.WBS_WbsSetInit where x.CnProfessionId < 19 orderby x.SuperWbsSetCode select x).ToList(); foreach (var wbsSetInit in wbsSetInits) { Model.Wbs_WbsSet wbsSet = new Model.Wbs_WbsSet(); diff --git a/SGGL/FineUIPro.Web/common/mainProject.aspx.cs b/SGGL/FineUIPro.Web/common/mainProject.aspx.cs index d7adb7b5..af6df317 100644 --- a/SGGL/FineUIPro.Web/common/mainProject.aspx.cs +++ b/SGGL/FineUIPro.Web/common/mainProject.aspx.cs @@ -51,32 +51,66 @@ namespace FineUIPro.Web.common var designChangeOrders = from x in db.Comprehensive_DesignChangeOrder where x.ProjectId == this.CurrUser.LoginProjectId select x; this.divBG.InnerHtml = designChangeOrders.Count().ToString(); //工程量完成情况 - string quantityCompletionStr = "
序号
类型
单位
设计数量
计划完成
实际完成
计划完成率
累计计划完成
累计实际完成
累计计划完成率
总完成率
"; - var quantityCompletions = from x in Funs.DB.View_JDGL_QuantityCompletion where x.ProjectId == this.CurrUser.LoginProjectId orderby x.Name select x; - int i = 1; - foreach (var item in quantityCompletions) - { - quantityCompletionStr += "
" - + i + "
" - + item.Name + "
" - + item.Unit + "
" - + (item.DesignNum != null ? item.DesignNum.Value.ToString("F0") : "0") + "
" - + (item.PlanNum != null ? item.PlanNum.Value.ToString("F0") : "0") + "
" - + (item.RealNum != null ? item.RealNum.Value.ToString("F0") : "0") + "
" - + item.Rate + "
" - + item.TotalPlanNum + "
" - + item.TotalRealNum + "
" - + item.TotalRate + "
" - + item.SumRate + "
"; - i++; - } - divGZL.InnerHtml = quantityCompletionStr; string date = string.Empty; + var quantityCompletions = from x in Funs.DB.View_JDGL_QuantityCompletion where x.ProjectId == this.CurrUser.LoginProjectId orderby x.Name select x; if (quantityCompletions.Count() > 0) { - if (quantityCompletions.First() != null && quantityCompletions.First().EndDate != null) + string quantityCompletionStr = "
序号
类型
单位
设计数量
计划完成
实际完成
计划完成率
累计计划完成
累计实际完成
累计计划完成率
总完成率
"; + int i = 1; + foreach (var item in quantityCompletions) { - date = " (" + string.Format("{0:yyyy-MM}", quantityCompletions.First().EndDate) + ")"; + quantityCompletionStr += "
" + + i + "
" + + item.Name + "
" + + item.Unit + "
" + + (item.DesignNum != null ? item.DesignNum.Value.ToString("F0") : "0") + "
" + + (item.PlanNum != null ? item.PlanNum.Value.ToString("F0") : "0") + "
" + + (item.RealNum != null ? item.RealNum.Value.ToString("F0") : "0") + "
" + + item.Rate + "
" + + item.TotalPlanNum + "
" + + item.TotalRealNum + "
" + + item.TotalRate + "
" + + item.SumRate + "
"; + i++; + } + divGZL.InnerHtml = quantityCompletionStr; + if (quantityCompletions.Count() > 0) + { + if (quantityCompletions.First() != null && quantityCompletions.First().EndDate != null) + { + date = " (" + string.Format("{0:yyyy-MM}", quantityCompletions.First().EndDate) + ")"; + } + } + } + else //低温储罐项目显示低温储罐数据 + { + var lowTankCompletions = from x in Funs.DB.View_JDGL_LowTankCompletion where x.ProjectId == this.CurrUser.LoginProjectId orderby x.Name select x; + string quantityCompletionStr = "
序号
储罐编号
类型
单位
设计数量
计划完成
实际完成
计划完成率
累计计划完成
累计实际完成
累计计划完成率
总完成率
"; + int i = 1; + foreach (var item in lowTankCompletions) + { + quantityCompletionStr += "
" + + i + "
" + + item.Code + "
" + + item.Name + "
" + + item.Unit + "
" + + (item.TotalNum != null ? item.TotalNum.Value.ToString("F0") : "0") + "
" + + (item.PlanNum != null ? item.PlanNum.Value.ToString("F0") : "0") + "
" + + (item.RealNum != null ? item.RealNum.Value.ToString("F0") : "0") + "
" + + item.Rate + "
" + + item.TotalPlanNum + "
" + + item.TotalRealNum + "
" + + item.TotalRate + "
" + + item.SumRate + "
"; + i++; + } + divGZL.InnerHtml = quantityCompletionStr; + if (lowTankCompletions.Count() > 0) + { + if (lowTankCompletions.First() != null && lowTankCompletions.First().EndDate != null) + { + date = " (" + string.Format("{0:yyyy-MM}", lowTankCompletions.First().EndDate) + ")"; + } } } divMonth.InnerHtml = "专业工作量表" + date;