zoukankan      html  css  js  c++  java
  • 对EntityViewInfo的理解

    1,EntityViewInfo常常用作bos中接口参数,来做查询用,其中包含了FilterInfo(过滤)、Selector(指定属性)以及Sorter(排序)

     
     1 SelectorItemCollection sic = new SelectorItemCollection();  
     2   
     3 //表示获取info所有的属性  
     4   
     5 sic.add(newSelectorItemInfo("*"));  
     6   
     7 //表示获取info上creator上所有的属性  
     8   
     9 sic.add(newSelectorItemInfo("creator.*"));  
    10   
    11 //表示只获取info上auditor上id,name和number三个属性  
    12   
    13 sic.add(new SelectorItemInfo("auditor.id"));  
    14   
    15 sic.add(newSelectorItemInfo("auditor.number"));  
    16   
    17 sic.add(newSelectorItemInfo("auditor.name"));  
    18 
    19 特殊的
    20 XXXFactory.getRemoteInstance().getXXXInfo(IObjectPKpk);//直接获取info,如果info中含有关联属性,只能取到关联属性的ID  
    21   
    22 XXXFactory.getRemoteInstance().getXXXInfo(IObjectPKpk, SelectorItemCollection selector);//直接获取Info,通过在selector中指定需要取哪些属性,比如  

    2,AtsOverTimeBillEditHandler.class中案例,加上自己的理解.

     1 EntityViewInfo  EntityViewInfo =  new EntityViewInfo();//新建接口
     2     SelectorItemCollection sic = new SelectorItemCollection(); //通过Selector设定属性
     3     sic.add(new SelectItemInfo("proposer.id"));//表示只获取info上proposer上id属性
     4     sic.add(new SelectItemInfo("id"));//表示只获取info上id属性
     5     sic.add(new SelectItemInfo("attendDate"));//表示只获取info上attendDate属性
     6     sic.add(new SelectItemInfo("dayType"));//表示只获取info上dayType属性
     7     entityViewInfo.setSelector(sic);//设置属性
     8     FilterInfo  filterInfo = new FilterInfo();//建立过滤条件
     9     filterInfo.getFilterItems().add(new FilterItemInfo("proposer.id",personInfo.getId().toString()));
    10     filterInfo.getFilterItems().add(new FilterItemInfo("attendDate",newDate,CompareType.GREATER_EQUALS));
    11     entityViewInfo.setFilter(filterInfo);//设置过滤条件

    3,AtsOverTimeBillListHandler这个里面的代码补充

     1 FilterInfo fla = new FilterInfo();
     2               fla.getFilterItems().add(new com.kingdee.bos.metadata.entity.FilterItemInfo("entries.otDate", beginDateTs, CompareType.GREATER_EQUALS));
     3               fla.getFilterItems().add(new com.kingdee.bos.metadata.entity.FilterItemInfo("entries.otDate", endDateTs, CompareType.LESS_EQUALS));
     4               
     5               FilterInfo flb1 = new FilterInfo();
     6               flb1.getFilterItems().add(new com.kingdee.bos.metadata.entity.FilterItemInfo("billState", Integer.valueOf(1), CompareType.EQUALS));
     7               FilterInfo flb2 = new FilterInfo();
     8               flb2.getFilterItems().add(new com.kingdee.bos.metadata.entity.FilterItemInfo("billState", Integer.valueOf(2), CompareType.EQUALS));
     9               FilterInfo flb3 = new FilterInfo();
    10               flb3.getFilterItems().add(new com.kingdee.bos.metadata.entity.FilterItemInfo("billState", Integer.valueOf(3), CompareType.EQUALS));
    11               String existsSql = "SELECT 1 FROM T_HR_ATS_AttendanceResult attenceResult WHERE attenceResult.FPROPOSERID = ENTRIES.FPERSONID AND to_char(attenceResult.Fattencedate,'YYYY-MM-DD') >= '" + beginDate + "'" + " AND to_char(attenceResult.Fattencedate,'YYYY-MM-DD') <= '" + endDate + "'" + " AND to_char(attenceResult.Fattencedate,'YYYY-MM-DD') = to_char(ENTRIES.fotDate,'YYYY-MM-DD')" + " AND attenceResult.FLASTUPDATETIME <= ATSOVERTIMEBILL.FLASTUPDATETIME";
    12               
    13               flb3.getFilterItems().add(new com.kingdee.bos.metadata.entity.FilterItemInfo("PERSON.ID", existsSql, CompareType.EXISTS));
    14               
    15               FilterInfo flb4 = new FilterInfo();
    16               flb4.getFilterItems().add(new com.kingdee.bos.metadata.entity.FilterItemInfo("billState", Integer.valueOf(3), CompareType.EQUALS));
    17               String notExistsSql = "SELECT 1 FROM T_HR_ATS_AttendanceResult attenceResult WHERE attenceResult.FPROPOSERID = ENTRIES.FPERSONID AND to_char(attenceResult.Fattencedate,'YYYY-MM-DD') >= '" + beginDate + "'" + " AND to_char(attenceResult.Fattencedate,'YYYY-MM-DD') <= '" + endDate + "'" + " AND to_char(attenceResult.Fattencedate,'YYYY-MM-DD') = to_char(ENTRIES.fotDate,'YYYY-MM-DD')";
    18               
    19               flb4.getFilterItems().add(new com.kingdee.bos.metadata.entity.FilterItemInfo("PERSON.ID", notExistsSql, CompareType.NOTEXISTS));
    20               
    21               FilterInfo flb = new FilterInfo();
    22               flb.mergeFilter(flb1, "OR"); //这是一个含有合并过滤(mergeFilter)的案例 可以是"OR"
    23               flb.mergeFilter(flb2, "OR");
    24               flb.mergeFilter(flb3, "OR");
    25               flb.mergeFilter(flb4, "OR");
    26               
    27               filter.mergeFilter(fla, "AND");//这是一个含有合并过滤(mergeFilter)的案例 也可以是"and"
    28               filter.mergeFilter(flb, "AND");

    4,

    给列表添加过滤条件:

    http://blog.csdn.net/fenyu8/article/details/12085499

    5,设置列表界面打开时查询的缺省过滤条件,返回null值屏蔽CU条件 getDefaultFilterForQuery

    6,

    //这是一种比较特殊的用法,目前,还不懂意思
    protected FilterInfo getDefaultFilter(HttpServletRequest request, HttpServletResponse response)
        throws WafException
      {
        FilterInfo filterInfo = super.getDefaultFilter(request, response);
        filterInfo = AtsWebUtils.getDefaultOrgFilter(filterInfo);
        return filterInfo;
      }

    7,

    做EAS,包括shr要养成一个习惯:打补丁前备份整个服务器目录,有问题就还原
     
    8, 其他的案例
    http://blog.csdn.net/douml88/article/details/8855333
     
     
    9,要是不会,就可以找找js源码解读

           
       

  • 相关阅读:
    Newtonsoft.Json 处理多态类型的反序列化
    33条C#和.NET经典面试题目及答案
    转:原码,反码,补码详解
    使用OpenXML操作Office文档
    WPF的Binding学习笔记(二)
    WPF的Binding学习笔记(一)
    M6: 使用摄像头(CameraCaptureUI)
    M5: 使用StorageFile
    NYOJ144_小珂的苦恼_C++
    搜索水题四连发_C++
  • 原文地址:https://www.cnblogs.com/todayforever/p/6646021.html
Copyright © 2011-2022 走看看