결정이 필요한 부분들을 질문하면서 시연하려고 준비를 하고 있었는데

해당 부분을 진행하던 도중 미사용이라는 이름만 우수수 출력되는 걸 볼 수 있었다.

 

해당 문제는 flow에 필수적인 데이터인 Id만 쿼리해와서 에러를 제거하느라 발생했는데

Name 필드도 사용자 선택 부분에서 필요하다는 것을 잊어서 생긴 문제였다.

 

그런줄알고 확인했으나 어제 잘 작동하는 모습을 보고 종료했다는 것을 있었던 것이었고

들어가보니 이미 잘 처리했었다.

 

충격적이게도 문제가 자꾸 해결되지 않아 인스펙터로 쿼리해보니

해당 데이터들을 누가 사용자명을 다 미사용으로 바꿔서 생긴 문제였고

다른 계열로 조회하니 정상적으로 이름이 출력되었다.

 

질문지를 정리한 다음 시연 확인까지 하고 질문을 드렸고

아래와 같은 결론이 나왔다.

 

1.요청 3개 중 2개는 처리 1개는 문의

2.레코드 이동은 사용자가 이해하기 어려우니 화면 명을 명확하게 하기

(세부 내용은 보안에 걸릴 수 있어서 생략했다)

 

현재고를 넘겨주기 위해서는 상당히 어려울 것이라고 생각헀는데

필드를 만들고 해당 부분에 값을 넘겨주며 넘어가다보니

관련 필드를 이미 생성해뒀고 값도 이미 다 넣어뒀던 것을 발견할 수 있었다.

 

결국 해당 필드를 삭제하고 해당 값을 찾아 정리하고

팀에 다시 해당 필드를 삭제했음을 안내하고 필드 추가부분을 마무리하고 인터페이스에 들어갔다.

 

기존 프로그램들에서 처리하던 현재고 부분을 확인하고

필드 3개를 인터페이스로 넘기는 작업을 처리한 다음 메일로 답신을 보냈다.

 

레코드 이동 페이지 레이아웃의 수정이 필요했는데

값 입력만으로는 페이지를 바꾸기 애매한 감이 있었고

라디오로 선택이 가능하게 변경해봤지만

해당 값으로 결정이 제대로 진행되지 않아 원복시키고

대신에 섹션을 추가해 헤더 느낌을 추가해줬다.

 

판매 주문을 기준으로 판매 주문 제품들 각각의 배송처리를 진행할 때

모든 배송이 완료되면 각자 기록하다가

판매 주문의 모든 판매 주문 제품이 완료되는 경우 처리를 시작해야 한다고 생각했는데

알고보니 그냥 각각의 배송처리가 배송완료가 되는 순간 진행하는 방식이라고 하셨다.

사실 그건 그냥 인터페이스 처리시 자동으로 되는 부분이라 내가 건드릴 부분은 없었다.

 

객체의 필드들을 확인하며 트리거 구조까지 짠 다음 최종적으로 확인을 받았는데

만들지 않고 조금 더 자세하게 짜기 위해 질문을 해서 참 다행이었다.

 

계획한 일은 줄어들었지만 추가로 일이 더 쏟아졌는데

간단하게 조회 상태의 필드들을 추가 및 정리하라는 것부터

당장 필요없는 알림대상자가 정해지면 배송 완료시 대상자에게 알림이 가는 기능추가를 받았고

설계를 하는 동안 판매 주문 객체에서 배송요청됨, 배송완료 두가지 필드를 확인해버렸는데

해당 필드를 처리해주지 않으면 기존 주문에서 마구잡이로 중복해서 배송요청이 가능하기 때문에

배송요청을 처리해줘야 한다는 문제를 발견했다.

 

사실 그것만 따지면 조금 귀찮지만 빌더 3개와 플로우 하나만 바꾸면 되는 간단한 문제지만

배송을 하기 전 배송요청을 삭제하면 해당 아이템들을 다시 배송요청 안됨 상태로 변경해야 하고

그걸 위해서는 다시 트리거를 작성해야 했으며

조회시 출고요청이 없는 부분도 출고요청을 하도록 변경해야 했다.

 

생각해보면 트리거 연관 빌더로 작업할 경우 플로우에서 배송요청 처리가 가능하지만

다른 빌더에서는 플로우가 없어서 처리가 불가능하기 때문에 배송요청 또한 트리거로 해야 했다.

결론적으로 배송요청됨 필드를 통해 기존 출고요청 할 수 있는 데이터를 가져오게 3개의 빌더를 수정하고

배송요청품목 추가시 연관 판매주문품목의 배송처리됨을 처리하고

배송요청품목이 삭제될 경우 연관 판매주문품목의 배송처리됨을 취소해야 하지만

해당 배송요청이 완료된 상태에서 삭제될 경우는 미정인 상태이다.

 

정리하면 아래의 세가지 작업을 진행하면 되는 상황이다.

조회시 출고요청이 false인 값만 가져오기(builder 3개 처리)

출고요청품목 추가시 트리거 발동 및 OrderItem의 출고요청 필드 true로 변경

출고요청품목 삭제시 트리거 발동 및 OrderItem의 출고요청 필드 false로 변경

 

builder 부분을 모두 처리하고 트리거를 생성만 한 상태에서

이전에 해당 부분의 다른 기능용 트리거를 만든게 2주밖에 되지 않았지만 많이 수준이 낮아 보여서

결국 리팩토링을 진행하니 퇴근시간이 되어서 내일 트리거를 마무리하기로 했다.

 

 

(1).백준 8658번 Liczba는 약수가 아닌 가장 작은 수와 가장 큰 수를 출력해야 하는 문제였다.

 

보통은 소수구하기 느낌으로 진행하는데 이번에는 가장 작은 숫자부터 지정 숫자보다 작은 숫자까지 순회하며

나머지가 생기는 시점까지 진행하고 해당 i값을 min으로 저장하고

순서를 역순으로 진행해 나머지가 생긴 시점에 i를 max로 지정해 문제를 해결했다.

const input = 5

let min, max

for(let i = 2 ; i < input ; i++){
    if(input % i){
        min = i
        break
    }
}

for(let i = input-1 ; i > 1 ; i--){
    if(input % i){
        max = i
        break
    }
}

console.log(min, max)

'회고' 카테고리의 다른 글

[개발일지] - 34  (0) 2023.08.03
[개발일지] - 33  (0) 2023.08.02
[개발일지] - 31  (0) 2023.07.31
[개발일지] - 30(주말)  (0) 2023.07.30
[개발일지] - 29(주말)  (0) 2023.07.29

+ Recent posts