Просмотр исходного кода

Merge branch 'develop' into feature/java11

zhourui 5 лет назад
Родитель
Сommit
b11f32e7a7
100 измененных файлов с 552 добавлено и 253 удалено
  1. 3 2
      o2server/x_bbs_assemble_control/src/main/java/com/x/bbs/assemble/control/factory/BBSOperationRecordFactory.java
  2. 2 1
      o2server/x_bbs_assemble_control/src/main/java/com/x/bbs/assemble/control/factory/BBSVoteRecordFactory.java
  3. 2 1
      o2server/x_calendar_assemble_control/src/main/java/com/x/calendar/assemble/control/factory/Calendar_EventRepeatMasterFactory.java
  4. 2 2
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/factory/AppInfoFactory.java
  5. 1 1
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/factory/FileFactory.java
  6. 9 8
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/factory/SearchFactory.java
  7. 202 0
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/categoryinfo/ActionQueryListWithFilterPaging.java
  8. 24 0
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/categoryinfo/CategoryInfoAction.java
  9. 25 0
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/document/DocumentAnonymousAction.java
  10. 3 2
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/input/BaseAction.java
  11. 3 2
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/queryview/ActionList.java
  12. 5 4
      o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/queryview/ActionListAll.java
  13. 9 8
      o2server/x_cms_core_entity/src/main/java/com/x/cms/core/entity/query/Query.java
  14. 1 1
      o2server/x_message_assemble_communicate/src/main/java/com/x/message/assemble/communicate/DingdingConsumeQueue.java
  15. 1 1
      o2server/x_message_assemble_communicate/src/main/java/com/x/message/assemble/communicate/PmsConsumeQueue.java
  16. 1 1
      o2server/x_message_assemble_communicate/src/main/java/com/x/message/assemble/communicate/PmsInnerConsumeQueue.java
  17. 1 1
      o2server/x_message_assemble_communicate/src/main/java/com/x/message/assemble/communicate/QiyeweixinConsumeQueue.java
  18. 1 1
      o2server/x_message_assemble_communicate/src/main/java/com/x/message/assemble/communicate/WeLinkConsumeQueue.java
  19. 2 1
      o2server/x_mind_assemble_control/src/main/java/com/x/mind/assemble/control/factory/MindBaseInfoFactory.java
  20. 2 1
      o2server/x_mind_assemble_control/src/main/webapp/describe/sources/com/x/mind/assemble/control/factory/MindBaseInfoFactory.java
  21. 5 4
      o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrCenterWorkInfoFactory.java
  22. 3 2
      o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrConfigSecretaryFactory.java
  23. 3 2
      o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrConfigSystemFactory.java
  24. 5 4
      o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrStatisticReportContentFactory.java
  25. 3 2
      o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrStatisticReportStatusFactory.java
  26. 5 4
      o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrTaskFactory.java
  27. 3 2
      o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrTaskHandledFactory.java
  28. 5 4
      o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrWorkAuthorizeRecordFactory.java
  29. 7 6
      o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrWorkBaseInfoFactory.java
  30. 5 4
      o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrWorkChatFactory.java
  31. 3 2
      o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrWorkDynamicsFactory.java
  32. 39 38
      o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrWorkPersonFactory.java
  33. 7 6
      o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrWorkReportBaseInfoFactory.java
  34. 3 2
      o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrWorkReportPersonLinkFactory.java
  35. 3 2
      o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrWorkReportProcessLogFactory.java
  36. 4 3
      o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/factory/PersonFactory.java
  37. 1 1
      o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/jaxrs/zhengwudingding/ActionLogin.java
  38. 1 1
      o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/factory/GroupFactory.java
  39. 1 1
      o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/factory/IdentityFactory.java
  40. 1 11
      o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/factory/PermissionSettingFactory.java
  41. 1 1
      o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/factory/PersonAttributeFactory.java
  42. 4 3
      o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/factory/PersonCardFactory.java
  43. 1 1
      o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/factory/PersonFactory.java
  44. 1 1
      o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/factory/RoleFactory.java
  45. 1 1
      o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/factory/UnitAttributeFactory.java
  46. 1 1
      o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/factory/UnitDutyFactory.java
  47. 2 2
      o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/factory/UnitFactory.java
  48. 2 2
      o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/export/ActionZhengwuDingdingPerson.java
  49. 1 16
      o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/identity/ActionDelete.java
  50. 5 4
      o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/person/ActionDelete.java
  51. 3 1
      o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/role/ActionListWithGroup.java
  52. 2 2
      o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/role/ActionListWithPerson.java
  53. 2 1
      o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/unit/ActionGet.java
  54. 2 1
      o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/unit/ActionGetWithIdentityWithLevel.java
  55. 2 1
      o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/unit/ActionGetWithIdentityWithType.java
  56. 4 2
      o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/unit/ActionListWithUnitWithType.java
  57. 2 2
      o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/unitduty/ActionDistinctName.java
  58. 2 2
      o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/unitduty/ActionDistinctNameLike.java
  59. 2 1
      o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/unitduty/ActionGet.java
  60. 1 1
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/factory/GroupFactory.java
  61. 1 1
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/factory/IdentityFactory.java
  62. 1 1
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/factory/PersonAttributeFactory.java
  63. 3 2
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/factory/PersonFactory.java
  64. 1 1
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/factory/RoleFactory.java
  65. 1 1
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/factory/UnitAttributeFactory.java
  66. 1 1
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/factory/UnitDutyFactory.java
  67. 2 2
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/factory/UnitFactory.java
  68. 1 1
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/empower/ActionListWithIdentityObject.java
  69. 3 1
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/group/ActionHasRole.java
  70. 3 2
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/identity/ActionListMajorWithPerson.java
  71. 3 2
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/identity/ActionListMajorWithPersonObject.java
  72. 3 2
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/identity/ActionListWithPerson.java
  73. 3 2
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/identity/ActionListWithPersonObject.java
  74. 3 2
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/identity/ActionListWithPersonWithUnit.java
  75. 3 2
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/identity/ActionListWithPersonWithUnitObject.java
  76. 3 2
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/identity/ActionListWithUnitSubDirect.java
  77. 3 2
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/identity/ActionListWithUnitSubDirectObject.java
  78. 3 2
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/identity/ActionListWithUnitSubNested.java
  79. 3 2
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/identity/ActionListWithUnitSubNestedObject.java
  80. 3 1
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/person/ActionHasRole.java
  81. 3 2
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/person/ActionListWithPersonAttribute.java
  82. 3 2
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/person/ActionListWithPersonAttributeObject.java
  83. 2 1
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/person/ActionListWithRole.java
  84. 3 1
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/person/ActionListWithRoleObject.java
  85. 3 2
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/person/ActionListWithUnitSubDirect.java
  86. 5 3
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/person/ActionListWithUnitSubDirectLike.java
  87. 5 3
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/person/ActionListWithUnitSubDirectLikeObject.java
  88. 3 2
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/person/ActionListWithUnitSubDirectObject.java
  89. 3 2
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/person/ActionListWithUnitSubNested.java
  90. 5 3
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/person/ActionListWithUnitSubNestedLike.java
  91. 5 3
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/person/ActionListWithUnitSubNestedLikeObject.java
  92. 3 2
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/person/ActionListWithUnitSubNestedObject.java
  93. 2 2
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/personattribute/ActionListNameWithPerson.java
  94. 1 1
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/personattribute/ActionListWithPersonObject.java
  95. 1 1
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/personattribute/BaseAction.java
  96. 2 1
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/role/ActionListWithPerson.java
  97. 2 1
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/role/ActionListWithPersonObject.java
  98. 1 1
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/unit/ActionListWithIdentity.java
  99. 3 2
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/unit/ActionListWithIdentityObject.java
  100. 3 1
      o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/unit/ActionListWithIdentitySupNested.java

+ 3 - 2
o2server/x_bbs_assemble_control/src/main/java/com/x/bbs/assemble/control/factory/BBSOperationRecordFactory.java

@@ -2,6 +2,7 @@ package com.x.bbs.assemble.control.factory;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -53,7 +54,7 @@ public class BBSOperationRecordFactory extends AbstractFactory {
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<BBSOperationRecord> root = cq.from(BBSOperationRecord.class);
 		Predicate p = cb.isNotNull( root.get(BBSOperationRecord_.id) );
-		cq.distinct(true).select( root.get(BBSOperationRecord_.operatorName) );
-		return em.createQuery(cq.where(p)).getResultList();
+		cq.select( root.get(BBSOperationRecord_.operatorName) );
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 }

+ 2 - 1
o2server/x_bbs_assemble_control/src/main/java/com/x/bbs/assemble/control/factory/BBSVoteRecordFactory.java

@@ -2,6 +2,7 @@ package com.x.bbs.assemble.control.factory;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -133,7 +134,7 @@ public class BBSVoteRecordFactory extends AbstractFactory {
 			p = cb.and( p, cb.equal( root.get( BBSVoteRecord_.optionId ), voteOptionId ));
 		}
 		cq.select( root.get( BBSVoteRecord_.votorName ) );
-		return em.createQuery(cq.where(p).distinct(true)).getResultList();
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 
 	public List<BBSVoteRecord> listVoteRecordForPage(String subjectId, String voteOptionId, Integer maxRecordCount) throws Exception {

+ 2 - 1
o2server/x_calendar_assemble_control/src/main/java/com/x/calendar/assemble/control/factory/Calendar_EventRepeatMasterFactory.java

@@ -2,6 +2,7 @@ package com.x.calendar.assemble.control.factory;
 
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -179,6 +180,6 @@ public class Calendar_EventRepeatMasterFactory extends AbstractFactory {
 		p = CriteriaBuilderTools.predicate_and( cb, p, permission );
 		cq.select(root.get(Calendar_EventRepeatMaster_.id));
 		
-		return em.createQuery(cq.distinct(true).where(p)).getResultList();
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 }

+ 2 - 2
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/factory/AppInfoFactory.java

@@ -492,8 +492,8 @@ public class AppInfoFactory extends AbstractFactory {
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<AppInfo> root = cq.from(AppInfo.class);
 		Predicate p = cb.isNotNull( root.get(AppInfo_.appType));
-		cq.select(root.get(AppInfo_.appType)).distinct(true);
-		return em.createQuery(cq.where(p)).getResultList();
+		cq.select(root.get(AppInfo_.appType));
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 
 //	public Long countAppInfoWithAppType(String type) throws Exception {

+ 1 - 1
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/factory/FileFactory.java

@@ -94,7 +94,7 @@ public class FileFactory extends ElementFactory {
 			CriteriaQuery<File> cq = cb.createQuery(File.class);
 			Root<File> root = cq.from(File.class);
 			Predicate p = cb.equal(root.get(File_.name), flag);
-			List<File> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+			List<File> os = em.createQuery(cq.select(root).where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 			if (os.size() == 1) {
 				o = os.get(0);
 				em.detach(o);

+ 9 - 8
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/factory/SearchFactory.java

@@ -1,6 +1,7 @@
 package com.x.cms.assemble.control.factory;
 
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -36,8 +37,8 @@ public class SearchFactory extends AbstractFactory {
 		}else{
 			p = cb.and(p, root.get( Document_.appId ).in( appids ));
 		}
-		cq.distinct(true).select(root.get( Document_.creatorUnitName ) );
-		return em.createQuery( cq.where( p )).setMaxResults(500).getResultList();
+		cq.select(root.get( Document_.creatorUnitName ) );
+		return em.createQuery( cq.where( p )).setMaxResults(500).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 	
 //	@MethodDescribe("查询用户可见的指定状态下的文件涉及的顶层组织列表量")
@@ -55,8 +56,8 @@ public class SearchFactory extends AbstractFactory {
 		}else{
 			p = cb.and(p, root.get( Document_.appId ).in( appids ));
 		}
-		cq.distinct(true).select(root.get( Document_.creatorTopUnitName ) );
-		return em.createQuery( cq.where( p )).setMaxResults(500).getResultList();
+		cq.select(root.get( Document_.creatorTopUnitName ) );
+		return em.createQuery( cq.where( p )).setMaxResults(500).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 	
 	//@MethodDescribe("查询用户可见的指定状态下的文件涉及的栏目ID列表量")
@@ -74,8 +75,8 @@ public class SearchFactory extends AbstractFactory {
 		}else{
 			p = cb.and(p, root.get( Document_.appId ).in( appids ));
 		}
-		cq.distinct(true).select(root.get( Document_.appId ) );
-		return em.createQuery( cq.where( p )).setMaxResults(500).getResultList();
+		cq.select(root.get( Document_.appId ) );
+		return em.createQuery( cq.where( p )).setMaxResults(500).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 	
 	//@MethodDescribe("查询用户可见的指定状态下的文件涉及的分类ID列表")
@@ -93,8 +94,8 @@ public class SearchFactory extends AbstractFactory {
 		}else{
 			p = cb.and(p, root.get( Document_.appId ).in( appids ));
 		}
-		cq.distinct(true).select(root.get( Document_.categoryId ) );
-		return em.createQuery( cq.where( p )).setMaxResults(500).getResultList();
+		cq.select(root.get( Document_.categoryId ) );
+		return em.createQuery( cq.where( p )).setMaxResults(500).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 	
 	//@MethodDescribe("根据categoryId查询该应用栏目下的所有文档数量")

+ 202 - 0
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/categoryinfo/ActionQueryListWithFilterPaging.java

@@ -0,0 +1,202 @@
+package com.x.cms.assemble.control.jaxrs.categoryinfo;
+
+import com.google.gson.JsonElement;
+import com.x.base.core.entity.JpaObject;
+import com.x.base.core.project.annotation.FieldDescribe;
+import com.x.base.core.project.bean.WrapCopier;
+import com.x.base.core.project.bean.WrapCopierFactory;
+import com.x.base.core.project.cache.Cache;
+import com.x.base.core.project.cache.CacheManager;
+import com.x.base.core.project.gson.GsonPropertyObject;
+import com.x.base.core.project.http.ActionResult;
+import com.x.base.core.project.http.EffectivePerson;
+import com.x.base.core.project.jaxrs.EqualsTerms;
+import com.x.base.core.project.jaxrs.InTerms;
+import com.x.base.core.project.jaxrs.LikeTerms;
+import com.x.base.core.project.logger.Logger;
+import com.x.base.core.project.logger.LoggerFactory;
+import com.x.base.core.project.tools.ListTools;
+import com.x.cms.assemble.control.jaxrs.document.BaseAction;
+import com.x.cms.core.entity.CategoryInfo;
+import org.apache.commons.lang3.StringUtils;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+
+public class ActionQueryListWithFilterPaging extends BaseAction {
+
+	private static  Logger logger = LoggerFactory.getLogger(ActionQueryListWithFilterPaging.class);
+
+	protected ActionResult<List<Wo>> execute( HttpServletRequest request, Integer page, Integer size, JsonElement jsonElement, EffectivePerson effectivePerson ) {
+		ActionResult<List<Wo>> result = new ActionResult<>();
+		EqualsTerms equals = new EqualsTerms();
+		InTerms ins = new InTerms();
+		LikeTerms likes = new LikeTerms();
+		Wi wi = null;
+		List<Wo> wraps = null;
+		List<Wo> wraps_out = new ArrayList<>();
+		Boolean check = true;
+
+		try {
+			wi = this.convertToWrapIn(jsonElement, Wi.class);
+		} catch (Exception e) {
+			check = false;
+			Exception exception = new ExceptionCategoryInfoProcess(e,
+					"系统在将JSON信息转换为对象时发生异常。JSON:" + jsonElement.toString());
+			result.error(exception);
+			logger.error(e, effectivePerson, request, null);
+		}
+
+		if (check) {
+			if (null != wi.getAppIdList() && !wi.getAppIdList().isEmpty()) {
+				ins.put("appId", wi.getAppIdList());
+			}
+			if (null != wi.getCategoryIdList() && !wi.getCategoryIdList().isEmpty()) {
+				ins.put("id", wi.getCategoryIdList());
+			}
+			if (null != wi.getCreatorList() && !wi.getCreatorList().isEmpty()) {
+				ins.put("creatorPerson", wi.getCreatorList());
+			}
+			if (StringUtils.isNotEmpty(wi.getKey())) {
+				String key = StringUtils.trim(StringUtils.replace(wi.getKey(), "\u3000", " "));
+				if (StringUtils.isNotEmpty(key)) {
+					likes.put("title", key);
+				}
+			}
+		}
+
+		if (check) {
+			Cache.CacheKey cacheKey = new Cache.CacheKey( this.getClass(), wi.getAppIdList(), wi.getKey(), "allCategoryInApps" );
+			Optional<?> optional = CacheManager.get( cacheCategory, cacheKey );
+			if (optional.isPresent()) {
+				wraps = (List<Wo>)optional.get();
+				result.setData( wraps );
+				result.setCount( Long.parseLong(wraps.size() + "" ) );
+			} else {
+				try {
+					//一次性取出所有的分类信息,最大2000条,在内存里进行分页
+					result = this.standardListNext( Wo.copier, "(0)", 5000, "sequence", equals, null, likes, ins, null, null, null, null, true, DESC);
+					CacheManager.put(cacheCategory, cacheKey, result.getData() );
+				} catch (Exception e) {
+					check = false;
+					result.error(e);
+					logger.error(e, effectivePerson, request, null);
+				}
+			}
+		}
+
+		if( check ){
+			wraps = result.getData();
+
+			if( page <= 0 ){
+				page = 1;
+			}
+			if( size <= 0 ){
+				size = 20;
+			}
+			int startIndex = ( page - 1 ) * size;
+			int endIndex = page * size;
+			int i = 0;
+
+			for( ; wraps != null && i< wraps.size(); i++ ){
+				if( i >= startIndex && i < endIndex ){
+					wraps_out.add( wraps.get( i ) );
+				}
+			}
+			result.setData( wraps_out );
+			result.setSize(  Long.parseLong(size + "" ));
+		}
+		return result;
+	}	
+
+
+	public static class Wo extends CategoryInfo {
+
+		private static final long serialVersionUID = -5076990764713538973L;
+
+		public static List<String> Excludes = new ArrayList<String>();
+
+		static WrapCopier<CategoryInfo, Wo> copier = WrapCopierFactory.wo(CategoryInfo.class, Wo.class, null, ListTools.toList(JpaObject.FieldsInvisible));
+
+		@FieldDescribe("扩展信息JSON内容")
+		private String extContent = null;
+
+		private Long rank;
+
+		public Long getRank() {
+			return rank;
+		}
+
+		public void setRank(Long rank) {
+			this.rank = rank;
+		}
+
+		public String getExtContent() {
+			return extContent;
+		}
+
+		public void setExtContent(String extContent) {
+			this.extContent = extContent;
+		}
+	}
+
+	public static class Wi extends GsonPropertyObject {
+
+		@FieldDescribe("作为过滤条件的信息内容管理应用ID列表, 可多个, String数组.")
+		private List<String> appIdList;
+
+		@FieldDescribe("作为过滤条件的内容管理分类ID列表, 可多个, String数组.")
+		private List<String> categoryIdList;
+
+		@FieldDescribe("作为过滤条件的创建者姓名列表, 可多个, String数组.")
+		private List<String> creatorList;
+
+		@FieldDescribe("作为过滤条件的内容管理应用关键字, 通常是应用名称, String, 模糊查询.")
+		private String key;
+
+		@FieldDescribe("文档类型:全部 | 信息 | 数据")
+		private String documentType = "信息";
+
+		public List<String> getAppIdList() {
+			return appIdList;
+		}
+
+		public void setAppIdList(List<String> appIdList) {
+			this.appIdList = appIdList;
+		}
+
+		public List<String> getCategoryIdList() {
+			return categoryIdList;
+		}
+
+		public void setCategoryIdList(List<String> categoryIdList) {
+			this.categoryIdList = categoryIdList;
+		}
+
+		public List<String> getCreatorList() {
+			return creatorList;
+		}
+
+		public void setCreatorList(List<String> creatorList) {
+			this.creatorList = creatorList;
+		}
+
+		public String getKey() {
+			return key;
+		}
+
+		public void setKey(String key) {
+			this.key = key;
+		}
+
+		public String getDocumentType() {
+			return documentType;
+		}
+
+		public void setDocumentType(String documentType) {
+			this.documentType = documentType;
+		}
+	}
+}

+ 24 - 0
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/categoryinfo/CategoryInfoAction.java

@@ -340,5 +340,29 @@ public class CategoryInfoAction extends StandardJaxrsAction{
 		}
 		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
 	}
+
+	@JaxrsMethodDescribe(value = "分页查询符合过滤条件的分类列表.", action = ActionQueryListWithFilterPaging.class)
+	@PUT
+	@Path("filter/list/{page}/size/{size}")
+	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
+	@Consumes(MediaType.APPLICATION_JSON)
+	public void query_listWithFilterPaging( @Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
+											@JaxrsParameterDescribe("分页") @PathParam("page") Integer page,
+											@JaxrsParameterDescribe("数量") @PathParam("size") Integer size, JsonElement jsonElement) {
+		EffectivePerson effectivePerson = this.effectivePerson( request );
+		ActionResult<List<ActionQueryListWithFilterPaging.Wo>> result = new ActionResult<>();
+		Boolean check = true;
+
+		if( check ){
+			try {
+				result = new ActionQueryListWithFilterPaging().execute( request, page, size, jsonElement, effectivePerson );
+			} catch (Exception e) {
+				result = new ActionResult<>();
+				result.error( e );
+				logger.error( e, effectivePerson, request, null);
+			}
+		}
+		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
+	}
 	
 }

+ 25 - 0
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/document/DocumentAnonymousAction.java

@@ -119,4 +119,29 @@ public class DocumentAnonymousAction extends StandardJaxrsAction{
 		}
 		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
 	}
+
+	@JaxrsMethodDescribe(value = "分页查询符合过滤条件的已发布的信息内容.", action = ActionQueryListWithFilterPaging.class)
+	@PUT
+	@Path("filter/list/{page}/size/{size}")
+	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
+	@Consumes(MediaType.APPLICATION_JSON)
+	public void query_listWithFilterPaging( @Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
+											@JaxrsParameterDescribe("分页") @PathParam("page") Integer page,
+											@JaxrsParameterDescribe("数量") @PathParam("size") Integer size, JsonElement jsonElement) {
+		EffectivePerson effectivePerson = this.effectivePerson( request );
+		ActionResult<List<ActionQueryListWithFilterPaging.Wo>> result = new ActionResult<>();
+		Boolean check = true;
+
+		if( check ){
+			try {
+				result = new ActionQueryListWithFilterPaging().execute( request, page, size, jsonElement, effectivePerson );
+			} catch (Exception e) {
+				result = new ActionResult<>();
+				result.error( e );
+				logger.error( e, effectivePerson, request, null);
+			}
+		}
+		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
+	}
+
 }

+ 3 - 2
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/input/BaseAction.java

@@ -2,6 +2,7 @@ package com.x.cms.assemble.control.jaxrs.input;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -46,7 +47,7 @@ abstract class BaseAction extends StandardJaxrsAction {
 		CriteriaQuery<AppInfo> cq = cb.createQuery(AppInfo.class);
 		Root<AppInfo> root = cq.from(AppInfo.class);
 		Predicate p = cb.equal( root.get(AppInfo_.appAlias ), alias);
-		List<AppInfo> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+		List<AppInfo> os = em.createQuery(cq.select(root).where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 		if (os.size() == 1) {
 			return os.get(0);
 		} else {
@@ -63,7 +64,7 @@ abstract class BaseAction extends StandardJaxrsAction {
 		CriteriaQuery<AppInfo> cq = cb.createQuery(AppInfo.class);
 		Root<AppInfo> root = cq.from(AppInfo.class);
 		Predicate p = cb.equal(root.get(AppInfo_.appName), name);
-		List<AppInfo> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+		List<AppInfo> os = em.createQuery(cq.select(root).where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 		if (os.size() == 1) {
 			return os.get(0);
 		} else {

+ 3 - 2
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/queryview/ActionList.java

@@ -2,6 +2,7 @@ package com.x.cms.assemble.control.jaxrs.queryview;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -63,8 +64,8 @@ public class ActionList extends BaseAction {
 			p = cb.or(p, root.get(QueryView_.availableUnitList).in(unitNames));
 			p = cb.or(p, root.get(QueryView_.availableIdentityList).in(identities));
 		}
-		cq.select(root.get(QueryView_.id)).where(p).distinct(true);
-		List<String> list = em.createQuery(cq).getResultList();
+		cq.select(root.get(QueryView_.id)).where(p);
+		List<String> list = em.createQuery(cq).getResultList().stream().distinct().collect(Collectors.toList());
 		return list;
 	}
 

+ 5 - 4
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/queryview/ActionListAll.java

@@ -2,6 +2,7 @@ package com.x.cms.assemble.control.jaxrs.queryview;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -71,8 +72,8 @@ public class ActionListAll extends BaseAction {
 		CriteriaBuilder cb = em.getCriteriaBuilder();
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<QueryView> root = cq.from( QueryView.class );
-		cq.select(root.get( QueryView_.appId )).distinct(true);
-		List<String> list = em.createQuery(cq).getResultList();
+		cq.select(root.get( QueryView_.appId ));
+		List<String> list = em.createQuery(cq).getResultList().stream().distinct().collect(Collectors.toList());
 		return list;
 	}
 
@@ -82,8 +83,8 @@ public class ActionListAll extends BaseAction {
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<QueryView> root = cq.from(QueryView.class);
 		Predicate p = cb.equal( root.get(QueryView_.appId), appId );
-		cq.select(root.get(QueryView_.id)).where(p).distinct(true);
-		List<String> list = em.createQuery(cq).getResultList();
+		cq.select(root.get(QueryView_.id)).where(p);
+		List<String> list = em.createQuery(cq).getResultList().stream().distinct().collect(Collectors.toList());
 		return list;
 	}
 

+ 9 - 8
o2server/x_cms_core_entity/src/main/java/com/x/cms/core/entity/query/Query.java

@@ -5,6 +5,7 @@ import java.util.Date;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.Tuple;
@@ -432,8 +433,8 @@ public class Query extends GsonPropertyObject {
 						Root<Item> root = cq.from(Item.class);
 						Predicate p = FilterEntryTools.toPredicate(cb, root, f);
 						p = cb.and(p, root.get(Item_.bundle).in(jobs));
-						cq.select(root.get(Item_.bundle)).distinct(true).where(p);
-						List<String> os = em.createQuery(cq).getResultList();
+						cq.select(root.get(Item_.bundle)).where(p);
+						List<String> os = em.createQuery(cq).getResultList().stream().distinct().collect(Collectors.toList());
 						/** 不等于在这里单独通过等于处理 */
 						if (Comparison.isNotEquals(f.getComparison())) {
 							os = ListUtils.subtract(jobs, os);
@@ -461,8 +462,8 @@ public class Query extends GsonPropertyObject {
 						Root<Item> root = cq.from(Item.class);
 						Predicate p = FilterEntryTools.toPredicate(cb, root, f);
 						p = cb.and(p, root.get(Item_.bundle).in(jobs));
-						cq.select(root.get(Item_.bundle)).distinct(true).where(p);
-						List<String> os = em.createQuery(cq).getResultList();
+						cq.select(root.get(Item_.bundle)).where(p);
+						List<String> os = em.createQuery(cq).getResultList().stream().distinct().collect(Collectors.toList());
 						/** 不等于在这里单独通过等于处理 */
 						if (Comparison.isNotEquals(f.getComparison())) {
 							os = ListUtils.subtract(jobs, os);
@@ -493,8 +494,8 @@ public class Query extends GsonPropertyObject {
 				DateRangeEntryTools.toDocumentPredicate(cb, root, this.getDateRangeEntry()));
 		Predicate pw = cb.and(WhereEntryTools.toDocumentPredicate(cb, root, this.getRestrictWhereEntry()),
 				WhereEntryTools.toDocumentPredicate(cb, root, this.getWhereEntry()));
-		cq.select(root.get(Document.id_FIELDNAME)).distinct(true).where(cb.and(pd, pw));
-		return em.createQuery(cq).getResultList();
+		cq.select(root.get(Document.id_FIELDNAME)).where(cb.and(pd, pw));
+		return em.createQuery(cq).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 
 	private Table concreteTable(List<String> docIds) throws Exception {
@@ -579,8 +580,8 @@ public class Query extends GsonPropertyObject {
 			p = cb.and(p, cb.equal(root.get(Item_.path5), paths.length > 5 ? paths[5] : ""));
 			p = cb.and(p, cb.equal(root.get(Item_.path6), paths.length > 6 ? paths[6] : ""));
 			p = cb.and(p, cb.equal(root.get(Item_.path7), paths.length > 7 ? paths[7] : ""));
-			cq.select(root).distinct(true).where(p);
-			List<Item> list = em.createQuery(cq).getResultList();
+			cq.select(root).where(p);
+			List<Item> list = em.createQuery(cq).getResultList().stream().distinct().collect(Collectors.toList());
 			for (Item o : list) {
 				Row row = table.get(o.getBundle());
 				switch (o.getItemPrimitiveType()) {

+ 1 - 1
o2server/x_message_assemble_communicate/src/main/java/com/x/message/assemble/communicate/DingdingConsumeQueue.java

@@ -57,7 +57,7 @@ public class DingdingConsumeQueue extends AbstractQueue<Message> {
 					Message messageEntityObject = emc.find(message.getId(), Message.class);
 					if (null != messageEntityObject) {
 						emc.beginTransaction(Message.class);
-						message.setConsumed(true);
+						messageEntityObject.setConsumed(true);
 						emc.commit();
 					}
 				}

+ 1 - 1
o2server/x_message_assemble_communicate/src/main/java/com/x/message/assemble/communicate/PmsConsumeQueue.java

@@ -55,7 +55,7 @@ public class PmsConsumeQueue extends AbstractQueue<Message> {
 				Message messageEntityObject = emc.find(message.getId(), Message.class);
 				if (null != messageEntityObject) {
 					emc.beginTransaction(Message.class);
-					message.setConsumed(true);
+					messageEntityObject.setConsumed(true);
 					emc.commit();
 				}
 			}

+ 1 - 1
o2server/x_message_assemble_communicate/src/main/java/com/x/message/assemble/communicate/PmsInnerConsumeQueue.java

@@ -31,7 +31,7 @@ public class PmsInnerConsumeQueue extends AbstractQueue<Message> {
 					Message messageEntityObject = emc.find(message.getId(), Message.class);
 					if (null != messageEntityObject) {
 						emc.beginTransaction(Message.class);
-						message.setConsumed(true);
+						messageEntityObject.setConsumed(true);
 						emc.commit();
 					}
 				}

+ 1 - 1
o2server/x_message_assemble_communicate/src/main/java/com/x/message/assemble/communicate/QiyeweixinConsumeQueue.java

@@ -49,7 +49,7 @@ public class QiyeweixinConsumeQueue extends AbstractQueue<Message> {
 					Message messageEntityObject = emc.find(message.getId(), Message.class);
 					if (null != messageEntityObject) {
 						emc.beginTransaction(Message.class);
-						message.setConsumed(true);
+						messageEntityObject.setConsumed(true);
 						emc.commit();
 					}
 				}

+ 1 - 1
o2server/x_message_assemble_communicate/src/main/java/com/x/message/assemble/communicate/WeLinkConsumeQueue.java

@@ -77,7 +77,7 @@ public class WeLinkConsumeQueue extends AbstractQueue<Message> {
 					Message messageEntityObject = emc.find(message.getId(), Message.class);
 					if (null != messageEntityObject) {
 						emc.beginTransaction(Message.class);
-						message.setConsumed(true);
+						messageEntityObject.setConsumed(true);
 						emc.commit();
 					}
 				}

+ 2 - 1
o2server/x_mind_assemble_control/src/main/java/com/x/mind/assemble/control/factory/MindBaseInfoFactory.java

@@ -3,6 +3,7 @@ package com.x.mind.assemble.control.factory;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -318,7 +319,7 @@ public class MindBaseInfoFactory extends AbstractFactory {
 				cq.orderBy( cb.asc( root.get( MindBaseInfo_.sequence ) ) );
 			}
 		}
-		return em.createQuery(cq.distinct(true).where(p)).setMaxResults( count ).getResultList();
+		return em.createQuery(cq.where(p)).setMaxResults( count ).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 
 	/**

+ 2 - 1
o2server/x_mind_assemble_control/src/main/webapp/describe/sources/com/x/mind/assemble/control/factory/MindBaseInfoFactory.java

@@ -3,6 +3,7 @@ package com.x.mind.assemble.control.factory;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -318,7 +319,7 @@ public class MindBaseInfoFactory extends AbstractFactory {
 				cq.orderBy( cb.asc( root.get( MindBaseInfo_.sequence ) ) );
 			}
 		}
-		return em.createQuery(cq.distinct(true).where(p)).setMaxResults( count ).getResultList();
+		return em.createQuery(cq.where(p)).setMaxResults( count ).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 
 	/**

+ 5 - 4
o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrCenterWorkInfoFactory.java

@@ -3,6 +3,7 @@ package com.x.okr.assemble.control.factory;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.Query;
@@ -333,8 +334,8 @@ public class OkrCenterWorkInfoFactory extends AbstractFactory {
 		if( identities_error != null && identities_error.size() > 0 ){
 			p = cb.and( p, cb.not(root.get( OkrCenterWorkInfo_.creatorIdentity ).in( identities_error )) );
 		}
-		cq.distinct(true).select(root.get( OkrCenterWorkInfo_.creatorIdentity ));
-		return em.createQuery(cq.where(p)).getResultList();
+		cq.select(root.get( OkrCenterWorkInfo_.creatorIdentity ));
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 	/**
 	 * 查询中心工作部署者身份列表(去重复)
@@ -356,8 +357,8 @@ public class OkrCenterWorkInfoFactory extends AbstractFactory {
 		if( identities_error != null && identities_error.size() > 0 ){
 			p = cb.and( p, cb.not(root.get( OkrCenterWorkInfo_.deployerIdentity ).in( identities_error )) );
 		}
-		cq.distinct(true).select(root.get( OkrCenterWorkInfo_.deployerIdentity ));
-		return em.createQuery(cq.where(p)).getResultList();
+		cq.select(root.get( OkrCenterWorkInfo_.deployerIdentity ));
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 	/**
 	 * 查询中心工作汇报审核领导身份列表(去重复)

+ 3 - 2
o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrConfigSecretaryFactory.java

@@ -2,6 +2,7 @@ package com.x.okr.assemble.control.factory;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -123,8 +124,8 @@ public class OkrConfigSecretaryFactory extends AbstractFactory {
 		if( identities_error != null && identities_error.size() > 0 ){
 			p = cb.and( p, cb.not(root.get( OkrConfigSecretary_.leaderIdentity ).in( identities_error )) );
 		}
-		cq.distinct(true).select(root.get( OkrConfigSecretary_.leaderIdentity ));
-		return em.createQuery(cq.where(p)).getResultList();
+		cq.select(root.get( OkrConfigSecretary_.leaderIdentity ));
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 	/**
 	 * 根据身份名称,从领导秘书配置信息中查询与该身份有关的所有信息列表

+ 3 - 2
o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrConfigSystemFactory.java

@@ -2,6 +2,7 @@ package com.x.okr.assemble.control.factory;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -112,8 +113,8 @@ public class OkrConfigSystemFactory extends AbstractFactory {
 		if( identities_error != null && identities_error.size() > 0 ){
 			p = cb.and( p, cb.not(root.get( OkrConfigSystem_.configValue ).in( identities_error )) );
 		}
-		cq.distinct(true).select(root.get( OkrConfigSystem_.configValue ));
-		return em.createQuery(cq.where(p)).getResultList();
+		cq.select(root.get( OkrConfigSystem_.configValue ));
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 	/**
 	 * 根据身份名称,从系统参数配置信息中查询与该身份有关的所有信息列表

+ 5 - 4
o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrStatisticReportContentFactory.java

@@ -2,6 +2,7 @@ package com.x.okr.assemble.control.factory;
 
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -328,8 +329,8 @@ public class OkrStatisticReportContentFactory extends AbstractFactory {
 		if( endDate != null ){
 			p = cb.and( p, cb.lessThan( root.get(OkrStatisticReportContent_.statisticTime ), endDate));
 		}
-		cq.distinct(true).select( root.get(OkrStatisticReportContent_.statisticTimeFlag ));
-		return em.createQuery( cq.where(p) ).getResultList();
+		cq.select( root.get(OkrStatisticReportContent_.statisticTimeFlag ));
+		return em.createQuery( cq.where(p) ).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 	/**
 	 * 查询统计数据中工作责任者身份列表(去重复)
@@ -351,8 +352,8 @@ public class OkrStatisticReportContentFactory extends AbstractFactory {
 		if( identities_error != null && identities_error.size() > 0 ){
 			p = cb.and( p, cb.not(root.get( OkrStatisticReportContent_.responsibilityIdentity ).in( identities_error )) );
 		}
-		cq.distinct(true).select(root.get( OkrStatisticReportContent_.responsibilityIdentity ));
-		return em.createQuery(cq.where(p)).getResultList();
+		cq.select(root.get( OkrStatisticReportContent_.responsibilityIdentity ));
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 	/**
 	 * 根据身份名称,从工作最新汇报内容统计信息中查询与该身份有关的所有信息列表

+ 3 - 2
o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrStatisticReportStatusFactory.java

@@ -2,6 +2,7 @@ package com.x.okr.assemble.control.factory;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -154,8 +155,8 @@ public class OkrStatisticReportStatusFactory extends AbstractFactory {
 		if( identities_error != null && identities_error.size() > 0 ){
 			p = cb.and( p, cb.not(root.get( OkrStatisticReportStatus_.responsibilityIdentity ).in( identities_error )) );
 		}
-		cq.distinct(true).select(root.get( OkrStatisticReportStatus_.responsibilityIdentity ));
-		return em.createQuery(cq.where(p)).getResultList();
+		cq.select(root.get( OkrStatisticReportStatus_.responsibilityIdentity ));
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 
 	/**

+ 5 - 4
o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrTaskFactory.java

@@ -2,6 +2,7 @@ package com.x.okr.assemble.control.factory;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -198,9 +199,9 @@ public class OkrTaskFactory extends AbstractFactory {
 		CriteriaBuilder cb = em.getCriteriaBuilder();
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<OkrTask> root = cq.from( OkrTask.class);
-		cq.distinct(true).select( root.get( OkrTask_.targetIdentity ));
+		cq.select( root.get( OkrTask_.targetIdentity ));
 		Predicate p = root.get( OkrTask_.dynamicObjectType ).in( taskTypeList );
-		return em.createQuery(cq.where(p)).getResultList();
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 
 	/**
@@ -349,8 +350,8 @@ public class OkrTaskFactory extends AbstractFactory {
 		if( identities_error != null && identities_error.size() > 0 ){
 			p = cb.and( p, cb.not(root.get( OkrTask_.targetIdentity ).in( identities_error )) );
 		}
-		cq.distinct(true).select(root.get( OkrTask_.targetIdentity ));
-		return em.createQuery(cq.where(p)).getResultList();
+		cq.select(root.get( OkrTask_.targetIdentity ));
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 	/**
 	 * 根据身份名称,从具体工作待办待阅信息中查询与该身份有关的所有信息列表

+ 3 - 2
o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrTaskHandledFactory.java

@@ -2,6 +2,7 @@ package com.x.okr.assemble.control.factory;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -126,8 +127,8 @@ public class OkrTaskHandledFactory extends AbstractFactory {
 		if( identities_error != null && identities_error.size() > 0 ){
 			p = cb.and( p, cb.not(root.get( OkrTaskHandled_.targetIdentity ).in( identities_error )) );
 		}
-		cq.distinct(true).select(root.get( OkrTaskHandled_.targetIdentity ));
-		return em.createQuery(cq.where(p)).getResultList();
+		cq.select(root.get( OkrTaskHandled_.targetIdentity ));
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 	/**
 	 * 根据身份名称,从具体工作已办已阅信息中查询与该身份有关的所有信息列表

+ 5 - 4
o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrWorkAuthorizeRecordFactory.java

@@ -2,6 +2,7 @@ package com.x.okr.assemble.control.factory;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -219,8 +220,8 @@ public class OkrWorkAuthorizeRecordFactory extends AbstractFactory {
 		if( identities_error != null && identities_error.size() > 0 ){
 			p = cb.and( p, cb.not(root.get( OkrWorkAuthorizeRecord_.delegatorIdentity ).in( identities_error )) );
 		}
-		cq.distinct(true).select(root.get( OkrWorkAuthorizeRecord_.delegatorIdentity ));
-		return em.createQuery(cq.where(p)).getResultList();
+		cq.select(root.get( OkrWorkAuthorizeRecord_.delegatorIdentity ));
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 	/**
 	 * 查询工作承接者身份列表(去重复)
@@ -242,8 +243,8 @@ public class OkrWorkAuthorizeRecordFactory extends AbstractFactory {
 		if( identities_error != null && identities_error.size() > 0 ){
 			p = cb.and( p, cb.not(root.get( OkrWorkAuthorizeRecord_.targetIdentity ).in( identities_error )) );
 		}
-		cq.distinct(true).select(root.get( OkrWorkAuthorizeRecord_.targetIdentity ));
-		return em.createQuery(cq.where(p)).getResultList();
+		cq.select(root.get( OkrWorkAuthorizeRecord_.targetIdentity ));
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 	/**
 	 * 根据身份名称,从工作授权信息中查询与该身份有关的所有信息列表

+ 7 - 6
o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrWorkBaseInfoFactory.java

@@ -4,6 +4,7 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashSet;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.Query;
@@ -699,8 +700,8 @@ public class OkrWorkBaseInfoFactory extends AbstractFactory {
 		if( identities_error != null && identities_error.size() > 0 ){
 			p = cb.and( p, cb.not(root.get( OkrWorkBaseInfo_.creatorIdentity ).in( identities_error )) );
 		}
-		cq.distinct(true).select(root.get( OkrWorkBaseInfo_.creatorIdentity ));
-		return em.createQuery(cq.where(p)).getResultList();
+		cq.select(root.get( OkrWorkBaseInfo_.creatorIdentity ));
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 	/**
 	 * 查询具体工作部署者身份列表(去重复)
@@ -722,8 +723,8 @@ public class OkrWorkBaseInfoFactory extends AbstractFactory {
 		if( identities_error != null && identities_error.size() > 0 ){
 			p = cb.and( p, cb.not(root.get( OkrWorkBaseInfo_.deployerIdentity ).in( identities_error )) );
 		}
-		cq.distinct(true).select(root.get( OkrWorkBaseInfo_.deployerIdentity ));
-		return em.createQuery(cq.where(p)).getResultList();
+		cq.select(root.get( OkrWorkBaseInfo_.deployerIdentity ));
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 	/**
 	 * 查询具体工作阅知领导身份列表(去重复)
@@ -791,8 +792,8 @@ public class OkrWorkBaseInfoFactory extends AbstractFactory {
 		if( identities_error != null && identities_error.size() > 0 ){
 			p = cb.and( p, cb.not(root.get( OkrWorkBaseInfo_.responsibilityIdentity ).in( identities_error )) );
 		}
-		cq.distinct(true).select(root.get( OkrWorkBaseInfo_.responsibilityIdentity ));
-		return em.createQuery(cq.where(p)).getResultList();
+		cq.select(root.get( OkrWorkBaseInfo_.responsibilityIdentity ));
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 
 	/**

+ 5 - 4
o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrWorkChatFactory.java

@@ -2,6 +2,7 @@ package com.x.okr.assemble.control.factory;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.Query;
@@ -235,8 +236,8 @@ public class OkrWorkChatFactory extends AbstractFactory {
 		if( identities_error != null && identities_error.size() > 0 ){
 			p = cb.and( p, cb.not(root.get( OkrWorkChat_.senderIdentity ).in( identities_error )) );
 		}
-		cq.distinct(true).select(root.get( OkrWorkChat_.senderIdentity ));
-		return em.createQuery(cq.where(p)).getResultList();
+		cq.select(root.get( OkrWorkChat_.senderIdentity ));
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 	/**
 	 * 查询工作交流信息接收者身份列表(去重复)
@@ -258,8 +259,8 @@ public class OkrWorkChatFactory extends AbstractFactory {
 		if( identities_error != null && identities_error.size() > 0 ){
 			p = cb.and( p, cb.not(root.get( OkrWorkChat_.targetIdentity ).in( identities_error )) );
 		}
-		cq.distinct(true).select(root.get( OkrWorkChat_.targetIdentity ));
-		return em.createQuery(cq.where(p)).getResultList();
+		cq.select(root.get( OkrWorkChat_.targetIdentity ));
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 	/**
 	 * 根据身份名称,从具体工作交流信息中查询与该身份有关的所有信息列表

+ 3 - 2
o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrWorkDynamicsFactory.java

@@ -2,6 +2,7 @@ package com.x.okr.assemble.control.factory;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.Query;
@@ -320,8 +321,8 @@ public class OkrWorkDynamicsFactory extends AbstractFactory {
 		if (identities_error != null && identities_error.size() > 0) {
 			p = cb.and(p, cb.not(root.get(OkrWorkDynamics_.targetIdentity).in(identities_error)));
 		}
-		cq.distinct(true).select(root.get(OkrWorkDynamics_.targetIdentity));
-		return em.createQuery(cq.where(p)).getResultList();
+		cq.select(root.get(OkrWorkDynamics_.targetIdentity));
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 
 	/**

+ 39 - 38
o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrWorkPersonFactory.java

@@ -2,6 +2,7 @@ package com.x.okr.assemble.control.factory;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.Query;
@@ -78,7 +79,7 @@ public class OkrWorkPersonFactory extends AbstractFactory {
 		CriteriaBuilder cb = em.getCriteriaBuilder();
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<OkrWorkPerson> root = cq.from(OkrWorkPerson.class);
-		cq.distinct(true).select(root.get(OkrWorkPerson_.workId));
+		cq.select(root.get(OkrWorkPerson_.workId));
 
 		/**
 		 * 获取的时候过滤条件: 1、如果当前身份是创建者或者部署者的,那么,草稿也要取,如果当前身份不是创建者或者部署者,那么草稿不要去
@@ -114,7 +115,7 @@ public class OkrWorkPersonFactory extends AbstractFactory {
 
 		p = cb.and(p, cb.or(p_creator_or_depoloyer, p_watcher));
 
-		return em.createQuery(cq.where(p)).setMaxResults(1000).getResultList();
+		return em.createQuery(cq.where(p)).setMaxResults(1000).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 
 	/**
@@ -136,12 +137,12 @@ public class OkrWorkPersonFactory extends AbstractFactory {
 		CriteriaBuilder cb = em.getCriteriaBuilder();
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<OkrWorkPerson> root = cq.from(OkrWorkPerson.class);
-		cq.distinct(true).select(root.get(OkrWorkPerson_.workId));
+		cq.select(root.get(OkrWorkPerson_.workId));
 		Predicate p = cb.equal(root.get(OkrWorkPerson_.employeeIdentity), userIdentity);
 		if (centerId != null && !centerId.isEmpty()) {
 			p = cb.and(p, cb.equal(root.get(OkrWorkPerson_.centerId), centerId));
 		}
-		return em.createQuery(cq.where(p)).setMaxResults(1000).getResultList();
+		return em.createQuery(cq.where(p)).setMaxResults(1000).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 
 	// @MethodDescribe( "根据用户姓名和处理者身份,列示有权限访问的所有具体工作Id列表" )
@@ -158,11 +159,11 @@ public class OkrWorkPersonFactory extends AbstractFactory {
 		CriteriaBuilder cb = em.getCriteriaBuilder();
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<OkrWorkPerson> root = cq.from(OkrWorkPerson.class);
-		cq.distinct(true).select(root.get(OkrWorkPerson_.workId));
+		cq.select(root.get(OkrWorkPerson_.workId));
 		Predicate p = cb.isNotNull(root.get(OkrWorkPerson_.workId));
 		p = cb.and(p, cb.equal(root.get(OkrWorkPerson_.employeeName), name));
 		p = cb.and(p, cb.equal(root.get(OkrWorkPerson_.processIdentity), processIdentity));
-		return em.createQuery(cq.where(p)).setMaxResults(1000).getResultList();
+		return em.createQuery(cq.where(p)).setMaxResults(1000).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 
 	// @MethodDescribe( "根据用户姓名和处理者身份,列示有权限访问的所有具体工作Id列表" )
@@ -180,7 +181,7 @@ public class OkrWorkPersonFactory extends AbstractFactory {
 		CriteriaBuilder cb = em.getCriteriaBuilder();
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<OkrWorkPerson> root = cq.from(OkrWorkPerson.class);
-		cq.distinct(true).select(root.get(OkrWorkPerson_.workId));
+		cq.select(root.get(OkrWorkPerson_.workId));
 
 		Predicate p = cb.isNotNull(root.get(OkrWorkPerson_.workId));
 
@@ -194,7 +195,7 @@ public class OkrWorkPersonFactory extends AbstractFactory {
 		p = cb.and(p, cb.equal(root.get(OkrWorkPerson_.processIdentity), processIdentity));
 		p = cb.and(p, cb.equal(root.get(OkrWorkPerson_.status), "正常"));
 
-		return em.createQuery(cq.where(p)).setMaxResults(200).getResultList();
+		return em.createQuery(cq.where(p)).setMaxResults(200).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 
 	// @MethodDescribe( "根据用户姓名,列示有权限访问的所有中心工作Id列表" )
@@ -207,12 +208,12 @@ public class OkrWorkPersonFactory extends AbstractFactory {
 		CriteriaBuilder cb = em.getCriteriaBuilder();
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<OkrWorkPerson> root = cq.from(OkrWorkPerson.class);
-		cq.distinct(true).select(root.get(OkrWorkPerson_.centerId));
+		cq.select(root.get(OkrWorkPerson_.centerId));
 		Predicate p = cb.equal(root.get(OkrWorkPerson_.employeeName), name);
 		if (statuses != null && statuses.size() > 0) {
 			p = cb.and(p, root.get(OkrWorkPerson_.status).in(statuses));
 		}
-		return em.createQuery(cq.where(p)).setMaxResults(1000).getResultList();
+		return em.createQuery(cq.where(p)).setMaxResults(1000).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 
 	// @MethodDescribe( "根据用户姓名和处理者身份,列示有权限访问的所有中心工作Id列表" )
@@ -230,13 +231,13 @@ public class OkrWorkPersonFactory extends AbstractFactory {
 		CriteriaBuilder cb = em.getCriteriaBuilder();
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<OkrWorkPerson> root = cq.from(OkrWorkPerson.class);
-		cq.distinct(true).select(root.get(OkrWorkPerson_.centerId));
+		cq.select(root.get(OkrWorkPerson_.centerId));
 		Predicate p = cb.equal(root.get(OkrWorkPerson_.employeeName), name);
 		p = cb.and(p, cb.equal(root.get(OkrWorkPerson_.processIdentity), processIdentity));
 		if (statuses != null && statuses.size() > 0) {
 			p = cb.and(p, root.get(OkrWorkPerson_.status).in(statuses));
 		}
-		return em.createQuery(cq.where(p)).setMaxResults(1000).getResultList();
+		return em.createQuery(cq.where(p)).setMaxResults(1000).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 
 	// @MethodDescribe( "根据用户身份和处理者身份,列示有权限访问的所有中心工作Id列表" )
@@ -254,13 +255,13 @@ public class OkrWorkPersonFactory extends AbstractFactory {
 		CriteriaBuilder cb = em.getCriteriaBuilder();
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<OkrWorkPerson> root = cq.from(OkrWorkPerson.class);
-		cq.distinct(true).select(root.get(OkrWorkPerson_.centerId));
+		cq.select(root.get(OkrWorkPerson_.centerId));
 		Predicate p = cb.equal(root.get(OkrWorkPerson_.employeeIdentity), identity);
 		p = cb.and(p, cb.equal(root.get(OkrWorkPerson_.processIdentity), processIdentity));
 		if (statuses != null && statuses.size() > 0) {
 			p = cb.and(p, root.get(OkrWorkPerson_.status).in(statuses));
 		}
-		return em.createQuery(cq.where(p)).setMaxResults(1000).getResultList();
+		return em.createQuery(cq.where(p)).setMaxResults(1000).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 
 	// @MethodDescribe( "根据组织名称,列示有权限访问的所有中心工作Id列表" )
@@ -273,12 +274,12 @@ public class OkrWorkPersonFactory extends AbstractFactory {
 		CriteriaBuilder cb = em.getCriteriaBuilder();
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<OkrWorkPerson> root = cq.from(OkrWorkPerson.class);
-		cq.distinct(true).select(root.get(OkrWorkPerson_.centerId));
+		cq.select(root.get(OkrWorkPerson_.centerId));
 		Predicate p = cb.equal(root.get(OkrWorkPerson_.unitName), name);
 		if (statuses != null && statuses.size() > 0) {
 			p = cb.and(p, root.get(OkrWorkPerson_.status).in(statuses));
 		}
-		return em.createQuery(cq.where(p)).setMaxResults(1000).getResultList();
+		return em.createQuery(cq.where(p)).setMaxResults(1000).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 
 	// @MethodDescribe( "根据组织列表,列示有权限访问的所有中心工作Id列表" )
@@ -291,12 +292,12 @@ public class OkrWorkPersonFactory extends AbstractFactory {
 		CriteriaBuilder cb = em.getCriteriaBuilder();
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<OkrWorkPerson> root = cq.from(OkrWorkPerson.class);
-		cq.distinct(true).select(root.get(OkrWorkPerson_.centerId));
+		cq.select(root.get(OkrWorkPerson_.centerId));
 		Predicate p = root.get(OkrWorkPerson_.unitName).in(names);
 		if (statuses != null && statuses.size() > 0) {
 			p = cb.and(p, root.get(OkrWorkPerson_.status).in(statuses));
 		}
-		return em.createQuery(cq.where(p)).setMaxResults(1000).getResultList();
+		return em.createQuery(cq.where(p)).setMaxResults(1000).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 
 	// @MethodDescribe( "根据顶层组织名称,列示有权限访问的所有中心工作Id列表" )
@@ -309,12 +310,12 @@ public class OkrWorkPersonFactory extends AbstractFactory {
 		CriteriaBuilder cb = em.getCriteriaBuilder();
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<OkrWorkPerson> root = cq.from(OkrWorkPerson.class);
-		cq.distinct(true).select(root.get(OkrWorkPerson_.centerId));
+		cq.select(root.get(OkrWorkPerson_.centerId));
 		Predicate p = cb.equal(root.get(OkrWorkPerson_.topUnitName), name);
 		if (statuses != null && statuses.size() > 0) {
 			p = cb.and(p, root.get(OkrWorkPerson_.status).in(statuses));
 		}
-		return em.createQuery(cq.where(p)).setMaxResults(1000).getResultList();
+		return em.createQuery(cq.where(p)).setMaxResults(1000).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 
 	/**
@@ -336,12 +337,12 @@ public class OkrWorkPersonFactory extends AbstractFactory {
 		CriteriaBuilder cb = em.getCriteriaBuilder();
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<OkrWorkPerson> root = cq.from(OkrWorkPerson.class);
-		cq.distinct(true).select(root.get(OkrWorkPerson_.employeeIdentity));
+		cq.select(root.get(OkrWorkPerson_.employeeIdentity));
 		Predicate p = cb.equal(root.get(OkrWorkPerson_.centerId), centerId);
 		if (identity != null && !identity.isEmpty()) {
 			p = cb.and(p, cb.equal(root.get(OkrWorkPerson_.processIdentity), identity));
 		}
-		return em.createQuery(cq.where(p)).setMaxResults(2000).getResultList();
+		return em.createQuery(cq.where(p)).setMaxResults(2000).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 
 	// @MethodDescribe( "根据顶层组织列表,列示有权限访问的所有中心工作Id列表" )
@@ -355,12 +356,12 @@ public class OkrWorkPersonFactory extends AbstractFactory {
 		CriteriaBuilder cb = em.getCriteriaBuilder();
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<OkrWorkPerson> root = cq.from(OkrWorkPerson.class);
-		cq.distinct(true).select(root.get(OkrWorkPerson_.centerId));
+		cq.select(root.get(OkrWorkPerson_.centerId));
 		Predicate p = root.get(OkrWorkPerson_.topUnitName).in(names);
 		if (statuses != null && statuses.size() > 0) {
 			p = cb.and(p, root.get(OkrWorkPerson_.status).in(statuses));
 		}
-		return em.createQuery(cq.where(p)).setMaxResults(1000).getResultList();
+		return em.createQuery(cq.where(p)).setMaxResults(1000).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 
 	/**
@@ -380,7 +381,7 @@ public class OkrWorkPersonFactory extends AbstractFactory {
 		CriteriaBuilder cb = em.getCriteriaBuilder();
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<OkrWorkPerson> root = cq.from(OkrWorkPerson.class);
-		cq.distinct(true).select(root.get(OkrWorkPerson_.employeeName));
+		cq.select(root.get(OkrWorkPerson_.employeeName));
 		Predicate p = cb.equal(root.get(OkrWorkPerson_.workId), workId);
 		if (identity != null && !identity.isEmpty()) {
 			p = cb.and(p, cb.equal(root.get(OkrWorkPerson_.processIdentity), identity));
@@ -388,7 +389,7 @@ public class OkrWorkPersonFactory extends AbstractFactory {
 		if (statuses != null && statuses.size() > 0) {
 			p = cb.and(p, root.get(OkrWorkPerson_.status).in(statuses));
 		}
-		return em.createQuery(cq.where(p)).setMaxResults(100).getResultList();
+		return em.createQuery(cq.where(p)).setMaxResults(100).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 
 	/**
@@ -480,7 +481,7 @@ public class OkrWorkPersonFactory extends AbstractFactory {
 		CriteriaBuilder cb = em.getCriteriaBuilder();
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<OkrWorkPerson> root = cq.from(OkrWorkPerson.class);
-		cq.distinct(true).select(root.get(OkrWorkPerson_.workId));
+		cq.select(root.get(OkrWorkPerson_.workId));
 		Predicate p = cb.equal(root.get(OkrWorkPerson_.employeeIdentity), employeeIdentity);
 		p = cb.and(p, cb.isNotNull(root.get(OkrWorkPerson_.workId)));
 		if (centerId != null && !centerId.isEmpty()) {
@@ -495,7 +496,7 @@ public class OkrWorkPersonFactory extends AbstractFactory {
 		if (statuses != null && statuses.size() > 0) {
 			p = cb.and(p, root.get(OkrWorkPerson_.status).in(statuses));
 		}
-		return em.createQuery(cq.where(p)).getResultList();
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 
 	/**
@@ -1059,15 +1060,15 @@ public class OkrWorkPersonFactory extends AbstractFactory {
 		CriteriaBuilder cb = em.getCriteriaBuilder();
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<OkrWorkPerson> root = cq.from(OkrWorkPerson.class);
-		cq.distinct(true).select(root.get(OkrWorkPerson_.employeeIdentity));
-		return em.createQuery(cq).setMaxResults(10000).getResultList();
+		cq.select(root.get(OkrWorkPerson_.employeeIdentity));
+		return em.createQuery(cq).setMaxResults(10000).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 
 	/**
 	 * 根据工作类别和登录身份来查询用户可以访问到的所有中心工作数量
-	 * 
-	 * @param workTypeName
+	 * @param workTypeNames
 	 * @param loginIdentity
+	 * @param processIdentity
 	 * @return
 	 * @throws Exception
 	 */
@@ -1087,8 +1088,8 @@ public class OkrWorkPersonFactory extends AbstractFactory {
 		if (processIdentity != null && !processIdentity.isEmpty()) {
 			p = cb.and(p, cb.equal(root.get(OkrWorkPerson_.processIdentity), processIdentity));
 		}
-		cq.distinct(true).select(root.get(OkrWorkPerson_.centerId));
-		return em.createQuery(cq.where(p)).getResultList();
+		cq.select(root.get(OkrWorkPerson_.centerId));
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 
 	public List<String> listByAuthorizeRecordIds(List<String> authorizeRecordIds, List<String> statuses)
@@ -1388,8 +1389,8 @@ public class OkrWorkPersonFactory extends AbstractFactory {
 		if (identities_error != null && identities_error.size() > 0) {
 			p = cb.and(p, cb.not(root.get(OkrWorkPerson_.employeeIdentity).in(identities_error)));
 		}
-		cq.distinct(true).select(root.get(OkrWorkPerson_.employeeIdentity));
-		return em.createQuery(cq.where(p)).getResultList();
+		cq.select(root.get(OkrWorkPerson_.employeeIdentity));
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 
 	/**
@@ -1425,7 +1426,7 @@ public class OkrWorkPersonFactory extends AbstractFactory {
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<OkrWorkPerson> root = cq.from(OkrWorkPerson.class);
 		Predicate p = cb.equal( root.get(OkrWorkPerson_.workId), workId);
-		cq.distinct(true).select(root.get(OkrWorkPerson_.employeeIdentity));
-		return em.createQuery(cq.where(p)).getResultList();
+		cq.select(root.get(OkrWorkPerson_.employeeIdentity));
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 }

+ 7 - 6
o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrWorkReportBaseInfoFactory.java

@@ -4,6 +4,7 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashSet;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -480,8 +481,8 @@ public class OkrWorkReportBaseInfoFactory extends AbstractFactory {
 		if( identities_error != null && identities_error.size() > 0 ){
 			p = cb.and( p, cb.not(root.get( OkrWorkReportBaseInfo_.creatorIdentity ).in( identities_error )) );
 		}
-		cq.distinct(true).select(root.get( OkrWorkReportBaseInfo_.creatorIdentity ));
-		return em.createQuery(cq.where(p)).getResultList();
+		cq.select(root.get( OkrWorkReportBaseInfo_.creatorIdentity ));
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 	/**
 	 * 查询工作汇报当前处理者身份列表(去重复)
@@ -596,8 +597,8 @@ public class OkrWorkReportBaseInfoFactory extends AbstractFactory {
 		if( identities_error != null && identities_error.size() > 0 ){
 			p = cb.and( p, cb.not(root.get( OkrWorkReportBaseInfo_.reporterIdentity ).in( identities_error )) );
 		}
-		cq.distinct(true).select(root.get( OkrWorkReportBaseInfo_.reporterIdentity ));
-		return em.createQuery(cq.where(p)).getResultList();
+		cq.select(root.get( OkrWorkReportBaseInfo_.reporterIdentity ));
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 	/**
 	 * 查询工作管理者,督办员身份列表(去重复)
@@ -619,8 +620,8 @@ public class OkrWorkReportBaseInfoFactory extends AbstractFactory {
 		if( identities_error != null && identities_error.size() > 0 ){
 			p = cb.and( p, cb.not(root.get( OkrWorkReportBaseInfo_.workAdminIdentity ).in( identities_error )) );
 		}
-		cq.distinct(true).select(root.get( OkrWorkReportBaseInfo_.workAdminIdentity ));
-		return em.createQuery(cq.where(p)).getResultList();
+		cq.select(root.get( OkrWorkReportBaseInfo_.workAdminIdentity ));
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 
 	/**

+ 3 - 2
o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrWorkReportPersonLinkFactory.java

@@ -2,6 +2,7 @@ package com.x.okr.assemble.control.factory;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.Query;
@@ -336,8 +337,8 @@ public class OkrWorkReportPersonLinkFactory extends AbstractFactory {
 		if( identities_error != null && identities_error.size() > 0 ){
 			p = cb.and( p, cb.not(root.get( OkrWorkReportPersonLink_.processorIdentity ).in( identities_error )) );
 		}
-		cq.distinct(true).select(root.get( OkrWorkReportPersonLink_.processorIdentity ));
-		return em.createQuery(cq.where(p)).getResultList();
+		cq.select(root.get( OkrWorkReportPersonLink_.processorIdentity ));
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 	/**
 	 * 根据身份名称,从工作汇报处理者信息中查询与该身份有关的所有信息列表

+ 3 - 2
o2server/x_okr_assemble_control/src/main/java/com/x/okr/assemble/control/factory/OkrWorkReportProcessLogFactory.java

@@ -2,6 +2,7 @@ package com.x.okr.assemble.control.factory;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.Query;
@@ -317,8 +318,8 @@ public class OkrWorkReportProcessLogFactory extends AbstractFactory {
 		if( identities_error != null && identities_error.size() > 0 ){
 			p = cb.and( p, cb.not(root.get( OkrWorkReportProcessLog_.processorIdentity ).in( identities_error )) );
 		}
-		cq.distinct(true).select(root.get( OkrWorkReportProcessLog_.processorIdentity ));
-		return em.createQuery(cq.where(p)).getResultList();
+		cq.select(root.get( OkrWorkReportProcessLog_.processorIdentity ));
+		return em.createQuery(cq.where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 	/**
 	 * 根据身份名称,从工作汇报处理日志信息中查询与该身份有关的所有信息列表

+ 4 - 3
o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/factory/PersonFactory.java

@@ -4,6 +4,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
 import java.util.regex.Matcher;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -68,7 +69,7 @@ public class PersonFactory extends AbstractFactory {
 				CriteriaQuery<Person> cq = cb.createQuery(Person.class);
 				Root<Person> root = cq.from(Person.class);
 				Predicate p = cb.equal(root.get(Person_.name), name);
-				List<Person> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+				List<Person> os = em.createQuery(cq.select(root).where(p)).getResultList();
 				if (os.size() == 1) {
 					o = os.get(0);
 					em.detach(o);
@@ -115,8 +116,8 @@ public class PersonFactory extends AbstractFactory {
 		p = cb.or(p, cb.equal(root.get(Person_.open3Id), credential));
 		p = cb.or(p, cb.equal(root.get(Person_.open4Id), credential));
 		p = cb.or(p, cb.equal(root.get(Person_.open5Id), credential));
-		cq.select(root.get(Person_.id));
-		List<String> list = em.createQuery(cq.where(p).distinct(true)).getResultList();
+		cq.select(root.get(Person_.id)).where(p);
+		List<String> list = em.createQuery(cq).getResultList().stream().distinct().collect(Collectors.toList());
 		if (list.size() == 1) {
 			return list.get(0);
 		}else if(list.size() > 1){

+ 1 - 1
o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/jaxrs/zhengwudingding/ActionLogin.java

@@ -183,7 +183,7 @@ class ActionLogin extends BaseAction {
 		Root<Person> root = cq.from(Person.class);
 		Predicate p = cb.equal(root.get(Person_.zhengwuDingdingId), userId);
 		cq.select(root).where(p);
-		List<Person> list = em.createQuery(cq.distinct(true)).getResultList();
+		List<Person> list = em.createQuery(cq).getResultList();
 		if (list.size() == 1) {
 			return list.get(0);
 		} else {

+ 1 - 1
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/factory/GroupFactory.java

@@ -91,7 +91,7 @@ public class GroupFactory extends AbstractFactory {
 				CriteriaQuery<Group> cq = cb.createQuery(Group.class);
 				Root<Group> root = cq.from(Group.class);
 				Predicate p = cb.equal(root.get(Group_.name), name);
-				List<Group> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+				List<Group> os = em.createQuery(cq.select(root).where(p)).getResultList();
 				if (os.size() == 1) {
 					o = os.get(0);
 					em.detach(o);

+ 1 - 1
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/factory/IdentityFactory.java

@@ -69,7 +69,7 @@ public class IdentityFactory extends AbstractFactory {
 				CriteriaQuery<Identity> cq = cb.createQuery(Identity.class);
 				Root<Identity> root = cq.from(Identity.class);
 				Predicate p = cb.equal(root.get(Identity_.name), name);
-				List<Identity> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+				List<Identity> os = em.createQuery(cq.select(root).where(p)).getResultList();
 				if (os.size() == 1) {
 					o = os.get(0);
 					em.detach(o);

+ 1 - 11
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/factory/PermissionSettingFactory.java

@@ -83,7 +83,7 @@ public class PermissionSettingFactory extends AbstractFactory {
 				CriteriaQuery<PermissionSetting> cq = cb.createQuery(PermissionSetting.class);
 				Root<PermissionSetting> root = cq.from(PermissionSetting.class);
 				Predicate p = cb.equal(root.get(PermissionSetting_.id), name);
-				List<PermissionSetting> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+				List<PermissionSetting> os = em.createQuery(cq.select(root).where(p)).getResultList();
 				if (os.size() == 1) {
 					o = os.get(0);
 					em.detach(o);
@@ -100,14 +100,4 @@ public class PermissionSettingFactory extends AbstractFactory {
 		cq.select(root.get(PermissionSetting_.id)).orderBy(cb.asc(root.get(PermissionSetting_.createTime))); 
 		return em.createQuery(cq).getResultList();
 	}
-	/*
-	public List<String> fetchAllGroupTypeByCreator(String distinguishName) throws Exception {
-		EntityManager em = this.entityManagerContainer().get(PermissionSetting.class);
-		CriteriaBuilder cb = em.getCriteriaBuilder();
-		CriteriaQuery<String> cq = cb.createQuery(String.class);
-		Root<PermissionSetting> root = cq.from(PermissionSetting.class);
-		Predicate p = cb.equal(root.get(PermissionSetting_.distinguishedName), distinguishName);
-		cq.select(root.get(PermissionSetting_.groupType)).where(p).distinct(true);
-		return em.createQuery(cq).getResultList();
-	}*/
 }

+ 1 - 1
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/factory/PersonAttributeFactory.java

@@ -68,7 +68,7 @@ public class PersonAttributeFactory extends AbstractFactory {
 				CriteriaQuery<PersonAttribute> cq = cb.createQuery(PersonAttribute.class);
 				Root<PersonAttribute> root = cq.from(PersonAttribute.class);
 				Predicate p = cb.equal(root.get(PersonAttribute_.name), name);
-				List<PersonAttribute> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+				List<PersonAttribute> os = em.createQuery(cq.select(root).where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 				if (os.size() == 1) {
 					o = os.get(0);
 					em.detach(o);

+ 4 - 3
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/factory/PersonCardFactory.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.control.factory;
 import java.util.List;
 import java.util.Optional;
 import java.util.regex.Matcher;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -65,7 +66,7 @@ public class PersonCardFactory extends AbstractFactory {
 				CriteriaQuery<PersonCard> cq = cb.createQuery(PersonCard.class);
 				Root<PersonCard> root = cq.from(PersonCard.class);
 				Predicate p = cb.equal(root.get(PersonCard_.name), name);
-				List<PersonCard> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+				List<PersonCard> os = em.createQuery(cq.select(root).where(p)).getResultList();
 				if (os.size() == 1) {
 					o = os.get(0);
 					em.detach(o);
@@ -89,7 +90,7 @@ public class PersonCardFactory extends AbstractFactory {
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<PersonCard> root = cq.from(PersonCard.class);
 		Predicate p = cb.equal(root.get(PersonCard_.distinguishedName), distinguishName);
-		cq.select(root.get(PersonCard_.groupType)).where(p).distinct(true);
-		return em.createQuery(cq).getResultList();
+		cq.select(root.get(PersonCard_.groupType)).where(p);
+		return em.createQuery(cq).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 }

+ 1 - 1
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/factory/PersonFactory.java

@@ -68,7 +68,7 @@ public class PersonFactory extends AbstractFactory {
 				CriteriaQuery<Person> cq = cb.createQuery(Person.class);
 				Root<Person> root = cq.from(Person.class);
 				Predicate p = cb.equal(root.get(Person_.name), name);
-				List<Person> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+				List<Person> os = em.createQuery(cq.select(root).where(p)).getResultList();
 				if (os.size() == 1) {
 					o = os.get(0);
 					em.detach(o);

+ 1 - 1
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/factory/RoleFactory.java

@@ -68,7 +68,7 @@ public class RoleFactory extends AbstractFactory {
 				CriteriaQuery<Role> cq = cb.createQuery(Role.class);
 				Root<Role> root = cq.from(Role.class);
 				Predicate p = cb.equal(root.get(Role_.name), name);
-				List<Role> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+				List<Role> os = em.createQuery(cq.select(root).where(p)).getResultList();
 				if (os.size() == 1) {
 					o = os.get(0);
 					em.detach(o);

+ 1 - 1
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/factory/UnitAttributeFactory.java

@@ -68,7 +68,7 @@ public class UnitAttributeFactory extends AbstractFactory {
 				CriteriaQuery<UnitAttribute> cq = cb.createQuery(UnitAttribute.class);
 				Root<UnitAttribute> root = cq.from(UnitAttribute.class);
 				Predicate p = cb.equal(root.get(UnitAttribute_.name), name);
-				List<UnitAttribute> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+				List<UnitAttribute> os = em.createQuery(cq.select(root).where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 				if (os.size() == 1) {
 					o = os.get(0);
 					em.detach(o);

+ 1 - 1
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/factory/UnitDutyFactory.java

@@ -68,7 +68,7 @@ public class UnitDutyFactory extends AbstractFactory {
 				CriteriaQuery<UnitDuty> cq = cb.createQuery(UnitDuty.class);
 				Root<UnitDuty> root = cq.from(UnitDuty.class);
 				Predicate p = cb.equal(root.get(UnitDuty_.name), name);
-				List<UnitDuty> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+				List<UnitDuty> os = em.createQuery(cq.select(root).where(p)).getResultList();
 				if (os.size() == 1) {
 					o = os.get(0);
 					em.detach(o);

+ 2 - 2
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/factory/UnitFactory.java

@@ -67,7 +67,7 @@ public class UnitFactory extends AbstractFactory {
 				CriteriaQuery<Unit> cq = cb.createQuery(Unit.class);
 				Root<Unit> root = cq.from(Unit.class);
 				Predicate p = cb.equal(root.get(Unit_.name), name);
-				List<Unit> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+				List<Unit> os = em.createQuery(cq.select(root).where(p)).getResultList();
 				if (os.size() == 1) {
 					o = os.get(0);
 					em.detach(o);
@@ -81,7 +81,7 @@ public class UnitFactory extends AbstractFactory {
 				Root<Unit> root = cq.from(Unit.class);
 				Predicate p = cb.and(cb.equal(root.get(Unit_.name), Objects.toString(ListTools.last(list), "")),
 						cb.equal(root.get(Unit_.level), list.size()));
-				List<Unit> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+				List<Unit> os = em.createQuery(cq.select(root).where(p)).getResultList();
 				for (Unit unit : os) {
 					if (StringUtils.equalsIgnoreCase(unit.getLevelName(), flag)) {
 						o = unit;

+ 2 - 2
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/export/ActionZhengwuDingdingPerson.java

@@ -101,7 +101,7 @@ class ActionZhengwuDingdingPerson extends BaseAction {
 		CriteriaQuery<Person> cq = cb.createQuery(Person.class);
 		Root<Person> root = cq.from(Person.class);
 		Predicate p = cb.isNotEmpty(root.get(Person.zhengwuDingdingId_FIELDNAME));
-		List<Person> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+		List<Person> os = em.createQuery(cq.select(root).where(p)).getResultList();
 		return os;
 	}
 
@@ -111,7 +111,7 @@ class ActionZhengwuDingdingPerson extends BaseAction {
 		CriteriaQuery<Unit> cq = cb.createQuery(Unit.class);
 		Root<Unit> root = cq.from(Unit.class);
 		Predicate p = cb.isNotEmpty(root.get(Unit.zhengwuDingdingId_FIELDNAME));
-		List<Unit> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+		List<Unit> os = em.createQuery(cq.select(root).where(p)).getResultList();
 		os = os.stream().sorted(Comparator.comparing(Unit::getOrderNumber, Comparator.nullsLast(Integer::compareTo)))
 				.collect(Collectors.toList());
 		return os;

+ 1 - 16
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/identity/ActionDelete.java

@@ -93,28 +93,13 @@ public class ActionDelete extends BaseAction {
 
 	}
 
-	// private void removeMemberOfJunior(Business business, Identity identity)
-	// throws Exception {
-	// EntityManager em = business.entityManagerContainer().get(Identity.class);
-	// CriteriaBuilder cb = em.getCriteriaBuilder();
-	// CriteriaQuery<Identity> cq = cb.createQuery(Identity.class);
-	// Root<Identity> root = cq.from(Identity.class);
-	// Predicate p = cb.isMember(identity.getId(),
-	// root.get(Identity_.juniorList));
-	// List<Identity> os =
-	// em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
-	// for (Identity o : os) {
-	// o.getJuniorList().remove(identity.getId());
-	// }
-	// }
-
 	private void removeMemberOfUnitDuty(Business business, Identity identity) throws Exception {
 		EntityManager em = business.entityManagerContainer().get(UnitDuty.class);
 		CriteriaBuilder cb = em.getCriteriaBuilder();
 		CriteriaQuery<UnitDuty> cq = cb.createQuery(UnitDuty.class);
 		Root<UnitDuty> root = cq.from(UnitDuty.class);
 		Predicate p = cb.isMember(identity.getId(), root.get(UnitDuty_.identityList));
-		List<UnitDuty> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+		List<UnitDuty> os = em.createQuery(cq.select(root).where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 		for (UnitDuty o : os) {
 			o.getIdentityList().remove(identity.getId());
 		}

+ 5 - 4
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/person/ActionDelete.java

@@ -1,6 +1,7 @@
 package com.x.organization.assemble.control.jaxrs.person;
 
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -136,7 +137,7 @@ class ActionDelete extends BaseAction {
 		CriteriaQuery<UnitDuty> cq = cb.createQuery(UnitDuty.class);
 		Root<UnitDuty> root = cq.from(UnitDuty.class);
 		Predicate p = root.get(UnitDuty_.identityList).in(ids);
-		List<UnitDuty> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+		List<UnitDuty> os = em.createQuery(cq.select(root).where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 		for (UnitDuty o : os) {
 			o.getIdentityList().removeAll(ids);
 		}
@@ -149,7 +150,7 @@ class ActionDelete extends BaseAction {
 		Root<Unit> root = cq.from(Unit.class);
 		Predicate p = cb.isMember(person.getId(), root.get(Unit_.controllerList));
 		p = cb.or(cb.isMember(person.getId(), root.get(Unit_.inheritedControllerList)));
-		List<Unit> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+		List<Unit> os = em.createQuery(cq.select(root).where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 		for (Unit o : os) {
 			o.getControllerList().remove(person.getId());
 			o.getInheritedControllerList().remove(person.getId());
@@ -162,7 +163,7 @@ class ActionDelete extends BaseAction {
 		CriteriaQuery<Person> cq = cb.createQuery(Person.class);
 		Root<Person> root = cq.from(Person.class);
 		Predicate p = cb.isMember(person.getId(), root.get(Person_.controllerList));
-		List<Person> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+		List<Person> os = em.createQuery(cq.select(root).where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 		for (Person o : os) {
 			o.getControllerList().remove(person.getId());
 		}
@@ -174,7 +175,7 @@ class ActionDelete extends BaseAction {
 		CriteriaQuery<Person> cq = cb.createQuery(Person.class);
 		Root<Person> root = cq.from(Person.class);
 		Predicate p = cb.equal(root.get(Person_.superior), person.getId());
-		List<Person> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+		List<Person> os = em.createQuery(cq.select(root).where(p)).getResultList();
 		for (Person o : os) {
 			o.setSuperior("");
 		}

+ 3 - 1
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/role/ActionListWithGroup.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.control.jaxrs.role;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -17,6 +18,7 @@ import com.x.base.core.project.bean.WrapCopier;
 import com.x.base.core.project.bean.WrapCopierFactory;
 import com.x.base.core.project.http.ActionResult;
 import com.x.base.core.project.http.EffectivePerson;
+import com.x.base.core.project.tools.ListTools;
 import com.x.organization.assemble.control.Business;
 import com.x.organization.core.entity.Group;
 import com.x.organization.core.entity.Role;
@@ -69,7 +71,7 @@ class ActionListWithGroup extends BaseAction {
 		CriteriaQuery<Role> cq = cb.createQuery(Role.class);
 		Root<Role> root = cq.from(Role.class);
 		Predicate p = root.get(Role_.groupList).in(groups);
-		List<Role> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+		List<Role> os = em.createQuery(cq.select(root).where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 		List<Wo> wos = Wo.copier.copy(os);
 		wos = business.role().sort(wos);
 		return wos;

+ 2 - 2
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/role/ActionListWithPerson.java

@@ -76,7 +76,7 @@ class ActionListWithPerson extends BaseAction {
 		CriteriaQuery<Role> cq = cb.createQuery(Role.class);
 		Root<Role> root = cq.from(Role.class);
 		Predicate p = root.get(Role_.groupList).in(groups);
-		List<Role> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+		List<Role> os = em.createQuery(cq.select(root).where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 		return os;
 	}
 
@@ -86,7 +86,7 @@ class ActionListWithPerson extends BaseAction {
 		CriteriaQuery<Role> cq = cb.createQuery(Role.class);
 		Root<Role> root = cq.from(Role.class);
 		Predicate p = cb.isMember(person.getId(), root.get(Role_.personList));
-		List<Role> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+		List<Role> os = em.createQuery(cq.select(root).where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 		return os;
 	}
 

+ 2 - 1
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/unit/ActionGet.java

@@ -2,6 +2,7 @@ package com.x.organization.assemble.control.jaxrs.unit;
 
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -256,7 +257,7 @@ class ActionGet extends BaseAction {
 		CriteriaQuery<Identity> cq = cb.createQuery(Identity.class);
 		Root<Identity> root = cq.from(Identity.class);
 		Predicate p = root.get(Identity_.id).in(woUnitDuty.getIdentityList());
-		List<Identity> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+		List<Identity> os = em.createQuery(cq.select(root).where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 		List<WoIdentity> wos = WoIdentity.copier.copy(os);
 		for (WoIdentity woIdentity : wos) {
 			this.referencePerson(business, woIdentity);

+ 2 - 1
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/unit/ActionGetWithIdentityWithLevel.java

@@ -2,6 +2,7 @@ package com.x.organization.assemble.control.jaxrs.unit;
 
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -222,7 +223,7 @@ class ActionGetWithIdentityWithLevel extends BaseAction {
 		CriteriaQuery<Identity> cq = cb.createQuery(Identity.class);
 		Root<Identity> root = cq.from(Identity.class);
 		Predicate p = root.get(Identity_.id).in(woUnitDuty.getIdentityList());
-		List<Identity> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+		List<Identity> os = em.createQuery(cq.select(root).where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 		List<WoIdentity> wos = WoIdentity.copier.copy(os);
 		for (WoIdentity woIdentity : wos) {
 			this.referencePerson(business, woIdentity);

+ 2 - 1
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/unit/ActionGetWithIdentityWithType.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.control.jaxrs.unit;
 import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -225,7 +226,7 @@ class ActionGetWithIdentityWithType extends BaseAction {
 		CriteriaQuery<Identity> cq = cb.createQuery(Identity.class);
 		Root<Identity> root = cq.from(Identity.class);
 		Predicate p = root.get(Identity_.id).in(woUnitDuty.getIdentityList());
-		List<Identity> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+		List<Identity> os = em.createQuery(cq.select(root).where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 		List<WoIdentity> wos = WoIdentity.copier.copy(os);
 		for (WoIdentity woIdentity : wos) {
 			this.referencePerson(business, woIdentity);

+ 4 - 2
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/unit/ActionListWithUnitWithType.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.control.jaxrs.unit;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -114,7 +115,8 @@ class ActionListWithUnitWithType extends BaseAction {
 				CriteriaQuery<String> cq = cb.createQuery(String.class);
 				Root<Unit> root = cq.from(Unit.class);
 				Predicate p = cb.isMember(wi.getType(), root.get(Unit_.typeList));
-				List<String> os = em.createQuery(cq.select(root.get(Unit_.id)).where(p).distinct(true)).getResultList();
+				List<String> os = em.createQuery(cq.select(root.get(Unit_.id)).where(p)).getResultList().stream().distinct().collect(Collectors.toList());
+
 				List<String> referenceUnitIds = new ArrayList<>(os);
 				for (String str : os) {
 					referenceUnitIds.addAll(business.unit().listSupNested(str));
@@ -155,7 +157,7 @@ class ActionListWithUnitWithType extends BaseAction {
 		Root<Unit> root = cq.from(Unit.class);
 		Predicate p = cb.isMember(wi.getType(), root.get(Unit_.typeList));
 		p = cb.and(p, root.get(Unit_.id).in(expendUnitIds));
-		List<String> os = em.createQuery(cq.select(root.get(Unit_.id)).where(p).distinct(true)).getResultList();
+		List<String> os = em.createQuery(cq.select(root.get(Unit_.id)).where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 		List<String> referenceUnitIds = new ArrayList<String>(os);
 		for (String str : os) {
 			referenceUnitIds.addAll(business.unit().listSupNested(str));

+ 2 - 2
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/unitduty/ActionDistinctName.java

@@ -60,8 +60,8 @@ class ActionDistinctName extends BaseAction {
 		CriteriaBuilder cb = em.getCriteriaBuilder();
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<UnitDuty> root = cq.from(UnitDuty.class);
-		cq.select(root.get(UnitDuty_.name)).distinct(true);
-		List<String> list = em.createQuery(cq).getResultList();
+		cq.select(root.get(UnitDuty_.name));
+		List<String> list = em.createQuery(cq).getResultList().stream().distinct().collect(Collectors.toList());
 		list = list.stream().filter(o -> {
 			return StringUtils.isNotEmpty(o);
 		}).sorted().collect(Collectors.toList());

+ 2 - 2
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/unitduty/ActionDistinctNameLike.java

@@ -68,8 +68,8 @@ class ActionDistinctNameLike extends BaseAction {
 		Predicate p = cb.like(root.get(UnitDuty_.name), "%" + key + "%", '\\');
 		p = cb.or(p, cb.like(root.get(UnitDuty_.pinyin), key + "%", '\\'));
 		p = cb.or(p, cb.like(root.get(UnitDuty_.pinyinInitial), key + "%", '\\'));
-		cq.select(root.get(UnitDuty_.name)).distinct(true).where(p);
-		List<String> list = em.createQuery(cq).getResultList();
+		cq.select(root.get(UnitDuty_.name)).where(p);
+		List<String> list = em.createQuery(cq).getResultList().stream().distinct().collect(Collectors.toList());
 		list = list.stream().filter(o -> {
 			return StringUtils.isNotEmpty(o);
 		}).sorted().collect(Collectors.toList());

+ 2 - 1
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/unitduty/ActionGet.java

@@ -2,6 +2,7 @@ package com.x.organization.assemble.control.jaxrs.unitduty;
 
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -72,7 +73,7 @@ class ActionGet extends BaseAction {
 		CriteriaQuery<Identity> cq = cb.createQuery(Identity.class);
 		Root<Identity> root = cq.from(Identity.class);
 		Predicate p = root.get(Identity_.id).in(wo.getIdentityList());
-		List<Identity> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+		List<Identity> os = em.createQuery(cq.select(root).where(p)).getResultList();
 		List<WoIdentity> wos = WoIdentity.copier.copy(os);
 		for (WoIdentity woIdentity : wos) {
 			this.referencePerson(business, woIdentity);

+ 1 - 1
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/factory/GroupFactory.java

@@ -93,7 +93,7 @@ public class GroupFactory extends AbstractFactory {
 				CriteriaQuery<Group> cq = cb.createQuery(Group.class);
 				Root<Group> root = cq.from(Group.class);
 				Predicate p = cb.equal(root.get(Group_.name), name);
-				List<Group> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+				List<Group> os = em.createQuery(cq.select(root).where(p)).getResultList();
 				if (os.size() == 1) {
 					o = os.get(0);
 					em.detach(o);

+ 1 - 1
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/factory/IdentityFactory.java

@@ -76,7 +76,7 @@ public class IdentityFactory extends AbstractFactory {
 				CriteriaQuery<Identity> cq = cb.createQuery(Identity.class);
 				Root<Identity> root = cq.from(Identity.class);
 				Predicate p = cb.equal(root.get(Identity_.name), name);
-				List<Identity> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+				List<Identity> os = em.createQuery(cq.select(root).where(p)).getResultList();
 				if (os.size() == 1) {
 					o = os.get(0);
 					em.detach(o);

+ 1 - 1
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/factory/PersonAttributeFactory.java

@@ -70,7 +70,7 @@ public class PersonAttributeFactory extends AbstractFactory {
 				CriteriaQuery<PersonAttribute> cq = cb.createQuery(PersonAttribute.class);
 				Root<PersonAttribute> root = cq.from(PersonAttribute.class);
 				Predicate p = cb.equal(root.get(PersonAttribute_.name), name);
-				List<PersonAttribute> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+				List<PersonAttribute> os = em.createQuery(cq.select(root).where(p)).getResultList();
 				if (os.size() == 1) {
 					o = os.get(0);
 					em.detach(o);

+ 3 - 2
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/factory/PersonFactory.java

@@ -75,7 +75,7 @@ public class PersonFactory extends AbstractFactory {
 				CriteriaQuery<Person> cq = cb.createQuery(Person.class);
 				Root<Person> root = cq.from(Person.class);
 				Predicate p = cb.equal(root.get(Person_.name), name);
-				List<Person> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+				List<Person> os = em.createQuery(cq.select(root).where(p)).getResultList();
 				if (os.size() == 1) {
 					o = os.get(0);
 					em.detach(o);
@@ -169,7 +169,8 @@ public class PersonFactory extends AbstractFactory {
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<Person> root = cq.from(Person.class);
 		Predicate p = cb.equal(root.get(Person_.superior), person.getId());
-		list = em.createQuery(cq.select(root.get(Person_.id)).where(p).distinct(true)).getResultList();
+		list = em.createQuery(cq.select(root.get(Person_.id)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		return list;
 	}
 

+ 1 - 1
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/factory/RoleFactory.java

@@ -72,7 +72,7 @@ public class RoleFactory extends AbstractFactory {
 				CriteriaQuery<Role> cq = cb.createQuery(Role.class);
 				Root<Role> root = cq.from(Role.class);
 				Predicate p = cb.equal(root.get(Role_.name), name);
-				List<Role> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+				List<Role> os = em.createQuery(cq.select(root).where(p)).getResultList();
 				if (os.size() == 1) {
 					o = os.get(0);
 					em.detach(o);

+ 1 - 1
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/factory/UnitAttributeFactory.java

@@ -70,7 +70,7 @@ public class UnitAttributeFactory extends AbstractFactory {
 				CriteriaQuery<UnitAttribute> cq = cb.createQuery(UnitAttribute.class);
 				Root<UnitAttribute> root = cq.from(UnitAttribute.class);
 				Predicate p = cb.equal(root.get(UnitAttribute_.name), name);
-				List<UnitAttribute> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+				List<UnitAttribute> os = em.createQuery(cq.select(root).where(p)).getResultList();
 				if (os.size() == 1) {
 					o = os.get(0);
 					em.detach(o);

+ 1 - 1
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/factory/UnitDutyFactory.java

@@ -70,7 +70,7 @@ public class UnitDutyFactory extends AbstractFactory {
 				CriteriaQuery<UnitDuty> cq = cb.createQuery(UnitDuty.class);
 				Root<UnitDuty> root = cq.from(UnitDuty.class);
 				Predicate p = cb.equal(root.get(UnitDuty_.name), name);
-				List<UnitDuty> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+				List<UnitDuty> os = em.createQuery(cq.select(root).where(p)).getResultList();
 				if (os.size() == 1) {
 					o = os.get(0);
 					em.detach(o);

+ 2 - 2
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/factory/UnitFactory.java

@@ -76,7 +76,7 @@ public class UnitFactory extends AbstractFactory {
 				CriteriaQuery<Unit> cq = cb.createQuery(Unit.class);
 				Root<Unit> root = cq.from(Unit.class);
 				Predicate p = cb.equal(root.get(Unit_.name), name);
-				List<Unit> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+				List<Unit> os = em.createQuery(cq.select(root).where(p)).getResultList();
 				if (os.size() == 1) {
 					o = os.get(0);
 					em.detach(o);
@@ -90,7 +90,7 @@ public class UnitFactory extends AbstractFactory {
 				Root<Unit> root = cq.from(Unit.class);
 				Predicate p = cb.and(cb.equal(root.get(Unit_.name), Objects.toString(ListTools.last(list), "")),
 						cb.equal(root.get(Unit_.level), list.size()));
-				List<Unit> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+				List<Unit> os = em.createQuery(cq.select(root).where(p)).getResultList();
 				for (Unit unit : os) {
 					if (StringUtils.equalsIgnoreCase(unit.getLevelName(), flag)) {
 						o = unit;

+ 1 - 1
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/empower/ActionListWithIdentityObject.java

@@ -211,7 +211,7 @@ class ActionListWithIdentityObject extends BaseAction {
 		p = cb.and(p, cb.equal(root.get(Empower_.enable), true));
 		p = cb.and(p, cb.lessThan(root.get(Empower_.startTime), new Date()),
 				cb.greaterThan(root.get(Empower_.completedTime), new Date()));
-		return em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+		return em.createQuery(cq.select(root).where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 	}
 
 }

+ 3 - 1
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/group/ActionHasRole.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.express.jaxrs.group;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -102,7 +103,8 @@ class ActionHasRole extends BaseAction {
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<Role> root = cq.from(Role.class);
 		Predicate p = root.get(Role_.groupList).in(groupIds);
-		List<String> os = em.createQuery(cq.select(root.get(Role_.id)).where(p).distinct(true)).getResultList();
+		List<String> os = em.createQuery(cq.select(root.get(Role_.id)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		boolean value = ListTools.containsAny(os,
 				ListTools.extractProperty(roles, JpaObject.id_FIELDNAME, String.class, true, true));
 		wo.setValue(value);

+ 3 - 2
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/identity/ActionListMajorWithPerson.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.express.jaxrs.identity;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -74,8 +75,8 @@ class ActionListMajorWithPerson extends BaseAction {
 		Root<Identity> root = cq.from(Identity.class);
 		Predicate p = root.get(Identity_.person).in(personIds);
 		p = cb.and(p, cb.equal(root.get(Identity_.major), true));
-		List<String> identityIds = em.createQuery(cq.select(root.get(Identity_.id)).where(p).distinct(true))
-				.getResultList();
+		List<String> identityIds = em.createQuery(cq.select(root.get(Identity_.id)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		List<String> values = business.identity().listIdentityDistinguishedNameSorted(identityIds);
 		Wo wo = new Wo();
 		wo.getIdentityList().addAll(values);

+ 3 - 2
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/identity/ActionListMajorWithPersonObject.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.express.jaxrs.identity;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -80,8 +81,8 @@ class ActionListMajorWithPersonObject extends BaseAction {
 		Root<Identity> root = cq.from(Identity.class);
 		Predicate p = root.get(Identity_.person).in(personIds);
 		p = cb.and(p, cb.equal(root.get(Identity_.major), true));
-		List<String> identityIds = em.createQuery(cq.select(root.get(Identity_.id)).where(p).distinct(true))
-				.getResultList();
+		List<String> identityIds = em.createQuery(cq.select(root.get(Identity_.id)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		List<Identity> list = business.identity().pick(identityIds);
 		for (Identity o : list) {
 			if (ListTools.contains(personMajorIds, o.getId())) {

+ 3 - 2
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/identity/ActionListWithPerson.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.express.jaxrs.identity;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -73,8 +74,8 @@ class ActionListWithPerson extends BaseAction {
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<Identity> root = cq.from(Identity.class);
 		Predicate p = root.get(Identity_.person).in(personIds);
-		List<String> identityIds = em.createQuery(cq.select(root.get(Identity_.id)).where(p).distinct(true))
-				.getResultList();
+		List<String> identityIds = em.createQuery(cq.select(root.get(Identity_.id)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		List<String> values = business.identity().listIdentityDistinguishedNameSorted(identityIds);
 		Wo wo = new Wo();
 		wo.getIdentityList().addAll(values);

+ 3 - 2
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/identity/ActionListWithPersonObject.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.express.jaxrs.identity;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -79,8 +80,8 @@ class ActionListWithPersonObject extends BaseAction {
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<Identity> root = cq.from(Identity.class);
 		Predicate p = root.get(Identity_.person).in(personIds);
-		List<String> identityIds = em.createQuery(cq.select(root.get(Identity_.id)).where(p).distinct(true))
-				.getResultList();
+		List<String> identityIds = em.createQuery(cq.select(root.get(Identity_.id)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		List<Identity> list = business.identity().pick(identityIds);
 		for (Identity o : list) {
 			if (ListTools.contains(personMajorIds, o.getId())) {

+ 3 - 2
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/identity/ActionListWithPersonWithUnit.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.express.jaxrs.identity;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -64,8 +65,8 @@ class ActionListWithPersonWithUnit extends BaseAction {
 			p = cb.or(p, cb.and(cb.equal(root.get(Identity_.unit), o.getUnit()),
 					cb.equal(root.get(Identity_.person), o.getPerson())));
 		}
-		List<String> identityIds = em.createQuery(cq.select(root.get(Identity_.id)).where(p).distinct(true))
-				.getResultList();
+		List<String> identityIds = em.createQuery(cq.select(root.get(Identity_.id)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		identityIds = ListTools.trim(identityIds, true, true);
 		List<String> values = business.identity().listIdentityDistinguishedNameSorted(identityIds);
 		Wo wo = new Wo();

+ 3 - 2
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/identity/ActionListWithPersonWithUnitObject.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.express.jaxrs.identity;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -66,8 +67,8 @@ class ActionListWithPersonWithUnitObject extends BaseAction {
 			p = cb.or(cb.and(cb.equal(root.get(Identity_.unit), o.getUnit()),
 					cb.equal(root.get(Identity_.person), o.getPerson())));
 		}
-		List<String> identityIds = em.createQuery(cq.select(root.get(Identity_.id)).where(p).distinct(true))
-				.getResultList();
+		List<String> identityIds = em.createQuery(cq.select(root.get(Identity_.id)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		identityIds = ListTools.trim(identityIds, true, true);
 		List<Identity> list = business.identity().pick(identityIds);
 		for (Identity o : list) {

+ 3 - 2
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/identity/ActionListWithUnitSubDirect.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.express.jaxrs.identity;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -74,8 +75,8 @@ class ActionListWithUnitSubDirect extends BaseAction {
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<Identity> root = cq.from(Identity.class);
 		Predicate p = root.get(Identity_.unit).in(unitIds);
-		List<String> identityIds = em.createQuery(cq.select(root.get(Identity_.id)).where(p).distinct(true))
-				.getResultList();
+		List<String> identityIds = em.createQuery(cq.select(root.get(Identity_.id)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		List<String> values = business.identity().listIdentityDistinguishedNameSorted(identityIds);
 		Wo wo = new Wo();
 		wo.getIdentityList().addAll(values);

+ 3 - 2
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/identity/ActionListWithUnitSubDirectObject.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.express.jaxrs.identity;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -76,8 +77,8 @@ class ActionListWithUnitSubDirectObject extends BaseAction {
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<Identity> root = cq.from(Identity.class);
 		Predicate p = root.get(Identity_.unit).in(unitIds);
-		List<String> identityIds = em.createQuery(cq.select(root.get(Identity_.id)).where(p).distinct(true))
-				.getResultList();
+		List<String> identityIds = em.createQuery(cq.select(root.get(Identity_.id)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		List<Identity> list = business.identity().pick(identityIds);
 		for (Identity o : list) {
 			wos.add(this.convert(business, o, Wo.class));

+ 3 - 2
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/identity/ActionListWithUnitSubNested.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.express.jaxrs.identity;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -77,8 +78,8 @@ class ActionListWithUnitSubNested extends BaseAction {
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<Identity> root = cq.from(Identity.class);
 		Predicate p = root.get(Identity_.unit).in(unitIds);
-		List<String> identityIds = em.createQuery(cq.select(root.get(Identity_.id)).where(p).distinct(true))
-				.getResultList();
+		List<String> identityIds = em.createQuery(cq.select(root.get(Identity_.id)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		identityIds = ListTools.trim(identityIds, true, true);
 		List<String> values = business.identity().listIdentityDistinguishedNameSorted(identityIds);
 		Wo wo = new Wo();

+ 3 - 2
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/identity/ActionListWithUnitSubNestedObject.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.express.jaxrs.identity;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -79,8 +80,8 @@ class ActionListWithUnitSubNestedObject extends BaseAction {
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<Identity> root = cq.from(Identity.class);
 		Predicate p = root.get(Identity_.unit).in(unitIds);
-		List<String> identityIds = em.createQuery(cq.select(root.get(Identity_.id)).where(p).distinct(true))
-				.getResultList();
+		List<String> identityIds = em.createQuery(cq.select(root.get(Identity_.id)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		identityIds = ListTools.trim(identityIds, true, true);
 		List<Identity> list = business.identity().pick(identityIds);
 		for (Identity o : list) {

+ 3 - 1
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/person/ActionHasRole.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.express.jaxrs.person;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -102,7 +103,8 @@ class ActionHasRole extends BaseAction {
 		Root<Role> root = cq.from(Role.class);
 		Predicate p = cb.isMember(person.getId(), root.get(Role_.personList));
 		p = cb.or(p, root.get(Role_.groupList).in(groupIds));
-		List<String> os = em.createQuery(cq.select(root.get(Role_.id)).where(p).distinct(true)).getResultList();
+		List<String> os = em.createQuery(cq.select(root.get(Role_.id)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		boolean value = ListTools.containsAny(os,
 				ListTools.extractProperty(roles, JpaObject.id_FIELDNAME, String.class, true, true));
 		wo.setValue(value);

+ 3 - 2
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/person/ActionListWithPersonAttribute.java

@@ -2,6 +2,7 @@ package com.x.organization.assemble.express.jaxrs.person;
 
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -80,8 +81,8 @@ class ActionListWithPersonAttribute extends BaseAction {
 		Root<PersonAttribute> root = cq.from(PersonAttribute.class);
 		Predicate p = cb.equal(root.get(PersonAttribute_.name), wi.getName());
 		p = cb.and(p, cb.isMember(wi.getAttribute(), root.get(PersonAttribute_.attributeList)));
-		List<String> personIds = em.createQuery(cq.select(root.get(PersonAttribute_.person)).where(p).distinct(true))
-				.getResultList();
+		List<String> personIds = em.createQuery(cq.select(root.get(PersonAttribute_.person)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		personIds = ListTools.trim(personIds, true, true);
 		List<String> values = business.person().listPersonDistinguishedNameSorted(personIds);
 		Wo wo = new Wo();

+ 3 - 2
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/person/ActionListWithPersonAttributeObject.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.express.jaxrs.person;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -84,8 +85,8 @@ class ActionListWithPersonAttributeObject extends BaseAction {
 		Root<PersonAttribute> root = cq.from(PersonAttribute.class);
 		Predicate p = cb.equal(root.get(PersonAttribute_.name), wi.getName());
 		p = cb.and(p, cb.isMember(wi.getAttribute(), root.get(PersonAttribute_.attributeList)));
-		List<String> personIds = em.createQuery(cq.select(root.get(PersonAttribute_.person)).where(p).distinct(true))
-				.getResultList();
+		List<String> personIds = em.createQuery(cq.select(root.get(PersonAttribute_.person)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		personIds = ListTools.trim(personIds, true, true);
 		for (Person o : business.person().pick(personIds)) {
 			wos.add(this.convert(business, o, Wo.class));

+ 2 - 1
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/person/ActionListWithRole.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.express.jaxrs.person;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -90,7 +91,7 @@ class ActionListWithRole extends BaseAction {
 		CriteriaQuery<Group> cq = cb.createQuery(Group.class);
 		Root<Group> root = cq.from(Group.class);
 		Predicate p = root.get(Group_.id).in(groupIds);
-		List<Group> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+		List<Group> os = em.createQuery(cq.select(root).where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 		List<String> personIds = new ArrayList<>();
 		for (Group o : os) {
 			personIds.addAll(o.getPersonList());

+ 3 - 1
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/person/ActionListWithRoleObject.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.express.jaxrs.person;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -93,7 +94,8 @@ class ActionListWithRoleObject extends BaseAction {
 		CriteriaQuery<Group> cq = cb.createQuery(Group.class);
 		Root<Group> root = cq.from(Group.class);
 		Predicate p = root.get(Group_.id).in(groupIds);
-		List<Group> os = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+		List<Group> os = em.createQuery(cq.select(root).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		List<String> personIds = new ArrayList<>();
 		for (Group o : os) {
 			personIds.addAll(o.getPersonList());

+ 3 - 2
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/person/ActionListWithUnitSubDirect.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.express.jaxrs.person;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -74,8 +75,8 @@ class ActionListWithUnitSubDirect extends BaseAction {
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<Identity> root = cq.from(Identity.class);
 		Predicate p = root.get(Identity_.unit).in(unitIds);
-		List<String> list = em.createQuery(cq.select(root.get(Identity_.person)).where(p).distinct(true))
-				.getResultList();
+		List<String> list = em.createQuery(cq.select(root.get(Identity_.person)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		List<String> values = business.person().listPersonDistinguishedNameSorted(list);
 		Wo wo = new Wo();
 		wo.getPersonList().addAll(values);

+ 5 - 3
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/person/ActionListWithUnitSubDirectLike.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.express.jaxrs.person;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -93,7 +94,8 @@ class ActionListWithUnitSubDirectLike extends BaseAction {
 		p = cb.or(p, cb.like(cb.lower(root.get(Person_.mobile)), str + "%", StringTools.SQL_ESCAPE_CHAR));
 		p = cb.or(p, cb.like(cb.lower(root.get(Person_.distinguishedName)), str + "%", StringTools.SQL_ESCAPE_CHAR));
 		p = cb.and(p, cb.isMember(root.get(Person_.id), cb.literal(ids)));
-		List<String> list = em.createQuery(cq.select(root.get(Person_.id)).where(p).distinct(true)).getResultList();
+		List<String> list = em.createQuery(cq.select(root.get(Person_.id)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		List<String> values = business.person().listPersonDistinguishedNameSorted(list);
 		Wo wo = new Wo();
 		wo.getPersonList().addAll(values);
@@ -108,8 +110,8 @@ class ActionListWithUnitSubDirectLike extends BaseAction {
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<Identity> root = cq.from(Identity.class);
 		Predicate p = root.get(Identity_.unit).in(unitIds);
-		List<String> list = em.createQuery(cq.select(root.get(Identity_.person)).where(p).distinct(true))
-				.getResultList();
+		List<String> list = em.createQuery(cq.select(root.get(Identity_.person)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		return list;
 	}
 

+ 5 - 3
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/person/ActionListWithUnitSubDirectLikeObject.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.express.jaxrs.person;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -95,7 +96,8 @@ class ActionListWithUnitSubDirectLikeObject extends BaseAction {
 		p = cb.or(p, cb.like(cb.lower(root.get(Person_.mobile)), str + "%", StringTools.SQL_ESCAPE_CHAR));
 		p = cb.or(p, cb.like(cb.lower(root.get(Person_.distinguishedName)), str + "%", StringTools.SQL_ESCAPE_CHAR));
 		p = cb.and(p, cb.isMember(root.get(Person_.id), cb.literal(ids)));
-		List<String> list = em.createQuery(cq.select(root.get(Person_.id)).where(p).distinct(true)).getResultList();
+		List<String> list = em.createQuery(cq.select(root.get(Person_.id)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		for (Person o : business.person().pick(list)) {
 			wos.add(this.convert(business, o, Wo.class));
 		}
@@ -110,8 +112,8 @@ class ActionListWithUnitSubDirectLikeObject extends BaseAction {
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<Identity> root = cq.from(Identity.class);
 		Predicate p = root.get(Identity_.unit).in(unitIds);
-		List<String> list = em.createQuery(cq.select(root.get(Identity_.person)).where(p).distinct(true))
-				.getResultList();
+		List<String> list = em.createQuery(cq.select(root.get(Identity_.person)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		return list;
 	}
 

+ 3 - 2
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/person/ActionListWithUnitSubDirectObject.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.express.jaxrs.person;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -78,8 +79,8 @@ class ActionListWithUnitSubDirectObject extends BaseAction {
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<Identity> root = cq.from(Identity.class);
 		Predicate p = root.get(Identity_.unit).in(unitIds);
-		List<String> personIds = em.createQuery(cq.select(root.get(Identity_.person)).where(p).distinct(true))
-				.getResultList();
+		List<String> personIds = em.createQuery(cq.select(root.get(Identity_.person)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		personIds = ListTools.trim(personIds, true, true);
 		for (Person o : business.person().pick(personIds)) {
 			wos.add(this.convert(business, o, Wo.class));

+ 3 - 2
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/person/ActionListWithUnitSubNested.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.express.jaxrs.person;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -77,8 +78,8 @@ class ActionListWithUnitSubNested extends BaseAction {
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<Identity> root = cq.from(Identity.class);
 		Predicate p = root.get(Identity_.unit).in(unitIds);
-		List<String> personIds = em.createQuery(cq.select(root.get(Identity_.person)).where(p).distinct(true))
-				.getResultList();
+		List<String> personIds = em.createQuery(cq.select(root.get(Identity_.person)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		personIds = ListTools.trim(personIds, true, true);
 		List<String> values = business.person().listPersonDistinguishedNameSorted(personIds);
 		Wo wo = new Wo();

+ 5 - 3
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/person/ActionListWithUnitSubNestedLike.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.express.jaxrs.person;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -94,7 +95,8 @@ class ActionListWithUnitSubNestedLike extends BaseAction {
 		p = cb.or(p, cb.like(cb.lower(root.get(Person_.mobile)), str + "%", StringTools.SQL_ESCAPE_CHAR));
 		p = cb.or(p, cb.like(cb.lower(root.get(Person_.distinguishedName)), str + "%", StringTools.SQL_ESCAPE_CHAR));
 		p = cb.and(p, cb.isMember(root.get(Person_.id), cb.literal(ids)));
-		List<String> list = em.createQuery(cq.select(root.get(Person_.id)).where(p).distinct(true)).getResultList();
+		List<String> list = em.createQuery(cq.select(root.get(Person_.id)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		List<String> values = business.person().listPersonDistinguishedNameSorted(list);
 		Wo wo = new Wo();
 		wo.getPersonList().addAll(values);
@@ -114,8 +116,8 @@ class ActionListWithUnitSubNestedLike extends BaseAction {
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<Identity> root = cq.from(Identity.class);
 		Predicate p = root.get(Identity_.unit).in(unitIds);
-		List<String> list = em.createQuery(cq.select(root.get(Identity_.person)).where(p).distinct(true))
-				.getResultList();
+		List<String> list = em.createQuery(cq.select(root.get(Identity_.person)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		return list;
 	}
 

+ 5 - 3
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/person/ActionListWithUnitSubNestedLikeObject.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.express.jaxrs.person;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -95,7 +96,8 @@ class ActionListWithUnitSubNestedLikeObject extends BaseAction {
 		p = cb.or(p, cb.like(cb.lower(root.get(Person_.mobile)), str + "%", StringTools.SQL_ESCAPE_CHAR));
 		p = cb.or(p, cb.like(cb.lower(root.get(Person_.distinguishedName)), str + "%", StringTools.SQL_ESCAPE_CHAR));
 		p = cb.and(p, cb.isMember(root.get(Person_.id), cb.literal(ids)));
-		List<String> list = em.createQuery(cq.select(root.get(Person_.id)).where(p).distinct(true)).getResultList();
+		List<String> list = em.createQuery(cq.select(root.get(Person_.id)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		for (Person o : business.person().pick(list)) {
 			wos.add(this.convert(business, o, Wo.class));
 		}
@@ -115,8 +117,8 @@ class ActionListWithUnitSubNestedLikeObject extends BaseAction {
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<Identity> root = cq.from(Identity.class);
 		Predicate p = root.get(Identity_.unit).in(unitIds);
-		List<String> list = em.createQuery(cq.select(root.get(Identity_.person)).where(p).distinct(true))
-				.getResultList();
+		List<String> list = em.createQuery(cq.select(root.get(Identity_.person)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		return list;
 	}
 

+ 3 - 2
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/person/ActionListWithUnitSubNestedObject.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.express.jaxrs.person;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -80,8 +81,8 @@ class ActionListWithUnitSubNestedObject extends BaseAction {
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<Identity> root = cq.from(Identity.class);
 		Predicate p = root.get(Identity_.unit).in(unitIds);
-		List<String> personIds = em.createQuery(cq.select(root.get(Identity_.person)).where(p).distinct(true))
-				.getResultList();
+		List<String> personIds = em.createQuery(cq.select(root.get(Identity_.person)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		personIds = ListTools.trim(personIds, true, true);
 		for (Person o : business.person().pick(personIds)) {
 			wos.add(this.convert(business, o, Wo.class));

+ 2 - 2
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/personattribute/ActionListNameWithPerson.java

@@ -87,8 +87,8 @@ class ActionListNameWithPerson extends BaseAction {
 			CriteriaQuery<String> cq = cb.createQuery(String.class);
 			Root<PersonAttribute> root = cq.from(PersonAttribute.class);
 			Predicate p = root.get(PersonAttribute_.person).in(ids);
-			List<String> names = em.createQuery(cq.select(root.get(PersonAttribute_.name)).where(p).distinct(true))
-					.getResultList();
+			List<String> names = em.createQuery(cq.select(root.get(PersonAttribute_.name)).where(p))
+					.getResultList().stream().distinct().collect(Collectors.toList());
 			names = names.stream().sorted().collect(Collectors.toList());
 			wo.getNameList().addAll(names);
 		}

+ 1 - 1
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/personattribute/ActionListWithPersonObject.java

@@ -76,7 +76,7 @@ class ActionListWithPersonObject extends BaseAction {
 			CriteriaQuery<PersonAttribute> cq = cb.createQuery(PersonAttribute.class);
 			Root<PersonAttribute> root = cq.from(PersonAttribute.class);
 			Predicate p = root.get(PersonAttribute_.person).in(ids);
-			List<PersonAttribute> list = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+			List<PersonAttribute> list = em.createQuery(cq.select(root).where(p)).getResultList();
 			list = business.personAttribute().sort(list);
 			for (PersonAttribute o : list) {
 				wos.add(this.convert(business, o, Wo.class));

+ 1 - 1
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/personattribute/BaseAction.java

@@ -38,7 +38,7 @@ class BaseAction extends StandardJaxrsAction {
 		CriteriaQuery<PersonAttribute> cq = cb.createQuery(PersonAttribute.class);
 		Root<PersonAttribute> root = cq.from(PersonAttribute.class);
 		Predicate p = root.get(PersonAttribute_.id).in(personAttributeIds);
-		List<PersonAttribute> list = em.createQuery(cq.select(root).where(p).distinct(true)).getResultList();
+		List<PersonAttribute> list = em.createQuery(cq.select(root).where(p)).getResultList();
 		list = business.personAttribute().sort(list);
 		List<String> values = ListTools.extractProperty(list, "distinguishedName", String.class, true, true);
 		return values;

+ 2 - 1
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/role/ActionListWithPerson.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.express.jaxrs.role;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -89,7 +90,7 @@ class ActionListWithPerson extends BaseAction {
 		Root<Role> root = cq.from(Role.class);
 		Predicate p = root.get(Role_.personList).in(personIds);
 		p = cb.or(p, root.get(Role_.groupList).in(groupIds));
-		List<String> roleIds = em.createQuery(cq.select(root.get(Role_.id)).where(p).distinct(true)).getResultList();
+		List<String> roleIds = em.createQuery(cq.select(root.get(Role_.id)).where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 		Wo wo = new Wo();
 		wo.getRoleList().addAll(business.role().listRoleDistinguishedNameSorted(roleIds));
 		return wo;

+ 2 - 1
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/role/ActionListWithPersonObject.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.express.jaxrs.role;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -81,7 +82,7 @@ class ActionListWithPersonObject extends BaseAction {
 		Root<Role> root = cq.from(Role.class);
 		Predicate p = root.get(Role_.personList).in(personIds);
 		p = cb.or(p, root.get(Role_.groupList).in(groupIds));
-		List<String> roleIds = em.createQuery(cq.select(root.get(Role_.id)).where(p).distinct(true)).getResultList();
+		List<String> roleIds = em.createQuery(cq.select(root.get(Role_.id)).where(p)).getResultList().stream().distinct().collect(Collectors.toList());
 		for (Role o : business.role().pick(roleIds)) {
 			wos.add(this.convert(business, o, Wo.class));
 		}

+ 1 - 1
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/unit/ActionListWithIdentity.java

@@ -72,7 +72,7 @@ class ActionListWithIdentity extends BaseAction {
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<Identity> root = cq.from(Identity.class);
 		Predicate p = root.get(Identity_.id).in(ids);
-		List<String> unitIds = em.createQuery(cq.select(root.get(Identity_.unit)).where(p).distinct(true))
+		List<String> unitIds = em.createQuery(cq.select(root.get(Identity_.unit)).where(p))
 				.getResultList();
 		Wo wo = new Wo();
 		List<String> list = business.unit().listUnitDistinguishedNameSorted(unitIds);

+ 3 - 2
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/unit/ActionListWithIdentityObject.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.express.jaxrs.unit;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -75,8 +76,8 @@ class ActionListWithIdentityObject extends BaseAction {
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<Identity> root = cq.from(Identity.class);
 		Predicate p = root.get(Identity_.id).in(ids);
-		List<String> unitIds = em.createQuery(cq.select(root.get(Identity_.unit)).where(p).distinct(true))
-				.getResultList();
+		List<String> unitIds = em.createQuery(cq.select(root.get(Identity_.unit)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		unitIds = ListTools.trim(unitIds, true, true);
 		for (Unit o : business.unit().pick(unitIds)) {
 			wos.add(this.convert(business, o, Wo.class));

+ 3 - 1
o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/unit/ActionListWithIdentitySupNested.java

@@ -3,6 +3,7 @@ package com.x.organization.assemble.express.jaxrs.unit;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.persistence.EntityManager;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -74,7 +75,8 @@ class ActionListWithIdentitySupNested extends BaseAction {
 		CriteriaQuery<String> cq = cb.createQuery(String.class);
 		Root<Identity> root = cq.from(Identity.class);
 		Predicate p = root.get(Identity_.id).in(identityIds);
-		List<String> os = em.createQuery(cq.select(root.get(Identity_.unit)).where(p).distinct(true)).getResultList();
+		List<String> os = em.createQuery(cq.select(root.get(Identity_.unit)).where(p))
+				.getResultList().stream().distinct().collect(Collectors.toList());
 		List<String> unitIds = new ArrayList<>(os);
 		for (String str : os) {
 			unitIds.addAll(business.unit().listSupNested(str));

Некоторые файлы не были показаны из-за большого количества измененных файлов