본문 바로가기
JS,HTML,CSS

자바스크립트 dataFormat으로 날짜시간 일련번호 생성

by 유반짝 2023. 4. 17.

자바단으로 넘어가지 않고 자바스크립트단에서 JSON으로 데이터를 통으로 넘겨서 저장해야 할 경우가 생겼다.

 

자바스크립트에서

배열을 생성

객체를 생성

반복문을 돌면서 새로 객체를 생성하여 배열에다가 집어넣고

JSON으로 자바의 컨트롤러로 배열을 전달하여 저장해야하는 경우다.


/* js에서 */
var aJsonArray = new Array();
aJson = new Object();
aJson.frmNo = dateFormat(today) + seq++;
aJsonArray.push(aJson); 

ppmboot.ajax({
    type: "PUT",
    url: ["skrghis", "bundleDetail"],
    data: JSON.stringify(aJsonArray),
    callback: function (res) {
        axToast.push("저장 되었습니다.");
        parent.ppmboot.modal.callback("");
    }
});

controller도 전달받은 파라미터를 바로 저장하도록 수정해주어야한다


/* controller.java의 저장로직에서 다이렉트 저장되도록 수정*/
@RequestMapping(value ="bundleDetail",method = {RequestMethod.PUT}, produces = APPLICATION_JSON)
public ApiResponse bundleDetail(@RequestBody List<BundleDetail> request) {		
    bundleDetailService.save(request);
    return ok();
}

다시 js로 돌아가서


/*코드자동발번 만들기함수 YYYYMMDDHHSS*/
function dateFormat(date) {
    let month = date.getMonth() + 1;
    let day = date.getDate();
    let hour = date.getHours();
    let minute = date.getMinutes();
    let second = date.getSeconds();

    month = month >= 10 ? month : '0' + month;
    day = day >= 10 ? day : '0' + day;
    hour = hour >= 10 ? hour : '0' + hour;
    minute = minute >= 10 ? minute : '0' + minute;
    second = second >= 10 ? second : '0' + second;

    return date.getFullYear() + month + day + hour + minute + second;
}

/*사용하기*/
var seq = 0;
var today = new Date();
aJson.frmNo = dateFormat(today) + seq++;

결과 : 2023041712381 ~ 202304171238100 등등