q
This commit is contained in:
45
CY.CB_PROACNTGROUP/BasicDataFilterPlugIn.cs
Normal file
45
CY.CB_PROACNTGROUP/BasicDataFilterPlugIn.cs
Normal file
@@ -0,0 +1,45 @@
|
||||
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
|
||||
using Kingdee.BOS.Core.DynamicForm.PlugIn;
|
||||
using Kingdee.BOS.Util;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Kingdee.BOS.Core.List;
|
||||
|
||||
namespace CY.CB_PROACNTGROUP
|
||||
{
|
||||
/// <summary>
|
||||
/// 【表单插件】单据上查询辅助资料时设置过滤条件
|
||||
/// </summary>
|
||||
[Description("【表单插件】单据上查询基础资料时设置过滤条件"), HotUpdate]
|
||||
|
||||
public class BasicDataFilterPlugIn : AbstractDynamicFormPlugIn
|
||||
{
|
||||
public override void BeforeF7Select(BeforeF7SelectEventArgs e)
|
||||
{
|
||||
base.BeforeF7Select(e);
|
||||
|
||||
// 给某个辅助资料字段的查询附加过滤条件
|
||||
|
||||
if (e.FieldKey.EqualsIgnoreCase("FPRODUCTID"))
|
||||
{
|
||||
var id = this.Model.DataObject["Id"].Long2Int();
|
||||
|
||||
var details = this.View.BusinessInfo.GetEntity("FEntity");
|
||||
var entry = this.View.Model.GetEntityDataObject(details);
|
||||
var idList = entry.Select(x => x["PRODUCTID_Id"].Long2Int()).Where(w => w != 0);
|
||||
// 只显示编码0开头的辅助资料
|
||||
|
||||
if (idList.Any())
|
||||
e.ListFilterParameter.Filter = e.ListFilterParameter.Filter.JoinFilterString($" FMATERIALID NOT IN ({string.Join(",", idList)})");
|
||||
|
||||
e.ListFilterParameter.Filter = e.ListFilterParameter.Filter.JoinFilterString($" FMATERIALID NOT IN (SELECT FPRODUCTID FROM T_CB_PROACNTENTRY WHERE FPRODUCTGROUPID != {id})");
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
68
CY.CB_PROACNTGROUP/CY.CB_PROACNTGROUP.csproj
Normal file
68
CY.CB_PROACNTGROUP/CY.CB_PROACNTGROUP.csproj
Normal file
@@ -0,0 +1,68 @@
|
||||
<?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>{5A26AFF4-AE8C-43A3-8C60-BBA153DAE608}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>CY.CB_PROACNTGROUP</RootNamespace>
|
||||
<AssemblyName>CY.CB_PROACNTGROUP</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.BOS.Model">
|
||||
<HintPath>..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.Model.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<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="BasicDataFilterPlugIn.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
36
CY.CB_PROACNTGROUP/Properties/AssemblyInfo.cs
Normal file
36
CY.CB_PROACNTGROUP/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 有关程序集的一般信息由以下
|
||||
// 控制。更改这些特性值可修改
|
||||
// 与程序集关联的信息。
|
||||
[assembly: AssemblyTitle("CY.CB_PROACNTGROUP")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("CY.CB_PROACNTGROUP")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2023")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// 将 ComVisible 设置为 false 会使此程序集中的类型
|
||||
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
|
||||
//请将此类型的 ComVisible 特性设置为 true。
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
|
||||
[assembly: Guid("5a26aff4-ae8c-43a3-8c60-bba153dae608")]
|
||||
|
||||
// 程序集的版本信息由下列四个值组成:
|
||||
//
|
||||
// 主版本
|
||||
// 次版本
|
||||
// 生成号
|
||||
// 修订号
|
||||
//
|
||||
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
|
||||
//通过使用 "*",如下所示:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -21,6 +21,8 @@ using Kingdee.BOS.App.Core.ScheduleService;
|
||||
using Kingdee.BOS.App;
|
||||
using Kingdee.BOS.Core.DynamicForm;
|
||||
using Kingdee.BOS.Log;
|
||||
using System.Data.SqlClient;
|
||||
using Kingdee.BOS.Orm.Exceptions;
|
||||
|
||||
namespace CY.SAL_OUTSTOCK
|
||||
{
|
||||
@@ -72,23 +74,60 @@ namespace CY.SAL_OUTSTOCK
|
||||
|
||||
IOperationResult saveResult = ServiceHelper.GetService<ISaveService>().Save(ctx, destFormMetadata.BusinessInfo, destObjs, OperateOption.Create());
|
||||
|
||||
string msg = string.Empty;
|
||||
|
||||
if (saveResult.ValidationErrors != null && saveResult.ValidationErrors.Count > 0)
|
||||
{
|
||||
var errorInfo = string.Join(";", saveResult.ValidationErrors.Select(x => x.Message));
|
||||
|
||||
throw new KDBusinessException("", "未知原因导致自动保存失败原因:" + errorInfo);
|
||||
}
|
||||
else
|
||||
|
||||
object[] pkArray = (from p in destObjs select p[0]).ToArray();
|
||||
//设置提交参数
|
||||
IOperationResult submitResult = ServiceHelper.GetService<ISubmitService>().Submit(ctx, destFormMetadata.BusinessInfo, pkArray, "Submit", OperateOption.Create());
|
||||
|
||||
// 判断提交结果,如果失败,则内部会抛出错误,回滚代码
|
||||
if (submitResult.IsSuccess == false)
|
||||
{
|
||||
succeedNum++;
|
||||
Logger.Info(schedule.Name, $"销售出库单:{list.Key}下推应付单:{saveResult.OperateResult[0].Number}成功!");
|
||||
throw new KDBusinessException("", "未知原因导致自动提交失败!");
|
||||
}
|
||||
|
||||
//设置审核参数
|
||||
IOperationResult auditResult = ServiceHelper.GetService<IAuditService>().Audit(ctx, destFormMetadata.BusinessInfo, pkArray, OperateOption.Create());
|
||||
// 判断提交结果,如果失败,则内部会抛出错误,回滚代码
|
||||
if (auditResult.IsSuccess == false)
|
||||
{
|
||||
throw new KDBusinessException("", "未知原因导致自动审核失败!");
|
||||
}
|
||||
|
||||
succeedNum++;
|
||||
Logger.Info(schedule.Name, $"销售出库单:{list.Key},下推应付单:{saveResult.OperateResult[0].Number}成功!");
|
||||
}
|
||||
catch(OrmException ex)
|
||||
{
|
||||
failNum++;
|
||||
Logger.Error($"服务器插件:{schedule.Name}错误(Orm)", $"销售出库单:{list.Key}", ex);
|
||||
}
|
||||
catch (KDBusinessException ex)
|
||||
{
|
||||
failNum++;
|
||||
Logger.Error($"服务器插件:{schedule.Name}错误(KDB)", $"销售出库单:{list.Key}", ex);
|
||||
}
|
||||
catch (SqlException ex)
|
||||
{
|
||||
failNum++;
|
||||
Logger.Error($"服务器插件:{schedule.Name}错误(Sql)", $"销售出库单:{list.Key}", ex);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
failNum++;
|
||||
Logger.Error($"服务器插件:{schedule.Name}", $"销售出库单:{list.Key}", ex);
|
||||
}
|
||||
finally
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -109,7 +148,7 @@ namespace CY.SAL_OUTSTOCK
|
||||
private DynamicObjectCollection GetDBData(Context ctx)
|
||||
{
|
||||
var unSql = $@"
|
||||
select * from V_NOT_RECEIVABLE_OUTSTOCK
|
||||
SELECT * from V_NOT_RECEIVABLE_OUTSTOCK
|
||||
";
|
||||
var dbList = DBUtils.ExecuteDynamicObject(ctx, $"/*dialect*/{unSql}");
|
||||
|
||||
|
||||
@@ -72,6 +72,7 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="SQLServer\无关联应收单.sql" />
|
||||
<Content Include="SQLServer\无关联应收单2-未关联应收数量.sql" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
5
CY.SAL_OUTSTOCK/SQLServer/SQLQuery4.sql
Normal file
5
CY.SAL_OUTSTOCK/SQLServer/SQLQuery4.sql
Normal file
@@ -0,0 +1,5 @@
|
||||
|
||||
UPDATE T_BD_MATERIAL SET F_CYG_CHECKBOX = 0
|
||||
|
||||
UPDATE A SET F_CYG_CHECKBOX = 1 FROM T_BD_MATERIAL A
|
||||
INNER JOIN T_CB_PROACNTENTRY B ON A.FMATERIALID = B.FPRODUCTID
|
||||
@@ -23,5 +23,5 @@ FROM
|
||||
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
|
||||
BE_LK.FSTABLENAME = 'T_SAL_OUTSTOCKENTRY' and FARNOTJOINQTY > 0) B ON A.FID = B.FID
|
||||
WHERE B.FID IS NULL and a.FDOCUMENTSTATUS ='C'
|
||||
18
CY.SAL_OUTSTOCK/SQLServer/无关联应收单2-未关联应收数量.sql
Normal file
18
CY.SAL_OUTSTOCK/SQLServer/无关联应收单2-未关联应收数量.sql
Normal file
@@ -0,0 +1,18 @@
|
||||
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
|
||||
,AE.FENTRYID
|
||||
,AE_R.FARNOTJOINQTY
|
||||
,A.FDOCUMENTSTATUS
|
||||
FROM
|
||||
T_SAL_OUTSTOCK A
|
||||
LEFT JOIN T_SAL_OUTSTOCKENTRY AE ON A.FID = AE.FID
|
||||
LEFT JOIN T_SAL_OUTSTOCKENTRY_R AE_R ON AE.FENTRYID = AE_R.FENTRYID
|
||||
WHERE
|
||||
AE_R.FARNOTJOINQTY > 0 AND
|
||||
A.FDOCUMENTSTATUS ='C'
|
||||
@@ -1,5 +1,4 @@
|
||||
using Kingdee.BOS.App.Core.ScheduleService;
|
||||
using Kingdee.BOS.App.Data;
|
||||
using Kingdee.BOS.App.Data;
|
||||
using Kingdee.BOS.Contracts;
|
||||
using Kingdee.BOS.Core.DynamicForm.Operation;
|
||||
using Kingdee.BOS.Core.List;
|
||||
@@ -21,6 +20,9 @@ using Kingdee.BOS.ServiceHelper;
|
||||
using Kingdee.BOS.Core.Metadata.FieldElement;
|
||||
using Kingdee.BOS.App;
|
||||
using Kingdee.BOS.Core.DynamicForm;
|
||||
using Kingdee.BOS.Log;
|
||||
using Kingdee.BOS.Orm.Exceptions;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
namespace CY.SAL_OUTSTOCK
|
||||
{
|
||||
@@ -35,81 +37,125 @@ namespace CY.SAL_OUTSTOCK
|
||||
|
||||
if (e.BarItemKey.Equals("tbTestAutoP"))
|
||||
{
|
||||
Run(this.Context);
|
||||
}
|
||||
}
|
||||
|
||||
public void Run(Context ctx)
|
||||
Run(this.Context, new Schedule
|
||||
{
|
||||
Name =new LocaleValue("tbTestAutoP销售出库单自定下推Test")
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public void Run(Context ctx, Schedule schedule)
|
||||
{
|
||||
Logger.Info(schedule.Name, $"销售出库单自动下推应付单start...");
|
||||
var succeedNum = 0;
|
||||
var failNum = 0;
|
||||
try
|
||||
{
|
||||
IConvertService service = Kingdee.BOS.App.ServiceHelper.GetService<IConvertService>();
|
||||
IConvertService service = ServiceHelper.GetService<IConvertService>();
|
||||
|
||||
//源单据标识
|
||||
string sourceFormId = "SAL_OUTSTOCK";
|
||||
|
||||
//目标单据标识
|
||||
string targetFormId = "AR_RECEIVABLE";
|
||||
//目标单据类型id-标准应收单
|
||||
string targetBillTypeId = "180ecd4afd5d44b5be78a6efe4a7e041";
|
||||
//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();
|
||||
var groupbyList = dbList.GroupBy(x => x["FBILLNO"].ToString());
|
||||
Logger.Info(schedule.Name, $"找到{groupbyList.Count()}条数据");
|
||||
|
||||
foreach (var list in groupbyList)
|
||||
{
|
||||
var pkid = dbList.Select(x => x["FID"]).ToArray();
|
||||
List<ListSelectedRow> selectedRows = list.Select(x => new ListSelectedRow(x["FID"].ToString(), x["FENTRYID"].ToString(), 0, sourceFormId)).ToList();
|
||||
|
||||
PushArgs pushArgs = new PushArgs(rule, selectedRows.ToArray());//下推入口参数
|
||||
pushArgs.TargetBillTypeId = targetBillTypeId;
|
||||
|
||||
OperateOption option = OperateOption.Create();//选项参数
|
||||
|
||||
try
|
||||
{
|
||||
//下推
|
||||
ConvertOperationResult convertResult = service.Push(ctx, pushArgs, option);
|
||||
|
||||
//下推数据
|
||||
DynamicObject[] destObjs = convertResult.TargetDataEntities.Select(r => r.DataEntity).ToArray();
|
||||
|
||||
FormMetadata destFormMetadata = ServiceHelper.GetService<IMetaDataService>().Load(this.Context, targetFormId) as FormMetadata;
|
||||
FormMetadata destFormMetadata = ServiceHelper.GetService<IMetaDataService>().Load(ctx, targetFormId) as FormMetadata;
|
||||
|
||||
IOperationResult saveResult = ServiceHelper.GetService<ISaveService>().Save(this.Context, destFormMetadata.BusinessInfo, destObjs, OperateOption.Create());
|
||||
//保存
|
||||
IOperationResult saveResult = ServiceHelper.GetService<ISaveService>().Save(ctx, destFormMetadata.BusinessInfo, destObjs, OperateOption.Create());
|
||||
|
||||
if ((saveResult.ValidationErrors != null && saveResult.ValidationErrors.Count > 0))
|
||||
string msg = string.Empty;
|
||||
|
||||
if (saveResult.ValidationErrors != null && saveResult.ValidationErrors.Count > 0)
|
||||
{
|
||||
var errorInfo = string.Join(";", saveResult.ValidationErrors.Select(x => x.Message));
|
||||
|
||||
throw new KDBusinessException("", "未知原因导致自动保存失败原因:" + errorInfo);
|
||||
}
|
||||
|
||||
object[] pkArray = (from p in destObjs select p[0]).ToArray();
|
||||
//设置提交参数
|
||||
IOperationResult submitResult = ServiceHelper.GetService<ISubmitService>().Submit(ctx, destFormMetadata.BusinessInfo, pkArray, "Submit", OperateOption.Create());
|
||||
|
||||
// 判断提交结果,如果失败,则内部会抛出错误,回滚代码
|
||||
if (submitResult.IsSuccess == false)
|
||||
{
|
||||
throw new KDBusinessException("", "未知原因导致自动提交失败!");
|
||||
}
|
||||
|
||||
//设置审核参数
|
||||
IOperationResult auditResult = ServiceHelper.GetService<IAuditService>().Audit(ctx, destFormMetadata.BusinessInfo, pkArray, OperateOption.Create());
|
||||
// 判断提交结果,如果失败,则内部会抛出错误,回滚代码
|
||||
if (auditResult.IsSuccess == false)
|
||||
{
|
||||
throw new KDBusinessException("", "未知原因导致自动审核失败!");
|
||||
}
|
||||
|
||||
succeedNum++;
|
||||
Logger.Info(schedule.Name, $"销售出库单:{list.Key},下推应付单:{saveResult.OperateResult[0].Number}成功!");
|
||||
}
|
||||
catch (OrmException ex)
|
||||
{
|
||||
failNum++;
|
||||
Logger.Error($"服务器插件:{schedule.Name}错误(Orm)", $"销售出库单:{list.Key}", ex);
|
||||
}
|
||||
catch (KDBusinessException ex)
|
||||
{
|
||||
stringBuilder.AppendLine($"单据:{list.Key}{ex.GetErrorInfo()}");
|
||||
failNum++;
|
||||
Logger.Error($"服务器插件:{schedule.Name}错误(KDB)", $"销售出库单:{list.Key}", ex);
|
||||
}
|
||||
catch (SqlException ex)
|
||||
{
|
||||
failNum++;
|
||||
Logger.Error($"服务器插件:{schedule.Name}错误(Sql)", $"销售出库单:{list.Key}", ex);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
failNum++;
|
||||
Logger.Error($"服务器插件:{schedule.Name}", $"销售出库单:{list.Key}", ex);
|
||||
}
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
Logger.Error($"服务器插件:{schedule.Name}", ex.Message, ex);
|
||||
}
|
||||
finally
|
||||
{
|
||||
Logger.Info(schedule.Name, $"成功{succeedNum}条,失败{failNum}条");
|
||||
Logger.Info(schedule.Name, $"销售出库单自动下推应付单end...");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
private DynamicObjectCollection GetDBData(Context ctx)
|
||||
|
||||
15
DataReport/Class1.cs
Normal file
15
DataReport/Class1.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
using Microsoft.Analytics.Interfaces;
|
||||
using Microsoft.Analytics.Interfaces.Streaming;
|
||||
using Microsoft.Analytics.Types.Sql;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace DataReport
|
||||
{
|
||||
public class Class1
|
||||
{
|
||||
}
|
||||
}
|
||||
57
DataReport/DataReport.csproj
Normal file
57
DataReport/DataReport.csproj
Normal file
@@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" 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>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectTypeGuids>{416D63FD-0477-49AA-A954-A7C5B95A9B51};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||
<ProjectGuid>{C1B12AAC-35ED-4B3B-83DF-5D7781F11C17}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>DataReport</RootNamespace>
|
||||
<AssemblyName>DataReport</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
</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="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="Microsoft.Analytics.Interfaces" />
|
||||
<Reference Include="Microsoft.Analytics.Interfaces.Streaming" />
|
||||
<Reference Include="Microsoft.Analytics.Types" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Class1.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.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>
|
||||
36
DataReport/Properties/AssemblyInfo.cs
Normal file
36
DataReport/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
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("DataReport")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("DataReport")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2023")]
|
||||
[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("c1b12aac-35ed-4b3b-83df-5d7781f11c17")]
|
||||
|
||||
// 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("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
BIN
Extensions.zip
BIN
Extensions.zip
Binary file not shown.
@@ -7,36 +7,47 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProductionMaterialRequisiti
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UseGetFmaterialData", "UseGetFmaterialData\UseGetFmaterialData.csproj", "{4D6BDA2D-FED0-4514-B4CD-FF32C5389247}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "珠海市供水有限公司", "珠海市供水有限公司", "{F03B5F75-6DCD-4FF8-989F-403C5EA0AA5B}"
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "02.珠海市供水有限公司", "02.珠海市供水有限公司", "{F03B5F75-6DCD-4FF8-989F-403C5EA0AA5B}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "未分类", "未分类", "{2217EA0E-E53F-4ECC-A49D-F38BC743F47A}"
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "00.未分类", "00.未分类", "{2217EA0E-E53F-4ECC-A49D-F38BC743F47A}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SAL_OUTSTOCK", "SAL_OUTSTOCK\SAL_OUTSTOCK.csproj", "{12B329E1-C4F2-4CA7-BF3E-313F22AD527A}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnPayableInStock", "UnPayableInStock\UnPayableInStock.csproj", "{2E8D2379-C8CB-47E1-BF89-A11111F18A08}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "扩展", "扩展", "{4ACB1DA8-8A4D-451A-A5FB-3CBD7A261263}"
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "01.扩展", "01.扩展", "{4ACB1DA8-8A4D-451A-A5FB-3CBD7A261263}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExtensionMethods", "Extensions\ExtensionMethods.csproj", "{50532462-8F7F-455C-B4B3-732ED764E2FA}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTestProject1", "UnitTestProject1\UnitTestProject1.csproj", "{6EE96AB5-8FD3-4A48-912A-CA2AF5B82300}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "天大药业(珠海)有限公司", "天大药业(珠海)有限公司", "{56C57ADC-8E92-4340-AC25-B7647758D4EB}"
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "04.天大药业(珠海)有限公司", "04.天大药业(珠海)有限公司", "{56C57ADC-8E92-4340-AC25-B7647758D4EB}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "月度生产计划", "月度生产计划", "{A362AFBC-FC73-46A6-9185-15C17E694538}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonthlyProductionSchedule", "MonthlyProductionSchedule\MonthlyProductionSchedule.csproj", "{86DA044C-9D3B-43BD-8BDB-24B65E152604}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "旭东", "旭东", "{0C4E3DC3-F1FA-4BD7-8D81-BF5EFD452A51}"
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "06.泰诺麦博", "06.泰诺麦博", "{0C4E3DC3-F1FA-4BD7-8D81-BF5EFD452A51}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "汇威", "汇威", "{42311C80-7B4C-4353-BCA9-4ABD024290C8}"
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "03.汇威", "03.汇威", "{42311C80-7B4C-4353-BCA9-4ABD024290C8}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HW.App.Sal.Report.PlugInEx", "Kingdee.K3.SCM.Sal.Report.PlugInEx\HW.App.Sal.Report.PlugInEx.csproj", "{01F02D15-2726-4077-80FC-9E38EF29BABC}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "长园", "长园", "{270F576A-EFFF-4728-8E5C-ABDF5C3F3C8B}"
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "05.长园", "05.长园", "{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
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "生产投料单", "生产投料单", "{88CCFE9E-3837-4EA9-80EB-A064110523F8}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
生产投料单-1.sql = 生产投料单-1.sql
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProductionMaterialsReport", "ProductionMaterialsReport\ProductionMaterialsReport.csproj", "{49AF92F2-2DCF-42F4-AB29-12298575D803}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CY.CB_PROACNTGROUP", "CY.CB_PROACNTGROUP\CY.CB_PROACNTGROUP.csproj", "{5A26AFF4-AE8C-43A3-8C60-BBA153DAE608}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Trinomab.PUR_RPT_POOrderTrace", "Trinomab.PUR_RPT_POOrderTrace\Trinomab.PUR_RPT_POOrderTrace.csproj", "{9E2DDD7F-02EE-4BDF-A696-4CC6D310FEAD}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
@@ -79,6 +90,18 @@ Global
|
||||
{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
|
||||
{49AF92F2-2DCF-42F4-AB29-12298575D803}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{49AF92F2-2DCF-42F4-AB29-12298575D803}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{49AF92F2-2DCF-42F4-AB29-12298575D803}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{49AF92F2-2DCF-42F4-AB29-12298575D803}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{5A26AFF4-AE8C-43A3-8C60-BBA153DAE608}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{5A26AFF4-AE8C-43A3-8C60-BBA153DAE608}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{5A26AFF4-AE8C-43A3-8C60-BBA153DAE608}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5A26AFF4-AE8C-43A3-8C60-BBA153DAE608}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{9E2DDD7F-02EE-4BDF-A696-4CC6D310FEAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9E2DDD7F-02EE-4BDF-A696-4CC6D310FEAD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9E2DDD7F-02EE-4BDF-A696-4CC6D310FEAD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{9E2DDD7F-02EE-4BDF-A696-4CC6D310FEAD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
@@ -94,6 +117,10 @@ Global
|
||||
{86DA044C-9D3B-43BD-8BDB-24B65E152604} = {A362AFBC-FC73-46A6-9185-15C17E694538}
|
||||
{01F02D15-2726-4077-80FC-9E38EF29BABC} = {42311C80-7B4C-4353-BCA9-4ABD024290C8}
|
||||
{6A52A594-F6A9-4754-BF53-22A126B54081} = {270F576A-EFFF-4728-8E5C-ABDF5C3F3C8B}
|
||||
{88CCFE9E-3837-4EA9-80EB-A064110523F8} = {42311C80-7B4C-4353-BCA9-4ABD024290C8}
|
||||
{49AF92F2-2DCF-42F4-AB29-12298575D803} = {42311C80-7B4C-4353-BCA9-4ABD024290C8}
|
||||
{5A26AFF4-AE8C-43A3-8C60-BBA153DAE608} = {270F576A-EFFF-4728-8E5C-ABDF5C3F3C8B}
|
||||
{9E2DDD7F-02EE-4BDF-A696-4CC6D310FEAD} = {0C4E3DC3-F1FA-4BD7-8D81-BF5EFD452A51}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {16F7DBDD-F487-41D6-A856-9E9B7B3F61C5}
|
||||
|
||||
60
HW.DataBase/HW.DataBase.sqlproj
Normal file
60
HW.DataBase/HW.DataBase.sqlproj
Normal file
@@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<Name>HW.DataBase</Name>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectVersion>4.1</ProjectVersion>
|
||||
<ProjectGuid>{ba245971-0afa-4434-a524-b53d0ff7f8d6}</ProjectGuid>
|
||||
<DSP>Microsoft.Data.Tools.Schema.Sql.Sql160DatabaseSchemaProvider</DSP>
|
||||
<OutputType>Database</OutputType>
|
||||
<RootPath>
|
||||
</RootPath>
|
||||
<RootNamespace>HW.DataBase</RootNamespace>
|
||||
<AssemblyName>HW.DataBase</AssemblyName>
|
||||
<ModelCollation>1033, CI</ModelCollation>
|
||||
<DefaultFileStructure>BySchemaAndSchemaType</DefaultFileStructure>
|
||||
<DeployToDatabase>True</DeployToDatabase>
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<TargetLanguage>CS</TargetLanguage>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<SqlServerVerification>False</SqlServerVerification>
|
||||
<IncludeCompositeObjects>True</IncludeCompositeObjects>
|
||||
<TargetDatabaseSet>True</TargetDatabaseSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<BuildScriptName>$(MSBuildProjectName).sql</BuildScriptName>
|
||||
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<DefineDebug>false</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<BuildScriptName>$(MSBuildProjectName).sql</BuildScriptName>
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">11.0</VisualStudioVersion>
|
||||
<!-- Default to the v11.0 targets path if the targets file for the current VS version is not found -->
|
||||
<SSDTExists Condition="Exists('$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets')">True</SSDTExists>
|
||||
<VisualStudioVersion Condition="'$(SSDTExists)' == ''">11.0</VisualStudioVersion>
|
||||
</PropertyGroup>
|
||||
<Import Condition="'$(SQLDBExtensionsRefPath)' != ''" Project="$(SQLDBExtensionsRefPath)\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
|
||||
<Import Condition="'$(SQLDBExtensionsRefPath)' == ''" Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
1
HW.DataBase/Script1.sql
Normal file
1
HW.DataBase/Script1.sql
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
BIN
Kingdee.K3.SCM.App.Sal.Report.dll
Normal file
BIN
Kingdee.K3.SCM.App.Sal.Report.dll
Normal file
Binary file not shown.
@@ -53,7 +53,8 @@
|
||||
<Reference Include="Kingdee.K3.BD.Contracts">
|
||||
<HintPath>..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.K3.BD.Contracts.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Kingdee.K3.SCM.App.Sal.Report">
|
||||
<Reference Include="Kingdee.K3.SCM.App.Sal.Report, Version=7.3.1275.3, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<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">
|
||||
@@ -72,5 +73,8 @@
|
||||
<Compile Include="SaleOutStockDetailRptEx.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="SQLServer\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
@@ -1,4 +1,6 @@
|
||||
using Kingdee.BOS;
|
||||
using Kingdee.BOS.App.Data;
|
||||
using Kingdee.BOS.Contracts;
|
||||
using Kingdee.BOS.Core.Report;
|
||||
using Kingdee.BOS.Util;
|
||||
using Kingdee.K3.SCM.App.Sal.Report;
|
||||
@@ -8,6 +10,7 @@ using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
@@ -16,47 +19,45 @@ namespace HW.App.Sal.Report.PlugInEx
|
||||
[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);
|
||||
}
|
||||
private string[] TempTableName;
|
||||
|
||||
public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName)
|
||||
{
|
||||
base.BuilderReportSqlAndTempTable(filter, tableName);
|
||||
//创建临时表用于保存自己的数据
|
||||
IDBService dbservice = Kingdee.BOS.App.ServiceHelper.GetService<IDBService>();
|
||||
TempTableName = dbservice.CreateTemporaryTableName(this.Context, 1);
|
||||
string strTable = TempTableName[0];
|
||||
|
||||
}
|
||||
//调用基类方式获取初步查询数据
|
||||
base.BuilderReportSqlAndTempTable(filter, strTable);
|
||||
|
||||
protected override DataTable GetReportData(string tablename, IRptParams filter)
|
||||
{
|
||||
var dataTable = base.GetReportData(tablename, filter);
|
||||
string strSql = $@"/*dialect*/
|
||||
SELECT
|
||||
A.*
|
||||
,BE.F_ORA_TEXT2 AS FSALESCATEGORY
|
||||
INTO {tableName}
|
||||
FROM
|
||||
{strTable} A
|
||||
LEFT JOIN T_SAL_OUTSTOCK B ON A.FID = B.FID AND A.FBILLNUMBER = B.FBILLNO
|
||||
LEFT JOIN T_SAL_OUTSTOCKENTRY BE ON A.FID = B.FID AND BE.FENTRYID = A.FENTRYID ";
|
||||
|
||||
|
||||
var sql = @"select ";
|
||||
return dataTable;
|
||||
DBUtils.Execute(this.Context, strSql);
|
||||
}
|
||||
|
||||
public override void CloseReport()
|
||||
{
|
||||
base.CloseReport();
|
||||
//删除临时表
|
||||
if (TempTableName == null || TempTableName.Length == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
public override ReportHeader GetReportHeaders(IRptParams filter)
|
||||
{
|
||||
var header = base.GetReportHeaders(filter);
|
||||
IDBService dbservice = Kingdee.BOS.App.ServiceHelper.GetService<IDBService>();
|
||||
|
||||
//header.AddChild("FSALESCATEGORY", new LocaleValue("销售类别"));
|
||||
dbservice.DeleteTemporaryTableName(this.Context, TempTableName);
|
||||
|
||||
return header;
|
||||
|
||||
base.CloseReport();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -75,24 +75,7 @@ namespace MonthlyProductionSchedule
|
||||
//
|
||||
// 设置精度控制
|
||||
var list = new List<DecimalControlField>();
|
||||
//// 数量
|
||||
//list.Add(new DecimalControlField
|
||||
//{
|
||||
// ByDecimalControlFieldName = "FQty",
|
||||
// DecimalControlFieldName = "FUnitPrecision"
|
||||
//});
|
||||
//// 单价
|
||||
//list.Add(new DecimalControlField
|
||||
//{
|
||||
// ByDecimalControlFieldName = "FTAXPRICE",
|
||||
// DecimalControlFieldName = "FPRICEDIGITS"
|
||||
//});
|
||||
//// 金额
|
||||
//list.Add(new DecimalControlField
|
||||
//{
|
||||
// ByDecimalControlFieldName = "FALLAMOUNT",
|
||||
// DecimalControlFieldName = "FAMOUNTDIGITS"
|
||||
//});
|
||||
|
||||
this.ReportProperty.DecimalControlFieldList = list;
|
||||
}
|
||||
|
||||
@@ -198,9 +181,9 @@ namespace MonthlyProductionSchedule
|
||||
header.AddChild("SAFESTOCKCOUNT", new LocaleValue("安全库存量"), _colIndex++);
|
||||
header.AddChild("SAFESTOCK", new LocaleValue("安全库存数量"), _colIndex++);
|
||||
header.AddChild("M01", new LocaleValue("本月预计需求量"), _colIndex++);
|
||||
header.AddChild("S01", new LocaleValue(date.AddMonths(-1).ToString("yyyyMM") + "发货量"), _colIndex++);
|
||||
header.AddChild("S02", new LocaleValue(date.AddMonths(-2).ToString("yyyyMM") + "发货量"), _colIndex++);
|
||||
header.AddChild("S03", new LocaleValue(date.AddMonths(-3).ToString("yyyyMM") + "发货量"), _colIndex++);
|
||||
header.AddChild("S01", new LocaleValue(date.AddMonths(-1).ToString("yyyy年MM月") + "发货量"), _colIndex++);
|
||||
header.AddChild("S02", new LocaleValue(date.AddMonths(-2).ToString("yyyy年MM月") + "发货量"), _colIndex++);
|
||||
header.AddChild("S03", new LocaleValue(date.AddMonths(-3).ToString("yyyy年MM月") + "发货量"), _colIndex++);
|
||||
header.AddChild("InStockQty", new LocaleValue("已入库量"), _colIndex++);
|
||||
header.AddChild("InProductionQty", new LocaleValue("在生产量"), _colIndex++);
|
||||
header.AddChild("TotalStockQty", new LocaleValue("合计入库量"), _colIndex++);
|
||||
|
||||
@@ -31,7 +31,7 @@ BEGIN
|
||||
FROM
|
||||
T_PRD_MORPT A
|
||||
LEFT JOIN T_PRD_MORPTENTRY AE ON AE.FID = A.FID
|
||||
WHERE A.FDOCUMENTSTATUS='C'
|
||||
WHERE A.FDOCUMENTSTATUS='C' AND A.FBILLTYPE = '50fa7c2eda7947b89fab5431bf25d48e'
|
||||
) B on B.FMOENTRYID = AE.FENTRYID
|
||||
WHERE
|
||||
AE.FSRCBILLTYPE ='PLN_PLANORDER'
|
||||
@@ -91,34 +91,25 @@ BEGIN
|
||||
CONVERT ( VARCHAR,CAST(CS.FEXPPERIOD AS INT) ) + '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
WHEN 'D' THEN
|
||||
CONVERT ( VARCHAR, CAST((
|
||||
CASE CS.FEXPPERIOD%30 WHEN 0 THEN CS.FEXPPERIOD/30 ELSE CS.FEXPPERIOD / 365 * 12 END
|
||||
CASE CS.FEXPPERIOD % 30 WHEN 0 THEN CS.FEXPPERIOD / 30 ELSE CS.FEXPPERIOD / 365 * 12 END
|
||||
) AS INT)) + '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>' ELSE ''
|
||||
END
|
||||
END) AS 'SHELFLIFE'
|
||||
--,'' AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,C.FLotSize AS StandardLot
|
||||
,CS.FSAFESTOCK AS SAFESTOCK --<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,CS.FSTOREUNITID --<EFBFBD><EFBFBD><EFBFBD>浥λ
|
||||
,(CASE CP.FPACKUNITCONVERRATIO
|
||||
WHEN 0
|
||||
THEN CS.FSAFESTOCK ELSE (CS.FSAFESTOCK/CP.FPACKUNITCONVERRATIO)
|
||||
END) AS SAFESTOCKCOUNT
|
||||
,(PackageValConver(CS.FSAFESTOCK, CP.FPACKUNITCONVERRATIO)) AS SAFESTOCKCOUNT
|
||||
,CP.FLOTYIELD -- 'ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,CP.FPACKUNITCONVERRATIO -- '<27><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>'
|
||||
,CP.FPACKUNITID -- '<27><>λ'
|
||||
,AE.M01
|
||||
,AE.S01
|
||||
,AE.S02
|
||||
,AE.S03
|
||||
,(CustomUnitNumConversion((D.FQTY + E.FBASEQTY - D.FFINISHQTY),CP.FPACKUNITCONVERRATIO)) AS InProductionQty --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,(CustomUnitNumConversion(E.FBASEQTY,CP.FPACKUNITCONVERRATIO)) 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
|
||||
WHEN 0
|
||||
THEN B.FOrderQty ELSE (B.FOrderQty/CP.FPACKUNITCONVERRATIO)
|
||||
END) AS OrderLotQty --<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,PackageValConver(AE.M01,CP.FPACKUNITCONVERRATIO) as M01
|
||||
,PackageValConver(AE.S01,CP.FPACKUNITCONVERRATIO) as S01
|
||||
,PackageValConver(AE.S02,CP.FPACKUNITCONVERRATIO) as S02
|
||||
,PackageValConver(AE.S03,CP.FPACKUNITCONVERRATIO) as S03
|
||||
,PackageValConver((ISNULL(D.FQTY,0) - ISNULL(D.FFINISHQTY,0)),CP.FPACKUNITCONVERRATIO) AS InProductionQty --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,PackageValConver(ISNULL(E.FQTY,0),CP.FPACKUNITCONVERRATIO) AS InStockQty --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,PackageValConver((ISNULL(D.FQTY,0) + ISNULL(E.FQTY,0)),CP.FPACKUNITCONVERRATIO) AS TotalStockQty --<EFBFBD>ϼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,PackageValConver(B.FOrderQty,CP.FPACKUNITCONVERRATIO) AS OrderLotQty --<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,B.FFirmQty
|
||||
,B.FOrderQty
|
||||
into #TMPMPS
|
||||
@@ -136,9 +127,9 @@ BEGIN
|
||||
,A.FSTOCKORGID
|
||||
,SUM(A1.FQTY) AS FQTY
|
||||
FROM T_STK_INVENTORY A
|
||||
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
|
||||
LEFT JOIN T_STK_INVINITDETAIL A1 on A.FMATERIALID = A1.FMATERIALID AND A.Fstockid = A1.FSTOCKID
|
||||
group by A.FMATERIALID,A.FSTOCKORGID
|
||||
) E on E.FMATERIALID = B.FMATERIALID
|
||||
WHERE
|
||||
--A.FDATE BETWEEN '2023-12-01 00:00:00' AND '2023-12-31 23:59:59'
|
||||
A.FDATE BETWEEN @STARTDATE AND @ENDDATE
|
||||
@@ -153,8 +144,8 @@ BEGIN
|
||||
ALTER TABLE #TMPMPS ADD FPACKUNITCONVT VARCHAR(100)
|
||||
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
|
||||
--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
|
||||
|
||||
DECLARE @SQL VARCHAR(2000)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
CREATE FUNCTION dbo.CustomUnitNumConversion(@cnvNumber decimal(23,6) ,@coefficient int)
|
||||
CREATE FUNCTION PackageValConver(@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
|
||||
|
||||
12
ProductionMaterialsReport/Class1.cs
Normal file
12
ProductionMaterialsReport/Class1.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ProductionMaterialsReport
|
||||
{
|
||||
public class Class1
|
||||
{
|
||||
}
|
||||
}
|
||||
53
ProductionMaterialsReport/ProductionMaterialsReport.csproj
Normal file
53
ProductionMaterialsReport/ProductionMaterialsReport.csproj
Normal file
@@ -0,0 +1,53 @@
|
||||
<?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>{49AF92F2-2DCF-42F4-AB29-12298575D803}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>ProductionMaterialsReport</RootNamespace>
|
||||
<AssemblyName>ProductionMaterialsReport</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.8</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="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Class1.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="SqlServer\SQLQuery4.sql" />
|
||||
<Content Include="SqlServer\生产用料清单.sql" />
|
||||
<Content Include="SqlServer\生产订单.sql" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
36
ProductionMaterialsReport/Properties/AssemblyInfo.cs
Normal file
36
ProductionMaterialsReport/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 有关程序集的一般信息由以下
|
||||
// 控制。更改这些特性值可修改
|
||||
// 与程序集关联的信息。
|
||||
[assembly: AssemblyTitle("ProductionMaterialsReport")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("ProductionMaterialsReport")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2023")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// 将 ComVisible 设置为 false 会使此程序集中的类型
|
||||
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
|
||||
//请将此类型的 ComVisible 特性设置为 true。
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
|
||||
[assembly: Guid("49af92f2-2dcf-42f4-ab29-12298575d803")]
|
||||
|
||||
// 程序集的版本信息由下列四个值组成:
|
||||
//
|
||||
// 主版本
|
||||
// 次版本
|
||||
// 生成号
|
||||
// 修订号
|
||||
//
|
||||
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
|
||||
//通过使用 "*",如下所示:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
55
ProductionMaterialsReport/SqlServer/SQLQuery4.sql
Normal file
55
ProductionMaterialsReport/SqlServer/SQLQuery4.sql
Normal file
@@ -0,0 +1,55 @@
|
||||
SELECT * INTO #TMP123 FROM #TPRDMOINFO
|
||||
DROP TABLE #TPRDMOINFO
|
||||
|
||||
SELECT
|
||||
'' AS '<EFBFBD>к<EFBFBD>',
|
||||
'' AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
A.FBILLNO AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD>',
|
||||
'' AS '<EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
'' AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
A.FMNEMONICCODE AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
A.FBILLNO AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
A.FNUMBER AS '<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
A.FNAME AS '<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
A.FSPECIFICATION AS '<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>',
|
||||
A.FNAME AS '<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>λ',
|
||||
A.FQTY AS '<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
A.FNUMBER AS '<EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD>',
|
||||
A.FNAME AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
( CASE A.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END ) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ',
|
||||
A.FSPECIFICATION AS '<EFBFBD><EFBFBD><EFBFBD>Ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>',
|
||||
'' AS '<EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
A.FSTDQTY AS '<EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
A.FUNITID AS '<EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>λ',
|
||||
A.FINVENTORYQTY AS '<EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
'' AS '<EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
A.FNEEDQTY AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
'' AS '<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
'' AS 'Ƿ<EFBFBD><EFBFBD>',
|
||||
'' AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<EFBFBD><EFBFBD>',
|
||||
'' AS '<EFBFBD>ƻ<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
A.FPICKEDQTY AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
A.FNOPICKEDQTY AS 'δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
'' AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
A.FMUSTQTY AS 'Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
'' AS '<EFBFBD><EFBFBD>ע',
|
||||
'' AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
A.FSCRAPQTY AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
'' AS '<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
'' AS '<EFBFBD>ֿ<EFBFBD>',
|
||||
'' AS '<EFBFBD><EFBFBD>λ',
|
||||
A.FREPICKEDQTY AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
A.FPLANSTARTDATE AS '<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
A.FPLANFINISHDATE AS '<EFBFBD>ƻ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
'' AS '<EFBFBD><EFBFBD>λ',
|
||||
'' AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>',
|
||||
'' AS 'BOM<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>',
|
||||
A.FBILLTYPE AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
A.FWORKSHOPID AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
( CASE AE_A.FSTATUS WHEN 6 THEN '<EFBFBD>ѽ' ELSE '' END ) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
A.FDOCUMENTSTATUS AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD>ϵ<EFBFBD>״̬',
|
||||
'' AS 'PR<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δתPO<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
FROM
|
||||
#TMP123 A
|
||||
|
||||
DROP TABLE #TMP123
|
||||
49
ProductionMaterialsReport/SqlServer/生产用料清单.sql
Normal file
49
ProductionMaterialsReport/SqlServer/生产用料清单.sql
Normal file
@@ -0,0 +1,49 @@
|
||||
SELECT
|
||||
TOP 100
|
||||
A.FID
|
||||
,A.FFORMID
|
||||
,A.FBILLNO --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD>
|
||||
,A.FMATERIALID --<EFBFBD><EFBFBD>ƷID
|
||||
,A.FMOBILLNO --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,B.FNUMBER --<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,B_L.FNAME --<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,B_L.FSPECIFICATION --<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>
|
||||
,A.FBOMID
|
||||
,A.FSALEORDERNO --<EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,A.FUNITID --<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>λ
|
||||
,D_L.FNAME UNITNAME
|
||||
,A.FQTY --<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,AE.FMATERIALID AS ENTRYMATERIALID --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
|
||||
,C.FNUMBER
|
||||
,C.FMNEMONICCODE
|
||||
,C_L.FNAME
|
||||
,(CASE C.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) FMATERIALSRC --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
|
||||
,C_L.FSPECIFICATION
|
||||
,(AE.FNUMERATOR / AE.FDENOMINATOR) DOSAGE
|
||||
,AE.FNEEDQTY --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,AE.FUNITID AS ENTRYUNITID
|
||||
,E_L.FNAME ENTRYUNITNAME --<EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>λ
|
||||
,AE.FMATERIALTYPE --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,AE.FSTDQTY --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,AE.FMUSTQTY --Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,AE_Q.FPICKEDQTY --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,AE_Q.FNOPICKEDQTY --δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,AE_Q.FREPICKEDQTY --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,AE_Q.FSCRAPQTY --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
--,AE.FMEMO --<EFBFBD><EFBFBD>ע
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,AE_C.FSTOCKID
|
||||
,F_L.FNAME --<EFBFBD>ֿ<EFBFBD>
|
||||
,AE_C.FSTOCKLOCID --<EFBFBD><EFBFBD>λ
|
||||
FROM
|
||||
T_PRD_PPBOM A --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嵥
|
||||
LEFT JOIN T_PRD_PPBOMENTRY AE ON A.FID = AE.FID --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嵥<EFBFBD>ӱ<EFBFBD>
|
||||
LEFT JOIN T_PRD_PPBOMENTRY_Q AE_Q ON AE_Q.FENTRYID = AE.FENTRYID --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嵥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>
|
||||
LEFT JOIN T_PRD_PPBOMENTRY_C AE_C ON AE_C.FENTRYID = AE.FENTRYID
|
||||
LEFT JOIN T_BD_MATERIAL B ON B.FMATERIALID = A.FMATERIALID
|
||||
LEFT JOIN T_BD_MATERIAL_L B_L ON B_L.FMATERIALID = A.FMATERIALID AND B_L.FLOCALEID = 2052
|
||||
LEFT JOIN T_BD_MATERIAL C ON C.FMATERIALID = AE.FMATERIALID
|
||||
LEFT JOIN T_BD_MATERIAL_L C_L ON C_L.FMATERIALID = AE.FMATERIALID AND C_L.FLOCALEID = 2052
|
||||
LEFT JOIN T_BD_UNIT_L D_L ON D_L.FUNITID = A.FUNITID AND D_L.FLOCALEID = 2052
|
||||
LEFT JOIN T_BD_UNIT_L E_L ON E_L.FUNITID = AE.FUNITID AND E_L.FLOCALEID = 2052
|
||||
LEFT JOIN T_BD_STOCK_L F_L ON F_L.FSTOCKID = AE_C.FSTOCKID AND F_L.FLOCALEID =2052
|
||||
10
ProductionMaterialsReport/SqlServer/生产订单.sql
Normal file
10
ProductionMaterialsReport/SqlServer/生产订单.sql
Normal file
@@ -0,0 +1,10 @@
|
||||
SELECT
|
||||
A.FID
|
||||
,A.FBILLNO
|
||||
,AE.FPLANSTARTDATE --<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>
|
||||
,AE.FPLANFINISHDATE --<EFBFBD>ƻ<EFBFBD><EFBFBD>깤ʱ<EFBFBD><EFBFBD>
|
||||
,AE.FPRODUCTTYPE --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,AE.FWORKSHOPID --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
FROM
|
||||
T_PRD_MO A
|
||||
LEFT JOIN T_PRD_MOENTRY AE ON A.FID = AE.FID
|
||||
BIN
SAL_OUTSTOCK.dll
BIN
SAL_OUTSTOCK.dll
Binary file not shown.
BIN
SAL_OUTSTOCK.zip
BIN
SAL_OUTSTOCK.zip
Binary file not shown.
12
TNMB.PUR_RPT_POOrderTrace/POOrderTraceServiceRptEx.cs
Normal file
12
TNMB.PUR_RPT_POOrderTrace/POOrderTraceServiceRptEx.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace TNMB.PUR_RPT_POOrderTrace
|
||||
{
|
||||
public class POOrderTraceServiceRptEx
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
36
TNMB.PUR_RPT_POOrderTrace/Properties/AssemblyInfo.cs
Normal file
36
TNMB.PUR_RPT_POOrderTrace/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 有关程序集的一般信息由以下
|
||||
// 控制。更改这些特性值可修改
|
||||
// 与程序集关联的信息。
|
||||
[assembly: AssemblyTitle("TNMB.PUR_RPT_POOrderTrace")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("TNMB.PUR_RPT_POOrderTrace")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2023")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// 将 ComVisible 设置为 false 会使此程序集中的类型
|
||||
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
|
||||
//请将此类型的 ComVisible 特性设置为 true。
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
|
||||
[assembly: Guid("bcc79c5a-0154-4484-981e-13b7a4ffb4d3")]
|
||||
|
||||
// 程序集的版本信息由下列四个值组成:
|
||||
//
|
||||
// 主版本
|
||||
// 次版本
|
||||
// 生成号
|
||||
// 修订号
|
||||
//
|
||||
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
|
||||
//通过使用 "*",如下所示:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
47
TNMB.PUR_RPT_POOrderTrace/TNMB.PUR_RPT_POOrderTrace.csproj
Normal file
47
TNMB.PUR_RPT_POOrderTrace/TNMB.PUR_RPT_POOrderTrace.csproj
Normal file
@@ -0,0 +1,47 @@
|
||||
<?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>{BCC79C5A-0154-4484-981E-13B7A4FFB4D3}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>TNMB.PUR_RPT_POOrderTrace</RootNamespace>
|
||||
<AssemblyName>TNMB.PUR_RPT_POOrderTrace</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="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<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="POOrderTraceServiceRptEx.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
57
Trinomab.PUR_RPT_POOrderTrace/POOrderTraceServiceEx.cs
Normal file
57
Trinomab.PUR_RPT_POOrderTrace/POOrderTraceServiceEx.cs
Normal file
@@ -0,0 +1,57 @@
|
||||
using Kingdee.BOS.App;
|
||||
using Kingdee.BOS.App.Data;
|
||||
using Kingdee.BOS.Contracts;
|
||||
using Kingdee.BOS.Core.Report;
|
||||
using Kingdee.K3.SCM.App.Purchase.Report;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Trinomab.PUR_RPT_POOrderTrace
|
||||
{
|
||||
public class POOrderTraceServiceEx : POOrderTraceService
|
||||
{
|
||||
private string[] TempTableName;
|
||||
|
||||
public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName)
|
||||
{
|
||||
//创建临时表用于保存自己的数据
|
||||
IDBService dbservice = ServiceHelper.GetService<IDBService>();
|
||||
TempTableName = dbservice.CreateTemporaryTableName(this.Context, 1);
|
||||
string strTable = TempTableName[0];
|
||||
|
||||
//调用基类方式获取初步查询数据
|
||||
base.BuilderReportSqlAndTempTable(filter, strTable);
|
||||
|
||||
string strSql = $@"/*dialect*/
|
||||
SELECT
|
||||
A.*
|
||||
,BE.F_ORA_TEXT2 AS FAPPLYDEPT
|
||||
INTO {tableName}
|
||||
FROM
|
||||
{strTable} A
|
||||
LEFT JOIN t_PUR_POOrderEntry BE ON A.FID = B.FID AND BE.FENTRYID = A.FENTRYID
|
||||
LEFT JOIN t_PUR_POOrder B ON A.FID = B.FID AND A.FBILLNO = B.FBILLNO
|
||||
";
|
||||
|
||||
DBUtils.Execute(this.Context, strSql);
|
||||
}
|
||||
|
||||
public override void CloseReport()
|
||||
{
|
||||
//删除临时表
|
||||
if (TempTableName == null || TempTableName.Length == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
IDBService dbservice = ServiceHelper.GetService<IDBService>();
|
||||
|
||||
dbservice.DeleteTemporaryTableName(this.Context, TempTableName);
|
||||
|
||||
|
||||
base.CloseReport();
|
||||
}
|
||||
}
|
||||
}
|
||||
36
Trinomab.PUR_RPT_POOrderTrace/Properties/AssemblyInfo.cs
Normal file
36
Trinomab.PUR_RPT_POOrderTrace/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 有关程序集的一般信息由以下
|
||||
// 控制。更改这些特性值可修改
|
||||
// 与程序集关联的信息。
|
||||
[assembly: AssemblyTitle("Trinomab.PUR_RPT_POOrderTrace")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("Trinomab.PUR_RPT_POOrderTrace")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2023")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// 将 ComVisible 设置为 false 会使此程序集中的类型
|
||||
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
|
||||
//请将此类型的 ComVisible 特性设置为 true。
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
|
||||
[assembly: Guid("9e2ddd7f-02ee-4bdf-a696-4cc6d310fead")]
|
||||
|
||||
// 程序集的版本信息由下列四个值组成:
|
||||
//
|
||||
// 主版本
|
||||
// 次版本
|
||||
// 生成号
|
||||
// 修订号
|
||||
//
|
||||
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
|
||||
//通过使用 "*",如下所示:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -0,0 +1,68 @@
|
||||
<?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>{9E2DDD7F-02EE-4BDF-A696-4CC6D310FEAD}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Trinomab.PUR_RPT_POOrderTrace</RootNamespace>
|
||||
<AssemblyName>Trinomab.PUR_RPT_POOrderTrace</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.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="Kingdee.K3.SCM.App.Purchase.Report">
|
||||
<HintPath>..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.K3.SCM.App.Purchase.Report.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<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="POOrderTraceServiceEx.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
@@ -15,6 +15,47 @@ namespace UnitTestProject1
|
||||
[TestClass]
|
||||
public class UnitTest1
|
||||
{
|
||||
public class TestEntity
|
||||
{
|
||||
public TestEntity(int _id, string _name)
|
||||
{
|
||||
id = _id;
|
||||
name = _name;
|
||||
}
|
||||
public int id;
|
||||
public string name;
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void TestMethod2()
|
||||
{
|
||||
var list = new List<TestEntity>();
|
||||
list.Add(new TestEntity(1,"ttetett"));
|
||||
list.Add(new TestEntity(1,"ttetett"));
|
||||
list.Add(new TestEntity(1,"ttetett"));
|
||||
list.Add(new TestEntity(1,"ttetett"));
|
||||
list.Add(new TestEntity(1,"ttetett"));
|
||||
list.Add(new TestEntity(1,"ttetett"));
|
||||
list.Add(new TestEntity(1,"ttetett"));
|
||||
list.Add(new TestEntity(1,"ttetett"));
|
||||
list.Add(new TestEntity(1,"ttetett"));
|
||||
list.Add(new TestEntity(1,"ttetett"));
|
||||
list.Add(new TestEntity(1,"ttetett"));
|
||||
list.Add(new TestEntity(2,"ttetett"));
|
||||
list.Add(new TestEntity(2,"ttetett"));
|
||||
list.Add(new TestEntity(2,"ttetett"));
|
||||
list.Add(new TestEntity(2,"ttetett"));
|
||||
list.Add(new TestEntity(2,"ttetett"));
|
||||
list.Add(new TestEntity(2,"ttetett"));
|
||||
list.Add(new TestEntity(2,"ttetett"));
|
||||
|
||||
var ttt = list.GroupBy(x => x.id);
|
||||
|
||||
var count = ttt.Count();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void TestMethod1()
|
||||
{
|
||||
@@ -66,6 +107,7 @@ namespace UnitTestProject1
|
||||
|
||||
|
||||
auditList.Add(data);
|
||||
auditList.Add(data1);
|
||||
jsonMap.Add("itemList", auditList);
|
||||
|
||||
string json = JsonConvert.SerializeObject(jsonMap);
|
||||
@@ -76,17 +118,14 @@ namespace UnitTestProject1
|
||||
param.Add("name", "supvWarehouse.save");
|
||||
param.Add("app_key", appKey);
|
||||
param.Add("data", json);
|
||||
param.Add("timestamp", System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
||||
param.Add("timestamp", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
||||
param.Add("version", "");
|
||||
string sign = BuildSign(param, secret);
|
||||
param.Add("sign", sign);
|
||||
|
||||
var ttt = @"{""entName"":""珠海昶展物流有限公司"",""entCusCode"":""4404660006"",""bookNum"":""T5781W000004"",""declaEntCreditCode"":""91440404MABRGQJR1H"",""deliveryType"":""QTCK"",""declaEntCusCode"":""4404660006"",""inputDate"":""2018-02-02 14:03:07"",""deliveryTm"":""2018-02-09 00:00:00"",""declaType"":""00"",""declaDate"":""2023-12-20 09:38:55"",""declaCode"":""QTCK000003"",""itemList"":[{""productDesc"":""喇叭"",""inventoryOrderNo"":""10"",""deliveryOrderNo"":""2"",""specificationsModels"":"" "",""hscode"":""8"",""deliveryCnt"":""80.0000000000"",""itemNo"":""1"",""inventory"":""9"",""productCd"":""100242"",""calcUnit"":""Pcs""},{""productDesc"":""听筒"",""inventoryOrderNo"":""10"",""deliveryOrderNo"":""2"",""specificationsModels"":"" "",""hscode"":""8"",""deliveryCnt"":""80.0000000000"",""itemNo"":""2"",""inventory"":""9"",""productCd"":""100243"",""calcUnit"":""Pcs""}],""entCreditCode"":""91440404MABRGQJR1H"",""declaEntName"":""珠海昶展物流有限公司"",""inputMan"":""demo"",""customsCode"":""5781""}";
|
||||
//var json = "{\"entName\":\"珠海昶展物流有限公司\",\"entCusCode\":\"4404660006\",\"bookNum\":\"T5781W000004\",\"declaEntCreditCode\":\"91440404MABRGQJR1H\",\"declaEntCusCode\":\"4404660006\",\"entCreditCode\":\"91440404MABRGQJR1H\",\"declaEntName\":\"珠海昶展物流有限公司\",\"inputMan\":\"demo\",\"customsCode\":\"5781\",\"inputDate\":\"2018-02-02 14:03:07\",\"declaType\":\"00\",\"deliveryTm\":\"2018-02-09 00:00:00\",\"declaDate\":\"2023-12-20 10:55:59\",\"deliveryType\":\"QTCK\",\"declaCode\":\"QTCK000003\",\"item\":[{\"itemNo\":\"1\",\"deliveryOrderNo\":\"2\",\"productCd\":\"100242\",\"productDesc\":\"喇叭\",\"specificationsModels\":\" \",\"deliveryCnt\":\"80.0000000000\",\"calcUnit\":\"Pcs\",\"hscode\":\"8\",\"inventory\":\"9\",\"inventoryOrderNo\":\"10\"},{\"itemNo\":\"2\",\"deliveryOrderNo\":\"2\",\"productCd\":\"100243\",\"productDesc\":\"听筒\",\"specificationsModels\":\" \",\"deliveryCnt\":\"80.0000000000\",\"calcUnit\":\"Pcs\",\"hscode\":\"8\",\"inventory\":\"9\",\"inventoryOrderNo\":\"10\"}]}";
|
||||
var jsonParam = JsonConvert.SerializeObject(param);
|
||||
|
||||
var ttt2 = JsonConvert.SerializeObject(param);
|
||||
|
||||
HttpWebHelper.DoPost("http://119.146.223.48:39082/api/", ttt2);
|
||||
var result = HttpWebHelper.DoPost("http://119.146.223.48:39082/api/", jsonParam);
|
||||
var a = 0.00M;
|
||||
var a2 = 0L;
|
||||
var f = (a == a2);
|
||||
@@ -146,4 +185,8 @@ namespace UnitTestProject1
|
||||
return sign.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Binary file not shown.
90
生产投料单-1.sql
Normal file
90
生产投料单-1.sql
Normal file
@@ -0,0 +1,90 @@
|
||||
SELECT
|
||||
'' AS '行号',
|
||||
'' AS '单据日期',
|
||||
D.FBILLNO AS '生产投料单号',
|
||||
'' AS '销售订单号',
|
||||
'' AS '购货单位代码',
|
||||
C.FMNEMONICCODE AS '助记码',
|
||||
A.FBILLNO AS '生产任务单号',
|
||||
C.FNUMBER AS '产品代码',
|
||||
C_L.FNAME AS '产品名称',
|
||||
C_L.FSPECIFICATION AS '产品规格型号',
|
||||
E_L.FNAME AS '产品单位',
|
||||
AE.FQTY AS '产品生产数量',
|
||||
I.FNUMBER AS '物料代码',
|
||||
I.FNAME AS '物料名称',
|
||||
( CASE I.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END ) AS '物料来源',
|
||||
I.FSPECIFICATION AS '物料规格型号',
|
||||
'' AS '物料技术标准',
|
||||
I.FSTDQTY AS '物料单位用量',
|
||||
I.FUNITID AS '物料单位',
|
||||
I.FINVENTORYQTY AS '物料库存量',
|
||||
'' AS '物料待检数',
|
||||
I.FNEEDQTY AS '物料总需求',
|
||||
'' AS '当前在制品数量',
|
||||
'' AS '欠料',
|
||||
'' AS '物料在途数',
|
||||
'' AS '计划投料数量',
|
||||
I.FPICKEDQTY AS '已领数量',
|
||||
I.FNOPICKEDQTY AS '未领数量',
|
||||
'' AS '标准数量',
|
||||
I.FMUSTQTY AS '应发数量',
|
||||
'' AS '备注',
|
||||
'' AS '损耗数量',
|
||||
I.FSCRAPQTY AS '报废数量',
|
||||
'' AS '计划发料日期',
|
||||
'' AS '仓库',
|
||||
'' AS '仓位',
|
||||
I.FREPICKEDQTY AS '补料数量',
|
||||
AE.FPLANSTARTDATE AS '计划开工日期',
|
||||
AE.FPLANFINISHDATE AS '计划完工日期',
|
||||
'' AS '工位',
|
||||
'' AS '其他备注项',
|
||||
'' AS 'BOM备注项',
|
||||
A.FBILLTYPE AS '生产类型',
|
||||
AE.FWORKSHOPID AS '生产车间',
|
||||
( CASE AE_A.FSTATUS WHEN 6 THEN '已结案' ELSE '' END ) AS '生产任务单结案否',
|
||||
D.FDOCUMENTSTATUS AS '生产投料单状态',
|
||||
'' AS 'PR已审未转PO数量'
|
||||
FROM
|
||||
T_PRD_MO A --生产订单
|
||||
left JOIN T_PRD_MOENTRY AE ON A.FID = AE.FID --生产订单子表
|
||||
LEFT JOIN T_PRD_MOENTRY_A AE_A ON AE_A.FENTRYID = AE.FENTRYID
|
||||
INNER JOIN T_BD_MATERIAL C ON AE.FMATERIALID = C.FMATERIALID --物料表
|
||||
INNER JOIN T_BD_MATERIAL_L C_L ON C.FMATERIALID = C_L.FMATERIALID
|
||||
LEFT JOIN T_PRD_PPBOM D ON D.FMOENTRYID = AE_A.FENTRYID --生产用料清单
|
||||
LEFT JOIN T_BD_UNIT_L E_L ON AE.FUNITID = E_L.FUNITID
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
A.FMATERIALID,
|
||||
A.FMASTERID,
|
||||
A.FNUMBER,
|
||||
B.FUNITID,
|
||||
AL.FNAME ,
|
||||
AL.FSPECIFICATION ,
|
||||
A.FMATERIALSRC,
|
||||
B.FENTRYID,
|
||||
B.FID,
|
||||
B.FMOID,
|
||||
B.FMOENTRYID,
|
||||
B.FMOTYPE,
|
||||
B.FMOBILLNO,
|
||||
B.FNEEDQTY,
|
||||
B.FMUSTQTY,
|
||||
B_Q.FPICKEDQTY,
|
||||
B_Q.FNOPICKEDQTY,
|
||||
B.FSTDQTY,
|
||||
B_Q.FINVENTORYQTY,
|
||||
B_Q.FSCRAPQTY,
|
||||
B_Q.FREPICKEDQTY
|
||||
FROM
|
||||
T_BD_MATERIAL A
|
||||
LEFT JOIN T_BD_MATERIAL_L AL ON A.FMATERIALID = AL.FMATERIALID
|
||||
RIGHT JOIN T_PRD_PPBOMENTRY B ON B.FMATERIALID = A.FMATERIALID
|
||||
RIGHT JOIN T_PRD_PPBOMENTRY_Q B_Q ON B.FENTRYID = B_Q.FENTRYID
|
||||
WHERE
|
||||
AL.FLOCALEID = 2052
|
||||
) I ON D.FID = I.FID
|
||||
WHERE
|
||||
C_L.FLOCALEID = 2052
|
||||
AND E_L.FLOCALEID = 2052
|
||||
Reference in New Issue
Block a user