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 ContractFieldService {

    /**
     * 添加修改合同字段
     *
     * @param contract 合同字段信息
     */
    void saveContractField(ContractFieldVO contract);

    /**
     * 删除合同字段
     *
     * @param contract 合同字段信息
     */
    void deleteContractField(ContractFieldVO contract);

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

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

    List<ContractFieldDTO> getContractFieldBySl(ContractFieldDTO info);

    void changeShow(ContractFieldVO info);

    void changeInput(ContractFieldVO info);

    void changeDefaultValue(ContractFieldVO info);
}
