package seal import ( "errors" "fmt" "hongze/hongze_mobile_admin/models/tables/seal" "hongze/hongze_mobile_admin/utils" "strings" "time" ) //添加用印 func AddSeal(userId, contractId, fileNum int, userName, use, useCompanyName, companyName, creditCode, serviceType, sealType, remark, fileUrl string) (sealInfo *seal.Seal, err error) { useList := []string{"销售合同", "渠道合同", "付款通知函", "招投标", "战略合作协议"} serviceTypeList := []string{"新增业务", "续约业务", "补充协议"} sealTypeList := []string{"合同章", "公章", "法人章"} if !strings.Contains(strings.Join(useList, ","), use) { err = errors.New("用印用途异常") return } if !strings.Contains(strings.Join(serviceTypeList, ","), serviceType) { err = errors.New("业务类型异常") return } if !strings.Contains(strings.Join(sealTypeList, ","), sealType) { err = errors.New("加盖印章类型异常") return } sealCode, err := seal.GetSealCode() if err != nil { return } sealInfo = &seal.Seal{ Code: sealCode, UserId: userId, UserName: userName, Use: use, CompanyName: companyName, UseCompanyName: useCompanyName, CreditCode: creditCode, ServiceType: serviceType, SealType: sealType, Status: "待提交", Remark: remark, FileUrl: fileUrl, FileNum: fileNum, ContractId: contractId, ModifyTime: time.Now(), CreateTime: time.Now(), } err = seal.AddSeal(sealInfo) return } //修改用印 func Edit(sealId, userId, contractId, fileNum int, use, companyName, userCompanyName, creditCode, serviceType, sealType, remark, fileUrl string) (sealInfo *seal.Seal, err error) { useList := []string{"销售合同", "渠道合同", "付款通知函", "招投标", "战略合作协议"} serviceTypeList := []string{"新增业务", "续约业务", "补充协议"} sealTypeList := []string{"合同章", "公章", "法人章"} if !strings.Contains(strings.Join(useList, ","), use) { err = errors.New("用印用途异常") return } if !strings.Contains(strings.Join(serviceTypeList, ","), serviceType) { err = errors.New("业务类型异常") return } if !strings.Contains(strings.Join(sealTypeList, ","), sealType) { err = errors.New("加盖印章类型异常") return } //查询当前合同信息 sealInfo, err = seal.GetSealInfoById(sealId) if err != nil { if err.Error() == utils.ErrNoRow() { err = errors.New(fmt.Sprint("根据用印编号:", sealId, " 找不到该用印")) } return } if sealInfo.UserId != userId { err = errors.New("当前账号无操作权限") return } ignoreStatus := []string{"待提交", "已撤回", "已驳回"} if !strings.Contains(strings.Join(ignoreStatus, ","), sealInfo.Status) { err = errors.New("用印状态异常,不允许修改,当前用印状态:" + sealInfo.Status) return } //sealId,userId int, userName, use, companyName, creditCode, serviceType, sealType, remark, fileUrl string sealInfo.Use = use sealInfo.CompanyName = companyName sealInfo.UseCompanyName = userCompanyName sealInfo.CreditCode = creditCode sealInfo.ServiceType = serviceType sealInfo.SealType = sealType sealInfo.Remark = remark sealInfo.FileUrl = fileUrl sealInfo.FileNum = fileNum sealInfo.ContractId = contractId sealInfo.ModifyTime = time.Now() sealInfo.Status = "待提交" //用印状态 err = sealInfo.Update([]string{"Use", "CompanyName", "CreditCode", "ServiceType", "SealType", "Remark", "FileUrl", "ModifyTime", "Status"}) return }