contract_income_history.go 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package fms
  2. import (
  3. "hongze/fms_api/global"
  4. "time"
  5. )
  6. type ContractIncomeHistory struct {
  7. IncomeId int `json:"income_id" gorm:"primaryKey;column:income_id"` //
  8. Amount float64 `json:"amount" gorm:"column:amount"` // 开票金额
  9. InvoiceTime time.Time `json:"invoice_time" gorm:"column:invoice_time"` // 开票日期/到款月
  10. SellerId int `json:"seller_id" gorm:"column:seller_id"` // 销售ID
  11. GroupId int `json:"group_id" gorm:"column:group_id"` // 销售ID
  12. SellerName string `json:"seller_name" gorm:"column:seller_name"` // 销售名称
  13. GroupName string `json:"group_name" gorm:"column:group_name"` // 销售名称
  14. NewCompany int `json:"new_company" gorm:"column:new_company"` // 是否为新客户:0-否;1-是
  15. CompanyName string `json:"company_name" gorm:"column:company_name"` // 客户名称
  16. DepartmentId int `json:"department_id" gorm:"column:department_id"` // 部门ID
  17. }
  18. func (c *ContractIncomeHistory) List(condition string, pars []interface{}) (list []*ContractIncomeHistory, err error) {
  19. list = make([]*ContractIncomeHistory, 0)
  20. err = global.DEFAULT_MYSQL.Model(c).
  21. Where(condition, pars...).
  22. Find(&list).Error
  23. return
  24. }
  25. func (c *ContractIncomeHistory) TableName() string {
  26. return "contract_income_history"
  27. }
  28. // GetIncomeHistory
  29. func GetIncomeHistory(condition string, pars []interface{}) (results []*IncomeSummaryItem, err error) {
  30. sql := `SELECT amount,seller_name,new_company AS contract_type,company_name,invoice_time AS invoice_date, seller_id as final_seller_id,group_id AS seller_group_id FROM contract_income_history WHERE `
  31. sql += condition
  32. sql += ` ORDER BY invoice_date `
  33. err = global.DEFAULT_MYSQL.Raw(sql, pars...).Find(&results).Error
  34. return
  35. }
  36. // GetIncomeHistoryList
  37. func GetIncomeHistoryList() (results []*ContractIncomeHistory, err error) {
  38. sql := `SELECT * FROM contract_income_history `
  39. err = global.DEFAULT_MYSQL.Raw(sql).Find(&results).Error
  40. return
  41. }
  42. func (c *ContractIncomeHistory) Update(updateCols []string) (err error) {
  43. err = global.DEFAULT_MYSQL.Model(c).Select(updateCols).Updates(c).Error
  44. return
  45. }
  46. func GetLatestHistoryIncome(condition string, pars []interface{}) (result *ContractInvoice, err error) {
  47. sql := `SELECT
  48. *
  49. FROM
  50. contract_income_history WHERE 1=1 `
  51. sql += condition
  52. sql += ` ORDER BY invoice_time DESC `
  53. err = global.DEFAULT_MYSQL.Raw(sql, pars...).First(&result).Error
  54. return
  55. }