123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- package seal
- import (
- "errors"
- "fmt"
- "hongze/hongze_mobile_admin/models/tables/seal"
- "hongze/hongze_mobile_admin/utils"
- "strings"
- "time"
- )
- //添加用印
- func AddSeal(userId, contractId 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,
- ContractId: contractId,
- ModifyTime: time.Now(),
- CreateTime: time.Now(),
- }
- err = seal.AddSeal(sealInfo)
- return
- }
- //修改用印
- func Edit(sealId, userId, contractId 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.ContractId = contractId
- sealInfo.ModifyTime = time.Now()
- sealInfo.Status = "待提交" //用印状态
- err = sealInfo.Update([]string{"Use", "CompanyName", "CreditCode", "ServiceType", "SealType", "Remark", "FileUrl", "ModifyTime", "Status"})
- return
- }
|