xingzai 8 сар өмнө
parent
commit
6865e8eb9b

+ 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
+}

+ 22 - 0
services/contract/contract.go

@@ -1763,3 +1763,25 @@ 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
+}