ziwen 1 年之前
父節點
當前提交
08ab8734dc
共有 3 個文件被更改,包括 98 次插入0 次删除
  1. 90 0
      controller/crm/company_seller.go
  2. 1 0
      init_serve/task.go
  3. 7 0
      models/fms/contract_invoice.go

+ 90 - 0
controller/crm/company_seller.go

@@ -133,4 +133,94 @@ func FIXIncomeHistorySellerId() (err error) {
 		}
 	}
 	return
+}
+
+// 修复
+func FixContractInvoiceSellerInfoV2() (err error) {
+	sellerList, e := crmService.GetSellerDepartmentListWithEnable()
+	if e != nil {
+		fmt.Println("获取销售列表失败, Err: " + e.Error())
+		return
+	}
+	sellerMap := make(map[int]*crm.SellerAdminWithGroupTeam)
+	for i := range sellerList {
+		sellerMap[sellerList[i].SellerId] = sellerList[i]
+	}
+
+	list,err := fms.GetInvoiceListByFix()
+	if err != nil {
+		return
+	}
+	queryRegisterIds := make([]int, 0)
+	for i := range list {
+		queryRegisterIds = append(queryRegisterIds, list[i].ContractRegisterId)
+	}
+
+	cond := `1 = 1`
+	pars := make([]interface{}, 0)
+
+	summaryCond := cond
+	summaryCond += ` AND a.register_id IN ?`
+	summaryPars := pars
+	summaryPars = append(summaryPars, queryRegisterIds)
+	summaryData, e := fms.GetInvoicePaymentCensusSummaryData(summaryCond, summaryPars)
+	if e != nil {
+		fmt.Println("err1:",e)
+		return
+	}
+
+	contractRegisters, err := fms.GetContractInfoByRegisterIds(queryRegisterIds)
+	if err != nil {
+		fmt.Println("err3:",e)
+		return
+	}
+	registerMap := make(map[int]fms.ContractRegister, 0)
+	for _, v := range contractRegisters {
+		registerMap[v.ContractRegisterId] = v
+	}
+
+	summaryMap := make(map[int]*fms.InvoicePaymentSummaryItem, 0)
+	for _, v := range summaryData {
+		summaryMap[v.InvoiceId] = v
+		summaryMap[v.PaymentId] = v
+	}
+
+	for _, v := range list {
+		paymentItem := fms.ContractInvoice{}
+		paymentItem.ContractInvoiceId = v.ContractInvoiceId
+		fmt.Println("paymentItem.ContractInvoiceId:", paymentItem.ContractInvoiceId)
+		var seller  *crm.SellerAdminWithGroupTeam
+		//if v.InvoiceType == 2 || v.InvoiceType == 4 {
+		//	seller = sellerMap[v.SellerId]
+		//} else {
+		//	seller = sellerMap[v.ContractInvoiceId]
+		//}
+		if item, ok := summaryMap[v.ContractInvoiceId]; ok{
+			seller = sellerMap[item.SellerId]
+		}
+		if seller == nil {
+			register := registerMap[v.ContractRegisterId]
+			seller = sellerMap[register.SellerId]
+			if seller == nil {
+				seller = sellerMap[register.RaiSellerId]
+			}
+		}
+
+		if seller != nil {
+			fmt.Println("SellerName:", seller.SellerName)
+			paymentItem.SellerId = seller.SellerId
+			paymentItem.SellerName = seller.SellerName
+			paymentItem.SellerGroupId = seller.GroupId
+			paymentItem.SellerGroupName = seller.GroupName
+			paymentItem.SellerTeamId = seller.TeamId
+			paymentItem.SellerTeamName = seller.TeamName
+			e = paymentItem.Update([]string{"SellerId", "SellerName", "SellerGroupId", "SellerGroupName", "SellerTeamId", "SellerTeamName"})
+			if e != nil {
+				fmt.Println("err2:",e)
+				return
+			}
+		}
+	}
+	fmt.Println(len(summaryData))
+	return
 }

+ 1 - 0
init_serve/task.go

@@ -10,5 +10,6 @@ func InitTask() {
 	//fmsService.FixContractInvoiceSellerInfo()
 	//fmsService.FixContractInvoicePaymentType()
 	//fmsService.FixContractSummaryData()
+	//crm.FixContractInvoiceSellerInfoV2()
 	fmt.Println("task end")
 }

+ 7 - 0
models/fms/contract_invoice.go

@@ -781,4 +781,11 @@ func GetCensusSellerInvoicePageListV2(page base.IPage, adminStr, inCond, conditi
 	sql = fmt.Sprintf(sql, inCond, amountSum, condition, page.GetOrderItemsString(), page.Offset(), page.GetPageSize())
 	err = global.DEFAULT_MYSQL.Raw(sql, pars...).Scan(&results).Error
 	return
+}
+
+// GetInvoiceListByFix
+func GetInvoiceListByFix() (results []*ContractInvoice, err error) {
+	sql := `SELECT * FROM contract_invoice WHERE invoice_type = 2 AND seller_id = 0 `
+	err = global.DEFAULT_MYSQL.Raw(sql).Find(&results).Error
+	return
 }