org_api_controller.go 11KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447
  1. package admin_api_controllers
  2. import (
  3. "XT_Admin_Api/enums"
  4. "XT_Admin_Api/models/admin_models"
  5. "XT_Admin_Api/service"
  6. "XT_Admin_Api/utils"
  7. "fmt"
  8. "time"
  9. )
  10. type OrgAPIController struct {
  11. AdminBaseAPIAuthController
  12. }
  13. func (this *OrgAPIController) GetOrgList() {
  14. active_status, _ := this.GetInt64("active_status")
  15. depth_active_status, _ := this.GetInt64("depth_active_status")
  16. start_time := this.GetString("start_time")
  17. end_time := this.GetString("end_time")
  18. province, _ := this.GetInt64("province")
  19. city, _ := this.GetInt64("city")
  20. district, _ := this.GetInt64("district")
  21. follow, _ := this.GetInt64("follow")
  22. keyword := this.GetString("keyword")
  23. page, _ := this.GetInt64("page", 0)
  24. limit, _ := this.GetInt64("limit", 0)
  25. if page <= 0 {
  26. page = 1
  27. }
  28. if limit <= 0 {
  29. limit = 10
  30. }
  31. timeLayout := "2006-01-02"
  32. loc, _ := time.LoadLocation("Local")
  33. var startTime int64
  34. if len(start_time) > 0 {
  35. theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc)
  36. if err != nil {
  37. fmt.Println(err)
  38. this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
  39. return
  40. }
  41. startTime = theTime.Unix()
  42. }
  43. var endTime int64
  44. if len(end_time) > 0 {
  45. theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc)
  46. if err != nil {
  47. utils.ErrorLog(err.Error())
  48. this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
  49. return
  50. }
  51. endTime = theTime.Unix()
  52. }
  53. list, err, total := service.GetAllOrgList(active_status, depth_active_status, startTime, endTime, province, city, district, follow, keyword, page, limit, this.GetAdminInfo().IsAdmin)
  54. if err != nil {
  55. } else {
  56. this.ServeSuccessJSON(map[string]interface{}{
  57. "list": list,
  58. "total": total,
  59. })
  60. }
  61. }
  62. func (this *OrgAPIController) GetOrgInfo() {
  63. org_id, _ := this.GetInt64("org_id", 0)
  64. info, err := service.GetOrgDetailInfo(org_id)
  65. province, _ := service.GetDistrictsById(info.Province)
  66. city, _ := service.GetDistrictsById(info.City)
  67. district, _ := service.GetDistrictsById(info.District)
  68. orgType, err := service.GetAllOrgType()
  69. if err != nil {
  70. this.ErrorLog("错误:%v", err)
  71. return
  72. } else {
  73. this.ServeSuccessJSON(map[string]interface{}{
  74. "info": info,
  75. "area": province.Name + city.Name + district.Name,
  76. "org_type": orgType,
  77. })
  78. }
  79. }
  80. func (this *OrgAPIController) GetOrgDialysisOrderStatistics() {
  81. org_id, _ := this.GetInt64("org_id", 0)
  82. range_data := this.GetString("range_data")
  83. range_type, _ := this.GetInt64("range_type")
  84. statistics_type, _ := this.GetInt64("type")
  85. var rangeDate *time.Time
  86. var parseDateErr error
  87. var rangeTimeStamp int64
  88. var orgDialysisOrderStatistics []*admin_models.Statistics
  89. switch range_type {
  90. case 1: //今天
  91. if len(range_data) > 0 {
  92. rangeDate, parseDateErr = utils.ParseTimeStringToTime("2006-01-02", range_data)
  93. if parseDateErr != nil {
  94. this.ErrorLog("日期(%v)解析错误:%v", range_data, parseDateErr)
  95. return
  96. }
  97. rangeTimeStamp = rangeDate.Unix()
  98. } else {
  99. rangeTimeStamp = 0
  100. }
  101. now := time.Now().Unix()
  102. count, err := service.GetOrgDialysisCount(statistics_type, org_id, rangeTimeStamp, now)
  103. if err != nil {
  104. this.ErrorLog("错误:%v", err)
  105. return
  106. } else {
  107. this.ServeSuccessJSON(map[string]interface{}{
  108. "count": count,
  109. })
  110. }
  111. break
  112. case 2: //昨天
  113. var err error
  114. orgDialysisOrderStatistics, err = service.GetYesterDayOrgDialysisCount(statistics_type, org_id)
  115. if err != nil {
  116. this.ErrorLog("错误:%v", err)
  117. return
  118. } else {
  119. this.ServeSuccessJSON(map[string]interface{}{
  120. "list": orgDialysisOrderStatistics,
  121. })
  122. }
  123. break
  124. case 3: //一周
  125. var err error
  126. orgDialysisOrderStatistics, err = service.GetWeekOrgDialysisCount(statistics_type, org_id)
  127. if err != nil {
  128. this.ErrorLog("错误:%v", err)
  129. return
  130. } else {
  131. this.ServeSuccessJSON(map[string]interface{}{
  132. "list": orgDialysisOrderStatistics,
  133. })
  134. }
  135. break
  136. case 4: //一个月
  137. var err error
  138. orgDialysisOrderStatistics, err = service.GetMonthOrgDialysisCount(statistics_type, org_id)
  139. if err != nil {
  140. this.ErrorLog("错误:%v", err)
  141. return
  142. } else {
  143. this.ServeSuccessJSON(map[string]interface{}{
  144. "list": orgDialysisOrderStatistics,
  145. })
  146. }
  147. break
  148. case 5: //三个月
  149. var err error
  150. orgDialysisOrderStatistics, err = service.GetThreeMonthOrgDialysisCount(statistics_type, org_id)
  151. if err != nil {
  152. this.ErrorLog("错误:%v", err)
  153. return
  154. } else {
  155. this.ServeSuccessJSON(map[string]interface{}{
  156. "list": orgDialysisOrderStatistics,
  157. })
  158. }
  159. break
  160. case 6: //半年
  161. var err error
  162. orgDialysisOrderStatistics, err = service.GetSixMonthOrgDialysisCount(statistics_type, org_id)
  163. if err != nil {
  164. this.ErrorLog("错误:%v", err)
  165. return
  166. } else {
  167. this.ServeSuccessJSON(map[string]interface{}{
  168. "list": orgDialysisOrderStatistics,
  169. })
  170. }
  171. break
  172. case 7: //一年
  173. var err error
  174. orgDialysisOrderStatistics, err = service.GetYearOrgDialysisCount(statistics_type, org_id)
  175. if err != nil {
  176. this.ErrorLog("错误:%v", err)
  177. return
  178. } else {
  179. this.ServeSuccessJSON(map[string]interface{}{
  180. "list": orgDialysisOrderStatistics,
  181. })
  182. }
  183. break
  184. }
  185. }
  186. func (c *OrgAPIController) GetDistrictsByUpid() {
  187. id, _ := c.GetInt64("id", 0)
  188. citys, _ := service.GetDistrictsByUpid(id)
  189. c.ServeSuccessJSON(map[string]interface{}{
  190. "citys": citys,
  191. })
  192. return
  193. }
  194. func (this *OrgAPIController) GetInitData() {
  195. provinces, _ := service.GetDistrictsByUpid(0)
  196. follower, _ := service.FindAllFollower()
  197. orgType, _ := service.GetAllOrgType()
  198. this.ServeSuccessJSON(map[string]interface{}{
  199. "provinces": provinces,
  200. "follower": follower,
  201. "org_type": orgType,
  202. })
  203. }
  204. func (this *OrgAPIController) GetOrgPatientList() {
  205. org_id, _ := this.GetInt64("org_id", 0)
  206. page, _ := this.GetInt64("page", 0)
  207. limit, _ := this.GetInt64("limit", 0)
  208. if page <= 0 {
  209. page = 1
  210. }
  211. if limit <= 0 {
  212. limit = 7
  213. }
  214. patients, _, total := service.FindPatientById(org_id, page, limit)
  215. this.ServeSuccessJSON(map[string]interface{}{
  216. "patients": patients,
  217. "total": total,
  218. })
  219. }
  220. func (this *OrgAPIController) GetOrgRoleList() {
  221. org_id, _ := this.GetInt64("org_id")
  222. page, _ := this.GetInt("page")
  223. if page <= 0 {
  224. page = 1
  225. }
  226. appType, _ := service.GetAppTypeByOrgId(org_id)
  227. roles, total, getRoleErr := service.GetRoles(org_id, appType.Id, page, 10)
  228. if getRoleErr != nil {
  229. //beego.Error("获取角色列表失败:", getRoleErr)
  230. this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
  231. } else {
  232. this.ServeSuccessJSON(map[string]interface{}{
  233. "roles": roles,
  234. "total_count": total,
  235. })
  236. }
  237. }
  238. func (this *OrgAPIController) GetOrgAdminUser() {
  239. org_id, _ := this.GetInt64("org_id", 0)
  240. page, _ := this.GetInt64("page", 0)
  241. limit, _ := this.GetInt64("limit", 0)
  242. if page <= 0 {
  243. page = 1
  244. }
  245. if limit <= 0 {
  246. limit = 7
  247. }
  248. appType, _ := service.GetAppTypeByOrgId(org_id)
  249. viewModels, total, getAdminsErr := service.GetAdminUsersAndLoginInfo(org_id, appType.Id, page, 10)
  250. if getAdminsErr != nil {
  251. //beego.Error("获取管理员列表失败:", getAdminsErr)
  252. this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
  253. } else {
  254. this.ServeSuccessJSON(map[string]interface{}{
  255. "admins": viewModels,
  256. "total_count": total,
  257. })
  258. }
  259. }
  260. func (this *OrgAPIController) GetOrgZones() {
  261. org_id, _ := this.GetInt64("org_id", 0)
  262. zones, getZonesErr := service.GetAllValidDeviceZones(org_id)
  263. if getZonesErr != nil {
  264. this.ErrorLog("获取设备分区列表失败:%v", getZonesErr)
  265. this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
  266. return
  267. }
  268. this.ServeSuccessJSON(map[string]interface{}{
  269. "zones": zones,
  270. })
  271. }
  272. func (this *OrgAPIController) GetOrgGroup() {
  273. org_id, _ := this.GetInt64("org_id", 0)
  274. groups, getGroupsErr := service.GetAllValidDeviceGroups(org_id)
  275. if getGroupsErr != nil {
  276. //beego.Error("获取设备分组列表失败:", getGroupsErr)
  277. this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
  278. return
  279. }
  280. this.ServeSuccessJSON(map[string]interface{}{
  281. "groups": groups,
  282. })
  283. }
  284. func (this *OrgAPIController) GetOrgBed() {
  285. org_id, _ := this.GetInt64("org_id", 0)
  286. numbers, getNumbersErr := service.GetAllValidDeviceNumbers(org_id)
  287. if getNumbersErr != nil {
  288. //beego.Error("获取机号列表失败:", getNumbersErr)
  289. this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
  290. return
  291. }
  292. this.ServeSuccessJSON(map[string]interface{}{
  293. "numbers": numbers,
  294. })
  295. }
  296. func (this *OrgAPIController) GetOrgListOther() {
  297. follow, _ := this.GetInt64("follow")
  298. list, err := service.GetFollowOrgList(follow)
  299. if err != nil {
  300. } else {
  301. this.ServeSuccessJSON(map[string]interface{}{
  302. "list": list,
  303. })
  304. }
  305. }
  306. func (this *OrgAPIController) GetActiveOrgList() {
  307. range_data := this.GetString("range_data")
  308. var rangeDate *time.Time
  309. var parseDateErr error
  310. var rangeTimeStamp int64
  311. if len(range_data) > 0 {
  312. rangeDate, parseDateErr = utils.ParseTimeStringToTime("2006-01-02", range_data)
  313. if parseDateErr != nil {
  314. this.ErrorLog("日期(%v)解析错误:%v", range_data, parseDateErr)
  315. return
  316. }
  317. rangeTimeStamp = rangeDate.Unix()
  318. } else {
  319. rangeTimeStamp = 0
  320. }
  321. now := time.Now().Unix()
  322. list, err := service.GetActiveOrgList(rangeTimeStamp, now)
  323. if err != nil {
  324. } else {
  325. this.ServeSuccessJSON(map[string]interface{}{
  326. "list": list,
  327. })
  328. }
  329. }
  330. func (this *OrgAPIController) GetNewCreateOrgList() {
  331. range_data := this.GetString("range_data")
  332. var rangeDate *time.Time
  333. var parseDateErr error
  334. var rangeTimeStamp int64
  335. if len(range_data) > 0 {
  336. rangeDate, parseDateErr = utils.ParseTimeStringToTime("2006-01-02", range_data)
  337. if parseDateErr != nil {
  338. this.ErrorLog("日期(%v)解析错误:%v", range_data, parseDateErr)
  339. return
  340. }
  341. rangeTimeStamp = rangeDate.Unix()
  342. } else {
  343. rangeTimeStamp = 0
  344. }
  345. now := time.Now().Unix()
  346. list, err := service.GetNewCreateOrgList(rangeTimeStamp, now)
  347. if err != nil {
  348. } else {
  349. this.ServeSuccessJSON(map[string]interface{}{
  350. "list": list,
  351. })
  352. }
  353. }
  354. func (this *OrgAPIController) GetNewDoctorNurseList() {
  355. range_data := this.GetString("range_data")
  356. var rangeDate *time.Time
  357. var parseDateErr error
  358. var rangeTimeStamp int64
  359. if len(range_data) > 0 {
  360. rangeDate, parseDateErr = utils.ParseTimeStringToTime("2006-01-02", range_data)
  361. if parseDateErr != nil {
  362. this.ErrorLog("日期(%v)解析错误:%v", range_data, parseDateErr)
  363. return
  364. }
  365. rangeTimeStamp = rangeDate.Unix()
  366. } else {
  367. rangeTimeStamp = 0
  368. }
  369. now := time.Now().Unix()
  370. list, err := service.GetNewDoctorNurseList(rangeTimeStamp, now)
  371. if err != nil {
  372. } else {
  373. this.ServeSuccessJSON(map[string]interface{}{
  374. "list": list,
  375. })
  376. }
  377. }
  378. func (this *OrgAPIController) GetNewPatientList() {
  379. range_data := this.GetString("range_data")
  380. var rangeDate *time.Time
  381. var parseDateErr error
  382. var rangeTimeStamp int64
  383. if len(range_data) > 0 {
  384. rangeDate, parseDateErr = utils.ParseTimeStringToTime("2006-01-02", range_data)
  385. if parseDateErr != nil {
  386. this.ErrorLog("日期(%v)解析错误:%v", range_data, parseDateErr)
  387. return
  388. }
  389. rangeTimeStamp = rangeDate.Unix()
  390. } else {
  391. rangeTimeStamp = 0
  392. }
  393. now := time.Now().Unix()
  394. list, err := service.GetNewPatientList(rangeTimeStamp, now)
  395. if err != nil {
  396. } else {
  397. this.ServeSuccessJSON(map[string]interface{}{
  398. "list": list,
  399. })
  400. }
  401. }