package com.iamberry.rst.faces.approval;

import com.iamberry.rst.core.approval.*;
import com.iamberry.rst.core.cm.CustomerInfo;
import com.iamberry.rst.core.page.PagedResult;

import java.util.List;
import java.util.Map;

/**
 *  提货项信息接口
 * @author
 * @Date 2018-09-19
 */
public interface ApprovalOrderService {
    /**
     * 新增审批信息
     * @return
     */
    Integer insertApprovalInfo(ApprovalInfo approvalInfo);
    /**
     * 新增生产审批信息
     * @return
     */
    Boolean insertApprovalProduction(ApprovalProduction approvalProduction,List<ApprovalProductionItem> listApprovalProductionItem, List<ApprovalProductionContract> productionContracts,Map<String, Object> tasknfo);
    /**
     * 新增生产审批信息产品
     * @return
     */
    Integer insertItem(List<ApprovalProductionItem> listApprovalProductionItem);
    /**
     * 新增生产审批合同信息
     * @return
     */
    Integer insertProductionContract(ApprovalProductionContract approvalProductionContract);
    /**
     * 新增流程信息
     * @return
     */
    Integer insertProcessInfo(ProcessInfo processInfo);
    /**
     * 新增历史审批记录
     * @return
     */
    Integer insertHistoricalRecord(HistoricalRecord historicalRecord);
    /**
     * 查询审批信息列表
     * @return
     */
    PagedResult<ApprovalInfo> listApprovalInfo(int pageNO, int pageSize, ApprovalInfo approvalInfo, boolean isTotalNum);
    /**
     * 修改历史记录审核状态
     * @return
     */
    Integer updateHistoricalRecord(HistoricalRecord historicalRecord);
    /**
     * 查询单个审核历史记录
     * @return
     */
    HistoricalRecord getHistoricalRecord(HistoricalRecord historicalRecord);
    /**
     * 查询审核历史记录
     * @return
     */
    List<ProcessInfo> listProcessInfo(ProcessInfo processInfo);
    /**
     * 修改审批信息
     * @return
     */
    Integer updateApprovalInfo(ApprovalInfo approvalInfo);
}