金蝶云星空服务端根据条件加载基础资料
使用场景:
需要根据表单界面的条件返回满足条件的数据。
比如:
1、服务端或者客户端根据编码加载基础资料,辅助资料,单据
2、服务端或者客户端根据名称加载基础资料,辅助资料,单据
3、服务端或者客户端根据多条件加载基础资料,辅助资料,单据
解决方案设计:
适配查询的对象(基础资料,辅助资料,单据)变化,查询条件变化,返回的字段变化。
故抽成公共方法,变量传参。
详细设计
一、创建公共方法
public static class BOSCommon { /// <summary> /// 获取表单数据包(返回满足条件的第一条,一般是创建事件最早的)/// </summary> /// <param name="ctx"></param> /// <param name="formId">业务对象</param> /// <param name="filter">查询条件</param> /// <param name="field">获取字段,用,隔开</param> /// <returns></returns> public static DynamicObject GetMetaDynamic(Context ctx, string formId, string filter, string field) { QueryBuilderParemeter para = new QueryBuilderParemeter() { FormId = formId, SelectItems = SelectorItemInfo.CreateItems(field), FilterClauseWihtKey = filter }; DynamicObjectCollection Entrys = QueryServiceHelper.GetDynamicObjectCollection(ctx, para); if (Entrys == null || Entrys.Count == 0) return null; return Entrys[0]; } /// <summary> /// 获取表单数据包(返回满足条件的全部)/// </summary> /// <param name="ctx"></param> /// <param name="formId">业务对象</param> /// <param name="filter">条件</param> /// <param name="field">获取字段,用,隔开</param> /// <returns></returns> public static DynamicObjectCollection GetMetaDynamicCollection(Context ctx, string formId, string filter, string field) { //Convert.ToString(""); QueryBuilderParemeter para = new QueryBuilderParemeter() { FormId = formId, SelectItems = SelectorItemInfo.CreateItems(field), FilterClauseWihtKey = filter }; return QueryServiceHelper.GetDynamicObjectCollection(ctx, para); } }
二、使用/调用
在需要使用的地方。添加对公共方法的使用即可。