expenses.go 2.9 KB

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