Browse Source

Merge branch 'cygx_10.9.1' into debug

# Conflicts:
#	services/cygx/activity_special.go
ziwen 1 year ago
parent
commit
bc20c66430

+ 14 - 1
models/cygx/activity_special_trip_bill.go

@@ -83,7 +83,7 @@ type AirborneCount struct {
 }
 
 // 获取空降的公司报名的记录
-func GetActivitySpecialTripAirborneCountByActivitySpecial(condition string, pars []interface{}) (items []*AirborneCount, err error) {
+func GetActivitySpecialTripAirborneListByActivitySpecial(condition string, pars []interface{}) (items []*AirborneCount, err error) {
 	sqlCount := ` SELECT chart_permission_id,COUNT(1) AS count
 		FROM
 			cygx_activity_special_meeting_detail AS t
@@ -95,6 +95,19 @@ func GetActivitySpecialTripAirborneCountByActivitySpecial(condition string, pars
 	return
 }
 
+// 获取空降的公司报名的记录
+func GetActivitySpecialTripAirborneCountByActivitySpecial(condition string, pars []interface{}) (count int, err error) {
+	sqlCount := ` SELECT COUNT(1) AS count
+		FROM
+			cygx_activity_special_meeting_detail AS t
+			INNER JOIN cygx_activity_special AS a ON a.activity_id = t.activity_id 
+		WHERE
+			 1= 1  	AND YEAR ( t.create_time )= YEAR (NOW()) ` + condition
+	o := orm.NewOrm()
+	err = o.Raw(sqlCount, pars).QueryRow(&count)
+	return
+}
+
 type CygxActivitySpecialTripBillDetailList struct {
 	Id                  int       `orm:"column(id);pk"`
 	UserId              int       `description:"用户id,多个用,隔开"`

+ 2 - 0
services/company_apply/company_approval.go

@@ -398,6 +398,8 @@ func Approved(approvalRecord *contract.ContractApprovalRecord, opUser *system.Ad
 				services.AddCompanyApprovalMessageWangYang(recordInfo.CompanyId, recordInfo.CompanyContractId, recordInfo.ApplyRealName, companyInfo.CompanyName)
 
 				go cygxService.YanXuanCompanyApproval(recordInfo.CompanyId) //研选审批通过的时候研选扣点更新
+
+				go cygxService.ActivitySpecialCompanyApproval(recordInfo.CompanyId, companyInfo.CompanyName) //审批通过的时候专项调研次数更新
 			}
 		}()
 	} else {

+ 54 - 15
services/cygx/activity_special.go

@@ -411,7 +411,7 @@ func GetChartPermissionSpecialSurplusByCompany(companyId int) (chartNumMap  map[
 	if companyDetail.Status == "永续" {
 		specialSurplus = "不限次数"
 	}
-	chartMap := map[int]string{utils.YI_YAO_ID:utils.YI_YAO_NAME, utils.XIAO_FEI_ID:utils.XIAO_FEI_NAME, utils.KE_JI_ID:utils.KE_JI_NAME, utils.ZHI_ZAO_ID:utils.ZHI_ZAO_NAME}
+	//chartMap := map[int]string{utils.YI_YAO_ID:utils.YI_YAO_NAME, utils.XIAO_FEI_ID:utils.XIAO_FEI_NAME, utils.KE_JI_ID:utils.KE_JI_NAME, utils.ZHI_ZAO_ID:utils.ZHI_ZAO_NAME}
 	chartNumMap = map[int]int{utils.YI_YAO_ID:0, utils.XIAO_FEI_ID:0, utils.KE_JI_ID:0, utils.ZHI_ZAO_ID:0}
 	if companyDetail.Status == "正式" {
 		userType, packageType, _, _, _ := GetUserType(companyId)
@@ -422,15 +422,20 @@ func GetChartPermissionSpecialSurplusByCompany(companyId int) (chartNumMap  map[
 			condition += ` AND company_id = ? `
 			pars = append(pars, companyId)
 
-			airborneList, e := cygx.GetActivitySpecialTripAirborneCountByActivitySpecial(condition, pars)
+			//airborneList, e := cygx.GetActivitySpecialTripAirborneCountByActivitySpecial(condition, pars)
+			//if e != nil {
+			//	err = errors.New("GetActivitySpecialTripAirborneCountByActivitySpecial, Err: " + e.Error())
+			//	return
+			//}
+			//ariborneMap := make(map[int]int)
+			//for _, v := range airborneList {
+			//	ariborneMap[v.ChartPermissionId] = v.Count
+			//}
+			airborneTotal, e := cygx.GetActivitySpecialTripAirborneCountByActivitySpecial(condition, pars)
 			if e != nil {
 				err = errors.New("GetActivitySpecialTripAirborneCountByActivitySpecial, Err: " + e.Error())
 				return
 			}
-			ariborneMap := make(map[int]int)
-			for _, v := range airborneList {
-				ariborneMap[v.ChartPermissionId] = v.Count
-			}
 			//condition += ` AND is_valid = 1 `
 			//查询当年的数据
 			condition += ` AND create_time >= ?  `
@@ -440,22 +445,31 @@ func GetChartPermissionSpecialSurplusByCompany(companyId int) (chartNumMap  map[
 				err = errors.New("GetActivitySpecialTripCountByActivitySpecial, Err: " + e.Error())
 				return
 			}
-			TripBillNumMap := make(map[int]int)
+			//TripBillNumMap := make(map[int]int)
+			//for _, v := range listTripBill {
+			//	TripBillNumMap[v.ChartPermissionId] += v.BillDetailed
+			//}
+			var TripBillNum int
 			for _, v := range listTripBill {
-				TripBillNumMap[v.ChartPermissionId] += v.BillDetailed
+				TripBillNum += v.BillDetailed
 			}
 			// CRM13.2 70w客户有16次专项调研, 45w有10次
 			packageTypeMap := map[int]int{1: 16, 2: 10}
 			totalTrip := packageTypeMap[packageType]
 
-			for k, _ := range chartNumMap {
-				tripRemaining := totalTrip - ariborneMap[k] + TripBillNumMap[k]
-				if tripRemaining < 0 {
-					tripRemaining = 0
-				}
-				specialSurplus += chartMap[k] + strconv.Itoa(tripRemaining) + "次,"
+			tripRemaining := totalTrip - airborneTotal + TripBillNum
+			if tripRemaining < 0 {
+				tripRemaining = 0
 			}
-			specialSurplus = strings.TrimRight(specialSurplus, ",")
+
+			//for k, _ := range chartNumMap {
+			//	tripRemaining := totalTrip - ariborneMap[k] + TripBillNumMap[k]
+			//	if tripRemaining < 0 {
+			//		tripRemaining = 0
+			//	}
+			//	specialSurplus += chartMap[k] + strconv.Itoa(tripRemaining) + "次,"
+			//}
+			//specialSurplus = strings.TrimRight(specialSurplus, ",")
 
 			//tripRemaining = 12 - tripTota
 		} else {
@@ -521,4 +535,29 @@ func GetChartPermissionSpecialSurplusByCompany(companyId int) (chartNumMap  map[
 		}
 	}
 	return
+}
+
+// 审批通过的时候专项调研次数更新
+func ActivitySpecialCompanyApproval(companyId int,companyName string) (err error) {
+	userType, packageType, _, _, _ := GetUserType(companyId)
+	itemBill := new(cygx.CygxActivitySpecialTripBill)
+	itemBill.CreateTime = time.Now()
+	itemBill.CompanyId = companyId
+	itemBill.CompanyName = companyName
+	itemBill.Source = 2
+	itemBill.DoType = 2
+	itemBill.BillDetailed = 1 // 流水加一
+
+	if userType == 2{
+		packageTypeMap := map[int]int{1: 16, 2: 10}
+		totalTrip := packageTypeMap[packageType]
+		itemBill.BillDetailed = totalTrip
+	} else {
+		itemBill.BillDetailed = 5
+	}
+	err = cygx.AddCygxActivitySpecialTripBill(itemBill)
+	if err != nil {
+		return
+	}
+	return
 }