Explorar o código

Merge branch 'fms_2.8' into debug

ziwen hai 1 ano
pai
achega
c6a962e5cc
Modificáronse 1 ficheiros con 10 adicións e 4 borrados
  1. 10 4
      controller/census/invoice_payment.go

+ 10 - 4
controller/census/invoice_payment.go

@@ -1039,7 +1039,7 @@ func getCensusIncomeListV2(ch chan models.CensusIncomeChartResp, req fms.IncomeL
 		reqEndDate, _ = time.Parse(utils.FormatDateTime, ed)
 		if reqEndDate.After(invoiceItem.InvoiceDate) {
 			yearNum = invoiceItem.InvoiceDate.Year() - reqStartDate.Year()
-			monthNum = int(invoiceItem.InvoiceDate.Month() - 1)
+			monthNum = int(invoiceItem.InvoiceDate.Month() - reqStartDate.Month())
 		} else {
 			yearNum = reqEndDate.Year() - reqStartDate.Year()
 			monthNum = int(reqEndDate.Month() - reqStartDate.Month())
@@ -1049,6 +1049,12 @@ func getCensusIncomeListV2(ch chan models.CensusIncomeChartResp, req fms.IncomeL
 		monthNum = int(invoiceItem.InvoiceDate.Month() - 1)
 	}
 
+	if yearNum < 0 {
+		yearNum = -yearNum
+	}
+	if monthNum < 0 {
+		monthNum = -monthNum
+	}
 	numMonth := yearNum*12 + monthNum //共存在多少个月
 	//if req.ListParam == "1" {
 	//	numMonth = numMonth / 3
@@ -1093,8 +1099,8 @@ func getCensusIncomeListV2(ch chan models.CensusIncomeChartResp, req fms.IncomeL
 			endDateTime = reqStartDate.AddDate(0, i+1, -1)
 			prevEndDateTime = reqStartDate.AddDate(-1, i+1, -1)
 			if reqEndDate.After(invoiceItem.InvoiceDate) {
-				endDateTime = invoiceItem.InvoiceDate.AddDate(0, i, 0)
-				prevEndDateTime = invoiceItem.InvoiceDate.AddDate(-1, i, 0)
+				endDateTime = invoiceItem.InvoiceDate.AddDate(0, i-numMonth+1, -1)
+				prevEndDateTime = invoiceItem.InvoiceDate.AddDate(-1, i-numMonth+1, -1)
 			}
 		} else {
 			endDateTime = invoiceItem.InvoiceDate.AddDate(0, i-numMonth+1, -1)
@@ -1498,7 +1504,7 @@ func getCensusIncomeListV2(ch chan models.CensusIncomeChartResp, req fms.IncomeL
 			yoy = (totalMoneySlice[i] - prevTotalMoneySlice[i]) / prevTotalMoneySlice[i]
 			yoyStr = fmt.Sprintf("%.4f", yoy)
 
-			if i == len(prevTotalMoneySlice)-1 && i > 0{
+			if i == len(prevTotalMoneySlice)-1 && i > 0 && req.ListParam == "3"{
 				fmt.Println("totalMoneySlice[i-1]:",totalMoneySlice[i-1])
 				yoy = (totalMoneySlice[i] - totalMoneySlice[i-1]) / totalMoneySlice[i-1]
 				yoyStr = fmt.Sprintf("%.4f", yoy)