seal.go 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. package crm
  2. import (
  3. "hongze/fms_api/global"
  4. "hongze/fms_api/models/base"
  5. "time"
  6. )
  7. // Seal 用印结构体
  8. type Seal struct {
  9. SealId int `orm:"column(seal_id);pk"`
  10. Code string `description:"用印编号,长度32位"`
  11. UserId int `description:"申请人id"`
  12. UserName string `description:"申请人名称"`
  13. Use string `description:"用印用途,枚举值:'销售合同', '渠道合同', '付款通知函', '招投标', '战略合作协议';默认:销售合同"`
  14. CompanyName string `description:"客户名称,甲方名称,长度32位"`
  15. UseCompanyName string `description:"实际使用方客户名称,长度32位"`
  16. CreditCode string `description:"社会统一信用代码,长度64位"`
  17. ServiceType string `description:"业务类型,枚举值:'新签合同','续约合同','补充协议';默认:新签合同"`
  18. SealType string `description:"加盖印章类型,枚举值:'合同章', '公章', '法人章';默认:合同章"`
  19. Status string `description:"合同状态,枚举值:'待提交','待审批','已撤回','已审批','已驳回','已作废','已签回'"`
  20. Remark string `description:"补充内容,长度255位"`
  21. ApprovalRemark string `description:"审核备注"`
  22. FileUrl string `description:"文件附件地址"`
  23. CheckBackFileUrl string `description:"已签回的文件地址"`
  24. FileNum int `description:"文件附件份数"`
  25. ContractId int `description:"系统合同id"`
  26. IsDelete int `json:"-" description:"是否已经删除,0:未删除,1:已删除"`
  27. ApproveTime time.Time `description:"审批时间"`
  28. InvalidTime time.Time `description:"作废时间"`
  29. ModifyTime time.Time `description:"最近一次修改时间"`
  30. CreateTime time.Time `description:"添加时间"`
  31. CheckBackFileTime time.Time `description:"签回用印附件时间"`
  32. AffiliatedCompany string `description:"归属公司"`
  33. ProductId int `description:"产品id,1:ficc;2:权益"`
  34. CompanyId int `description:"客户id"`
  35. StartDate time.Time `description:"开始日期"`
  36. EndDate time.Time `description:"结束日期"`
  37. }
  38. // ContractDetail 合同详情信息(包含服务信息等)
  39. type SealDetail struct {
  40. Contract
  41. }
  42. func (Seal) TableName() string {
  43. return "seal"
  44. }
  45. // SealServiceDetailReq CRM系统合同-合同套餐及品种权限详情请求体
  46. type SealServiceDetailReq struct {
  47. ContractCode string `json:"contract_code" form:"contract_code" description:"合同编号"`
  48. }
  49. func (c *Seal) PageList(page base.IPage, condition string, pars []interface{}) (count int64, results []*Seal, err error) {
  50. results = make([]*Seal, 0)
  51. query := global.MYSQL["report"].Model(Seal{}).
  52. Where("is_delete = 0").
  53. Where(condition, pars...)
  54. query.Count(&count)
  55. if len(page.GetOrderItemsString()) > 0 {
  56. query = query.Order(page.GetOrderItemsString())
  57. }
  58. err = query.Limit(int(page.GetPageSize())).Offset(int(page.Offset())).Find(&results).Error
  59. return
  60. }
  61. // GetSealInfoByCode 根据合同ID获取合同详情信息
  62. func GetSealInfoByCode(code string) (item *Seal, err error) {
  63. //detail = new(SealDetail)
  64. //item := new(Seal)
  65. query := global.MYSQL["report"].
  66. Model(Seal{}).
  67. Where("code = ?", code)
  68. err = query.Find(&item).Error
  69. if err != nil {
  70. return
  71. }
  72. return
  73. }
  74. // GetSealInfoById 根据合同ID获取合同详情信息
  75. func GetSealInfoById(sealId int) (item *Seal, err error) {
  76. query := global.MYSQL["report"].
  77. Model(Seal{}).
  78. Where(" seal_id = ?", sealId)
  79. err = query.Find(&item).Error
  80. if err != nil {
  81. return
  82. }
  83. return
  84. }