seal.go 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  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. Money float64 `description:"合同金额"`
  38. WxUserId int `description:"用户id,针对某份合同仅对单个用户使用的时候的场景"`
  39. WxUserName string `description:"用户姓名,针对某份合同仅对单个用户使用的时候的场景"`
  40. }
  41. // ContractDetail 合同详情信息(包含服务信息等)
  42. type SealDetail struct {
  43. Contract
  44. }
  45. func (Seal) TableName() string {
  46. return "seal"
  47. }
  48. // SealServiceDetailReq CRM系统合同-合同套餐及品种权限详情请求体
  49. type SealServiceDetailReq struct {
  50. ContractCode string `json:"contract_code" form:"contract_code" description:"合同编号"`
  51. }
  52. func (c *Seal) PageList(page base.IPage, condition string, pars []interface{}) (count int64, results []*Seal, err error) {
  53. results = make([]*Seal, 0)
  54. query := global.MYSQL["report"].Model(Seal{}).
  55. Where("is_delete = 0").
  56. Where(condition, pars...)
  57. query.Count(&count)
  58. if len(page.GetOrderItemsString()) > 0 {
  59. query = query.Order(page.GetOrderItemsString())
  60. }
  61. err = query.Limit(int(page.GetPageSize())).Offset(int(page.Offset())).Find(&results).Error
  62. return
  63. }
  64. // GetSealInfoByCode 根据合同ID获取合同详情信息
  65. func GetSealInfoByCode(code string) (item *Seal, err error) {
  66. //detail = new(SealDetail)
  67. //item := new(Seal)
  68. query := global.MYSQL["report"].
  69. Model(Seal{}).
  70. Where("code = ?", code)
  71. err = query.Find(&item).Error
  72. if err != nil {
  73. return
  74. }
  75. return
  76. }
  77. // GetSealInfoById 根据合同ID获取合同详情信息
  78. func GetSealInfoById(sealId int) (item *Seal, err error) {
  79. query := global.MYSQL["report"].
  80. Model(Seal{}).
  81. Where(" seal_id = ?", sealId)
  82. err = query.Find(&item).Error
  83. if err != nil {
  84. return
  85. }
  86. return
  87. }