|
@@ -3,6 +3,7 @@ package fms
|
|
|
import (
|
|
|
"fmt"
|
|
|
"github.com/shopspring/decimal"
|
|
|
+ "hongze/fms_api/models/crm"
|
|
|
"hongze/fms_api/models/fms"
|
|
|
"hongze/fms_api/services/alarm_msg"
|
|
|
"hongze/fms_api/utils"
|
|
@@ -176,51 +177,99 @@ func SummaryInvoicePaymentByContractRegisterId(registerId int) {
|
|
|
err = fmt.Errorf("获取开票到款列表失败, Err: %s", e.Error())
|
|
|
return
|
|
|
}
|
|
|
- invoiceIds := make([]int, 0)
|
|
|
- paymentIds := make([]int, 0)
|
|
|
+ ficcInvoiceIds := make([]int, 0)
|
|
|
+ ficcPaymentIds := make([]int, 0)
|
|
|
+ raiInvoiceIds := make([]int, 0)
|
|
|
+ raiPaymentIds := make([]int, 0)
|
|
|
for i := range list {
|
|
|
if list[i].InvoiceType == fms.ContractInvoiceTypeMake {
|
|
|
- invoiceIds = append(invoiceIds, list[i].ContractInvoiceId)
|
|
|
+ if list[i].ServiceProductId == crm.CompanyProductFicc {
|
|
|
+ ficcInvoiceIds = append(ficcInvoiceIds, list[i].ContractInvoiceId)
|
|
|
+ }else if list[i].ServiceProductId == crm.CompanyProductRai {
|
|
|
+ raiInvoiceIds = append(raiInvoiceIds, list[i].ContractInvoiceId)
|
|
|
+ }
|
|
|
continue
|
|
|
}
|
|
|
if list[i].InvoiceType == fms.ContractInvoiceTypePay {
|
|
|
- paymentIds = append(paymentIds, list[i].ContractInvoiceId)
|
|
|
+ if list[i].ServiceProductId == crm.CompanyProductFicc {
|
|
|
+ ficcPaymentIds = append(ficcPaymentIds, list[i].ContractInvoiceId)
|
|
|
+ }else if list[i].ServiceProductId == crm.CompanyProductRai {
|
|
|
+ raiPaymentIds = append(raiPaymentIds, list[i].ContractInvoiceId)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- invoiceLen := len(invoiceIds)
|
|
|
- paymentLen := len(paymentIds)
|
|
|
+ ficcInvoiceLen := len(ficcInvoiceIds)
|
|
|
+ raiInvoiceLen := len(raiInvoiceIds)
|
|
|
+ ficcPaymentLen := len(ficcPaymentIds)
|
|
|
+ raiPaymentLen := len(raiPaymentIds)
|
|
|
|
|
|
// 汇总数据
|
|
|
nowTime := time.Now().Local()
|
|
|
summaryList := make([]*fms.InvoicePaymentSummary, 0)
|
|
|
- if invoiceLen >= paymentLen {
|
|
|
- for i := range invoiceIds {
|
|
|
+ // ficc
|
|
|
+ if ficcInvoiceLen >= ficcPaymentLen {
|
|
|
+ for i := range ficcInvoiceIds {
|
|
|
v := new(fms.InvoicePaymentSummary)
|
|
|
v.RegisterId = registerId
|
|
|
- v.InvoiceId = invoiceIds[i]
|
|
|
+ v.InvoiceId = ficcInvoiceIds[i]
|
|
|
+ v.ServiceProductId = crm.CompanyProductFicc
|
|
|
v.CreateTime = nowTime
|
|
|
v.ModifyTime = nowTime
|
|
|
// 取对应key的到款ID
|
|
|
- if i+1 <= paymentLen {
|
|
|
- v.PaymentId = paymentIds[i]
|
|
|
+ if i+1 <= ficcPaymentLen {
|
|
|
+ v.PaymentId = ficcPaymentIds[i]
|
|
|
}
|
|
|
summaryList = append(summaryList, v)
|
|
|
}
|
|
|
}
|
|
|
- if paymentLen > invoiceLen {
|
|
|
- for i := range paymentIds {
|
|
|
+ if ficcPaymentLen > ficcInvoiceLen {
|
|
|
+ for i := range ficcPaymentIds {
|
|
|
v := new(fms.InvoicePaymentSummary)
|
|
|
v.RegisterId = registerId
|
|
|
- v.PaymentId = paymentIds[i]
|
|
|
+ v.PaymentId = ficcPaymentIds[i]
|
|
|
+ v.ServiceProductId = crm.CompanyProductFicc
|
|
|
v.CreateTime = nowTime
|
|
|
v.ModifyTime = nowTime
|
|
|
// 取对应key的开票ID
|
|
|
- if i+1 <= invoiceLen {
|
|
|
- v.InvoiceId = invoiceIds[i]
|
|
|
+ if i+1 <= ficcInvoiceLen {
|
|
|
+ v.InvoiceId = ficcInvoiceIds[i]
|
|
|
+ }
|
|
|
+ summaryList = append(summaryList, v)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // rai
|
|
|
+ if raiInvoiceLen >= raiPaymentLen {
|
|
|
+ for i := range raiInvoiceIds {
|
|
|
+ v := new(fms.InvoicePaymentSummary)
|
|
|
+ v.RegisterId = registerId
|
|
|
+ v.InvoiceId = raiInvoiceIds[i]
|
|
|
+ v.ServiceProductId = crm.CompanyProductRai
|
|
|
+ v.CreateTime = nowTime
|
|
|
+ v.ModifyTime = nowTime
|
|
|
+ // 取对应key的到款ID
|
|
|
+ if i+1 <= raiPaymentLen {
|
|
|
+ v.PaymentId = raiPaymentIds[i]
|
|
|
}
|
|
|
summaryList = append(summaryList, v)
|
|
|
}
|
|
|
}
|
|
|
+ if raiPaymentLen > raiInvoiceLen {
|
|
|
+ for i := range raiPaymentIds {
|
|
|
+ v := new(fms.InvoicePaymentSummary)
|
|
|
+ v.RegisterId = registerId
|
|
|
+ v.PaymentId = raiPaymentIds[i]
|
|
|
+ v.ServiceProductId = crm.CompanyProductRai
|
|
|
+ v.CreateTime = nowTime
|
|
|
+ v.ModifyTime = nowTime
|
|
|
+ // 取对应key的开票ID
|
|
|
+ if i+1 <= raiInvoiceLen {
|
|
|
+ v.InvoiceId = raiInvoiceIds[i]
|
|
|
+ }
|
|
|
+ summaryList = append(summaryList, v)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
// 删除并新增汇总数据
|
|
|
summaryOB := new(fms.InvoicePaymentSummary)
|