package com.bankaudit.service;

import java.util.List;

import com.bankaudit.dto.DataTableResponse;
import com.bankaudit.dto.SequenceDto;
import com.bankaudit.model.MaintReportSequenceProcess;

public interface MaintReportSequenceProcessService {

	void saveChapter(List<MaintReportSequenceProcess> maintReportSequenceProcesslist) throws Exception;

	void updateChapter(List<MaintReportSequenceProcess> maintReportSequenceProcesslist) throws Exception;

	void saveSection(List<MaintReportSequenceProcess> maintReportSequenceProcesslist) throws Exception;

	void updateSection(List<MaintReportSequenceProcess> maintReportSequenceProcesslist);

	void saveProduct(List<MaintReportSequenceProcess> maintReportSequenceProcesslist)throws Exception;

	void updateProduct(List<MaintReportSequenceProcess> maintReportSequenceProcesslist);

	void saveProcess(List<MaintReportSequenceProcess> maintReportSequenceProcesslist)throws Exception;

	void updateProcess(List<MaintReportSequenceProcess> maintReportSequenceProcesslist);

	void saveCheckList(List<MaintReportSequenceProcess> maintReportSequenceProcesslist)throws Exception;

	void updateCheckList(List<MaintReportSequenceProcess> maintReportSequenceProcesslist);

	public List<SequenceDto> getMaintReportSequenceProcessMappingValues(String legalEntityCode, String auditTypeCode,
			String auditGroupCode, String auditSubGroupCode, String activityId, String processId,
			String findingId,String createOrUpdate, String maker);

	DataTableResponse getMaintReportSequenceProcess(Integer legalEntityCode, String search, Integer orderColumn, String orderDirection, Integer page,
			Integer size, String auditTypeCode);

	void deleteRejectedMaintReportSequenceProcessByAuditGroupCode(Integer legalEntityCode, String auditTypeCode, String auditGroupCode);

	List<String> getActivityProcessFindingMappingValues(String legalEntityCode, String auditTypeCode, String auditGroupCode, String auditSubGroupCode,
			String activityId, String processId, String findingId, String createOrUpdate);

	boolean getDraftMaintReportSequenceProcess(Integer legalEntityCode, String auditTypeCode, String status);

	void initiateMaintReportSequenceProcess(Integer legalEntityCode, String auditTypeCode, String maker);

	void authoriseMaintReportSequenceProcess(Integer legalEntityCode, String auditTypeCode, String checker, String remarks);

}
