package cn.ey.biz.module.system.service.contract;

import cn.ey.biz.common.pojo.PageParam;
import cn.ey.biz.common.pojo.PageResult;
import cn.ey.biz.module.system.api.contract.dto.ContractFieldDTO;
import cn.ey.biz.module.system.controller.admin.contract.v2.vo.ContractFieldVO;

import java.util.List;

public interface ContractArchivedFieldService {

    /**
     * 添加修改合同归档字段
     *
     * @param field 合同归档字段信息
     */
    void saveContractArchivedField(ContractFieldVO field);

    /**
     * 删除合同归档字段
     *
     * @param field 合同归档字段信息
     */
    void deleteContractArchivedField(ContractFieldVO field);

    /**
     * 分页获取合同归档字段
     *
     * @param pageParam 分页信息
     * @return 合同归档字段
     */
    PageResult<ContractFieldVO> getContractArchivedFieldByPage(PageParam pageParam);

    /**
     * 分页获取合同业务线归档字段
     *
     * @param info 分页信息
     * @return 合同归档字段
     */
    PageResult<ContractFieldVO> getContractArchivedFieldPageBySl(ContractFieldVO info);

    List<ContractFieldDTO> getContractArchivedFieldBySl(ContractFieldDTO info);

    void changeShow(ContractFieldVO info);

    void changeInput(ContractFieldVO info);

    void changeDefaultValue(ContractFieldVO info);
}
