文章目录
- 业务背景
- 业务需求
- 方案设计
- 详细设计
- 测试
业务背景
系统现有功能不支持查询过去一年内所有物料的入库数,需要人工导出,然后再汇总。
业务需求
可以查询所有物料的入库数,多个物料,单个物料,多个组织,单个组织的入库数,以及支持查询入库数大于某个阈值。
方案设计
物料资料:未禁用
采购入库单:已审核,审核日期在过去一年内的入库数按物料编码汇总
详细设计
组织: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