package com.goafanti.contract.service;

import java.util.List;

import com.goafanti.common.model.Contract;
import com.goafanti.contract.bo.ContractClientListBo;
import com.goafanti.contract.bo.ContractDetail;
import com.goafanti.contract.bo.ContractManageListBo;
import com.goafanti.contract.bo.ContractSerialNumber;
import com.goafanti.core.mybatis.page.Pagination;

public interface ContractService {

	Pagination<ContractManageListBo> getManageList(String contractId, Integer serialNumber, Integer type,
			Integer status, String startDateFormattedDate, String endDateFormattedDate, Integer province,
			String unitName, String uid, Integer pNo, Integer pSize);

	Contract saveManageContract(Contract c);

	int updateContractByManage(Contract contract);

	void insertManageSubmit(Contract c, String[] principals, String signDateFormattedDate);

	ContractDetail selectContractDetail(String id);

	Contract selectByPrimaryKey(String id);

	int updateByPrimaryKeySelective(Contract contract);

	void updateSubmit(Contract c, String[] principals, String signDateFormattedDate);

	List<ContractSerialNumber> selectContractSerialNumber();

	int deleteByPrimaryKey(List<String> asList);

	Pagination<ContractClientListBo> getClientList(String contractId, Integer serialNumber, Integer type,
			Integer status, String startDateFormattedDate, String endDateFormattedDate, String completeStartDate,
			String completeEndDate, Integer pNo, Integer pSize);

	Contract saveContract(Contract c);

	Contract findByUidAndYear(String uid, Integer year);

	Contract findLatelyRecordByUid(String uid);

}
