his_charge_api_controller.go 3.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. package controllers
  2. import (
  3. "XT_New/enums"
  4. "XT_New/service"
  5. "github.com/astaxie/beego"
  6. "time"
  7. )
  8. type HisChargeApiController struct {
  9. BaseAuthAPIController
  10. }
  11. func HisChargeApiRegistRouters() {
  12. beego.Router("/api/his/chargestatistics/detail", &HisChargeApiController{}, "get:GetChargeStatisticsDetail")
  13. beego.Router("/api/his/chargestatistics/summary", &HisChargeApiController{}, "get:GetChargeStatisticsSummary")
  14. beego.Router("/api/his/chargestatistics/settle", &HisChargeApiController{}, "get:GetChargeStatisticsSettle")
  15. }
  16. func (c *HisChargeApiController) GetChargeStatisticsDetail() {
  17. start_time := c.GetString("start_time")
  18. end_time := c.GetString("end_time")
  19. adminUser := c.GetAdminUserInfo()
  20. timeLayout := "2006-01-02"
  21. loc, _ := time.LoadLocation("Local")
  22. startTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc)
  23. if err != nil {
  24. }
  25. startRecordDateTime := startTime.Unix()
  26. endTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc)
  27. if err != nil {
  28. }
  29. endRecordDateTime := endTime.Unix()
  30. chargePatient, err := service.GetAllPatientChargeDetails(adminUser.CurrentOrgId, startRecordDateTime, endRecordDateTime)
  31. if err == nil {
  32. c.ServeSuccessJSON(map[string]interface{}{
  33. "patients": chargePatient,
  34. })
  35. return
  36. } else {
  37. c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
  38. return
  39. }
  40. }
  41. func (c *HisChargeApiController) GetChargeStatisticsSummary() {
  42. start_time := c.GetString("start_time")
  43. end_time := c.GetString("end_time")
  44. adminUser := c.GetAdminUserInfo()
  45. timeLayout := "2006-01-02"
  46. loc, _ := time.LoadLocation("Local")
  47. startTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc)
  48. if err != nil {
  49. }
  50. startRecordDateTime := startTime.Unix()
  51. endTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc)
  52. if err != nil {
  53. }
  54. endRecordDateTime := endTime.Unix()
  55. chargePatient, err := service.GetAllPatientChargeDetails(adminUser.CurrentOrgId, startRecordDateTime, endRecordDateTime)
  56. if err == nil {
  57. c.ServeSuccessJSON(map[string]interface{}{
  58. "patients": chargePatient,
  59. })
  60. return
  61. } else {
  62. c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
  63. return
  64. }
  65. }
  66. func (c *HisChargeApiController) GetChargeStatisticsSettle() {
  67. start_time := c.GetString("start_time")
  68. end_time := c.GetString("end_time")
  69. adminUser := c.GetAdminUserInfo()
  70. timeLayout := "2006-01-02"
  71. loc, _ := time.LoadLocation("Local")
  72. startTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc)
  73. if err != nil {
  74. }
  75. startRecordDateTime := startTime.Unix()
  76. endTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc)
  77. if err != nil {
  78. }
  79. endRecordDateTime := endTime.Unix()
  80. chargePatient, err := service.GetAllPatientChargeDetails(adminUser.CurrentOrgId, startRecordDateTime, endRecordDateTime)
  81. if err == nil {
  82. c.ServeSuccessJSON(map[string]interface{}{
  83. "patients": chargePatient,
  84. })
  85. return
  86. } else {
  87. c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
  88. return
  89. }
  90. }