Browse Source

기체관리 페이징 작업

Test
qkr7828(박재우) 2 years ago
parent
commit
2ff0bbf5d6
  1. 16
      src/main/java/com/palnet/biz/api/bas/dron/controller/BasDronController.java
  2. 4
      src/main/java/com/palnet/biz/api/bas/dron/model/BasDronRqModel.java
  3. 29
      src/main/java/com/palnet/biz/api/bas/dron/service/BasDronService.java
  4. 72
      src/main/java/com/palnet/biz/jpa/repository/pty/PtyDronQueryRepository.java

16
src/main/java/com/palnet/biz/api/bas/dron/controller/BasDronController.java

@ -1,15 +1,9 @@
package com.palnet.biz.api.bas.dron.controller; package com.palnet.biz.api.bas.dron.controller;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import com.palnet.comn.utils.EncryptUtils;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
@ -22,21 +16,23 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import com.palnet.biz.api.bas.dron.model.BasDronModel; import com.palnet.biz.api.bas.dron.model.BasDronModel;
import com.palnet.biz.api.bas.dron.model.BasDronRqModel; import com.palnet.biz.api.bas.dron.model.BasDronRqModel;
import com.palnet.biz.api.bas.dron.model.BasIdntfModel; import com.palnet.biz.api.bas.dron.model.BasIdntfModel;
import com.palnet.biz.api.bas.dron.model.BasIdntfRqModel; import com.palnet.biz.api.bas.dron.model.BasIdntfRqModel;
import com.palnet.biz.api.bas.dron.service.BasDronService; import com.palnet.biz.api.bas.dron.service.BasDronService;
import com.palnet.biz.api.comn.model.ComnPagingRs;
import com.palnet.biz.api.comn.response.BasicResponse; import com.palnet.biz.api.comn.response.BasicResponse;
import com.palnet.biz.api.comn.response.ErrorResponse; import com.palnet.biz.api.comn.response.ErrorResponse;
import com.palnet.biz.api.comn.response.SuccessResponse; import com.palnet.biz.api.comn.response.SuccessResponse;
import com.palnet.comn.code.RSErrorCode; import com.palnet.comn.code.RSErrorCode;
import com.palnet.comn.exception.CustomException; import com.palnet.comn.exception.CustomException;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
@ -60,7 +56,7 @@ public class BasDronController {
@ApiOperation(value = "드론 목록 조회") @ApiOperation(value = "드론 목록 조회")
@Tag(name = "드론 컨트롤러", description = "드론 관련 API") @Tag(name = "드론 컨트롤러", description = "드론 관련 API")
public ResponseEntity<? extends BasicResponse> list(BasDronRqModel rq) { public ResponseEntity<? extends BasicResponse> list(BasDronRqModel rq) {
List<BasDronModel> result = null; ComnPagingRs<BasDronModel> result = null;
//입력값 검증 //입력값 검증
if(StringUtils.isEmpty(rq.getGroupId())) { if(StringUtils.isEmpty(rq.getGroupId())) {
@ -78,7 +74,7 @@ public class BasDronController {
.body(new ErrorResponse("Server Error", "-1")); .body(new ErrorResponse("Server Error", "-1"));
} }
return ResponseEntity.ok().body(new SuccessResponse<List>(result)); return ResponseEntity.ok().body(new SuccessResponse<>(result));
} }

4
src/main/java/com/palnet/biz/api/bas/dron/model/BasDronRqModel.java

@ -1,11 +1,11 @@
package com.palnet.biz.api.bas.dron.model; package com.palnet.biz.api.bas.dron.model;
import java.util.Date; import com.palnet.biz.api.comn.model.ComnPagingModel;
import lombok.Data; import lombok.Data;
@Data @Data
public class BasDronRqModel { public class BasDronRqModel extends ComnPagingModel {
private String groupId; private String groupId;

29
src/main/java/com/palnet/biz/api/bas/dron/service/BasDronService.java

@ -3,17 +3,21 @@ package com.palnet.biz.api.bas.dron.service;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import com.palnet.comn.utils.EncryptUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; 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 org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import com.palnet.biz.api.acnt.jwt.utils.JwtTokenUtil; import com.palnet.biz.api.acnt.jwt.utils.JwtTokenUtil;
import com.palnet.biz.api.anls.hstry.model.AnlsHstryRsModel;
import com.palnet.biz.api.bas.dron.model.BasDronModel; import com.palnet.biz.api.bas.dron.model.BasDronModel;
import com.palnet.biz.api.bas.dron.model.BasDronRqModel; import com.palnet.biz.api.bas.dron.model.BasDronRqModel;
import com.palnet.biz.api.bas.dron.model.BasIdntfModel; import com.palnet.biz.api.bas.dron.model.BasIdntfModel;
import com.palnet.biz.api.bas.dron.model.BasIdntfRqModel; import com.palnet.biz.api.bas.dron.model.BasIdntfRqModel;
import com.palnet.biz.api.comn.model.ComnPagingRs;
import com.palnet.biz.jpa.entity.ComArcrftBas; import com.palnet.biz.jpa.entity.ComArcrftBas;
import com.palnet.biz.jpa.entity.ComIdntfBas; import com.palnet.biz.jpa.entity.ComIdntfBas;
import com.palnet.biz.jpa.repository.com.ComArcrftBasRepository; import com.palnet.biz.jpa.repository.com.ComArcrftBasRepository;
@ -22,6 +26,7 @@ import com.palnet.biz.jpa.repository.pty.PtyDronQueryRepository;
import com.palnet.comn.code.ErrorCode; import com.palnet.comn.code.ErrorCode;
import com.palnet.comn.exception.CustomException; import com.palnet.comn.exception.CustomException;
import com.palnet.comn.utils.DateUtils; import com.palnet.comn.utils.DateUtils;
import com.palnet.comn.utils.EncryptUtils;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
@ -46,9 +51,25 @@ public class BasDronService {
* @param rq * @param rq
* @return * @return
*/ */
public List<BasDronModel> list(BasDronRqModel rq){ public ComnPagingRs<BasDronModel> list(BasDronRqModel rq){
List<BasDronModel> resultList = query.list(rq);
return resultList; ComnPagingRs<BasDronModel> response = new ComnPagingRs<>();
Pageable pageable = PageRequest.of(rq.getPage()-1, rq.getRecord());
PageImpl<BasDronModel> result = query.list(rq, pageable);
long total = query.listCount(rq);
long totalPage = total % rq.getRecord() > 0 ? (total/rq.getRecord()) + 1 : total/rq.getRecord();
response.setItems(result.getContent());
response.setTotal(total);
response.setPage(rq.getPage());
response.setTotalPage(totalPage);
return response;
} }
/** /**

72
src/main/java/com/palnet/biz/jpa/repository/pty/PtyDronQueryRepository.java

@ -1,10 +1,11 @@
package com.palnet.biz.jpa.repository.pty; package com.palnet.biz.jpa.repository.pty;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import com.palnet.biz.api.bas.dron.model.BasDronModel; import com.palnet.biz.api.bas.dron.model.BasDronModel;
@ -15,7 +16,6 @@ import com.palnet.biz.jpa.entity.QComArcrftBas;
import com.palnet.biz.jpa.entity.QComIdntfBas; import com.palnet.biz.jpa.entity.QComIdntfBas;
import com.palnet.biz.jpa.entity.QPtyCstmrGroup; import com.palnet.biz.jpa.entity.QPtyCstmrGroup;
import com.palnet.biz.jpa.entity.QPtyGroupBas; import com.palnet.biz.jpa.entity.QPtyGroupBas;
import com.palnet.comn.utils.EncryptUtils;
import com.querydsl.core.BooleanBuilder; import com.querydsl.core.BooleanBuilder;
import com.querydsl.core.types.Projections; import com.querydsl.core.types.Projections;
import com.querydsl.jpa.JPAExpressions; import com.querydsl.jpa.JPAExpressions;
@ -35,7 +35,7 @@ public class PtyDronQueryRepository{
* @param rq * @param rq
* @return * @return
*/ */
public List<BasDronModel> list(BasDronRqModel rq){ public PageImpl<BasDronModel> list(BasDronRqModel rq, Pageable pageable){
QComArcrftBas bas = QComArcrftBas.comArcrftBas; QComArcrftBas bas = QComArcrftBas.comArcrftBas;
QComIdntfBas idnt = QComIdntfBas.comIdntfBas; QComIdntfBas idnt = QComIdntfBas.comIdntfBas;
@ -81,6 +81,8 @@ public class PtyDronQueryRepository{
)).from(bas) )).from(bas)
.where(builder) .where(builder)
.orderBy(bas.createDt.desc()) .orderBy(bas.createDt.desc())
.offset(pageable.getOffset())
.limit(pageable.getPageSize())
.fetch(); .fetch();
// List<BasDronModel> result = new ArrayList<BasDronModel>(); // List<BasDronModel> result = new ArrayList<BasDronModel>();
@ -93,9 +95,71 @@ public class PtyDronQueryRepository{
// result.add(model); // result.add(model);
// } // }
return result; return new PageImpl<>(result, pageable, result.size());
}
public long listCount(BasDronRqModel rq){
QComArcrftBas bas = QComArcrftBas.comArcrftBas;
QComIdntfBas idnt = QComIdntfBas.comIdntfBas;
BooleanBuilder builder = new BooleanBuilder();
if(!StringUtils.isEmpty(rq.getArcrftModelNm())) {
builder.and(bas.arcrftModelNm.like('%' + rq.getArcrftModelNm() + '%'));
}
if(!StringUtils.isEmpty(rq.getGroupId())) {
builder.and(bas.groupId.eq(rq.getGroupId()));
} }
if(!StringUtils.isEmpty(rq.getArcrftTypeCd())) {
builder.and(bas.arcrftTypeCd.eq(rq.getArcrftTypeCd()));
}
builder.and(bas.useYn.eq("Y"));
List<BasDronModel> result =
query.select(Projections.bean(BasDronModel.class ,
bas.groupId,
bas.arcrftSno,
bas.arcrftHght,
bas.arcrftLngth,
bas.arcrftModelNm,
bas.arcrftTypeCd,
bas.arcrftWdth,
bas.arcrftWght,
bas.cameraYn,
bas.createDt,
bas.createUserId,
bas.insrncYn,
bas.prdctCmpnNm,
bas.prdctDate,
bas.prdctNum,
bas.takeoffWght,
bas.updateDt,
bas.updateUserId,
bas.wghtTypeCd
)).from(bas)
.where(builder)
.orderBy(bas.createDt.desc())
.fetch();
// List<BasDronModel> result = new ArrayList<BasDronModel>();
//
// for(BasDronModel model : queryResult) {
//// if(!StringUtils.isEmpty(model.getOwnerNm())) {
//// model.setOwnerNm(EncryptUtils.decrypt(model.getOwnerNm()));
//// }
//
// result.add(model);
// }
long cnt = 0;
for(BasDronModel list : result) {
cnt++;
}
return cnt;
}
/** /**
* 식별번호 조회 * 식별번호 조회
* @param arcrftSno * @param arcrftSno

Loading…
Cancel
Save