expenses.go 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. package admin
  2. import (
  3. "server/dao"
  4. "server/dao/system"
  5. "server/model/common/request"
  6. "server/utils"
  7. )
  8. type ExpensesService struct{}
  9. func (es *ExpensesService) QueryExpensesList(info request.SearchExpenses) ([]dao.Expenses, int64, error) {
  10. limit := info.PageInfo.PageSize
  11. offset := info.PageInfo.PageSize * (info.PageInfo.Page - 1)
  12. return dao.QueryExpensesList(limit, offset, info.Genre, info.Reimburser, info.DayTime, info.MonthTime, info.YearTime)
  13. }
  14. func (es *ExpensesService) QueryProjectFeeList(info request.SearchExpenses) ([]dao.ProjectFee, int64, error) {
  15. limit := info.PageInfo.PageSize
  16. offset := info.PageInfo.PageSize * (info.PageInfo.Page - 1)
  17. return dao.QueryProjectFeeList(limit, offset, info.Genre, info.Reimburser, info.ProjectCode, info.DayTime, info.MonthTime, info.YearTime)
  18. }
  19. func (es *ExpensesService) QueryExpensesSumByPeople(info request.SearchExpenses) ([]dao.ExpensesResult, int64, error) {
  20. limit := info.PageInfo.PageSize
  21. offset := info.PageInfo.PageSize * (info.PageInfo.Page - 1)
  22. expenses, total, err := dao.QueryExpensesSumByPeople(limit, offset, info.Genre, info.Reimburser, info.DayTime, info.MonthTime, info.YearTime)
  23. for i, expens := range expenses {
  24. list, _, err := dao.QueryExpensesList(1000, 0, info.Genre, expens.Reimburser, info.DayTime, info.MonthTime, info.YearTime)
  25. if err != nil {
  26. return expenses, total, err
  27. }
  28. deps, err := dao.QueryDepById(expens.DepartmentId)
  29. if err != nil {
  30. return expenses, total, err
  31. }
  32. user, err := system.QueryUserByUserId(uint(expens.Reimburser))
  33. if err != nil {
  34. return expenses, total, err
  35. }
  36. expenses[i].Expenses = list
  37. expenses[i].Department = deps
  38. expenses[i].SysUser = user
  39. expenses[i].DepositAmountSum = utils.AccuratePrice(expens.DepositAmountSum)
  40. expenses[i].ExpenditureAmountSum = utils.AccuratePrice(expens.ExpenditureAmountSum)
  41. }
  42. return expenses, total, err
  43. }
  44. func (es *ExpensesService) QueryExpensesById(id int) (dao.Expenses, error) {
  45. return dao.QueryExpensesById(id)
  46. }
  47. func (es *ExpensesService) QuerySurplus() (interface{}, error) {
  48. return dao.QuerySurplus()
  49. }
  50. func (es *ExpensesService) QueryProjectMonthFee(monthTime, yearTime, code string) ([]dao.ProjectMonthFee, error) {
  51. return dao.QueryProjectMonthFee(monthTime, yearTime, code)
  52. }
  53. func (es *ExpensesService) QueryMonthExpenses(monthTime, yearTime string, genreId int) ([]dao.MonthExpenses, error) {
  54. return dao.QueryMonthExpenses(monthTime, yearTime, genreId)
  55. }
  56. func (es *ExpensesService) CreateExpenses(expenses dao.Expenses) error {
  57. return expenses.CreateExpenses()
  58. }
  59. func (es *ExpensesService) CreateProjectFee(fee dao.ProjectFee) error {
  60. return fee.CreateProjectFee()
  61. }
  62. func (es *ExpensesService) UpdateExpenses(expenses dao.Expenses) error {
  63. return expenses.UpdateExpenses()
  64. }
  65. func (es *ExpensesService) UpdateProjectFee(fee dao.ProjectFee) error {
  66. return fee.UpdateProjectFee()
  67. }
  68. func (es *ExpensesService) DeleteExpenses(expenses dao.Expenses) error {
  69. return expenses.DeleteExpenses()
  70. }
  71. func (es *ExpensesService) DeleteProjectFee(fee dao.ProjectFee) error {
  72. return fee.DeleteProjectFee()
  73. }