主要涉及类:
WfmTaskQryTmpImpl.java
MainViewController.java
TaskQryParam.java
基础类TaskQryParam.java
package nc.uap.portal.task.ctrl;
import java.io.Serializable;
import nc.uap.lfw.core.cmd.base.FromWhereSQL;
public class TaskQryParam
implements Serializable
{
public static final String STATUS_UNREAD = "UnRead";
public static final String STATUS_READED = "Readed";
public static final String STATUS_END = "End";
public static final String STATUS_SUSPEND = "Suspend";
public static final String STATUS_SENDED = "Sended";
public static final String STATUS_UNSEND = "UnSend";
public static final String TIME_NORMAL = "0";
public static final String TIME_WARN = "1";
public static final String TIME_OUT = "2";
public static final String ID_TASK = "c001";
public static final String ID_DELIVERTASK = "c002";
private static final long serialVersionUID = -3579446829360237958L;
String id;
String status;
String system;
String pk_agenter;
String pk_user;
String keyWord;
String startDate;
String endDate;
String billType;
String startDay;
String endDay;
String source;
boolean hasTakEnd;
FromWhereSQL whereSql;
public boolean isHasTakEnd()
{
return this.hasTakEnd;
}
public void setHasTakEnd(boolean hasTakEnd)
{
this.hasTakEnd = hasTakEnd;
}
public String getPk_agenter()
{
return this.pk_agenter;
}
public void setPk_agenter(String pk_agenter)
{
this.pk_agenter = pk_agenter;
}
public String getStartDate()
{
return this.startDate;
}
public void setStartDate(String startDate)
{
this.startDate = startDate;
}
public String getEndDate()
{
return this.endDate;
}
public void setEndDate(String endDate)
{
this.endDate = endDate;
}
public String getPk_user()
{
return this.pk_user;
}
public void setPk_user(String pk_user)
{
this.pk_user = pk_user;
}
public String getKeyWord()
{
return this.keyWord;
}
public void setKeyWord(String keyWord)
{
this.keyWord = keyWord;
}
public String getBillType()
{
return this.billType;
}
public void setBillType(String billType)
{
this.billType = billType;
}
public String getStartDay()
{
return this.startDay;
}
public void setStartDay(String startDay)
{
this.startDay = startDay;
}
public String getEndDay()
{
return this.endDay;
}
public void setEndDay(String endDay)
{
this.endDay = endDay;
}
public String getSource()
{
return this.source;
}
public void setSource(String source)
{
this.source = source;
}
public FromWhereSQL getWhereSql()
{
return this.whereSql;
}
public void setWhereSql(FromWhereSQL whereSql)
{
this.whereSql = whereSql;
}
public String getSystem()
{
return this.system;
}
public void setSystem(String system)
{
this.system = system;
}
public void reset()
{
this.whereSql = null;
}
public String getId()
{
return this.id;
}
public void setId(String category)
{
this.id = category;
//reset();//修正:TaskQryParam的setId方法和setStatus方法的reset取消
}
public String getStatus()
{
return this.status;
}
public void setStatus(String status)
{
this.status = status;
// reset();
}
public String toString()
{
return "DSKEY_" + hashCode();
}
public String getInfo()
{
return "id:" + this.id + " status:" + this.status + " system:" + this.system + " wheresql:" + this.whereSql;
}
}
查询类WfmTaskQryTmpImpl.java
package nc.uap.portal.task.impl;
import java.util.HashMap;
import java.util.Map;
import nc.bs.framework.common.InvocationInfoProxy;
import nc.bs.framework.common.NCLocator;
import nc.uap.lfw.core.crud.CRUDHelper;
import nc.uap.lfw.core.crud.ILfwCRUDService;
import nc.uap.lfw.core.ctx.AppLifeCycleContext;
import nc.uap.lfw.core.ctx.ApplicationContext;
import nc.uap.lfw.core.ctx.OpenProperties;
import nc.uap.lfw.core.ctx.ViewContext;
import nc.uap.lfw.core.data.PaginationInfo;
import nc.uap.lfw.core.exception.LfwBusinessException;
import nc.uap.lfw.core.exception.LfwRuntimeException;
import nc.uap.portal.log.PortalLogger;
import nc.uap.portal.task.ctrl.TaskQryParam;
import nc.uap.portal.task.itf.ITaskQryTmp;
import nc.uap.wfm.dftimpl.DefaultFormOper;
import nc.uap.wfm.engine.IWfmFormOper;
import nc.uap.wfm.engine.TaskProcessUI;
import nc.uap.wfm.exception.WfmServiceException;
import nc.uap.wfm.itf.IWfmFieldRelationQry;
import nc.uap.wfm.itf.IWfmTaskQry;
import nc.uap.wfm.model.ProDef;
import nc.uap.wfm.model.Task;
import nc.uap.wfm.model.TaskProcessResult;
import nc.uap.wfm.utils.WfmClassUtil;
import nc.uap.wfm.utils.WfmTaskUtil;
import nc.uap.wfm.utils.WfmUtilFacade;
import nc.uap.wfm.vo.WfmFlwTypeVO;
import nc.uap.wfm.vo.WfmTaskVO;
import nc.vo.ml.AbstractNCLangRes;
import nc.vo.ml.NCLangRes4VoTransl;
import nc.vo.pub.lang.UFBoolean;
import nc.vo.pub.lang.UFDate;
import nc.vo.pub.lang.UFDateTime;
public class WfmTaskQryTmpImpl
implements ITaskQryTmp
{
public WfmTaskVO[] qryTaskList(TaskQryParam param, PaginationInfo pinfo)
{
IWfmTaskQry taskQry = (IWfmTaskQry)NCLocator.getInstance().lookup(IWfmTaskQry.class);
String pk_user = InvocationInfoProxy.getInstance().getUserId();
String taskState = makeTaskState(param.getId(), param.getStatus());
String source = param.getSource();
String startDay = null;
String endDay = null;
String keyWord = null;
String wherePart = " ";
if (param != null)
{
if ((param.getStartDay() != null) && (param.getEndDay() != null))
{
UFDateTime now = new UFDateTime();
endDay = now.get