Selaa lähdekoodia

git-svn-id: https://192.168.57.71/svn/jsgkj@1469 931142cf-59ea-a443-aa0e-51397b428577

ld_guxl 8 vuotta sitten
vanhempi
commit
ab9d1af0f3

+ 15 - 4
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrjbxx/ctl/GkjyrCtl.java

@@ -2568,14 +2568,25 @@ public class GkjyrCtl extends BaseWebCtl {
 					}
 				}
 				// 是否有许可证
+				Subquery<XkzxxEntity> subquery1 = query.subquery(XkzxxEntity.class);
+				Root<XkzxxEntity> dpRoot1 = subquery1.from(XkzxxEntity.class);
+				subquery1.select(dpRoot1);
+				List<Predicate> subQueryPredicates1 = new ArrayList<Predicate>();
 				if (StringUtils.isNotEmpty(sfcyxkz)) {
 					if (!sfcyxkz.equals("all")) {
-						if (!sfcyxkz.equals("201")) {
-							list.add(cb.isNull(root.get("gkjyxkzh").as(String.class)));
+						if ("201".equals(sfcyxkz)) {
+							subQueryPredicates1.add(cb.equal(dpRoot1.get("gkjyr").as(String.class), root.get("id").as(String.class)));
+							subQueryPredicates1.add(cb.equal(dpRoot1.get("recordStatus").as(Integer.class), BaseEntity.RECORD_STATE_VALID));
+							subQueryPredicates1.add(cb.equal(dpRoot1.get("sfyx").as(Integer.class), BaseEntity.RECORD_STATE_VALID));
+							subquery1.where(subQueryPredicates1.toArray(new Predicate[] {}));
+							list.add(cb.exists(subquery1));
 						} else {
-							list.add(cb.isNotNull(root.get("gkjyxkzh").as(String.class)));
+							subQueryPredicates1.add(cb.equal(dpRoot1.get("gkjyr").as(String.class), root.get("id").as(String.class)));
+							subQueryPredicates1.add(cb.equal(dpRoot1.get("recordStatus").as(Integer.class), BaseEntity.RECORD_STATE_VALID));
+							subQueryPredicates1.add(cb.equal(dpRoot1.get("sfyx").as(Integer.class), BaseEntity.RECORD_STATE_VALID));
+							subquery1.where(subQueryPredicates1.toArray(new Predicate[] {}));
+							list.add(cb.not(cb.exists(subquery1)));
 						}
-
 					}
 				}
 				Subquery<BwEntity> subquery2 = query.subquery(BwEntity.class);