提交 ad935491 authored 作者: 谭富强's avatar 谭富强

完成代码

上级 2342d57a
......@@ -263,7 +263,6 @@ namespace LQKJ.K3.CZXT.Pluglus
receBillTable.Columns.Add("FSTOCKOUTQTY", typeof(decimal));//出库数量
receBillTable.Columns.Add("FSTOCKJCQTY", typeof(decimal));//结存数量
receBillTable.Columns.Add("FComputeWay", typeof(string));//结存数量
receBillTable.BeginInit();
// 创建一个唯一的临时表名 tmpTableName
string tmpTableNameS = "tmpTableName2025050602"; //AppServiceContext.DBService.CreateTemporaryTableName
......@@ -736,6 +735,39 @@ namespace LQKJ.K3.CZXT.Pluglus
}
else
{
string tmpTableName2 = "tmpTableName2026050601"; //AppServiceContext.DBService.CreateTemporaryTableName(base.Context)
if (DBUtils.IsExistTable(this.Context, tmpTableName2))
{
DBUtils.Execute(this.Context, "drop table " + tmpTableName2 + ";");
}
//创建一个空的临时表 tmpTableName
CreateTmpTable2(tmpTableName2);
DataTable receBillTable2 = new DataTable();
receBillTable2.TableName = tmpTableName2;
receBillTable2.Columns.Add("FDate", typeof(DateTime));//日期
receBillTable2.Columns.Add("FBILLNAME", typeof(string));//单据类型
receBillTable2.Columns.Add("FBILLTYPENAME", typeof(string));//单据类型名称
receBillTable2.Columns.Add("FSTOCKORGID", typeof(string));//库存组织ID
receBillTable2.Columns.Add("FOwnerId", typeof(string));//货主ID
receBillTable2.Columns.Add("FSTOCKID", typeof(string));//仓库ID
receBillTable2.Columns.Add("FMATERIALID", typeof(string));//物料ID
receBillTable2.Columns.Add("FSTOCKUNITID", typeof(string));//库存单位ID
receBillTable2.Columns.Add("FOWNERTYPENAME", typeof(string));//货主类型
receBillTable2.Columns.Add("F_LQKJ_Scanfee", typeof(string));//一物一码扫码出库费
receBillTable2.Columns.Add("F_LQKJ_JDchannelfee", typeof(string));//京东渠道贴标费
receBillTable2.Columns.Add("F_LQKJ_Breturnfees", typeof(string));//B2B退货挑选费
receBillTable2.Columns.Add("F_LQKJ_Specialloading", typeof(string));//特殊装货
receBillTable2.Columns.Add("F_LQKJ_Inspectionfee", typeof(string));//检查及包装费
receBillTable2.Columns.Add("F_LQKJ_Wdbczce", typeof(string));//未达标仓租差额
receBillTable2.Columns.Add("F_ORA_DECIMAL_QTR1", typeof(string));//卸车费
receBillTable2.Columns.Add("F_ORA_DECIMAL_83G", typeof(string));//装车费
receBillTable2.Columns.Add("FSTOCKQCQTY", typeof(string));//库存合格数量
receBillTable2.Columns.Add("FSTOCKINQTY", typeof(string));//入库数量
receBillTable2.Columns.Add("FSTOCKOUTQTY", typeof(string));//出库数量
receBillTable2.Columns.Add("FSTOCKJCQTY", typeof(string));//结存数量
receBillTable2.Columns.Add("FComputeWay", typeof(string));//结存数量
string sqldate = ($@"/*dialect*/SELECT FSTOCKORGID,FOwnerId,FSTOCKID,FMATERIALID,FOWNERTYPENAME,FSTOCKUNITID
,SUM(CAST(F_ORA_DECIMAL_83G AS DECIMAL(23, 8))) AS F_ORA_DECIMAL_83G--装车费
,SUM(CAST(F_ORA_DECIMAL_QTR1 AS DECIMAL(23, 8))) AS F_ORA_DECIMAL_QTR1--卸车费
......@@ -763,15 +795,45 @@ namespace LQKJ.K3.CZXT.Pluglus
newRow["FSTOCKOUTQTY"] = item["FSTOCKOUTQTY"];
newRow["FComputeWay"] = "7";
receBillTable.Rows.Add(newRow);
DataRow newRow2 = receBillTable2.NewRow();
newRow2["FDate"] = F_LQKJ_StartDate;
newRow2["FSTOCKORGID"] = item["FSTOCKORGID"];
newRow2["FOwnerId"] = item["FOwnerId"];
newRow2["FSTOCKID"] = item["FSTOCKID"];
newRow2["FMATERIALID"] = item["FMATERIALID"];
newRow2["FSTOCKUNITID"] = item["FSTOCKUNITID"];
newRow2["FOWNERTYPENAME"] = item["FOWNERTYPENAME"];
newRow2["F_ORA_DECIMAL_83G"] = item["F_ORA_DECIMAL_83G"];
newRow2["F_ORA_DECIMAL_QTR1"] = item["F_ORA_DECIMAL_QTR1"];
newRow2["FSTOCKQCQTY"] = item["FSTOCKQCQTY"];
newRow2["FSTOCKINQTY"] = item["FSTOCKINQTY"];
newRow2["FSTOCKOUTQTY"] = item["FSTOCKOUTQTY"];
newRow2["FComputeWay"] = "7";
receBillTable2.Rows.Add(newRow2);
}
Kingdee.BOS.App.Data.DBUtils.BulkInserts(this.Context, receBillTable2);
string sqldate2 = ($@"/*dialect*/SELECT FSTOCKORGID,FOwnerId,FSTOCKID,FMATERIALID,FOWNERTYPENAME,FSTOCKUNITID
,SUM(CAST(F_ORA_DECIMAL_83G AS DECIMAL(23, 8))) AS F_ORA_DECIMAL_83G--装车费
,SUM(CAST(F_ORA_DECIMAL_QTR1 AS DECIMAL(23, 8))) AS F_ORA_DECIMAL_QTR1--卸车费
,SUM(CAST(FSTOCKQCQTY AS DECIMAL(23, 8))) AS FSTOCKQCQTY--期初&数量(库存)
,SUM(CAST(FSTOCKINQTY AS DECIMAL(23, 8))) AS FSTOCKINQTY--收入&数量(库存)
,SUM(CAST(FSTOCKOUTQTY AS DECIMAL(23, 8))) AS FSTOCKOUTQTY--发出&数量(库存)
,SUM(CAST(FSTOCKQCQTY AS DECIMAL(23, 8))) + SUM(CAST(FSTOCKINQTY AS DECIMAL(23, 8))) - SUM(CAST(FSTOCKOUTQTY AS DECIMAL(23, 8))) AS FSTOCKJCQTY--结存&数量(库存)
into tmpTableName2026050602
FROM {tmpTableNameS}
GROUP BY FSTOCKORGID,FOwnerId,FSTOCKID,FMATERIALID,FOWNERTYPENAME,FSTOCKUNITID");
DBUtils.Execute(this.Context, sqldate2);
}
#endregion
}
// 结束表初始化
receBillTable.EndInit();
// 保存到数据库或进一步处理
Kingdee.BOS.App.Data.DBUtils.BulkInserts(this.Context, receBillTable);
// 定义报表字段名的列表 zds 列表将用于记录需要选择的字段及其相关信息(如类型、长度、名称等)
zds = new List<CreateTmpTableZD>();
// 添加多个字段的定义:字段名称、数据类型、长度、中文名称等
......@@ -1387,6 +1449,40 @@ UPDATE SET
// 执行 SQL 语句
DBUtils.Execute(base.Context, builder.ToString());
}
private void CreateTmpTable2(string tmpTableName)
{
StringBuilder builder = new StringBuilder();
builder.AppendLine(string.Format(@"/*dialect*/IF NOT EXISTS (SELECT * FROM sysobjects WHERE name = '{0}' AND type = 'U') ", tmpTableName));
builder.AppendLine(string.Format(@"CREATE TABLE {0} (", tmpTableName));
builder.AppendLine("FDate DATE,");//日期
builder.AppendLine("FBILLNAME NVARCHAR(100),");//单据类型
builder.AppendLine("FBILLTYPENAME NVARCHAR(100),");//单据类型名称
builder.AppendLine("FSTOCKORGID NVARCHAR(100),");//库存组织ID
builder.AppendLine("FOwnerId NVARCHAR(100),");//货主ID
builder.AppendLine("FSTOCKID NVARCHAR(100),");//仓库ID
builder.AppendLine("FMATERIALID NVARCHAR(100),");//物料ID
builder.AppendLine("FSTOCKUNITID NVARCHAR(100),");//库存单位ID
builder.AppendLine("FOWNERTYPENAME NVARCHAR(100),");//货主类型
builder.AppendLine("F_LQKJ_Scanfee NVARCHAR(100),");//一物一码扫码出库费
builder.AppendLine("F_LQKJ_JDchannelfee NVARCHAR(100),");//京东渠道贴标费
builder.AppendLine("F_LQKJ_Breturnfees NVARCHAR(100),");//B2B退货挑选费
builder.AppendLine("F_LQKJ_Specialloading NVARCHAR(100),");//特殊装货
builder.AppendLine("F_LQKJ_Inspectionfee NVARCHAR(100),");//检查及包装费
builder.AppendLine("F_LQKJ_Wdbczce NVARCHAR(100),");//未达标仓租差额
builder.AppendLine("F_ORA_DECIMAL_QTR1 NVARCHAR(100),");//卸车费
builder.AppendLine("F_ORA_DECIMAL_83G NVARCHAR(100),");//装车费
builder.AppendLine("FSTOCKQCQTY NVARCHAR(100),");//库存合格数量
builder.AppendLine("FSTOCKINQTY NVARCHAR(100),");//入库数量
builder.AppendLine("FSTOCKOUTQTY NVARCHAR(100),");//出库数量
builder.AppendLine("FSTOCKJCQTY NVARCHAR(100),");//结存数量
builder.AppendLine("FComputeWay NVARCHAR(100)");//结存数量
builder.AppendLine(")");
// 执行 SQL 语句
DBUtils.Execute(base.Context, builder.ToString());
}
private void CreateTmpTableS(string tmpTableNameS)
{
StringBuilder builder = new StringBuilder();
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论