ServiceImpl.java 文件源码

java
阅读 31 收藏 0 点赞 0 评论 0

项目:openMAXIMS 作者:
public ActivityVoCollection listActivity(String nameFilter, ActivityType activityType, Boolean bActive) throws DomainInterfaceException
{
    ArrayList markers = new ArrayList();
    ArrayList values = new ArrayList();
    StringBuffer condStr = new StringBuffer();
    String andStr = " ";
    String hql = null;
    DomainFactory factory = getDomainFactory();

    if (ConfigFlag.DOM.LINK_ACTIVITY_TO_PROCEDURE.getValue() && activityType.equals(ActivityType.PROCEDURE))
    {
        hql = "select act from Activity act, Procedure proc join proc.keywords as kw";
        condStr.append(andStr + " where act = proc.activity");
        andStr = " and ";

    }
    else
    {
        hql = "select act from Activity act";
        condStr.append(" where");
        andStr = " ";
    }

    if (bActive != null)
    {
        condStr.append(andStr + " act.isActive = :isActive");
        markers.add("isActive");
        values.add(bActive);
        andStr = " and ";
    }
    if (activityType != null)
    {
        condStr.append(andStr + " act.activityType =:actType");
        markers.add("actType");
        values.add(getDomLookup(activityType));
        andStr = " and ";
    }
    if (!ConfigFlag.DOM.LINK_ACTIVITY_TO_PROCEDURE.getValue() && nameFilter != "")
    {
        condStr.append(andStr + " act.name like :filterStr ");
        markers.add("filterStr");
        values.add(nameFilter + "%");
    }

    hql += condStr.toString();
    List activities = null;
    if (ConfigFlag.DOM.LINK_ACTIVITY_TO_PROCEDURE.getValue() && activityType.equals(ActivityType.PROCEDURE))
        activities = Keywords.searchByKeywords(factory, nameFilter, hql.toString(), markers, values);
    else
        activities = factory.find(hql, markers, values, 1000);

    return ActivityVoAssembler.createActivityVoCollectionFromActivity(activities).sort();
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号