提交 6ab45d5a 编写于 作者: O o2null

Merge branch 'fix/修复人员查询接口bug' into 'wrdp'

[人员组织]修复人员查询接口bug

See merge request o2oa/o2oa!2902
......@@ -82,6 +82,11 @@ class ActionListWithUnitSubDirectLike extends BaseAction {
}
private Wo list(Business business, Wi wi, List<String> ids) throws Exception {
Wo wo = new Wo();
if(StringUtils.isBlank(wi.getKey()) &&
(ListTools.isEmpty(wi.getUnitList()) || ListTools.isEmpty(ids))){
return wo;
}
String str = StringUtils.lowerCase(StringTools.escapeSqlLikeKey(wi.getKey()));
EntityManager em = business.entityManagerContainer().get(Person.class);
CriteriaBuilder cb = em.getCriteriaBuilder();
......@@ -97,22 +102,24 @@ class ActionListWithUnitSubDirectLike extends BaseAction {
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);
return wo;
}
private List<String> people(Business business, Wi wi) throws Exception {
List<Unit> os = business.unit().pick(wi.getUnitList());
List<String> unitIds = ListTools.extractField(os, Unit.id_FIELDNAME, String.class, true, true);
EntityManager em = business.entityManagerContainer().get(Identity.class);
CriteriaBuilder cb = em.getCriteriaBuilder();
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))
.getResultList().stream().distinct().collect(Collectors.toList());
List<String> list = new ArrayList<>();
if(ListTools.isNotEmpty(wi.getUnitList())) {
List<Unit> os = business.unit().pick(wi.getUnitList());
List<String> unitIds = ListTools.extractField(os, Unit.id_FIELDNAME, String.class, true, true);
EntityManager em = business.entityManagerContainer().get(Identity.class);
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<String> cq = cb.createQuery(String.class);
Root<Identity> root = cq.from(Identity.class);
Predicate p = root.get(Identity_.unit).in(unitIds);
list = em.createQuery(cq.select(root.get(Identity_.person)).where(p))
.getResultList().stream().distinct().collect(Collectors.toList());
}
return list;
}
}
\ No newline at end of file
}
......@@ -82,6 +82,10 @@ class ActionListWithUnitSubDirectLikeObject extends BaseAction {
private List<Wo> list(Business business, Wi wi, List<Identity> identityList) throws Exception {
List<Wo> wos = new ArrayList<>();
if(StringUtils.isBlank(wi.getKey()) &&
(ListTools.isEmpty(wi.getUnitList()) || ListTools.isEmpty(identityList))){
return wos;
}
EntityManager em = business.entityManagerContainer().get(Person.class);
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<String> cq = cb.createQuery(String.class);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册