package contract_relation import ( "github.com/beego/beego/v2/client/orm" "hongze/hongze_mobile_admin/models/custom/contract" ) // ContractRelation 合同关系表结构体 type ContractRelation struct { ContractId int `description:"业务合同id"` PaymentOnBehalfContractId int `description:"代付合同id"` } type RelationContractList struct { ContractId int `description:"合同id"` CompanyName string `description:"甲方名称"` PaymentOnBehalfContractId int `description:"代付合同id"` Price float64 `description:"付款金额"` Service []*contract.ContractServiceAndDetail //ContractId int `description:"合同id"` } // GetContractRelationListByRelationContractIds 根据业务合同id集合获取对应的业务合同基础信息 func GetContractRelationListByRelationContractIds(contractIdStr string) (list []*RelationContractList, err error) { o := orm.NewOrm() sql := `select b.contract_id,a.company_name,b.payment_on_behalf_contract_id from contract a join contract_relation b on a.contract_id=b.payment_on_behalf_contract_id where a.status in ("已签回","已审批") AND a.is_delete = 0 AND b.contract_id in (` + contractIdStr + `) order by a.contract_id asc` _, err = o.Raw(sql).QueryRows(&list) return } // GetContractRelationListByPaymentOnBehalfContractIds 根据代付合同id集合获取对应的代付合同基础信息 func GetContractRelationListByPaymentOnBehalfContractIds(contractIdStr string) (list []*RelationContractList, err error) { o := orm.NewOrm() sql := `select a.contract_id,a.company_name,b.payment_on_behalf_contract_id from contract a join contract_relation b on a.contract_id=b.contract_id where a.status in ("已签回","已审批") AND a.is_delete = 0 AND b.payment_on_behalf_contract_id in (` + contractIdStr + `) order by a.contract_id asc` _, err = o.Raw(sql).QueryRows(&list) return } // GetContractRelationListByRelationContractId 根据业务合同id获取对应的代付合同基础信息 func GetContractRelationListByRelationContractId(contractId int) (list []*RelationContractList, err error) { o := orm.NewOrm() sql := `select b.contract_id,a.company_name,b.payment_on_behalf_contract_id from contract a join contract_relation b on a.contract_id=b.payment_on_behalf_contract_id where a.status in ("已签回","已审批") AND a.is_delete = 0 AND b.contract_id =? order by a.contract_id asc` _, err = o.Raw(sql, contractId).QueryRows(&list) return } // GetContractRelationListByPaymentOnBehalfContractId 根据代付合同id获取对应的代付合同基础信息 func GetContractRelationListByPaymentOnBehalfContractId(contractId int) (list []*RelationContractList, err error) { o := orm.NewOrm() sql := `select a.contract_id,a.company_name,b.payment_on_behalf_contract_id from contract a join contract_relation b on a.contract_id=b.contract_id where a.status in ("已签回","已审批") AND a.is_delete = 0 AND b.payment_on_behalf_contract_id =? order by a.contract_id asc` _, err = o.Raw(sql, contractId).QueryRows(&list) return } // GetContractRelationListByContractId 根据业务合同id获取已经给他代付过的合同列表 func GetContractRelationListByContractId(contractId int) (list []*RelationContractList, err error) { o := orm.NewOrm() sql := `select b.contract_id,a.company_name,b.payment_on_behalf_contract_id,a.price from contract a join contract_relation b on a.contract_id=b.payment_on_behalf_contract_id where a.status in ("已签回","已审批","待审批") AND a.is_delete = 0 AND b.contract_id =? order by a.contract_id asc` _, err = o.Raw(sql, contractId).QueryRows(&list) return }