finance.go 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  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.SearchDailyFee) (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.Genre, info.Name, info.Time, info.YearTime)
  11. for i, expenses := range dailyExpenses {
  12. feeDetails, err := dao.QueryDailyFeeDetails(int(expenses.ID))
  13. if err != nil {
  14. return nil, 0, err
  15. }
  16. dailyExpenses[i].DailyFeeDetails = feeDetails
  17. }
  18. return dailyExpenses, total, err
  19. }
  20. func (fs *FinanceService) QueryDailyExpenses(id int) (dao.DailyExpenses, error) {
  21. expenses, err := dao.QueryDailyExpenses(id)
  22. if err != nil {
  23. return dao.DailyExpenses{}, err
  24. }
  25. details, err := dao.QueryDailyFeeDetails(int(expenses.ID))
  26. if err != nil {
  27. return dao.DailyExpenses{}, err
  28. }
  29. expenses.DailyFeeDetails = details
  30. return expenses, err
  31. }
  32. func (fs *FinanceService) QueryExpensesGenre() ([]dao.ExpensesGenre, error) {
  33. return dao.QueryExpensesGenre()
  34. }
  35. func (fs *FinanceService) QueryBorrowingList(info request.SearchNameTime) (list interface{}, total int64, err error) {
  36. limit := info.PageInfo.PageSize
  37. offset := info.PageInfo.PageSize * (info.PageInfo.Page - 1)
  38. borrowing, total, err := dao.QueryBorrowingList(limit, offset, info.Name, info.Time, info.YearTime)
  39. return borrowing, total, err
  40. }
  41. func (fs *FinanceService) QueryBorrowing(id int) (dao.Borrowing, error) {
  42. return dao.QueryBorrowing(id)
  43. }
  44. func (fs *FinanceService) QueryDailyFileList(info request.SearchIdNameGenre) (list interface{}, total int64, err error) {
  45. limit := info.PageInfo.PageSize
  46. offset := info.PageInfo.PageSize * (info.PageInfo.Page - 1)
  47. dailyFiles, total, err := dao.QueryDailyFileList(limit, offset, info.Id, info.Genre, info.Name)
  48. return dailyFiles, total, err
  49. }
  50. func (fs *FinanceService) QueryProjectFinance(code string) (dao.Project, error) {
  51. project, err := dao.QueryProjectByCode(code)
  52. if err != nil {
  53. return dao.Project{}, err
  54. }
  55. collection, collectionTotal, err := dao.QueryCollectionList(8, 0, code, "")
  56. if err != nil {
  57. return dao.Project{}, err
  58. }
  59. reimbursements, reimbursementTotal, err := dao.QueryReimbursementList(8, 0, code, "", "")
  60. if err != nil {
  61. return dao.Project{}, err
  62. }
  63. for i, reimbursement := range reimbursements {
  64. details, err := dao.QueryFeeDetails(int(reimbursement.ID))
  65. if err != nil {
  66. return dao.Project{}, err
  67. }
  68. reimbursements[i].FeeDetails = details
  69. }
  70. workingHours, workingHoursTotal, err := dao.QueryWorkingHoursList(8, 0, 0, code, "", "")
  71. if err != nil {
  72. return dao.Project{}, err
  73. }
  74. project.Collection = collection
  75. project.Reimbursement = reimbursements
  76. project.WorkingHours = workingHours
  77. project.ReimbursementTotal = reimbursementTotal
  78. project.CollectionTotal = collectionTotal
  79. project.WorkingHoursTotal = workingHoursTotal
  80. return project, err
  81. }
  82. func (fs *FinanceService) CreateDailyExpenses(expenses dao.DailyExpenses) error {
  83. return expenses.CreateDailyExpenses()
  84. }
  85. func (fs *FinanceService) CreateExpensesGenre(genre dao.ExpensesGenre) error {
  86. return genre.CreateExpensesGenre()
  87. }
  88. func (fs *FinanceService) CreateBorrowing(borrowing dao.Borrowing) error {
  89. return borrowing.CreateBorrowing()
  90. }
  91. func (fs *FinanceService) CreateDailyFile(file dao.DailyFile) error {
  92. return file.CreateDailyFile()
  93. }
  94. func (fs *FinanceService) UpdateDailyExpenses(expenses dao.DailyExpenses) error {
  95. return expenses.UpdateDailyExpenses()
  96. }
  97. func (fs *FinanceService) UpdateExpensesGenre(genre dao.ExpensesGenre) error {
  98. return genre.UpdateExpensesGenre()
  99. }
  100. func (fs *FinanceService) UpdateBorrowing(borrowing dao.Borrowing) error {
  101. return borrowing.UpdateBorrowing()
  102. }
  103. func (fs *FinanceService) DeleteDailyExpenses(expenses dao.DailyExpenses) error {
  104. return expenses.DeleteDailyExpenses()
  105. }
  106. func (fs *FinanceService) DeleteExpensesGenre(genre dao.ExpensesGenre) error {
  107. return genre.DeleteExpensesGenre()
  108. }
  109. func (fs *FinanceService) DeleteBorrowing(borrowing dao.Borrowing) error {
  110. return borrowing.DeleteBorrowing()
  111. }
  112. func (fs *FinanceService) DeleteDailyFile(file dao.DailyFile) error {
  113. return file.DeleteDailyFile()
  114. }