using Demo.BillView.PRD;
|
using Kingdee.BOS;
|
using Kingdee.BOS.App.Data;
|
using Kingdee.BOS.Contracts;
|
using Kingdee.BOS.Contracts.Report;
|
using Kingdee.BOS.Core.Metadata;
|
using Kingdee.BOS.Core.Report;
|
using Kingdee.BOS.Core.SqlBuilder;
|
using Kingdee.BOS.Orm.DataEntity;
|
using Kingdee.BOS.ServiceHelper;
|
using Kingdee.BOS.Util;
|
using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Data;
|
using System.Text;
|
|
namespace Demo.Report.PRD
|
{
|
[Description("齐套报表简单账表")]
|
[HotUpdate]
|
/// <summary>
|
/// 提料计划单简单账表
|
/// </summary>
|
public class prd_CompleteReport : SysReportBaseService
|
{
|
string date = "";
|
string TableName = "";
|
//初始化
|
public override void Initialize()
|
{
|
base.Initialize();
|
// 简单账表类型:普通、树形、分页
|
this.ReportProperty.ReportType = ReportType.REPORTTYPE_NORMAL;
|
this.IsCreateTempTableByPlugin = true;
|
//取代码中配置的列
|
this.ReportProperty.IsUIDesignerColumns = false;
|
//是否分组汇总
|
this.ReportProperty.IsGroupSummary = true;
|
}
|
|
//设置单据列
|
public override ReportHeader GetReportHeaders(IRptParams filter)
|
{
|
ReportHeader header = new ReportHeader();
|
// 组织 FCOLUMN1,组织名称 FCOLUMN2,生产车间 FCOLUMN3,生产车间名称 FCOLUMN4,生产资源 FCOLUMN5,生产资源名称 FCOLUMN6,生产订单号 FCOLUMN7,销售订单号 FCOLUMN8,电压+功率+底板 FCOLUMN9,订单交期 FCOLUMN10,产品 FCOLUMN11,产品编码 FCOLUMN12,产品名称 FCOLUMN13,产品规格型号 FCOLUMN26,日计划日期 FCOLUMN14,日计划数量 FCOLUMN15,物料 FCOLUMN16,物料编码 FCOLUMN17,物料名称 FCOLUMN18,物料规格型号 FCOLUMN27,计划发料数量 FCOLUMN19,齐套数量 FCOLUMN20,缺料数量 FCOLUMN21,可用数量 FCOLUMN22,即时库存数量 FCOLUMN23,占用数量 FCOLUMN24,领用占用数量 FCOLUMN25
|
header.AddChild("FCOLUMN2", new LocaleValue("组织名称"), SqlStorageType.Sqlvarchar);
|
header.AddChild("FCOLUMN4", new LocaleValue("生产车间名称"), SqlStorageType.Sqlvarchar);
|
header.AddChild("FCOLUMN6", new LocaleValue("生产资源名称"), SqlStorageType.Sqlvarchar);
|
header.AddChild("FCOLUMN7", new LocaleValue("生产订单号"), SqlStorageType.Sqlvarchar);
|
header.AddChild("FCOLUMN8", new LocaleValue("销售订单号"), SqlStorageType.Sqlvarchar);
|
//header.AddChild("FCOLUMN9", new LocaleValue("电压/功率/底板"), SqlStorageType.Sqlvarchar);
|
header.AddChild("FCOLUMN10", new LocaleValue("订单交期"), SqlStorageType.SqlDatetime);
|
header.AddChild("FCOLUMN12", new LocaleValue("产品编码"), SqlStorageType.Sqlvarchar);
|
header.AddChild("FCOLUMN13", new LocaleValue("产品名称"), SqlStorageType.Sqlvarchar);
|
header.AddChild("FCOLUMN26", new LocaleValue("产品规格型号"), SqlStorageType.Sqlvarchar);
|
header.AddChild("FCOLUMN14", new LocaleValue("日计划日期"), SqlStorageType.Sqlvarchar);
|
header.AddChild("FCOLUMN15", new LocaleValue("日计划数量"), SqlStorageType.SqlDecimal);
|
header.AddChild("FCOLUMN17", new LocaleValue("物料编码"), SqlStorageType.Sqlvarchar);
|
header.AddChild("FCOLUMN18", new LocaleValue("物料名称"), SqlStorageType.Sqlvarchar);
|
header.AddChild("FCOLUMN27", new LocaleValue("物料规格型号"), SqlStorageType.Sqlvarchar);
|
header.AddChild("FCOLUMN19", new LocaleValue("计划发料数量"), SqlStorageType.SqlDecimal);
|
header.AddChild("FCOLUMN20", new LocaleValue("齐套数量"), SqlStorageType.SqlDecimal);
|
header.AddChild("FCOLUMN21", new LocaleValue("缺料数量"), SqlStorageType.SqlDecimal);
|
header.AddChild("FCOLUMN22", new LocaleValue("可用数量"), SqlStorageType.SqlDecimal);
|
header.AddChild("FCOLUMN23", new LocaleValue("即时库存数量"), SqlStorageType.SqlDecimal);
|
header.AddChild("FCOLUMN24", new LocaleValue("占用数量"), SqlStorageType.SqlDecimal);
|
header.AddChild("FCOLUMN25", new LocaleValue("领用占用数量"), SqlStorageType.SqlDecimal);
|
header.AddChild("FCOLUMN28", new LocaleValue("有无采购订单"), SqlStorageType.Sqlvarchar);
|
|
return header;
|
}
|
//创建临时报表
|
public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName)
|
{
|
base.BuilderReportSqlAndTempTable(filter, tableName);
|
DynamicObject customFilter = filter.FilterParameter.CustomFilter;
|
string FOrgId = Convert.ToString(customFilter["FOrgId_Id"]);//组织
|
string FMATERIALID = Convert.ToString(customFilter["FMATERIALID_Id"]);//物料
|
string FWORKSHOPID = Convert.ToString(customFilter["FWORKSHOPID_Id"]);//生产车间
|
string FSCZYID = Convert.ToString(customFilter["FSCZYID_Id"]);//生产资源
|
string FXQD = Convert.ToString(customFilter["FXQD"]);//需求单号
|
string FMOBILLNO = Convert.ToString(customFilter["FMOBILLNO"]);//生产订单号
|
TableName = tableName;
|
// 取数SQL
|
// FID, FEntryId, 编号、状态、物料、数量、单位、单位精度、单价、价税合计 ,t1M_L.FNAME as FMaterialName
|
string sql = string.Format(@"/*dialect*/exec PR_Complete_Report '{0}','{1}', '{2}','{3}', '{4}','{5}','{6}'", TableName, FXQD, FMOBILLNO, FOrgId, FWORKSHOPID, FSCZYID, FMATERIALID);
|
LogService.Write("齐套报表sql:" + sql);
|
DBServiceHelper.Execute(this.Context, sql);
|
|
}
|
}
|
}
|