MES开发与应用 课件 3.5.7 工业管理软件开发基础-命令的使用-平台查询的实现_第1页
MES开发与应用 课件 3.5.7 工业管理软件开发基础-命令的使用-平台查询的实现_第2页
MES开发与应用 课件 3.5.7 工业管理软件开发基础-命令的使用-平台查询的实现_第3页
MES开发与应用 课件 3.5.7 工业管理软件开发基础-命令的使用-平台查询的实现_第4页
MES开发与应用 课件 3.5.7 工业管理软件开发基础-命令的使用-平台查询的实现_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3.5命令的使用深圳市信息职业技术学院——平台查询的实现平台查询实现介绍01目

录标准查询实现功能查询的开发实现02重写查询命令实现功能查询的开发实现03自定义查询实体实现功能查询的开发实现04标准查询+数据提供者实现功能查询的开发实现05知识回顾列表保存命令框架实现介绍;自定义列表保存命令开发示例;表单保存命令框架实现介绍;自定义表单保存命令开发示例;自定义保存命令注意事项。学习目标通过本节学习可以:掌握平台标准查询的开发实现;掌握自定义查询实体的开发实现;掌握自定义查询命令的开发实现;了解平台查询的实现方式,并能够根据具体的业务需求选择合适的方式实现功能的查询;了解标准查询+数据提供者实现查询的开发实现。01平台查询实现介绍平台查询实现介绍平台查询实现介绍平台实现查询的方式包括:标准查询:需要配置查询视图配置;适用于基础功能的查询,界面配置和查询都是使用框架就能满足要求。自定义查询实体类:需要配置查询实体类、查询实体界面和查询方法;框架标准查询不能满足业务要求时使用,适用于单据和报表类的查询,这种方式的查询基本可以满足所有业务场景。重写查询命令:可以结合标准查询和自定义查询实体类一起使用,如果使用的自定义查询实体,又重写了查询命令,自定义查询实体类的查询方法返回为空,否则会出现查询两次的情况。标准查询+数据提供者:需要配置查询视图、数据提供者类实现查询方法;界面配置可以使用框架的实现,后端查询数据库部分需要重写才能满足业务需求。平台查询实现介绍查询域平台命令的使用查询区域:查询区域平台是未进行权限管控的,只要有菜单的权限,查询域的操作按钮就可使用;查询命令的使用:View.UseCommands(WebCommandNames.ExecuteQuery);清空命令的使用:View.UseCommands(WebCommandNames.ClearQuery);重置命令的使用:View.UseCommands(WebCommandNames.ResetQuery);移除框架高级查询命令:使用WebCommandNames.SysQueryCommands.Remove(typeof(AdvancedQueryCommand).FullName);进行移除。注意:使用下面代码,所有功能的高级查询按钮都会被移除。思考题普通用户有对应功能的菜单权限,未分配查询、清空和重置按钮的操作权限,能否操作这三个按钮?可以,查询区域的按钮未控制权限,有菜单权限即可操作查询域按钮。02标准查询实现功能查询的开发实现标准查询实现标准查询是框架实现的通用查询,适用于基础功能的查询。使用标准查询,只需要在实体中通过[CriteriaQuery]配置查询面板,界面的ConfigQueryView配置查询条件。标准查询实现03重写查询命令实现功能查询的开发实现查询命令平台实现介绍查询命令平台实现介绍查询命令框架是在SIE.cmd.ExecuteQuery中实现的,实现代码如下。SIE.defineCommand('SIE.cmd.ExecuteQuery',{meta:{text:"查询",iconCls:"icon-Searchicon-blue"},executeIntervalMode:SIE.cmd.IntervalMode.None.value,execute:function(view){varrecord=view.getCurrent();deleterecord.data['CriteriaModuleKey'];deleterecord.data['CriteriaType'];deleterecord.data["CriteriaString"];deleterecord.data["LinkData"];varistrue=true;view.getControl().items.items.forEach(function(item){if(!item.validate()){istrue=false;}});if(istrue){view.tryExecuteQuery({clearSort:true,action:'entity'});}}});获取当前行数据删除数据,如果不存在,删除也不会保存。判断界面控件的验证是否通过。验证通过,调用框架的查询,执行后端的查询逻辑。查询命令的定义查询命令的定义查询命令的定义,因为要重写execute执行方法,所以不需要继承框架的查询命令SIE.cmd.ExecuteQueryCommand,查询的实现可以拷贝框架查询的实现逻辑进行修改。SIE.defineCommand('SIE.cmd.ExecuteQueryCommand',{meta:{text:"查询",iconCls:"icon-Searchicon-blue"},

execute:function(view){

}});重写查询命令开发步骤开发步骤在界面端添加查询命令在框架实现的基础上加了自己的前端校验。这里没有使用框架的查询,查询方法自己去实现的。重写查询命令开发步骤知识扩展前端向后端请求数据,可以使用SIE.invokeDataQuery请求SIE.invokeDataQuery({method:'GetItems',params:[criteria],action:'queryer',type:'SIE.Web.Demo.Items.ItemDataQueryer',token:view.getToken(),success:function(res){

}});票据,必填添加,否则不会进入到后端查询方法参数请求方式,固定值请求类型,后端查询类的全命名空间,CS类查询类需要继承DataQueryer请求成功的回调函数处理。重写查询命令开发步骤开发步骤SIE.invokeDataQuery后台请求方法的实现,继承DataQueryer;因为DataQueryer是在SIE.Web中实现的,所以该类必须建在UI端工程。重写查询命令开发步骤开发步骤GetItems方法的实现。重写查询命令开发步骤开发步骤在success请求成功的方法中处理表格的数据。设置表格列表的数据设置完成后将数据标记成未修改状态。重写查询命令开发步骤开发步骤在界面将框架的查询命令替换成自定义查询命令,框架的查询命令为WebCommandNames.ExecuteQuery。重写查询命令开发步骤开发步骤说明:如果是自定义查询实体中重写的查询命令,查询实体的查询方法中返回一个空集合即可,这里不要再去查数据库操作了。思考题前端js调用框架后端标准的查询是如何调用的?view.tryExecuteQuery({clearSort:true,action:'entity'});04自定义查询实体实现功能查询的开发实现思考题读者管理中类别号可以进行多选查询,状态可以查询全部数据,应该如何实现?从需求分析可以看出,该业务使用框架标准的查询不能满足要求,需要进行查询实体的重写。自定义查询实体的开发实现步骤开发步骤在服务端工程,定义一个查询实体类,命名规范:实体+Criteria,继承Criteria,标记特性为[QueryEntity,Serializable],在查询实体中添加查询条件(通过代码段添加)和重写查询方法。自定义查询实体的开发实现步骤开发步骤查询实体类别号属性说明,类别号要实现多选,配置的属性类型设置为string。自定义查询实体的开发实现步骤开发步骤实体中状态属性不允许为空,查询时要设置为可空,否则不能选择查询全部数据。自定义查询实体的开发实现步骤开发步骤配置查询实体对应的界面。自定义查询实体的开发实现步骤开发步骤在读者管理控制器中编写查询方法。自定义查询实体的开发实现步骤开发步骤查询方法代码参考。

public

virtualEntityList<ReaderMan>GetReaderManList(ReaderManCriteriacriteria)

{

varquery=Query<ReaderMan>();query.WhereIf(!criteria.ReaderNo.IsNullOrEmpty(),p=>p.ReaderNo==criteria.ReaderNo).WhereIf(!criteria.Name.IsNullOrEmpty(),p=>p.Name==criteria.Name).WhereIf(criteria.State.HasValue,p=>p.State==criteria.State);

if(!criteria.ReaderCatId.IsNullOrEmpty())

{

string[]catIds=criteria.ReaderCatId.Split(',');List<double>readerCatIds=catIds.Select(p=>double.Parse(p)).ToList();query.Where(p=>readerCatIds.Contains(p.ReaderCatId));

}

varresult=query.OrderBy(criteria.OrderInfoList).ToList(criteria.PagingInfo,newEagerLoadOptions().LoadWithViewProperty());

returnresult;

}自定义查询实体的开发实现步骤开发步骤查询实体中的查询方法去调用控制器的查询方法。自定义查询实体的开发实现步骤开发步骤读者管理实体中去关联查询实体,使用[ConditionQueryType(typeof(查询实体类名))]进行关联。自定义查询实体的开发实现步骤开发步骤界面效果。自定义查询实体的开发实现步骤开发步骤注意事项:一个实体只能使用一个查询面板,配置多个会异常。05标准查询+数据提供者实现功能查询的开发实现标准查询+数据提供者开发实现说明:这种实现方式,查询方法是自己实现的,界面查询条件是在查询视图ConfigQueryView中进行配置的;实现步骤如下。配置界面的查询视图开发步骤标准查询+数据提供者开发实现在服务端新增标准数据提供者,命名以Provider结尾,实现ICriteriaQueryProvider接口,实现获取数据的方法GetList。开发步骤标准查询+数据提供者开发实现数据查询方法的实现。开发步骤标准查询+数据提供者开发实现在服务端工程的初始化类的初始化方法中注册标准查询数据提供者。开发步骤标准查询+数据提供者开发实现在实体上指定标准查询,标准查询中关联数据提供者类。开发步骤思考题查询提供者类的GetList方法执行进不去,可能的原因是?未在对应服务端工程的初始化类的初始化方法中使用RT.Service.Register<查询提供者类>();注册标准查询数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论