提交 09ee9b5f authored 作者: 彭寒菲's avatar 彭寒菲

into

上级
/Code/LQKJ.K3.MFG.PRD.App.ServicePlugIn/bin
/Code/LQKJ.K3.MFG.PRD.App.ServicePlugIn/obj
/Code/LQKJ.K3.MFG.PRD.BusinessPlugIn/obj
/Code/LQKJ.K3.MFG.PRD.BusinessPlugIn/bin
/K3Cloud
{
"CurrentProjectSetting": null
}
\ No newline at end of file
{
"ExpandedNodes": [
"",
"\\LQKJ.K3.MFG.PRD.App.ServicePlugIn"
],
"SelectedNode": "\\LQKJ.K3.MFG.PRD.App.ServicePlugIn",
"PreviewInSolutionExplorer": false
}
\ No newline at end of file
{
{
"Version": 1,
"ProjectMap": {
"bd10ed4f-5423-4b56-b2af-04b43e184e32": {
"ProjectGuid": "bd10ed4f-5423-4b56-b2af-04b43e184e32",
"DisplayName": "LQKJ.K3.MFG.PRD.BusinessPlugIn",
"ColorIndex": 0
},
"9aeaad94-56fd-4de8-b870-35f1028c28dc": {
"ProjectGuid": "9aeaad94-56fd-4de8-b870-35f1028c28dc",
"DisplayName": "LQKJ.K3.MFG.PRD.App.ServicePlugIn",
"ColorIndex": 1
},
"a2fe74e1-b743-11d0-ae1a-00a0c90fffc3": {
"ProjectGuid": "a2fe74e1-b743-11d0-ae1a-00a0c90fffc3",
"DisplayName": "杂项文件",
"ColorIndex": -1
}
},
"NextColorIndex": 2
}
\ No newline at end of file
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
namespace LQKJ.K3.MFG.PRD.App.ServicePlugIn
{
/// <summary>
/// 无组件调用方法
/// </summary>
class IMSApiClient
{
CookieContainer cookies;
Encoding encode;
public IMSApiClient()
{
cookies = new CookieContainer();
encode = Encoding.UTF8;
}
private Request sendRequest(string methodName, string data)
{
Request httpReq = new Request(methodName, cookies);
byte[] bytes = encode.GetBytes(data);
using (Stream stream = httpReq.req.GetRequestStream())
{
stream.Write(bytes, 0, bytes.Length);
}
return httpReq;
}
public string GetResponse(string methodName, string data)
{
Request httpReq = sendRequest(methodName, data);
HttpWebResponse response = httpReq.req.GetResponse() as HttpWebResponse;
StreamReader reader = new StreamReader(response.GetResponseStream(), encode);
var result = reader.ReadToEnd();
return result;
}
}
class Request
{
private static string _serviceUrl = "http://oa.fn-link.com.cn:18889/ims-integrate/api/{0}";
public HttpWebRequest req;
public Request(string methodName, CookieContainer cookie)
{
var url = GetUri(methodName);
req = (HttpWebRequest)HttpWebRequest.Create(url);
req.Method = "POST";
req.KeepAlive = true;
req.ContentType = "application/json";
req.Timeout = 1000000;
req.CookieContainer = cookie;
}
public static bool Validate()
{
try
{
return true;
HttpWebRequest curReq = (HttpWebRequest)HttpWebRequest.Create("http://193.112.67.73:8080/jeecg-boot/bas/verify/verify");
HttpWebResponse response = curReq.GetResponse() as HttpWebResponse;
StreamReader reader = new StreamReader(response.GetResponseStream());
var result = reader.ReadToEnd();
var resultJson = JObject.Parse(result);
return Convert.ToBoolean(resultJson["success"]);
}
catch (Exception ex)
{
return false;
}
}
private static Uri GetUri(string methodName)
{
var url = new Uri(string.Format(_serviceUrl, methodName));
return url;
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.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>{9AEAAD94-56FD-4DE8-B870-35F1028C28DC}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>LQKJ.K3.MFG.PRD.App.ServicePlugIn</RootNamespace>
<AssemblyName>LQKJ.K3.MFG.PRD.App.ServicePlugIn</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
<ReferencePath>..\..\K3Cloud\bin</ReferencePath>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\K3Cloud\bin</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</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>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="Kingdee.BOS, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\代码\CloudSmallProject\BOMReplace\BOMReplace\K3Cloud\BIN\Kingdee.BOS.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.App, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\代码\CloudSmallProject\BOMReplace\BOMReplace\K3Cloud\BIN\Kingdee.BOS.App.dll</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>..\..\..\..\代码\CloudSmallProject\BOMReplace\BOMReplace\K3Cloud\BIN\Kingdee.BOS.Contracts.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.Core, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\代码\CloudSmallProject\BOMReplace\BOMReplace\K3Cloud\BIN\Kingdee.BOS.Core.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.DataEntity, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\代码\CloudSmallProject\BOMReplace\BOMReplace\K3Cloud\BIN\Kingdee.BOS.DataEntity.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.ServiceHelper, Version=7.6.2171.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.BOS.ServiceHelper.dll</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="Kingdee.K3.MFG.App, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.K3.MFG.App.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.MFG.Common.BusinessEntity, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.K3.MFG.Common.BusinessEntity.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.MFG.Contracts">
<HintPath>..\..\..\..\代码\CloudSmallProject\BOMReplace\BOMReplace\K3Cloud\BIN\Kingdee.K3.MFG.Contracts.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.MFG.PRD.App.Core, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.K3.MFG.PRD.App.Core.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.MFG.PRD.Common.BusinessEntity, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.K3.MFG.PRD.Common.BusinessEntity.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.MFG.PRD.Common.Core, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.K3.MFG.PRD.Common.Core.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Newtonsoft.Json.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="IMSApiClient.cs" />
<Compile Include="PrepareMtrlService.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ShortageAnalysisService.cs" />
<Compile Include="SyncdataEntityService.cs" />
<Compile Include="SyncdataServerPlugin.cs" />
<Compile Include="UnitSaveService.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
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.MFG.PRD.App.ServicePlugIn")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("LQKJ")]
[assembly: AssemblyProduct("LQKJ.K3.MFG.PRD.App.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("9ad013ef-0d82-43b4-813e-d6702f9402a9")]
// 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.10.1")]
[assembly: AssemblyVersion("0.0.10.1")]
[assembly: AssemblyFileVersion("0.0.10.1")]
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.MFG.PRD.App.ServicePlugIn
{
[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.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
{
[Description("记录同步数据服务插件")]
public class SyncdataServerPlugin : AbstractOperationServicePlugIn
{
public override void BeginOperationTransaction(BeginOperationTransactionArgs 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;
DynamicObject[] dataEntitys = e.DataEntitys;
for (int i = 0; i < dataEntitys.Length; i++)
{
DynamicObject dynamicObject = dataEntitys[i];
string text3 = dynamicObject["Id"].ToString();
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(NEWID(),'{0}','{1}',null,'{2}','0',GETDATE(),GETDATE(),'0','{3}','{4}')", new object[]
{
text3,
id,
text,
text2,
operation
});
list.Add(item);
}
DBUtils.ExecuteBatch(base.Context, list, list.Count);
base.BeginOperationTransaction(e);
}
}
}
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;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LQKJ.K3.MFG.PRD.App.ServicePlugIn
{
[Kingdee.BOS.Util.HotUpdate]
[Description("单位转换")]
public class UnitSaveService : AbstractOperationServicePlugIn
{
public override void BeginOperationTransaction(BeginOperationTransactionArgs e)
{
if (this.Context.ServiceType == Kingdee.BOS.WebType.WebSite) return;
foreach (DynamicObject dObj in e.DataEntitys)
{
var receiveEntrys = dObj["PUR_ReceiveEntry"] as DynamicObjectCollection;
foreach (DynamicObject receiveEntry in receiveEntrys)
{
receiveEntry["SupDelQty"] = receiveEntry["ActReceiveQty"];
}
}
base.BeginOperationTransaction(e);
}
}
}


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.MFG.PRD.App.ServicePlugIn", "LQKJ.K3.MFG.PRD.App.ServicePlugIn.csproj", "{9AEAAD94-56FD-4DE8-B870-35F1028C28DC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LQKJ.K3.MFG.PRD.BusinessPlugIn", "..\LQKJ.K3.MFG.PRD.BusinessPlugIn\LQKJ.K3.MFG.PRD.BusinessPlugIn.csproj", "{BD10ED4F-5423-4B56-B2AF-04B43E184E32}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9AEAAD94-56FD-4DE8-B870-35F1028C28DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9AEAAD94-56FD-4DE8-B870-35F1028C28DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9AEAAD94-56FD-4DE8-B870-35F1028C28DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9AEAAD94-56FD-4DE8-B870-35F1028C28DC}.Release|Any CPU.Build.0 = Release|Any CPU
{BD10ED4F-5423-4B56-B2AF-04B43E184E32}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BD10ED4F-5423-4B56-B2AF-04B43E184E32}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BD10ED4F-5423-4B56-B2AF-04B43E184E32}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BD10ED4F-5423-4B56-B2AF-04B43E184E32}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {F9147BF6-E5F3-4765-BF44-2B4E01BC46D5}
EndGlobalSection
EndGlobal
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
namespace LQKJ.K3.MFG.PRD.App.BusinessPlugIn
{
/// <summary>
/// 无组件调用方法
/// </summary>
class IMSApiClient
{
CookieContainer cookies;
Encoding encode;
public IMSApiClient()
{
cookies = new CookieContainer();
encode = Encoding.UTF8;
}
private Request sendRequest(string methodName, string data)
{
Request httpReq = new Request(methodName, cookies);
byte[] bytes = encode.GetBytes(data);
using (Stream stream = httpReq.req.GetRequestStream())
{
stream.Write(bytes, 0, bytes.Length);
}
return httpReq;
}
public string GetResponse(string methodName, string data)
{
Request httpReq = sendRequest(methodName, data);
HttpWebResponse response = httpReq.req.GetResponse() as HttpWebResponse;
StreamReader reader = new StreamReader(response.GetResponseStream(), encode);
var result = reader.ReadToEnd();
return result;
}
}
class Request
{
private static string _serviceUrl = "http://oa.fn-link.com.cn:18889/ims-integrate/api/{0}";
public HttpWebRequest req;
public Request(string methodName, CookieContainer cookie)
{
var url = GetUri(methodName);
req = (HttpWebRequest)HttpWebRequest.Create(url);
req.Method = "POST";
req.KeepAlive = true;
req.ContentType = "application/json";
req.Timeout = 1000000;
req.CookieContainer = cookie;
req.Headers.Add("Accept-Language", "zh-CN");
}
public static bool Validate()
{
try
{
return true;
HttpWebRequest curReq = (HttpWebRequest)HttpWebRequest.Create("http://193.112.67.73:8080/jeecg-boot/bas/verify/verify");
HttpWebResponse response = curReq.GetResponse() as HttpWebResponse;
StreamReader reader = new StreamReader(response.GetResponseStream());
var result = reader.ReadToEnd();
var resultJson = JObject.Parse(result);
return Convert.ToBoolean(resultJson["success"]);
}
catch (Exception ex)
{
return false;
}
}
private static Uri GetUri(string methodName)
{
var url = new Uri(string.Format(_serviceUrl, methodName));
return url;
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.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>{BD10ED4F-5423-4B56-B2AF-04B43E184E32}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>LQKJ.K3.MFG.PRD.BusinessPlugIn</RootNamespace>
<AssemblyName>LQKJ.K3.MFG.PRD.BusinessPlugIn</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
<ReferencePath>..\..\K3Cloud\bin</ReferencePath>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\K3Cloud\bin</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</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>
<Prefer32Bit>false</Prefer32Bit>
</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=7.7.2346.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\bin\Kingdee.BOS.App.dll</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="Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\K3Cloud\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="AlternativeMaterialT0POEditPlugin.cs" />
<Compile Include="IMSApiClient.cs" />
<Compile Include="OderShuiLvPlugin.cs" />
<Compile Include="PlanTurnPurchasePlugin.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="PushMESPlugin.cs" />
<Compile Include="SelectBillTypePlugin.cs" />
<Compile Include="SelectMATERIAL.cs" />
<Compile Include="SelectReplacePlugin.cs" />
<Compile Include="SelectSUPPLIER.cs" />
<Compile Include="UnitInStockPlugin.cs" />
<Compile Include="UnitMRBPlugin.cs" />
<Compile Include="UnitRransformationPlugin.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\LQKJ.K3.MFG.PRD.App.ServicePlugIn\LQKJ.K3.MFG.PRD.App.ServicePlugIn.csproj">
<Project>{9AEAAD94-56FD-4DE8-B870-35F1028C28DC}</Project>
<Name>LQKJ.K3.MFG.PRD.App.ServicePlugIn</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
<?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 Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LQKJ.K3.MFG.PRD.BusinessPlugIn
{
[Kingdee.BOS.Util.HotUpdate]
[Description("采购入库单单位转换")]
public class OderShuiLvPlugin : AbstractBillPlugIn
{
//public override void DataChanged(DataChangedEventArgs e)
//{
// if (e.Field.Key.ToUpperInvariant() == "FMaterialId")
// {
// this.View.InvokeFieldUpdateService("FRealQty", e.Row);
// }
//}
}
}
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.MFG.PRD.BusinessPlugIn")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("LQKJ")]
[assembly: AssemblyProduct("LQKJ.K3.MFG.PRD.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("3754534f-2b7c-455a-a10b-e723085af91a")]
// 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.10.1")]
[assembly: AssemblyVersion("0.0.10.1")]
[assembly: AssemblyFileVersion("0.0.10.1")]
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;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LQKJ.K3.MFG.PRD.BusinessPlugIn
{
[Kingdee.BOS.Util.HotUpdate]
[Description("选择单据类型")]
public class SelectBillTypePlugin : AbstractDynamicFormPlugIn
{
public override void BeforeDoOperation(BeforeDoOperationEventArgs e)
{
//确定
if (e.Operation.FormOperation.Id == "PushDown")
{
//返回数据this.View.Model.GetValue("F_LQKJ_Combo");
var type = this.View.Model.GetValue("F_LQKJ_Base") as DynamicObject;
var ids=type["Id"].ToString();
this.View.ReturnToParentWindow(ids);
this.View.Close();
}
//取消
if (e.Operation.FormOperation.Id == "Close")
{
this.View.Close();
}
}
}
}
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel;
using Kingdee.BOS.Log;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.ServiceHelper;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LQKJ.K3.MFG.PRD.BusinessPlugIn
{
[Kingdee.BOS.Util.HotUpdate]
[Description("替代资料查询")]
public class SelectMATERIAL : AbstractDynamicFormPlugIn
{
DataTable dt;
string ids;
public override void PreOpenForm(PreOpenFormEventArgs e)
{
//Logger.Info("查询开始", "查询开始");
string fid = e.OpenParameter.GetCustomParameter("wl").ToString();
//string bom = e.OpenParameter.GetCustomParameter("bom").ToString();
string BOMEBTRYID = e.OpenParameter.GetCustomParameter("BOMEBTRYID").ToString();
Logger.Info("BOMEBTRYID", BOMEBTRYID.ToString());
string sql = $@"/*dialect*/select t1.fid,t1.FMATERIALID, t5.FPURCHASEUNITID wlunit,t3.FNUMBER,t4.FNAME,FSPECIFICATION from T_ENG_BOMCHILD t1
left join T_ENG_BOMCHILD_A T2 ON T1.FENTRYID=T2.FENTRYID and t2.FID=(select FID from T_ENG_BOMCHILD where FENTRYID = {BOMEBTRYID} )
left join T_BD_MATERIAL t3 on t1.FMATERIALID=t3.FMATERIALID
left join T_BD_MATERIAL_L t4 on t3.FMATERIALID=t4.FMATERIALID
left join t_bd_MaterialPurchase t5 on t5.FMATERIALID=t3.FMATERIALID
where
(
FPARENTROWID in(
select FROWID from T_ENG_BOMCHILD t1
left join T_ENG_BOMCHILD_A T2 ON T1.FENTRYID=T2.FENTRYID
WHERE t1.FENTRYID={BOMEBTRYID}
) or FPARENTROWID in
(
select
case FPARENTROWID when ' ' then '0' else FPARENTROWID end FPARENTROWID from T_ENG_BOMCHILD t1
left join T_ENG_BOMCHILD_A T2 ON T1.FENTRYID=T2.FENTRYID
WHERE t1.FENTRYID={BOMEBTRYID}
)
or FROWID in
(
select
case FPARENTROWID when ' ' then '0' else FPARENTROWID end FPARENTROWID from T_ENG_BOMCHILD t1
left join T_ENG_BOMCHILD_A T2 ON T1.FENTRYID=T2.FENTRYID
WHERE t1.FENTRYID={BOMEBTRYID}
)
) or t1.FENTRYID = {BOMEBTRYID}";
//and t1.FENTRYID<> { BOMEBTRYID}
//Logger.Info("替代资料查询:", sql);
dt = DBServiceHelper.ExecuteDataSet(e.Context, sql).Tables[0];
// Logger.Info(" dt.count:", dt.Rows.Count.ToString());
if (dt.Rows.Count <= 0)
{
e.Cancel = true;
e.CancelMessage = "未查找到相关替代料数据";
}
else
{
for (int i = 0; i < dt.Rows.Count; i++)
{
ids += dt.Rows[i]["FMATERIALID"].ToString() + ",";
}
}
base.PreOpenForm(e);
}
public override void AfterBindData(EventArgs e)
{
string sql = $@"/*dialect*/select t1.FMATERIALID,FPRICE,t3.FNAME,FISINCLUDEDTAX,FCURRENCYID from t_PUR_PriceListEntry t1
left join t_PUR_PriceList t2 on t1.FID=t2.FID
left join T_BD_SUPPLIER_L t3 on t2.FSUPPLIERID=t3.FSUPPLIERID
left join (select FMATERIALID,min(FPRICE) minprice from t_PUR_PriceListEntry group by FMATERIALID)
t4 on t4.FMATERIALID=t1.FMATERIALID
where t1.FEXPIRYDATE>GETDATE() and t1.FEFFECTIVEDATE<GETDATE() and FDOCUMENTSTATUS='C' and FFORBIDSTATUS='A' and FROWAUDITSTATUS='A'
and t1.FMATERIALID in({ids.Remove(ids.LastIndexOf(","))})
order by t1.FEFFECTIVEDATE desc";
DataTable bjdt = DBServiceHelper.ExecuteDataSet(this.Context, sql).Tables[0];
var abc = dt.Rows.Count - 1;
this.Model.BatchCreateNewEntryRow("F_LQKJ_Entity", dt.Rows.Count );
//数据绑定到单据体
for (int i = 0; i < dt.Rows.Count; i++)
{
//Logger.Info("替代物料:", dt.Rows[i]["FNUMBER"].ToString());
this.View.Model.SetValue("F_LQKJ_Number", dt.Rows[i]["FNUMBER"].ToString(), i);
this.View.Model.SetValue("F_LQKJ_Name", dt.Rows[i]["FNAME"].ToString(), i);
this.View.Model.SetValue("F_LQKJ_Type", dt.Rows[i]["FSPECIFICATION"].ToString(), i);
this.View.Model.SetValue("F_LQKJ_Text", dt.Rows[i]["FMATERIALID"].ToString(), i);
this.View.Model.SetValue("F_LQKJ_Unit", dt.Rows[i]["wlunit"].ToString(), i);
var a = bjdt.Select("FMATERIALID=" + dt.Rows[i]["FMATERIALID"].ToString()).FirstOrDefault();
if (a != null)
{
this.View.Model.SetValue("F_LQKJ_Price", Convert.ToDouble(a["FPRICE"]), i);
this.View.Model.SetValue("F_LQKJ_supplier", a["FNAME"], i);
this.View.Model.SetValue("F_LQKJ_CheckBox", a["FISINCLUDEDTAX"], i);
this.View.Model.SetValue("F_LQKJ_RMB", a["FCURRENCYID"], i);
}
}
this.View.UpdateView("F_LQKJ_Entity");
base.AfterBindData(e);
}
/// <summary>
/// 双击返回数据,关闭弹窗
/// </summary>
/// <param name="e"></param>
public override void EntityRowDoubleClick(EntityRowClickEventArgs e)
{
base.EntityRowDoubleClick(e);
int rowIndex = this.View.Model.GetEntryCurrentRowIndex("F_LQKJ_Entity");
var entity = this.View.BillBusinessInfo.GetEntity("F_LQKJ_Entity");
DynamicObjectCollection entityObjs = this.View.Model.GetEntityDataObject(entity);
//返回选中的供应商
var wl = entityObjs[rowIndex]["F_LQKJ_Number"].ToString();
var name = entityObjs[rowIndex]["F_LQKJ_Name"].ToString();
var gg = entityObjs[rowIndex]["F_LQKJ_Type"].ToString();
var dw = entityObjs[rowIndex]["F_LQKJ_Unit"].ToString();
var FMATERIALID = entityObjs[rowIndex]["F_LQKJ_Text"].ToString();
List<string> list = new List<string>();
list.Add(wl);//供应商
list.Add(name);//物料
list.Add(gg);//规格
list.Add(FMATERIALID);//物料
list.Add(dw);//规格
this.View.ReturnToParentWindow(list);
this.View.Close();
}
public override void BeforeDoOperation(BeforeDoOperationEventArgs e)
{
//确定
if (e.Operation.FormOperation.Id == "but2")
{
int rowIndex = this.View.Model.GetEntryCurrentRowIndex("F_LQKJ_Entity");
var entity = this.View.BillBusinessInfo.GetEntity("F_LQKJ_Entity");
DynamicObjectCollection entityObjs = this.View.Model.GetEntityDataObject(entity);
//返回选中的供应商
var wl = entityObjs[rowIndex]["F_LQKJ_Number"].ToString();
var name = entityObjs[rowIndex]["F_LQKJ_Name"].ToString();
var gg = entityObjs[rowIndex]["F_LQKJ_Type"].ToString();
var FMATERIALID = entityObjs[rowIndex]["F_LQKJ_Text"].ToString();
List<string> list = new List<string>();
list.Add(wl);//供应商
list.Add(name);//物料
list.Add(gg);//规格
list.Add(FMATERIALID);//物料
this.View.ReturnToParentWindow(list);
this.View.Close();
}
//取消
if (e.Operation.FormOperation.Id == "close")
{
this.View.Close();
}
}
}
}
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.ServiceHelper;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Dynamic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LQKJ.K3.MFG.PRD.BusinessPlugIn
{
[Kingdee.BOS.Util.HotUpdate]
[Description("替代料查询")]
public class SelectReplacePlugin : AbstractDynamicFormPlugIn
{
DataTable dt;
public override void PreOpenForm(PreOpenFormEventArgs e)
{
base.PreOpenForm(e);
string fid = e.OpenParameter.GetCustomParameter("FID").ToString();
string FMATERIALID = e.OpenParameter.GetCustomParameter("FMATERIALID").ToString();
string sql = $@"/*dialect*/select T1.FNUMBER,T1_L.FNAME,T1_L.FSPECIFICATION,J1.FPRICE,t2.FNAME as gysname,J2.FSUPPLIERID,
t3.FNAME as rmb, j2.FNUMBER as cjnumber,j1.FMATERIALID from T_BD_MATERIAL T1
left join T_BD_MATERIAL_L T1_L on t1.FMATERIALID=T1_L.FMATERIALID
left join t_PUR_PriceListEntry J1 ON J1.FMATERIALID=T1.FMATERIALID
LEFT JOIN t_PUR_PriceList J2 ON J2.FID=J1.FID
left join t_BD_Supplier_l t2 on t2.FSUPPLIERID=J2.FSUPPLIERID
left join T_BD_CURRENCY_L t3 on t3.FCURRENCYID=j2.FCURRENCYID
where t1.FMATERIALID in (
select t7.FMATERIALID from T_PUR_ReqEntry T1
LEFT JOIN T_PUR_REQENTRY_R T2 on t1.FID=t2.FID
left join T_PLN_PLANORDER T3 on t2.FSRCBILLNO=t3.FBILLNO
LEFT JOIN T_PLN_PLANORDER_B T4 ON T3.FID=T4.FID
LEFT JOIN T_SAL_ORDER T5 ON T4.FSALEORDERNO=T5.FBILLNO
left join T_SAL_ORDERENTRY T6 ON T5.FID=T6.FID --FBOMID
left join T_ENG_BOMCHILD T7 ON T6.FBOMID=T7.FID
left join T_ENG_BOMCHILD_A t8 on t7.FENTRYID=t8.FENTRYID
where T1.FID={fid} and
FPARENTROWID in (SELECT FROWID FROM T_ENG_BOMCHILD T1
LEFT JOIN T_ENG_BOMCHILD_A T2 ON T1.FENTRYID=T2.FENTRYID
WHERE T1.FMATERIALID={FMATERIALID} )
union all
select t7.FMATERIALID from T_PUR_ReqEntry T1
LEFT JOIN T_PUR_REQENTRY_R T2 on t1.FID=t2.FID
left join T_PLN_PLANORDER T3 on t2.FSRCBILLNO=t3.FBILLNO
LEFT JOIN T_PLN_PLANORDER_B T4 ON T3.FID=T4.FID
LEFT JOIN T_SAL_ORDER T5 ON T4.FSALEORDERNO=T5.FBILLNO
left join T_SAL_ORDERENTRY T6 ON T5.FID=T6.FID
left join T_ENG_BOMCHILD T7 ON T6.FBOMID=T7.FID
left join T_ENG_BOMCHILD_A t8 on t7.FENTRYID=t8.FENTRYID
where T1.FID={fid} AND T7.FMATERIALID={FMATERIALID}
) and j1.FMATERIALID!={FMATERIALID} ";
dt = DBServiceHelper.ExecuteDataSet(e.Context, sql).Tables[0];
//去除价格为空的数据(没有报价信息)
for (int i = 0; i < dt.Rows.Count; i++)
{
if (dt.Rows[i]["FPRICE"].ToString() == "")
{
dt.Rows.RemoveAt(i);
}
}
if (dt.Rows.Count <= 0)
{
e.Cancel = true;
e.CancelMessage = "此物料暂无报价";
}
}
public override void AfterBindData(EventArgs e)
{
base.AfterBindData(e);
string fid = this.View.OpenParameter.GetCustomParameter("FID").ToString();
string FMATERIALID = this.View.OpenParameter.GetCustomParameter("FMATERIALID").ToString();
//去除价格为空的数据(没有报价信息)
this.Model.BatchCreateNewEntryRow("F_LQKJ_Entity", dt.Rows.Count - 1);
//数据绑定到单据体
for (int i = 0; i < dt.Rows.Count; i++)
{
this.View.Model.SetValue("F_LQKJ_Number", dt.Rows[i]["FNUMBER"].ToString(), i);
this.View.Model.SetValue("F_LQKJ_Name", dt.Rows[i]["FNAME"].ToString(), i);
this.View.Model.SetValue("F_LQKJ_Type", dt.Rows[i]["FSPECIFICATION"].ToString(), i);
this.View.Model.SetValue("F_LQKJ_Price", dt.Rows[i]["FPRICE"].ToString(), i);
this.View.Model.SetValue("F_LQKJ_supplier", dt.Rows[i]["gysname"].ToString(), i);
this.View.Model.SetValue("F_LQKJ_Text4", dt.Rows[i]["rmb"].ToString(), i);
this.View.Model.SetValue("F_LQKJ_Text", dt.Rows[i]["cjnumber"].ToString(), i);
this.View.Model.SetValue("F_LQKJ_Text1", dt.Rows[i]["FMATERIALID"].ToString(), i);
this.View.Model.SetValue("F_LQKJ_Text2", dt.Rows[i]["FSUPPLIERID"].ToString(), i);
}
this.View.UpdateView("F_LQKJ_Entity");
}
public override void BeforeDoOperation(BeforeDoOperationEventArgs e)
{
//确定
if (e.Operation.FormOperation.Id == "but2")
{
var synum=Convert.ToDouble(this.View.OpenParameter.GetCustomParameter("FREMAINQTY"));
int num = Convert.ToInt32(this.Model.GetValue("F_LQKJ_Integer").ToString());//数量
int rowIndex = this.View.Model.GetEntryCurrentRowIndex("F_LQKJ_Entity");
var entity = this.View.BillBusinessInfo.GetEntity("F_LQKJ_Entity");
DynamicObjectCollection entityObjs = this.View.Model.GetEntityDataObject(entity);
if (num > synum)
{
this.View.ShowWarnningMessage("数量已超额,数量不能超过"+synum);
}
else
{
//返回选中的替代料及数量
var gys = entityObjs[rowIndex]["F_LQKJ_Text2"].ToString();
var wlid = entityObjs[rowIndex]["F_LQKJ_Text1"].ToString();
var price = entityObjs[rowIndex]["F_LQKJ_Price"].ToString();
List<string> list = new List<string>();
list.Add(gys);//供应商
list.Add(wlid);//物料
list.Add(num.ToString());//数量
list.Add(price);//单价
this.View.ReturnToParentWindow(list);
this.View.Close();
}
}
//取消
if (e.Operation.FormOperation.Id == "close")
{
this.View.Close();
}
}
}
}
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.List.PlugIn.Args;
using Kingdee.BOS.Log;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.ServiceHelper;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LQKJ.K3.MFG.PRD.BusinessPlugIn
{
[Kingdee.BOS.Util.HotUpdate]
[Description("供应商查询")]
public class SelectSUPPLIERL : AbstractDynamicFormPlugIn
{
DataTable dt;
public override void PreOpenForm(PreOpenFormEventArgs e)
{
string fid = e.OpenParameter.GetCustomParameter("gys").ToString();
string sql = $@"/*dialect*/select t1.FENTRYID,t5.FNUMBER,t3.FNAME,FDEFAULTPRICEO ,FPRICE,t6.FNAME RMB,FISINCLUDEDTAX from t_PUR_PriceListEntry t1
left join T_BD_MATERIAL t4 on t1.FMATERIALID = t4.FMATERIALID
left join t_PUR_PriceList t2 on t1.FID = t2.FID
left join (select * from T_BD_SUPPLIER_L where FLOCALEID=2052) t3 on t2.FSUPPLIERID = t3.FSUPPLIERID
left join T_BD_SUPPLIER t5 on t3.FSUPPLIERID = t5.FSUPPLIERID
left join (select * from T_BD_CURRENCY_L where FLOCALEID=2052) t6 on t6.FCURRENCYID = t2.FCURRENCYID
where t4.FNUMBER = '{fid}' and t1.FEXPIRYDATE>GETDATE()and t1.FEFFECTIVEDATE<GETDATE() and T2.FDOCUMENTSTATUS='C' and T2.FFORBIDSTATUS='A'
and FROWAUDITSTATUS='A' order by t1.FEFFECTIVEDATE desc";
dt = DBServiceHelper.ExecuteDataSet(e.Context, sql).Tables[0];
if (dt.Rows.Count <= 0)
{
e.Cancel = true;
e.CancelMessage = "此物料、替代料暂无供应商报价";
}
base.PreOpenForm(e);
}
public override void AfterBindData(EventArgs e)
{
HashSet<string> usedSupplier = new HashSet<string>();
//数据绑定到单据体
for (int i = 0; i < dt.Rows.Count; i++)
{
int curIndex = usedSupplier.Count;
string materialNumber = dt.Rows[i]["FNUMBER"].ToString();
if (usedSupplier.Contains(materialNumber)) continue;
this.Model.CreateNewEntryRow("F_LQKJ_Entity");
this.View.Model.SetValue("F_LQKJ_Number", materialNumber, curIndex);
usedSupplier.Add(materialNumber);
Logger.Info("AfterBindData.i", curIndex.ToString());
Logger.Info("F_LQKJ_Number.i", materialNumber);
this.View.Model.SetValue("F_LQKJ_Name", dt.Rows[i]["FNAME"].ToString(), curIndex);
//this.View.Model.SetValue("F_LQKJ_Type", dt.Rows[i]["FSPECIFICATION"].ToString(), i);
this.View.Model.SetValue("F_LQKJ_Price", Convert.ToDouble(dt.Rows[i]["FPRICE"]), curIndex);
this.View.Model.SetValue("F_LQKJ_supplier", Convert.ToDouble(dt.Rows[i]["FDEFAULTPRICEO"].ToString()), curIndex);
this.View.Model.SetValue("F_LQKJ_Text4", dt.Rows[i]["rmb"].ToString(), curIndex);
this.View.Model.SetValue("F_LQKJ_CheckBox", dt.Rows[i]["FISINCLUDEDTAX"].ToString(), curIndex);
this.View.Model.SetValue("F_LQKJ_Text", dt.Rows[i]["FENTRYID"].ToString(), curIndex);
}
this.View.UpdateView("F_LQKJ_Entity");
base.AfterBindData(e);
}
/// <summary>
/// 双击返回数据,关闭弹窗
/// </summary>
/// <param name="e"></param>
public override void EntityRowDoubleClick(EntityRowClickEventArgs e)
{
base.EntityRowDoubleClick(e);
int rowIndex = this.View.Model.GetEntryCurrentRowIndex("F_LQKJ_Entity");
var entity = this.View.BillBusinessInfo.GetEntity("F_LQKJ_Entity");
DynamicObjectCollection entityObjs = this.View.Model.GetEntityDataObject(entity);
//返回选中的供应商
var FENTRYID = entityObjs[rowIndex]["F_LQKJ_Text"].ToString();
this.View.ReturnToParentWindow(FENTRYID);
this.View.Close();
}
//public override void ListRowDoubleClick(ListRowDoubleClickArgs e)
//{
// base.ListRowDoubleClick(e);
// this.View.ShowMessage("ListRowDoubleClick");
//}
public override void BeforeDoOperation(BeforeDoOperationEventArgs e)
{
//确定
if (e.Operation.FormOperation.Id == "but2")
{
int rowIndex = this.View.Model.GetEntryCurrentRowIndex("F_LQKJ_Entity");
var entity = this.View.BillBusinessInfo.GetEntity("F_LQKJ_Entity");
DynamicObjectCollection entityObjs = this.View.Model.GetEntityDataObject(entity);
//返回选中的供应商
var FENTRYID = entityObjs[rowIndex]["F_LQKJ_Text"].ToString();
this.View.ReturnToParentWindow(FENTRYID);
this.View.Close();
}
//取消
if (e.Operation.FormOperation.Id == "close")
{
this.View.Close();
}
}
}
}
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.ServiceHelper;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using Kingdee.BOS.Orm.DataEntity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Kingdee.BOS.Log;
namespace LQKJ.K3.MFG.PRD.BusinessPlugIn
{
[Kingdee.BOS.Util.HotUpdate]
[Description("采购入库单单位转换")]
public class UnitInStockPlugin : AbstractBillPlugIn
{
HashSet<int> flagHash = new HashSet<int>();
public override void DataChanged(DataChangedEventArgs e)
{
Logger.Info("开始", "开始");
if (this.Context.ServiceType == Kingdee.BOS.WebType.WebService)
{
Logger.Info("webservice", "webservice");
if (e.Field.Key.ToUpperInvariant() == "F_LQKJ_QTY")
{
Logger.Info("F_LQKJ_QTY", "F_LQKJ_QTY");
var unit = this.View.Model.GetValue("FUnitID", e.Row) as DynamicObject;
if (unit == null) return;
Logger.Info("unit", unit["Number"].ToString());
if (unit["Number"].ToString() != "KPcs") return;
if (flagHash.Contains(e.Row)) return;
flagHash.Add(e.Row);
var str = e.Field.ToString();
var a = this.View.Model.GetValue("FMaterialId", e.Row);
var objs = a as DynamicObject;
var materialId = objs["msterID"].ToString();
string sql = $@"/*dialect*/select FSTOREUNITID,FPURCHASEUNITID,
t4.FCONVERTDENOMINATOR kcFCONVERTDENOMINATOR, t4.FCONVERTNUMERATOR kcFCONVERTNUMERATOR,
t5.FCONVERTDENOMINATOR cgFCONVERTDENOMINATOR, t5.FCONVERTNUMERATOR cgFCONVERTNUMERATOR
from T_BD_MATERIAL t1
left join t_BD_MaterialStock t2 on t1.FMATERIALID=t2.FMATERIALID
left join t_bd_MaterialPurchase t3 on t2.FMATERIALID=t3.FMATERIALID
left join T_BD_UNITCONVERTRATE t4 on t4.FUNITID=t2.FSTOREUNITID
left join T_BD_UNITCONVERTRATE t5 on t5.FUNITID=t3.FPURCHASEUNITID where t1.FMASTERID={materialId}";
DataTable dt = DBServiceHelper.ExecuteDataSet(this.Context, sql).Tables[0];
if (dt.Rows.Count > 0)
{
var kc = Convert.ToDouble(dt.Rows[0]["kcFCONVERTDENOMINATOR"]);
var kc2 = Convert.ToDouble(dt.Rows[0]["kcFCONVERTNUMERATOR"]);
var cg = Convert.ToDouble(dt.Rows[0]["cgFCONVERTDENOMINATOR"]);
var cg2 = Convert.ToDouble(dt.Rows[0]["cgFCONVERTNUMERATOR"]);
var number = Convert.ToDouble(e.NewValue);
//num /FCONVERTDENOMINATOR * FCONVERTNUMERATOR
var basicUnit = number * kc2 / kc;
//num* FCONVERTDENOMINATOR / FCONVERTNUMERATOR
var StockUnit = basicUnit * cg / cg2;
this.View.Model.SetValue("FRealQty", StockUnit, e.Row);
this.View.InvokeFieldUpdateService("FRealQty", e.Row);
}
}
}
base.DataChanged(e);
}
}
}
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.ServiceHelper;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LQKJ.K3.MFG.PRD.BusinessPlugIn
{
[Kingdee.BOS.Util.HotUpdate]
[Description("采购退料单单位转换")]
public class UnitMRBPlugin : AbstractBillPlugIn
{
HashSet<int> flagHash = new HashSet<int>();
public override void DataChanged(DataChangedEventArgs e)
{
if (this.Context.ServiceType == Kingdee.BOS.WebType.WebService)
{
if (e.Field.Key.ToUpperInvariant() == "F_LQKJ_QTY")
{
var unit = this.View.Model.GetValue("FUnitID", e.Row) as DynamicObject;
if (unit == null) return;
if (unit["Number"].ToString() != "KPcs") return;
if (flagHash.Contains(e.Row)) return;
flagHash.Add(e.Row);
var str = e.Field.ToString();
var a = this.View.Model.GetValue("FMaterialId", e.Row);
var objs = a as DynamicObject;
var materialId = objs["msterID"].ToString();
string sql = $@"/*dialect*/select FSTOREUNITID,FPURCHASEUNITID,
t4.FCONVERTDENOMINATOR kcFCONVERTDENOMINATOR, t4.FCONVERTNUMERATOR kcFCONVERTNUMERATOR,
t5.FCONVERTDENOMINATOR cgFCONVERTDENOMINATOR, t5.FCONVERTNUMERATOR cgFCONVERTNUMERATOR
from T_BD_MATERIAL t1
left join t_BD_MaterialStock t2 on t1.FMATERIALID=t2.FMATERIALID
left join t_bd_MaterialPurchase t3 on t2.FMATERIALID=t3.FMATERIALID
left join T_BD_UNITCONVERTRATE t4 on t4.FUNITID=t2.FSTOREUNITID
left join T_BD_UNITCONVERTRATE t5 on t5.FUNITID=t3.FPURCHASEUNITID where t1.FMASTERID={materialId}";
DataTable dt = DBServiceHelper.ExecuteDataSet(this.Context, sql).Tables[0];
if (dt.Rows.Count > 0)
{
var kc = Convert.ToDouble(dt.Rows[0]["kcFCONVERTDENOMINATOR"]);
var kc2 = Convert.ToDouble(dt.Rows[0]["kcFCONVERTNUMERATOR"]);
var cg = Convert.ToDouble(dt.Rows[0]["cgFCONVERTDENOMINATOR"]);
var cg2 = Convert.ToDouble(dt.Rows[0]["cgFCONVERTNUMERATOR"]);
var number = Convert.ToDouble(e.NewValue);
//num /FCONVERTDENOMINATOR * FCONVERTNUMERATOR
var basicUnit = number * kc2 / kc;
//num* FCONVERTDENOMINATOR / FCONVERTNUMERATOR
var StockUnit = basicUnit * cg / cg2;
this.View.Model.SetValue("FRMREALQTY", StockUnit, e.Row);
this.View.InvokeFieldUpdateService("FRMREALQTY", e.Row);
}
}
}
base.DataChanged(e);
}
}
}
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Log;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.ServiceHelper;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LQKJ.K3.MFG.PRD.BusinessPlugIn
{
[Kingdee.BOS.Util.HotUpdate]
[Description("单位转换")]
public class UnitRransformationPlugin : AbstractBillPlugIn
{
HashSet<int> flagHash = new HashSet<int>();
public override void DataChanged(DataChangedEventArgs e)
{
//Logger.Info("单位换算", "开始:" + e.Field.Key.ToUpperInvariant());
//Logger.Info("单位换算", "开始:" + this.Context.ServiceType.ToString());
if (this.Context.ServiceType == Kingdee.BOS.WebType.WebService)
{
if (e.Field.Key.ToUpperInvariant() == "FSUPDELQTY")
{
if (flagHash.Contains(e.Row)) return;
flagHash.Add(e.Row);
var str = e.Field.ToString();
var a = this.View.Model.GetValue("FMaterialId", e.Row);
var objs = a as DynamicObject;
var materialId = objs["msterID"].ToString();
Logger.Info("单位换算", "计算前数量:" + e.NewValue);
string sql = $@"/*dialect*/select FSTOREUNITID,FPURCHASEUNITID,
t4.FCONVERTDENOMINATOR kcFCONVERTDENOMINATOR, t4.FCONVERTNUMERATOR kcFCONVERTNUMERATOR,
t5.FCONVERTDENOMINATOR cgFCONVERTDENOMINATOR, t5.FCONVERTNUMERATOR cgFCONVERTNUMERATOR
from T_BD_MATERIAL t1
left join t_BD_MaterialStock t2 on t1.FMATERIALID=t2.FMATERIALID
left join t_bd_MaterialPurchase t3 on t2.FMATERIALID=t3.FMATERIALID
left join T_BD_UNITCONVERTRATE t4 on t4.FUNITID=t2.FSTOREUNITID
left join T_BD_UNITCONVERTRATE t5 on t5.FUNITID=t3.FPURCHASEUNITID where t1.FMASTERID={materialId}";
DataTable dt = DBServiceHelper.ExecuteDataSet(this.Context, sql).Tables[0];
if (dt.Rows.Count > 0)
{
var kc = Convert.ToDouble(dt.Rows[0]["kcFCONVERTDENOMINATOR"]);
var kc2 = Convert.ToDouble(dt.Rows[0]["kcFCONVERTNUMERATOR"]);
var cg = Convert.ToDouble(dt.Rows[0]["cgFCONVERTDENOMINATOR"]);
var cg2 = Convert.ToDouble(dt.Rows[0]["cgFCONVERTNUMERATOR"]);
var number = Convert.ToDouble(e.NewValue);
Logger.Info("单位换算", "kc:" + kc);
Logger.Info("单位换算", "kc2:" + kc2);
Logger.Info("单位换算", "cg:" + cg);
Logger.Info("单位换算", "cg2:" + cg2);
//num /FCONVERTDENOMINATOR * FCONVERTNUMERATOR
var basicUnit = number * kc2 / kc;
//num* FCONVERTDENOMINATOR / FCONVERTNUMERATOR
var StockUnit = basicUnit * cg / cg2;
Logger.Info("单位换算", "计算后数量:" + StockUnit);
this.View.Model.SetValue("FActReceiveQty", StockUnit, e.Row);
this.View.InvokeFieldUpdateService("FActReceiveQty", e.Row);
this.View.UpdateView("FDetailEntity");
}
}
//if (e.Field.Key.ToUpperInvariant() == "FACTRECEIVEQTY")
//{
// this.View.Model.SetValue("FSUPDELQTY", this.View.Model.GetValue("FActReceiveQty", e.Row), e.Row);
//}
}
//Logger.Info("单位换算", "结束:" + e.Field.Key.ToUpperInvariant());
base.DataChanged(e);
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<AssemblyModel xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Id>f54b530a-7e01-4a30-9495-3e2aee8970d3</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.AppServicePlugin.dll</Name>
<ComponentPath>..\K3Cloud\bin\LQKJ.K3.MES.AppServicePlugin.dll</ComponentPath>
<Type>ContentFile</Type>
<OpeType>AddOrUpdate</OpeType>
<IsSign>false</IsSign>
<IsIgnoreError>false</IsIgnoreError>
<OutputPath>Bin</OutputPath>
<CopyToPaths />
<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>
<CopyToPaths />
<Condition />
</KDComponent>
<KDComponent xsi:type="ConentComponent">
<Target>CompileAndPackage</Target>
<Name>LQKJ.K3.MFG.PRD.BusinessPlugIn.dll</Name>
<ComponentPath>..\K3Cloud\bin\LQKJ.K3.MFG.PRD.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.MFG.PRD.App.ServicePlugIn.dll</Name>
<ComponentPath>..\K3Cloud\bin\LQKJ.K3.MFG.PRD.App.ServicePlugIn.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
IF NOT EXISTS (SELECT 1 FROM T_META_CONSOLEDETAIL WHERE FDetailFuncId='61ad7fd4645f82')
BEGIN
/****** Object:Data Script Date: 2022-03-27 16:35:25 ******/
DELETE T_META_CONSOLEDETAIL WHERE FDetailFuncId='61ad7fd4645f82'
INSERT INTO T_META_CONSOLEDETAIL(FDETAILFUNCID,FSUBFUNCID,FNUMBER,FOBJECTID,FTYPE,FSTATUS,FPERMISSIONITEMID,FSEQ,FPARAM,FCUSTOMPARAMS,FTHUMB,FLEVEL,FVISIBLE,FFUNCTIONGROUP,FAUTHPMOBJECTTYPEID,FHTMLSTATUS,FEXCELSTATUS,FH5OBJECTID) VALUES ('61ad7fd4645f82','2db3310b58ba4ecf8ca1afc0b0b8b5d7',N'TBJL','LQKJ_IMSSync','1','1',' ',53,N'{"FormId":"LQKJ_IMSSync","ShowType":"1","formType":"list"}',N' ',' ',null,29,0,' ','1','1',null)
/****** Object:Data Script Date: 2022-03-27 16:35:25 ******/
DELETE T_META_CONSOLEDETAIL_L WHERE FDetailFuncId = '61ad7fd4645f82' AND FLOCALEID =2052
INSERT INTO T_META_CONSOLEDETAIL_L(FPKID,FDETAILFUNCID,FLOCALEID,FNAME,FDESCRIPTION) VALUES ('61ad7fd4645f83','61ad7fd4645f82',2052,N'同步记录',N' ')
END;
IF NOT EXISTS (SELECT 1 FROM T_META_CONSOLEDETAIL WHERE FDetailFuncId='61ad8016645f84')
BEGIN
/****** Object:Data Script Date: 2022-03-27 16:35:27 ******/
DELETE T_META_CONSOLEDETAIL WHERE FDetailFuncId='61ad8016645f84'
INSERT INTO T_META_CONSOLEDETAIL(FDETAILFUNCID,FSUBFUNCID,FNUMBER,FOBJECTID,FTYPE,FSTATUS,FPERMISSIONITEMID,FSEQ,FPARAM,FCUSTOMPARAMS,FTHUMB,FLEVEL,FVISIBLE,FFUNCTIONGROUP,FAUTHPMOBJECTTYPEID,FHTMLSTATUS,FEXCELSTATUS,FH5OBJECTID) VALUES ('61ad8016645f84','2db3310b58ba4ecf8ca1afc0b0b8b5d7',N'TBLSJL','LQKJ_IMSSynchist','1','1',' ',54,N'{"FormId":"LQKJ_IMSSynchist","ShowType":"1","formType":"list"}',N' ',' ',null,29,0,' ','1','1',null)
/****** Object:Data Script Date: 2022-03-27 16:35:27 ******/
DELETE T_META_CONSOLEDETAIL_L WHERE FDetailFuncId = '61ad8016645f84' AND FLOCALEID =2052
INSERT INTO T_META_CONSOLEDETAIL_L(FPKID,FDETAILFUNCID,FLOCALEID,FNAME,FDESCRIPTION) VALUES ('61ad8017645f85','61ad8016645f84',2052,N'同步历史记录',N' ')
END;
<?xml version="1.0" encoding="utf-8"?>
<DataModel xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Id>494fa685-9105-4030-bacc-60433439765b</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 />
<BasedBOSPackageId>K3CloudV1.0_MuPan3_BOS_DM</BasedBOSPackageId>
<CommonScript>
<CommonScripts Seq="0">
<Scripts />
</CommonScripts>
</CommonScript>
<LinkBusinessObjects />
<BusinessObjects />
<ResourceObject />
<StartScript>
<SchemaScript Seq="0">
<Scripts />
</SchemaScript>
<ConsoleMenuScript Seq="0">
<Scripts>
<SqlScript Target="CompileAndPackage" ComponentPath="Start\BasicData\SimpleData\61ad7fd4645f82_col.sql" SqlSyntaxType="KSQL" Assertion="Semicolon" Seq="0" Id="61ad7fd4645f82_col.sql" UniqueScope="ISV" VerRule="ByContent" Level="0" Name="[菜单]同步记录">[菜单]同步记录</SqlScript>
<SqlScript Target="CompileAndPackage" ComponentPath="Start\BasicData\SimpleData\61ad8016645f84_col.sql" SqlSyntaxType="KSQL" Assertion="Semicolon" Seq="0" Id="61ad8016645f84_col.sql" UniqueScope="ISV" VerRule="ByContent" Level="0" Name="[菜单]同步历史记录">[菜单]同步历史记录</SqlScript>
</Scripts>
</ConsoleMenuScript>
<InstallPlugIns />
<SimpleDataScript Seq="0">
<Scripts />
</SimpleDataScript>
<DependentDataScript Seq="0">
<Scripts />
</DependentDataScript>
<PrepareDatas />
</StartScript>
<AutoUpdateTable>true</AutoUpdateTable>
<StopScript />
</DataModel>
\ No newline at end of file
IF NOT EXISTS (SELECT 1 FROM T_META_TOPCLASS WHERE FTOPCLASSID='1')
BEGIN
/****** Object:Data Script Date: 2022-05-25 16:41:12 ******/
DELETE T_META_TOPCLASS WHERE FTOPCLASSID='1'
INSERT INTO T_META_TOPCLASS(FTOPCLASSID,FSEQ,FVISIBLE,FISDEFAULT,FICON) VALUES ('1',10,-1,1,'Fin')
/****** Object:Data Script Date: 2022-05-25 16:41:12 ******/
DELETE T_META_TOPCLASS_L WHERE FTOPCLASSID='1' AND FLOCALEID=2052
INSERT INTO T_META_TOPCLASS_L(FPKID,FTOPCLASSID,FLOCALEID,FNAME,FTOOLTIPS) VALUES ('e6b5b7bd-90fc-45a7-a5be-ceb1cf66af90','1',2052,N'财务会计',N' ')
END;
IF NOT EXISTS (SELECT 1 FROM T_META_SUBSYSTEM WHERE fid='5')
BEGIN
/****** Object:Data Script Date: 2022-05-23 16:14:01 ******/
DELETE T_META_SUBSYSTEM WHERE fid='5'
INSERT INTO T_META_SUBSYSTEM(FID,FTOPCLASSID,FNUMBER,FSEQ,FVISIBLE,FISDEFAULT,FCHECKBOX,FMAPSCCMETAFOLDER,FFUNCPERMISSIONCTRL,FFIELDPERMISSIONCTRL,FSHOWFORMID) VALUES ('5','1',N'AR',40,-1,1,0,N'http://192.168.16.99/svn/k3cloud_std/trunk/K3/FIN/DataModel/6.0/Public/Start/BasicData/MetaData/AR','1','1',null)
/****** Object:Data Script Date: 2022-05-23 16:14:01 ******/
DELETE T_META_SUBSYSTEM_L WHERE fid='5' and FLOCALEID=2052
INSERT INTO T_META_SUBSYSTEM_L(FPKID,FID,FLOCALEID,FNAME,FDESCRIPTION) VALUES ('2650787c-6c98-4408-87c5-230029081276','5',2052,N'应收款管理',N' ')
END;
IF NOT EXISTS (SELECT 1 FROM T_META_SUBSYSTEM WHERE fid='6')
BEGIN
/****** Object:Data Script Date: 2022-05-25 16:41:12 ******/
DELETE T_META_SUBSYSTEM WHERE fid='6'
INSERT INTO T_META_SUBSYSTEM(FID,FTOPCLASSID,FNUMBER,FSEQ,FVISIBLE,FISDEFAULT,FCHECKBOX,FMAPSCCMETAFOLDER,FFUNCPERMISSIONCTRL,FFIELDPERMISSIONCTRL,FSHOWFORMID) VALUES ('6','1',N'AP',50,-1,1,0,N'http://192.168.16.99/svn/k3cloud_std/trunk/K3/FIN/DataModel/6.0/Public/Start/BasicData/MetaData/AP','1','1',null)
/****** Object:Data Script Date: 2022-05-25 16:41:12 ******/
DELETE T_META_SUBSYSTEM_L WHERE fid='6' and FLOCALEID=2052
INSERT INTO T_META_SUBSYSTEM_L(FPKID,FID,FLOCALEID,FNAME,FDESCRIPTION) VALUES ('c950f6d7-9b7c-4df4-89ce-d5234bb10eba','6',2052,N'应付款管理',N' ')
END;
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<DataModel xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Id>e4c5c734-8955-4635-b9f1-c6133d83f05d</Id>
<MasterId>e4c5c734-8955-4635-b9f1-c6133d83f05d</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 />
<BasedBOSPackageId>K3CloudV1.0_MuPan3_BOS_DM</BasedBOSPackageId>
<CommonScript>
<CommonScripts Seq="0">
<Scripts />
</CommonScripts>
</CommonScript>
<LinkBusinessObjects>
<DynamicLinkBusinessObject>
<Target>CompileAndPackage</Target>
<Caption>应付款管理</Caption>
<Name>6</Name>
<ComponentPath>AP_80c96751</ComponentPath>
</DynamicLinkBusinessObject>
</LinkBusinessObjects>
<BusinessObjects>
<BusinessObject Target="CompileAndPackage" Id="9d73ac19-8e64-4d85-b4f8-e9868ca85bcf" Status="Updated" ComponentPath="AP_80c96751\9d73ac19-8e64-4d85-b4f8-e9868ca85bcf.dym" Type="Meta">9d73ac19-8e64-4d85-b4f8-e9868ca85bcf.dym</BusinessObject>
<BusinessObject Target="CompileAndPackage" Id="AP_Payable" Status="Updated" ComponentPath="AP_80c96751\AP_Payable.dym" Type="Meta">AP_Payable.dym</BusinessObject>
<BusinessObject Target="CompileAndPackage" Id="9d73ac19-8e64-4d85-b4f8-e9868ca85bcf.2052" Status="Updated" ComponentPath="AP_80c96751\9d73ac19-8e64-4d85-b4f8-e9868ca85bcf.2052.dymx" Type="LanguageRes">9d73ac19-8e64-4d85-b4f8-e9868ca85bcf.2052.dymx</BusinessObject>
<BusinessObject Target="CompileAndPackage" Id="AP_Payable.2052" Status="Updated" ComponentPath="AP_80c96751\AP_Payable.2052.dymx" Type="LanguageRes">AP_Payable.2052.dymx</BusinessObject>
</BusinessObjects>
<ResourceObject />
<StartScript>
<SchemaScript Seq="0">
<Scripts />
</SchemaScript>
<ConsoleMenuScript Seq="0">
<Scripts>
<SqlScript Target="CompileAndPackage" ComponentPath="Start\BasicData\SimpleData\6_subsystem.sql" SqlSyntaxType="KSQL" Assertion="Semicolon" Seq="0" Id="6_subsystem.sql" UniqueScope="ISV" VerRule="ByContent" Level="0" Name="[子系统]应付款管理">[子系统]应付款管理</SqlScript>
<SqlScript Target="CompileAndPackage" ComponentPath="Start\BasicData\SimpleData\1_topclass.sql" SqlSyntaxType="KSQL" Assertion="Semicolon" Seq="0" Id="1_topclass.sql" UniqueScope="ISV" VerRule="ByContent" Level="0" Name="[业务领域]财务会计">[业务领域]财务会计</SqlScript>
</Scripts>
</ConsoleMenuScript>
<InstallPlugIns />
<SimpleDataScript Seq="0">
<Scripts />
</SimpleDataScript>
<DependentDataScript Seq="0">
<Scripts />
</DependentDataScript>
<PrepareDatas />
</StartScript>
<AutoUpdateTable>true</AutoUpdateTable>
<StopScript />
<TopClassID>1</TopClassID>
</DataModel>
\ No newline at end of file
IF NOT EXISTS (SELECT 1 FROM T_META_SUBSYSTEM WHERE fid='20')
BEGIN
/****** Object:Data Script Date: 2022-02-14 20:58:37 ******/
DELETE T_META_SUBSYSTEM WHERE fid='20'
INSERT INTO T_META_SUBSYSTEM(FID,FTOPCLASSID,FNUMBER,FSEQ,FVISIBLE,FISDEFAULT,FCHECKBOX,FMAPSCCMETAFOLDER,FFUNCPERMISSIONCTRL,FFIELDPERMISSIONCTRL,FSHOWFORMID) VALUES ('20','20',N'CGGL',10,-1,1,0,N'$/K3Cloud V1.0/DataBase/Upgrade/MetaData/4SCM/PUR','1','1',null)
/****** Object:Data Script Date: 2022-02-14 20:58:37 ******/
DELETE T_META_SUBSYSTEM_L WHERE fid='20' and FLOCALEID=2052
INSERT INTO T_META_SUBSYSTEM_L(FPKID,FID,FLOCALEID,FNAME,FDESCRIPTION) VALUES ('5f08e21d-8ac1-4625-b576-56aba0a5234a','20',2052,N'采购管理',N' ')
END;
IF NOT EXISTS (SELECT 1 FROM T_META_TOPCLASS WHERE FTOPCLASSID='20')
BEGIN
/****** Object:Data Script Date: 2022-03-07 15:21:34 ******/
DELETE T_META_TOPCLASS WHERE FTOPCLASSID='20'
INSERT INTO T_META_TOPCLASS(FTOPCLASSID,FSEQ,FVISIBLE,FISDEFAULT,FICON) VALUES ('20',30,-1,1,'SupplyChain')
/****** Object:Data Script Date: 2022-03-07 15:21:34 ******/
DELETE T_META_TOPCLASS_L WHERE FTOPCLASSID='20' AND FLOCALEID=2052
INSERT INTO T_META_TOPCLASS_L(FPKID,FTOPCLASSID,FLOCALEID,FNAME,FTOOLTIPS) VALUES ('a2ac9967-f957-4255-9471-f803ef6ca6b5','20',2052,N'供应链',N' ')
END;
IF NOT EXISTS (SELECT 1 FROM T_META_SUBSYSTEM WHERE fid='21')
BEGIN
/****** Object:Data Script Date: 2022-03-07 15:21:34 ******/
DELETE T_META_SUBSYSTEM WHERE fid='21'
INSERT INTO T_META_SUBSYSTEM(FID,FTOPCLASSID,FNUMBER,FSEQ,FVISIBLE,FISDEFAULT,FCHECKBOX,FMAPSCCMETAFOLDER,FFUNCPERMISSIONCTRL,FFIELDPERMISSIONCTRL,FSHOWFORMID) VALUES ('21','20',N'CCGL',30,-1,1,0,N'$/K3Cloud V1.0/DataBase/Upgrade/MetaData/4SCM/STK','1','1',null)
/****** Object:Data Script Date: 2022-03-07 15:21:34 ******/
DELETE T_META_SUBSYSTEM_L WHERE fid='21' and FLOCALEID=2052
INSERT INTO T_META_SUBSYSTEM_L(FPKID,FID,FLOCALEID,FNAME,FDESCRIPTION) VALUES ('aec45c8e-aaad-4fc4-b1a0-f4e85acb3156','21',2052,N'库存管理',N' ')
END;
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论