package com.goafanti.organization.service;

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

import javax.servlet.http.HttpServletResponse;

import com.goafanti.common.bo.Result;
import com.goafanti.common.model.CompanyLibrary;
import com.goafanti.common.model.OfficialFeePrice;
import com.goafanti.common.model.PatentPrice;
import com.goafanti.common.model.PaymentLog;
import com.goafanti.common.model.SoftWritingPrice;
import com.goafanti.common.model.TOrderPayment;
import com.goafanti.common.model.ThirdPartyCompany;
import com.goafanti.core.mybatis.page.Pagination;
import com.goafanti.organization.bo.InputNodeList;
import com.goafanti.organization.bo.InputPaymentList;
import com.goafanti.organization.bo.InputPaymentNode;
import com.goafanti.organization.bo.InuptFinancialPayment;
import com.goafanti.organization.bo.OutPaymentLog;
import com.goafanti.organization.bo.OutPaymentNode;
import com.goafanti.organization.bo.OutThirdPartyCompany;
import com.goafanti.organization.bo.outFinancialPayment;
import com.goafanti.organization.bo.outNodeList;
import com.goafanti.organization.bo.outPaymentList;
import com.goafanti.organization.bo.outOrderPayment;

public interface ThirdPartyCompanyService {

	int addCompany(ThirdPartyCompany t, Integer calculation, Integer type);

	List<CompanyLibrary> selectVague(String name, Integer type);

	int updateCompany(ThirdPartyCompany t, Integer calculation);

	int addPaymentNode(InputPaymentNode p);

	int updatePaymentNode(InputPaymentNode p);

	List<OutThirdPartyCompany> selectCompany(Integer tid);

	List<OutPaymentNode> selectPaymentNode(Integer tid);

	int deleteCompany(String id);

	int deletePaymentNode(String id);

	int addOrderPayment(TOrderPayment p);

	outOrderPayment OrderPaymentDetails(Integer id);

	int updateOrderPayment(TOrderPayment p);

	List<outOrderPayment> selectOrderPayment(Integer id);

	List<OutPaymentLog> selectPaymentLog(Integer id);

	int addfinancialPayment(InuptFinancialPayment f);

	List<outFinancialPayment> selectfinancialPayment(Integer id);

	int checkPayment(TOrderPayment p);

	boolean checkprojectDun(TOrderPayment p);

	Pagination<outPaymentList> selectPaymentList(InputPaymentList i);

	Pagination<outNodeList> selectPaymentList(InputNodeList i);

	int insertSoftWritingPrice(SoftWritingPrice s);

	int updateSoftWritingPrice(SoftWritingPrice s);

	Pagination<SoftWritingPrice> listSoftWritingPrice(SoftWritingPrice s, Integer pageNo, Integer pageSize);

	int deleteSoftWritingPrice(Integer id);

	Integer pushSelectByCid(String companyName, int i);

	boolean checkSoftWritingPrice(SoftWritingPrice s);

	Map<String ,Object> updateGroupPayment(String ids);

	int addOfficialFeePrice(OfficialFeePrice o);

	int updateOfficialFeePrice(OfficialFeePrice o);

	int deleteOfficialFeePrice(Integer id);

	Pagination<OfficialFeePrice>  listOfficialFeePrice(Integer type, Integer patentType, Integer pageSize, Integer pageNo);

	int deleteFinancialPayment(Integer id);

	boolean addNodeCheck(InputPaymentNode p);

	void calculationUnitPrice(ThirdPartyCompany t);

	int addpatentPrice(PatentPrice p);

	int updatepatentPrice(PatentPrice p);

	int deletepatentPrice(Integer id);

	List<PatentPrice> listpatentPrice(String name);

	void calculationPatentUnitPrice(ThirdPartyCompany t);

	boolean addCompanyChekeNumber(ThirdPartyCompany t);

	void checkGetAmount(TOrderPayment p);

	Result exportPaymentList(HttpServletResponse response, InputPaymentList ip, Integer type);

	boolean checkOfficialFeePrice(OfficialFeePrice o);

	int pushPaymentExamine(PaymentLog in, String pids);

	boolean checkQuantity(TOrderPayment p);

	Map<String, Object> checkThirdParty(Integer id);


	Object checkNode(Integer id);

	Object updateCheck(Integer id, Integer type);




	




}
