文章目录
-
- 业务背景
- 业务需求
- 方案设计
- 详细设计
- 测试
业务背景
系统现有功能不支持查询过去一年内所有物料的入库数,需要人工导出,然后再汇总。
业务需求
可以查询所有物料的入库数,多个物料,单个物料,多个组织,单个组织的入库数,以及支持查询入库数大于某个阈值。
方案设计
物料资料:未禁用
采购入库单:已审核,审核日期在过去一年内的入库数按物料编码汇总
详细设计
组织:F_XXXX_OrgNumberTitle
物料:F_XXXX_MaterialNumberTitle
创建报表服务器插件MaterialCompareRpt,继承SysReportBaseService
using Kingdee.BOS;
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Contracts.Report;
using Kingdee.BOS.Core.Report;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using XXXX.K3.Core.Const;
using XXXX.K3.Core.Util;
namespace XXXX.K3.App.Report.BD
{
/// <summary>
/// 功能描述 :物料通用性比较报表插件-服务端
/// 创 建 者 :Administrator
/// 创建日期 :2024/8/21 17:09:34
/// 最后修改者 :Krystal
/// 最后修改日期:2024/8/21 17:09:34
/// </summary>
[Description("物料通用性比较报表插件-服务端"), HotUpdate]
public class MaterialCompareRpt: SysReportBaseService
{
#region <变量>
/// <summary>
/// 汇总字段
/// </summary>
List<string> listSumColumn = new List<string>() {
"FQTY" };
/// <summary>
/// 用于sql的取数
/// </summary>
protected List<string> lstSql = new List<string>();
/// <summary>
/// 高级过滤条件
/// </summary>
private string _sWhereFilter = string.Empty;
/// <summary>
/// 排序条件
/// </summary>
private string _sOrderBy = string.Empty;
/// <summary>
/// 分组条件
/// </summary>
private string _sGroupFilter = string.Empty;
/// <summary>
/// 页面过滤参数
/// </summary>
FilterArgs _filterArgs = new FilterArgs();
/// <summary>
/// 快捷过滤参数
/// </summary>
internal class FilterArgs
{
/// <summary>
/// 物料编码
/// </summary>
private string _FMaterial = string.Empty;
/// <summary>
/// 组织
/// </summary>
private string _FOrg = string.Empty;
/// <summary>
/// 组织名称
/// </summary>
private string _FOrgName = string.Empty;
public string F