长园
This commit is contained in:
99
CY.SAL_OUTSTOCK/AutoPushLostOutStock2Pay.cs
Normal file
99
CY.SAL_OUTSTOCK/AutoPushLostOutStock2Pay.cs
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
using Kingdee.BOS.Core.DynamicForm.PlugIn;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Web;
|
||||||
|
using Kingdee.BOS.Contracts;
|
||||||
|
using Kingdee.BOS;
|
||||||
|
using Kingdee.BOS.Core;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using Kingdee.BOS.Util;
|
||||||
|
using Kingdee.BOS.Core.List;
|
||||||
|
using Kingdee.BOS.Core.DynamicForm.Operation;
|
||||||
|
using Kingdee.BOS.Core.Metadata.ConvertElement.ServiceArgs;
|
||||||
|
using Kingdee.BOS.Orm;
|
||||||
|
using Kingdee.BOS.App.Data;
|
||||||
|
using Kingdee.BOS.Orm.DataEntity;
|
||||||
|
using Kingdee.BOS.Core.BusinessFlow.ServiceArgs;
|
||||||
|
using Kingdee.BOS.Core.Metadata;
|
||||||
|
using Kingdee.BOS.App.Core.ScheduleService;
|
||||||
|
|
||||||
|
namespace CY.SAL_OUTSTOCK
|
||||||
|
{
|
||||||
|
[Description("自动下推"), HotUpdate]
|
||||||
|
public class AutoPushLostOutStock2Pay : IScheduleService
|
||||||
|
{
|
||||||
|
public void Run(Context ctx, Schedule schedule)
|
||||||
|
{
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
IConvertService service = Kingdee.BOS.App.ServiceHelper.GetService<IConvertService>();
|
||||||
|
|
||||||
|
string sourceFormId = "SAL_OUTSTOCK";
|
||||||
|
|
||||||
|
string targetFormId = "AR_RECEIVABLE";
|
||||||
|
|
||||||
|
//var rules = service.GetConvertRules(ctx, sourceFormId, targetFormId);
|
||||||
|
|
||||||
|
string convertRuleId = "AR_OutStockToReceivableMap"; //销售出库单下推应付单
|
||||||
|
|
||||||
|
var ruleMeta = service.GetConvertRule(ctx, convertRuleId);
|
||||||
|
|
||||||
|
var rule = ruleMeta.Rule;
|
||||||
|
var dbList = GetDBData(ctx);
|
||||||
|
if (dbList != null && dbList.Any())
|
||||||
|
{
|
||||||
|
var groupbyList = dbList.GroupBy(x => x["FBILLNO"]);
|
||||||
|
StringBuilder stringBuilder = new StringBuilder();
|
||||||
|
foreach (var list in groupbyList)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
List<ListSelectedRow> selectedRows = list.Select(x => new ListSelectedRow(x["FID"].ToString(), x["FENTRYID"].ToString(), 0, sourceFormId)).ToList();
|
||||||
|
|
||||||
|
PushArgs pushArgs = new PushArgs(rule, selectedRows.ToArray());//下推入口参数
|
||||||
|
|
||||||
|
OperateOption option = OperateOption.Create();//选项参数
|
||||||
|
|
||||||
|
ConvertOperationResult result = service.Push(ctx, pushArgs, option);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
stringBuilder.AppendLine($"单据:{list.Key}下推失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (stringBuilder.IsNullOrEmpty())
|
||||||
|
throw new Exception(stringBuilder.ToString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
ScheduleMsgDal _msgDal = new ScheduleMsgDal();
|
||||||
|
ScheduleMsg msg = new ScheduleMsg();
|
||||||
|
msg.MsgDetail = ex.Message;
|
||||||
|
msg.HappenTime = DateTime.Now;
|
||||||
|
msg.MsgType = 5;// 1 成功 5异常,
|
||||||
|
msg.ScheduleTypeId = schedule.ScheduleTypeId;
|
||||||
|
_msgDal.InsertScheduleMsg(ctx, msg);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private DynamicObjectCollection GetDBData(Context ctx)
|
||||||
|
{
|
||||||
|
var unSql = $@"
|
||||||
|
select * from V_NOT_RECEIVABLE_OUTSTOCK
|
||||||
|
";
|
||||||
|
var dbList = DBUtils.ExecuteDynamicObject(ctx, $"/*dialect*/{unSql}");
|
||||||
|
|
||||||
|
return dbList;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
72
CY.SAL_OUTSTOCK/CY.SAL_OUTSTOCK.csproj
Normal file
72
CY.SAL_OUTSTOCK/CY.SAL_OUTSTOCK.csproj
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
<?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>{6A52A594-F6A9-4754-BF53-22A126B54081}</ProjectGuid>
|
||||||
|
<OutputType>Library</OutputType>
|
||||||
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
|
<RootNamespace>CY.SAL_OUTSTOCK</RootNamespace>
|
||||||
|
<AssemblyName>CY.SAL_OUTSTOCK</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
<Deterministic>true</Deterministic>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>bin\Debug\</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">
|
||||||
|
<HintPath>..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Kingdee.BOS.App">
|
||||||
|
<HintPath>..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.App.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Kingdee.BOS.App.Core">
|
||||||
|
<HintPath>..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.App.Core.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Kingdee.BOS.Contracts">
|
||||||
|
<HintPath>..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.Contracts.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Kingdee.BOS.Core">
|
||||||
|
<HintPath>..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.Core.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Kingdee.BOS.DataEntity">
|
||||||
|
<HintPath>..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.DataEntity.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Kingdee.K3.BD.Contracts">
|
||||||
|
<HintPath>..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.K3.BD.Contracts.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="AutoPushLostOutStock2Pay.cs" />
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Include="SQLServer\无关联应收单.sql" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
</Project>
|
||||||
36
CY.SAL_OUTSTOCK/Properties/AssemblyInfo.cs
Normal file
36
CY.SAL_OUTSTOCK/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
// 有关程序集的一般信息由以下
|
||||||
|
// 控制。更改这些特性值可修改
|
||||||
|
// 与程序集关联的信息。
|
||||||
|
[assembly: AssemblyTitle("CY.SAL_OUTSTOCK")]
|
||||||
|
[assembly: AssemblyDescription("")]
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCompany("")]
|
||||||
|
[assembly: AssemblyProduct("CY.SAL_OUTSTOCK")]
|
||||||
|
[assembly: AssemblyCopyright("Copyright © 2023")]
|
||||||
|
[assembly: AssemblyTrademark("")]
|
||||||
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
// 将 ComVisible 设置为 false 会使此程序集中的类型
|
||||||
|
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
|
||||||
|
//请将此类型的 ComVisible 特性设置为 true。
|
||||||
|
[assembly: ComVisible(false)]
|
||||||
|
|
||||||
|
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
|
||||||
|
[assembly: Guid("6a52a594-f6a9-4754-bf53-22a126b54081")]
|
||||||
|
|
||||||
|
// 程序集的版本信息由下列四个值组成:
|
||||||
|
//
|
||||||
|
// 主版本
|
||||||
|
// 次版本
|
||||||
|
// 生成号
|
||||||
|
// 修订号
|
||||||
|
//
|
||||||
|
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
|
||||||
|
//通过使用 "*",如下所示:
|
||||||
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
|
[assembly: AssemblyVersion("1.0.0.0")]
|
||||||
|
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||||
28
CY.SAL_OUTSTOCK/SQLServer/无关联应收单.sql
Normal file
28
CY.SAL_OUTSTOCK/SQLServer/无关联应收单.sql
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
IF EXISTS (SELECT * FROM sysobjects WHERE name='V_NOT_RECEIVABLE_OUTSTOCK') --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
DROP VIEW V_NOT_RECEIVABLE_OUTSTOCK --<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
GO
|
||||||
|
CREATE VIEW V_NOT_RECEIVABLE_OUTSTOCK
|
||||||
|
AS
|
||||||
|
SELECT
|
||||||
|
A.FID
|
||||||
|
,A.FBILLNO
|
||||||
|
,A.FSTOCKORGID
|
||||||
|
,AE.FENTRYID
|
||||||
|
,B.FID
|
||||||
|
FROM
|
||||||
|
T_SAL_OUTSTOCK A
|
||||||
|
LEFT JOIN T_SAL_OUTSTOCKENTRY AE ON A.FID = AE.FID
|
||||||
|
LEFT JOIN (SELECT
|
||||||
|
A.FID
|
||||||
|
,A.FBILLNO
|
||||||
|
,AE.FENTRYID
|
||||||
|
,BE.FORDERENTRYID
|
||||||
|
,BE_LK.FSID
|
||||||
|
FROM
|
||||||
|
T_SAL_OUTSTOCK A
|
||||||
|
LEFT JOIN T_SAL_OUTSTOCKENTRY AE ON A.FID = AE.FID
|
||||||
|
LEFT JOIN T_AR_RECEIVABLEENTRY_LK BE_LK ON BE_LK.FSBILLID = AE.FID AND BE_LK.FSID = AE.FENTRYID
|
||||||
|
LEFT JOIN T_AR_RECEIVABLEENTRY BE ON BE.FENTRYID = BE_LK.FENTRYID
|
||||||
|
WHERE
|
||||||
|
BE_LK.FSTABLENAME = 'T_SAL_OUTSTOCKENTRY') B ON A.FID = B.FID
|
||||||
|
WHERE B.FID IS NULL and a.FDOCUMENTSTATUS ='C'
|
||||||
BIN
Extensions.zip
Normal file
BIN
Extensions.zip
Normal file
Binary file not shown.
@@ -31,7 +31,11 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "旭东", "旭东", "{0C4E3D
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "汇威", "汇威", "{42311C80-7B4C-4353-BCA9-4ABD024290C8}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "汇威", "汇威", "{42311C80-7B4C-4353-BCA9-4ABD024290C8}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kingdee.K3.SCM.Sal.Report.PlugInEx", "Kingdee.K3.SCM.Sal.Report.PlugInEx\Kingdee.K3.SCM.Sal.Report.PlugInEx.csproj", "{01F02D15-2726-4077-80FC-9E38EF29BABC}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kingdee.K3.SCM.App.Sal.Report.PlugInEx", "Kingdee.K3.SCM.Sal.Report.PlugInEx\Kingdee.K3.SCM.App.Sal.Report.PlugInEx.csproj", "{01F02D15-2726-4077-80FC-9E38EF29BABC}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "长园", "长园", "{270F576A-EFFF-4728-8E5C-ABDF5C3F3C8B}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CY.SAL_OUTSTOCK", "CY.SAL_OUTSTOCK\CY.SAL_OUTSTOCK.csproj", "{6A52A594-F6A9-4754-BF53-22A126B54081}"
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
@@ -71,6 +75,10 @@ Global
|
|||||||
{01F02D15-2726-4077-80FC-9E38EF29BABC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{01F02D15-2726-4077-80FC-9E38EF29BABC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{01F02D15-2726-4077-80FC-9E38EF29BABC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{01F02D15-2726-4077-80FC-9E38EF29BABC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{01F02D15-2726-4077-80FC-9E38EF29BABC}.Release|Any CPU.Build.0 = Release|Any CPU
|
{01F02D15-2726-4077-80FC-9E38EF29BABC}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{6A52A594-F6A9-4754-BF53-22A126B54081}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{6A52A594-F6A9-4754-BF53-22A126B54081}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{6A52A594-F6A9-4754-BF53-22A126B54081}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{6A52A594-F6A9-4754-BF53-22A126B54081}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
@@ -85,6 +93,7 @@ Global
|
|||||||
{A362AFBC-FC73-46A6-9185-15C17E694538} = {56C57ADC-8E92-4340-AC25-B7647758D4EB}
|
{A362AFBC-FC73-46A6-9185-15C17E694538} = {56C57ADC-8E92-4340-AC25-B7647758D4EB}
|
||||||
{86DA044C-9D3B-43BD-8BDB-24B65E152604} = {A362AFBC-FC73-46A6-9185-15C17E694538}
|
{86DA044C-9D3B-43BD-8BDB-24B65E152604} = {A362AFBC-FC73-46A6-9185-15C17E694538}
|
||||||
{01F02D15-2726-4077-80FC-9E38EF29BABC} = {42311C80-7B4C-4353-BCA9-4ABD024290C8}
|
{01F02D15-2726-4077-80FC-9E38EF29BABC} = {42311C80-7B4C-4353-BCA9-4ABD024290C8}
|
||||||
|
{6A52A594-F6A9-4754-BF53-22A126B54081} = {270F576A-EFFF-4728-8E5C-ABDF5C3F3C8B}
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
SolutionGuid = {16F7DBDD-F487-41D6-A856-9E9B7B3F61C5}
|
SolutionGuid = {16F7DBDD-F487-41D6-A856-9E9B7B3F61C5}
|
||||||
|
|||||||
@@ -1,13 +0,0 @@
|
|||||||
using Kingdee.K3.SCM.Sal.Report.PlugIn;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace Kingdee.K3.SCM.Sal.Report.PlugInEx
|
|
||||||
{
|
|
||||||
public class Class1: SaleOutStockDetailEdit
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -7,8 +7,8 @@
|
|||||||
<ProjectGuid>{01F02D15-2726-4077-80FC-9E38EF29BABC}</ProjectGuid>
|
<ProjectGuid>{01F02D15-2726-4077-80FC-9E38EF29BABC}</ProjectGuid>
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>Kingdee.K3.SCM.Sal.Report.PlugInEx</RootNamespace>
|
<RootNamespace>Kingdee.K3.SCM.App.Sal.Report</RootNamespace>
|
||||||
<AssemblyName>Kingdee.K3.SCM.Sal.Report.PlugInEx</AssemblyName>
|
<AssemblyName>Kingdee.K3.SCM.App.Sal.Report.PlugInEx</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<Deterministic>true</Deterministic>
|
<Deterministic>true</Deterministic>
|
||||||
@@ -37,6 +37,9 @@
|
|||||||
<Reference Include="Kingdee.BOS.App">
|
<Reference Include="Kingdee.BOS.App">
|
||||||
<HintPath>..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.App.dll</HintPath>
|
<HintPath>..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.App.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Kingdee.BOS.Contracts">
|
||||||
|
<HintPath>..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.Contracts.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Kingdee.BOS.Core">
|
<Reference Include="Kingdee.BOS.Core">
|
||||||
<HintPath>..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.Core.dll</HintPath>
|
<HintPath>..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.Core.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
@@ -49,6 +52,9 @@
|
|||||||
<Reference Include="Kingdee.K3.BD.Contracts">
|
<Reference Include="Kingdee.K3.BD.Contracts">
|
||||||
<HintPath>..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.K3.BD.Contracts.dll</HintPath>
|
<HintPath>..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.K3.BD.Contracts.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Kingdee.K3.SCM.App.Sal.Report">
|
||||||
|
<HintPath>..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.K3.SCM.App.Sal.Report.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Kingdee.K3.SCM.Sal.Report.PlugIn">
|
<Reference Include="Kingdee.K3.SCM.Sal.Report.PlugIn">
|
||||||
<HintPath>..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.K3.SCM.Sal.Report.PlugIn.dll</HintPath>
|
<HintPath>..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.K3.SCM.Sal.Report.PlugIn.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
@@ -62,7 +68,7 @@
|
|||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="Class1.cs" />
|
<Compile Include="SaleOutStockDetailRptEx.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
using Kingdee.BOS.Core.Report;
|
||||||
|
using Kingdee.BOS.Util;
|
||||||
|
using Kingdee.K3.SCM.App.Sal.Report;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Kingdee.K3.SCM.App.Sal.ReportEx
|
||||||
|
{
|
||||||
|
[Description("销售出库明细报表数据源插件-扩展"), HotUpdate]
|
||||||
|
public class SaleOutStockDetailRptEx : SaleOutStockDetailRpt
|
||||||
|
{
|
||||||
|
public override void Initialize()
|
||||||
|
{
|
||||||
|
base.Initialize();
|
||||||
|
}
|
||||||
|
public override ReportTitles GetReportTitles(IRptParams filter)
|
||||||
|
{
|
||||||
|
return base.GetReportTitles(filter);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override List<SummaryField> GetSummaryColumnInfo(IRptParams filter)
|
||||||
|
{
|
||||||
|
return base.GetSummaryColumnInfo(filter);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName)
|
||||||
|
{
|
||||||
|
base.BuilderReportSqlAndTempTable(filter, tableName);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override DataTable GetReportData(string tablename, IRptParams filter)
|
||||||
|
{
|
||||||
|
return base.GetReportData(tablename, filter);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void CloseReport()
|
||||||
|
{
|
||||||
|
base.CloseReport();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override ReportHeader GetReportHeaders(IRptParams filter)
|
||||||
|
{
|
||||||
|
return base.GetReportHeaders(filter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -86,6 +86,7 @@
|
|||||||
<Content Include="SQLServer\月度生产计划表-预测单.sql" />
|
<Content Include="SQLServer\月度生产计划表-预测单.sql" />
|
||||||
<Content Include="SQLServer\月度计划数据保存.sql" />
|
<Content Include="SQLServer\月度计划数据保存.sql" />
|
||||||
<Content Include="SQLServer\自动保存存储过程.sql" />
|
<Content Include="SQLServer\自动保存存储过程.sql" />
|
||||||
|
<Content Include="SQLServer\自定义函数.sql" />
|
||||||
<Content Include="SQLServer\计划生产订单入库数.sql" />
|
<Content Include="SQLServer\计划生产订单入库数.sql" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ namespace MonthlyProductionSchedule
|
|||||||
// FID, FEntryId, 编号、状态、物料、数量、单位、单位精度、单价、价税合计
|
// FID, FEntryId, 编号、状态、物料、数量、单位、单位精度、单价、价税合计
|
||||||
object resa = 0;
|
object resa = 0;
|
||||||
var startDate = date.ToString("yyyy-MM-dd");
|
var startDate = date.ToString("yyyy-MM-dd");
|
||||||
var endDate = date.AddMonths(1).AddDays(-1);
|
var endDate = date.AddMonths(1).AddDays(-1).ToString("yyyy-MM-dd");
|
||||||
// string sql = $@"
|
// string sql = $@"
|
||||||
//EXEC PROC_ProductionSchedule '{tableName}','{startDate}','{endDate}', {base.Context.UserLocale.LCID} ,'{seqFld}';
|
//EXEC PROC_ProductionSchedule '{tableName}','{startDate}','{endDate}', {base.Context.UserLocale.LCID} ,'{seqFld}';
|
||||||
//";
|
//";
|
||||||
@@ -223,8 +223,7 @@ namespace MonthlyProductionSchedule
|
|||||||
result = new ReportTitles();
|
result = new ReportTitles();
|
||||||
}
|
}
|
||||||
//数据保存状态
|
//数据保存状态
|
||||||
object saveDataStauts;
|
object saveDataStauts = dyFilter["DataBDStatu"];
|
||||||
dyFilter.TryGetValue("DataBDStatu", out saveDataStauts);
|
|
||||||
result.AddTitle("FDataBDStatu", saveDataStauts.ToString());
|
result.AddTitle("FDataBDStatu", saveDataStauts.ToString());
|
||||||
result.AddTitle("FDataHoldYear", dyFilter["DataHoldYear"].ToString());
|
result.AddTitle("FDataHoldYear", dyFilter["DataHoldYear"].ToString());
|
||||||
result.AddTitle("FDataHoldMonth", dyFilter["DataHoldMonth"].ToString());
|
result.AddTitle("FDataHoldMonth", dyFilter["DataHoldMonth"].ToString());
|
||||||
|
|||||||
@@ -70,6 +70,7 @@ BEGIN
|
|||||||
--<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>end
|
--<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
--<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>start
|
--<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>start
|
||||||
SELECT
|
SELECT
|
||||||
A.FID
|
A.FID
|
||||||
@@ -95,7 +96,7 @@ BEGIN
|
|||||||
END
|
END
|
||||||
END) AS 'SHELFLIFE'
|
END) AS 'SHELFLIFE'
|
||||||
--,'' AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
--,'' AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||||
,CS.FSAFESTOCK --<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
,CS.FSAFESTOCK AS SAFESTOCK --<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
,CS.FSTOREUNITID --<EFBFBD><EFBFBD><EFBFBD>浥λ
|
,CS.FSTOREUNITID --<EFBFBD><EFBFBD><EFBFBD>浥λ
|
||||||
,(CASE CP.FPACKUNITCONVERRATIO
|
,(CASE CP.FPACKUNITCONVERRATIO
|
||||||
WHEN 0
|
WHEN 0
|
||||||
@@ -108,30 +109,16 @@ BEGIN
|
|||||||
,AE.S01
|
,AE.S01
|
||||||
,AE.S02
|
,AE.S02
|
||||||
,AE.S03
|
,AE.S03
|
||||||
,(CASE CP.FPACKUNITCONVERRATIO
|
,(CustomUnitNumConversion((D.FQTY + E.FBASEQTY - D.FFINISHQTY),CP.FPACKUNITCONVERRATIO)) AS InProductionQty --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
WHEN 0
|
,(CustomUnitNumConversion(E.FBASEQTY,CP.FPACKUNITCONVERRATIO)) AS InStockQty --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
THEN D.FQTY - D.FFINISHQTY ELSE ((D.FQTY - D.FFINISHQTY)/CP.FPACKUNITCONVERRATIO)
|
--,(CASE CP.FPACKUNITCONVERRATIO
|
||||||
END) AS InProductionQty --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
-- WHEN 0
|
||||||
,(CASE CP.FPACKUNITCONVERRATIO
|
-- THEN (D.FQTY + E.FBASEQTY) ELSE ((D.FQTY + E.FBASEQTY)/CP.FPACKUNITCONVERRATIO)
|
||||||
WHEN 0
|
--END) AS TotalStockQty --<EFBFBD>ϼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
THEN E.FBASEQTY ELSE (E.FBASEQTY/CP.FPACKUNITCONVERRATIO)
|
|
||||||
END) AS InStockQty --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
,(CASE CP.FPACKUNITCONVERRATIO
|
|
||||||
WHEN 0
|
|
||||||
THEN (D.FQTY + E.FBASEQTY) ELSE ((D.FQTY + E.FBASEQTY)/CP.FPACKUNITCONVERRATIO)
|
|
||||||
END) AS TotalStockQty --<EFBFBD>ϼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
,(CASE CP.FPACKUNITCONVERRATIO
|
,(CASE CP.FPACKUNITCONVERRATIO
|
||||||
WHEN 0
|
WHEN 0
|
||||||
THEN B.FOrderQty ELSE (B.FOrderQty/CP.FPACKUNITCONVERRATIO)
|
THEN B.FOrderQty ELSE (B.FOrderQty/CP.FPACKUNITCONVERRATIO)
|
||||||
END) AS OrderLotQty --<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
END) AS OrderLotQty --<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
,CS.FSTOREUNITID AS FPACKUNITID -- '<27><>λ'
|
|
||||||
--, 140 as FLOTYIELD -- 'ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
|
||||||
--,150 as FPACKUNITCONVERRATIO -- '<27><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>'
|
|
||||||
--,400 AS SAFESTOCKCOUNT --<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
--,'' AS 'M01'
|
|
||||||
--,'' AS 'S01'
|
|
||||||
--,'' AS 'S02'
|
|
||||||
--,'' AS 'S03'
|
|
||||||
,B.FFirmQty
|
,B.FFirmQty
|
||||||
,B.FOrderQty
|
,B.FOrderQty
|
||||||
into #TMPMPS
|
into #TMPMPS
|
||||||
@@ -147,27 +134,31 @@ BEGIN
|
|||||||
LEFT JOIN (SELECT
|
LEFT JOIN (SELECT
|
||||||
A.FMATERIALID
|
A.FMATERIALID
|
||||||
,A.FSTOCKORGID
|
,A.FSTOCKORGID
|
||||||
,SUM(A.FBASEQTY) AS FBASEQTY
|
,SUM(A1.FQTY) AS FQTY
|
||||||
FROM T_STK_INVENTORY A
|
FROM T_STK_INVENTORY A
|
||||||
group by A.FMATERIALID,A.FSTOCKORGID
|
left join T_STK_INVINITDETAIL A1 on A.FMATERIALID = A1.FMATERIALID AND A.Fstockid = A1.ftockid
|
||||||
|
GROUP BY A.FMATERIALID,A.FSTOCKORGID
|
||||||
) E on E.FMATERIALID = C.FMASTERID AND E.FSTOCKORGID = A.FFOREORGID
|
) E on E.FMATERIALID = C.FMASTERID AND E.FSTOCKORGID = A.FFOREORGID
|
||||||
WHERE
|
WHERE
|
||||||
--A.FDATE BETWEEN '2023-12-01 00:00:00' AND '2023-12-31 23:59:59'
|
--A.FDATE BETWEEN '2023-12-01 00:00:00' AND '2023-12-31 23:59:59'
|
||||||
A.FDATE BETWEEN @STARTDATE AND @ENDDATE
|
A.FDATE BETWEEN @STARTDATE AND @ENDDATE
|
||||||
|
|
||||||
--<EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>λ
|
--<EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>λ
|
||||||
ALTER TABLE #TMPMPS ADD FSTOREUNITNAME VARCHAR(10)
|
ALTER TABLE #TMPMPS ADD FSTOREUNITNAME VARCHAR(50)
|
||||||
UPDATE #TMPMPS SET #TMPMPS.FSTOREUNITNAME = B_L.FNAME FROM T_BD_UNIT_L B_L WHERE B_L.FUNITID = #TMPMPS.FSTOREUNITID
|
UPDATE #TMPMPS SET #TMPMPS.FSTOREUNITNAME = B_L.FNAME FROM T_BD_UNIT_L B_L WHERE B_L.FUNITID = #TMPMPS.FSTOREUNITID
|
||||||
|
|
||||||
ALTER TABLE #TMPMPS ADD FPACKUNITNAME VARCHAR(10)
|
ALTER TABLE #TMPMPS ADD FPACKUNITNAME VARCHAR(50)
|
||||||
UPDATE #TMPMPS SET #TMPMPS.FPACKUNITNAME = B_L.FNAME FROM T_BD_UNIT_L B_L WHERE B_L.FUNITID = #TMPMPS.FPACKUNITID
|
UPDATE #TMPMPS SET #TMPMPS.FPACKUNITNAME = B_L.FNAME FROM T_BD_UNIT_L B_L WHERE B_L.FUNITID = #TMPMPS.FPACKUNITID
|
||||||
|
|
||||||
ALTER TABLE #TMPMPS ADD FPACKUNITCONVT VARCHAR(10)
|
ALTER TABLE #TMPMPS ADD FPACKUNITCONVT VARCHAR(100)
|
||||||
UPDATE T SET T.FPACKUNITCONVT = CONCAT(CONVERT(VARCHAR,T.FPACKUNITCONVERRATIO),T.STOREUNITNAME,'/',T.FPACKUNITNAME) FROM #TMPMPS T
|
UPDATE T SET T.FPACKUNITCONVT = CONCAT(CONVERT(VARCHAR,T.FPACKUNITCONVERRATIO),T.FSTOREUNITNAME,'/',T.FPACKUNITNAME) FROM #TMPMPS T
|
||||||
|
|
||||||
|
ALTER TABLE #TMPMPS ADD TotalStockQty decimal(23,6)
|
||||||
|
UPDATE T SET T.TotalStockQty = T.InProductionQty +T.InStockQty FROM #TMPMPS T
|
||||||
--<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>end
|
--<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>end
|
||||||
|
|
||||||
DECLARE @SQL VARCHAR(2000)
|
DECLARE @SQL VARCHAR(2000)
|
||||||
SET @sql = '
|
SET @sql = N'
|
||||||
select
|
select
|
||||||
t0.*
|
t0.*
|
||||||
,'+@SeqFld+'
|
,'+@SeqFld+'
|
||||||
|
|||||||
@@ -10,7 +10,10 @@ CREATE PROCEDURE PROC_PPL_SaveCurrentData
|
|||||||
,@FRECORDMONTH INT
|
,@FRECORDMONTH INT
|
||||||
AS
|
AS
|
||||||
BEGIN
|
BEGIN
|
||||||
DELETE FROM T_PLAN_PLANPLMRPT WHERE FRECORDDATE = @FRECORDYEAR AND FRECORDMONTH = @FRECORDMONTH
|
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[T_PLAN_PLANPLMRPT]') AND type IN ('U'))
|
||||||
|
BEGIN
|
||||||
|
DELETE FROM T_PLAN_PLANPLMRPT WHERE FRECORDDATE = @FRECORDYEAR AND FRECORDMONTH = @FRECORDMONTH
|
||||||
|
END
|
||||||
|
|
||||||
DECLARE @SQL VARCHAR(2000)
|
DECLARE @SQL VARCHAR(2000)
|
||||||
SET @sql = '
|
SET @sql = '
|
||||||
|
|||||||
@@ -13,7 +13,10 @@ AS
|
|||||||
BEGIN
|
BEGIN
|
||||||
EXEC PROC_INQUIRPLMTMPRTP @TableName,@STARTDATE,@ENDDATE,2052,' ROW_NUMBER() OVER(ORDER BY t0.FID ) FIDENTITYID '
|
EXEC PROC_INQUIRPLMTMPRTP @TableName,@STARTDATE,@ENDDATE,2052,' ROW_NUMBER() OVER(ORDER BY t0.FID ) FIDENTITYID '
|
||||||
|
|
||||||
DELETE FROM T_PLAN_PLANPLMRPT WHERE FRECORDDATE = @FRECORDYEAR AND FRECORDMONTH = @FRECORDMONTH
|
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[T_PLAN_PLANPLMRPT]') AND type IN ('U'))
|
||||||
|
BEGIN
|
||||||
|
DELETE FROM T_PLAN_PLANPLMRPT WHERE FRECORDDATE = @FRECORDYEAR AND FRECORDMONTH = @FRECORDMONTH
|
||||||
|
END
|
||||||
|
|
||||||
DECLARE @SQL VARCHAR(2000)
|
DECLARE @SQL VARCHAR(2000)
|
||||||
|
|
||||||
|
|||||||
11
MonthlyProductionSchedule/SQLServer/自定义函数.sql
Normal file
11
MonthlyProductionSchedule/SQLServer/自定义函数.sql
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
CREATE FUNCTION dbo.CustomUnitNumConversion(@cnvNumber decimal(23,6) ,@coefficient int)
|
||||||
|
RETURNS decimal(23,6) --<EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
as
|
||||||
|
BEGIN
|
||||||
|
declare @result decimal(23,6)
|
||||||
|
select @result = (CASE @coefficient
|
||||||
|
WHEN 0
|
||||||
|
THEN @cnvNumber ELSE (@cnvNumber/@coefficient)
|
||||||
|
END)
|
||||||
|
RETURN @result
|
||||||
|
END
|
||||||
Binary file not shown.
Reference in New Issue
Block a user