Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
CZXT
Project
Project
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
Graph
比较
统计图
议题
0
议题
0
列表
看板
标记
Milestones
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
谭富强
CZXT
Commits
e12113f9
提交
e12113f9
authored
3月 21, 2025
作者:
谭富强
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
添加获取标准报表数据插入到Detailreports表
上级
ec481330
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
107 行增加
和
0 行删除
+107
-0
Warehouserent_MXBB.cs
Code/LQKJ.K3.CZXT.Pluglus/Warehouserent_MXBB.cs
+107
-0
没有找到文件。
Code/LQKJ.K3.CZXT.Pluglus/Warehouserent_MXBB.cs
浏览文件 @
e12113f9
...
...
@@ -281,7 +281,15 @@ namespace LQKJ.K3.CZXT.Pluglus
receBillTableS
.
Columns
.
Add
(
"FSTOCKOUTQTY"
,
typeof
(
decimal
));
//出库数量
receBillTableS
.
Columns
.
Add
(
"FSTOCKJCQTY"
,
typeof
(
decimal
));
//结存数量
receBillTableS
.
BeginInit
();
string
tmpRpt1
=
""
;
DataTable
dataTable
=
GetReportData
(
Context
,
"STK_StockDetailRpt"
,
"STK_StockDetailFilter"
,
schemeId
,
F_LQKJ_OrgId
,
F_LQKJ_StartDate
,
F_LQKJ_EndDate
,
0
);
IMoveReport
moveReport
=
GetReportLSData
(
Context
,
"STK_StockDetailRpt"
,
"STK_StockDetailFilter"
,
schemeId
,
F_LQKJ_OrgId
,
F_LQKJ_StartDate
,
F_LQKJ_EndDate
,
0
);
if
(
moveReport
.
DataSource
!=
null
)
{
tmpRpt1
=
moveReport
.
DataSource
.
TableName
;
}
// 创建一个HashSet来存储唯一的记录标识符,用于判断重复项
HashSet
<
string
>
existingRecords
=
new
HashSet
<
string
>();
int
sequenceNumber
=
1
;
// 序号从1开始,或者根据你的需求设置
...
...
@@ -1079,6 +1087,105 @@ UPDATE SET
return
dt
;
}
/// <summary>
/// 获取分页账表数据
/// </summary>
/// <param name="ctx"></param>
/// <param name="rptFormId">账表FormId</param>
/// <param name="rptFilterFormId">账表过滤方案FormId</param>
/// <param name="schemeId">过滤方案内码</param>
/// <param name="currentPosition">分页账表当前位置</param>
/// <returns></returns>
private
IMoveReport
GetReportLSData
(
Context
ctx
,
string
rptFormId
,
string
rptFilterFormId
,
string
schemeId
,
string
F_LQKJ_OrgId
,
string
F_LQKJ_StartDate
,
string
F_LQKJ_EndDate
,
int
currentPosition
)
{
//删除物料收发明细表临时表
DBServiceHelper
.
DropTable
(
Context
,
new
HashSet
<
string
>()
{
tmpTableName
});
string
sql
=
""
;
ISysReportService
sysReporSservice
=
ServiceFactory
.
GetSysReportService
(
ctx
);
var
filterMetadata
=
FormMetaDataCache
.
GetCachedFilterMetaData
(
ctx
);
//加载字段比较条件元数据。
var
reportMetadata
=
FormMetaDataCache
.
GetCachedFormMetaData
(
ctx
,
rptFormId
);
//加载存货收发存汇总表元数据。标准成本 最新成本:采购订单最新不含税单价
var
reportFilterMetadata
=
FormMetaDataCache
.
GetCachedFormMetaData
(
ctx
,
rptFilterFormId
);
//加载存货收发存汇总表过滤条件元数据。
var
reportFilterServiceProvider
=
reportFilterMetadata
.
BusinessInfo
.
GetForm
().
GetFormServiceProvider
();
var
model
=
new
SysReportFilterModel
();
model
.
SetContext
(
ctx
,
reportFilterMetadata
.
BusinessInfo
,
reportFilterServiceProvider
);
model
.
FormId
=
reportFilterMetadata
.
BusinessInfo
.
GetForm
().
Id
;
model
.
FilterObject
.
FilterMetaData
=
filterMetadata
;
model
.
InitFieldList
(
reportMetadata
,
reportFilterMetadata
);
model
.
GetSchemeList
();
//过滤方案的主键值,可通过该SQL语句查询得到:SELECT * FROM T_BAS_FILTERSCHEME
var
entity
=
model
.
Load
(
schemeId
);
var
dyn
=
DeserializeCustomFilter
(
reportFilterMetadata
.
BusinessInfo
,
entity
.
CustomFilterSetting
);
model
.
DataObject
=
dyn
;
var
filter
=
model
.
GetFilterParameter
();
DynamicObject
filterObj
=
filter
.
CustomFilter
;
filterObj
[
"StockOrgId"
]
=
F_LQKJ_OrgId
;
if
(!
string
.
IsNullOrWhiteSpace
(
F_LQKJ_StartDate
))
{
filterObj
[
"BeginDate"
]
=
Convert
.
ToDateTime
(
F_LQKJ_StartDate
);
}
if
(!
string
.
IsNullOrWhiteSpace
(
F_LQKJ_EndDate
))
{
filterObj
[
"EndDate"
]
=
Convert
.
ToDateTime
(
F_LQKJ_EndDate
);
}
IRptParams
rptParam
=
new
RptParams
();
rptParam
.
FormId
=
reportFilterMetadata
.
BusinessInfo
.
GetForm
().
Id
;
rptParam
.
CurrentPosition
=
currentPosition
;
//分页账表当前位置
rptParam
.
StartRow
=
1
;
rptParam
.
EndRow
=
int
.
MaxValue
;
//StartRow和EndRow是报表数据分页的起始行数和截至行数,一般取所有数据,所以EndRow取int最大值。
rptParam
.
FilterParameter
=
filter
;
rptParam
.
FilterFieldInfo
=
model
.
FilterFieldInfo
;
// var dic = new Dictionary<string, object>();
var
openParameter
=
new
Dictionary
<
string
,
object
>();
var
parameterDataFormId
=
reportMetadata
.
BusinessInfo
.
GetForm
().
ParameterObjectId
;
var
parameterDataMetadata
=
FormMetaDataCache
.
GetCachedFormMetaData
(
ctx
,
parameterDataFormId
);
var
parameterData
=
UserParamterServiceHelper
.
Load
(
ctx
,
parameterDataMetadata
.
BusinessInfo
,
ctx
.
UserId
,
rptFormId
,
KeyConst
.
USERPARAMETER_KEY
);
foreach
(
var
itemProp
in
parameterData
.
DynamicObjectType
.
Properties
)
{
openParameter
[
itemProp
.
Name
]
=
parameterData
[
itemProp
.
Name
];
}
rptParam
.
CustomParams
.
Add
(
KeyConst
.
OPENPARAMETER_KEY
,
openParameter
);
rptParam
.
ParameterData
=
parameterData
;
MoveReportServiceParameter
param
=
new
MoveReportServiceParameter
(
ctx
,
reportMetadata
.
BusinessInfo
,
Guid
.
NewGuid
().
ToString
(),
rptParam
);
using
(
DataTable
dt
=
sysReporSservice
.
GetListAndReportData
(
param
).
DataSource
)
{
if
(
dt
==
null
||
dt
.
Rows
.
Count
==
0
)
{
string
SQLcj
=
@"/*dialect*/CREATE TABLE Detailreports (
FDate DATE, -- 日期
FSTOCKORGID INT, -- 库存组织ID
FSTOCKID INT, -- 库存ID
FMATERIALID INT, -- 物料ID
FSTOCKUNITID INT, -- 库存单位ID
FOWNERTYPENAME NVARCHAR(100), -- 所有者类型名称
FSTOCKQCQTY DECIMAL(18, 2), -- 库存合格数量
FSTOCKINQTY DECIMAL(18, 2), -- 入库数量
FSTOCKOUTQTY DECIMAL(18, 2), -- 出库数量
FSTOCKJCQTY DECIMAL(18, 2) -- 库存借出数量
);"
;
DBUtils
.
ExecuteDynamicObject
(
this
.
Context
,
SQLcj
);
}
else
{
if
(!
checkTableIsExist
(
this
.
Context
))
{
tmpTableName
=
createTmpTable
(
dt
,
this
.
Context
);
}
else
{
dt
.
TableName
=
"Detailreports"
;
}
//向表插入数据
using
(
KDTransactionScope
scope
=
new
KDTransactionScope
(
TransactionScopeOption
.
Required
))
{
DBUtils
.
BulkInserts
(
this
.
Context
,
dt
);
scope
.
Complete
();
}
}
}
return
sysReporSservice
.
GetListAndReportData
(
param
);
}
#
region
新增表注释
//private void CreateTmpTable(string tmpTableName)
//{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论