Browse Source

비행이력 목록 페이징 작업

feature/auth
노승철 2 years ago
parent
commit
25cc73c33b
  1. 14
      src/main/java/com/palnet/biz/api/anls/hstry/controller/AnlsHstryController.java
  2. 4
      src/main/java/com/palnet/biz/api/anls/hstry/model/AnlsHstryGroupModel.java
  3. 21
      src/main/java/com/palnet/biz/api/anls/hstry/service/AnlsHstryService.java
  4. 2
      src/main/java/com/palnet/biz/api/comn/model/ComnPagingModel.java
  5. 16
      src/main/java/com/palnet/biz/api/comn/model/ComnPagingRs.java
  6. 48
      src/main/java/com/palnet/biz/jpa/repository/ctr/CtrCntrlQueryRepository.java

14
src/main/java/com/palnet/biz/api/anls/hstry/controller/AnlsHstryController.java

@ -2,6 +2,7 @@ package com.palnet.biz.api.anls.hstry.controller;
import java.util.List;
import com.palnet.biz.api.comn.model.ComnPagingRs;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
@ -38,10 +39,7 @@ public class AnlsHstryController {
@GetMapping(value = "/list")
public ResponseEntity<? extends BasicResponse> list(AnlsHstryGroupModel rq) {
List<AnlsHstryRsModel> result = null;
log.debug("JSON>>>>>>>>" , JsonUtils.toJson(rq));
log.debug("Param" + rq.getStDate() + "::" + rq.getEndDate());
ComnPagingRs<AnlsHstryRsModel> rs;
//입력값 검증
if(rq.getStDate() == null || !(rq.getStDate().length() == 10) || rq.getEndDate() ==null || !(rq.getEndDate().length() == 10) ) {
@ -50,20 +48,18 @@ public class AnlsHstryController {
}
try {
result = service.list(rq);
rs = service.list(rq);
} catch (Exception e) {
log.error("IGNORE : {}", e);
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
.body(new ErrorResponse("Server Error", "-1"));
}
return ResponseEntity.ok().body(new SuccessResponse<List>(result));
return ResponseEntity.ok().body(new SuccessResponse(rs));
}
@GetMapping(value = "/detail/{id}")
public ResponseEntity<? extends BasicResponse> detail(@PathVariable String id) {
AnlsHstryModel result = null;

4
src/main/java/com/palnet/biz/api/anls/hstry/model/AnlsHstryGroupModel.java

@ -1,9 +1,10 @@
package com.palnet.biz.api.anls.hstry.model;
import com.palnet.biz.api.comn.model.ComnPagingModel;
import lombok.Data;
@Data
public class AnlsHstryGroupModel {
public class AnlsHstryGroupModel extends ComnPagingModel {
private String stDate;
@ -14,4 +15,5 @@ public class AnlsHstryGroupModel {
private String searchType1;
private String groupId;
}

21
src/main/java/com/palnet/biz/api/anls/hstry/service/AnlsHstryService.java

@ -4,10 +4,14 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import com.palnet.biz.api.comn.model.ComnPagingRs;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import com.palnet.biz.api.acnt.jwt.model.JwtGroupModel;
@ -42,7 +46,7 @@ public class AnlsHstryService {
@Autowired
private JwtTokenUtil jwtTokenUtil;
public List<AnlsHstryRsModel> list(AnlsHstryGroupModel rq){
public ComnPagingRs<AnlsHstryRsModel> list(AnlsHstryGroupModel rq){
List<JwtGroupModel> group = jwtTokenUtil.getGroupAuthByToken();
Integer cstmrSno = jwtTokenUtil.getCstmrSnoByToken();
String userAccount = null;
@ -50,10 +54,19 @@ public class AnlsHstryService {
if(rq.getGroupId().equals(list.getGroupId())) {
userAccount = list.getGroupAuthCd();
}
}
List<AnlsHstryRsModel> returnList = query.listCntrlBasRs(rq, cstmrSno, userAccount);
}
ComnPagingRs<AnlsHstryRsModel> response = new ComnPagingRs<>();
Pageable pageable = PageRequest.of(rq.getPage()-1, rq.getRecord());
PageImpl<AnlsHstryRsModel> list = query.listCntrlBasRs(rq, cstmrSno, userAccount, pageable);
response.setItems(list.getContent());
response.setTotal(list.getTotalElements());
response.setTotalPage(list.getTotalPages());
response.setPage(rq.getPage());
return returnList;
return response;
}
public AnlsHstryModel detail(String cntrlId) throws Exception{

2
src/main/java/com/palnet/biz/api/comn/model/ComnPagingModel.java

@ -0,0 +1,2 @@
package com.palnet.biz.api.comn.model;public class ComnPagingRq {
}

16
src/main/java/com/palnet/biz/api/comn/model/ComnPagingRs.java

@ -0,0 +1,16 @@
package com.palnet.biz.api.comn.model;
import lombok.Data;
import java.util.List;
@Data
public class ComnPagingRs<T> {
private long total; // 전체 리스트 수
private long totalPage; // 전체 페이지 수
private long page; // 현재 페이지
private List<T> items; // 현재 페이지 데이터
}

48
src/main/java/com/palnet/biz/jpa/repository/ctr/CtrCntrlQueryRepository.java

@ -8,8 +8,11 @@ import java.util.List;
import com.palnet.biz.api.acnt.cstmr.model.AcntCstmrGroupModel;
import com.palnet.biz.jpa.entity.*;
import com.palnet.comn.model.GPHistoryModel;
import com.querydsl.core.QueryResults;
import com.querydsl.core.Tuple;
import org.apache.commons.lang3.StringUtils;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Repository;
import com.palnet.biz.api.anls.hstry.model.AnlsHstryDetailModel;
@ -151,7 +154,7 @@ public class CtrCntrlQueryRepository{
return result;
}
public List<AnlsHstryRsModel> listCntrlBasRs(AnlsHstryGroupModel rq, int cstmrSno , String userAccount){
public PageImpl<AnlsHstryRsModel> listCntrlBasRs(AnlsHstryGroupModel rq, int cstmrSno , String userAccount, Pageable pageable){
QCtrCntrlBas qCntrlBasEntity = QCtrCntrlBas.ctrCntrlBas;
QCtrCntrlHstryArea qCntrlHstryAreaEntity = QCtrCntrlHstryArea.ctrCntrlHstryArea;
@ -171,19 +174,17 @@ public List<AnlsHstryRsModel> listCntrlBasRs(AnlsHstryGroupModel rq, int cstmrSn
builder.and(qComArcrftBasEntity.groupId.eq(rq.getGroupId()));
}
Calendar end = Calendar.getInstance();
end.setTime(DateUtils.stringToDate(rq.getEndDate()));
end.add(Calendar.DATE, 1);
Date endDate = end.getTime();
builder.and(qCntrlBasEntity.cntrlStDt.after(DateUtils.stringToDate(rq.getStDate())));
builder.and(qCntrlBasEntity.cntrlEndDt.before(endDate));
Calendar end = Calendar.getInstance();
end.setTime(DateUtils.stringToDate(rq.getEndDate()));
end.add(Calendar.DATE, 1);
Date endDate = end.getTime();
builder.and(qCntrlBasEntity.cntrlStDt.after(DateUtils.stringToDate(rq.getStDate())));
builder.and(qCntrlBasEntity.cntrlEndDt.before(endDate));
if(!StringUtils.isEmpty(rq.getSearch1())) {
builder.and(qCntrlBasEntity.idntfNum.like("%" + rq.getSearch1() + "%"));
}
ArrayList<AnlsHstryRsModel> result = new ArrayList<AnlsHstryRsModel>();
List<AnlsHstryRsModel> queryList = query.select(
Projections.bean(AnlsHstryRsModel.class ,
qCntrlBasEntity.cntrlId,
@ -230,8 +231,31 @@ public List<AnlsHstryRsModel> listCntrlBasRs(AnlsHstryGroupModel rq, int cstmrSn
.on(qComArcrftBasEntity.groupId.eq(qPtyCstmrGroupEntity.groupId))
.where(builder)
.orderBy(qCntrlBasEntity.cntrlStDt.asc())
.offset(pageable.getOffset())
.limit(pageable.getPageSize())
.fetch();
// 전체 카운트
long count = query
.select(
qCntrlBasEntity
)
.from(qCntrlBasEntity)
.leftJoin(qCntrlHstryAreaEntity)
.on(qCntrlBasEntity.cntrlId.eq(qCntrlHstryAreaEntity.cntrlId))
.on(qCntrlHstryAreaEntity.actnType.eq("01"))
.leftJoin(qComIdntfBasEntity)
.on(qCntrlBasEntity.idntfNum.eq(qComIdntfBasEntity.idntfNum))
.leftJoin(qComArcrftBasEntity)
.on(qComIdntfBasEntity.arcrftSno.eq(qComArcrftBasEntity.arcrftSno))
.leftJoin(qFltPlanBasEntity)
.on(qComArcrftBasEntity.groupId.eq(qFltPlanBasEntity.groupId))
.leftJoin(qPtyCstmrGroupEntity)
.on(qComArcrftBasEntity.groupId.eq(qPtyCstmrGroupEntity.groupId))
.where(builder)
.fetchCount();
List<AnlsHstryRsModel> result = new ArrayList<>();
for(AnlsHstryRsModel model: queryList) {
String addr = "";
@ -260,7 +284,7 @@ public List<AnlsHstryRsModel> listCntrlBasRs(AnlsHstryGroupModel rq, int cstmrSn
return result;
return new PageImpl<>(result, pageable, count);
}
/**

Loading…
Cancel
Save