自定义方法实现单据数据过滤

本文发布的目的是想跟大家分享下在k3cloud中怎么通过方法查询自己想要的数据集合,废话少说,直接看方法:

    第一种方法:  通过调用系统方法,也就是你把条件给它,剩下的事不用自己搞定,系统帮你搞了!

<summary>

获取被选择的单据行的数据;

</summary>

<param name="formid">单据标识</param>

<param name="fid">主键</param>

public DynamicObjectCollection GetQuerDate(string formid,string fid)

{

QueryBuilderParemeter par1 = new QueryBuilderParemeter();

par1.FormId=formid;

par1.FilterClauseWihtKey = " fid=" + fid ;

par1.SelectItems = SelectorItemInfo.CreateItems("FSERIALID", "FMATERIALID", "FENTRYID");

QueryBuilderParemeter par2 = par1;

return QueryServiceHelper.GetDynamicObjectCollection(this.Context, par2);

}

第二种方法:这种需要自己拼接条件得到自己想要的结果集合;

public DynamicObjectCollection Getdata(string fmaterid,string fserialid)

{

StringBuilder str1 = new StringBuilder("/*dialect*/");

str1.AppendFormat(@"select top 1 FACCTGPRICE from ( select  top 1 FBILLID,b.FBILLDATE,b.FBILLNO,b.FBILLFROMID,b.FACCTGPRICE,b.FQTY,b.FORDERNUMBER,STOCKDIM.FMATERIALID,lot.FNUMBER,tce.FNUMBER FCH,

row_number()over(partition by FMASTERID,tce.FNUMBER order by fbilldate desc) px,b.FBILLENTRYID,FMASTERID

from (select FACCTGID,FBILLDATE,FBILLNO,FBILLFROMID,FACCTGPRICE,FORDERNUMBER,FQTY,FDimeEntryId,FBILLENTRYID,FBILLID from V_HS_OutInStockSeq where FACCTGID>1) b

inner join (select FENTRYID,FMATERIALID,FLOT from T_HS_InivStockDimension where FENTRYID>1) STOCKDIM on b.FDimeEntryId = STOCKDIM.FENTRYID

left join (select FLOTID,isnull(FNUMBER,'') FNUMBER from T_BD_LOTMASTER where FLOTID>1) LOT on STOCKDIM.FLOT = LOT.FLOTID

left join (select FBILLENTRYID,FLOTID,FBILLFORMID,fbillno from T_BD_LOTMASTERBILLTRACE where FBILLENTRYID>1) tre on tre.FLOTID=STOCKDIM.FLOT and b.FBILLENTRYID=tre.FBILLENTRYID and b.FBILLFROMID=tre.FBILLFORMID and tre.fbillno=b.FBILLNO

left join (  select FBILLFORMID,FBILLENTRYID,fbillno,a.FSERIALID,ter.FNUMBER from T_BD_SERIALBILLTRACE a

left join T_BD_SERIALBILLTRACE_e b on a.FBILLTRACEID=b.FBILLTRACEID

left join (select FSERIALID,isnull(FNUMBER,'') FNUMBER from T_BD_SERIALMASTER where FSERIALID>1)  ter on b.FSERIALID=ter.FSERIALID ) tce on tre.FBILLFORMID=tre.FBILLFORMID and tce.FBILLENTRYID=tre.FBILLENTRYID  and tre.fbillno=tce.FBILLNO

left join T_BD_MATERIAL t on t.FMATERIALID=STOCKDIM.FMATERIALID

where  b.FACCTGPRICE<>0 and t.FMASTERID={0} and  tce.FSERIALID={1}) a where a.px=1", fmaterid, fserialid);

return DBUtils.ExecuteDynamicObject(this.Context, str1.ToString());

}

原文地址:http://blog.51cto.com/yataigp/2124632

时间: 2024-11-09 13:19:30

自定义方法实现单据数据过滤的相关文章

FastReport 数据过滤

FastReport 数据过滤 在DataBind 的 OnBeforePrint 设置条件 例:显示 大于0 的数据 procedure MasterData1OnBeforePrint(Sender: TfrxComponent); begin MasterData1.Visible :=  (<FxDB."Counts">) > 0; end; FastReport 数据过滤,布布扣,bubuko.com

coreseek 自定义词库(四)数据过滤

条件过滤在列表中是常用的功能,使用mysql数据库和sphinx进行搜索需要安装sphinx引擎 mysql命令行中, show engine sphinx states; 可以查看是否有  sphinxex引擎,如果没有则需要安装,否则无法使用这样的语句: select * from documents where group_id = 2 and query='@title 测试;mode=extended'; 安装sphinx引擎大家可以参考: http://blog.zhuyin.org

php 数据过滤

1.php提交数据过滤的基本原则 1)提交变量进数据库时,我们必须使用addslashes()进行过滤,像我们的注入问题,一个addslashes()也就搞定了.其实在涉及到变量取值时,intval()函数对字符串的过滤也是个不错的选择.2)在php.ini中开启magic_quotes_gpc和magic_quotes_runtime.magic_quotes_gpc可以把get,post,cookie里的引号变为斜杠.magic_quotes_runtime对于进出数据库的数据可以起到格式话

.NET WinForm程序中给DataGridView表头添加下拉列表实现数据过滤

转:http://www.cnblogs.com/jaxu/archive/2011/08/04/2127365.html 我们见过Excel中的数据过滤功能,可以通过点击表头上的下拉列表来实现数据的过滤,这个功能很实用,省去了我们需要在程序中单独设计数据的查询过滤模块,功能直接依赖于数据绑定控件DataGridView.先来看看Excel中的数据过滤功能. 要想在DataGridView中实现类似于Excel的这种功能其实也并非难事.来看看msdn上的一篇文章,上面有详细的介绍,不过目前只有全

Angularjs 数据过滤

<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta http-equiv="X-UA-Compatible"content="edge" /> <meta name="viewport"con

[MySQL] 数据过滤

组合WHERE子句来实现功能更强的数据过滤 AND操作符 SELECT 列名1, 列名2, 列名3 FROM 表名 WHERE 条件1 AND 条件2; AND在WHERE子句中指示检索满足所有给定的条件的行 OR操作符 SELECT 列名1, 列名2, 列名3 FROM 表名 WHERE 条件1 OR 条件2; OR在WHERE子句中指示检索匹配任一给定条件的行 计算次序 WHERE可能包含任意数目的AND和OR操作符.在处理OR操作符前,优先处理AND操作符.也可以使用圆括号来明确地分组相应

&lt;&lt;ABP框架&gt;&gt; 数据过滤

文档目录 本节内容: 简介 预定义过滤 ISoftDelete 何时可用? IMustHaveTenant 何时可用? IMayHaveTenant 何时可用? 禁用过滤 关于using声明 关于多租户 启用过滤 设置过滤参数 SetTenantId 方法 自定义过滤 EntityFramework.DynamicFilters 文档 其它 ORM 简介 通常都会用到软删除模式(不把一个实体从数据库中删除,只是给它做个标志“deleted“),如果一个实体被软删除,它不应被应用意外地获取,为了提

PHP简单的数据过滤

2.PHP简单的数据过滤 1)入库:  trim($str),addslashes($str)2)出库:  stripslashes($str)3)显示:  htmlspecialchars(nl2br($str))

利用bloom filter算法处理大规模数据过滤

Bloom Filter是由Bloom在1970年提出的一种快速查找算法,通过多个hash算法来共同判断某个元素是否在某个集合内.可以用于网络爬虫的url重复过滤.垃圾邮件的过滤等等. 它相比hash容器的一个优势就是,不需要存储元素的实际数据到容器中去来一个个的比较是否存在. 只需要对应的位段来标记是否存在就行了,所以想当节省内存,特别适合海量的数据处理.并且由于省去了存储元素和比较操作,所以性能也比基于hash容器的高了很多. 但是由于bloom filter没有去比较元素,只通过多个has