/**
 * pickup js in pickup.html
 * @since cms:1.4.3.2&1.4.3.3 web:1.0
 */
var PICKUP = {};

PICKUP.newReportList;
PICKUP.continousWorkReport;
PICKUP.reportWithWarning;
PICKUP.pickupDefault = "newReport";
PICKUP.pickupActive = "newReport";

PICKUP.countNewReportList = 0;
PICKUP.countContinousWorkReport = 0;
PICKUP.countReportWithWarning= 0;

/**
 * Report type
 */
PICKUP.REPORT_TYPE = {
	REPORTONLY: 0,     //report only
	INSPECT: 1,        //rountine
	WITHREPLY: 2,      // report answer
	WORKFLOW: 3        // continuous 
}
/**
 * operation type
 */
PICKUP.OPERATION_TYPE = {
	LIST: "0",
	DRAWING: "1",
	VTOUR: "2",
    PDF: "3"
};
/**
 * task type of report answer
 */
PICKUP.REPLYREPORT_TASK_TYPE = {
	REPORT: 0,     
	ANSWER: 1       
}

/**
 * default Pickup List
 */
PICKUP.defaultPickupList = {
    operationList:[]
}

PICKUP.baseApiUrl = COMMON.format(ClientData.conf_checkApiUrl(), ClientData.userInfo_accountPath());
PICKUP.getNewReportListApiUrl = PICKUP.baseApiUrl + CONSTANT.URL.CMS.API.NEW_REPORT;
PICKUP.getContinuousWorkListApiUrl = PICKUP.baseApiUrl + CONSTANT.URL.CMS.API.WORKING_FLOW;
PICKUP.getReportWithWarningsListApiUrl = PICKUP.baseApiUrl + CONSTANT.URL.CMS.API.WARNING_WITH_REPORT;

/**
 * Call get new report list api get data 
 */
 PICKUP.getNewreportListData = function (callback) {
    let param = {
        sid: COMMON.getSid(),
    };
    COMMON.cmsAjax(PICKUP.getNewReportListApiUrl, param, false, function (json) {
        if (callback) {
            callback(json);
        }
    }, function() {
        console.log('DASHBOARD.getNewreportListData error');
        if (callback) {
            callback(PICKUP.defaultPickupList);
        }
    });
};
/**
 * Call get Continuous Work list api get data 
 * @param {*} callback 
 */
PICKUP.getContinuousWorkListData = function (callback) {
    let param = {
        sid: COMMON.getSid(),
    };
    COMMON.cmsAjax(PICKUP.getContinuousWorkListApiUrl, param, false, function (json) {
        if (callback) {
            callback(json);
        }
    }, function() {
        console.log('DASHBOARD.getContinuousWorkListData error');
        if (callback) {
            callback(PICKUP.defaultPickupList);
        }
    });
};

/**
 * Call get Report With Warnings list api get data 
 * @param {*} callback 
 */
PICKUP.getReportWithWarningsListData = function (callback) {
    let param = {
        sid: COMMON.getSid(),
    };
    COMMON.cmsAjax(PICKUP.getReportWithWarningsListApiUrl, param, false, function (json) {
        if (callback) {
            callback(json);
        }
    }, function() {
        console.log('DASHBOARD.getReportWithWarningListData error');
        if (callback) {
            callback(PICKUP.defaultPickupList);
        }
    });
};
/**
 * Initialization pickup html 
 */
PICKUP.init = function() {
	console.log("PICKUP.init");
	TEMPLATE.loadHearder("#includedHeader");
    TEMPLATE.loadConfirmModal("#includedConfirmModal");
	const navs = [
        {
            titleLang: 'dashboard',
            href: 'dashboard.html',
        },
        {
            titleLang: 'pickup',
        },
    ];
    TEMPLATE.loadMainNavsTitle("#includedMainTitle", "pickup", navs, null);
	PICKUP.initSettingActivePickup();
	PICKUP.settingPickup();
}
/**
 * Setting pickup data
 */
PICKUP.settingPickup = function() {
	DashboardSetting.getSettingData(function (settings) {
		$("#liTabNewReport").addClass('d-none');
		$("#liTabContinousWork").addClass('d-none');
		$("#liTabReportWithWarning").addClass('d-none');
		if(settings.newReport)
		{
			$("#liTabNewReport").removeClass('d-none');
			PICKUP.initNewReportTab();
		}
		if(settings.continousWork)
		{
			$("#liTabContinousWork").removeClass('d-none');
			PICKUP.initContinuosWorkTab();
		}
		if(settings.warningReport)
		{
			$("#liTabReportWithWarning").removeClass('d-none');
			PICKUP.initReportWithWarningsTab();
		}
    });
}
/**
 * init Setting Active Pickup
 */
PICKUP.initSettingActivePickup = function() {
	var urlParam = COMMON.getUrlParameter();
	if(urlParam.pickupActive == undefined || urlParam.pickupActive == '' )
	{
		urlParam.pickupActive = PICKUP.pickupDefault;
	}
	PICKUP.pickupActive = urlParam.pickupActive;
	PICKUP.settingActivePickup(PICKUP.pickupActive);
}

/**
 * setting Active Pickup
 * @param {*} pickupActive 
 * @returns 
 */
PICKUP.settingActivePickup = function(pickupActive) {
	PICKUP.pickupActive = pickupActive;
	$('#liTabNewReport a').removeClass('active');
	$('#liTabContinousWork a').removeClass('active');
	$('#liTabReportWithWarning a').removeClass('active');

	$('#tab-content-NewReport').removeClass('active show');
	$('#tab-content-ContinousWork').removeClass('active show');
	$('#tab-content-ReportWithWarnings').removeClass('active show');

	if(pickupActive == "newReport")
	{
		$('#liTabNewReport a').addClass('active');
		$('#tab-content-NewReport').addClass('active show');
		return;
	}

	if(pickupActive == "continousWork")
	{
		$('#liTabContinousWork a').addClass('active');
		$('#tab-content-ContinousWork').addClass('active show');
		return;
	}
	if(pickupActive == "reportWarning")
	{
		$('#liTabReportWithWarning a').addClass('active');
		$('#tab-content-ReportWithWarnings').addClass('active show');
		return;
	}
}

/**
 * Initialization show not found pickup item html 
 * @param {*} elementId 
 */
PICKUP.showNotFoundPickupItem =  function(elementId) {
	$(elementId).removeClass();
	$(elementId).addClass('p-0 mt-3 card-list');
	let li = $("<li class='card mb-2 not-found'></li>");
	let div = $("<div class='text-dark mb-1 px-3 py-5 text-center m-auto'></div>");
	let imgdiv = $("<img src=\"../common/img/icon_not_found.svg\" alt='" + I18N.i18nText('msgNotFound') +"' class='not-found-img mb-2'>");
	let childDiv = $("<div class='fs-9 text-secondary font-weight-bold'>" + I18N.i18nText('msgNotFound') +"</div>");
	div.append(imgdiv);
	div.append(childDiv);
	li.append(div);
	$(elementId).append(li);
}

/**
 * Initialization view pickup menu html 
 * @param {*} elementId 
 * @param {*} count 
 */
PICKUP.showCountDisplayPickupItem =  function(elementId, count) {
	let span = $('<span>' + I18N.i18nText('display')  +'</span>');
	$(elementId).append(count);
	$(elementId).append(span);
}

/**
 * Initialization new report list html 
 */
PICKUP.initNewReportTab = function() {
	PICKUP.getNewreportListData(function (json) {
		PICKUP.createNewReportList(json.operationList);
	});
}


/**
 * Initialization continuous work list html 
 */
 PICKUP.initContinuosWorkTab = function() {
	PICKUP.getContinuousWorkListData(function (json) {
		PICKUP.createContinousWorkList(json.operationList);
	});
}

/**
 * Initialization continuous work list html 
 */
 PICKUP.initReportWithWarningsTab = function() {
	PICKUP.getReportWithWarningsListData(function (json) {
		PICKUP.createReportWithWarningList(json.operationList);
	});
}

/**
 * sort New report operation list
 * @param {*} operationList 
 * @returns 
 */
PICKUP.sortNewReportList = function(operationList) {
	operationList = operationList.sort(function(a,b) {
		if (a.operationId < b.operationId) return 1;
		if (a.operationId > b.operationId) return -1;
		return 0;
	});
	return operationList;
}
/**
 * Implement new report list html
 * @param {*} operationListOld 
 * @returns 
 */
PICKUP.createNewReportList = function(operationListOld) {
	if (typeof operationListOld === 'undefined' || operationListOld.length < 1) {
        PICKUP.showNotFoundPickupItem("#newReport-list");
        $('#viewMenuNewReport').addClass('d-none');
        return;
    }

	let operationList = PICKUP.sortNewReportList(operationListOld);
	$('#viewMenuNewReport').removeClass('d-none');
	$("#newReport-list").empty();
	PICKUP.countNewReportList = 0;
	
    $('#newReport-list').addClass('task-list view-content view-block');
	let classIcon ;
	for (let i = 0; i < operationList.length; i++) {
		switch (operationList[i].reportType)
		{
			case PICKUP.REPORT_TYPE.REPORTONLY:
				classIcon = "report";
				break;
			case PICKUP.REPORT_TYPE.INSPECT:
				classIcon = "inspection";
				break;
			case PICKUP.REPORT_TYPE.WITHREPLY:
				classIcon = "questionary";
				break;
			case PICKUP.REPORT_TYPE.WORKFLOW:
				classIcon = "proccess";
				break;
		}
		let messageli = $("<li class='card mb-2' name = 'operationId_" + operationList[i].operationId + "' ></li>");
		let ahrefRequiredFlg =  $("<a href=\"javascript:PICKUP.sendReportFormFromNewReport ('" 
								+ operationList[i].operationId +"');\" class='h-100 d-block px-3 py-2 text-decoration-none text-dark position-relative'></a>");
		let divIcon = $("<div class='position-absolute translate-middle top-50 left-0 ml-3'>"
						+ "<div class='type-icon'>"
						+ "<span class='" + classIcon + "'></span>"
						+ "</div></div>")
		
		let divText = $("<div class='pl-5 h-100 d-flex align-items-center'>"
						+ "<div class='w-100'>"
						+ "<div class='fs-12 text-truncate'>" + operationList[i].operationName + "</div>"
						+ "</div></div>");
		ahrefRequiredFlg.append(divIcon);
		ahrefRequiredFlg.append(divText);
		messageli.append(ahrefRequiredFlg);

		$("#newReport-list").append(messageli);
		PICKUP.countNewReportList  = PICKUP.countNewReportList  + 1;

	}
	// show not found if 
	if (PICKUP.countNewReportList == 0) {
        PICKUP.showNotFoundPickupItem("#newReport-list");
		$('#viewMenuNewReport').addClass('d-none');
		return;
    }
	PICKUP.showCountDisplayPickupItem("#count-NewReport", PICKUP.countNewReportList )
	
}
/**
 * sort continuous work operation list
 * @param {*} operationList 
 * @returns 
 */
PICKUP.sortContinousWorkList = function(operationList) {
    let newOperationList = [];
	for (let i = 0; i < operationList.length; i++) {
		if (operationList[i].reportType === 3)
		{
		    if(typeof operationList[i].processList === 'undefined' ) continue;
		    if (operationList[i].processList && operationList[i].processList.length != 0)
		    {
		        for( let j = 0; j < operationList[i].processList.length; j++ )
		        {
		            if(typeof operationList[i].processList[j].phaseList === 'undefined' ) continue;
		            for(let g = 0; g < operationList[i].processList[j].phaseList.length; g++ )
		            {
		                if(operationList[i].processList[j].phaseList[g].phaseStatus != 999)
                        {
                            let item = {reportType: operationList[i].reportType,
										operationType: operationList[i].operationType,
                                        phaseList: operationList[i].processList[j].phaseList,
                                        processKey: operationList[i].processList[j].processKey,
                                        permitCodeRequiredFlg: operationList[i].permitCodeRequiredFlg,
                                        operationId: operationList[i].operationId,
                                        contentId: operationList[i].contentId,
                                        operationName: operationList[i].operationName,
                                        taskCode: operationList[i].processList[j].taskCode,
                                        taskKey: operationList[i].processList[j].taskKey,
                                        taskName: operationList[i].processList[j].taskName,
                                        updateDate: operationList[i].processList[j].phaseList[g].updateDate,
										phaseNo: operationList[i].processList[j].phaseList[g].phaseNo,
										phaseName: operationList[i].processList[j].phaseList[g].phaseName
                                        };
                            newOperationList.push(item);
                        }

		            }

		        }
		    }
		}
	}
	newOperationList = newOperationList.sort(function(a,b) {
		if (!a.updateDate) {
			a.updateDate = "1900-01-01 00:00:00";
		}
		if (!b.updateDate) {
			b.updateDate = "1900-01-01 00:00:00";
		}
		if (a.updateDate < b.updateDate) return 1;
		if (a.updateDate > b.updateDate) return -1;
		return 0;
	});
	//console.log("newOperationList: " + JSON.stringify(newOperationList));
	return newOperationList;
}

/**
 * Implement continous work html
 * @param {*} operationListOld 
 * @returns 
 */
PICKUP.createContinousWorkList = function(operationListOld) {
	if (typeof operationListOld === 'undefined' || operationListOld.length < 1) {
        PICKUP.showNotFoundPickupItem("#continousWork-list");
        $('#viewMenuContinuousWork').addClass('d-none');
        return;
    }

    let operationList = PICKUP.sortContinousWorkList(operationListOld);
    $('#viewMenuContinuousWork').removeClass('d-none');
    $("#continousWork-list").empty();

    PICKUP.countContinousWorkReport = 0;

	$('#continousWork-list').addClass('task-list view-content view-block');

    for (let i = 0; i < operationList.length; i++) {
		let directKey = operationList[i].processKey;
		if (operationList[i].operationType == PICKUP.OPERATION_TYPE.VTOUR || operationList[i].operationType == PICKUP.OPERATION_TYPE.PDF) {
			directKey = operationList[i].taskKey;
		}
		let messageli  = $("<li class='card mb-2' id = 'list_" + operationList[i].processKey + "$" + operationList[i].phaseNo +  "'></li>") ;
        
		let ahrefRequiredFlg ;
        if (operationList[i].permitCodeRequiredFlg == 1)
        {
            ahrefRequiredFlg =  $("<a href=\"javascript:CHK.displayAlert('onlyRfid');\" class='h-100 d-block px-3 py-2 text-decoration-none text-dark position-relative'></a>");
        }
        else
        {
            ahrefRequiredFlg =  $("<a href=\"javascript:PICKUP.sendReportFormFromContinuousWork ('" 
			+ operationList[i].operationId +"','" + operationList[i].taskKey + "','" + operationList[i].processKey + "'," + operationList[i].phaseNo + ");\"  class='h-100 d-block px-3 py-2 text-decoration-none text-dark position-relative'></a>");
        }

		let divProccess = $("<div class='position-absolute translate-middle top-50 left-0 ml-3'><div class='type-icon'><span class='proccess'></span></div></div>");

		let divInfor = $("<div class='pl-5 h-100 d-flex align-items-center'></div>");
		let divChildInfor = $("<div class='w-100'></div>");
		let divOperationName = $("<div class='fs-8 bg-dark10 px-2 py-1 mr-2 rounded mb-1 w-fit-content text-truncate mw-100'>" + operationList[i].phaseName + "</div>");
       
		let divProcessName = $("<div class='fs-12 text-truncate'>" + operationList[i].operationName + "</div>");
		let divReportInfor = $("<div class='d-flex justify-content-between align-items-center'></div>");
		let divReportName = $("<div class='fs-10 text-truncate'>" + operationList[i].taskName + "</div>");
        let divReportCode = $("<div class='fs-8 text-secondary text-truncate'>" + operationList[i].taskCode + "</div>");
		
		divReportInfor.append(divReportName);
		divReportInfor.append(divReportCode);

		divChildInfor.append(divOperationName);
		divChildInfor.append(divProcessName);
		divChildInfor.append(divReportInfor);

		divInfor.append(divChildInfor);

		ahrefRequiredFlg.append(divProccess);
		ahrefRequiredFlg.append(divInfor);
		messageli.append(ahrefRequiredFlg);

        $("#continousWork-list").append(messageli);
        PICKUP.countContinousWorkReport = PICKUP.countContinousWorkReport + 1;
	}
	
	// show not found if 
	if (PICKUP.countContinousWorkReport == 0) {
        PICKUP.showNotFoundPickupItem("#continousWork-list");
		$('#viewMenuContinuousWork').addClass('d-none');
		return;
    }
	PICKUP.showCountDisplayPickupItem("#count-ContinuousWork", PICKUP.countContinousWorkReport )
};
/**
 * sort report with warnings list
 * @param {*} operationList 
 * @returns 
 */
PICKUP.sortWarningList = function(operationList) {
    let newOperationList = [];
	for (let i = 0; i < operationList.length; i++) {
		if(typeof operationList[i].warningReportList === 'undefined' ) continue;
		    if (operationList[i].warningReportList && operationList[i].warningReportList.length != 0)
		    {
		        for( let j = 0; j < operationList[i].warningReportList.length; j++ )
		        {
		            let item = {reportType: operationList[i].reportType,
						operationType: operationList[i].operationType,
						permitCodeRequiredFlg: operationList[i].permitCodeRequiredFlg,
						operationId: operationList[i].operationId,
						contentId: operationList[i].contentId,
						operationName: operationList[i].operationName,
						taskCode: operationList[i].warningReportList[j].taskCode,
						taskKey: operationList[i].warningReportList[j].taskKey,
						taskName: operationList[i].warningReportList[j].taskName,
						taskType: operationList[i].warningReportList[j].taskType,
						updateDate: operationList[i].warningReportList[j].updateDate,
						reportStartDateString: operationList[i].warningReportList[j].reportStartDateString,
						reportEndDateString: operationList[i].warningReportList[j].reportEndDateString,
						processKey: operationList[i].warningReportList[j].processKey,
						phaseNo: operationList[i].warningReportList[j].phaseNo,
						phaseName: operationList[i].warningReportList[j].phaseName
						};
					newOperationList.push(item);
		        }
		    }
	}
	newOperationList = newOperationList.sort(function(a,b) {
		if (!a.updateDate) {
			a.updateDate = "1900-01-01 00:00:00";
		}
		if (!b.updateDate) {
			b.updateDate = "1900-01-01 00:00:00";
		}
		if (a.updateDate < b.updateDate) return 1;
		if (a.updateDate > b.updateDate) return -1;
		return 0;
	});
	//console.log("newOperationList: " + JSON.stringify(newOperationList));
	return newOperationList;
}

/**
 * init Warning Report With ReportOnly Type
 * @param {*} report 
 * @returns 
 */
PICKUP.initWarningReportWithReportOnlyType = function(report) {
	let ele = $("<li class='card mb-2'>" 
				+ "<a href=\"javascript:PICKUP.sendReportFormFromWarningReport ('" 
				+ report.operationId +"'," + PICKUP.REPORT_TYPE.REPORTONLY + ",'" + report.taskKey + "', null,null,null);\"  class='h-100 d-block px-3 py-2 text-decoration-none text-dark position-relative'>"
				+ "<div class='position-absolute translate-middle top-50 left-0 ml-3'>"
				+ "<div class='type-icon'><span class='report'></span></div></div>"
				+ "<div class='pl-5 h-100 d-flex align-items-center'><div class='w-100'>"
				+ "<div class='fs-12 text-truncate'>" + report.operationName + "</div>"
				+ "<div class='d-flex justify-content-between align-items-center'>"
				+ "<div class='fs-10 text-truncate'>" + report.taskName+ "</div>"
				+ "<div class='fs-8 text-secondary text-truncate'> " + report.taskCode + "</div>"
				+ "</div></div></div></a></li>");
		return ele;
}

PICKUP.initWarningReportWithInspectType = function(report) {
	let ele = $("<li class='card mb-2'>"
				+ "<a href=\"javascript:PICKUP.sendReportFormFromWarningReport ('" 
				+ report.operationId +"'," + PICKUP.REPORT_TYPE.INSPECT + ",'" + report.taskKey + "', null,null,null);\"   class='h-100 d-block px-3 py-2 text-decoration-none text-dark position-relative'>"
				+ "<div class='position-absolute translate-middle top-50 left-0 ml-3'>"
				+ "<div class='type-icon'><span class='inspection'></span></div></div>"
				+ "<div class='pl-5 h-100 d-flex align-items-center'><div class='w-100'>"
				+ "<div class='fs-12 text-truncate'>" + report.operationName + "</div>"
				+ "<div class='d-flex justify-content-between align-items-center'>"
				+ "<div class='fs-10 text-truncate'></div>"
				+ "<div class='fs-8 text-secondary text-truncate'>" + PICKUP.getInspectDate(report.reportStartDateString) + " ～ " +  PICKUP.getInspectDate(report.reportEndDateString)
				+ "</div></div></div></div></a></li>");
		return ele;
}
/**
 * init Warning Report With AnswerReport Type
 * @param {*} report 
 * @param {*} reportTypeMsg 
 * @returns 
 */
PICKUP.initWarningReportWithAnswerReportType = function(report, reportTypeMsg) {
	let ele = $("<li class='card mb-2'>"
				+ "<a href=\"javascript:PICKUP.sendReportFormFromWarningReport ('" 
				+ report.operationId +"'," + PICKUP.REPORT_TYPE.WITHREPLY + ",null, null,null," + report.replyNo +");\" class='h-100 d-block px-3 py-2 text-decoration-none text-dark position-relative'>"
				+ "<div class='position-absolute translate-middle top-50 left-0 ml-3'><div class='type-icon'>"
				+ "<span class='questionary'></span></div></div><div class='pl-5 h-100 d-flex align-items-center'><div class='w-100'>"
				+ "<div class='fs-8 bg-dark10 px-2 py-1 mr-2 rounded mb-1 w-fit-content text-truncate mw-100'>" + reportTypeMsg + "</div>"
				+ "<div class='fs-12 text-truncate'>" + report.operationName + "</div>"
				+ "<div class='d-flex justify-content-between align-items-center'>"
				+ "<div class='fs-10 text-truncate'>" + report.taskName+ "</div>"
				+ "<div class='fs-8 text-secondary text-truncate'>" + report.taskCode+ "</div>"
				+ "</div></div></div></a></li>");
		return ele;
}

/**
 * init Warning Report With Continuous Report Type
 * @param {*} report 
 * @returns 
 */
PICKUP.initWarningReportWithContinuousReportType = function(report) {
	let directKey = report.processKey;
		if (report.operationType == PICKUP.OPERATION_TYPE.VTOUR || report.operationType == PICKUP.OPERATION_TYPE.PDF) {
			directKey = report.taskKey;
			if (report.phaseNo > 1) {
				//find taskKey of phaseNo 1
				for (let k = 0; k < operationList.length; k++) {
					if (operationList[k].phaseNo == 1 && operationList[k].processKey == report.processKey) {
						directKey = operationList[k].taskKey;
						break;
					}
				}
			}
		}
	let ele = $("<li class='card mb-2'>"
			+ "<a href=\"javascript:PICKUP.sendReportFormFromWarningReport ('" 
			+ report.operationId +"'," + PICKUP.REPORT_TYPE.WORKFLOW + ",null,'" + report.processKey +"' ,'"+ report.phaseNo +"',null);\"  class='h-100 d-block px-3 py-2 text-decoration-none text-dark position-relative'>"
			+ "<div class='position-absolute translate-middle top-50 left-0 ml-3'>"
			+ "<div class='type-icon'><span class='proccess'></span></div></div>"
			+ "<div class='pl-5 h-100 d-flex align-items-center'><div class='w-100'>"
			+ "<div class='fs-8 bg-dark10 px-2 py-1 mr-2 rounded mb-1 w-fit-content text-truncate mw-100'>" + report.phaseName + "</div>"
			+ "<div class='fs-12 text-truncate'>" + report.operationName + "</div>"
			+ "<div class='d-flex justify-content-between align-items-center'>"
			+ "<div class='fs-10 text-truncate'>" + report.taskName+ "</div>"
			+ "<div class='fs-8 text-secondary text-truncate'>" + report.taskCode+ "</div>"
			+ "</div></div></div></a></li>");
		return ele;
}
/**
 * create Report With Warnings List html
 * @param {*} operationListOld 
 * @returns 
 */
PICKUP.createReportWithWarningList = function(operationListOld) {
	    
    if (typeof operationListOld === 'undefined' || operationListOld.length < 1) {
        PICKUP.showNotFoundPickupItem("#reportWithWarnings-list");
        $('#viewMenuReportWithWarnings').addClass('d-none');
        return;
    }

	let operationList = PICKUP.sortWarningList(operationListOld);
	$('#viewMenuReportWithWarnings').removeClass('d-none');
	$("#reportWithWarnings-list").empty();
	PICKUP.countReportWithWarning = 0;

	$('#reportWithWarnings-list').addClass('task-list view-content view-block');

	const msgLevelReport =  I18N.i18nText('reportLevelReport');
	const msgLevelAnswer =  I18N.i18nText('reportLevelAnswer');
    for (let i = 0; i < operationList.length; i++) {
		let operationNameLi;
		switch (operationList[i].reportType)
			{
				case PICKUP.REPORT_TYPE.REPORTONLY:
					operationNameLi = PICKUP.initWarningReportWithReportOnlyType(operationList[i]);
					break;
				case PICKUP.REPORT_TYPE.INSPECT:
					operationNameLi = PICKUP.initWarningReportWithInspectType(operationList[i]);
					break;
				case PICKUP.REPORT_TYPE.WITHREPLY: // report answer
					if( operationList[i].taskType == PICKUP.REPLYREPORT_TASK_TYPE.REPORT )
					{
						operationNameLi = PICKUP.initWarningReportWithAnswerReportType(operationList[i], msgLevelReport);
					}
					else
					{
						operationNameLi = PICKUP.initWarningReportWithAnswerReportType(operationList[i], msgLevelAnswer);
					}
					break;
				case PICKUP.REPORT_TYPE.WORKFLOW: // continouswork
					operationNameLi = PICKUP.initWarningReportWithContinuousReportType(operationList[i]);
					break;

			}
			$("#reportWithWarnings-list").append(operationNameLi);
			PICKUP.countReportWithWarning = PICKUP.countReportWithWarning + 1;
	}
	// show not found if 
	if (PICKUP.countReportWithWarning == 0) {
        PICKUP.showNotFoundPickupItem("#reportWithWarnings-list");
		$('#viewMenuReportWithWarnings').addClass('d-none');
		return;
    }
	PICKUP.showCountDisplayPickupItem("#count-ReportWithWarnings", PICKUP.countReportWithWarning )
	
};

/**
 * get Inspect Date format
 * @param {*} dateString 
 * @returns 
 */
PICKUP.getInspectDate = function(dateString) {
	let date = new Date(dateString)
	return date.getFullYear() + "/" + ("0" + (date.getMonth() + 1)).slice(-2) + "/" + ("0" + date.getDate()).slice(-2) ;
}

/**
 * send data to open report form from New report pickup
 * @returns 
 */
 PICKUP.sendReportFormFromNewReport = function(operationId) {
	//Transition to the report form or operation list screen
    let params = {};
	params.sid = COMMON.getSid();
	params.operationId = operationId;
	let url =  CONSTANT.URL.CMS.BASE + ClientData.userInfo_accountPath() + CONSTANT.URL.CMS.HTML.BASE + CONSTANT.URL.CMS.HTML.LIST_REPORT_FORM + '/' + CONSTANT.REPLY_NO.REPORT;
    COMMON.postCommunication(url, params);
}

/**
 * send data to open report form of event click continuous work operation report
 * @returns 
 */
PICKUP.sendReportFormFromContinuousWork = function(operationId, taskKey, processKey,phaseNo) {
	//Transition to the report form or operation list screen
    let params = {};
	params.sid = COMMON.getSid();
	params.operationId = operationId;
	params.processKey = processKey;
	params.phaseNo = phaseNo;
	let url =  CONSTANT.URL.CMS.BASE + ClientData.userInfo_accountPath() + CONSTANT.URL.CMS.HTML.BASE + CONSTANT.URL.CMS.HTML.LIST_REPORT_FORM + '/' + CONSTANT.REPLY_NO.REPORT;
    COMMON.postCommunication(url, params);
}

/**
 * send data to open report form of event click warning operation report
 * @returns 
 */
 PICKUP.sendReportFormFromWarningReport = function(operationId,reportType, taskKey, processKey,phaseNo, replyNo) {
	//Transition to the report form or operation list screen
    let params = {};
	params.sid = COMMON.getSid();
	params.operationId = operationId;
	switch(reportType) {
		case PICKUP.REPORT_TYPE.REPORTONLY:
			params.taskKey = taskKey;
		  break;
		case PICKUP.REPORT_TYPE.INSPECT:
			params.taskKey = taskKey;
		  break;
		case PICKUP.REPORT_TYPE.WITHREPLY:
			params.replyNo = replyNo;
			break;
		case PICKUP.REPORT_TYPE.WORKFLOW:
			params.processKey = processKey;
			params.phaseNo = phaseNo;
			break;
	  }
	let url =  CONSTANT.URL.CMS.BASE + ClientData.userInfo_accountPath() + CONSTANT.URL.CMS.HTML.BASE + CONSTANT.URL.CMS.HTML.LIST_REPORT_FORM + '/' + CONSTANT.REPLY_NO.REPORT;
    COMMON.postCommunication(url, params);
}
