安邦工具箱培训数据接收接口

This commit is contained in:
李鹏飞 2024-09-03 16:22:00 +08:00
parent 197b55e6bd
commit 9f70d34ed2
23 changed files with 1951 additions and 58 deletions

Binary file not shown.

View File

@ -0,0 +1,79 @@
{
"Version": 1,
"WorkspaceRootPath": "D:\\\u6570\u636E\\\u8BFA\u5FC5\u8FBE\\\u4E94\u73AF\\CNCEC_SUBQHSE_WUHUAN\\",
"Documents": [],
"DocumentGroupContainers": [
{
"Orientation": 1,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedHeight": 200,
"SelectedChildIndex": -1,
"Children": [
{
"$type": "Bookmark",
"Name": "ST:0:0:{e506b91c-c606-466a-90a9-123d1d1e12b3}"
},
{
"$type": "Bookmark",
"Name": "ST:130:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Bookmark",
"Name": "ST:132:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Bookmark",
"Name": "ST:133:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Bookmark",
"Name": "ST:134:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Bookmark",
"Name": "ST:1:0:{f2bd8fb8-fc94-3dae-a733-fd993c73cc87}"
},
{
"$type": "Bookmark",
"Name": "ST:131:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
},
{
"$type": "Bookmark",
"Name": "ST:129:0:{13b12e3e-c1b4-4539-9371-4fe9a0d523fc}"
},
{
"$type": "Bookmark",
"Name": "ST:2:0:{f2bd8fb8-fc94-3dae-a733-fd993c73cc87}"
},
{
"$type": "Bookmark",
"Name": "ST:3:0:{f2bd8fb8-fc94-3dae-a733-fd993c73cc87}"
},
{
"$type": "Bookmark",
"Name": "ST:128:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Bookmark",
"Name": "ST:129:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{1a46fd64-28d5-434c-8eb3-17a02d419b53}"
},
{
"$type": "Bookmark",
"Name": "ST:131:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}"
}
]
}
]
}
]
}

View File

@ -0,0 +1,142 @@
@echo off
REM ---------------
REM 发布包生成工具
REM 执行此文件前请先用Release生成publisher项目
REM --------------
REM --------------
REM 环境变量设置 Project_Src为如PUBLISHER4_CODING这样的分支
REM --------------
set PROJECT_SRC=%CD%
REM 源代码publisher项目文件夹
set PUBLISHER_SRC_ROOT=%PROJECT_SRC%\SGGL\FineUIPro.Web
REM 源代码版本日志文件夹
set VerLog_SRC_ROOT=%PROJECT_SRC%\database\版本日志
REM 包文件夹名
SET ReleasePack=PackFile
REM 发布程序包文件夹
SET ReleasePackFolder=%PROJECT_SRC%\SGGL%ReleasePack%
REM 发布包publisher文件所在文件夹
SET RELEASE_PUBLISHER_ROOT=%PROJECT_SRC%\SGGL%ReleasePack%\%ReleasePack%
REM 发布包版本日志文件所在文件夹
SET RELEASE_VerLog_ROOT=%PROJECT_SRC%\SGGL%ReleasePack%\版本日志
REM --------------
REM 发布程序包文件夹相关
REM --------------
IF exist %ReleasePackFolder%\nul.ext (
@echo 删除已存在的发布程序包文件夹
@echo.
rd %ReleasePackFolder% /S /Q
)
mkdir %ReleasePackFolder%
IF exist %RELEASE_VerLog_ROOT%\nul.ext (
rd %RELEASE_VerLog_ROOT% /S /Q
)
mkdir %RELEASE_VerLog_ROOT%
IF errorlevel 1 goto delReleasePackError
@echo 设置.net控制台环境
@echo.
@call "D:\Visual Studio 2022\Common7\Tools\VsDevCmd.bat"
IF errorlevel 1 goto netEnvironmentError
@echo 开始预编译...
@echo.
aspnet_compiler -p %PUBLISHER_SRC_ROOT% %RELEASE_PUBLISHER_ROOT% -u -v /
IF errorlevel 1 goto aspnet_compilerError
@echo 预编译完成
@echo.
@echo 开始合并程序集...
@echo.
Aspnet_merge %RELEASE_PUBLISHER_ROOT% -o UI
IF errorlevel 1 goto Aspnet_mergeError
@echo 合并程序集完成
@echo.
REM --------------
REM 删除不必要的文件
REM --------------
@echo 开始清理垃圾文件...
@echo.
del %RELEASE_PUBLISHER_ROOT%\*.cs /s /f
del %RELEASE_PUBLISHER_ROOT%\*.designer.cs /s /f
del %RELEASE_PUBLISHER_ROOT%\*.csproj /s /f
del %RELEASE_PUBLISHER_ROOT%\*.csproj.* /s /f
del %RELEASE_PUBLISHER_ROOT%\*.pdb /s /f
del %RELEASE_PUBLISHER_ROOT%\*.resx /s /f
del %RELEASE_PUBLISHER_ROOT%\*.db /s /f
del %RELEASE_PUBLISHER_ROOT%\*.bak /s /f
del %RELEASE_PUBLISHER_ROOT%\*.*.bak /s /f
del %RELEASE_PUBLISHER_ROOT%\*.sln /s /f
del %RELEASE_PUBLISHER_ROOT%\*.suo /s /f
del %RELEASE_PUBLISHER_ROOT%\*.scc /s /f
rd %RELEASE_PUBLISHER_ROOT%\obj /s /q
del %RELEASE_PUBLISHER_ROOT%\ReadMe.txt /s /f
del %RELEASE_PUBLISHER_ROOT%\*.pfx /s /f
del %RELEASE_PUBLISHER_ROOT%\*.StyleCop /s /f
@echo 清理完成
@echo.
REM --------------
REM 拷贝版本日志
REM --------------
@echo 拷贝版本日志...
@echo.
copy %VerLog_SRC_ROOT%\*.* %RELEASE_VerLog_ROOT% /Y
@echo 发布包已生成,存放路径为%ReleasePackFolder%
@echo.
goto END
:delReleasePackError
@echo.
@echo 删除包存储文件夹失败!
goto END
:netEnvironmentError
@echo.
@echo .net环境设置失败!
goto END
:aspnet_compilerError
@echo.
@echo 预编译失败!
goto END
:Aspnet_mergeError
@echo.
@echo 合并程序集失败!
goto END
:END
pause

View File

@ -763,6 +763,10 @@ namespace BLL
{
newPerson.TeamGroupId = person.TeamGroupId;
}
if (!string.IsNullOrEmpty(person.WorkPostName))
{
person.WorkPostId = WorkPostService.AddWorkPostByName(person.WorkPostName);
}
if (!string.IsNullOrEmpty(person.WorkPostId))
{
newPerson.WorkPostId = person.WorkPostId;

View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
public static class AnBangService
{
}
}

View File

@ -85,6 +85,7 @@
<Reference Include="WindowsBase" />
</ItemGroup>
<ItemGroup>
<Compile Include="AnBang\AnBangService.cs" />
<Compile Include="API\APIBaseInfoService.cs" />
<Compile Include="API\APICommonService.cs" />
<Compile Include="API\APIDoorServerService.cs" />

View File

@ -45,7 +45,36 @@ namespace BLL
db.Base_WorkPost.InsertOnSubmit(newWorkPost);
db.SubmitChanges();
}
public static string AddWorkPostByName(string workPostName)
{
string workpostid = String.Empty;
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var model = db.Base_WorkPost.FirstOrDefault(e => e.WorkPostName == workPostName);
if (model != null)
{
workpostid = model.WorkPostId;
}
else
{
Model.Base_WorkPost newWorkPost = new Model.Base_WorkPost
{
WorkPostId = SQLHelper.GetNewID(),
WorkPostCode = "",
WorkPostName = workPostName,
IsHsse = false,
IsCQMS = false,
CNCodes = "",
};
db.Base_WorkPost.InsertOnSubmit(newWorkPost);
db.SubmitChanges();
workpostid = newWorkPost.WorkPostId;
}
return workpostid;
}
}
/// <summary>
/// 修改
/// </summary>

View File

@ -28,3 +28,248 @@
出错时间:06/21/2024 16:04:10
出错时间:06/21/2024 16:04:10
错误信息开始=====>
错误类型:SqlException
错误信息:列名 'NextNum' 无效。
错误堆栈:
在 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.Collections.Generic.IEnumerable<T>.GetEnumerator()
在 System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
在 System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
在 FineUIPro.Web.common.mainProject2.GetJD() 位置 D:\数据\诺必达\五环\CNCEC_SUBQHSE_WUHUAN\SGGL\FineUIPro.Web\common\mainProject2.aspx.cs:行号 720
在 FineUIPro.Web.common.mainProject2.Page_Load(Object sender, EventArgs e) 位置 D:\数据\诺必达\五环\CNCEC_SUBQHSE_WUHUAN\SGGL\FineUIPro.Web\common\mainProject2.aspx.cs:行号 113
在 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
在 System.EventHandler.Invoke(Object sender, EventArgs e)
在 System.Web.UI.Control.OnLoad(EventArgs e)
在 System.Web.UI.Control.LoadRecursive()
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
出错时间:06/25/2024 17:08:52
出错文件:http://localhost:8579/common/mainProject2.aspx
IP地址:::1
操作人员:JT
出错时间:06/25/2024 17:08:52
错误信息开始=====>
错误类型:SqlException
错误信息:参数化查询 '(@ProjectId nvarchar(4000))SELECT NEWID() AS ID, CardNo,PersonNa' 需要参数 '@ProjectId',但未提供该参数。
错误堆栈:
在 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.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
在 BLL.SQLHelper.GetDataTableRunText(String strSql, SqlParameter[] parameters) 位置 D:\数据\诺必达\五环\CNCEC_SUBQHSE_WUHUAN\SGGL\BLL\SQLHelper.cs:行号 311
在 FineUIPro.Web.HSSE.EduTrain.TrainFind.BindGrid() 位置 D:\数据\诺必达\五环\CNCEC_SUBQHSE_WUHUAN\SGGL\FineUIPro.Web\HSSE\EduTrain\TrainFind.aspx.cs:行号 116
在 FineUIPro.Web.HSSE.EduTrain.TrainFind.Page_Load(Object sender, EventArgs e) 位置 D:\数据\诺必达\五环\CNCEC_SUBQHSE_WUHUAN\SGGL\FineUIPro.Web\HSSE\EduTrain\TrainFind.aspx.cs:行号 59
在 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
在 System.EventHandler.Invoke(Object sender, EventArgs e)
在 System.Web.UI.Control.OnLoad(EventArgs e)
在 System.Web.UI.Control.LoadRecursive()
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
出错时间:09/03/2024 15:38:17
出错文件:http://localhost:8579/HSSE/EduTrain/TrainFind.aspx
IP地址:::1
操作人员:JT
出错时间:09/03/2024 15:38:17
错误信息开始=====>
错误类型:FormatException
错误信息:输入字符串的格式不正确。
错误堆栈:
在 System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
在 System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
在 System.String.System.IConvertible.ToInt32(IFormatProvider provider)
在 System.Convert.ToInt32(Object value)
在 FineUIPro.RenderField.DSVurKNBLhHEBGjRDehgsQmnHqGTA(GridRow )
在 (GridColumn , GridRow )
在 FineUIPro.GridRow.JKAqhrYRKGjUrputGryVTdIrcyJN()
在 (GridRow )
在 FineUIPro.Grid.JKAqhrYRKGjUrputGryVTdIrcyJN(Int32 , Object )
在 (Grid , Int32 , Object )
在 FineUIPro.Grid.AYqoKqSqsgZakIKkWuWxQURnixDO(IEnumerable , Boolean )
在 (Grid , IEnumerable , Boolean )
在 FineUIPro.Grid.DataBind(Boolean keepCurrentData)
在 (Grid , Boolean )
在 FineUIPro.Grid.DataBind()
在 FineUIPro.Web.BoSheng.BoPersonTrainRecord.GridBind() 位置 D:\数据\诺必达\五环\CNCEC_SUBQHSE_WUHUAN\SGGL\FineUIPro.Web\BoSheng\BoPersonTrainRecord.aspx.cs:行号 34
在 FineUIPro.Web.BoSheng.BoPersonTrainRecord.btnSearch_Click(Object sender, EventArgs e) 位置 D:\数据\诺必达\五环\CNCEC_SUBQHSE_WUHUAN\SGGL\FineUIPro.Web\BoSheng\BoPersonTrainRecord.aspx.cs:行号 39
在 FineUIPro.Button.OnClick(EventArgs e)
在 (Button , EventArgs )
在 FineUIPro.Button.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)
出错时间:09/03/2024 15:53:12
出错文件:http://localhost:8579/BoSheng/BoPersonTrainRecord.aspx
IP地址:::1
操作人员:JT
出错时间:09/03/2024 15:53:12
错误信息开始=====>
错误类型:FormatException
错误信息:输入字符串的格式不正确。
错误堆栈:
在 System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
在 System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
在 System.String.System.IConvertible.ToInt32(IFormatProvider provider)
在 System.Convert.ToInt32(Object value)
在 FineUIPro.RenderField.DSVurKNBLhHEBGjRDehgsQmnHqGTA(GridRow )
在 (GridColumn , GridRow )
在 FineUIPro.GridRow.JKAqhrYRKGjUrputGryVTdIrcyJN()
在 (GridRow )
在 FineUIPro.Grid.JKAqhrYRKGjUrputGryVTdIrcyJN(Int32 , Object )
在 (Grid , Int32 , Object )
在 FineUIPro.Grid.AYqoKqSqsgZakIKkWuWxQURnixDO(IEnumerable , Boolean )
在 (Grid , IEnumerable , Boolean )
在 FineUIPro.Grid.DataBind(Boolean keepCurrentData)
在 (Grid , Boolean )
在 FineUIPro.Grid.DataBind()
在 FineUIPro.Web.BoSheng.BoPersonTrainRecord.GridBind() 位置 D:\数据\诺必达\五环\CNCEC_SUBQHSE_WUHUAN\SGGL\FineUIPro.Web\BoSheng\BoPersonTrainRecord.aspx.cs:行号 34
在 FineUIPro.Web.BoSheng.BoPersonTrainRecord.Page_Load(Object sender, EventArgs e) 位置 D:\数据\诺必达\五环\CNCEC_SUBQHSE_WUHUAN\SGGL\FineUIPro.Web\BoSheng\BoPersonTrainRecord.aspx.cs:行号 22
在 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
在 System.EventHandler.Invoke(Object sender, EventArgs e)
在 System.Web.UI.Control.OnLoad(EventArgs e)
在 System.Web.UI.Control.LoadRecursive()
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
出错时间:09/03/2024 15:53:47
出错文件:http://localhost:8579/BoSheng/BoPersonTrainRecord.aspx
IP地址:::1
操作人员:JT
出错时间:09/03/2024 15:53:47
错误信息开始=====>
错误类型:FormatException
错误信息:输入字符串的格式不正确。
错误堆栈:
在 System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
在 System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
在 System.String.System.IConvertible.ToInt32(IFormatProvider provider)
在 System.Convert.ToInt32(Object value)
在 FineUIPro.RenderField.DSVurKNBLhHEBGjRDehgsQmnHqGTA(GridRow )
在 (GridColumn , GridRow )
在 FineUIPro.GridRow.JKAqhrYRKGjUrputGryVTdIrcyJN()
在 (GridRow )
在 FineUIPro.Grid.JKAqhrYRKGjUrputGryVTdIrcyJN(Int32 , Object )
在 (Grid , Int32 , Object )
在 FineUIPro.Grid.AYqoKqSqsgZakIKkWuWxQURnixDO(IEnumerable , Boolean )
在 (Grid , IEnumerable , Boolean )
在 FineUIPro.Grid.DataBind(Boolean keepCurrentData)
在 (Grid , Boolean )
在 FineUIPro.Grid.DataBind()
在 FineUIPro.Web.BoSheng.BoPersonTrainRecord.GridBind() 位置 D:\数据\诺必达\五环\CNCEC_SUBQHSE_WUHUAN\SGGL\FineUIPro.Web\BoSheng\BoPersonTrainRecord.aspx.cs:行号 34
在 FineUIPro.Web.BoSheng.BoPersonTrainRecord.Page_Load(Object sender, EventArgs e) 位置 D:\数据\诺必达\五环\CNCEC_SUBQHSE_WUHUAN\SGGL\FineUIPro.Web\BoSheng\BoPersonTrainRecord.aspx.cs:行号 22
在 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
在 System.EventHandler.Invoke(Object sender, EventArgs e)
在 System.Web.UI.Control.OnLoad(EventArgs e)
在 System.Web.UI.Control.LoadRecursive()
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
出错时间:09/03/2024 15:54:12
出错文件:http://localhost:8579/BoSheng/BoPersonTrainRecord.aspx
IP地址:::1
操作人员:JT
出错时间:09/03/2024 15:54:12
错误信息开始=====>
错误类型:FormatException
错误信息:输入字符串的格式不正确。
错误堆栈:
在 System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
在 System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
在 System.String.System.IConvertible.ToInt32(IFormatProvider provider)
在 System.Convert.ToInt32(Object value)
在 FineUIPro.RenderField.DSVurKNBLhHEBGjRDehgsQmnHqGTA(GridRow )
在 (GridColumn , GridRow )
在 FineUIPro.GridRow.JKAqhrYRKGjUrputGryVTdIrcyJN()
在 (GridRow )
在 FineUIPro.Grid.JKAqhrYRKGjUrputGryVTdIrcyJN(Int32 , Object )
在 (Grid , Int32 , Object )
在 FineUIPro.Grid.AYqoKqSqsgZakIKkWuWxQURnixDO(IEnumerable , Boolean )
在 (Grid , IEnumerable , Boolean )
在 FineUIPro.Grid.DataBind(Boolean keepCurrentData)
在 (Grid , Boolean )
在 FineUIPro.Grid.DataBind()
在 FineUIPro.Web.BoSheng.BoPersonTrainRecord.GridBind() 位置 D:\数据\诺必达\五环\CNCEC_SUBQHSE_WUHUAN\SGGL\FineUIPro.Web\BoSheng\BoPersonTrainRecord.aspx.cs:行号 34
在 FineUIPro.Web.BoSheng.BoPersonTrainRecord.Page_Load(Object sender, EventArgs e) 位置 D:\数据\诺必达\五环\CNCEC_SUBQHSE_WUHUAN\SGGL\FineUIPro.Web\BoSheng\BoPersonTrainRecord.aspx.cs:行号 22
在 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
在 System.EventHandler.Invoke(Object sender, EventArgs e)
在 System.Web.UI.Control.OnLoad(EventArgs e)
在 System.Web.UI.Control.LoadRecursive()
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
出错时间:09/03/2024 15:54:41
出错文件:http://localhost:8579/BoSheng/BoPersonTrainRecord.aspx
IP地址:::1
操作人员:JT
出错时间:09/03/2024 15:54:41
错误信息开始=====>
错误类型:FormatException
错误信息:输入字符串的格式不正确。
错误堆栈:
在 System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
在 System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
在 System.String.System.IConvertible.ToInt32(IFormatProvider provider)
在 System.Convert.ToInt32(Object value)
在 FineUIPro.RenderField.DSVurKNBLhHEBGjRDehgsQmnHqGTA(GridRow )
在 (GridColumn , GridRow )
在 FineUIPro.GridRow.JKAqhrYRKGjUrputGryVTdIrcyJN()
在 (GridRow )
在 FineUIPro.Grid.JKAqhrYRKGjUrputGryVTdIrcyJN(Int32 , Object )
在 (Grid , Int32 , Object )
在 FineUIPro.Grid.AYqoKqSqsgZakIKkWuWxQURnixDO(IEnumerable , Boolean )
在 (Grid , IEnumerable , Boolean )
在 FineUIPro.Grid.DataBind(Boolean keepCurrentData)
在 (Grid , Boolean )
在 FineUIPro.Grid.DataBind()
在 FineUIPro.Web.BoSheng.BoPersonTrainRecord.GridBind() 位置 D:\数据\诺必达\五环\CNCEC_SUBQHSE_WUHUAN\SGGL\FineUIPro.Web\BoSheng\BoPersonTrainRecord.aspx.cs:行号 34
在 FineUIPro.Web.BoSheng.BoPersonTrainRecord.Page_Load(Object sender, EventArgs e) 位置 D:\数据\诺必达\五环\CNCEC_SUBQHSE_WUHUAN\SGGL\FineUIPro.Web\BoSheng\BoPersonTrainRecord.aspx.cs:行号 22
在 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
在 System.EventHandler.Invoke(Object sender, EventArgs e)
在 System.Web.UI.Control.OnLoad(EventArgs e)
在 System.Web.UI.Control.LoadRecursive()
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
出错时间:09/03/2024 15:55:36
出错文件:http://localhost:8579/BoSheng/BoPersonTrainRecord.aspx
IP地址:::1
操作人员:JT
出错时间:09/03/2024 15:55:36

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,134 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Model.AnBnag
{
public class PersonInput
{
/// <summary>
/// 主键id
/// </summary>
public string ID { get; set; }
/// <summary>
/// 项目id
/// </summary>
public string ProjectId { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime? CreateDate { get; set; }
/// <summary>
/// 创建人
/// </summary>
public string CreateUser { get; set; }
/// <summary>
/// 操作时间
/// </summary>
public DateTime? OperDate { get; set; }
/// <summary>
/// 操作人
/// </summary>
public string OperUser { get; set; }
/// <summary>
/// 姓名
/// </summary>
public string Name { get; set; }
/// <summary>
/// 性别 1 男 2 女
/// </summary>
public string Sex { get; set; }
/// <summary>
/// 出生日期
/// </summary>
public DateTime? BirthDay { get; set; }
/// <summary>
/// 地址
/// </summary>
public string Address { get; set; }
/// <summary>
/// 民族
/// </summary>
public string Nation { get; set; }
/// <summary>
/// 身份证号码
/// </summary>
public string IdentifyID { get; set; }
/// <summary>
/// 发证机关
/// </summary>
public string Police { get; set; }
/// <summary>
/// 有效期开始时间
/// </summary>
public string ValidPeriodStart { get; set; }
/// <summary>
/// 有效期结束时间
/// </summary>
public string ValidPeriodEnd { get; set; }
/// <summary>
/// 岗位
/// </summary>
public string Station { get; set; }
/// <summary>
/// 电话
/// </summary>
public string Telephone { get; set; }
/// <summary>
/// Age
/// </summary>
public int? Age { get; set; }
/// <summary>
/// 工号
/// </summary>
public string JobNumber { get; set; }
/// <summary>
/// 现住址
/// </summary>
public string NewAddress { get; set; }
/// <summary>
/// 登记时间
/// </summary>
public DateTime? RegisterDate { get; set; }
/// <summary>
/// 专业
/// </summary>
public string Category { get; set; }
/// <summary>
/// 专业等级
/// </summary>
public string CategoryLevel { get; set; }
/// <summary>
/// 入场时间
/// </summary>
public DateTime? EntranceDate { get; set; }
/// <summary>
/// 是否离场 1 离场 0 未离场
/// </summary>
public string IsOut { get; set; }
/// <summary>
/// 离场时间
/// </summary>
public DateTime? LeaveDate { get; set; }
/// <summary>
/// 是否黑名单 1 是 0 否
/// </summary>
public string IsBlackList { get; set; }
/// <summary>
/// 设备编号
/// </summary>
public string DeviceNumber { get; set; }
/// <summary>
/// 所在单位
/// </summary>
public string DepartName { get; set; }
/// <summary>
/// 上传时间
/// </summary>
public DateTime? UploadTime { get; set; }
}
}

View File

@ -0,0 +1,113 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Model.AnBang
{
public class PersonTrainRecordInput
{
/// <summary>
/// 主键id
/// </summary>
public string ID { get; set; }
/// <summary>
/// 项目id
/// </summary>
public string ProjectId { get; set; }
/// <summary>
/// 姓名
/// </summary>
public string EmpName { get; set; }
/// <summary>
/// 身份证号
/// </summary>
public string IdentifyId { get; set; }
/// <summary>
/// 工种
/// </summary>
public string CategoryName { get; set; }
/// <summary>
/// 所在单位
/// </summary>
public string DepartName { get; set; }
/// <summary>
/// 培训学时
/// </summary>
public string TrainPeriod { get; set; }
/// <summary>
/// 总分
/// </summary>
public decimal? TotalScore { get; set; }
/// <summary>
/// 及格分
/// </summary>
public decimal? PassScore { get; set; }
/// <summary>
/// 成绩
/// </summary>
public decimal? Score { get; set; }
/// <summary>
/// 是否通过 0否 1是
/// </summary>
public string IsPass { get; set; }
/// <summary>
/// 考试批次号
/// </summary>
public string GroupNo { get; set; }
/// <summary>
/// 试卷编号
/// </summary>
public string ExamNo { get; set; }
/// <summary>
/// 考试次数
/// </summary>
public string ExamCount { get; set; }
/// <summary>
/// 设备编号
/// </summary>
public string DeviceNo { get; set; }
/// <summary>
/// 答案
/// </summary>
public string Answers { get; set; }
/// <summary>
/// 培训记录名称
/// </summary>
public string RecordName { get; set; }
/// <summary>
/// 培训类型
/// </summary>
public string TrainType { get; set; }
/// <summary>
/// 出卷类型 0 使用原卷 1 重新出卷
/// </summary>
public string PaperMode { get; set; }
/// <summary>
/// 培训方式
/// </summary>
public string TrainMode { get; set; }
/// <summary>
/// 培训负责人
/// </summary>
public string TrainPrincipal { get; set; }
/// <summary>
/// 培训开始时间
/// </summary>
public DateTime? TrainStartDate { get; set; }
/// <summary>
/// 培训结束时间
/// </summary>
public DateTime? TrainEndDate { get; set; }
/// <summary>
/// 培训内容
/// </summary>
public string TrainContent { get; set; }
/// <summary>
/// 培训详细信息
/// </summary>
public string TrainDescript { get; set; }
}
}

View File

@ -0,0 +1,112 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Model.AnBnag
{
public class TrainInput
{
/// <summary>
/// 主键id
/// </summary>
public string ID { get; set; }
/// <summary>
/// 项目id
/// </summary>
public string ProjectId { get; set; }
/// <summary>
/// 名称
/// </summary>
public string RecordName { get; set; }
/// <summary>
/// 培训类型
/// </summary>
public string TrainType { get; set; }
/// <summary>
/// 出卷类型 0 使用原卷 1 重新出卷
/// </summary>
public string PaperMode { get; set; }
/// <summary>
/// 培训方式
/// </summary>
public string TrainMode { get; set; }
/// <summary>
/// 培训负责人
/// </summary>
public string TrainPrincipal { get; set; }
/// <summary>
/// 培训开始时间
/// </summary>
public DateTime? TrainStartDate { get; set; }
/// <summary>
/// 培训结束时间
/// </summary>
public DateTime? TrainEndDate { get; set; }
/// <summary>
/// 培训内容
/// </summary>
public string TrainContent { get; set; }
/// <summary>
/// 培训详细信息
/// </summary>
public string TrainDescript { get; set; }
/// <summary>
/// 培训学时
/// </summary>
public string TrainPeriod { get; set; }
/// <summary>
/// 人员数量
/// </summary>
public int PersonCount { get; set; }
/// <summary>
/// 合格人数
/// </summary>
public int PassedCount { get; set; }
/// <summary>
/// 课程数量
/// </summary>
public int CourseCount { get; set; }
/// <summary>
/// 课程总时长
/// </summary>
public string CourseDuration { get; set; }
/// <summary>
/// 来源 0 项目 1 课程
/// </summary>
public string Source { get; set; }
/// <summary>
/// 备注说明
/// </summary>
public string Description { get; set; }
/// <summary>
/// 工具箱编号
/// </summary>
public string DeviceNo { get; set; }
/// <summary>
/// 上传时间
/// </summary>
public DateTime? UploadTime { get; set; }
/// <summary>
/// 培训单位
/// </summary>
public string TrainDepart { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime? CreateDate { get; set; }
/// <summary>
/// 创建人
/// </summary>
public string CreateUser { get; set; }
/// <summary>
/// 操作时间
/// </summary>
public DateTime? OperDate { get; set; }
/// <summary>
/// 操作人
/// </summary>
public string OperUser { get; set; }
}
}

View File

@ -0,0 +1,109 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Model.AnBang
{
public class TrainPersonInput
{
/// <summary>
/// 主键
/// </summary>
public string ID { get; set; }
/// <summary>
/// 项目ID
/// </summary>
public string ProjectId { get; set; }
/// <summary>
/// 姓名
/// </summary>
public string EmpName { get; set; }
/// <summary>
/// 身份证号
/// </summary>
public string IdentifyId { get; set; }
/// <summary>
/// 岗位
/// </summary>
public string Station { get; set; }
/// <summary>
/// 工种
/// </summary>
public string CategoryName { get; set; }
/// <summary>
/// 所在单位
/// </summary>
public string DepartName { get; set; }
/// <summary>
/// 签到时间
/// </summary>
public DateTime? SignInDate { get; set; }
/// <summary>
/// 培训学时
/// </summary>
public string TrainPeriod { get; set; }
/// <summary>
/// 状态 0 正常 1 补签
/// </summary>
public string State { get; set; }
/// <summary>
/// 总分
/// </summary>
public decimal? TotalScore { get; set; }
/// <summary>
/// 及格分
/// </summary>
public decimal? PassScore { get; set; }
/// <summary>
/// 成绩
/// </summary>
public decimal? Score { get; set; }
/// <summary>
/// 是否合格 0 不合格 1 合格
/// </summary>
public string IsPass { get; set; }
/// <summary>
/// 考试批次号
/// </summary>
public string GroupNo { get; set; }
/// <summary>
/// 试卷编号
/// </summary>
public string ExamNo { get; set; }
/// <summary>
/// 考试次数
/// </summary>
public int? ExamCount { get; set; }
/// <summary>
/// 设备编号
/// </summary>
public string DeviceNo { get; set; }
/// <summary>
/// 上传时间
/// </summary>
public DateTime? UploadTime { get; set; }
/// <summary>
/// 答案
/// </summary>
public string Answers { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime? CreateDate { get; set; }
/// <summary>
/// 创建人
/// </summary>
public string CreateUser { get; set; }
/// <summary>
/// 操作时间
/// </summary>
public DateTime? OperDate { get; set; }
/// <summary>
/// 操作人
/// </summary>
public string OperUser { get; set; }
}
}

View File

@ -23,9 +23,18 @@ namespace Model
public string IsBuild { get; set; }
public string EMail { get; set; }
public string IsHide { get; set; }
public string IsBranch { get; set; }
public bool? IsBranch { get; set; }
public string ShortUnitName { get; set; }
public string DataSources { get; set; }
public string FromUnitId { get; set; }
public string IsChina { get; set; }
public string CollCropCode { get; set; }
public string LinkName { get; set; }
public string IdcardType { get; set; }
public string IdcardNumber { get; set; }
public string CollCropStatus { get; set; }
public string LinkMobile { get; set; }
public string ProjectId { get; set; }
}
}

View File

@ -27,10 +27,11 @@
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DefineConstants>TRACE;DEBUG;m</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
<DocumentationFile>bin\Debug\Model.xml</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@ -59,6 +60,10 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="APIItem\AnBang\PersonInput.cs" />
<Compile Include="APIItem\AnBang\PersonTrainRecordInput.cs" />
<Compile Include="APIItem\AnBang\TrainInput.cs" />
<Compile Include="APIItem\AnBang\TrainPersonInput.cs" />
<Compile Include="APIItem\ArchitectureReport.cs" />
<Compile Include="APIItem\ArchitectureReportItem.cs" />
<Compile Include="APIItem\BaseInfoItem.cs" />

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,280 @@
using System.Linq;
using System.Web.Http;
using WebActivatorEx;
using WebAPI;
using Swashbuckle.Application;
using System.Web.Http.Description;
using System;
[assembly: PreApplicationStartMethod(typeof(SwaggerConfig), "Register")]
namespace WebAPI
{
public class SwaggerConfig
{
public static void Register()
{
var thisAssembly = typeof(SwaggerConfig).Assembly;
GlobalConfiguration.Configuration
.EnableSwagger(c =>
{
// By default, the service root url is inferred from the request used to access the docs.
// However, there may be situations (e.g. proxy and load-balanced environments) where this does not
// resolve correctly. You can workaround this by providing your own code to determine the root URL.
//
//c.RootUrl(req => GetRootUrlFromAppConfig());
// If schemes are not explicitly provided in a Swagger 2.0 document, then the scheme used to access
// the docs is taken as the default. If your API supports multiple schemes and you want to be explicit
// about them, you can use the "Schemes" option as shown below.
//
//c.Schemes(new[] { "http", "https" });
// Use "SingleApiVersion" to describe a single version API. Swagger 2.0 includes an "Info" object to
// hold additional metadata for an API. Version and title are required but you can also provide
// additional fields by chaining methods off SingleApiVersion.
//
c.SingleApiVersion("v1", "WebAPI");
// If you want the output Swagger docs to be indented properly, enable the "PrettyPrint" option.
//
//c.PrettyPrint();
// If your API has multiple versions, use "MultipleApiVersions" instead of "SingleApiVersion".
// In this case, you must provide a lambda that tells Swashbuckle which actions should be
// included in the docs for a given API version. Like "SingleApiVersion", each call to "Version"
// returns an "Info" builder so you can provide additional metadata per API version.
//
//c.MultipleApiVersions(
// (apiDesc, targetApiVersion) => ResolveVersionSupportByRouteConstraint(apiDesc, targetApiVersion),
// (vc) =>
// {
// vc.Version("Cqms", "质量数据同步");
// vc.Version("Hsse", "安全数据同步");
// vc.Version("ProjectDataSync", "项目信息数据同步");
// vc.Version("v1", "Swashbuckle Dummy API V1");
// });
// You can use "BasicAuth", "ApiKey" or "OAuth2" options to describe security schemes for the API.
// See https://github.com/swagger-api/swagger-spec/blob/master/versions/2.0.md for more details.
// NOTE: These only define the schemes and need to be coupled with a corresponding "security" property
// at the document or operation level to indicate which schemes are required for an operation. To do this,
// you'll need to implement a custom IDocumentFilter and/or IOperationFilter to set these properties
// according to your specific authorization implementation
//
//c.BasicAuth("basic")
// .Description("Basic HTTP Authentication");
//
// NOTE: You must also configure 'EnableApiKeySupport' below in the SwaggerUI section
c.ApiKey("token")
.Description("API Key Authentication")
.Name("token")
.In("header");
//
//c.OAuth2("oauth2")
// .Description("OAuth2 Implicit Grant")
// .Flow("implicit")
// .AuthorizationUrl("http://petstore.swagger.wordnik.com/api/oauth/dialog")
// //.TokenUrl("https://tempuri.org/token")
// .Scopes(scopes =>
// {
// scopes.Add("read", "Read access to protected resources");
// scopes.Add("write", "Write access to protected resources");
// });
// Set this flag to omit descriptions for any actions decorated with the Obsolete attribute
//c.IgnoreObsoleteActions();
// Each operation be assigned one or more tags which are then used by consumers for various reasons.
// For example, the swagger-ui groups operations according to the first tag of each operation.
// By default, this will be controller name but you can use the "GroupActionsBy" option to
// override with any value.
//
//c.GroupActionsBy(apiDesc => apiDesc.HttpMethod.ToString());
// You can also specify a custom sort order for groups (as defined by "GroupActionsBy") to dictate
// the order in which operations are listed. For example, if the default grouping is in place
// (controller name) and you specify a descending alphabetic sort order, then actions from a
// ProductsController will be listed before those from a CustomersController. This is typically
// used to customize the order of groupings in the swagger-ui.
//
//c.OrderActionGroupsBy(new DescendingAlphabeticComparer());
// If you annotate Controllers and API Types with
// Xml comments (http://msdn.microsoft.com/en-us/library/b2s063f7(v=vs.110).aspx), you can incorporate
// those comments into the generated docs and UI. You can enable this by providing the path to one or
// more Xml comment files.
//
c.IncludeXmlComments(GetXmlCommentsPath("Model"));
c.IncludeXmlComments(GetXmlCommentsPath(thisAssembly.GetName().Name));
// Swashbuckle makes a best attempt at generating Swagger compliant JSON schemas for the various types
// exposed in your API. However, there may be occasions when more control of the output is needed.
// This is supported through the "MapType" and "SchemaFilter" options:
//
// Use the "MapType" option to override the Schema generation for a specific type.
// It should be noted that the resulting Schema will be placed "inline" for any applicable Operations.
// While Swagger 2.0 supports inline definitions for "all" Schema types, the swagger-ui tool does not.
// It expects "complex" Schemas to be defined separately and referenced. For this reason, you should only
// use the "MapType" option when the resulting Schema is a primitive or array type. If you need to alter a
// complex Schema, use a Schema filter.
//
//c.MapType<ProductType>(() => new Schema { type = "integer", format = "int32" });
// If you want to post-modify "complex" Schemas once they've been generated, across the board or for a
// specific type, you can wire up one or more Schema filters.
//
//c.SchemaFilter<ApplySchemaVendorExtensions>();
// In a Swagger 2.0 document, complex types are typically declared globally and referenced by unique
// Schema Id. By default, Swashbuckle does NOT use the full type name in Schema Ids. In most cases, this
// works well because it prevents the "implementation detail" of type namespaces from leaking into your
// Swagger docs and UI. However, if you have multiple types in your API with the same class name, you'll
// need to opt out of this behavior to avoid Schema Id conflicts.
//
c.UseFullTypeNameInSchemaIds();
// Alternatively, you can provide your own custom strategy for inferring SchemaId's for
// describing "complex" types in your API.
//
//c.SchemaId(t => t.FullName.Contains('`') ? t.FullName.Substring(0, t.FullName.IndexOf('`')) : t.FullName);
// Set this flag to omit schema property descriptions for any type properties decorated with the
// Obsolete attribute
//c.IgnoreObsoleteProperties();
// In accordance with the built in JsonSerializer, Swashbuckle will, by default, describe enums as integers.
// You can change the serializer behavior by configuring the StringToEnumConverter globally or for a given
// enum type. Swashbuckle will honor this change out-of-the-box. However, if you use a different
// approach to serialize enums as strings, you can also force Swashbuckle to describe them as strings.
//
//c.DescribeAllEnumsAsStrings();
// Similar to Schema filters, Swashbuckle also supports Operation and Document filters:
//
// Post-modify Operation descriptions once they've been generated by wiring up one or more
// Operation filters.
//
//c.OperationFilter<AddDefaultResponse>();
//
// If you've defined an OAuth2 flow as described above, you could use a custom filter
// to inspect some attribute on each action and infer which (if any) OAuth2 scopes are required
// to execute the operation
//
//c.OperationFilter<AssignOAuth2SecurityRequirements>();
// Post-modify the entire Swagger document by wiring up one or more Document filters.
// This gives full control to modify the final SwaggerDocument. You should have a good understanding of
// the Swagger 2.0 spec. - https://github.com/swagger-api/swagger-spec/blob/master/versions/2.0.md
// before using this option.
//
//c.DocumentFilter<ApplyDocumentVendorExtensions>();
// In contrast to WebApi, Swagger 2.0 does not include the query string component when mapping a URL
// to an action. As a result, Swashbuckle will raise an exception if it encounters multiple actions
// with the same path (sans query string) and HTTP method. You can workaround this by providing a
// custom strategy to pick a winner or merge the descriptions for the purposes of the Swagger docs
//
c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());
// Wrap the default SwaggerGenerator with additional behavior (e.g. caching) or provide an
// alternative implementation for ISwaggerProvider with the CustomProvider option.
//
//c.CustomProvider((defaultProvider) => new CachingSwaggerProvider(defaultProvider));
})
.EnableSwaggerUi(c =>
{
// Use the "DocumentTitle" option to change the Document title.
// Very helpful when you have multiple Swagger pages open, to tell them apart.
//
//c.DocumentTitle("My Swagger UI");
// Use the "InjectStylesheet" option to enrich the UI with one or more additional CSS stylesheets.
// The file must be included in your project as an "Embedded Resource", and then the resource's
// "Logical Name" is passed to the method as shown below.
//
//c.InjectStylesheet(containingAssembly, "Swashbuckle.Dummy.SwaggerExtensions.testStyles1.css");
// Use the "InjectJavaScript" option to invoke one or more custom JavaScripts after the swagger-ui
// has loaded. The file must be included in your project as an "Embedded Resource", and then the resource's
// "Logical Name" is passed to the method as shown above.
//
//c.InjectJavaScript(thisAssembly, "Swashbuckle.Dummy.SwaggerExtensions.testScript1.js");
// The swagger-ui renders boolean data types as a dropdown. By default, it provides "true" and "false"
// strings as the possible choices. You can use this option to change these to something else,
// for example 0 and 1.
//
//c.BooleanValues(new[] { "0", "1" });
// By default, swagger-ui will validate specs against swagger.io's online validator and display the result
// in a badge at the bottom of the page. Use these options to set a different validator URL or to disable the
// feature entirely.
//c.SetValidatorUrl("http://localhost/validator");
//c.DisableValidator();
// Use this option to control how the Operation listing is displayed.
// It can be set to "None" (default), "List" (shows operations for each resource),
// or "Full" (fully expanded: shows operations and their details).
//
//c.DocExpansion(DocExpansion.List);
// Specify which HTTP operations will have the 'Try it out!' option. An empty paramter list disables
// it for all operations.
//
//c.SupportedSubmitMethods("GET", "HEAD");
// Use the CustomAsset option to provide your own version of assets used in the swagger-ui.
// It's typically used to instruct Swashbuckle to return your version instead of the default
// when a request is made for "index.html". As with all custom content, the file must be included
// in your project as an "Embedded Resource", and then the resource's "Logical Name" is passed to
// the method as shown below.
//
//c.CustomAsset("index", containingAssembly, "YourWebApiProject.SwaggerExtensions.index.html");
// If your API has multiple versions and you've applied the MultipleApiVersions setting
// as described above, you can also enable a select box in the swagger-ui, that displays
// a discovery URL for each version. This provides a convenient way for users to browse documentation
// for different API versions.
//
c.EnableDiscoveryUrlSelector();
// If your API supports the OAuth2 Implicit flow, and you've described it correctly, according to
// the Swagger 2.0 specification, you can enable UI support as shown below.
//
//c.EnableOAuth2Support(
// clientId: "test-client-id",
// clientSecret: null,
// realm: "test-realm",
// appName: "Swagger UI"
// //additionalQueryStringParams: new Dictionary<string, string>() { { "foo", "bar" } }
//);
// If your API supports ApiKey, you can override the default values.
// "apiKeyIn" can either be "query" or "header"
//
//c.EnableApiKeySupport("token", "header");
});
}
/// <summary>
/// 返回特定版本下的接口
/// </summary>
/// <param name="apiDesc"></param>
/// <param name="targetApiVersion"></param>
/// <returns></returns>
private static bool ResolveVersionSupportByRouteConstraint(ApiDescription apiDesc, string targetApiVersion)
{
//var controllerFullName = apiDesc.ActionDescriptor.ControllerDescriptor.ControllerType.FullName;
//return controllerFullName.Split('.').Contains(targetApiVersion, StringComparer.OrdinalIgnoreCase);
var controllerFullName = apiDesc.ActionDescriptor.ControllerDescriptor.ControllerName;
return controllerFullName.Contains(targetApiVersion);
}
protected static string GetXmlCommentsPath(string name)
{
return System.String.Format(@"{0}\bin\{1}.xml", System.AppDomain.CurrentDomain.BaseDirectory, name);
}
}
}

View File

@ -0,0 +1,523 @@
using BLL;
using System;
using System.Linq;
using System.Web.Http;
using Model.AnBnag;
using Model.AnBang;
namespace WebAPI.Controllers
{
/// <summary>
/// AnBangTool
/// </summary>
public class AnBangToolController : ApiController
{
/// <summary>
/// 添加人员信息
/// </summary>
/// <param name="personInput"></param>
/// <returns></returns>
[HttpPost]
public Model.ResponeData AddPerson([FromBody] PersonInput personInput)
{
var responeData = new Model.ResponeData();
try
{
if (string.IsNullOrEmpty(personInput.ID))
{
responeData.code = 0;
responeData.message = "ID 不能为空";
return responeData;
}
if (string.IsNullOrEmpty(personInput.ProjectId))
{
responeData.code = 0;
responeData.message = "ProjectId 不能为空";
return responeData;
}
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var getPerson = db.Bo_Sheng_Person.FirstOrDefault(x => x.ID == personInput.ID);
if (getPerson == null)
{
Model.Bo_Sheng_Person table = new Model.Bo_Sheng_Person
{
ID = personInput.ID,
ProjectId = personInput.ProjectId,
CreateDate = personInput.CreateDate,
CreateUser = personInput.CreateUser,
OperDate = personInput.OperDate,
OperUser = personInput.OperUser,
Name = personInput.Name,
Sex = personInput.Sex,
BirthDay = personInput.BirthDay,
Address = personInput.Address,
Nation = personInput.Nation,
IdentifyID = personInput.IdentifyID,
Police = personInput.Police,
ValidPeriodStart = personInput.ValidPeriodStart,
ValidPeriodEnd = personInput.ValidPeriodEnd,
Telephone = personInput.Telephone,
Age = personInput.Age,
JobNumber = personInput.JobNumber,
NewAddress = personInput.NewAddress,
RegisterDate = personInput.RegisterDate,
Station = personInput.Station,
Category = personInput.Category,
CategoryLevel = personInput.CategoryLevel,
EntranceDate = personInput.EntranceDate,
IsOut = personInput.IsOut,
LeaveDate = personInput.LeaveDate,
IsBlackList = personInput.IsBlackList,
DeviceNumber = personInput.DeviceNumber,
DepartName = personInput.DepartName,
UploadTime = personInput.UploadTime
};
db.Bo_Sheng_Person.InsertOnSubmit(table);
db.SubmitChanges();
}
else
{
getPerson.ProjectId = personInput.ProjectId;
getPerson.CreateDate = personInput.CreateDate;
getPerson.CreateUser = personInput.CreateUser;
getPerson.OperDate = personInput.OperDate;
getPerson.OperUser = personInput.OperUser;
getPerson.Name = personInput.Name;
getPerson.Sex = personInput.Sex;
getPerson.BirthDay = personInput.BirthDay;
getPerson.Address = personInput.Address;
getPerson.Nation = personInput.Nation;
getPerson.IdentifyID = personInput.IdentifyID;
getPerson.Police = personInput.Police;
getPerson.ValidPeriodStart = personInput.ValidPeriodStart;
getPerson.ValidPeriodEnd = personInput.ValidPeriodEnd;
getPerson.Telephone = personInput.Telephone;
getPerson.Age = personInput.Age;
getPerson.JobNumber = personInput.JobNumber;
getPerson.NewAddress = personInput.NewAddress;
getPerson.RegisterDate = personInput.RegisterDate;
getPerson.Station = personInput.Station;
getPerson.Category = personInput.Category;
getPerson.CategoryLevel = personInput.CategoryLevel;
getPerson.EntranceDate = personInput.EntranceDate;
getPerson.IsOut = personInput.IsOut;
getPerson.LeaveDate = personInput.LeaveDate;
getPerson.IsBlackList = personInput.IsBlackList;
getPerson.DeviceNumber = personInput.DeviceNumber;
getPerson.DepartName = personInput.DepartName;
getPerson.UploadTime = personInput.UploadTime;
db.SubmitChanges();
}
}
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.ToString();
}
return responeData;
}
/// <summary>
/// 删除人员信息
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet]
public Model.ResponeData DelPerson(string id)
{
var responeData = new Model.ResponeData();
try
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var getPerson = db.Bo_Sheng_Person.FirstOrDefault(x => x.ID == id);
if (getPerson != null)
{
db.Bo_Sheng_Person.DeleteOnSubmit(getPerson);
db.SubmitChanges();
}
}
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.ToString();
}
return responeData;
}
/// <summary>
/// 添加培训记录
/// </summary>
/// <param name="trainInput"></param>
/// <returns></returns>
[HttpPost]
public Model.ResponeData AddTrain([FromBody] TrainInput trainInput)
{
var responeData = new Model.ResponeData();
try
{
if (string.IsNullOrEmpty(trainInput.ID))
{
responeData.code = 0;
responeData.message = "ID 不能为空";
return responeData;
}
if (string.IsNullOrEmpty(trainInput.ProjectId))
{
responeData.code = 0;
responeData.message = "ProjectId 不能为空";
return responeData;
}
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var getTrain = db.Bo_Sheng_Train.FirstOrDefault(x => x.ID == trainInput.ID);
if (getTrain == null)
{
Model.Bo_Sheng_Train table = new Model.Bo_Sheng_Train
{
ID = trainInput.ID,
ProjectId = trainInput.ProjectId,
RecordName = trainInput.RecordName,
TrainType = trainInput.TrainType,
PaperMode = trainInput.PaperMode,
TrainMode = trainInput.TrainMode,
TrainPrincipal = trainInput.TrainPrincipal,
TrainStartDate = trainInput.TrainStartDate,
TrainEndDate = trainInput.TrainEndDate,
TrainContent = trainInput.TrainContent,
TrainDescript = trainInput.TrainDescript,
TrainPeriod = trainInput.TrainPeriod,
PersonCount = trainInput.PersonCount,
PassedCount = trainInput.PassedCount,
CourseCount = trainInput.CourseCount,
CourseDuration = trainInput.CourseDuration,
Source = trainInput.Source,
Description = trainInput.Description,
DeviceNo = trainInput.DeviceNo,
UploadTime = trainInput.UploadTime,
TrainDepart = trainInput.TrainDepart,
CreateDate = trainInput.CreateDate,
CreateUser = trainInput.CreateUser,
OperDate = trainInput.OperDate,
OperUser = trainInput.OperUser,
};
db.Bo_Sheng_Train.InsertOnSubmit(table);
db.SubmitChanges();
}
else
{
getTrain.ProjectId = trainInput.ProjectId;
getTrain.RecordName = trainInput.RecordName;
getTrain.TrainType = trainInput.TrainType;
getTrain.PaperMode = trainInput.PaperMode;
getTrain.TrainMode = trainInput.TrainMode;
getTrain.TrainPrincipal = trainInput.TrainPrincipal;
getTrain.TrainStartDate = trainInput.TrainStartDate;
getTrain.TrainEndDate = trainInput.TrainEndDate;
getTrain.TrainContent = trainInput.TrainContent;
getTrain.TrainDescript = trainInput.TrainDescript;
getTrain.TrainPeriod = trainInput.TrainPeriod;
getTrain.PersonCount = trainInput.PersonCount;
getTrain.PassedCount = trainInput.PassedCount;
getTrain.CourseCount = trainInput.CourseCount;
getTrain.CourseDuration = trainInput.CourseDuration;
getTrain.Source = trainInput.Source;
getTrain.Description = trainInput.Description;
getTrain.DeviceNo = trainInput.DeviceNo;
getTrain.UploadTime = trainInput.UploadTime;
getTrain.TrainDepart = trainInput.TrainDepart;
getTrain.CreateDate = trainInput.CreateDate;
getTrain.CreateUser = trainInput.CreateUser;
getTrain.OperDate = trainInput.OperDate;
getTrain.OperUser = trainInput.OperUser;
db.SubmitChanges();
}
}
}
catch (Exception ex)
{
responeData.code=0;
responeData.message= ex.ToString();
}
return responeData;
}
/// <summary>
/// 删除培训记录
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet]
public Model.ResponeData DelTrain(string id)
{
var responeData = new Model.ResponeData();
try
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var getTrain = db.Bo_Sheng_Train.FirstOrDefault(x => x.ID == id);
if (getTrain != null)
{
db.Bo_Sheng_Train.DeleteOnSubmit(getTrain);
db.SubmitChanges();
}
}
}
catch (Exception)
{
throw;
}
return responeData;
}
/// <summary>
/// 添加培训人员信息
/// </summary>
/// <param name="trainPersonInput"></param>
/// <returns></returns>
[HttpPost]
public Model.ResponeData AddTrainPerson([FromBody] TrainPersonInput trainPersonInput)
{
var responeData = new Model.ResponeData();
try
{
if (string.IsNullOrEmpty(trainPersonInput.ID))
{
responeData.code = 0;
responeData.message = "ID 不能为空";
return responeData;
}
if (string.IsNullOrEmpty(trainPersonInput.ProjectId))
{
responeData.code = 0;
responeData.message = "ProjectId 不能为空";
return responeData;
}
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var getTrainPerson = db.Bo_Sheng_TrainPerson.FirstOrDefault(x => x.ID == trainPersonInput.ID);
if (getTrainPerson == null)
{
Model.Bo_Sheng_TrainPerson table = new Model.Bo_Sheng_TrainPerson
{
ID = trainPersonInput.ID,
ProjectId = trainPersonInput.ProjectId,
EmpName = trainPersonInput.EmpName,
IdentifyId = trainPersonInput.IdentifyId,
Station = trainPersonInput.Station,
CategoryName = trainPersonInput.CategoryName,
DepartName = trainPersonInput.DepartName,
SignInDate = trainPersonInput.SignInDate,
TrainPeriod = trainPersonInput.TrainPeriod,
State = trainPersonInput.State,
TotalScore = trainPersonInput.TotalScore,
PassScore = trainPersonInput.PassScore,
Score = trainPersonInput.Score,
IsPass = trainPersonInput.IsPass,
GroupNo = trainPersonInput.GroupNo,
ExamNo = trainPersonInput.ExamNo,
ExamCount = trainPersonInput.ExamCount,
DeviceNo = trainPersonInput.DeviceNo,
UploadTime = trainPersonInput.UploadTime,
Answers = trainPersonInput.Answers,
CreateDate = trainPersonInput.CreateDate,
CreateUser = trainPersonInput.CreateUser,
OperDate = trainPersonInput.OperDate,
OperUser = trainPersonInput.OperUser
};
db.Bo_Sheng_TrainPerson.InsertOnSubmit(table);
db.SubmitChanges();
}
else
{
getTrainPerson.ProjectId = trainPersonInput.ProjectId;
getTrainPerson.EmpName = trainPersonInput.EmpName;
getTrainPerson.IdentifyId = trainPersonInput.IdentifyId;
getTrainPerson.Station = trainPersonInput.Station;
getTrainPerson.CategoryName = trainPersonInput.CategoryName;
getTrainPerson.DepartName = trainPersonInput.DepartName;
getTrainPerson.SignInDate = trainPersonInput.SignInDate;
getTrainPerson.TrainPeriod = trainPersonInput.TrainPeriod;
getTrainPerson.State = trainPersonInput.State;
getTrainPerson.TotalScore = trainPersonInput.TotalScore;
getTrainPerson.PassScore = trainPersonInput.PassScore;
getTrainPerson.Score = trainPersonInput.Score;
getTrainPerson.IsPass = trainPersonInput.IsPass;
getTrainPerson.GroupNo = trainPersonInput.GroupNo;
getTrainPerson.ExamNo = trainPersonInput.ExamNo;
getTrainPerson.ExamCount = trainPersonInput.ExamCount;
getTrainPerson.DeviceNo = trainPersonInput.DeviceNo;
getTrainPerson.UploadTime = trainPersonInput.UploadTime;
getTrainPerson.Answers = trainPersonInput.Answers;
getTrainPerson.CreateDate = trainPersonInput.CreateDate;
getTrainPerson.CreateUser = trainPersonInput.CreateUser;
getTrainPerson.OperDate = trainPersonInput.OperDate;
getTrainPerson.OperUser = trainPersonInput.OperUser;
db.SubmitChanges();
}
}
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.ToString();
}
return responeData;
}
/// <summary>
/// 删除培训人员信息
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet]
public Model.ResponeData DelTrainPerson(string id)
{
var responeData = new Model.ResponeData();
try
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var getTrainPerson = db.Bo_Sheng_TrainPerson.FirstOrDefault(x => x.ID == id);
if (getTrainPerson != null)
{
db.Bo_Sheng_TrainPerson.DeleteOnSubmit(getTrainPerson);
db.SubmitChanges();
}
}
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.ToString();
}
return responeData;
}
/// <summary>
/// 添加人员培训记录
/// </summary>
/// <param name="personTrainRecordInput"></param>
/// <returns></returns>
[HttpPost]
public Model.ResponeData AddTrainPersonRecord([FromBody] PersonTrainRecordInput personTrainRecordInput)
{
var responeData = new Model.ResponeData();
try
{
if (string.IsNullOrEmpty(personTrainRecordInput.ID))
{
responeData.code = 0;
responeData.message = "ID 不能为空";
return responeData;
}
if (string.IsNullOrEmpty(personTrainRecordInput.ProjectId))
{
responeData.code = 0;
responeData.message = "ProjectId 不能为空";
return responeData;
}
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var getPersonTrainRecord = db.Bo_Sheng_PersonTrainRecord.FirstOrDefault(x => x.ID == personTrainRecordInput.ID);
if (getPersonTrainRecord == null)
{
Model.Bo_Sheng_PersonTrainRecord table = new Model.Bo_Sheng_PersonTrainRecord
{
ID = personTrainRecordInput.ID,
ProjectId = personTrainRecordInput.ProjectId,
EmpName = personTrainRecordInput.EmpName,
IdentifyId = personTrainRecordInput.IdentifyId,
CategoryName = personTrainRecordInput.CategoryName,
DepartName = personTrainRecordInput.DepartName,
TrainPeriod = personTrainRecordInput.TrainPeriod,
TotalScore = personTrainRecordInput.TotalScore,
PassScore = personTrainRecordInput.PassScore,
Score = personTrainRecordInput.Score,
IsPass = personTrainRecordInput.IsPass,
GroupNo = personTrainRecordInput.GroupNo,
ExamNo = personTrainRecordInput.ExamNo,
ExamCount = personTrainRecordInput.ExamCount,
DeviceNo = personTrainRecordInput.DeviceNo,
Answers = personTrainRecordInput.Answers,
RecordName = personTrainRecordInput.RecordName,
TrainType = personTrainRecordInput.TrainType,
PaperMode = personTrainRecordInput.PaperMode,
TrainMode = personTrainRecordInput.TrainMode,
TrainPrincipal = personTrainRecordInput.TrainPrincipal,
TrainStartDate = personTrainRecordInput.TrainStartDate,
TrainEndDate = personTrainRecordInput.TrainEndDate,
TrainContent = personTrainRecordInput.TrainContent,
TrainDescript = personTrainRecordInput.TrainDescript,
};
db.Bo_Sheng_PersonTrainRecord.InsertOnSubmit(table);
db.SubmitChanges();
}
else
{
getPersonTrainRecord.ProjectId = personTrainRecordInput.ProjectId;
getPersonTrainRecord.EmpName = personTrainRecordInput.EmpName;
getPersonTrainRecord.IdentifyId = personTrainRecordInput.IdentifyId;
getPersonTrainRecord.CategoryName = personTrainRecordInput.CategoryName;
getPersonTrainRecord.DepartName = personTrainRecordInput.DepartName;
getPersonTrainRecord.TrainPeriod = personTrainRecordInput.TrainPeriod;
getPersonTrainRecord.TotalScore = personTrainRecordInput.TotalScore;
getPersonTrainRecord.PassScore = personTrainRecordInput.PassScore;
getPersonTrainRecord.Score = personTrainRecordInput.Score;
getPersonTrainRecord.IsPass = personTrainRecordInput.IsPass;
getPersonTrainRecord.GroupNo = personTrainRecordInput.GroupNo;
getPersonTrainRecord.ExamNo = personTrainRecordInput.ExamNo;
getPersonTrainRecord.ExamCount = personTrainRecordInput.ExamCount;
getPersonTrainRecord.DeviceNo = personTrainRecordInput.DeviceNo;
getPersonTrainRecord.Answers = personTrainRecordInput.Answers;
getPersonTrainRecord.RecordName = personTrainRecordInput.RecordName;
getPersonTrainRecord.TrainType = personTrainRecordInput.TrainType;
getPersonTrainRecord.PaperMode = personTrainRecordInput.PaperMode;
getPersonTrainRecord.TrainMode = personTrainRecordInput.TrainMode;
getPersonTrainRecord.TrainPrincipal = personTrainRecordInput.TrainPrincipal;
getPersonTrainRecord.TrainStartDate = personTrainRecordInput.TrainStartDate;
getPersonTrainRecord.TrainEndDate = personTrainRecordInput.TrainEndDate;
getPersonTrainRecord.TrainContent = personTrainRecordInput.TrainContent;
getPersonTrainRecord.TrainDescript = personTrainRecordInput.TrainDescript;
db.SubmitChanges();
}
}
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.ToString();
}
return responeData;
}
/// <summary>
/// 删除人员培训记录
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet]
public Model.ResponeData DelTrainPersonRecord(string id)
{
var responeData = new Model.ResponeData();
try
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var getPersonTrainRecord = db.Bo_Sheng_PersonTrainRecord.FirstOrDefault(x => x.ID == id);
if (getPersonTrainRecord != null)
{
db.Bo_Sheng_PersonTrainRecord.DeleteOnSubmit(getPersonTrainRecord);
db.SubmitChanges();
}
}
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.ToString();
}
return responeData;
}
}
}

View File

@ -238,5 +238,90 @@ namespace WebAPI.Controllers
return responeData;
}
#endregion
[HttpPost]
public Model.ResponeData AddUnit([FromBody] Model.UnitItem unit)
{
var responeData = new Model.ResponeData();
try
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
Model.Base_Unit newUnit = db.Base_Unit.FirstOrDefault(x => x.CollCropCode == unit.CollCropCode);
if (newUnit == null)
{
newUnit = new Model.Base_Unit
{
UnitId = SQLHelper.GetNewID(typeof(Model.Base_Unit))
};
db.Base_Unit.InsertOnSubmit(newUnit);
newUnit.UnitCode = unit.UnitCode;//代码
newUnit.UnitName = unit.UnitName;//名称
newUnit.Corporate = unit.Corporate;//法人代表
newUnit.Address = unit.Address;//地址
newUnit.Telephone = unit.Telephone;//电话
newUnit.ShortUnitName = unit.ShortUnitName;//单位简称
newUnit.Fax = unit.Fax;//传真
newUnit.EMail = unit.EMail;//邮箱
newUnit.IsBranch = unit.IsBranch;//是否分公司
newUnit.ProjectRange = unit.ProjectRange;//工程范围
newUnit.IsChina = unit.IsChina;//是否中国企业
newUnit.CollCropCode = unit.CollCropCode;//社会统一信用代码
newUnit.LinkName = unit.LinkName;//联系人姓名
if (!string.IsNullOrEmpty(unit.IdcardType))
{
var basicData = db.RealName_BasicData.FirstOrDefault(x => x.DictTypeCode == "ZHENGJIAN_TYPE" && x.DictName == unit.IdcardType);
if (basicData != null)
{
newUnit.IdcardType = basicData.DictCode;//联系人证件类型 (香港永久性身份证 军官证 其他 警官证 台湾居民身份证 身份证 护照)
}
}
newUnit.IdcardNumber = unit.IdcardNumber;//联系人证件号
newUnit.LinkMobile = unit.LinkMobile;//联系人电话
newUnit.CollCropStatus = unit.CollCropStatus;//是否黑名单企业
db.SubmitChanges();
}
if (!string.IsNullOrEmpty(unit.ProjectId))
{
Model.Project_ProjectUnit projectUnit = Funs.DB.Project_ProjectUnit.FirstOrDefault(x => x.UnitId == newUnit.UnitId && x.ProjectId == unit.ProjectId);
if (projectUnit == null)
{
projectUnit = new Model.Project_ProjectUnit();
projectUnit.ProjectUnitId = SQLHelper.GetNewID(typeof(Model.Base_Unit));
db.Project_ProjectUnit.InsertOnSubmit(projectUnit);
projectUnit.ProjectId = unit.ProjectId;
projectUnit.UnitId = newUnit.UnitId;
projectUnit.InTime = DateTime.Now;
if (!string.IsNullOrEmpty(unit.UnitTypeId))
{
var unitTypeList = (from x in Funs.DB.Sys_Const
where x.GroupId == ConstValue.Group_ProjectUnitType
orderby x.SortIndex
select x).ToList();
var unitType = unitTypeList.FirstOrDefault(x => x.ConstText == unit.UnitTypeId);
if (unitType != null)
{
projectUnit.UnitType = unitType.ConstValue;// 单位类型(监理 施工分包 安装 其他 业主 检测单位 其他 总包)
}
}
//projectUnit.UnitType = newUnit.UnitTypeId;
db.SubmitChanges();
}
}
responeData.data = newUnit.UnitId;
}
}
catch (Exception ex) { }
return responeData;
}
}
}

View File

@ -1,41 +1,41 @@
<?xml version="1.0"?>
<?xml version="1.0" encoding="utf-8"?>
<!--
有关如何配置 ASP.NET 应用程序的详细信息,请访问
https://go.microsoft.com/fwlink/?LinkId=301879
-->
<configuration>
<appSettings>
<add key="webpages:Version" value="3.0.0.0"/>
<add key="webpages:Enabled" value="false"/>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<!--连接字符串-->
<add key="ConnectionString" value="Server=.;Database=SGGLDB_WH;Integrated Security=False;User ID=sa;Password=1111;MultipleActiveResultSets=true;Connect Timeout=1200"/>
<add key="ConnectionString" value="Server=.;Database=SGGLDB_WH;Integrated Security=False;User ID=sa;Password=1111;MultipleActiveResultSets=true;Connect Timeout=1200" />
<!--版本号-->
<add key="SystemVersion" value="WebApi_V2019-08-27-001"/>
<add key="SystemVersion" value="WebApi_V2019-08-27-001" />
<!--附件上传物理路径-->
<add key="localRoot" value="D:\WuHuan\SGGL\SGGL\FineUIPro.Web\"/>
<add key="localRoot" value="D:\WuHuan\SGGL\SGGL\FineUIPro.Web\" />
<!--每页数量-->
<add key="PageSize" value="15"/>
<add key="PageSize" value="15" />
<!--BAIDU AI配置-->
<add key="APP_ID" value="23518716"/>
<add key="API_KEY" value="9UGmBxS0TOIDGM5adGrOcBnr"/>
<add key="SECRET_KEY" value="6yq7q5PTTGfocWDmSN7hjxuiixsfURe1"/>
<add key="APP_ID" value="23518716" />
<add key="API_KEY" value="9UGmBxS0TOIDGM5adGrOcBnr" />
<add key="SECRET_KEY" value="6yq7q5PTTGfocWDmSN7hjxuiixsfURe1" />
<!--视频服务器-->
<add key="Video_URL" value="http://47.104.102.122:10000/"/>
<add key="Video_URL" value="http://47.104.102.122:10000/" />
<!--人脸检测参数-->
<!--人脸活体检测参数1最好0最差 建议0.995 -->
<add key="BD_face_liveness" value="0.3"/>
<add key="BD_face_liveness" value="0.3" />
<!--人脸高宽建议100-200-->
<!--<add key="BD_width" value="200" />-->
<!--<add key="BD_height" value="200" />-->
<!--人脸角度-->
<add key="BD_roll" value="60"/>
<add key="BD_roll" value="60" />
<!--人脸遮档度0最好1最不好-->
<add key="BD_occlusion" value="1"/>
<add key="BD_occlusion" value="1" />
<!--人脸模糊度0最好1最不好-->
<add key="BD_blur" value="0.1"/>
<add key="CEMS_IMG_URL" value="https://zhgd.cwcec.com/"/>
<add key="BD_blur" value="0.1" />
<add key="CEMS_IMG_URL" value="https://zhgd.cwcec.com/" />
</appSettings>
<!--
有关 web.config 更改的说明,请参见 http://go.microsoft.com/fwlink/?LinkId=235367。
@ -46,78 +46,78 @@
</system.Web>
-->
<system.web>
<compilation debug="true" targetFramework="4.6.1"/>
<httpRuntime/>
<pages controlRenderingCompatibilityVersion="4.0"/>
<compilation debug="true" targetFramework="4.6.1" />
<httpRuntime />
<pages controlRenderingCompatibilityVersion="4.0" />
</system.web>
<system.webServer>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0"/>
<remove name="OPTIONSVerbHandler"/>
<remove name="TRACEVerbHandler"/>
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
<!-- 跨域访问必须添加 -->
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*"/>
<add name="Access-Control-Allow-Headers" value="Content-Type"/>
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS"/>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
</customHeaders>
</httpProtocol>
</system.webServer>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f"/>
<bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2"/>
<assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" />
<bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed"/>
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0"/>
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0"/>
<assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930"/>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-5.2.4.0" newVersion="5.2.4.0"/>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-5.2.4.0" newVersion="5.2.4.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0"/>
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0"/>
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.1" newVersion="4.0.1.1"/>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.1" newVersion="4.0.1.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Configuration.ConfigurationManager" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-6.0.0.1" newVersion="6.0.0.1"/>
<assemblyIdentity name="System.Configuration.ConfigurationManager" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.1" newVersion="6.0.0.1" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701"/>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"/>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701" />
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
</compilers>
</system.codedom>
</configuration>

View File

@ -57,6 +57,9 @@
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="Swashbuckle.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cd1bb07a5ac7c7bc, processorArchitecture=MSIL">
<HintPath>..\packages\Swashbuckle.Core.5.6.0\lib\net40\Swashbuckle.Core.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Data.DataSetExtensions" />
@ -124,6 +127,9 @@
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.4\lib\net45\System.Web.WebPages.Razor.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq" />
<Reference Include="WebActivatorEx, Version=2.0.0.0, Culture=neutral, PublicKeyToken=7b26dc2a43f6a0d4, processorArchitecture=MSIL">
<HintPath>..\packages\WebActivatorEx.2.0\lib\net40\WebActivatorEx.dll</HintPath>
</Reference>
<Reference Include="WebGrease">
<Private>True</Private>
<HintPath>..\packages\WebGrease.1.6.0\lib\WebGrease.dll</HintPath>
@ -142,7 +148,9 @@
<Compile Include="App_Start\BundleConfig.cs" />
<Compile Include="App_Start\FilterConfig.cs" />
<Compile Include="App_Start\RouteConfig.cs" />
<Compile Include="App_Start\SwaggerConfig.cs" />
<Compile Include="App_Start\WebApiConfig.cs" />
<Compile Include="Controllers\AnBangToolController.cs" />
<Compile Include="Controllers\BaseInfoController.cs" />
<Compile Include="Controllers\CommonController.cs" />
<Compile Include="Controllers\CQMS\InspectionManagementController.cs" />

View File

@ -10,8 +10,8 @@
<IISExpressUseClassicPipelineMode />
<UseGlobalApplicationHostFile />
<NameOfLastUsedPublishProfile>FolderProfile</NameOfLastUsedPublishProfile>
<Controller_SelectedScaffolderID>ApiControllerEmptyScaffolder</Controller_SelectedScaffolderID>
<Controller_SelectedScaffolderCategoryPath>root/Controller</Controller_SelectedScaffolderCategoryPath>
<Controller_SelectedScaffolderID>MvcControllerEmptyScaffolder</Controller_SelectedScaffolderID>
<Controller_SelectedScaffolderCategoryPath>root/Common/MVC/Controller</Controller_SelectedScaffolderCategoryPath>
<WebStackScaffolding_ControllerDialogWidth>600</WebStackScaffolding_ControllerDialogWidth>
<WebStackScaffolding_IsLayoutPageSelected>True</WebStackScaffolding_IsLayoutPageSelected>
<WebStackScaffolding_IsPartialViewSelected>False</WebStackScaffolding_IsPartialViewSelected>

View File

@ -25,5 +25,8 @@
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net461" />
<package id="Modernizr" version="2.8.3" targetFramework="net461" />
<package id="Newtonsoft.Json" version="12.0.1" targetFramework="net461" />
<package id="Swashbuckle" version="5.6.0" targetFramework="net461" />
<package id="Swashbuckle.Core" version="5.6.0" targetFramework="net461" />
<package id="WebActivatorEx" version="2.0" targetFramework="net461" />
<package id="WebGrease" version="1.6.0" targetFramework="net461" />
</packages>