seal.go 3.8 KB

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