Sfoglia il codice sorgente

fix(销售签约指标): 自测bug修复

likai 1 anno fa
parent
commit
4493a93770

+ 11 - 6
opms_parent/app/service/contract/ctr_contract_sale_target.go

@@ -96,7 +96,6 @@ func (s CtrContractSaleTargetService) Import(ctx context.Context, req *model.Exc
 
 	// 获取销售分成数据 人/年/月份
 	shareMap := make(map[string]map[string]map[string]float64)
-	saleMap := make(map[string]int)
 	var shares []*model.Share
 	err = s.Dao.DB.Model("ctr_contract a").LeftJoin("ctr_contract_share b", "a.id=b.contract_id").Where(fmt.Sprintf("a.contract_sign_time >= '%v'", minYear)).Fields("a.contract_amount, a.incharge_id, a.incharge_name, a.contract_sign_time, b.id, b.sale_id, b.sale_name, b.share_amount").Scan(&shares)
 	if err != nil {
@@ -104,17 +103,14 @@ func (s CtrContractSaleTargetService) Import(ctx context.Context, req *model.Exc
 	}
 	// 统计 人/年度/月度金额
 	for _, share := range shares {
-		id := 0
 		name := ""
 		amount := float64(0)
 		year := share.ContractSignTime.Format("Y")
 		month := share.ContractSignTime.Format("m")
 		if share.Id == 0 {
-			id = share.InchargeId
 			name = share.InchargeName
 			amount = share.ContractAmount
 		} else {
-			id = share.SaleId
 			name = share.SaleName
 			amount = share.ShareAmount
 		}
@@ -124,10 +120,19 @@ func (s CtrContractSaleTargetService) Import(ctx context.Context, req *model.Exc
 		if _, ok := shareMap[name][year]; !ok {
 			shareMap[name][year] = make(map[string]float64)
 		}
-		saleMap[name] = id
 		shareMap[name][year][month] += amount
 	}
 
+	// 获取用户信息
+	saleMap := make(map[string]int)
+	users, err := s.Dao.DB.Model("sys_user").FindAll()
+	if err != nil {
+		return err
+	}
+	for _, user := range users {
+		saleMap[user["nick_name"].String()] = user["id"].Int()
+	}
+
 	// 获取历史销售目标信息
 	targetMap := make(map[string]map[string]*model.CtrContractSaleTarget)
 	targets, err := s.Dao.Where(fmt.Sprintf("year >= '%v'", minYear)).FindAll()
@@ -158,7 +163,7 @@ func (s CtrContractSaleTargetService) parseExcel(b []byte) ([]*model.CtrContract
 	if err != nil {
 		return nil, "", err
 	}
-	sheet := "Sheet1"
+	sheet := "销售指标"
 	rows, err := f.GetRows(sheet)
 	if err != nil {
 		return nil, "", err