提交 ef55ce0d authored 作者: 曾传波's avatar 曾传波

西部和人力

上级

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.32228.343
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LQKJ.K3.MES.BusinessPlugIn", "LQKJ.K3.MES.BusinessPlugIn\LQKJ.K3.MES.BusinessPlugIn.csproj", "{34D88B5F-6108-4CF9-85C3-6699F7B360B5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LQKJ.WebApi.Stub", "LQKJ.WebApi.Stub\LQKJ.WebApi.Stub.csproj", "{6EA92A22-FAB9-4ACC-AC0E-D76EFA9BC67F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LQKJ.K3.MES.ServicePlugIn", "LQKJ.K3.MES.ServicePlugIn\LQKJ.K3.MES.ServicePlugIn.csproj", "{0C8F423A-F51F-447A-85DB-675E868DE9B3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LQKJ.WebApi.Core", "LQKJ.WebApi.Core\LQKJ.WebApi.Core.csproj", "{12F04219-2B2C-4984-98D1-31418FA08E9C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LQKJ.K3.PeiXunSystem.WebApi", "LQKJ.K3.PeiXunSystem.WebApi\LQKJ.K3.PeiXunSystem.WebApi.csproj", "{467AF45D-B664-4F40-82D4-C7333EB0B054}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LQKJ.K3.FileSystem.WebApi", "LQKJ.K3.FileSystem.WebApi\LQKJ.K3.FileSystem.WebApi.csproj", "{5ED42E4E-D7F6-4B6A-B791-272564793E3A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{34D88B5F-6108-4CF9-85C3-6699F7B360B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{34D88B5F-6108-4CF9-85C3-6699F7B360B5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{34D88B5F-6108-4CF9-85C3-6699F7B360B5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{34D88B5F-6108-4CF9-85C3-6699F7B360B5}.Release|Any CPU.Build.0 = Release|Any CPU
{6EA92A22-FAB9-4ACC-AC0E-D76EFA9BC67F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6EA92A22-FAB9-4ACC-AC0E-D76EFA9BC67F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6EA92A22-FAB9-4ACC-AC0E-D76EFA9BC67F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6EA92A22-FAB9-4ACC-AC0E-D76EFA9BC67F}.Release|Any CPU.Build.0 = Release|Any CPU
{0C8F423A-F51F-447A-85DB-675E868DE9B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0C8F423A-F51F-447A-85DB-675E868DE9B3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0C8F423A-F51F-447A-85DB-675E868DE9B3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0C8F423A-F51F-447A-85DB-675E868DE9B3}.Release|Any CPU.Build.0 = Release|Any CPU
{12F04219-2B2C-4984-98D1-31418FA08E9C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{12F04219-2B2C-4984-98D1-31418FA08E9C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{12F04219-2B2C-4984-98D1-31418FA08E9C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{12F04219-2B2C-4984-98D1-31418FA08E9C}.Release|Any CPU.Build.0 = Release|Any CPU
{467AF45D-B664-4F40-82D4-C7333EB0B054}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{467AF45D-B664-4F40-82D4-C7333EB0B054}.Debug|Any CPU.Build.0 = Debug|Any CPU
{467AF45D-B664-4F40-82D4-C7333EB0B054}.Release|Any CPU.ActiveCfg = Release|Any CPU
{467AF45D-B664-4F40-82D4-C7333EB0B054}.Release|Any CPU.Build.0 = Release|Any CPU
{5ED42E4E-D7F6-4B6A-B791-272564793E3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5ED42E4E-D7F6-4B6A-B791-272564793E3A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5ED42E4E-D7F6-4B6A-B791-272564793E3A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5ED42E4E-D7F6-4B6A-B791-272564793E3A}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {F24A7842-4921-467C-BDC0-A2647406D855}
EndGlobalSection
EndGlobal
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LQKJ.K3.FileSystem.WebApi
{
public class ApiResult
{
public int code { get; set; }
public string msg { get; set; }
public dynamic data { get; set; }
public bool success { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LQKJ.K3.FileSystem.WebApi
{
public static class ApiResultHelper
{
//成功返回结果
public static ApiResult Success(dynamic data,string msg)
{
ApiResult result = new ApiResult
{
code = 200,
data = data,
msg = msg,
success = true
};
return result;
}
//失败返回结果
public static ApiResult Error(string msg)
{
ApiResult result = new ApiResult
{
code = 500,
msg = msg,
success = false
};
return result;
}
public static ApiResult Error400(string msg)
{
ApiResult result = new ApiResult
{
code = 400,
msg = msg,
success = false
};
return result;
}
public static ApiResult Error402(string msg)
{
ApiResult result = new ApiResult
{
code = 402,
msg = msg,
success = false
};
return result;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LQKJ.K3.FileSystem.WebApi
{
public class DateModel
{
public int FID { get; set; }
//public string FTYPE { get; set; }
//public string Date { get; set; }
public string time { get; set; }
public decimal FREMAINDERNUMBER { get; set; }
public int type { get; set; }
public string WeekdayName { get; set; }
}
}
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{5ED42E4E-D7F6-4B6A-B791-272564793E3A}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>LQKJ.K3.FileSystem.WebApi</RootNamespace>
<AssemblyName>LQKJ.K3.FileSystem.WebApi</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>D:\西部培训\WebSite\bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Kingdee.BOS, Version=8.1.620.16, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\WebSite\bin\Kingdee.BOS.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.App">
<HintPath>D:\西部培训\WebSite\bin\Kingdee.BOS.App.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.ServiceFacade.KDServiceFx, Version=8.1.620.16, Culture=neutral, PublicKeyToken=null" />
<Reference Include="Kingdee.BOS.WebApi.Client, Version=8.1.620.16, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\WebSite\bin\Kingdee.BOS.WebApi.Client.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.WebApi.ServicesStub">
<HintPath>D:\西部培训\WebSite\bin\Kingdee.BOS.WebApi.ServicesStub.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\WebSite\bin\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="NPOI, Version=2.4.1.1, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\WebSite\bin\NPOI.dll</HintPath>
</Reference>
<Reference Include="NPOI.OOXML, Version=2.4.1.1, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\WebSite\bin\NPOI.OOXML.dll</HintPath>
</Reference>
<Reference Include="NPOI.OpenXml4Net, Version=2.4.1.1, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\WebSite\bin\NPOI.OpenXml4Net.dll</HintPath>
</Reference>
<Reference Include="NPOI.OpenXmlFormats, Version=2.4.1.1, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\WebSite\bin\NPOI.OpenXmlFormats.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Web" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="ApiResult.cs" />
<Compile Include="ApiResultHelper.cs" />
<Compile Include="DateModel.cs" />
<Compile Include="WebApiService.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\LQKJ.WebApi.Stub\LQKJ.WebApi.Stub.csproj">
<Project>{6ea92a22-fab9-4acc-ac0e-d76efa9bc67f}</Project>
<Name>LQKJ.WebApi.Stub</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
\ No newline at end of file
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("LQKJ.K3.FileSystem.WebApi")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("LQKJ.K3.FileSystem.WebApi")]
[assembly: AssemblyCopyright("Copyright © 2023")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 会使此程序集中的类型
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
//请将此类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("5ed42e4e-d7f6-4b6a-b791-272564793e3a")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订号
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
D:\西部培训\WebSite\bin\LQKJ.K3.FileSystem.WebApi.dll
D:\西部培训\WebSite\bin\LQKJ.K3.FileSystem.WebApi.pdb
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.K3.FileSystem.WebApi\obj\Debug\LQKJ.K3.FileSystem.WebApi.csproj.AssemblyReference.cache
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.K3.FileSystem.WebApi\obj\Debug\LQKJ.K3.FileSystem.WebApi.csproj.CoreCompileInputs.cache
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.K3.FileSystem.WebApi\obj\Debug\LQKJ.K3.FileSystem.WebApi.csproj.CopyComplete
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.K3.FileSystem.WebApi\obj\Debug\LQKJ.K3.FileSystem.WebApi.dll
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.K3.FileSystem.WebApi\obj\Debug\LQKJ.K3.FileSystem.WebApi.pdb
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.List.PlugIn;
using Kingdee.BOS.Log;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
namespace LQKJ.K3.MES.BusinessPlugIn
{
[Kingdee.BOS.Util.HotUpdate]
[Description("集成系统登录跳转")]
public class JumploginPlugin: AbstractListPlugIn
{
public override void BarItemClick(BarItemClickEventArgs e)
{
base.BarItemClick(e);
Logger.Info("LQKJ_SysLogin", e.BarItemKey);
if (e.BarItemKey == "LQKJ_SysLogin")
{
Logger.Info("LQKJ_SysLogin", "进入了if");
ViewCommonAction.ShowWebURL(this.View, $@"http://192.168.2.47/user/login");
}
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{34D88B5F-6108-4CF9-85C3-6699F7B360B5}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>LQKJ.K3.MES.BusinessPlugIn</RootNamespace>
<AssemblyName>LQKJ.K3.MES.BusinessPlugIn</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
<ReferencePath>..\..\K3Cloud\bin</ReferencePath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>D:\西部培训\WebSite\bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Kingdee.BOS, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.Business.DynamicForm, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.Contracts, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.Core, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.DataEntity, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.ServiceHelper, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin</HintPath>
</Reference>
<Reference Include="Kingdee.K3.Core, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Web" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="JumploginPlugin.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="SyncProcessPlugin.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\LQKJ.WebApi.Core\LQKJ.WebApi.Core.csproj">
<Project>{12F04219-2B2C-4984-98D1-31418FA08E9C}</Project>
<Name>LQKJ.WebApi.Core</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
\ No newline at end of file
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("LQKJ.K3.MES.BusinessPlugIn")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("LQKJ")]
[assembly: AssemblyProduct("LQKJ.K3.MES.BusinessPlugIn")]
[assembly: AssemblyCopyright("Copyright 2022 LQKJ All right")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("1375a1d4-f071-490c-8e60-f8d5a649f3db")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("0.0.38.3")]
[assembly: AssemblyVersion("0.0.38.3")]
[assembly: AssemblyFileVersion("0.0.38.3")]
using Kingdee.BOS.Core;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.List;
using Kingdee.BOS.Core.List.PlugIn;
using Kingdee.BOS.KDThread;
using Kingdee.BOS.Log;
using LQKJ.WebApi.Stub;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading;
namespace LQKJ.K3.MES.BusinessPlugIn
{
[Kingdee.BOS.Util.HotUpdate]
[Description("同步数据列表插件")]
public class SyncProcessPlugin : AbstractListPlugIn
{
public override void BeforeDoOperation(BeforeDoOperationEventArgs e)
{
if (e.Operation.FormOperation.Operation == "SyncData")
{
HashSet<String> primaryKeyValues = new HashSet<string>();
foreach(ListSelectedRow listSelectedRow in this.ListView.SelectedRowsInfo)
{
primaryKeyValues.Add(listSelectedRow.PrimaryKeyValue);
}
if (primaryKeyValues.Count > 10)
{
if (syncFlag) return;
e.Cancel = true;
this.View.ShowProcessForm(formResult => { }, true, "同步数据");
// 启动线程执行耗时操作,同时更新执行进度
MainWorker.QuequeTask(this.View.Context, () =>
{
try
{
this.View.Session["ProcessRateValue"] = 0;
DoOpSync();
}
catch (Exception ex)
{
this.View.ShowErrMessage(ex.Message);
}
finally
{
// 此句必不可少,进度值100时进度条自动关闭
this.View.Session["ProcessRateValue"] = 100;
this.View.SendDynamicFormAction(this.View);
}
}, null);
MainWorker.QuequeTask(this.View.Context, () =>
{
int allRecordsCount = SyncStaticParam.RecordIds.Count;
while (true)
{
if (SyncStaticParam.RecordIds.Count == 0)
{
System.Threading.Thread.Sleep(1000);
continue;
}
allRecordsCount = SyncStaticParam.RecordIds.Count;
int leftRecordCount = GetLeftRecordCount();
if (leftRecordCount == 0)
{
break;
}
int process = ((allRecordsCount - leftRecordCount) * 100) / allRecordsCount;
if (process == 100)
{
process = 99;
}
this.View.Session["ProcessRateValue"] = process;
this.View.Session["ProcessTips"] = string.Format("一共{0}条记录,已处理{1}条记录", allRecordsCount, allRecordsCount - leftRecordCount);
System.Threading.Thread.Sleep(1000);
}
}, null);
}
}
base.BeforeDoOperation(e);
}
/**
* 已经同步完成
*/
private int GetLeftRecordCount()
{
List<string> recordIds = SyncStaticParam.RecordIds;
int leftRecordCount = 0;
foreach (string recordId in recordIds)
{
if (!SyncStaticParam.DCSyncResultDic.ContainsKey(recordId))
{
leftRecordCount ++;
}
}
return leftRecordCount;
}
/**
* 同步标识
*/
private static bool syncFlag = false;
/**
* 同步数据
*
*/
private void DoOpSync()
{
syncFlag = true;
this.View.InvokeFormOperation("SyncData");
syncFlag = false;
}
}
}
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]
D:\西部培训\WebSite\bin\LQKJ.K3.MES.BusinessPlugIn.dll
D:\西部培训\WebSite\bin\LQKJ.K3.MES.BusinessPlugIn.pdb
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.K3.MES.BusinessPlugIn\obj\Debug\LQKJ.K3.MES.BusinessPlugIn.csproj.AssemblyReference.cache
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.K3.MES.BusinessPlugIn\obj\Debug\LQKJ.K3.MES.BusinessPlugIn.csproj.CoreCompileInputs.cache
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.K3.MES.BusinessPlugIn\obj\Debug\LQKJ.K3.MES.BusinessPlugIn.csproj.CopyComplete
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.K3.MES.BusinessPlugIn\obj\Debug\LQKJ.K3.MES.BusinessPlugIn.dll
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.K3.MES.BusinessPlugIn\obj\Debug\LQKJ.K3.MES.BusinessPlugIn.pdb
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Core.BusinessFlow.PlugIn;
using Kingdee.BOS.Core.BusinessFlow.PlugIn.Args;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Orm.DataEntity;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Text;
namespace LQKJ.K3.MES.ServicePlugIn
{
[Kingdee.BOS.Util.HotUpdate]
[Description("业务关闭后同步分录数据反写插件")]
public class CheckBusinessClosureRewriteService: AbstractBusinessFlowServicePlugIn
{
public static int index;
public static int indexCount;
public static int isSyncdataEnd;
public override void AfterCloseRow(AfterCloseRowEventArgs e)
{
base.AfterCloseRow(e);
var data = e.SourceDataObject;
var org = base.Context.CurrentOrganizationInfo.ID.ToString();
string sqlOrg = $@"/*dialect*/select F_LQKJ_CHECKBOX from LQKJ_t_SynchronizationSet where F_LQKJ_ORGID={org}";
DataTable dtOrg = DBUtils.ExecuteDataSet(this.Context, sqlOrg).Tables[0];
if (dtOrg.Rows.Count == 0) return;
if (dtOrg.Rows[0]["F_LQKJ_CHECKBOX"].ToString() != "1") return;
var sourdata = e.SourceEntity.DynamicObjectType.ToString();
/**
* 这个判断可以去掉,测试一下
*/
if (sourdata == "PUR_ReceiveEntry" || sourdata == "POOrderEntry")
{
var pkIds = data[sourdata] as Kingdee.BOS.Orm.DataEntity.DynamicObjectCollection;
var sourceEntry = e.SourceActiveRow["id"].ToString();
index = pkIds.Count;
List<string> list = new List<string>();
string id = e.SourceBusinessInfo.Elements[0].Id;
string text = base.Context.UserId.ToString();
string text2 = "业务关闭";
string operation = "MRPClose";
if (e.BillCloseFieldStatus == "B" && e.BillOldCloseFieldStatus == "B" && e.EntryCloseFieldStatus == "B" && e.EntryOldCloseFieldStatus == "B") indexCount++; //所有物料关闭后
if (e.BillCloseFieldStatus == "A" && e.BillOldCloseFieldStatus == "A" && e.EntryCloseFieldStatus == "B" && e.EntryOldCloseFieldStatus == "A")//单条物料下推或者多条物料下推的第一次条物料
{
string item = insertSyncdata(data, id, text, text2, operation, sourceEntry);
DBUtils.Execute(base.Context, item);
}
if (e.BillCloseFieldStatus == "B" && e.BillOldCloseFieldStatus == "A" && e.EntryCloseFieldStatus == "B" && e.EntryOldCloseFieldStatus == "A") //最后一条物料关闭后
{
string item = insertSyncdata(data, id, text, text2, operation, sourceEntry);
DBUtils.Execute(base.Context, item);
text2 = "整单业务关闭";
operation = "BillClose";
string item1 = insertSyncdata(data, id, text, text2, operation, "");
DBUtils.Execute(base.Context, item1);
}
}
}
private static string insertSyncdata(DynamicObject data, string id, string text, string text2, string operation, string entryID)
{
return string.Format("insert into LQKJ_t_IMSSync(FID,F_LQKJ_SYNCDATAID,F_LQKJ_SYNCBILL,F_LQKJ_SYNDDATETIME,FCREATORID,FMODIFIERID,FCREATEDATE,FMODIFYDATE,F_LQKJ_SYNCCHECK,F_LQKJ_Operationname,F_LQKJ_operationinnercode,F_LQKJ_SYNCDATAENTRYID)\r\n values(NEWID(),'{0}','{1}',null,'{2}','0',GETDATE(),GETDATE(),'0','{3}','{4}','{5}')", new object[]
{
data["id"],
id,
text,
text2,
operation,
entryID
});
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{0C8F423A-F51F-447A-85DB-675E868DE9B3}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>LQKJ.K3.MES.ServicePlugIn</RootNamespace>
<AssemblyName>LQKJ.K3.MES.ServicePlugIn</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
<ReferencePath>..\..\K3Cloud\bin</ReferencePath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>D:\西部培训\WebSite\bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Kingdee.BOS, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.App, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.App.Core, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.Contracts, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.Core, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.DataEntity, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin</HintPath>
</Reference>
<Reference Include="Kingdee.K3.Core, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin</HintPath>
</Reference>
<Reference Include="LQKJ.WebApi.Core, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\LQKJ.WebApi.Core.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Web" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="CheckBusinessClosureRewriteService.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="SyncdataEntityService.cs" />
<Compile Include="SyncdataServerPlugin.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ProjectFiles</ProjectView>
</PropertyGroup>
</Project>
\ No newline at end of file
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("LQKJ.K3.MES.ServicePlugIn")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("LQKJ")]
[assembly: AssemblyProduct("LQKJ.K3.MES.ServicePlugIn")]
[assembly: AssemblyCopyright("Copyright 2022 LQKJ All right")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("caa22759-4a28-4881-bce4-c75f135b9899")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("0.0.38.3")]
[assembly: AssemblyVersion("0.0.38.3")]
[assembly: AssemblyFileVersion("0.0.38.3")]
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Orm.DataEntity;
using System;
using System.Collections.Generic;
using System.ComponentModel;
namespace LQKJ.K3.MES.AppServicePlugin
{
[Kingdee.BOS.Util.HotUpdate]
[Description("分录同步数据服务插件")]
public class SyncdataEntityService : AbstractOperationServicePlugIn
{
public override void BeginOperationTransaction(BeginOperationTransactionArgs e)
{
}
public override void EndOperationTransaction(EndOperationTransactionArgs e)
{
List<string> list = new List<string>();
string id = base.BusinessInfo.GetForm().Id;
string text = base.Context.UserId.ToString();
string text2 = base.FormOperation.OperationName.ToString();
string operation = base.FormOperation.Operation;
var pkIds = ((EndSetStatusTransactionArgs)e).PkEntryIds;
HashSet<string> errorIds = new HashSet<string>();
foreach (var error in this.OperationResult.ValidationErrors)
{
errorIds.Add(error.BillPKID);
}
//BillPKID
foreach (var pkId in pkIds)
{
if (errorIds.Contains(pkId.Value.ToString())) continue;
string item = string.Format("insert into LQKJ_t_IMSSync(FID,F_LQKJ_SYNCDATAID,F_LQKJ_SYNCBILL,F_LQKJ_SYNDDATETIME,FCREATORID,FMODIFIERID,FCREATEDATE,FMODIFYDATE,F_LQKJ_SYNCCHECK,F_LQKJ_Operationname,F_LQKJ_operationinnercode,F_LQKJ_SYNCDATAENTRYID)\r\n values(NEWID(),'{0}','{1}',null,'{2}','0',GETDATE(),GETDATE(),'0','{3}','{4}','{5}')", new object[]
{
pkId.Key,
id,
text,
text2,
operation,
pkId.Value
});
list.Add(item);
}
DBUtils.ExecuteBatch(base.Context, list, list.Count);
base.EndOperationTransaction(e);
}
public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e)
{
base.AfterExecuteOperationTransaction(e);
}
}
}
using Kingdee.BOS;
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Core;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.Metadata.FieldElement;
using Kingdee.BOS.Log;
using Kingdee.BOS.Orm.DataEntity;
using LQKJ.WebApi.Stub;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
namespace LQKJ.K3.MES.AppServicePlugin
{
[Description("记录同步数据服务插件")]
public class SyncdataServerPlugin : AbstractOperationServicePlugIn
{
public override void OnPreparePropertys(PreparePropertysEventArgs e)
{
if (this.BusinessInfo.GetForm().ElementType == 400)
{
e.FieldKeys.Add(this.BusinessInfo.GetForm().NumberFieldKey);
e.FieldKeys.Add(this.BusinessInfo.GetForm().NameFieldKey);
}
else if(this.BusinessInfo.GetForm().ElementType == 100)
{
if(this.BusinessInfo.GetBillNoField() != null)
{
e.FieldKeys.Add(this.BusinessInfo.GetBillNoField().Key);
}
}
base.OnPreparePropertys(e);
}
public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e)
{
List<string> list = new List<string>();
string id = base.BusinessInfo.GetForm().Id;
string text = base.Context.UserId.ToString();
string text2 = base.FormOperation.OperationName.ToString();
string operation = base.FormOperation.Operation;
var org = base.Context.CurrentOrganizationInfo.ID.ToString();
string sqlOrg = $@"/*dialect*/select F_LQKJ_CHECKBOX, F_LQKJ_ShowMessage from LQKJ_t_SynchronizationSet where F_LQKJ_ORGID={org}";
DataTable dtOrg = DBUtils.ExecuteDataSet(this.Context, sqlOrg).Tables[0];
Logger.Info("SyncList2", "开始");
if (dtOrg.Rows.Count > 0)
{
String showMessage = dtOrg.Rows[0]["F_LQKJ_ShowMessage"].ToString();
if (dtOrg.Rows[0]["F_LQKJ_CHECKBOX"].ToString() == "1")
{
IEnumerable<ExtendedDataEntity> dataEntitys = e.SelectedRows;
string ids = "";
HashSet<string> hs = new HashSet<string>();
if (id == "ENG_BOM")
{
foreach (ExtendedDataEntity dynamicObject in dataEntitys)
{
ids += dynamicObject["Id"].ToString() + ",";
}
string SQL = $@"/*dialect*/SELECT DISTINCT FID FROM T_ENG_BOMCHILD WHERE FMATERIALID IN(select FMATERIALID from T_ENG_BOM where FID in({ids.Remove(ids.LastIndexOf(','))}))";
DataTable dt = DBUtils.ExecuteDataSet(this.Context, SQL).Tables[0];
foreach (DataRow row in dt.Rows)
{
hs.Add(row["FID"].ToString());
}
}
List<string> recordIds = new List<string>();
Dictionary<string, DynamicObject> dynamicObjDic = new Dictionary<string, DynamicObject>();
foreach (ExtendedDataEntity dynamicObject in dataEntitys)
{
string text3 = dynamicObject["Id"].ToString();
if (hs.Contains(text3)) continue;
string recordId = Guid.NewGuid().ToString();
recordIds.Add(recordId);
dynamicObjDic.Add(recordId, dynamicObject.DataEntity);
string item = string.Format("insert into LQKJ_t_IMSSync(FID,F_LQKJ_SYNCDATAID,F_LQKJ_SYNCBILL,F_LQKJ_SYNDDATETIME,FCREATORID,FMODIFIERID,FCREATEDATE,FMODIFYDATE,F_LQKJ_SYNCCHECK,F_LQKJ_Operationname,F_LQKJ_operationinnercode)\r\n values('{5}','{0}','{1}',null,'{2}','0',GETDATE(),GETDATE(),'0','{3}','{4}')", new object[]
{
text3,
id,
text,
text2,
operation,
recordId
});
list.Add(item);
}
SyncStaticParam.RecordIds = recordIds;
DBUtils.ExecuteBatch(base.Context, list, list.Count);
SyncStaticParam.DCSyncInfoDic[this.Context.DBId] = true;
if (showMessage != "1") return;
while (!hasFinished(recordIds))
{
System.Threading.Thread.Sleep(1000);
}
GenMessage(recordIds, dynamicObjDic);
SyncStaticParam.RecordIds.Clear();
SyncStaticParam.DCSyncResultDic.Clear();
SyncStaticParam.DCSyncInfoDic.Clear();
SyncStaticParam.DCSyncMessageDic.Clear();
}
}
base.AfterExecuteOperationTransaction(e);
}
/***
*
*/
private void GenMessage(List<string> recordIds, Dictionary<string, DynamicObject> dynamicObjDic)
{
this.OperationResult.OperateResult.Clear();
foreach (string recordId in recordIds)
{
OperateResult operateResult = new OperateResult();
bool isSuccess = SyncStaticParam.DCSyncResultDic[recordId];
operateResult.SuccessStatus = isSuccess;
if (!isSuccess) operateResult.MessageType = MessageType.FatalError;
operateResult.PKValue = recordId;
operateResult.RowIndex = recordIds.IndexOf(recordId);
DynamicObject dynamicObj = dynamicObjDic[recordId];
if (dynamicObj != null)
{
if (this.BusinessInfo.GetForm().ElementType == 400)
{
string numberKey = this.BusinessInfo.GetForm().NumberFieldKey;
Field field = this.BusinessInfo.GetField(numberKey);
if (field != null)
{
object numnberObj = field.DynamicProperty.GetValue(dynamicObj);
if (numnberObj != null)
{
operateResult.Number = numnberObj.ToString();
}
}
string nameKey = this.BusinessInfo.GetForm().NameFieldKey;
field = this.BusinessInfo.GetField(nameKey);
if (field != null)
{
object nameObj = field.DynamicProperty.GetValue(dynamicObj);
if (nameObj != null)
{
operateResult.Name = nameObj.ToString();
}
}
}
else if (this.BusinessInfo.GetForm().ElementType == 100)
{
Field field = this.BusinessInfo.GetBillNoField();
if (field != null)
{
object numnberObj = field.DynamicProperty.GetValue(dynamicObj);
if (numnberObj != null)
{
operateResult.Number = numnberObj.ToString();
operateResult.Name = numnberObj.ToString();
}
}
}
}
string message = SyncStaticParam.DCSyncMessageDic[recordId];
if (message != null)
{
message = message.Replace("保存", "同步");
message = message.Replace("提交", "同步");
message = message.Replace("审核", "同步");
}
operateResult.Message = message;
if (!isSuccess) this.OperationResult.IsSuccess = false;
this.OperationResult.OperateResult.Add(operateResult);
this.OperationResult.FormTitle = message;
}
}
/**
* 已经同步完成
*/
private bool hasFinished(List<string> recordIds)
{
bool flag = true;
foreach(string recordId in recordIds)
{
if (!SyncStaticParam.DCSyncResultDic.ContainsKey(recordId))
{
flag = false;
}
}
return flag;
}
}
}
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]
D:\西部培训\WebSite\bin\LQKJ.K3.MES.ServicePlugIn.dll
D:\西部培训\WebSite\bin\LQKJ.K3.MES.ServicePlugIn.pdb
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.K3.MES.ServicePlugIn\obj\Debug\LQKJ.K3.MES.ServicePlugIn.csproj.CoreCompileInputs.cache
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.K3.MES.ServicePlugIn\obj\Debug\LQKJ.K3.MES.ServicePlugIn.csproj.CopyComplete
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.K3.MES.ServicePlugIn\obj\Debug\LQKJ.K3.MES.ServicePlugIn.dll
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.K3.MES.ServicePlugIn\obj\Debug\LQKJ.K3.MES.ServicePlugIn.pdb
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.K3.MES.ServicePlugIn\obj\Debug\LQKJ.K3.MES.ServicePlugIn.csproj.AssemblyReference.cache
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{467AF45D-B664-4F40-82D4-C7333EB0B054}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>LQKJ.K3.PeiXunSystem.WebApi</RootNamespace>
<AssemblyName>LQKJ.K3.PeiXunSystem.WebApi</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>D:\西部培训\WebSite\bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Kingdee.BOS, Version=8.1.620.16, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\WebSite\bin\Kingdee.BOS.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.App, Version=8.1.620.16, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\WebSite\bin\Kingdee.BOS.App.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.App.Core, Version=8.1.620.16, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\WebSite\bin\Kingdee.BOS.App.Core.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.App.LogService, Version=8.1.620.16, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\WebSite\bin\Kingdee.BOS.App.LogService.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.DataEntity, Version=8.1.620.16, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\WebSite\bin\Kingdee.BOS.DataEntity.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.ServiceFacade.KDServiceFx">
<HintPath>D:\西部培训\WebSite\bin\Kingdee.BOS.ServiceFacade.KDServiceFx.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.ServiceHelper, Version=8.1.620.16, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\WebSite\bin\Kingdee.BOS.ServiceHelper.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.WebApi.Client, Version=8.1.620.16, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\WebSite\bin\Kingdee.BOS.WebApi.Client.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.WebApi.ServicesStub">
<HintPath>D:\西部培训\WebSite\bin\Kingdee.BOS.WebApi.ServicesStub.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\WebSite\bin\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.Caching" />
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.5.0.0\lib\net45\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Web" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Models\Item.cs" />
<Compile Include="Models\PeopleNum.cs" />
<Compile Include="Models\State.cs" />
<Compile Include="Models\TeachAndCourse.cs" />
<Compile Include="ResultApi.cs" />
<Compile Include="WebApiEditService.cs" />
<Compile Include="WebApiService.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\LQKJ.WebApi.Stub\LQKJ.WebApi.Stub.csproj">
<Project>{6ea92a22-fab9-4acc-ac0e-d76efa9bc67f}</Project>
<Name>LQKJ.WebApi.Stub</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<WCFMetadata Include="Connected Services\" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
\ No newline at end of file
using Microsoft.Extensions.Caching.Memory;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LQKJ.K3.PeiXunSystem.WebApi
{
public class MemoryHelper
{
private static IMemoryCache _memoryCache = null;
static MemoryHelper()
{
if (_memoryCache == null)
{
_memoryCache = new MemoryCache(new MemoryCacheOptions());
}
}
public void SetMemory(string key, object value, int exprireMins)
{
_memoryCache.Set(key, value, TimeSpan.FromMinutes(exprireMins));
}
public object GetMemory(string key)
{
return _memoryCache.Get(key);
}
//public object CreateMemory(string Key,string Sql)
//{
// _memoryCache.GetOrCreate(Key,(e)=> { })
//}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LQKJ.K3.PeiXunSystem.WebApi.Models
{
public class Item
{
public int fItemId { get; set; }
public int classId { get; set; }
public string className { get; set; }
public string classArea { get; set; }
public int planCount { get; set; }
public int subCount { get; set; }
public int classType { get; set; }
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}")]
public DateTime startDate { get; set; }
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}")]
public DateTime endDate { get; set; }
public DateTime overDate { get; set; }
public string fisFillInfo { get; set; }//是否填写个人信息
public string fsFillRiding { get; set; }//是否统一乘车
public string fisFillArrAngEroom { get; set; }//是否安排单间
public string fisFillCohabItant { get; set; }//是否需填同住人
public string classNumber { get; set; }//班级编码
public string itemNumber { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LQKJ.K3.PeiXunSystem.WebApi.Models
{
public class PeopleNum
{
public int normal { get; set; } = 0;//正常
public int lack { get; set; } = 0;//缺勤
public int leave { get; set; } = 0;//请假
public int repair { get; set; } = 0;//补签
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LQKJ.K3.PeiXunSystem.WebApi.Models
{
public class State
{
public string SingIn { get; set; }
public string SingOut { get; set; }
public string Type { get; set; }
public string SingInText { get; set; }
public string SingOutText { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LQKJ.K3.PeiXunSystem.WebApi.Models
{
public class TeachAndCourse
{
public int classId { get;set; }
public Teachs Teachs { get; set; }
}
public class Teachs
{
public string teachName { get; set; }
public string teachMsg { get; set; }
public int courseId { get; set; }
}
}
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("LQKJ.K3.PeiXunSystem.WebApi")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("LQKJ.K3.PeiXunSystem.WebApi")]
[assembly: AssemblyCopyright("Copyright © 2023")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 会使此程序集中的类型
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
//请将此类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("467af45d-b664-4f40-82d4-c7333eb0b054")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订号
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LQKJ.K3.PeiXunSystem.WebApi
{
public class ResultApi
{
public string msg { get; set; }
public string code { get; set; }
public List<object> data { get; set; } = new List<object>();
}
}
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
\ No newline at end of file
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
D:\西部培训\WebSite\bin\LQKJ.K3.PeiXunSystem.WebApi.dll.config
D:\西部培训\WebSite\bin\LQKJ.K3.PeiXunSystem.WebApi.dll
D:\西部培训\WebSite\bin\LQKJ.K3.PeiXunSystem.WebApi.pdb
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.K3.PeiXunSystem.WebApi\obj\Debug\LQKJ.K3.PeiXunSystem.WebApi.csproj.AssemblyReference.cache
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.K3.PeiXunSystem.WebApi\obj\Debug\LQKJ.K3.PeiXunSystem.WebApi.csproj.CoreCompileInputs.cache
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.K3.PeiXunSystem.WebApi\obj\Debug\LQKJ.K3.PeiXunSystem.WebApi.csproj.CopyComplete
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.K3.PeiXunSystem.WebApi\obj\Debug\LQKJ.K3.PeiXunSystem.WebApi.dll
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.K3.PeiXunSystem.WebApi\obj\Debug\LQKJ.K3.PeiXunSystem.WebApi.pdb
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Extensions.Caching.Abstractions" version="5.0.0" targetFramework="net472" />
<package id="Microsoft.Extensions.Caching.Memory" version="5.0.0" targetFramework="net472" />
<package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="5.0.0" targetFramework="net472" />
<package id="Microsoft.Extensions.Logging.Abstractions" version="5.0.0" targetFramework="net472" />
<package id="Microsoft.Extensions.Options" version="5.0.0" targetFramework="net472" />
<package id="Microsoft.Extensions.Primitives" version="5.0.0" targetFramework="net472" />
<package id="System.Buffers" version="4.5.1" targetFramework="net472" />
<package id="System.Memory" version="4.5.4" targetFramework="net472" />
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net472" />
<package id="System.Runtime.CompilerServices.Unsafe" version="5.0.0" targetFramework="net472" />
</packages>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{12F04219-2B2C-4984-98D1-31418FA08E9C}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>LQKJ.WebApi.Core</RootNamespace>
<AssemblyName>LQKJ.WebApi.Core</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>D:\西部培训\WebSite\bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Kingdee.BOS, Version=7.7.2256.5, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\Kingdee.BOS.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.App, Version=8.0.144.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.BOS.App.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.BusinessEntity, Version=8.0.319.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.BOS.BusinessEntity.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.Core, Version=8.0.144.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.BOS.Core.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.DataEntity, Version=7.7.2256.5, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\Kingdee.BOS.DataEntity.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.FileServer.Core, Version=8.0.319.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.BOS.FileServer.Core.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.FileServer.ProxyService, Version=8.0.319.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.BOS.FileServer.ProxyService.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.ServiceFacade.KDServiceFx, Version=7.7.2256.5, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\Kingdee.BOS.ServiceFacade.KDServiceFx.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.ServiceHelper, Version=7.7.2256.5, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\Kingdee.BOS.ServiceHelper.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.WebApi.FormService, Version=8.0.144.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.BOS.WebApi.FormService.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.WebApi.ServicesStub, Version=7.7.2256.5, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.BOS.WebApi.ServicesStub.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.BD.Common.Business.PlugIn, Version=8.0.319.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.K3.BD.Common.Business.PlugIn.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.BD.ServiceHelper, Version=8.0.319.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.K3.BD.ServiceHelper.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.Core, Version=8.0.319.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.K3.Core.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.SCM.Business, Version=8.0.319.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.K3.SCM.Business.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.SCM.ServiceHelper, Version=8.0.319.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.K3.SCM.ServiceHelper.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Transactions" />
<Reference Include="System.Web" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="SyncStaticParam.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
\ No newline at end of file
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("webapis")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("webapis")]
[assembly: AssemblyCopyright("Copyright © 2021")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 会使此程序集中的类型
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
//请将此类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("6ea92a22-fab9-4acc-ac0e-d76efa9bc67f")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订号
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
using Kingdee.BOS.JSON;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LQKJ.WebApi.Stub
{
/// <summary>
/// 返回消息
/// </summary>
public static class SyncStaticParam
{
/**
* 同步提示信息
* key为同步ID(同步记录ID,GUID)
* value为同步的消息
*/
public static Dictionary<String, String> DCSyncMessageDic = new Dictionary<string, string>();
/**
* 同步结果
* key为同步ID(同步记录ID,GUID)
* value标识同步是成功还是失败
*/
public static Dictionary<String, bool> DCSyncResultDic = new Dictionary<string, bool>();
/*
* 业务中心同步数据信息
* key为同步ID(DBID)
* value标识是否有需要同步的数据,true有需要同步的数据,false没有需要同步的数据
*/
public static Dictionary<String, bool> DCSyncInfoDic = new Dictionary<string, bool>();
/**
* 当前时间
*/
public static DateTime CurTime = DateTime.Now;
/**
* 锁定对象
*/
public static object lockObject = new object();
/***
* 记录ID
*/
public static List<string> RecordIds = new List<string>();
}
}
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]
D:\西部培训\WebSite\bin\LQKJ.WebApi.Core.dll
D:\西部培训\WebSite\bin\LQKJ.WebApi.Core.pdb
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.WebApi.Core\obj\Debug\LQKJ.WebApi.Core.csproj.CoreCompileInputs.cache
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.WebApi.Core\obj\Debug\LQKJ.WebApi.Core.csproj.CopyComplete
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.WebApi.Core\obj\Debug\LQKJ.WebApi.Core.dll
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.WebApi.Core\obj\Debug\LQKJ.WebApi.Core.pdb
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.WebApi.Core\obj\Debug\LQKJ.WebApi.Core.csproj.AssemblyReference.cache
差异被折叠。
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
namespace LQKJ.WebApi.Stub
{
public class DESHelper
{
/// <summary>
/// DES加密
/// </summary>
/// <param name="pToEncrypt"></param>
/// <param name="sKey">密钥(8位字符)</param>
/// <returns></returns>
public static string Encrypt(string pToEncrypt, string sKey)
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
byte[] inputByteArray = Encoding.Default.GetBytes(pToEncrypt);
des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
StringBuilder ret = new StringBuilder();
foreach (byte b in ms.ToArray())
{
ret.AppendFormat("{0:X2}", b);
}
ret.ToString();
return ret.ToString();
}
/// <summary>
/// 解密方法
/// </summary>
/// <param name="pToDecrypt">需要解密的字符串</param>
/// <param name="sKey">密匙</param>
/// <returns>解密后的字符串</returns>
public static string Decrypt(string pToDecrypt, string sKey)
{
try
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
byte[] inputByteArray = new byte[pToDecrypt.Length / 2];
for (int x = 0; x < pToDecrypt.Length / 2; x++)
{
int i = (Convert.ToInt32(pToDecrypt.Substring(x * 2, 2), 16));
inputByteArray[x] = (byte)i;
}
//建立加密对象的密钥和偏移量,此值重要,不能修改
des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
//建立StringBuild对象,CreateDecrypt使用的是流对象,必须把解密后的文本变成流对象
StringBuilder ret = new StringBuilder();
return System.Text.Encoding.Default.GetString(ms.ToArray());
}
catch (Exception ex)
{
}
return "";
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LQKJ.WebApi.Stub
{
public class FileProperty
{
public string url { get; set; }
public string name { get; set; }
}
}
using Kingdee.BOS;
using Kingdee.BOS.Core;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Core.Metadata.EntityElement;
using Kingdee.BOS.Core.Metadata.FieldElement;
using Kingdee.BOS.Core.SqlBuilder;
using Kingdee.BOS.JSON;
using Kingdee.BOS.Log;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Orm.Metadata.DataEntity;
using Kingdee.BOS.Resource;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LQKJ.WebApi.Stub
{
public class FlexService
{
private JSONObject _sourceData;
private FormMetadata _metaData;
private Context _ctx;
private string _flexFormId;
private List<DynamicObject> _lstItemInfo;
long _orgId;
public FlexService(Context ctx, String flexFormId, long orgId)
{
this._ctx = ctx;
this._flexFormId = flexFormId;
this._orgId = orgId;
}
public IOperationResult FlexSave(string data)
{
IOperationResult opeResult = new OperationResult();
DateTime dtBegin = DateTime.Now;
DateTime dtEnd = DateTime.Now;
try
{
this._sourceData = JSONObject.Parse(Convert.ToString(data));
this._metaData = FormMetaDataCache.GetCachedFormMetaData(this._ctx, this._flexFormId);
List<DynamicObject> list = this.Save();
foreach (DynamicObject dynamicObject in list)
{
opeResult.IsSuccess = true;
OperateResult item = this.GenerateOprResult("", true, dynamicObject["Id"]);
opeResult.OperateResult.Add(item);
}
DateTime now3 = DateTime.Now;
}
catch (Exception ex)
{
Logger.Error("FlexService", "FlexSave", ex);
}
return opeResult;
}
/**
* 获取名称
*/
private string GetFormName()
{
var formName = "";
if (this._flexFormId.ToUpper() == FormIdConst.BD_FLEXITEMDETAILV)
{
formName = "核算维度";
}
else if (this._flexFormId.ToUpper() == FormIdConst.BD_FLEXSITEMDETAILV)
{
formName = "辅助属性";
}
else if (this._flexFormId.ToUpper() == FormIdConst.BD_FLEXVALUESDETAIL)
{
formName = "辅助属性";
}
else if (this._flexFormId.ToUpper() == FormIdConst.HR_JS_FlexGradeItemDetail)
{
formName = "职等维度";
}
return formName;
}
private List<DynamicObject> Save()
{
this._lstItemInfo = FlexServiceHelper.GetFlexItemInfo(this._ctx, this._flexFormId);
HeadEntity entity = this._metaData.BusinessInfo.GetEntity(0) as HeadEntity;
DynamicObjectType dynamicObjectType = BusinessInfo.BuilderHeaderDataType(this._metaData.BusinessInfo.GetForm(), entity);
JSONArray paramValue = this._sourceData.Get("Model") as JSONArray;
List<DynamicObject> list = new List<DynamicObject>();
int num = 0;
StringBuilder stringBuilder = new StringBuilder();
foreach (object obj in paramValue)
{
num++;
DynamicObject dynamicObject = dynamicObjectType.CreateInstance() as DynamicObject;
Dictionary<string, object> dictionary = obj as Dictionary<string, object>;
using (Dictionary<string, object>.Enumerator enumerator2 = dictionary.GetEnumerator())
{
while (enumerator2.MoveNext())
{
KeyValuePair<string, object> item = enumerator2.Current;
BusinessInfo businessInfo = this._metaData.BusinessInfo;
KeyValuePair<string, object> item12 = item;
Field field = businessInfo.GetField(item12.Key);
if (field == null)
{
string format = "第(2)行,{@)中不存在Key为 : [(1] 的字段";
object formName = this.GetFormName();
KeyValuePair<string, object> item2 = item;
string value = string.Format(format, formName, item2.Key, num);
stringBuilder.AppendLine(value);
}
else
{
string propertyName = field.PropertyName;
if (field.DynamicProperty is ISimpleProperty)
{
KeyValuePair<string, object> item3 = item;
if (item3.Value.IsNullOrEmpty())
{
dynamicObject[propertyName] = null;
}
else if (field is DateTimeField)
{
DynamicObject dynamicObject2 = dynamicObject;
string propertyName2 = propertyName;
KeyValuePair<string, object> item4 = item;
dynamicObject2[propertyName2] = Convert.ToDateTime(item4.Value);
}
else
{
DynamicObject dynamicObject3 = dynamicObject;
string propertyName3 = propertyName;
KeyValuePair<string, object> item5 = item;
dynamicObject3[propertyName3] = item5.Value;
}
}
else
{
BaseDataField baseDataField = field as BaseDataField;
KeyValuePair<string, object> item6 = item;
if (item6.Value.IsNullOrEmpty() || baseDataField == null || !baseDataField.SupportSetValueByNumber)
{
dynamicObject[propertyName] = null;
dynamicObject[propertyName + "_Id"] = null;
}
else
{
KeyValuePair<string, object> item7 = item;
Dictionary<string, object> dictionary2 = item7.Value as Dictionary<string, object>;
if (dictionary2 == null)
{
string format2 = "第{1}行,Key为: 【{0}】字段的值的格式不正确";
KeyValuePair<string, object> item8 = item;
string value2 = string.Format(format2, item8.Key, num);
stringBuilder.AppendLine(value2);
}
else
{
object arg;
dictionary2.TryGetValue("FNumber", out arg);
DynamicObject dynamicObject4 = this._lstItemInfo.FirstOrDefault(delegate (DynamicObject e)
{
string str = e["FFlexNumber"].ToString();
KeyValuePair<string, object> item11 = item;
KeyValuePair<string, object> keyValuePair;
if (!false)
{
keyValuePair = item11;
}
return str.EqualsIgnoreCase(keyValuePair.Key);
});
QueryBuilderParemeter queryBuilderParemeter = new QueryBuilderParemeter();
queryBuilderParemeter.FormId = baseDataField.LookUpObject.FormId;
queryBuilderParemeter.SelectItems.Add(new SelectorItemInfo(baseDataField.LookUpObject.PkFieldName));
string text = string.Format("{0} = '{1}'", baseDataField.LookUpObject.NumberFieldName, arg);
if (this._orgId > 0 && (baseDataField.LookUpObject.StrategyType == Enu_BaseDataStrategyType.Distribute || baseDataField.LookUpObject.StrategyType == Enu_BaseDataStrategyType.Private))
{
text += string.Format(" AND {0} = {1}", baseDataField.LookUpObject.OrgFieldName, this._orgId);
}
if (this._flexFormId.ToUpper() != FormIdConst.BD_FLEXVALUESDETAIL)
{
text += string.Format(" AND FForbidStatus <> '{0}' AND FDOCUMENTSTATUS='{1}'", 'B'.ToString(), 'C'.ToString());
}
if (dynamicObject4 != null && int.Parse(dynamicObject4["FValueType"].ToString()) == 1)
{
text += string.Format(" AND FID='[0)’ ", (dynamicObject4["FValueSource"].ToString()));
}
queryBuilderParemeter.FilterClauseWihtKey = text;
DynamicObject[] array = BusinessDataServiceHelper.LoadFromCache(this._ctx, baseDataField.RefFormDynamicObjectType, queryBuilderParemeter);
if (array != null && array.Count<DynamicObject>() > 0)
{
dynamicObject[propertyName] = array[0];
dynamicObject[propertyName + "_Id"] = array[0]["Id"];
}
else
{
string format3 = "第{1}行 ,key为 : 【{0}】 字段的值不存在或未审核或被禁用。";
KeyValuePair<string, object> item9 = item;
string value3 = string.Format(format3, item9.Key, num);
stringBuilder.AppendLine(value3);
}
}
}
}
}
}
}
list.Add(dynamicObject);
}
if (list.Count<DynamicObject>() == 0)
{
throw new Exception("数据包不能为空");
}
string text2 = stringBuilder.ToString();
if (!string.IsNullOrWhiteSpace(text2))
{
throw new Exception(text2);
}
List<DynamicObject> list2 = new List<DynamicObject>();
foreach (DynamicObject dynamicObject5 in list)
{
long flexDataId = FlexServiceHelper.GetFlexDataId(this._ctx, dynamicObject5, this._flexFormId);
if (flexDataId > 0L)
{
dynamicObject5["Id"] = flexDataId;
list2.Add(dynamicObject5);
}
else
{
DynamicObject item10 = BusinessDataServiceHelper.Save(this._ctx, dynamicObject5);
list2.Add(item10);
}
}
return list2;
}
private OperateResult GenerateOprResult(string infoMsg, bool isSucc, object pkValue)
{
var operateResult = new OperateResult();
operateResult.SuccessStatus = isSucc;
operateResult.Message = infoMsg;
if (isSucc)
{
operateResult.PKValue = pkValue;
}
return operateResult;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LQKJ.WebApi.Stub
{
/// <summary>
/// http的參數
/// </summary>
public class HttpArgs
{
public string url { get; set; }
public string id { get; set; }
}
}
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{6EA92A22-FAB9-4ACC-AC0E-D76EFA9BC67F}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>LQKJ.WebApi.Stub</RootNamespace>
<AssemblyName>LQKJ.WebApi.Stub</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>D:\西部培训\WebSite\bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Kingdee.BOS, Version=7.7.2256.5, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\Kingdee.BOS.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.App, Version=8.0.144.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.BOS.App.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.BusinessEntity, Version=8.0.319.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.BOS.BusinessEntity.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.Core, Version=8.0.144.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.BOS.Core.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.DataEntity, Version=7.7.2256.5, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\Kingdee.BOS.DataEntity.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.FileServer.Core, Version=8.0.319.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.BOS.FileServer.Core.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.FileServer.ProxyService, Version=8.0.319.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.BOS.FileServer.ProxyService.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.ServiceFacade.KDServiceFx, Version=7.7.2256.5, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\Kingdee.BOS.ServiceFacade.KDServiceFx.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.ServiceHelper, Version=7.7.2256.5, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\Kingdee.BOS.ServiceHelper.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.WebApi.Client, Version=8.1.620.16, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\WebSite\bin\Kingdee.BOS.WebApi.Client.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.WebApi.FormService, Version=8.0.144.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.BOS.WebApi.FormService.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.WebApi.ServicesStub, Version=7.7.2256.5, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.BOS.WebApi.ServicesStub.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.BD.Common.Business.PlugIn, Version=8.0.319.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.K3.BD.Common.Business.PlugIn.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.BD.ServiceHelper, Version=8.0.319.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.K3.BD.ServiceHelper.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.Core, Version=8.0.319.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.K3.Core.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.SCM.Business, Version=8.0.319.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.K3.SCM.Business.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.SCM.ServiceHelper, Version=8.0.319.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.K3.SCM.ServiceHelper.dll</HintPath>
</Reference>
<Reference Include="LQKJ.WebApi.Core, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\LQKJ.WebApi.Core.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\WebSite\bin\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Transactions" />
<Reference Include="System.Web" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="DESHelper.cs" />
<Compile Include="FileProperty.cs" />
<Compile Include="FlexService.cs" />
<Compile Include="HttpArgs.cs" />
<Compile Include="PaginatedList.cs" />
<Compile Include="Performance.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="CustomWebApiService.cs" />
<Compile Include="PushAndSaveArgs.cs" />
<Compile Include="Result.cs" />
<Compile Include="ResultData.cs" />
<Compile Include="Save.cs" />
<Compile Include="SpPickFX.cs" />
<Compile Include="SQLResult.cs" />
<Compile Include="SyncDataStatusInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LQKJ.WebApi.Stub
{
/// <summary>
/// 分页工具类
/// </summary>
/// <typeparam name="T"></typeparam>
public class PaginatedList<T>:List<T>
{
public PaginatedList(List<T> items,int count,int pageIndex,int pageSize)
{
PageIndex = pageIndex;
TotalPages = (int)Math.Ceiling(count / (double)pageSize);
this.AddRange(items);
}
public int PageIndex { get; private set; }
public int TotalPages { get; private set; }
//public bool HasPreviousPage => PageIndex > 1;
//public bool HasNextPage => PageIndex < TotalPages;
public static PaginatedList<T> Create(
IEnumerable<T> source, int pageIndex, int pageSize)
{
var count = source.Count();
var items = source.Skip(
(pageIndex - 1) * pageSize)
.Take(pageSize).ToList();
return new PaginatedList<T>(items, count, pageIndex, pageSize);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LQKJ.WebApi.Stub
{
/// <summary>
/// 性能
/// </summary>
public class Performance
{
/// <summary>
/// 阶段
/// </summary>
public string stage { get; set; }
/// <summary>
/// 时间点
/// </summary>
public DateTime pointTime { get; set; }
}
}
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("webapis")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("webapis")]
[assembly: AssemblyCopyright("Copyright © 2021")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 会使此程序集中的类型
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
//请将此类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("6ea92a22-fab9-4acc-ac0e-d76efa9bc67f")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订号
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
using Kingdee.BOS.JSON;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LQKJ.WebApi.Stub
{
/// <summary>
/// 下推/保存参数
/// </summary>
///
public enum Ismode { submit, draft, save, auto }//暂存,保存,保存提交,保存提交审核
public class PushAndSaveArgs
{
public PushAndSaveArgs()
{
IsAutoSubmitAndAudit = true;
IsInTransaction = true;
isAutoSubmit = Ismode.submit;
}
/// <summary>
/// 订单唯一标识
/// </summary>
public string FormId { get; set; }
/// <summary>
/// 源订单分录标识
/// </summary>
public string SrcEntryKey { get; set; }
/// <summary>
/// 源订单唯一标识
/// </summary>
public string SrcFormId { get; set; }
/// <summary>
/// 单据转换唯一标识
/// </summary>
public string ConvertRule { get; set; }
/// <summary>
/// 源单分录内码
/// </summary>
public List<string> SrcIds { get; set; }
/// <summary>
/// 是否自动提交审核
/// </summary>
public bool IsAutoSubmitAndAudit { get; set; }
/// <summary>
/// 是否在事务中
/// </summary>
public bool IsInTransaction { get; set; }
/// <summary>
/// 修改数据
/// </summary>
public JSONArray Model { get; set; }
public Ismode isAutoSubmit { get; set; }
}
}
using Kingdee.BOS.JSON;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LQKJ.WebApi.Stub
{
/// <summary>
/// 返回消息
/// </summary>
public class Result
{
public Result()
{
resultData = new List<ResultData>();
performances = new List<Performance>();
}
/// <summary>
/// 返回编码 0000为成功 0001为失败
/// </summary>
public string code { get; set; }
/// <summary>
/// 返回消息
/// </summary>
public string msg { get; set; }
/// <summary>
/// 性能数据
/// </summary>
public List<Performance> performances { get; set; }
/// <summary>
/// 返回数据
/// </summary>
public List<ResultData> resultData { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LQKJ.WebApi.Stub
{
/// <summary>
/// 返回明细
/// </summary>
public class ResultData
{
/// <summary>
/// 单据编码
/// </summary>
public string id { get; set; }
/// <summary>
/// 单据编码
/// </summary>
public string code { get; set; }
/// <summary>
/// 错误消息
/// </summary>
public string msg { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LQKJ.WebApi.Stub
{
public class SQLResult
{
/// <summary>
/// 返回编码 0000为成功 0001为失败
/// </summary>
public string code { get; set; }
/// <summary>
/// 返回消息
/// </summary>
public string msg { get; set; }
/// <summary>
/// 返回消息
/// </summary>
public object data { get; set; }
public int total { get; set; }
}
}
差异被折叠。
差异被折叠。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LQKJ.WebApi.Stub
{
/**
* 同步数据状态信息
*/
public class SyncDataStatusInfo
{
/*
* 同步状态
*/
public string SyncId { get; set; }
/*
* 同步状态
*/
public int Status { get; set; }
/**
* 同步信息
*/
public string Message { get; set; }
}
}
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]
D:\西部培训\WebSite\bin\LQKJ.WebApi.Stub.dll
D:\西部培训\WebSite\bin\LQKJ.WebApi.Stub.pdb
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.WebApi.Stub\obj\Debug\LQKJ.WebApi.Stub.csproj.CoreCompileInputs.cache
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.WebApi.Stub\obj\Debug\LQKJ.WebApi.Stub.csproj.CopyComplete
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.WebApi.Stub\obj\Debug\LQKJ.WebApi.Stub.dll
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.WebApi.Stub\obj\Debug\LQKJ.WebApi.Stub.pdb
C:\Users\zcb27\Desktop\WebApi\kingdeeIntegrationFlagship\Code\LQKJ.WebApi.Stub\obj\Debug\LQKJ.WebApi.Stub.csproj.AssemblyReference.cache

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.31515.178
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LQKJ.WebApi.Stub", "LQKJ.WebApi.Stub.csproj", "{6EA92A22-FAB9-4ACC-AC0E-D76EFA9BC67F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{6EA92A22-FAB9-4ACC-AC0E-D76EFA9BC67F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6EA92A22-FAB9-4ACC-AC0E-D76EFA9BC67F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6EA92A22-FAB9-4ACC-AC0E-D76EFA9BC67F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6EA92A22-FAB9-4ACC-AC0E-D76EFA9BC67F}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {B8E1D3E5-83C3-4A91-9A2E-84EF5AC127F1}
EndGlobalSection
EndGlobal
<?xml version="1.0" encoding="utf-8"?>
<AssemblyModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Id>8fa201ea-d236-4bbb-a98a-7ef84a18ad4f</Id>
<MasterId>K3Cloud</MasterId>
<Name>程序集包</Name>
<Developer>
<Id>IBHC-LMFG-QIMZ-BKTP-XHDM</Id>
<DevCode>LQKJ</DevCode>
<Level>1</Level>
<Name>LQKJ</Name>
</Developer>
<RequiredPackages />
<ExclusivePackages />
<IsSuperPkg>false</IsSuperPkg>
<IncludedExtended>false</IncludedExtended>
<DevPhase>Unknown</DevPhase>
<CanBeStopped>false</CanBeStopped>
<DeployEdition>ALL</DeployEdition>
<PatchType>ALL</PatchType>
<Deploy>Business</Deploy>
<PackageCategory>FuncPackage</PackageCategory>
<IsReplace>true</IsReplace>
<LocaleId>0</LocaleId>
<Issues />
<Links />
<PreInstallMsg />
<AfterInstallMsg />
<PlugIns />
<KDServices>
<DataEntities />
<Contracts />
<ServiceHelpers />
<AppServices />
<Resources />
</KDServices>
<OtherComponents />
<TestPlugIns />
<Resources>
<KDComponent xsi:type="ConentComponent">
<Target>CompileAndPackage</Target>
<Name>LQKJ.K3.MES.BusinessPlugIn.dll</Name>
<ComponentPath>..\K3Cloud\bin\LQKJ.K3.MES.BusinessPlugIn.dll</ComponentPath>
<Type>ContentFile</Type>
<OpeType>AddOrUpdate</OpeType>
<IsSign>false</IsSign>
<IsIgnoreError>false</IsIgnoreError>
<OutputPath>Bin</OutputPath>
<Condition />
</KDComponent>
<KDComponent xsi:type="ConentComponent">
<Target>CompileAndPackage</Target>
<Name>LQKJ.K3.MES.ServicePlugIn.dll</Name>
<ComponentPath>..\K3Cloud\bin\LQKJ.K3.MES.ServicePlugIn.dll</ComponentPath>
<Type>ContentFile</Type>
<OpeType>AddOrUpdate</OpeType>
<IsSign>false</IsSign>
<IsIgnoreError>false</IsIgnoreError>
<OutputPath>Bin</OutputPath>
<Condition />
</KDComponent>
<KDComponent xsi:type="ConentComponent">
<Target>CompileAndPackage</Target>
<Name>LQKJ.WebApi.Core.dll</Name>
<ComponentPath>..\K3Cloud\bin\LQKJ.WebApi.Core.dll</ComponentPath>
<Type>ContentFile</Type>
<OpeType>AddOrUpdate</OpeType>
<IsSign>false</IsSign>
<IsIgnoreError>false</IsIgnoreError>
<OutputPath>Bin</OutputPath>
<Condition />
</KDComponent>
<KDComponent xsi:type="ConentComponent">
<Target>CompileAndPackage</Target>
<Name>LQKJ.WebApi.Stub.dll</Name>
<ComponentPath>..\K3Cloud\bin\LQKJ.WebApi.Stub.dll</ComponentPath>
<Type>ContentFile</Type>
<OpeType>AddOrUpdate</OpeType>
<IsSign>false</IsSign>
<IsIgnoreError>false</IsIgnoreError>
<OutputPath>Bin</OutputPath>
<Condition />
</KDComponent>
</Resources>
<BusinessPlugIns />
</AssemblyModel>
\ No newline at end of file
The MIT License (MIT)
Copyright (c) .NET Foundation and Contributors
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论