|
@@ -431,9 +431,11 @@ func ExportInvoicePaymentCensusList(c *gin.Context, results *fms.InvoicePaymentC
|
|
|
// @Param StartDate query string false "合同开始日期"
|
|
|
// @Param EndDate query string false "合同结束日期"
|
|
|
// @Param TimeType query int false "时间类型: 1-开票时间; 2-到款时间"
|
|
|
-// @Param HasInvoice query int false "是否已开票: 0-否; 1-是"
|
|
|
-// @Param HasPayment query int false "是否已到款: 0-否; 1-是"
|
|
|
+// @Param HasInvoice query string false "是否已开票: 0-否; 1-是; 空-全部"
|
|
|
+// @Param HasPayment query string false "是否已到款: 0-否; 1-是; 空-全部"
|
|
|
// @Param IsExport query int false "是否导出: 0-否; 1-是"
|
|
|
+// @Param SortParam query string false "排序字段参数,用来排序的字段, 枚举值:'invoice_time':开票日 、 'payment_date':到款日"
|
|
|
+// @Param SortType query string true "如何排序,是正序还是倒序,枚举值:`asc 正序`,`desc 倒叙`"
|
|
|
// @Success 200 {object} fms.ContractRegisterItem
|
|
|
// @router /census/invoice_payment/list [get]
|
|
|
func (ct *InvoicePaymentController) List(c *gin.Context) {
|
|
@@ -477,45 +479,84 @@ func (ct *InvoicePaymentController) List(c *gin.Context) {
|
|
|
}
|
|
|
}
|
|
|
// 开票到款日期
|
|
|
- if req.TimeType > 0 && req.StartDate != "" && req.EndDate != "" {
|
|
|
+ if req.StartDate != "" && req.EndDate != "" {
|
|
|
st := fmt.Sprint(req.StartDate, " 00:00:00")
|
|
|
ed := fmt.Sprint(req.EndDate, " 23:59:59")
|
|
|
- if req.TimeType == 1 {
|
|
|
- cond += ` AND (c.invoice_time BETWEEN ? AND ?)`
|
|
|
- }
|
|
|
- if req.TimeType == 2 {
|
|
|
- cond += ` AND (d.invoice_time BETWEEN ? AND ?)`
|
|
|
- }
|
|
|
- pars = append(pars, st, ed)
|
|
|
- }
|
|
|
- // 已开票未到款
|
|
|
- if req.HasInvoice == 1 && req.HasPayment == 0 {
|
|
|
- cond += ` AND a.invoice_id > 0 AND a.payment_id = 0 `
|
|
|
+ cond += ` AND ((c.invoice_time BETWEEN ? AND ?) or (d.invoice_time BETWEEN ? AND ?))`
|
|
|
+ pars = append(pars, st, ed, st, ed)
|
|
|
}
|
|
|
- // 已到款未开票
|
|
|
- if req.HasPayment == 1 && req.HasInvoice == 0 {
|
|
|
- cond += ` AND a.payment_id > 0 AND a.invoice_id = 0 `
|
|
|
+
|
|
|
+ if req.HasInvoice == "1" {
|
|
|
+ cond += ` AND a.invoice_id > 0 `
|
|
|
+ }else if req.HasInvoice == "0" {
|
|
|
+ cond += ` AND a.invoice_id = 0 `
|
|
|
}
|
|
|
- // 已开票且已到款
|
|
|
- if req.HasInvoice == 1 && req.HasPayment == 1 {
|
|
|
- cond += ` AND a.invoice_id > 0 AND a.payment_id > 0 `
|
|
|
+
|
|
|
+ if req.HasPayment == "1" {
|
|
|
+ cond += ` AND a.payment_id > 0 `
|
|
|
+ }else if req.HasPayment == "0" {
|
|
|
+ cond += ` AND a.payment_id = 0 `
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
page := new(base.Page)
|
|
|
page.SetPageSize(req.PageSize)
|
|
|
page.SetCurrent(req.Current)
|
|
|
- page.AddOrderItem(base.OrderItem{Column: "a.create_time", Asc: false})
|
|
|
+ //排序
|
|
|
+ if req.SortType == "" {
|
|
|
+ req.SortType = "desc"
|
|
|
+ }
|
|
|
+ if req.SortType != "desc" && req.SortType != "asc" {
|
|
|
+ resp.Fail("排序类型不正确", c)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if req.SortParam == "" {
|
|
|
+ page.AddOrderItem(base.OrderItem{Column: "sort_invoice_id", Asc: true})
|
|
|
+ page.AddOrderItem(base.OrderItem{Column: "sort_payment_id", Asc: false})
|
|
|
+ page.AddOrderItem(base.OrderItem{Column: "c.invoice_time", Asc: false})
|
|
|
+ page.AddOrderItem(base.OrderItem{Column: "c.amount", Asc: false})
|
|
|
+ page.AddOrderItem(base.OrderItem{Column: "a.create_time", Asc: false})
|
|
|
+ }else if req.SortParam == "invoice_time" {
|
|
|
+ if req.SortType == "asc" {
|
|
|
+ page.AddOrderItem(base.OrderItem{Column: "sort_invoice_id", Asc: false})
|
|
|
+ page.AddOrderItem(base.OrderItem{Column: "c.invoice_time", Asc: true})
|
|
|
+ page.AddOrderItem(base.OrderItem{Column: "c.amount", Asc: true})
|
|
|
+ page.AddOrderItem(base.OrderItem{Column: "a.create_time", Asc: true})
|
|
|
+ }else{
|
|
|
+ page.AddOrderItem(base.OrderItem{Column: "sort_invoice_id", Asc: true})
|
|
|
+ page.AddOrderItem(base.OrderItem{Column: "c.invoice_time", Asc: false})
|
|
|
+ page.AddOrderItem(base.OrderItem{Column: "c.amount", Asc: false})
|
|
|
+ page.AddOrderItem(base.OrderItem{Column: "a.create_time", Asc: false})
|
|
|
+ }
|
|
|
+ }else if req.SortParam == "payment_date" {
|
|
|
+ if req.SortType == "asc" {
|
|
|
+ page.AddOrderItem(base.OrderItem{Column: "sort_payment_id", Asc: false})
|
|
|
+ page.AddOrderItem(base.OrderItem{Column: "d.invoice_time", Asc: true})
|
|
|
+ page.AddOrderItem(base.OrderItem{Column: "d.amount", Asc: true})
|
|
|
+ page.AddOrderItem(base.OrderItem{Column: "a.create_time", Asc: true})
|
|
|
+ }else{
|
|
|
+ page.AddOrderItem(base.OrderItem{Column: "sort_payment_id", Asc: true})
|
|
|
+ page.AddOrderItem(base.OrderItem{Column: "d.invoice_time", Asc: false})
|
|
|
+ page.AddOrderItem(base.OrderItem{Column: "d.amount", Asc: false})
|
|
|
+ page.AddOrderItem(base.OrderItem{Column: "a.create_time", Asc: false})
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ resp.Fail("排序字段不正确", c)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
if req.IsExport == 1 {
|
|
|
page.SetPageSize(10000)
|
|
|
page.SetCurrent(1)
|
|
|
}
|
|
|
|
|
|
- registerList, registerIds, e := fms.GetInvoicePaymentCensusPageList(page, cond, pars)
|
|
|
+ registerList, total, e := fms.GetInvoicePaymentCensusPageList(page, cond, pars)
|
|
|
if e != nil {
|
|
|
resp.FailMsg("获取失败", "获取商品到款统计列表总数失败, Err: "+e.Error(), c)
|
|
|
return
|
|
|
}
|
|
|
- total := int64(len(registerIds))
|
|
|
queryRegisterIds := make([]int, 0)
|
|
|
for i := range registerList {
|
|
|
queryRegisterIds = append(queryRegisterIds, registerList[i].ContractRegisterId)
|
|
@@ -611,9 +652,6 @@ func (ct *InvoicePaymentController) List(c *gin.Context) {
|
|
|
summaryMap := make(map[int][]*fms.InvoicePaymentCensusInfo)
|
|
|
amountMap := make(map[string]*fms.ContractPaymentServiceAmount)
|
|
|
for i := range summaryList {
|
|
|
- if summaryMap[summaryList[i].RegisterId] == nil {
|
|
|
- summaryMap[summaryList[i].RegisterId] = make([]*fms.InvoicePaymentCensusInfo, 0)
|
|
|
- }
|
|
|
v := new(fms.InvoicePaymentCensusInfo)
|
|
|
v.InvoiceId = summaryList[i].InvoiceId
|
|
|
v.InvoiceDate = utils.TimeTransferString(utils.FormatDate, summaryList[i].InvoiceDate)
|
|
@@ -656,19 +694,20 @@ func (ct *InvoicePaymentController) List(c *gin.Context) {
|
|
|
}
|
|
|
v.ServiceAmountList = svaList
|
|
|
|
|
|
- summaryMap[summaryList[i].RegisterId] = append(summaryMap[summaryList[i].RegisterId], v)
|
|
|
+ summaryMap[summaryList[i].SummaryId] = append(summaryMap[summaryList[i].SummaryId], v)
|
|
|
}
|
|
|
|
|
|
// 响应列表
|
|
|
for i := range registerList {
|
|
|
v := new(fms.InvoicePaymentCensusItem)
|
|
|
+ v.SummaryId = registerList[i].SummaryId
|
|
|
v.ContractRegisterId = registerList[i].ContractRegisterId
|
|
|
v.CompanyName = registerList[i].CompanyName
|
|
|
v.NewCompany = registerList[i].NewCompany
|
|
|
v.StartDate = utils.TimeTransferString(utils.FormatDate, registerList[i].StartDate)
|
|
|
v.EndDate = utils.TimeTransferString(utils.FormatDate, registerList[i].EndDate)
|
|
|
v.ServicesName = servicesNameMap[registerList[i].ContractRegisterId]
|
|
|
- v.InvoicePaymentList = summaryMap[registerList[i].ContractRegisterId]
|
|
|
+ v.InvoicePaymentList = summaryMap[registerList[i].SummaryId]
|
|
|
respList = append(respList, v)
|
|
|
}
|
|
|
}()
|