|
|
|
@ -2,9 +2,24 @@ package com.palnet.biz.jpa.repository.pty;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import com.palnet.biz.api.acnt.jwt.model.JwtGroupModel; |
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
|
import org.springframework.data.domain.PageImpl; |
|
|
|
|
import org.springframework.data.domain.Pageable; |
|
|
|
|
import org.springframework.stereotype.Repository; |
|
|
|
|
|
|
|
|
|
import com.palnet.biz.api.acnt.jwt.utils.JwtTokenUtil; |
|
|
|
|
import com.palnet.biz.api.bas.group.model.*; |
|
|
|
|
import com.palnet.biz.api.bas.group.model.BasGroupAprvModel; |
|
|
|
|
import com.palnet.biz.api.bas.group.model.BasGroupAprvRqModel; |
|
|
|
|
import com.palnet.biz.api.bas.group.model.BasGroupJoinModel; |
|
|
|
|
import com.palnet.biz.api.bas.group.model.BasGroupJoinRqModel; |
|
|
|
|
import com.palnet.biz.api.bas.group.model.BasGroupModel; |
|
|
|
|
import com.palnet.biz.api.bas.group.model.BasGroupRqModel; |
|
|
|
|
import com.palnet.biz.api.bas.group.model.BasGroupUserListModel; |
|
|
|
|
import com.palnet.biz.api.bas.group.model.BasGroupUserModel; |
|
|
|
|
import com.palnet.biz.jpa.entity.QPtyCstmrBas; |
|
|
|
|
import com.palnet.biz.jpa.entity.QPtyCstmrDtl; |
|
|
|
|
import com.palnet.biz.jpa.entity.QPtyCstmrGroup; |
|
|
|
@ -12,16 +27,10 @@ import com.palnet.biz.jpa.entity.QPtyGroupBas;
|
|
|
|
|
import com.palnet.comn.utils.EncryptUtils; |
|
|
|
|
import com.querydsl.core.BooleanBuilder; |
|
|
|
|
import com.querydsl.core.types.Projections; |
|
|
|
|
import com.querydsl.jpa.JPAExpressions; |
|
|
|
|
import com.querydsl.jpa.impl.JPAQueryFactory; |
|
|
|
|
|
|
|
|
|
import lombok.RequiredArgsConstructor; |
|
|
|
|
import lombok.extern.log4j.Log4j2; |
|
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
|
import org.springframework.stereotype.Repository; |
|
|
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
|
@Log4j2 |
|
|
|
|
@Repository |
|
|
|
@ -252,7 +261,7 @@ public class PtyGroupQueryRepository{
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public List<BasGroupAprvModel> aprvList(BasGroupAprvRqModel rq){ |
|
|
|
|
public PageImpl<BasGroupAprvModel> aprvList(BasGroupAprvRqModel rq, Pageable pageable){ |
|
|
|
|
QPtyGroupBas bas = QPtyGroupBas.ptyGroupBas; |
|
|
|
|
QPtyCstmrGroup dtl = QPtyCstmrGroup.ptyCstmrGroup; |
|
|
|
|
QPtyCstmrBas cstmr = QPtyCstmrBas.ptyCstmrBas; |
|
|
|
@ -322,6 +331,8 @@ public class PtyGroupQueryRepository{
|
|
|
|
|
// .where(dtl.groupAuthCd.ne("CREATER"))
|
|
|
|
|
.where(dtl.groupAuthCd.ne("MASTER")) |
|
|
|
|
.orderBy(bas.createDt.desc()) |
|
|
|
|
.offset(pageable.getOffset()) |
|
|
|
|
.limit(pageable.getPageSize()) |
|
|
|
|
.fetch(); |
|
|
|
|
|
|
|
|
|
List<BasGroupAprvModel> result = new ArrayList<BasGroupAprvModel>(); |
|
|
|
@ -333,16 +344,110 @@ public class PtyGroupQueryRepository{
|
|
|
|
|
result.add(model); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return result; |
|
|
|
|
return new PageImpl<>(result, pageable, result.size()); |
|
|
|
|
} |
|
|
|
|
for(BasGroupAprvModel model : queryResult) { |
|
|
|
|
model.setMemberName(EncryptUtils.decrypt(model.getMemberName())); |
|
|
|
|
result.add(model); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return result; |
|
|
|
|
return new PageImpl<>(result, pageable, result.size()); |
|
|
|
|
} |
|
|
|
|
public long aprvCount(BasGroupAprvRqModel rq){ |
|
|
|
|
QPtyGroupBas bas = QPtyGroupBas.ptyGroupBas; |
|
|
|
|
QPtyCstmrGroup dtl = QPtyCstmrGroup.ptyCstmrGroup; |
|
|
|
|
QPtyCstmrBas cstmr = QPtyCstmrBas.ptyCstmrBas; |
|
|
|
|
QPtyCstmrDtl cstmrDtl = QPtyCstmrDtl.ptyCstmrDtl; |
|
|
|
|
|
|
|
|
|
BooleanBuilder builder = new BooleanBuilder(); |
|
|
|
|
|
|
|
|
|
String appAuth = jwtTokenUtil.getUserAuthByToken(); |
|
|
|
|
|
|
|
|
|
if(!StringUtils.isEmpty(rq.getGroupNm())) { |
|
|
|
|
builder.and(bas.groupNm.like("%" + rq.getGroupNm() + "%")); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// if(!StringUtils.isEmpty(rq.getMemberName())) {
|
|
|
|
|
// String memberName = EncryptUtils.encrypt(rq.getMemberName());
|
|
|
|
|
// builder.and(cstmrDtl.memberName.eq(memberName));
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// if(appAuth.equals("USER") || appAuth.equals("ROLE_USER")) {
|
|
|
|
|
// builder.and(bas.groupId.in(
|
|
|
|
|
// JPAExpressions
|
|
|
|
|
// .select(bas.groupId)
|
|
|
|
|
// .from(bas)
|
|
|
|
|
// .leftJoin(dtl)
|
|
|
|
|
// .on(bas.groupId.eq(dtl.groupId))
|
|
|
|
|
// .where(bas.useYn.eq("Y"))
|
|
|
|
|
// .where(dtl.cstmrSno.eq(rq.getCstmrSno()))
|
|
|
|
|
// .where(dtl.groupAuthCd.eq("MASTER").or(dtl.groupAuthCd.eq("LEADER")))
|
|
|
|
|
//
|
|
|
|
|
// ));
|
|
|
|
|
// }
|
|
|
|
|
if(!StringUtils.isEmpty(rq.getAprvYn())) { |
|
|
|
|
builder.and(dtl.aprvlYn.eq(rq.getAprvYn())); |
|
|
|
|
} |
|
|
|
|
builder.and(bas.groupId.eq(rq.getGroupId())); |
|
|
|
|
|
|
|
|
|
builder.and(dtl.joinYn.eq("Y")); |
|
|
|
|
|
|
|
|
|
List<BasGroupAprvModel> queryResult = |
|
|
|
|
query.select(Projections.bean(BasGroupAprvModel.class , |
|
|
|
|
bas.groupId, |
|
|
|
|
bas.groupNm, |
|
|
|
|
bas.groupTypeCd, |
|
|
|
|
dtl.cstmrGroupSno, |
|
|
|
|
dtl.cstmrSno, |
|
|
|
|
bas.updateDt, |
|
|
|
|
bas.createDt, |
|
|
|
|
dtl.aprvlYn, |
|
|
|
|
dtl.joinYn, |
|
|
|
|
dtl.joinDt, |
|
|
|
|
dtl.aprvlDt, |
|
|
|
|
dtl.groupAuthCd, |
|
|
|
|
dtl.aprvlUserId, |
|
|
|
|
cstmrDtl.memberName, |
|
|
|
|
cstmr.userId |
|
|
|
|
)).from(bas) |
|
|
|
|
.join(dtl) |
|
|
|
|
.on(bas.groupId.eq(dtl.groupId)) |
|
|
|
|
.join(cstmr) |
|
|
|
|
.on(dtl.cstmrSno.eq(cstmr.cstmrSno)) |
|
|
|
|
.on(cstmr.cstmrStatusCd.eq("A")) |
|
|
|
|
.join(cstmrDtl) |
|
|
|
|
.on(cstmr.cstmrSno.eq(cstmrDtl.cstmrSno)) |
|
|
|
|
.where(builder) |
|
|
|
|
|
|
|
|
|
.where(dtl.cstmrSno.ne(rq.getCstmrSno())) |
|
|
|
|
// .where(dtl.groupAuthCd.ne("CREATER"))
|
|
|
|
|
.where(dtl.groupAuthCd.ne("MASTER")) |
|
|
|
|
.orderBy(bas.createDt.desc()) |
|
|
|
|
.fetch(); |
|
|
|
|
long cnt = 0; |
|
|
|
|
List<BasGroupAprvModel> result = new ArrayList<BasGroupAprvModel>(); |
|
|
|
|
if(!(rq.getMemberName() == null) && !StringUtils.isEmpty(rq.getMemberName())) { |
|
|
|
|
for(BasGroupAprvModel model : queryResult) { |
|
|
|
|
String memberName = EncryptUtils.decrypt(model.getMemberName()); |
|
|
|
|
if(memberName.contains(rq.getMemberName())) { |
|
|
|
|
model.setMemberName(memberName); |
|
|
|
|
result.add(model); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
for(BasGroupAprvModel list : result) { |
|
|
|
|
cnt++; |
|
|
|
|
} |
|
|
|
|
return cnt; |
|
|
|
|
} |
|
|
|
|
for(BasGroupAprvModel model : queryResult) { |
|
|
|
|
model.setMemberName(EncryptUtils.decrypt(model.getMemberName())); |
|
|
|
|
result.add(model); |
|
|
|
|
} |
|
|
|
|
for(BasGroupAprvModel list : result) { |
|
|
|
|
cnt++; |
|
|
|
|
} |
|
|
|
|
return cnt; |
|
|
|
|
} |
|
|
|
|
/** |
|
|
|
|
* 참여 했는지 여부체크 |
|
|
|
|
* @param cstmrSno |
|
|
|
|