소스 검색

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

ld_guxl 8 년 전
부모
커밋
ab9d1af0f3
1개의 변경된 파일15개의 추가작업 그리고 4개의 파일을 삭제
  1. 15 4
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrjbxx/ctl/GkjyrCtl.java

+ 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);