提交 59736ecf 编写于 作者: O o2null

Merge branch 'feature/内容管理文档增加预留字段并可在视图中查询' into 'wrdp'

[内容管理]文档增加预留字段并可在视图中查询

See merge request o2oa/o2oa!4409
...@@ -623,6 +623,15 @@ public class ActionPersistPublishContent extends BaseAction { ...@@ -623,6 +623,15 @@ public class ActionPersistPublishContent extends BaseAction {
private List<String> pictureList; private List<String> pictureList;
@FieldDescribe("业务数据String值01.")
private String stringValue01;
@FieldDescribe("业务数据String值02.")
private String stringValue02;
@FieldDescribe("业务数据String值03.")
private String stringValue03;
public String getId() { public String getId() {
return id; return id;
} }
...@@ -1078,6 +1087,30 @@ public class ActionPersistPublishContent extends BaseAction { ...@@ -1078,6 +1087,30 @@ public class ActionPersistPublishContent extends BaseAction {
public void setNotice(Boolean notice) { public void setNotice(Boolean notice) {
isNotice = notice; isNotice = notice;
} }
public String getStringValue01() {
return stringValue01;
}
public void setStringValue01(String stringValue01) {
this.stringValue01 = stringValue01;
}
public String getStringValue02() {
return stringValue02;
}
public void setStringValue02(String stringValue02) {
this.stringValue02 = stringValue02;
}
public String getStringValue03() {
return stringValue03;
}
public void setStringValue03(String stringValue03) {
this.stringValue03 = stringValue03;
}
} }
public static class Wo extends WoId { public static class Wo extends WoId {
......
...@@ -426,6 +426,15 @@ public class ActionPersistSaveDocument extends BaseAction { ...@@ -426,6 +426,15 @@ public class ActionPersistSaveDocument extends BaseAction {
@FieldDescribe( "不修改权限(跳过权限设置,保留原来的设置),非必填" ) @FieldDescribe( "不修改权限(跳过权限设置,保留原来的设置),非必填" )
private Boolean skipPermission = false; private Boolean skipPermission = false;
@FieldDescribe("业务数据String值01.")
private String stringValue01;
@FieldDescribe("业务数据String值02.")
private String stringValue02;
@FieldDescribe("业务数据String值03.")
private String stringValue03;
public static WrapCopier<Wi, Document> copier = WrapCopierFactory.wi( Wi.class, Document.class, null, JpaObject.FieldsUnmodifyExcludeId); public static WrapCopier<Wi, Document> copier = WrapCopierFactory.wi( Wi.class, Document.class, null, JpaObject.FieldsUnmodifyExcludeId);
public String getId() { public String getId() {
...@@ -566,6 +575,30 @@ public class ActionPersistSaveDocument extends BaseAction { ...@@ -566,6 +575,30 @@ public class ActionPersistSaveDocument extends BaseAction {
public void setPublishTime(Date publishTime) { public void setPublishTime(Date publishTime) {
this.publishTime = publishTime; this.publishTime = publishTime;
} }
public String getStringValue01() {
return stringValue01;
}
public void setStringValue01(String stringValue01) {
this.stringValue01 = stringValue01;
}
public String getStringValue02() {
return stringValue02;
}
public void setStringValue02(String stringValue02) {
this.stringValue02 = stringValue02;
}
public String getStringValue03() {
return stringValue03;
}
public void setStringValue03(String stringValue03) {
this.stringValue03 = stringValue03;
}
} }
public static class Wo extends WoId { public static class Wo extends WoId {
......
...@@ -428,6 +428,27 @@ public class Document extends SliceJpaObject { ...@@ -428,6 +428,27 @@ public class Document extends SliceJpaObject {
@CheckPersist(allowEmpty = true) @CheckPersist(allowEmpty = true)
private List<String> pictureList; private List<String> pictureList;
public static final String stringValue01_FIELDNAME = "stringValue01";
@FieldDescribe("业务数据String值01.")
@Column(length = length_255B, name = ColumnNamePrefix + stringValue01_FIELDNAME)
@Index(name = TABLE + IndexNameMiddle + stringValue01_FIELDNAME)
@CheckPersist(allowEmpty = true)
private String stringValue01;
public static final String stringValue02_FIELDNAME = "stringValue02";
@FieldDescribe("业务数据String值02.")
@Column(length = length_255B, name = ColumnNamePrefix + stringValue02_FIELDNAME)
@Index(name = TABLE + IndexNameMiddle + stringValue02_FIELDNAME)
@CheckPersist(allowEmpty = true)
private String stringValue02;
public static final String stringValue03_FIELDNAME = "stringValue03";
@FieldDescribe("业务数据String值03.")
@Column(length = length_255B, name = ColumnNamePrefix + stringValue03_FIELDNAME)
@Index(name = TABLE + IndexNameMiddle + stringValue03_FIELDNAME)
@CheckPersist(allowEmpty = true)
private String stringValue03;
public Date getModifyTime() { public Date getModifyTime() {
return modifyTime; return modifyTime;
} }
...@@ -842,6 +863,30 @@ public class Document extends SliceJpaObject { ...@@ -842,6 +863,30 @@ public class Document extends SliceJpaObject {
this.sequenceCreatorUnitName = getSequenceString(sequenceCreatorUnitName); this.sequenceCreatorUnitName = getSequenceString(sequenceCreatorUnitName);
} }
public String getStringValue01() {
return stringValue01;
}
public void setStringValue01(String stringValue01) {
this.stringValue01 = stringValue01;
}
public String getStringValue02() {
return stringValue02;
}
public void setStringValue02(String stringValue02) {
this.stringValue02 = stringValue02;
}
public String getStringValue03() {
return stringValue03;
}
public void setStringValue03(String stringValue03) {
this.stringValue03 = stringValue03;
}
// -------------------Reader------------------------- // -------------------Reader-------------------------
// -------------------2020-06-12 改为只存储DistinguishedName后两段,第一段可能会在运行过程中修改 // -------------------2020-06-12 改为只存储DistinguishedName后两段,第一段可能会在运行过程中修改
public void addToReadPersonList(String readPerson) { public void addToReadPersonList(String readPerson) {
......
package com.x.query.core.express.plan; package com.x.query.core.express.plan;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
...@@ -267,11 +268,11 @@ public class CmsPlan extends Plan { ...@@ -267,11 +268,11 @@ public class CmsPlan extends Plan {
private Predicate documentPredicate(CriteriaBuilder cb, Root<Document> root, Runtime runtime, private Predicate documentPredicate(CriteriaBuilder cb, Root<Document> root, Runtime runtime,
List<FilterEntry> filterList) throws Exception { List<FilterEntry> filterList) throws Exception {
List<Predicate> ps = new TreeList<>(); List<Predicate> ps = new TreeList<>();
ps.add(this.documentPredicate_creator(cb, root)); //ps.add(this.documentPredicate_creator(cb, root));
ps.add(this.documentPredicate_appInfo(cb, root)); ps.add(this.documentPredicate_appInfo(cb, root));
ps.add(this.documentPredicate_date(cb, root)); //ps.add(this.documentPredicate_date(cb, root));
ps.add(this.documentPredicate_Filter(cb, root, runtime, filterList)); ps.add(this.documentPredicate_Filter(cb, root, runtime, filterList));
ps.add(this.documentPredicate_draft(cb, root)); //ps.add(this.documentPredicate_draft(cb, root));
Predicate predicate = this.documentPredicate_typeScope(cb, root); Predicate predicate = this.documentPredicate_typeScope(cb, root);
if (predicate != null) { if (predicate != null) {
...@@ -386,12 +387,21 @@ public class CmsPlan extends Plan { ...@@ -386,12 +387,21 @@ public class CmsPlan extends Plan {
private Predicate documentPredicate_Filter(CriteriaBuilder cb, Root<Document> root, Runtime runtime, private Predicate documentPredicate_Filter(CriteriaBuilder cb, Root<Document> root, Runtime runtime,
List<FilterEntry> filterList) throws Exception { List<FilterEntry> filterList) throws Exception {
boolean flag = true; boolean flag = true;
boolean orFlag = false;
boolean andFlag = false;
Predicate rp = cb.conjunction();
Predicate p = cb.disjunction(); Predicate p = cb.disjunction();
for (FilterEntry filterEntry : filterList) { List<FilterEntry> list = new ArrayList<>();
list.addAll(filterList);
if(runtime.filterList!=null){
list.addAll(runtime.filterList);
}
for (FilterEntry filterEntry : list) {
if (filterEntry.path.indexOf("(") > -1 && filterEntry.path.indexOf(")") > -1) { if (filterEntry.path.indexOf("(") > -1 && filterEntry.path.indexOf(")") > -1) {
flag = false; flag = false;
String path = StringUtils.substringBetween(filterEntry.path, "(", ")").trim(); String path = StringUtils.substringBetween(filterEntry.path, "(", ")").trim();
if ("readPersonList".equals(path)) { if ("readPersonList".equals(path)) {
orFlag = true;
p = cb.or(p, cb.isMember("所有人", root.get(Document_.readPersonList))); p = cb.or(p, cb.isMember("所有人", root.get(Document_.readPersonList)));
p = cb.or(p, cb.isMember(runtime.person, root.get(Document_.readPersonList))); p = cb.or(p, cb.isMember(runtime.person, root.get(Document_.readPersonList)));
if (runtime.person.indexOf("@") > -1) { if (runtime.person.indexOf("@") > -1) {
...@@ -399,18 +409,22 @@ public class CmsPlan extends Plan { ...@@ -399,18 +409,22 @@ public class CmsPlan extends Plan {
root.get(Document_.readPersonList))); root.get(Document_.readPersonList)));
} }
} else if ("readUnitList".equals(path)) { } else if ("readUnitList".equals(path)) {
orFlag = true;
if (ListTools.isNotEmpty(runtime.unitAllList)) { if (ListTools.isNotEmpty(runtime.unitAllList)) {
p = cb.or(p, root.get(Document_.readUnitList).in(runtime.unitAllList)); p = cb.or(p, root.get(Document_.readUnitList).in(runtime.unitAllList));
} }
} else if ("readGroupList".equals(path)) { } else if ("readGroupList".equals(path)) {
orFlag = true;
if (ListTools.isNotEmpty(runtime.groupList)) { if (ListTools.isNotEmpty(runtime.groupList)) {
p = cb.or(p, root.get(Document_.readGroupList).in(runtime.groupList)); p = cb.or(p, root.get(Document_.readGroupList).in(runtime.groupList));
} }
} else { } else {
Predicate fp = filterEntry.toCmsDocumentPredicate(cb, root, runtime, path); Predicate fp = filterEntry.toCmsDocumentPredicate(cb, root, runtime, path);
if (StringUtils.equals("and", filterEntry.logic)) { if (Comparison.isEquals(filterEntry.logic)) {
p = cb.and(p, fp); andFlag = true;
rp = cb.and(rp, fp);
} else { } else {
orFlag = true;
p = cb.or(p, fp); p = cb.or(p, fp);
} }
} }
...@@ -419,8 +433,14 @@ public class CmsPlan extends Plan { ...@@ -419,8 +433,14 @@ public class CmsPlan extends Plan {
if (flag) { if (flag) {
return null; return null;
} }
return p; if(andFlag){
if(orFlag){
rp = cb.and(rp, p);
}
}else{
rp = p;
}
return rp;
} }
} }
} }
...@@ -630,7 +630,7 @@ public class FilterEntry extends GsonPropertyObject { ...@@ -630,7 +630,7 @@ public class FilterEntry extends GsonPropertyObject {
public Predicate toCmsDocumentPredicate(CriteriaBuilder cb, Root<Document> root, Runtime runtime, String paramName) public Predicate toCmsDocumentPredicate(CriteriaBuilder cb, Root<Document> root, Runtime runtime, String paramName)
throws Exception { throws Exception {
Predicate p = cb.disjunction(); Predicate p = cb.conjunction();
String compareValue = this.compareValue(runtime); String compareValue = this.compareValue(runtime);
String compareOtherValue = this.compareOtherValue(runtime); String compareOtherValue = this.compareOtherValue(runtime);
if (StringUtils.equals(this.formatType, FORMAT_BOOLEANVALUE)) { if (StringUtils.equals(this.formatType, FORMAT_BOOLEANVALUE)) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册