|
@@ -450,6 +450,47 @@ func GetContractSummaryPaymentIncomeAmountPage(condition string, pars []interfac
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+// GetContractSummaryIncomeAmountPage 获取汇总金额合计信息-开票到款收入统计
|
|
|
+func GetContractSummaryIncomeAmountPage(condition string, pars []interface{}, page *base.Page) (results []*IncomeSummaryItem, count int64, err error) {
|
|
|
+ query := global.DEFAULT_MYSQL.Table("invoice_payment_summary AS a").
|
|
|
+ Select("IF(a.invoice_id=0,d.amount, b.amount) AS amount,"+
|
|
|
+ "IF(a.invoice_id=0,d.origin_amount, b.origin_amount) AS origin_amount,"+
|
|
|
+ "IF(a.invoice_id=0,d.invoice_time, b.invoice_time) AS invoice_date,"+
|
|
|
+ "IF(a.invoice_id=0,d.currency_unit, b.currency_unit) AS currency_unit,"+
|
|
|
+ " c.contract_type,c.company_name,"+
|
|
|
+ "IF(a.invoice_id=0,d.seller_name, b.seller_name) AS seller_name,"+
|
|
|
+ "IF(a.invoice_id=0,d.seller_id, b.seller_id) AS final_seller_id,"+
|
|
|
+ "IF(a.invoice_id=0,d.seller_group_id, b.seller_group_id) AS seller_group_id").
|
|
|
+ Joins("LEFT JOIN contract_invoice AS b ON a.invoice_id = b.contract_invoice_id AND b.is_deleted = 0 ").
|
|
|
+ Joins("LEFT JOIN contract_invoice AS d ON a.payment_id = d.contract_invoice_id AND d.is_deleted = 0").
|
|
|
+ Joins("JOIN contract_register AS c ON a.register_id = c.contract_register_id AND c.is_deleted = 0").
|
|
|
+ Where(condition, pars...).Group("id")
|
|
|
+ //nq := global.DEFAULT_MYSQL.Table("(?) AS e", query).
|
|
|
+ // Select(" IFNULL( SUM( e.amount ), 0 ) ")
|
|
|
+ query.Count(&count)
|
|
|
+
|
|
|
+ query = global.DEFAULT_MYSQL.Table("invoice_payment_summary AS a").
|
|
|
+ Select("IF(a.invoice_id=0,d.amount, b.amount) AS amount,"+
|
|
|
+ "IF(a.invoice_id=0,d.origin_amount, b.origin_amount) AS origin_amount,"+
|
|
|
+ "IF(a.invoice_id=0,d.invoice_time, b.invoice_time) AS invoice_date,"+
|
|
|
+ "IF(a.invoice_id=0,d.currency_unit, b.currency_unit) AS currency_unit,"+
|
|
|
+ " c.contract_type,c.company_name,"+
|
|
|
+ "IF(a.invoice_id=0,d.seller_name, b.seller_name) AS seller_name,"+
|
|
|
+ "IF(a.invoice_id=0,d.seller_id, b.seller_id) AS final_seller_id,"+
|
|
|
+ "IF(a.invoice_id=0,d.seller_group_id, b.seller_group_id) AS seller_group_id,"+
|
|
|
+ "GROUP_CONCAT(s.title) AS services_name ").
|
|
|
+ Joins("LEFT JOIN contract_invoice AS b ON a.invoice_id = b.contract_invoice_id AND b.is_deleted = 0 ").
|
|
|
+ Joins("LEFT JOIN contract_invoice AS d ON a.payment_id = d.contract_invoice_id AND d.is_deleted = 0").
|
|
|
+ Joins("JOIN contract_register AS c ON a.register_id = c.contract_register_id AND c.is_deleted = 0").
|
|
|
+ Joins("LEFT JOIN contract_service AS s ON s.contract_register_id = c.contract_register_id").
|
|
|
+ Where(condition, pars...).Group("id")
|
|
|
+ if len(page.GetOrderItemsString()) > 0 {
|
|
|
+ query = query.Order(page.GetOrderItemsString())
|
|
|
+ }
|
|
|
+ err = query.Limit(int(page.GetPageSize())).Offset(int(page.Offset())).Find(&results).Error
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
// GetPaymentCensusSummaryDataIds 获取商品到款统计列表-汇总数据IDs
|
|
|
func GetPaymentCensusSummaryDataIds(condition string, pars []interface{}) (summaryIds []int, err error) {
|
|
|
query := global.DEFAULT_MYSQL.Table("invoice_payment_summary AS a").
|