package com.eactive.eai.agent.web;

import com.eactive.eai.adapter.socket.common.CommonLib;
import com.eactive.eai.batch.doc.BatchDoc;
import com.eactive.eai.batch.doc.Header;

public class FepFileSupport {
	/** encoding */
	public static final String ENCODING = "MS949";
	/** 파일 송신 상태 검사 */
	public static final String SUCCESS = "SUCCESS";
	/** 파일 요구 수신 */
	public static final String FAIL = "FAIL";

	/**
	 * HTTP 요청에 대한 응답
	 * @param responseCode 성공 여부
	 * @param responseMessage 메시지
	 * @return HTTP 요청 응답 전문
	 */
	public static String getResMsg(String responseCode, String responseMessage) {
		String outStr = String.format("%-10s%s@@", responseCode, CommonLib.stringFormat(responseMessage, false, ' ', 100));
		return outStr;
	}
	
	/**
	 * 파일 송수신 후 결과 통보
	 * @param sendOrReceive 송수신 구분. S: 송신, R: 수신
	 * @param resultCode 성공 여부
	 * @param batchDoc 
	 * @param remoteFilename 송수신 파일 이름
	 * @param ListFileName 수신할 List 파일 이름
	 * @param ListFileYn 수신시 List 파일 존재 여부. Y/N
	 * @return 파일 송수신 결과 통보 전문
	 */
	public static String getNotifyMessage(String sendOrReceive, boolean resultCode, BatchDoc batchDoc, String listFileName, String ListFileYn, int fileCount, String remoteFilename) {
		String result = resultCode ? SUCCESS : FAIL;
		Header header = batchDoc.getBatchMsg().getHeader();
		String outStr = String.format("%s%-10s%5s%4s%-10s%-100s%010d%-100s%1s@@", sendOrReceive, result,
							header.getProcessCode(), header.getInstitutionCode(), header.getBizCode(),
							remoteFilename, fileCount, listFileName, ListFileYn);
		return outStr;
	}
}
