Browse Source

明细逻辑修改

ziwen 1 year ago
parent
commit
bb90827b89
3 changed files with 37 additions and 16 deletions
  1. 9 11
      controllers/company.go
  2. 18 0
      models/cygx/activity_special_trip_bill.go
  3. 10 5
      services/cygx/activity_special.go

+ 9 - 11
controllers/company.go

@@ -9175,6 +9175,7 @@ func (this *CompanyController) DelRemark() {
 	br.Success = true
 	br.Msg = "操作成功"
 }
+
 // @Title 获取流水信息接口
 // @Description 获取流水信息接口
 // @Param   CompanyId   query   int  true       "客户id"
@@ -9201,21 +9202,20 @@ func (this *CompanyTodoController) CompanyActivitySpecialPointsBill() {
 	//查询当年的数据
 	condition += ` AND b.create_time >= ?  `
 	pars = append(pars, time.Now().Format(utils.FormatYearDate)+"-01-01")
-	list, err := cygx.GetCygxActivitySpecialTripBillDetailList(condition, pars)
+	list, err := cygx.GetCygxActivitySpecialTripBillDetailListAll(condition, pars)
 	if err != nil {
 		br.Msg = "获取任务信息失败"
 		br.ErrMsg = "获取任务信息失败,err:" + err.Error()
 		return
 	}
 
-
-	userType, chartNumMap,mapChartName, err := cygxService.GetChartPermissionSpecialSurplusByCompany(companyId)
+	userType, tripRemaining, mapChartName, err := cygxService.GetChartPermissionSpecialSurplusByCompany(companyId)
 	if err != nil {
 		br.Msg = "获取专项调研剩余次数失败"
 		br.ErrMsg = "获取专项调研剩余次数失败,err:" + err.Error()
 		return
 	}
-	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}
 	resp := new(cygx.CygxActivitySpecialPointsBillResp)
 	for _, v := range list {
 		item := cygx.CygxActivitySpecialPointsBillRespItem{
@@ -9230,25 +9230,23 @@ func (this *CompanyTodoController) CompanyActivitySpecialPointsBill() {
 			ChartPermissionId:   v.ChartPermissionId,
 			ChartPermissionName: v.ChartPermissionName,
 		}
+		if v.ActivityId == 0 {
+			item.Content = v.Content
+		}
 		if userType == 2 {
-			for k, _ := range chartNumMap {
-				item.Total += chartMap[k] + strconv.Itoa(chartNumMap[v.ChartPermissionId] - v.BillDetailed) + "次,"
-			}
-			item.Total = strings.TrimRight(item.Total, "次")
+			item.Total += strconv.Itoa(tripRemaining-v.BillDetailed) + "次,"
 		} else {
 			for k, num := range mapChartName {
 				if num > 0 {
-					item.Total += k + strconv.Itoa(num - v.BillDetailed) + "次+"
+					item.Total += k + strconv.Itoa(num-v.BillDetailed) + "次+"
 				}
 			}
 			item.Total = strings.TrimRight(item.Total, "+")
 		}
-	
 
 		resp.List = append(resp.List, &item)
 	}
 
-
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "获取成功"

+ 18 - 0
models/cygx/activity_special_trip_bill.go

@@ -22,6 +22,7 @@ type CygxActivitySpecialTripBill struct {
 	RegisterPlatform  int       `description:"来源 1小程序,2:网页"`
 	ChartPermissionId int       `description:"行业id"`
 	Way               int       `description:"1报名,取消报名。2到会取消到会"`
+	Content           string    `description:"内容"`
 }
 
 type CygxActivitySpecialTripBillList struct {
@@ -126,6 +127,7 @@ type CygxActivitySpecialTripBillDetailList struct {
 	RegisterPlatform    int       `description:"来源 1小程序,2:网页"`
 	ChartPermissionId   int       `description:"行业id"`
 	ChartPermissionName string    `description:"行业名称"`
+	Content             string    `description:"内容"`
 }
 
 func GetCygxActivitySpecialTripBillDetailList(condition string, pars []interface{}) (item []*CygxActivitySpecialTripBillDetailList, err error) {
@@ -161,3 +163,19 @@ type CygxActivitySpecialPointsBillRespItem struct {
 type CygxActivitySpecialPointsBillResp struct {
 	List []*CygxActivitySpecialPointsBillRespItem
 }
+
+func GetCygxActivitySpecialTripBillDetailListAll(condition string, pars []interface{}) (item []*CygxActivitySpecialTripBillDetailList, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT
+			b.*,
+			a.activity_name,
+			c.chart_permission_name 
+		FROM
+			cygx_activity_special_trip_bill AS b
+			LEFT JOIN chart_permission AS c ON c.chart_permission_id = b.chart_permission_id 
+			LEFT JOIN cygx_activity AS a ON a.activity_id = b.activity_id
+		WHERE
+			1 = 1` + condition
+	_, err = o.Raw(sql, pars).QueryRows(&item)
+	return
+}

+ 10 - 5
services/cygx/activity_special.go

@@ -414,7 +414,7 @@ func CheckActivitySpecialUpdatePower(adminId int, activityInfo *cygx.ActivitySpe
 }
 
 // GetChartPermissionSpecialSurplusByCompany 获取公司专项调研次数-分品种
-func GetChartPermissionSpecialSurplusByCompany(companyId int) (userType int, chartNumMap  map[int]int,mapChartName map[string]int, err error) {
+func GetChartPermissionSpecialSurplusByCompany(companyId int) (userType int, tripRemaining int,mapChartName map[string]int, err error) {
 	companyDetail, e := cygx.GetCompanyDetailByIdGroup(companyId)
 	if e != nil {
 		err = errors.New("GetCompanyDetailByIdGroup, Err: " + e.Error())
@@ -430,7 +430,7 @@ func GetChartPermissionSpecialSurplusByCompany(companyId int) (userType int, cha
 		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}
-	chartNumMap = map[int]int{utils.YI_YAO_ID:0, utils.XIAO_FEI_ID:0, utils.KE_JI_ID:0, utils.ZHI_ZAO_ID:0}
+	//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 == "正式" {
 		var packageType int
 		userType, packageType, _, _, _ = GetUserType(companyId)
@@ -471,13 +471,16 @@ func GetChartPermissionSpecialSurplusByCompany(companyId int) (userType int, cha
 			//}
 			var TripBillNum int
 			for _, v := range listTripBill {
+				if v.ActivityId == 0 {
+					continue
+				}
 				TripBillNum += v.BillDetailed
 			}
 			// CRM13.2 70w客户有16次专项调研, 45w有10次
 			packageTypeMap := map[int]int{1: 16, 2: 10}
 			totalTrip := packageTypeMap[packageType]
 
-			tripRemaining := totalTrip + TripBillNum
+			tripRemaining = totalTrip + TripBillNum
 			if tripRemaining < 0 {
 				tripRemaining = 0
 			}
@@ -542,6 +545,9 @@ func GetChartPermissionSpecialSurplusByCompany(companyId int) (userType int, cha
 			}
 			//var TripBillNum int
 			for _, v := range listTripBill {
+				if v.ActivityId == 0 {
+					continue
+				}
 				mapPermissionNameTrip[v.ChartPermissionName] += v.BillDetailed
 			}
 			for _, v := range chartList {
@@ -567,8 +573,7 @@ func ActivitySpecialCompanyApproval(companyId int,companyName string) (err error
 	itemBill.CompanyName = companyName
 	itemBill.Source = 2
 	itemBill.DoType = 2
-	itemBill.BillDetailed = 1 // 流水加一
-
+	itemBill.Content = "套餐转正"
 	if userType == 2{
 		packageTypeMap := map[int]int{1: 16, 2: 10}
 		totalTrip := packageTypeMap[packageType]