본문 바로가기
JS,HTML,CSS

[XML][JS] 특정일수 더하여 소비기한 계산하기

by 유반짝 2024. 1. 4.

1. js에서 코드 짜기 싫어서 XML 수정하여 실행해봄(Fail)

<!-- map.orderDt 을 넘겨받으면 orderDt 포함한 EXPIRY_DT 쿼리로 계산(화면에 전달되지 않음)-->
<choose>
   <when test="map.orderDt != null and map.orderDt != ''">
      DATE_ADD(#{map.orderDt},INTERVAL C.EXPIRY_DT -1 DAY)      expiryDt,
   </when>
   <otherwise>
      A.EXPIRY_DT		expiryDt,
   </otherwise>
</choose>

 

C.C.EXPIRY_DT 는 string 형식으로 저장된 일수 데이터 (ex : "10")

다만 자바스크립트 화면으로 데이터가 넘어가지 않음

VO, mapper 모두 확인해도 쿼리는 정상동작하나 화면으로는 안넘어옴

 

2. 결국 JS에서 구현(ppmboot기준)

gridView의 columns: [...] 안에 추가해준 코드

{key: "expiryDt", label: "소비기한", width:100, align: "center"
    , formatter: function formatter() {
        if ((typeof this.item.expiryDay != "undefined" && this.item.expiryDay != "")) {
            var expiryDay = Number(this.item.expiryDay);
            var tempExpiryDt = new Date(param.orderDt);
            tempExpiryDt.setDate(tempExpiryDt.getDate() + expiryDay);
            this.item.expiryDt = tempExpiryDt.toISOString().split("T")[0];
            return this.item.expiryDt;
        }else{
            return this.value;
        }
    }
},