12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- package company_contract
- import (
- "errors"
- "fmt"
- "hongze/hongze_task/models"
- "hongze/hongze_task/models/company"
- "hongze/hongze_task/models/company_approval"
- "hongze/hongze_task/models/company_contract"
- "hongze/hongze_task/utils"
- "strings"
- "time"
- )
- func HandleCompanyContract() (err error) {
- defer func() {
- if err != nil {
-
- go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "合同处理 ErrMsg:"+err.Error(), utils.EmailSendToUsers)
- }
- }()
- today := utils.GetToday(utils.FormatDate)
- total,list,err := company_contract.GetStartContractListByStartDate(today)
- if err != nil {
- fmt.Println("HandleCompanyContract Err:" + err.Error())
- utils.FileLog.Info("HandleCompanyContract Err:%s" + err.Error())
- return
- }
- fmt.Sprintln("总共d%条数据待处理",total)
- errorList := make([]string,0)
- for _, v := range list {
-
-
- companyApproval,err := company_approval.GetCompanyApprovalByCompanyContractId(v.CompanyContractId)
- if err != nil {
- errorList = append(errorList,fmt.Sprint("合同id:",v.CompanyContractId,";err:",err))
- continue
- }
- if companyApproval == nil{
- errorList = append(errorList,fmt.Sprint("合同id:",v.CompanyContractId,";找不到对应的审批单"))
- continue
- }
- companyProduct,err := models.GetCompanyProduct(v.CompanyId,v.ProductId)
- if err != nil {
- errorList = append(errorList,fmt.Sprint("合同id:",v.CompanyContractId,";寻找客户产品时异常 err:",err))
- continue
- }
-
-
- companyProductEndDate, err := time.Parse(utils.FormatDate, companyProduct.EndDate)
- if err != nil {
- errorList = append(errorList,fmt.Sprint("合同id:",v.CompanyContractId,";格式化客户当前产品结束时间时异常 err:",err))
- continue
- }
-
- contractEndDate, err := time.Parse(utils.FormatDate, v.EndDate)
- if err != nil {
- errorList = append(errorList,fmt.Sprint("合同id:",v.CompanyContractId,";格式化合同结束日期时异常 err:",err))
- continue
- }
-
- if contractEndDate.Before(companyProductEndDate) {
- errorList = append(errorList,fmt.Sprint("合同id:",v.CompanyContractId,";合同结束日期 小于 客户当前产品结束日期,不执行该合同内容"))
- continue
- }
-
- switch companyApproval.ApplyMethod {
- case 1:
- company.TryOutToFormal(v.CompanyId, v.ProductId, utils.AdminId, v.CompanyContractId, v.StartDate, v.EndDate, utils.RealName, v.ProductName)
- case 5:
- company.ApplyServiceUpdate(v.CompanyId, v.ProductId, utils.AdminId, v.CompanyContractId, v.StartDate, v.EndDate, utils.RealName, v.ProductName)
- default:
- errorList = append(errorList,fmt.Sprint("合同id:",v.CompanyContractId,";审批单类型异常"))
- continue
- }
- }
-
- if len(errorList) >0 {
- err = errors.New(strings.Join(errorList,";"))
- }
- return
- }
|