zhangchuanxing 2 miesięcy temu
rodzic
commit
a6f2cdc150

+ 1 - 1
models/company/company_contract.go

@@ -296,7 +296,7 @@ func GetCompanyContracDetail(condition string, pars []interface{}) (item *Compan
 	return
 }
 
-// 通过ID获取详情
+// 通过获取列表详情
 func GetCompanyContracList(condition string, pars []interface{}) (items []*CompanyContractResp, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT * FROM company_contract  WHERE 1= 1 ` + condition

+ 45 - 9
services/cygx/contract_allocation.go

@@ -399,6 +399,25 @@ func HandleAllocationCompanyContractByYanXuan(companyContractId int) (err error)
 //
 //}
 
+//func init() {
+//	var condition string
+//	var pars []interface{}
+//	condition = " AND product_id = 2  AND package_difference != ''  "
+//	companyContracList, e := company.GetCompanyContracList(condition, pars)
+//	if e != nil {
+//		fmt.Println(e)
+//		return
+//	}
+//	for k, v := range companyContracList {
+//		fmt.Println("k", k, "v.CompanyContractId", v.CompanyContractId)
+//		HandleCompanyContractPackageDifference(v.CompanyContractId)
+//	}
+//
+//	fmt.Println("endened")
+//	//condition = " AND company_contract_id = ?  "
+//	//HandleCompanyContractPackageDifference(3038)
+//}
+
 // HandleCompanyContractPackageDifference 更新与上一份合同的金额的对比 '增加套餐','减少套餐','维持套餐'
 func HandleCompanyContractPackageDifference(companyContractId int) (err error) {
 	defer func() {
@@ -417,30 +436,47 @@ func HandleCompanyContractPackageDifference(companyContractId int) (err error) {
 		err = errors.New("GetCompanyContracDetail,detail Err: " + e.Error())
 		return
 	}
+	if detail.ProductId != 2 {
+		return
+	}
+
+	startYeaar := utils.StrDateToDate(detail.StartDate).Year()
+
+	lastYearStartData := fmt.Sprint(startYeaar-1, "-01-01")
+	lastYearEndData := fmt.Sprint(startYeaar-1, "-12-31")
+	//fmt.Println(lastYearStartData)
+	//fmt.Println(lastYearEndData)
+
+	//return
 
 	//如果不是续约合同就不做对比处理
 	if detail.ContractType != "续约合同" {
 		return
 	}
-	//获取前一份合同的信息
+	//获取前一年所有的合同列表
 	pars = make([]interface{}, 0)
-	condition = " AND company_id = ? AND company_contract_id < ?   AND status = 1    AND product_id = ?  ORDER BY company_contract_id DESC   LIMIT  1  "
-	pars = append(pars, detail.CompanyId, companyContractId, detail.ProductId)
-	detailPrevious, e := company.GetCompanyContracDetail(condition, pars)
+	condition = " AND company_id = ? AND company_contract_id < ?   AND status = 1    AND product_id = ? AND  start_date >= ? AND  start_date <= ?  "
+	pars = append(pars, detail.CompanyId, companyContractId, detail.ProductId, lastYearStartData, lastYearEndData)
+	companyContracList, e := company.GetCompanyContracList(condition, pars)
 	if e != nil {
-		err = errors.New("GetCompanyContracDetail,detailPrevious Err: " + e.Error())
+		err = errors.New("GetCompanyContracList Err: " + e.Error())
 		return
 	}
-	var packageDifference string
 
-	if detail.Money > detailPrevious.Money {
+	var sumMoney float64
+	var packageDifference string
+	for _, v := range companyContracList {
+		sumMoney += v.Money
+	}
+	if detail.Money > sumMoney {
 		packageDifference = "增加套餐"
-	} else if detail.Money < detailPrevious.Money {
+	} else if detail.Money < sumMoney {
 		packageDifference = "减少套餐"
 	} else {
 		packageDifference = "维持套餐"
 	}
-
+	//fmt.Println(packageDifference)
+	//return
 	e = company.UpdateCompanyContractPackageDifference(packageDifference, companyContractId)
 	if e != nil {
 		err = errors.New("UpdateCompanyContractPackageDifference, Err: " + e.Error())