zhangchuanxing 2 miesięcy temu
rodzic
commit
305ebddc7f

+ 95 - 4
controllers/cygx/report_article.go

@@ -6689,17 +6689,41 @@ func initCommpanyNum() {
 
 	mapNum := make(map[int]int)
 	mapYearNum := make(map[string]bool)
+	mapYearMoney := make(map[string]float64)
+	mapNewYearMoney := make(map[int]float64)
+	mapMoney := make(map[int]float64)
+	mapYearArr := make(map[int][]string)
+	mapStartDate := make(map[int]string)
 
 	for _, v := range listContract {
+		if mapStartDate[v.CompanyId] == "" {
+			mapStartDate[v.CompanyId] = v.StartDate
+		}
 		year := v.StartDate[:4]
 		keyMap := fmt.Sprint("CID", v.CompanyId, "Year", year)
+		mapYearMoney[keyMap] += v.Money
+		mapMoney[v.CompanyId] += v.Money
+		fmt.Println(keyMap)
 		if mapYearNum[keyMap] {
 			continue
 		}
 		mapNum[v.CompanyId]++
 		mapYearNum[keyMap] = true
+		mapYearArr[v.CompanyId] = append(mapYearArr[v.CompanyId], year)
+	}
+
+	for _, v := range listContract {
+		year := v.StartDate[:4]
+		keyMap := fmt.Sprint("CID", v.CompanyId, "Year", year)
+
+		if mapYearMoney[keyMap] > 0 {
+			mapNewYearMoney[v.CompanyId] = mapYearMoney[keyMap]
+		}
 	}
 
+	//fmt.Println(mapNum[5604])
+	//return
+
 	listCompanyProduct, err := company.GetCompanyProductsByCompanyIdsAndProductIdinit(companyIds)
 	if err != nil {
 		fmt.Println(err)
@@ -6769,8 +6793,41 @@ func initCommpanyNum() {
 	cellPerssion := rowTitle.AddCell()
 	cellPerssion.Value = "状态"
 
-	cellPerssionId := rowTitle.AddCell()
-	cellPerssionId.Value = "公司ID"
+	//cellPerssionId := rowTitle.AddCell()
+	//cellPerssionId.Value = "公司ID"
+
+	cellPerssionIdYear := rowTitle.AddCell()
+	cellPerssionIdYear.Value = "相关年份"
+
+	cellStartYear := rowTitle.AddCell()
+	cellStartYear.Value = "首分合同开始时间"
+
+	cellNewYear := rowTitle.AddCell()
+	cellNewYear.Value = "当前合同总额"
+
+	cellOldYear := rowTitle.AddCell()
+	cellOldYear.Value = "历年合同总额"
+
+	//cellAllYearMoney := rowTitle.AddCell()
+	//cellAllYearMoney.Value = "所有年份合同总金额"
+	//
+	//cellAllYearMoney2020 := rowTitle.AddCell()
+	//cellAllYearMoney2020.Value = "2020年合同总金额"
+	//
+	//cellAllYearMoney2021 := rowTitle.AddCell()
+	//cellAllYearMoney2021.Value = "2021年合同总金额"
+	//
+	//cellAllYearMoney2022 := rowTitle.AddCell()
+	//cellAllYearMoney2022.Value = "2022年合同总金额"
+	//
+	//cellAllYearMoney2023 := rowTitle.AddCell()
+	//cellAllYearMoney2023.Value = "2023年合同总金额"
+	//
+	//cellAllYearMoney2024 := rowTitle.AddCell()
+	//cellAllYearMoney2024.Value = "2024年合同总金额"
+	//
+	//cellAllYearMoney2025 := rowTitle.AddCell()
+	//cellAllYearMoney2025.Value = "2025年合同总金额"
 
 	for _, v := range listCompanyProduct {
 		if mapNum[v.CompanyId] < 3 {
@@ -6790,8 +6847,42 @@ func initCommpanyNum() {
 		cellBData := row.AddCell()
 		cellBData.Value = v.Status
 
-		cellBDataId := row.AddCell()
-		cellBDataId.Value = fmt.Sprint(v.CompanyId)
+		//cellBDataId := row.AddCell()
+		//cellBDataId.Value = fmt.Sprint(v.CompanyId)
+
+		cellPerssionIdYearData := row.AddCell()
+		cellPerssionIdYearData.Value = strings.Join(mapYearArr[v.CompanyId], ",")
+
+		cellStartYearData := row.AddCell()
+		cellStartYearData.Value = fmt.Sprint(mapStartDate[v.CompanyId])
+
+		cellNewYearData := row.AddCell()
+		cellNewYearData.Value = strconv.FormatFloat(mapNewYearMoney[v.CompanyId], 'f', 1, 64)
+
+		cellOldYearData := row.AddCell()
+		cellOldYearData.Value = strconv.FormatFloat(mapMoney[v.CompanyId]-mapNewYearMoney[v.CompanyId], 'f', 1, 64)
+
+		//cellAllYearMoneyData := row.AddCell()
+		////cellAllYearMoneyData.Value = fmt.Sprint(mapMoney[v.CompanyId])
+		//cellAllYearMoneyData.Value = strconv.FormatFloat(mapMoney[v.CompanyId], 'f', 1, 64)
+		//
+		//cellAllYearMoney2020Data := row.AddCell()
+		//cellAllYearMoney2020Data.Value = strconv.FormatFloat(mapYearMoney[fmt.Sprint("CID", v.CompanyId, "Year2020")], 'f', 1, 64)
+		//
+		//cellAllYearMoney2021Data := row.AddCell()
+		//cellAllYearMoney2021Data.Value = strconv.FormatFloat(mapYearMoney[fmt.Sprint("CID", v.CompanyId, "Year2021")], 'f', 1, 64)
+		//
+		//cellAllYearMoney2022Data := row.AddCell()
+		//cellAllYearMoney2022Data.Value = strconv.FormatFloat(mapYearMoney[fmt.Sprint("CID", v.CompanyId, "Year2022")], 'f', 1, 64)
+		//
+		//cellAllYearMoney2023Data := row.AddCell()
+		//cellAllYearMoney2023Data.Value = strconv.FormatFloat(mapYearMoney[fmt.Sprint("CID", v.CompanyId, "Year2023")], 'f', 1, 64)
+		//
+		//cellAllYearMoney2024Data := row.AddCell()
+		//cellAllYearMoney2024Data.Value = strconv.FormatFloat(mapYearMoney[fmt.Sprint("CID", v.CompanyId, "Year2024")], 'f', 1, 64)
+		//
+		//cellAllYearMoney2025Data := row.AddCell()
+		//cellAllYearMoney2025Data.Value = strconv.FormatFloat(mapYearMoney[fmt.Sprint("CID", v.CompanyId, "Year2025")], 'f', 1, 64)
 
 	}
 

+ 1 - 1
models/company/company_contract.go

@@ -119,7 +119,7 @@ func CompanyContractListNum() (items []*CompanyContract, err error) {
 				WHERE
 					product_id = 2 
 				AND status IN ( '正式', '试用' )) 
-			GROUP BY
+			ORDER  BY
 				start_date ASC `
 	_, err = o.Raw(sql).QueryRows(&items)
 	return