mirror of
https://github.com/getrebuild/rebuild.git
synced 2025-02-25 23:05:06 +08:00
Update AdvFilterParser.java
This commit is contained in:
parent
d7339c83fe
commit
da8b659bf9
1 changed files with 18 additions and 13 deletions
|
@ -23,6 +23,7 @@ import cn.devezhao.persist4j.Entity;
|
|||
import cn.devezhao.persist4j.Field;
|
||||
import cn.devezhao.persist4j.dialect.FieldType;
|
||||
import cn.devezhao.persist4j.dialect.Type;
|
||||
import cn.devezhao.persist4j.engine.ID;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
|
@ -33,8 +34,6 @@ import com.rebuild.server.metadata.entity.DisplayType;
|
|||
import com.rebuild.server.metadata.entity.EasyMeta;
|
||||
import com.rebuild.server.service.bizz.UserHelper;
|
||||
import com.rebuild.server.service.bizz.privileges.Department;
|
||||
import com.rebuild.web.IllegalParameterException;
|
||||
|
||||
import org.apache.commons.lang.StringEscapeUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.commons.lang.math.NumberUtils;
|
||||
|
@ -48,6 +47,10 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import static cn.devezhao.commons.CalendarUtils.addDay;
|
||||
import static cn.devezhao.commons.CalendarUtils.addMonth;
|
||||
import static cn.devezhao.commons.DateFormatUtils.getUTCDateFormat;
|
||||
|
||||
/**
|
||||
* 高级查询解析器
|
||||
*
|
||||
|
@ -189,9 +192,9 @@ public class AdvFilterParser {
|
|||
if ("TDA".equalsIgnoreCase(op) || "YTA".equalsIgnoreCase(op) || "TTA".equalsIgnoreCase(op)) {
|
||||
value = getUTCDateFormat().format(CalendarUtils.now());
|
||||
if ("YTA".equalsIgnoreCase(op)) {
|
||||
value = getUTCDateFormat().format(CalendarUtils.addDay(-1));
|
||||
value = getUTCDateFormat().format(addDay(-1));
|
||||
} else if ("TTA".equalsIgnoreCase(op)) {
|
||||
value = getUTCDateFormat().format(CalendarUtils.addDay(1));
|
||||
value = getUTCDateFormat().format(addDay(1));
|
||||
}
|
||||
|
||||
if (dt == DisplayType.DATETIME) {
|
||||
|
@ -217,22 +220,24 @@ public class AdvFilterParser {
|
|||
|
||||
// TODO 自定义函数
|
||||
|
||||
final ID currentUser = Application.getCurrentUser();
|
||||
|
||||
if ("BFD".equalsIgnoreCase(op)) {
|
||||
value = getUTCDateFormat().format(CalendarUtils.addDay(-NumberUtils.toInt(value))) + FULL_TIME;
|
||||
value = getUTCDateFormat().format(addDay(-NumberUtils.toInt(value))) + FULL_TIME;
|
||||
} else if ("AFD".equalsIgnoreCase(op)) {
|
||||
value = getUTCDateFormat().format(CalendarUtils.addDay(NumberUtils.toInt(value))) + ZERO_TIME;
|
||||
value = getUTCDateFormat().format(addDay(NumberUtils.toInt(value))) + ZERO_TIME;
|
||||
} else if ("BFM".equalsIgnoreCase(op)) {
|
||||
value = getUTCDateFormat().format(CalendarUtils.addMonth(-NumberUtils.toInt(value))) + FULL_TIME;
|
||||
value = getUTCDateFormat().format(addMonth(-NumberUtils.toInt(value))) + FULL_TIME;
|
||||
} else if ("AFM".equalsIgnoreCase(op)) {
|
||||
value = getUTCDateFormat().format(CalendarUtils.addMonth(NumberUtils.toInt(value))) + ZERO_TIME;
|
||||
value = getUTCDateFormat().format(addMonth(NumberUtils.toInt(value))) + ZERO_TIME;
|
||||
} else if ("RED".equalsIgnoreCase(op)) {
|
||||
value = getUTCDateFormat().format(CalendarUtils.addDay(-NumberUtils.toInt(value))) + FULL_TIME;
|
||||
value = getUTCDateFormat().format(addDay(-NumberUtils.toInt(value))) + FULL_TIME;
|
||||
} else if ("REM".equalsIgnoreCase(op)) {
|
||||
value = getUTCDateFormat().format(CalendarUtils.addMonth(-NumberUtils.toInt(value))) + FULL_TIME;
|
||||
value = getUTCDateFormat().format(addMonth(-NumberUtils.toInt(value))) + FULL_TIME;
|
||||
} else if ("SFU".equalsIgnoreCase(op)) {
|
||||
value = Application.getCurrentUser().toLiteral();
|
||||
value = currentUser.toLiteral();
|
||||
} else if ("SFB".equalsIgnoreCase(op)) {
|
||||
Department dept = UserHelper.getDepartment(Application.getCurrentUser());
|
||||
Department dept = UserHelper.getDepartment(currentUser);
|
||||
if (dept != null) {
|
||||
value = dept.getIdentity().toString();
|
||||
int refe = fieldMeta.getReferenceEntity().getEntityCode();
|
||||
|
@ -245,7 +250,7 @@ public class AdvFilterParser {
|
|||
}
|
||||
}
|
||||
} else if ("SFD".equalsIgnoreCase(op)) {
|
||||
Department dept = UserHelper.getDepartment(Application.getCurrentUser());
|
||||
Department dept = UserHelper.getDepartment(currentUser);
|
||||
if (dept != null) {
|
||||
int refe = fieldMeta.getReferenceEntity().getEntityCode();
|
||||
if (refe == EntityHelper.Department) {
|
||||
|
|
Loading…
Reference in a new issue