Răsfoiți Sursa

Merge branch 'crm/crm_14.2' of http://8.136.199.33:3000/hongze/hz_crm_api into debug

xingzai 1 an în urmă
părinte
comite
7b9a35be14

+ 12 - 36
controllers/statistic_company_merge.go

@@ -64,7 +64,7 @@ func (this *StatisticCompanyMergerController) MergeCompanyList() {
 
 	adminId := this.GetString("AdminId")
 	regionType := this.GetString("RegionType")
-	companyType := this.GetString("CompanyType")
+	//companyType := this.GetString("CompanyType")
 	dataType := this.GetString("DataType")
 	tryOutType := this.GetString("TryOutType")
 	keyword := this.GetString("Keyword")
@@ -193,19 +193,8 @@ func (this *StatisticCompanyMergerController) MergeCompanyList() {
 		parsAscribeRai = append(parsAscribeRai, companyIds)
 	}
 
-	switch companyType {
-	case "ficc":
-		condition += ` AND c.product_id = ? `
-		pars = append(pars, 1)
-	case "权益":
-		condition += ` AND c.product_id = ? `
-		pars = append(pars, 2)
-	case "":
-	default:
-		br.Msg = "获取失败,客户类型异常"
-		br.ErrMsg = "获取失败,客户类型异常"
-		return
-	}
+	condition += ` AND c.product_id = ? `
+	pars = append(pars, 2)
 
 	var list []*models.IncrementalList
 	//moreListMap := make(map[int][]*models.IncrementalList)
@@ -224,7 +213,6 @@ func (this *StatisticCompanyMergerController) MergeCompanyList() {
 		pars1 = append(pars1, startDate, endDate)
 		condition1 += ` AND a.contract_type = ? `
 		pars1 = append(pars1, "新签合同")
-		condition1 += ` AND a.is_best_new = 1  `
 		newCompanyTotal, err = company.GetIncrementalNewCompanyProductMergeCount(condition1, pars1)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			br.Msg = "获取失败"
@@ -262,7 +250,6 @@ func (this *StatisticCompanyMergerController) MergeCompanyList() {
 		pars1 = append(pars1, startDate, endDate)
 		condition1 += ` AND a.contract_type = ? `
 		pars1 = append(pars1, "续约合同")
-		condition1 += ` AND a.is_best_new = 1  `
 		////额外条件(续约合同的起始日期包含在所选时间段内且不包含在新签合同存续期内的客户)
 		//pars1 = append(pars1, endDate)
 
@@ -712,7 +699,7 @@ func (this *StatisticCompanyMergerController) CompanyPreviousDetail() {
 		br.Ret = 408
 		return
 	}
-	resp := new(company.GetCompanyContractMergeDetailResp)
+	resp := new(company.GetCompanyContractDetailResp)
 	comPanyId, _ := this.GetInt("ComPanyId")
 	if comPanyId < 1 {
 		br.Msg = "请输入公司ID"
@@ -720,35 +707,24 @@ func (this *StatisticCompanyMergerController) CompanyPreviousDetail() {
 	}
 	var condition string
 	var pars []interface{}
-
-	condition = " AND company_id = ?  ORDER BY start_date DESC   LIMIT  1  "
-	pars = append(pars, comPanyId)
-	detail, err := company.GetCompanyContractMergeDetail(condition, pars)
+	//获取最新的一条到期的合同信息
+	condition = " AND company_id = ? AND end_date  < ?  ORDER BY start_date DESC   LIMIT  1  "
+	pars = append(pars, comPanyId, time.Now())
+	detail, err := company.GetCompanyContracDetail(condition, pars)
 	if err != nil {
 		br.Msg = "详情不存在"
 		br.ErrMsg = "获取失败,Err:" + err.Error()
 		return
 	}
-	pars = make([]interface{}, 0)
-	condition = " AND company_id = ?  AND company_contract_merge_id != ?   ORDER BY start_date DESC   LIMIT  1  "
-	pars = append(pars, comPanyId, detail.CompanyContractMergeId)
-	detailPrevious, err := company.GetCompanyContractMergeDetail(condition, pars)
-	if err != nil {
-		br.Msg = "详情不存在"
-		br.ErrMsg = "获取失败,Err:" + err.Error()
-		return
-	}
-
-	resp.Detail = detailPrevious
-	mappermissionName, err := cygxService.GetCompanyContractPermissionNameMapBymapCompamy(map[int]string{detailPrevious.CompanyId: detailPrevious.CompanyContractIdGroup})
+	//合并合同所对应的权限
+	mappermissionName, err := cygxService.GetCompanyContractPermissionNameMapById([]int{detail.CompanyContractId})
 	if err != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取失败,Err:" + err.Error()
 		return
 	}
-
-	detailPrevious.PermissionName = mappermissionName[detailPrevious.CompanyId]
-
+	detail.PermissionName = mappermissionName[detail.CompanyContractId]
+	resp.Detail = detail
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "获取成功"

+ 13 - 0
models/company/company_contract.go

@@ -216,6 +216,7 @@ type CompanyContractResp struct {
 	Source            string    `description:"合同来源,枚举值:上传附件、系统合同,默认上传附件"`
 	PackageType       int       `description:"套餐类型,0:无,1:大套餐,2:小套餐"`
 	RaiPackageType    int       `description:"权益套餐类型: 0-无; 1-70w大套餐; 2-45w大套餐"`
+	PermissionName    string    `description:"权限名"`
 }
 
 // 获取合同列表
@@ -241,3 +242,15 @@ func GetCompanyContractPermissionList(condition string, pars []interface{}) (ite
 	_, err = o.Raw(sql, pars).QueryRows(&items)
 	return
 }
+
+// 通过ID获取详情
+func GetCompanyContracDetail(condition string, pars []interface{}) (item *CompanyContractResp, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM company_contract  WHERE 1= 1 ` + condition
+	err = o.Raw(sql, pars).QueryRow(&item)
+	return
+}
+
+type GetCompanyContractDetailResp struct {
+	Detail *CompanyContractResp
+}

+ 24 - 24
models/company/company_contract_merge.go

@@ -113,7 +113,7 @@ func UpdateCompanyContractMerge(item *CompanyContractMerge) (err error) {
 func GetIncrementalNewCompanyProductMergeCount(condition string, pars []interface{}) (total int, err error) {
 	o := orm.NewOrm()
 
-	sql := `SELECT a.*,b.region_type,c.seller_id,c.seller_name,b.company_name FROM company_contract_merge a
+	sql := `SELECT a.*,b.region_type,c.seller_id,c.seller_name,b.company_name FROM company_contract a
 		 JOIN company b ON a.company_id = b.company_id
 		 JOIN company_product c ON a.company_id = c.company_id and a.product_id=c.product_id WHERE 1 = 1 `
 
@@ -129,7 +129,7 @@ func GetIncrementalNewCompanyProductMergeCount(condition string, pars []interfac
 func GetIncrementalRenewalCompanyProductMergeCount(condition string, pars []interface{}) (total int, err error) {
 	o := orm.NewOrm()
 
-	sql := `SELECT a.*,b.region_type,c.seller_id,c.seller_name,b.company_name FROM company_contract_merge a
+	sql := `SELECT a.*,b.region_type,c.seller_id,c.seller_name,b.company_name FROM company_contract a
 		 JOIN company b ON a.company_id = b.company_id
 		 JOIN company_product c ON a.company_id = c.company_id and a.product_id=c.product_id WHERE 1 = 1 `
 
@@ -146,25 +146,25 @@ type GetCompanyContractMergeDetailResp struct {
 }
 
 // 通过ID获取详情
-func GetCompanyContractMergeDetail(condition string, pars []interface{}) (item *CompanyContractMergeDetailResp, err error) {
-	o := orm.NewOrm()
-	sql := `SELECT * FROM company_contract_merge  WHERE 1= 1 ` + condition
-	err = o.Raw(sql, pars).QueryRow(&item)
-	return
-}
-
-// UpdateCompanyContractMergeIsBestNew 更改 is_best_new 状态
-func UpdateCompanyContractMergeIsBestNew(isBestNew, companyId int) (err error) {
-	o := orm.NewOrm()
-	sql := `UPDATE company_contract_merge SET is_best_new = ?  WHERE company_id=? `
-	_, err = o.Raw(sql, isBestNew, companyId).Exec()
-	return
-}
-
-// UpdateCompanyContractMergeIsBestNew 更改 is_best_new 状态
-func UpdateCompanyContractMergeIsBestNewto1(companyContractMergeId int) (err error) {
-	o := orm.NewOrm()
-	sql := `UPDATE company_contract_merge SET is_best_new = 1  WHERE company_contract_merge_id=? `
-	_, err = o.Raw(sql, companyContractMergeId).Exec()
-	return
-}
+//func GetCompanyContractMergeDetail(condition string, pars []interface{}) (item *CompanyContractMergeDetailResp, err error) {
+//	o := orm.NewOrm()
+//	sql := `SELECT * FROM company_contract_merge  WHERE 1= 1 ` + condition
+//	err = o.Raw(sql, pars).QueryRow(&item)
+//	return
+//}
+//
+//// UpdateCompanyContractMergeIsBestNew 更改 is_best_new 状态
+//func UpdateCompanyContractMergeIsBestNew(isBestNew, companyId int) (err error) {
+//	o := orm.NewOrm()
+//	sql := `UPDATE company_contract_merge SET is_best_new = ?  WHERE company_id=? `
+//	_, err = o.Raw(sql, isBestNew, companyId).Exec()
+//	return
+//}
+//
+//// UpdateCompanyContractMergeIsBestNew 更改 is_best_new 状态
+//func UpdateCompanyContractMergeIsBestNewto1(companyContractMergeId int) (err error) {
+//	o := orm.NewOrm()
+//	sql := `UPDATE company_contract_merge SET is_best_new = 1  WHERE company_contract_merge_id=? `
+//	_, err = o.Raw(sql, companyContractMergeId).Exec()
+//	return
+//}

+ 3 - 3
models/statistic_report.go

@@ -851,15 +851,15 @@ func GetLastContractMoney(CompanyIds string) (items []*IncrementalList, err erro
 func GetIncrementalCompanyMergeList(condition string, pars []interface{}, startSize, pageSize int) (items []*IncrementalList, err error) {
 	o := orm.NewOrm()
 
-	sql := `SELECT a.*,b.region_type,c.seller_id,c.seller_name,b.company_name,c.renewal_reason FROM company_contract_merge a
+	sql := `SELECT a.*,b.region_type,c.seller_id,c.seller_name,b.company_name,c.renewal_reason FROM company_contract a
 		 JOIN company b ON a.company_id = b.company_id
 		 JOIN company_product c ON a.company_id = c.company_id and a.product_id=c.product_id WHERE 1 = 1 `
 
 	if condition != "" {
 		sql += condition
 	}
-	sql += " order by a.start_date desc "
-	sql = `select *,count(*) count from (` + sql + `) b group by company_id,product_id  order by start_date desc,company_id desc limit ?,?`
+	//sql += " order by a.start_date desc "
+	sql += ` group by a.company_contract_id  order by start_date desc,company_id desc limit ?,?`
 	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
 	return
 }

+ 0 - 1
services/company_apply/company_approval.go

@@ -421,7 +421,6 @@ func Approved(approvalRecord *contract.ContractApprovalRecord, opUser *system.Ad
 				services.AddCompanyApprovalMessageWangYang(recordInfo.CompanyId, recordInfo.CompanyContractId, recordInfo.ApplyRealName, companyInfo.CompanyName)
 				cygxService.YanXuanCompanyApproval(recordInfo.CompanyId)                           //研选审批通过的时候研选扣点更新
 				cygxService.HandleAllocationCompanyContractByYanXuan(recordInfo.CompanyContractId) //如果合同只有研选的时候,自动处理派点
-				services.AddCompanyContractMergeByCompanyContractId(recordInfo.CompanyContractId)  //进行合同合并
 			}
 		}()
 	} else {

+ 242 - 253
services/company_contract.go

@@ -1,138 +1,127 @@
 package services
 
-import (
-	"errors"
-	"fmt"
-	"hongze/hz_crm_api/models/company"
-	"hongze/hz_crm_api/services/alarm_msg"
-	"hongze/hz_crm_api/utils"
-	"strconv"
-	"strings"
-	"time"
-)
-
 //func init() {
 //	InitCompanyContractMerge()
 //	//GetCompanyContractPermissionNameMapById(map[int]string{6513: "182,183", 6663: "435,542"})
 //}
 
 // 初始化合并合同之后的数据脚本
-func InitCompanyContractMerge() {
-
-	var condition string
-	var pars []interface{}
-	condition = "  AND status = 1  AND  product_id = 2  ORDER BY  company_contract_id ASC  "
-	companyContractList, err := company.GetCompanyContractList(condition, pars)
-
-	if err != nil {
-		fmt.Println(err)
-		return
-	}
-	mapCompanyContractItems := make(map[int][]*company.CompanyContractResp)
-	for _, v := range companyContractList {
-		//fmt.Println(v)
-		mapCompanyContractItems[v.CompanyId] = append(mapCompanyContractItems[v.CompanyId], v)
-	}
-
-	mapCompanyMoney := make(map[int]float64)
-	var items []*company.CompanyContractMergeResp
-	for _, ContractItems := range mapCompanyContractItems {
-		item := new(company.CompanyContractMergeResp)
-		for k, v := range ContractItems {
-			item = new(company.CompanyContractMergeResp)
-			item.ContractType = v.ContractType
-			item.ProductId = v.ProductId
-			item.ProductName = v.ProductName
-			item.CompanyId = v.CompanyId
-			item.CompanyProductId = v.CompanyProductId
-			item.StartDate = v.StartDate
-			item.EndDate = v.EndDate
-			item.Money = v.Money
-			item.CompanyContractIdGroup += strconv.Itoa(v.CompanyContractId) + ","
-			if k == 0 {
-				items = append(items, item)
-				mapCompanyMoney[v.CompanyId] = item.Money
-			} else {
-				if v.CompanyId != items[len(items)-1].CompanyId {
-					items = append(items, item)
-				} else {
-					//续约的合同开始时间是否<上一次合同记录的结束时间 且间隔>6个月(180)天,那么就对两个合同进行合并
-					if item.StartDate.AddDate(0, 0, +180).Before(items[len(items)-1].EndDate) && item.StartDate.Before(items[len(items)-1].EndDate) {
-						items[len(items)-1].Money += v.Money
-						items[len(items)-1].EndDate = v.EndDate
-						items[len(items)-1].CompanyContractIdGroup += strconv.Itoa(v.CompanyContractId) + ","
-					} else {
-						if item.ContractType == "续约合同" {
-							if item.Money > mapCompanyMoney[v.CompanyId] {
-								item.PackageDifference = "增加套餐"
-							}
-							if item.Money == mapCompanyMoney[v.CompanyId] {
-								item.PackageDifference = "维持套餐"
-							}
-							if item.Money < mapCompanyMoney[v.CompanyId] {
-								item.PackageDifference = "减少套餐"
-							}
-						}
-						items = append(items, item)
-						mapCompanyMoney[v.CompanyId] = item.Money
-					}
-				}
-			}
-		}
-	}
-
-	var contractMergeitems []*company.CompanyContractMerge
-
-	var companyIds []int
-	mapcompanyIds := make(map[int]bool)
-	for _, v := range items {
-		item := new(company.CompanyContractMerge)
-		item.ContractType = v.ContractType
-		item.ProductId = v.ProductId
-		item.ProductName = v.ProductName
-		item.CompanyId = v.CompanyId
-		item.CompanyProductId = v.CompanyProductId
-		item.StartDate = v.StartDate.Format(utils.FormatDate)
-		item.EndDate = v.EndDate.Format(utils.FormatDate)
-		item.Money = v.Money
-		item.PackageDifference = v.PackageDifference
-		item.CompanyContractIdGroup = strings.TrimRight(v.CompanyContractIdGroup, ",")
-		item.CreateTime = time.Now()
-		item.ModifyTime = time.Now()
-		contractMergeitems = append(contractMergeitems, item)
-
-		if !mapcompanyIds[v.CompanyId] {
-			companyIds = append(companyIds, v.CompanyId)
-			mapcompanyIds[v.CompanyId] = true
-		}
-
-	}
-
-	err = company.MultiAddCompanyContractMerge(contractMergeitems)
-	if err != nil {
-		fmt.Println(err)
-		return
-	}
-
-	for _, v := range companyIds {
-		var condition string
-		var pars []interface{}
-
-		fmt.Println(v)
-		condition = " AND company_id = ?  ORDER BY start_date DESC   LIMIT  1  "
-		pars = append(pars, v)
-		contractMergeInfo, err := company.GetCompanyContractMergeDetail(condition, pars)
-		if err != nil {
-			fmt.Println(err)
-			return
-		}
-		err = company.UpdateCompanyContractMergeIsBestNewto1(contractMergeInfo.CompanyContractMergeId)
-		if err != nil {
-			fmt.Println(err)
-			return
-		}
-	}
-}
+//func InitCompanyContractMerge() {
+//
+//	var condition string
+//	var pars []interface{}
+//	condition = "  AND status = 1  AND  product_id = 2  ORDER BY  company_contract_id ASC  "
+//	companyContractList, err := company.GetCompanyContractList(condition, pars)
+//
+//	if err != nil {
+//		fmt.Println(err)
+//		return
+//	}
+//	mapCompanyContractItems := make(map[int][]*company.CompanyContractResp)
+//	for _, v := range companyContractList {
+//		//fmt.Println(v)
+//		mapCompanyContractItems[v.CompanyId] = append(mapCompanyContractItems[v.CompanyId], v)
+//	}
+//
+//	mapCompanyMoney := make(map[int]float64)
+//	var items []*company.CompanyContractMergeResp
+//	for _, ContractItems := range mapCompanyContractItems {
+//		item := new(company.CompanyContractMergeResp)
+//		for k, v := range ContractItems {
+//			item = new(company.CompanyContractMergeResp)
+//			item.ContractType = v.ContractType
+//			item.ProductId = v.ProductId
+//			item.ProductName = v.ProductName
+//			item.CompanyId = v.CompanyId
+//			item.CompanyProductId = v.CompanyProductId
+//			item.StartDate = v.StartDate
+//			item.EndDate = v.EndDate
+//			item.Money = v.Money
+//			item.CompanyContractIdGroup += strconv.Itoa(v.CompanyContractId) + ","
+//			if k == 0 {
+//				items = append(items, item)
+//				mapCompanyMoney[v.CompanyId] = item.Money
+//			} else {
+//				if v.CompanyId != items[len(items)-1].CompanyId {
+//					items = append(items, item)
+//				} else {
+//					//续约的合同开始时间是否<上一次合同记录的结束时间 且间隔>6个月(180)天,那么就对两个合同进行合并
+//					if item.StartDate.AddDate(0, 0, +180).Before(items[len(items)-1].EndDate) && item.StartDate.Before(items[len(items)-1].EndDate) {
+//						items[len(items)-1].Money += v.Money
+//						items[len(items)-1].EndDate = v.EndDate
+//						items[len(items)-1].CompanyContractIdGroup += strconv.Itoa(v.CompanyContractId) + ","
+//					} else {
+//						if item.ContractType == "续约合同" {
+//							if item.Money > mapCompanyMoney[v.CompanyId] {
+//								item.PackageDifference = "增加套餐"
+//							}
+//							if item.Money == mapCompanyMoney[v.CompanyId] {
+//								item.PackageDifference = "维持套餐"
+//							}
+//							if item.Money < mapCompanyMoney[v.CompanyId] {
+//								item.PackageDifference = "减少套餐"
+//							}
+//						}
+//						items = append(items, item)
+//						mapCompanyMoney[v.CompanyId] = item.Money
+//					}
+//				}
+//			}
+//		}
+//	}
+//
+//	var contractMergeitems []*company.CompanyContractMerge
+//
+//	var companyIds []int
+//	mapcompanyIds := make(map[int]bool)
+//	for _, v := range items {
+//		item := new(company.CompanyContractMerge)
+//		item.ContractType = v.ContractType
+//		item.ProductId = v.ProductId
+//		item.ProductName = v.ProductName
+//		item.CompanyId = v.CompanyId
+//		item.CompanyProductId = v.CompanyProductId
+//		item.StartDate = v.StartDate.Format(utils.FormatDate)
+//		item.EndDate = v.EndDate.Format(utils.FormatDate)
+//		item.Money = v.Money
+//		item.PackageDifference = v.PackageDifference
+//		item.CompanyContractIdGroup = strings.TrimRight(v.CompanyContractIdGroup, ",")
+//		item.CreateTime = time.Now()
+//		item.ModifyTime = time.Now()
+//		contractMergeitems = append(contractMergeitems, item)
+//
+//		if !mapcompanyIds[v.CompanyId] {
+//			companyIds = append(companyIds, v.CompanyId)
+//			mapcompanyIds[v.CompanyId] = true
+//		}
+//
+//	}
+//
+//	err = company.MultiAddCompanyContractMerge(contractMergeitems)
+//	if err != nil {
+//		fmt.Println(err)
+//		return
+//	}
+//
+//	for _, v := range companyIds {
+//		var condition string
+//		var pars []interface{}
+//
+//		fmt.Println(v)
+//		condition = " AND company_id = ?  ORDER BY start_date DESC   LIMIT  1  "
+//		pars = append(pars, v)
+//		contractMergeInfo, err := company.GetCompanyContractMergeDetail(condition, pars)
+//		if err != nil {
+//			fmt.Println(err)
+//			return
+//		}
+//		err = company.UpdateCompanyContractMergeIsBestNewto1(contractMergeInfo.CompanyContractMergeId)
+//		if err != nil {
+//			fmt.Println(err)
+//			return
+//		}
+//	}
+//}
 
 //// GetCompanyContractPermissionNameMapById 获取合并之后的合同所对应的权限种类名称
 //func GetCompanyContractPermissionNameMapBymapCompamy(mapCompamy map[int]string) (mapContractResp map[int]string, err error) {
@@ -281,129 +270,129 @@ func InitCompanyContractMerge() {
 //}
 
 // AddCompanyContractMergeByCompanyContractId 通过合同ID对合同进行合并
-func AddCompanyContractMergeByCompanyContractId(companyContractId int) {
-	var err error
-	defer func() {
-		if err != nil {
-			fmt.Println(err)
-			go alarm_msg.SendAlarmMsg("通过合同ID对合同进行合并,失败"+err.Error()+fmt.Sprint("companyContractId", companyContractId), 2)
-		}
-	}()
-	contractInfo, e := company.GetCompanyContractDetailByCompanyContractId(companyContractId)
-	if e != nil {
-		err = errors.New("GetCompanyContractDetailByCompanyContractId, Err: " + e.Error())
-		return
-	}
-
-	var condition string
-	var pars []interface{}
-
-	condition = " AND company_id = ?  ORDER BY start_date DESC   LIMIT  1  "
-	pars = append(pars, contractInfo.CompanyId)
-	contractMergeInfo, e := company.GetCompanyContractMergeDetail(condition, pars)
-	if e != nil && e.Error() != utils.ErrNoRow() {
-		err = errors.New("GetCompanyContractMergeDetail, Err: " + e.Error())
-		return
-	}
-	//fmt.Println(contractMergeInfo)
-	e = company.UpdateCompanyContractMergeIsBestNew(0, contractInfo.CompanyId)
-	if e != nil {
-		err = errors.New("UpdateCompanyContractMergeIsBestNew, Err: " + e.Error())
-		return
-	}
-	//fmt.Println(contractInfo)
-	item := new(company.CompanyContractMerge)
-	item.ContractType = contractInfo.ContractType
-	item.ProductId = contractInfo.ProductId
-	item.ProductName = contractInfo.ProductName
-	item.CompanyId = contractInfo.CompanyId
-	item.CompanyProductId = contractInfo.CompanyProductId
-	item.IsBestNew = 1
-	item.CreateTime = time.Now()
-	item.ModifyTime = time.Now()
-	//如果不存在就是新的数据
-	if contractMergeInfo == nil {
-		item.StartDate = contractInfo.StartDate
-		item.EndDate = contractInfo.EndDate
-		item.Money = contractInfo.Money
-		item.CompanyContractIdGroup = strconv.Itoa(companyContractId)
-		e = company.AddCompanyContractMerge(item)
-		if e != nil {
-			err = errors.New("AddCompanyContractMerge, Err: " + e.Error())
-			return
-		}
-	} else {
-		newStartDate := utils.StrDateToDate(contractInfo.StartDate)
-		//newEndDate := utils.StrDateToDate(contractInfo.EndDate)
-		oldEndDate := utils.StrDateToDate(contractMergeInfo.EndDate)
-
-		//续约的合同开始时间是否<上一次合同记录的结束时间 且间隔>6个月(180)天,那么就对两个合同进行合并
-		if newStartDate.AddDate(0, 0, +180).Before(oldEndDate) && newStartDate.Before(oldEndDate) {
-			item.Money = contractInfo.Money + contractMergeInfo.Money
-			item.EndDate = contractInfo.EndDate
-			item.CompanyContractIdGroup = contractMergeInfo.CompanyContractIdGroup + "," + strconv.Itoa(companyContractId)
-			//如果是续约合同就对比跟上一份合并之后的合同的差距
-			if item.ContractType == "续约合同" {
-				pars = make([]interface{}, 0)
-				condition = " AND company_id = ?  AND company_contract_merge_id != ?   ORDER BY start_date DESC   LIMIT  1  "
-				pars = append(pars, contractMergeInfo.CompanyId, contractMergeInfo.CompanyContractMergeId)
-				detailPrevious, e := company.GetCompanyContractMergeDetail(condition, pars)
-				if e != nil && e.Error() != utils.ErrNoRow() {
-					err = errors.New("GetCompanyContractMergeDetail-Update, Err: " + e.Error())
-					return
-				}
-				if detailPrevious == nil {
-					item.PackageDifference = ""
-				} else {
-					if item.Money > detailPrevious.Money {
-						item.PackageDifference = "增加套餐"
-					}
-					if item.Money == detailPrevious.Money {
-						item.PackageDifference = "维持套餐"
-					}
-					if item.Money < detailPrevious.Money {
-						item.PackageDifference = "减少套餐"
-					}
-				}
-			}
-			item.CompanyContractMergeId = contractMergeInfo.CompanyContractMergeId
-			e = company.UpdateCompanyContractMerge(item)
-			if e != nil {
-				err = errors.New("AddCompanyContractMerge, Err: " + e.Error())
-				return
-			}
-		} else {
-			item.StartDate = contractInfo.StartDate
-			item.EndDate = contractInfo.EndDate
-			item.Money = contractInfo.Money
-			item.CompanyContractIdGroup = strconv.Itoa(companyContractId)
-			//如果是续约合同就对比跟上一份合并之后的合同的差距
-			if item.ContractType == "续约合同" {
-				//pars = make([]interface{}, 0)
-				//condition = " AND company_id = ?  AND company_contract_merge_id != ?   ORDER BY start_date DESC   LIMIT  1  "
-				//pars = append(pars, contractMergeInfo.CompanyId, contractMergeInfo.CompanyContractMergeId)
-				//detailPrevious, e := company.GetCompanyContractMergeDetail(condition, pars)
-				//if e != nil {
-				//	err = errors.New("GetCompanyContractMergeDetail——add, Err: " + e.Error())
-				//	return
-				//}
-				if item.Money > contractMergeInfo.Money {
-					item.PackageDifference = "增加套餐"
-				}
-				if item.Money == contractMergeInfo.Money {
-					item.PackageDifference = "维持套餐"
-				}
-				if item.Money < contractMergeInfo.Money {
-					item.PackageDifference = "减少套餐"
-				}
-			}
-			e = company.AddCompanyContractMerge(item)
-			if e != nil {
-				err = errors.New("AddCompanyContractMerge, Err: " + e.Error())
-				return
-			}
-		}
-	}
-
-	return
-}
+//func AddCompanyContractMergeByCompanyContractId(companyContractId int) {
+//	var err error
+//	defer func() {
+//		if err != nil {
+//			fmt.Println(err)
+//			go alarm_msg.SendAlarmMsg("通过合同ID对合同进行合并,失败"+err.Error()+fmt.Sprint("companyContractId", companyContractId), 2)
+//		}
+//	}()
+//	contractInfo, e := company.GetCompanyContractDetailByCompanyContractId(companyContractId)
+//	if e != nil {
+//		err = errors.New("GetCompanyContractDetailByCompanyContractId, Err: " + e.Error())
+//		return
+//	}
+//
+//	var condition string
+//	var pars []interface{}
+//
+//	condition = " AND company_id = ?  ORDER BY start_date DESC   LIMIT  1  "
+//	pars = append(pars, contractInfo.CompanyId)
+//	contractMergeInfo, e := company.GetCompanyContractMergeDetail(condition, pars)
+//	if e != nil && e.Error() != utils.ErrNoRow() {
+//		err = errors.New("GetCompanyContractMergeDetail, Err: " + e.Error())
+//		return
+//	}
+//	//fmt.Println(contractMergeInfo)
+//	e = company.UpdateCompanyContractMergeIsBestNew(0, contractInfo.CompanyId)
+//	if e != nil {
+//		err = errors.New("UpdateCompanyContractMergeIsBestNew, Err: " + e.Error())
+//		return
+//	}
+//	//fmt.Println(contractInfo)
+//	item := new(company.CompanyContractMerge)
+//	item.ContractType = contractInfo.ContractType
+//	item.ProductId = contractInfo.ProductId
+//	item.ProductName = contractInfo.ProductName
+//	item.CompanyId = contractInfo.CompanyId
+//	item.CompanyProductId = contractInfo.CompanyProductId
+//	item.IsBestNew = 1
+//	item.CreateTime = time.Now()
+//	item.ModifyTime = time.Now()
+//	//如果不存在就是新的数据
+//	if contractMergeInfo == nil {
+//		item.StartDate = contractInfo.StartDate
+//		item.EndDate = contractInfo.EndDate
+//		item.Money = contractInfo.Money
+//		item.CompanyContractIdGroup = strconv.Itoa(companyContractId)
+//		e = company.AddCompanyContractMerge(item)
+//		if e != nil {
+//			err = errors.New("AddCompanyContractMerge, Err: " + e.Error())
+//			return
+//		}
+//	} else {
+//		newStartDate := utils.StrDateToDate(contractInfo.StartDate)
+//		//newEndDate := utils.StrDateToDate(contractInfo.EndDate)
+//		oldEndDate := utils.StrDateToDate(contractMergeInfo.EndDate)
+//
+//		//续约的合同开始时间是否<上一次合同记录的结束时间 且间隔>6个月(180)天,那么就对两个合同进行合并
+//		if newStartDate.AddDate(0, 0, +180).Before(oldEndDate) && newStartDate.Before(oldEndDate) {
+//			item.Money = contractInfo.Money + contractMergeInfo.Money
+//			item.EndDate = contractInfo.EndDate
+//			item.CompanyContractIdGroup = contractMergeInfo.CompanyContractIdGroup + "," + strconv.Itoa(companyContractId)
+//			//如果是续约合同就对比跟上一份合并之后的合同的差距
+//			if item.ContractType == "续约合同" {
+//				pars = make([]interface{}, 0)
+//				condition = " AND company_id = ?  AND company_contract_merge_id != ?   ORDER BY start_date DESC   LIMIT  1  "
+//				pars = append(pars, contractMergeInfo.CompanyId, contractMergeInfo.CompanyContractMergeId)
+//				detailPrevious, e := company.GetCompanyContractMergeDetail(condition, pars)
+//				if e != nil && e.Error() != utils.ErrNoRow() {
+//					err = errors.New("GetCompanyContractMergeDetail-Update, Err: " + e.Error())
+//					return
+//				}
+//				if detailPrevious == nil {
+//					item.PackageDifference = ""
+//				} else {
+//					if item.Money > detailPrevious.Money {
+//						item.PackageDifference = "增加套餐"
+//					}
+//					if item.Money == detailPrevious.Money {
+//						item.PackageDifference = "维持套餐"
+//					}
+//					if item.Money < detailPrevious.Money {
+//						item.PackageDifference = "减少套餐"
+//					}
+//				}
+//			}
+//			item.CompanyContractMergeId = contractMergeInfo.CompanyContractMergeId
+//			e = company.UpdateCompanyContractMerge(item)
+//			if e != nil {
+//				err = errors.New("AddCompanyContractMerge, Err: " + e.Error())
+//				return
+//			}
+//		} else {
+//			item.StartDate = contractInfo.StartDate
+//			item.EndDate = contractInfo.EndDate
+//			item.Money = contractInfo.Money
+//			item.CompanyContractIdGroup = strconv.Itoa(companyContractId)
+//			//如果是续约合同就对比跟上一份合并之后的合同的差距
+//			if item.ContractType == "续约合同" {
+//				//pars = make([]interface{}, 0)
+//				//condition = " AND company_id = ?  AND company_contract_merge_id != ?   ORDER BY start_date DESC   LIMIT  1  "
+//				//pars = append(pars, contractMergeInfo.CompanyId, contractMergeInfo.CompanyContractMergeId)
+//				//detailPrevious, e := company.GetCompanyContractMergeDetail(condition, pars)
+//				//if e != nil {
+//				//	err = errors.New("GetCompanyContractMergeDetail——add, Err: " + e.Error())
+//				//	return
+//				//}
+//				if item.Money > contractMergeInfo.Money {
+//					item.PackageDifference = "增加套餐"
+//				}
+//				if item.Money == contractMergeInfo.Money {
+//					item.PackageDifference = "维持套餐"
+//				}
+//				if item.Money < contractMergeInfo.Money {
+//					item.PackageDifference = "减少套餐"
+//				}
+//			}
+//			e = company.AddCompanyContractMerge(item)
+//			if e != nil {
+//				err = errors.New("AddCompanyContractMerge, Err: " + e.Error())
+//				return
+//			}
+//		}
+//	}
+//
+//	return
+//}