소스 검색

Merge branch 'cygx/cygx_need_950' of http://8.136.199.33:3000/hongze/hz_crm_api

xingzai 9 달 전
부모
커밋
0d1b4ec73a
3개의 변경된 파일77개의 추가작업 그리고 8개의 파일을 삭제
  1. 8 8
      controllers/company_apply_v2.go
  2. 8 0
      models/company/company_contract.go
  3. 61 0
      services/contract/contract.go

+ 8 - 8
controllers/company_apply_v2.go

@@ -101,9 +101,9 @@ func (this *CompanyApplyController) ApplyServiceUpdate() {
 		//权益的新签合同重新定义,如果合同起始时间在新签合同起始日期 1年之内的,仍为新签合同。
 		raicontractType = req.ContractType
 		if raicontractType != "新签合同" {
-			startDateTime, _ := time.Parse(utils.FormatDate, req.StartDate)
-			startDateTime = startDateTime.AddDate(-1, 0, 0)
-			totalLastYear, err := company.GetCompanyContractCountRaiByLastYear(req.CompanyId, startDateTime.Format(utils.FormatDate))
+			//startDateTime, _ := time.Parse(utils.FormatDate, req.StartDate)
+			//startDateTime = startDateTime.AddDate(-1, 0, 0)
+			totalLastYear, err := contractService.GetCompanyContractCountRaiByLastYear(req.CompanyId, req.StartDate)
 			if err != nil {
 				br.Msg = "获取合同信息失败"
 				br.ErrMsg = "获取合同信息失败,Err:" + err.Error()
@@ -617,9 +617,9 @@ func (this *CompanyApplyController) ApplyTurnPositive() {
 			//权益的新签合同重新定义,如果合同起始时间在新签合同起始日期 1年之内的,仍为新签合同。
 			raicontractType = contractType
 			if raicontractType != "新签合同" {
-				startDateTime, _ := time.Parse(utils.FormatDate, req.StartDate)
-				startDateTime = startDateTime.AddDate(-1, 0, 0)
-				totalLastYear, err := company.GetCompanyContractCountRaiByLastYear(req.CompanyId, startDateTime.Format(utils.FormatDate))
+				//startDateTime, _ := time.Parse(utils.FormatDate, req.StartDate)
+				//startDateTime = startDateTime.AddDate(-1, 0, 0)
+				totalLastYear, err := contractService.GetCompanyContractCountRaiByLastYear(req.CompanyId, req.StartDate)
 				if err != nil {
 					br.Msg = "获取合同信息失败"
 					br.ErrMsg = "获取合同信息失败,Err:" + err.Error()
@@ -1142,8 +1142,8 @@ func (this *CompanyApplyController) ApplyBySystemContract() {
 		//权益的新签合同重新定义,如果合同起始时间在新签合同起始日期 1年之内的,仍为新签合同。
 		raicontractType = contractType
 		if raicontractType != "新签合同" {
-			startDateTime := contractDetail.StartDate.AddDate(-1, 0, 0)
-			totalLastYear, err := company.GetCompanyContractCountRaiByLastYear(req.CompanyId, startDateTime.Format(utils.FormatDate))
+			//startDateTime := contractDetail.StartDate.AddDate(-1, 0, 0)
+			totalLastYear, err := contractService.GetCompanyContractCountRaiByLastYear(req.CompanyId, contractDetail.StartDate.Format(utils.FormatDate))
 			if err != nil {
 				br.Msg = "获取合同信息失败"
 				br.ErrMsg = "获取合同信息失败,Err:" + err.Error()

+ 8 - 0
models/company/company_contract.go

@@ -330,3 +330,11 @@ func UpdateCompanyContractCompanyAscribeId(companyAscribId, companyContractId in
 	_, err = o.Raw(sql, companyAscribId, companyContractId).Exec()
 	return
 }
+
+// GetFirstContractRai 权益获取第一份合同
+func GetFirstContractRai(companyId int) (item *CompanyContract, err error) {
+	o := orm.NewOrm()
+	sql := " SELECT * FROM company_contract WHERE company_id = ?  AND product_id= 2  AND status = 1   ORDER BY   start_date  ASC  LIMIT  1  "
+	err = o.Raw(sql, companyId).QueryRow(&item)
+	return
+}

+ 61 - 0
services/contract/contract.go

@@ -1763,3 +1763,64 @@ func handleRaiContractModifyContentByServices(originService []*contract.Contract
 	tips = fmt.Sprint("原服务内容:", oldStr, "</n>现服务内容:", newStr)
 	return
 }
+
+// 获取权益近一年是否有新签合同
+func GetCompanyContractCountRaiByLastYear(companyId int, startDate string) (total int, err error) {
+	firstContractRai, err := company.GetFirstContractRai(companyId)
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		return
+	}
+	//没有合同这第一份合同就属于新签合同
+	if firstContractRai == nil {
+		err = nil
+		total = 1
+		return
+	}
+	//判断是否是在一年以内
+	startDateTime, _ := time.Parse(utils.FormatDate, startDate)
+	startDateTime = startDateTime.AddDate(-1, 0, 0)
+	startDateTimeFirst, _ := time.Parse(utils.FormatDate, firstContractRai.StartDate)
+	if startDateTime.Before(startDateTimeFirst) {
+		total = 1
+	}
+	return
+}
+
+func initCRM15_5() {
+	var condition string
+	var pars []interface{}
+
+	condition = " AND  rai_contract_type  = '新签合同'  AND  product_id = 2 "
+	companyContractList, e := company.GetCompanyContractList(condition, pars)
+	if e != nil && e.Error() != utils.ErrNoRow() {
+		fmt.Println(e)
+		return
+	}
+	var CompanyContractIdS []int
+	for k, v := range companyContractList {
+		fmt.Println(k)
+		firstContractRai, err := company.GetFirstContractRai(v.CompanyId)
+		if err != nil {
+			fmt.Println(err)
+			continue
+		}
+
+		if firstContractRai.CompanyContractId == v.CompanyContractId {
+			continue
+		}
+		//判断是否是在一年以内
+		startDateTime, _ := time.Parse(utils.FormatDate, v.StartDate)
+		startDateTime = startDateTime.AddDate(-1, 0, 0)
+		startDateTimeFirst, _ := time.Parse(utils.FormatDate, firstContractRai.StartDate)
+		if !startDateTime.Before(startDateTimeFirst) {
+			CompanyContractIdS = append(CompanyContractIdS, v.CompanyContractId)
+		}
+	}
+	fmt.Println("companyContractIds", len(CompanyContractIdS))
+	fmt.Println("companyContractIds", (CompanyContractIdS))
+	//
+	//fmt.Println(strings.Join(companyContractIds, ","))
+	//err := company.UpdateCompanyContractRaiContractTypeInit(strings.Join(companyContractIds, ","))
+	//fmt.Println(err)
+	return
+}