|
@@ -60,21 +60,24 @@ func (rg *ContractController) SearchList(c *gin.Context) {
|
|
|
}
|
|
|
|
|
|
// 获取代付合同实际使用方
|
|
|
- peyContractIds := make([]int, 0)
|
|
|
+ businessContractIds := make([]int, 0)
|
|
|
+ payContractIds := make([]int, 0)
|
|
|
for i := range list {
|
|
|
if list[i].ContractBusinessType == crm.ContractTypePayment {
|
|
|
- peyContractIds = append(peyContractIds, list[i].ContractId)
|
|
|
+ payContractIds = append(payContractIds, list[i].ContractId)
|
|
|
+ } else {
|
|
|
+ businessContractIds = append(businessContractIds, list[i].ContractId)
|
|
|
}
|
|
|
}
|
|
|
payCompanyMap := make(map[int]string, 0) // 代付合同实际使用方
|
|
|
payContractCodeMap := make(map[int]string, 0) // 代付合同实际使用方合同编号
|
|
|
- if len(peyContractIds) > 0 {
|
|
|
+ if len(payContractIds) > 0 {
|
|
|
payCond := `a.status IN ('已签回', '已审批') AND b.payment_on_behalf_contract_id IN ?`
|
|
|
payPars := make([]interface{}, 0)
|
|
|
- payPars = append(payPars, peyContractIds)
|
|
|
+ payPars = append(payPars, payContractIds)
|
|
|
payList, e := crm.GetPayCompanyByContractIds(payCond, payPars)
|
|
|
if e != nil {
|
|
|
- resp.FailMsg("获取失败", "获取代付合同信息失败, Err: "+e.Error(), c)
|
|
|
+ resp.FailMsg("获取失败", "获取代付合同实际使用方信息失败, Err: "+e.Error(), c)
|
|
|
return
|
|
|
}
|
|
|
for i := range payList {
|
|
@@ -82,6 +85,21 @@ func (rg *ContractController) SearchList(c *gin.Context) {
|
|
|
payContractCodeMap[payList[i].PaymentOnBehalfContractId] = payList[i].ContractCode
|
|
|
}
|
|
|
}
|
|
|
+ // 获取业务合同的所有代付方信息
|
|
|
+ businessPayMap := make(map[int]string, 0)
|
|
|
+ if len(businessContractIds) > 0 {
|
|
|
+ businessCond := `b.status IN ('已签回', '已审批') AND a.contract_id IN ?`
|
|
|
+ businessPars := make([]interface{}, 0)
|
|
|
+ businessPars = append(businessPars, businessContractIds)
|
|
|
+ businessPayCompanies, e := crm.GetContractActualPayCompaniesByContractIds(businessCond, businessPars)
|
|
|
+ if e != nil {
|
|
|
+ resp.FailMsg("获取失败", "获取业务合同代付方信息失败, Err: "+e.Error(), c)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for i := range businessPayCompanies {
|
|
|
+ businessPayMap[businessPayCompanies[i].ContractId] = businessPayCompanies[i].ActualPayCompanies
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
respList := make([]*crm.ContractSearchListResp, 0)
|
|
|
for i := range list {
|
|
@@ -107,6 +125,7 @@ func (rg *ContractController) SearchList(c *gin.Context) {
|
|
|
Price: list[i].Price,
|
|
|
StartDate: utils.TimeTransferString(utils.FormatDate, list[i].StartDate),
|
|
|
EndDate: utils.TimeTransferString(utils.FormatDate, list[i].EndDate),
|
|
|
+ ActualPayCompanies: businessPayMap[list[i].ContractId],
|
|
|
}
|
|
|
if list[i].ContractBusinessType == crm.ContractTypePayment {
|
|
|
respItem.ContractBusinessTypeInt = 2
|