Browse Source

식별번호 조건 변경

pull/18/head
qkr7828 9 months ago
parent
commit
a49114c590
  1. 38
      pav-server/src/main/java/com/palnet/biz/api/bas/dron/controller/BasDronController.java
  2. 17
      pav-server/src/main/java/com/palnet/biz/api/bas/dron/model/BasIdntfUpdateModel.java
  3. 39
      pav-server/src/main/java/com/palnet/biz/api/bas/dron/service/BasDronService.java
  4. 11
      pav-server/src/main/java/com/palnet/biz/jpa/repository/pty/PtyDronQueryRepository.java

38
pav-server/src/main/java/com/palnet/biz/api/bas/dron/controller/BasDronController.java

@ -335,6 +335,44 @@ public class BasDronController {
}
return ResponseEntity.ok().body(new SuccessResponse<Map>(resultMap));
}
/**
* 식별장치 수정
* @param id
* @return
*/
@PutMapping(value = "/idntf/update/{id}")
@Operation(summary = "드론식별장치 정보 수정", description = "드론[기체]식별장치 정보를 수정합니다.")
public ResponseEntity<? extends BasicResponse> updateIdntf(@RequestBody BasIdntfUpdateModel rq) {
Map<String , Object> resultMap = new HashMap<String,Object>();
try {
// 기체일련번호확인[id] 입력값 검증처리
if(StringUtils.isEmpty(rq.getIdntfNum())) {
// 검증통과하지 못할 시 서버에서 "의도적인" 에러 반환
return ResponseEntity.status(HttpStatus.OK) // "의도적인" 에러 반환코드
.body(new ErrorResponse(RSErrorCode.ER_PARAM));
}
boolean result = service.updateIdntf(rq); // 드론정보 수정하는 기능.
resultMap.put("result", result);
} catch (Exception e) {
/**
* try{
...
}
* try 영역 코드들중 문제가 생기면 오는 .
* log.error 로그로 원인 파악과 함께 API를 호출한 곳에 서버에러 내려줌
*/
log.error("IGNORE : {}", e);
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
.body(new ErrorResponse("Server Error", "-1"));
}
return ResponseEntity.ok().body(new SuccessResponse<Map>(resultMap));
}
/**

17
pav-server/src/main/java/com/palnet/biz/api/bas/dron/model/BasIdntfUpdateModel.java

@ -0,0 +1,17 @@
package com.palnet.biz.api.bas.dron.model;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class BasIdntfUpdateModel {
@Schema(description = "기체 식별번호", example = "PA0001")
private String idntfNum;
@Schema(description = "변경할 소유자명", example = "수정소유자명")
private String ownerNm;
@Schema(description = "변경할 핸드폰 번호", example = "01036907198")
private String hpno;
}

39
pav-server/src/main/java/com/palnet/biz/api/bas/dron/service/BasDronService.java

@ -1,6 +1,8 @@
package com.palnet.biz.api.bas.dron.service;
import java.time.Instant;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.List;
import java.util.Optional;
@ -18,6 +20,7 @@ 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.BasIdntfModel;
import com.palnet.biz.api.bas.dron.model.BasIdntfRqModel;
import com.palnet.biz.api.bas.dron.model.BasIdntfUpdateModel;
import com.palnet.biz.api.comn.model.ComnPagingRs;
import com.palnet.biz.jpa.entity.ComArcrftBas;
import com.palnet.biz.jpa.entity.ComIdntfBas;
@ -209,6 +212,42 @@ public class BasDronService {
}
/**
* 드론정보 수정하는 기능.
* @param idntfNum
* @return
*/
public boolean updateIdntf(BasIdntfUpdateModel rq) {
Optional<ComIdntfBas> optional = comIdntBasRepository.findById(rq.getIdntfNum());
if (!optional.isPresent()) {
throw new CustomException(ErrorCode.DATA_NOTFIND);
}
String hpno = "";
ComIdntfBas entity = optional.get();
if(rq.getHpno() != null && rq.getHpno() != "") {
hpno = EncryptUtils.encrypt(rq.getHpno());
entity.setHpno(hpno);
}
if(rq.getOwnerNm() != null && rq.getOwnerNm() != "") {
entity.setOwnerNm(rq.getOwnerNm());
}
ZoneId koreaZoneId = ZoneId.of("Asia/Seoul");
ZonedDateTime koreaTime = ZonedDateTime.ofInstant(Instant.now(), koreaZoneId);
entity.setUpdateDt(koreaTime.toInstant());
comIdntBasRepository.save(entity);
return true;
}
/**
* 드론정보 삭제하는 기능.
* @param idntfNum

11
pav-server/src/main/java/com/palnet/biz/jpa/repository/pty/PtyDronQueryRepository.java

@ -1,6 +1,7 @@
package com.palnet.biz.jpa.repository.pty;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
@ -243,7 +244,10 @@ public class PtyDronQueryRepository{
* WHERE CIB.ARCRFT_SNO = #{arcrftSno}
* ORDER BY CIB.CREATE_DT ASC
*/
List<BasIdntfModel> result =
List<BasIdntfModel> result = new ArrayList<>();
BasIdntfModel res =
query.select(Projections.bean(BasIdntfModel.class ,
idnt.arcrftSno,
@ -260,7 +264,10 @@ public class PtyDronQueryRepository{
.on(idnt.arcrftSno.eq(arcrft.arcrftSno))
.where(builder)
.orderBy(idnt.createDt.asc())
.fetch();
.fetchFirst();
result.add(res);
return result;
}

Loading…
Cancel
Save