diff --git a/src/main/java/com/palnet/biz/jpa/repository/pty/PtyGroupQueryRepository.java b/src/main/java/com/palnet/biz/jpa/repository/pty/PtyGroupQueryRepository.java index 6336601..240ce84 100644 --- a/src/main/java/com/palnet/biz/jpa/repository/pty/PtyGroupQueryRepository.java +++ b/src/main/java/com/palnet/biz/jpa/repository/pty/PtyGroupQueryRepository.java @@ -111,46 +111,61 @@ public class PtyGroupQueryRepository{ */ public List groupList(int cstmrSno){ QPtyGroupBas bas = QPtyGroupBas.ptyGroupBas; - QPtyCstmrGroup dtl = QPtyCstmrGroup.ptyCstmrGroup; + QPtyCstmrGroup group = QPtyCstmrGroup.ptyCstmrGroup; + List result = new ArrayList<>(); + List resultList = new ArrayList<>(); String appAuth = jwtTokenUtil.getUserAuthByToken(); List groupAuth = jwtTokenUtil.getGroupAuthByToken(); BooleanBuilder builder = new BooleanBuilder(); builder.and(bas.useYn.eq("Y")); - if(appAuth.equals("USER") || appAuth.equals("ROLE_USER")) { - builder.and(dtl.joinYn.eq("Y")); - builder.and(dtl.cstmrSno.eq(cstmrSno)); - } - List result = + builder.and(group.joinYn.eq("Y")); + builder.and(group.cstmrSno.eq(cstmrSno)); + + result = query.select(Projections.bean(BasGroupJoinModel.class , bas.groupId, bas.groupNm, - bas.groupTypeCd, - dtl.cstmrSno, - dtl.cstmrGroupSno, - bas.updateDt, - bas.createDt, - dtl.aprvlYn, - dtl.joinDt, - dtl.aprvlDt, - dtl.groupAuthCd + group.groupAuthCd )).from(bas) - .leftJoin(dtl) - .on(bas.groupId.eq(dtl.groupId)) + .leftJoin(group) + .on(bas.groupId.eq(group.groupId)) .where(builder) - .orderBy(dtl.joinDt.desc()) + .orderBy(group.joinDt.desc()) .orderBy(bas.createDt.desc()) .groupBy(bas.groupId) - .fetch(); - - - for(BasGroupJoinModel list : result) { - if(list.getCstmrSno() != null) { - if(!list.getCstmrSno().equals(cstmrSno)) { - list.setGroupAuthCd("NORMAL"); - } - } - } + .fetch(); + if(appAuth.equals("USER") || appAuth.equals("ROLE_USER")) { + return result; + }else { + resultList = + query.select(Projections.bean(BasGroupJoinModel.class , + bas.groupId, + bas.groupNm, + group.groupAuthCd + )).from(bas) + .leftJoin(group) + .on(bas.groupId.eq(group.groupId)) + .where(bas.useYn.eq("Y")) + .orderBy(group.joinDt.desc()) + .orderBy(bas.createDt.desc()) + .groupBy(bas.groupId) + .fetch(); + + for(BasGroupJoinModel lists : resultList) { + int cnt = 0; + for(JwtGroupModel list : groupAuth) { + if(list.getGroupId().equals(lists.getGroupId())) { + cnt++; + } + } + if(cnt==0) { + lists.setGroupAuthCd(""); + result.add(lists); + } + } + } + return result; }