finance.go 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. package admin
  2. import (
  3. "server/dao"
  4. "server/model/common/request"
  5. )
  6. type FinanceService struct{}
  7. func (fs *FinanceService) QueryDailyExpensesList(info request.SearchProject) (list interface{}, total int64, err error) {
  8. limit := info.PageInfo.PageSize
  9. offset := info.PageInfo.PageSize * (info.PageInfo.Page - 1)
  10. dailyExpenses, total, err := dao.QueryDailyExpensesList(limit, offset, info.State, info.Name, info.Time)
  11. return dailyExpenses, total, err
  12. }
  13. func (fs *FinanceService) QueryDailyExpenses(id int) (dao.DailyExpenses, error) {
  14. expenses, err := dao.QueryDailyExpenses(id)
  15. if err != nil {
  16. return dao.DailyExpenses{}, err
  17. }
  18. details, err := dao.QueryDailyFeeDetails(int(expenses.ID))
  19. if err != nil {
  20. return dao.DailyExpenses{}, err
  21. }
  22. expenses.DailyFeeDetails = details
  23. return expenses, err
  24. }
  25. func (fs *FinanceService) QueryExpensesGenre() ([]dao.ExpensesGenre, error) {
  26. return dao.QueryExpensesGenre()
  27. }
  28. func (fs *FinanceService) QueryBorrowingList(info request.SearchProject) (list interface{}, total int64, err error) {
  29. limit := info.PageInfo.PageSize
  30. offset := info.PageInfo.PageSize * (info.PageInfo.Page - 1)
  31. borrowing, total, err := dao.QueryBorrowingList(limit, offset, info.Name, info.Time)
  32. return borrowing, total, err
  33. }
  34. func (fs *FinanceService) QueryBorrowing(id int) (dao.Borrowing, error) {
  35. return dao.QueryBorrowing(id)
  36. }
  37. func (fs *FinanceService) QueryDailyFileList(info request.SearchIdNameGenre) (list interface{}, total int64, err error) {
  38. limit := info.PageInfo.PageSize
  39. offset := info.PageInfo.PageSize * (info.PageInfo.Page - 1)
  40. dailyFiles, total, err := dao.QueryDailyFileList(limit, offset, info.Id, info.Genre, info.Name)
  41. return dailyFiles, total, err
  42. }
  43. func (fs *FinanceService) QueryProjectFinance(code string) (dao.Project, error) {
  44. project, err := dao.QueryProjectByCode(code)
  45. if err != nil {
  46. return dao.Project{}, err
  47. }
  48. collection, err := dao.QueryCollection(code)
  49. if err != nil {
  50. return dao.Project{}, err
  51. }
  52. workingHours, err := dao.QueryWorkingHours(code)
  53. if err != nil {
  54. return dao.Project{}, err
  55. }
  56. reimbursements, err := dao.QueryReimbursement(code)
  57. if err != nil {
  58. return dao.Project{}, err
  59. }
  60. for i, reimbursement := range reimbursements {
  61. details, err := dao.QueryFeeDetails(int(reimbursement.ID))
  62. if err != nil {
  63. return dao.Project{}, err
  64. }
  65. reimbursements[i].FeeDetails = details
  66. }
  67. project.Collection = collection
  68. project.WorkingHours = workingHours
  69. project.Reimbursement = reimbursements
  70. return project, err
  71. }
  72. func (fs *FinanceService) CreateDailyExpenses(expenses dao.DailyExpenses) error {
  73. return expenses.CreateDailyExpenses()
  74. }
  75. func (fs *FinanceService) CreateExpensesGenre(genre dao.ExpensesGenre) error {
  76. return genre.CreateExpensesGenre()
  77. }
  78. func (fs *FinanceService) CreateBorrowing(borrowing dao.Borrowing) error {
  79. return borrowing.CreateBorrowing()
  80. }
  81. func (fs *FinanceService) CreateDailyFile(file dao.DailyFile) error {
  82. return file.CreateDailyFile()
  83. }
  84. func (fs *FinanceService) UpdateDailyExpenses(expenses dao.DailyExpenses) error {
  85. return expenses.UpdateDailyExpenses()
  86. }
  87. func (fs *FinanceService) UpdateExpensesGenre(genre dao.ExpensesGenre) error {
  88. return genre.UpdateExpensesGenre()
  89. }
  90. func (fs *FinanceService) UpdateBorrowing(borrowing dao.Borrowing) error {
  91. return borrowing.UpdateBorrowing()
  92. }
  93. func (fs *FinanceService) DeleteDailyExpenses(expenses dao.DailyExpenses) error {
  94. return expenses.DeleteDailyExpenses()
  95. }
  96. func (fs *FinanceService) DeleteExpensesGenre(genre dao.ExpensesGenre) error {
  97. return genre.DeleteExpensesGenre()
  98. }
  99. func (fs *FinanceService) DeleteBorrowing(borrowing dao.Borrowing) error {
  100. return borrowing.DeleteBorrowing()
  101. }
  102. func (fs *FinanceService) DeleteDailyFile(file dao.DailyFile) error {
  103. return file.DeleteDailyFile()
  104. }