his_summary_controller.go 20KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556
  1. package controllers
  2. import (
  3. "XT_New/enums"
  4. "XT_New/service"
  5. "fmt"
  6. "github.com/astaxie/beego"
  7. "github.com/shopspring/decimal"
  8. "time"
  9. )
  10. type HisSummaryApiController struct {
  11. BaseAuthAPIController
  12. }
  13. func HisSummaryApiRegistRouters() {
  14. beego.Router("/api/gethissummarydetaillist", &HisSummaryApiController{}, "Get:GetHisSummaryDetailList")
  15. beego.Router("/api/his/getgatherdetailist", &HisSummaryApiController{}, "Get:GetGatherDetaiList")
  16. beego.Router("/api/his/getdetailpatients", &HisSummaryApiController{}, "Get:GetDetailPatients")
  17. }
  18. func (this *HisSummaryApiController) GetHisSummaryDetailList() {
  19. start_time := this.GetString("start_time")
  20. end_time := this.GetString("end_time")
  21. keyword := this.GetString("keyword")
  22. item_type, _ := this.GetInt64("type")
  23. patient_id, _ := this.GetInt64("patient_id")
  24. adminUser := this.GetAdminUserInfo()
  25. timeLayout := "2006-01-02"
  26. loc, _ := time.LoadLocation("Local")
  27. startTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc)
  28. if err != nil {
  29. }
  30. startRecordDateTime := startTime.Unix()
  31. endTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc)
  32. if err != nil {
  33. }
  34. endRecordDateTime := endTime.Unix()
  35. list, err := service.GetHisSummaryDetailList(keyword, item_type, patient_id, adminUser.CurrentOrgId, startRecordDateTime, endRecordDateTime)
  36. patient, _ := service.GetPatientByID(adminUser.CurrentOrgId, patient_id)
  37. his_patient, _ := service.GetHisSummaryPatientInfo(adminUser.CurrentOrgId, patient_id, startRecordDateTime, endRecordDateTime)
  38. order, _ := service.GetHisLastOrder(adminUser.CurrentOrgId, patient_id, startRecordDateTime, endRecordDateTime)
  39. his_record_patient, _ := service.GetHisSummaryPatientInfoSix(adminUser.CurrentOrgId, patient_id, startRecordDateTime, endRecordDateTime)
  40. //获取所有的科室
  41. hisDepatment, _ := service.GetHisDepatment(adminUser.CurrentOrgId)
  42. if err == nil {
  43. this.ServeSuccessJSON(map[string]interface{}{
  44. "list": list,
  45. "patient": patient,
  46. "his_patient": his_patient,
  47. "hisDepatment": hisDepatment,
  48. "order": order,
  49. "his_record_patient": his_record_patient,
  50. })
  51. return
  52. } else {
  53. this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
  54. return
  55. }
  56. }
  57. func (this *HisSummaryApiController) GetGatherDetaiList() {
  58. start_time := this.GetString("start_time")
  59. end_time := this.GetString("end_time")
  60. keyword := this.GetString("keyword")
  61. item_type, _ := this.GetInt64("type")
  62. patient_id, _ := this.GetInt64("patient_id")
  63. adminUser := this.GetAdminUserInfo()
  64. timeLayout := "2006-01-02"
  65. loc, _ := time.LoadLocation("Local")
  66. startTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc)
  67. if err != nil {
  68. }
  69. startRecordDateTime := startTime.Unix()
  70. endTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc)
  71. if err != nil {
  72. }
  73. endRecordDateTime := endTime.Unix()
  74. //查询该病人这段时间的记录单号
  75. orderInfo, _ := service.GetGatherHisOrder(keyword, item_type, patient_id, adminUser.CurrentOrgId, startRecordDateTime, endRecordDateTime)
  76. org_id := this.GetAdminUserInfo().CurrentOrgId
  77. appid := this.GetAdminUserInfo().CurrentAppId
  78. var order_info []*service.HisOrderInfo
  79. var MdtrtId string
  80. patient, _ := service.GetPatientByID(org_id, patient_id)
  81. for _, item := range orderInfo {
  82. orderinfo, _ := service.GetHisOrderDetailByNumber(item.Number, org_id)
  83. //number = item.Number
  84. MdtrtId = item.MdtrtId
  85. for _, it := range orderinfo {
  86. order_info = append(order_info, it)
  87. }
  88. }
  89. his, _ := service.GetHisPatientInfoFive(org_id, patient_id, startRecordDateTime, endRecordDateTime)
  90. record, _ := service.GetInHospitalRecordByNumber(MdtrtId)
  91. //获取所有客户
  92. adminInfo, _ := service.GetAllDoctorSix(org_id, appid)
  93. //获取最后一次排班
  94. schedule, _ := service.GetHisSchedule(patient_id, org_id, startRecordDateTime, endRecordDateTime)
  95. fmt.Println("scheudlwe3223333232233232232323232323232323", schedule)
  96. bedNumber, _ := service.GetAllBedNumberSix(org_id)
  97. var bedCostTotal float64 = 0 //床位总费
  98. var operationCostTotal float64 = 0 //手术费
  99. var otherCostTotal float64 = 0 //其他费用
  100. var materialCostTotal float64 = 0 //材料费
  101. var westernMedicineCostTotal float64 = 0 //西药费
  102. var chineseTraditionalMedicineCostTotal float64 = 0 //中成药
  103. var checkCostTotal float64 = 0 //检查费
  104. var laboratoryCostTotal float64 = 0 //化验费
  105. var treatCostTotal float64 = 0 //治疗费用
  106. var zhenChaCostTotal float64 = 0 //其他费用
  107. decimal.DivisionPrecision = 2
  108. var BalanceAccountsType int64
  109. if his.ID > 0 {
  110. BalanceAccountsType = his.BalanceAccountsType
  111. } else {
  112. BalanceAccountsType = record.BalanceAccountsType
  113. }
  114. his_patient, _ := service.GetHisSummaryPatientInfo(adminUser.CurrentOrgId, patient_id, startRecordDateTime, endRecordDateTime)
  115. //获取所有的科室
  116. hisDepatment, _ := service.GetHisDepatment(adminUser.CurrentOrgId)
  117. //统计
  118. prescription, _ := service.GetHisPrescriptionTenty(adminUser.CurrentOrgId, patient_id, startRecordDateTime, endRecordDateTime, keyword, item_type)
  119. //orderlist, _ := service.GetHisChargeOrder(adminUser.CurrentOrgId, patient_id, startRecordDateTime, endRecordDateTime, keyword, item_type)
  120. var medicalInsuranceLevel = "医保等级"
  121. medicalInsuranceLevelParent, _ := service.GetDrugDataConfig(0, medicalInsuranceLevel)
  122. medicalInsuranceLevelList, _ := service.GetParentDataConfig(medicalInsuranceLevelParent.ID, adminUser.CurrentOrgId)
  123. if BalanceAccountsType != 2 && BalanceAccountsType > 0 {
  124. for _, item := range order_info {
  125. if org_id == 10215 {
  126. if item.MedChrgitmType == "01" { //床位费
  127. bedCostTotal, _ = decimal.NewFromFloat(bedCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  128. }
  129. if item.MedChrgitmType == "02" { //诊察费
  130. zhenChaCostTotal, _ = decimal.NewFromFloat(zhenChaCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  131. }
  132. if item.MedChrgitmType == "03" { //检查费
  133. checkCostTotal, _ = decimal.NewFromFloat(checkCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  134. }
  135. if item.MedChrgitmType == "04" { //化验费
  136. laboratoryCostTotal, _ = decimal.NewFromFloat(laboratoryCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  137. }
  138. if item.MedChrgitmType == "05" || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403" { //治疗费
  139. treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  140. }
  141. if item.MedChrgitmType == "06" { //手术费
  142. operationCostTotal, _ = decimal.NewFromFloat(operationCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  143. }
  144. if item.MedChrgitmType == "08" { //材料费
  145. materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  146. }
  147. if item.MedChrgitmType == "09" { //西药费
  148. westernMedicineCostTotal, _ = decimal.NewFromFloat(westernMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  149. }
  150. if item.MedChrgitmType == "11" { //中成费
  151. chineseTraditionalMedicineCostTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  152. }
  153. if item.MedChrgitmType == "14" || item.MedChrgitmType == "0" || item.MedChrgitmType == "12" { //其他费
  154. otherCostTotal, _ = decimal.NewFromFloat(otherCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  155. }
  156. } else if org_id == 10188 || org_id == 10217 {
  157. if item.MedChrgitmType == "01" { //床位费
  158. bedCostTotal, _ = decimal.NewFromFloat(bedCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  159. }
  160. if item.MedChrgitmType == "02" { //诊察费
  161. zhenChaCostTotal, _ = decimal.NewFromFloat(zhenChaCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  162. }
  163. if item.MedChrgitmType == "03" { //检查费
  164. laboratoryCostTotal, _ = decimal.NewFromFloat(laboratoryCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  165. }
  166. if item.MedChrgitmType == "04" { //化验费
  167. laboratoryCostTotal, _ = decimal.NewFromFloat(laboratoryCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  168. }
  169. if item.MedChrgitmType == "05" || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403" { //治疗费
  170. treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  171. }
  172. if item.MedChrgitmType == "06" { //手术费
  173. operationCostTotal, _ = decimal.NewFromFloat(operationCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  174. }
  175. if item.MedChrgitmType == "08" { //材料费
  176. materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  177. }
  178. if item.MedChrgitmType == "09" { //西药费
  179. westernMedicineCostTotal, _ = decimal.NewFromFloat(westernMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  180. }
  181. if item.MedChrgitmType == "11" { //中成费
  182. chineseTraditionalMedicineCostTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  183. }
  184. if item.MedChrgitmType == "14" || item.MedChrgitmType == "0" || item.MedChrgitmType == "12" { //其他费
  185. otherCostTotal, _ = decimal.NewFromFloat(otherCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  186. }
  187. } else {
  188. if item.MedChrgitmType == "01" { //床位费
  189. bedCostTotal, _ = decimal.NewFromFloat(bedCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  190. }
  191. if item.MedChrgitmType == "03" { //检查费
  192. checkCostTotal, _ = decimal.NewFromFloat(checkCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  193. }
  194. if item.MedChrgitmType == "04" { //化验费
  195. laboratoryCostTotal, _ = decimal.NewFromFloat(laboratoryCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  196. }
  197. if item.MedChrgitmType == "05" || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403" { //治疗费
  198. treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  199. }
  200. if item.MedChrgitmType == "06" { //手术费
  201. operationCostTotal, _ = decimal.NewFromFloat(operationCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  202. }
  203. if item.MedChrgitmType == "08" { //材料费
  204. materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  205. }
  206. if item.MedChrgitmType == "09" { //西药费
  207. westernMedicineCostTotal, _ = decimal.NewFromFloat(westernMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  208. }
  209. if item.MedChrgitmType == "11" { //中成费
  210. chineseTraditionalMedicineCostTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  211. }
  212. if item.MedChrgitmType == "14" || item.MedChrgitmType == "0" || item.MedChrgitmType == "12" || item.MedChrgitmType == "02" { //其他费
  213. otherCostTotal, _ = decimal.NewFromFloat(otherCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  214. }
  215. }
  216. }
  217. this.ServeSuccessJSON(map[string]interface{}{
  218. "order": orderInfo,
  219. "order_info": order_info,
  220. "patient": patient,
  221. "admin_info": adminInfo,
  222. "his_hospital": record,
  223. "bedCostTotal": bedCostTotal,
  224. "operationCostTotal": operationCostTotal,
  225. "otherCostTotal": otherCostTotal,
  226. "materialCostTotal": materialCostTotal,
  227. "westernMedicineCostTotal": westernMedicineCostTotal,
  228. "chineseTraditionalMedicineCostTotal": chineseTraditionalMedicineCostTotal,
  229. "checkCostTotal": checkCostTotal,
  230. "zhenChaCostTotal": zhenChaCostTotal,
  231. "laboratoryCostTotal": laboratoryCostTotal,
  232. "treatCostTotal": treatCostTotal,
  233. "his_patient": his_patient,
  234. "hisDepatment": hisDepatment,
  235. "prescription": prescription,
  236. "schedule": schedule,
  237. "bedNumber": bedNumber,
  238. })
  239. } else {
  240. for _, item := range order_info {
  241. item.FulamtOwnpayAmt = item.DetItemFeeSumamt
  242. if item.HisDoctorAdviceInfo.ID > 0 && item.HisPrescriptionProject.ID == 0 { //药品
  243. item.MedChrgitmType = "09"
  244. }
  245. if item.HisPrescriptionProject.ID > 0 && item.HisDoctorAdviceInfo.ID == 0 {
  246. if item.HisPrescriptionProject.Type == 2 {
  247. if this.GetAdminUserInfo().CurrentOrgId == 10215 {
  248. switch item.HisPrescriptionProject.VMHisProject.CostClassify {
  249. case 0:
  250. item.MedChrgitmType = "0"
  251. break
  252. case 1:
  253. item.MedChrgitmType = "14"
  254. break
  255. case 2:
  256. item.MedChrgitmType = "05"
  257. break
  258. case 3:
  259. item.MedChrgitmType = "03"
  260. break
  261. case 4:
  262. item.MedChrgitmType = "03"
  263. break
  264. case 5:
  265. item.MedChrgitmType = "08"
  266. break
  267. case 6:
  268. item.MedChrgitmType = "14"
  269. break
  270. case 7:
  271. item.MedChrgitmType = "14"
  272. break
  273. case 8:
  274. item.MedChrgitmType = "03"
  275. break
  276. case 9:
  277. item.MedChrgitmType = "14"
  278. break
  279. case 10:
  280. item.MedChrgitmType = "14"
  281. break
  282. case 11:
  283. item.MedChrgitmType = "06"
  284. break
  285. case 12:
  286. item.MedChrgitmType = "12"
  287. break
  288. case 13:
  289. item.MedChrgitmType = "01"
  290. break
  291. case 14:
  292. item.MedChrgitmType = "04"
  293. break
  294. case 15:
  295. item.MedChrgitmType = "14"
  296. break
  297. }
  298. } else {
  299. switch item.HisPrescriptionProject.VMHisProject.CostClassify {
  300. case 1:
  301. item.MedChrgitmType = "14"
  302. break
  303. case 2:
  304. item.MedChrgitmType = "05"
  305. break
  306. case 3:
  307. item.MedChrgitmType = "04"
  308. break
  309. case 4:
  310. item.MedChrgitmType = "14"
  311. break
  312. case 5:
  313. item.MedChrgitmType = "08"
  314. break
  315. case 6:
  316. item.MedChrgitmType = "14"
  317. break
  318. case 7:
  319. item.MedChrgitmType = "14"
  320. break
  321. case 8:
  322. item.MedChrgitmType = "03"
  323. break
  324. case 9:
  325. item.MedChrgitmType = "14"
  326. break
  327. }
  328. }
  329. } else if item.HisPrescriptionProject.Type == 3 {
  330. item.MedChrgitmType = "08"
  331. }
  332. }
  333. }
  334. for _, item := range order_info {
  335. if org_id == 10215 {
  336. if item.MedChrgitmType == "01" { //床位费
  337. bedCostTotal, _ = decimal.NewFromFloat(bedCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  338. }
  339. if item.MedChrgitmType == "02" { //诊察费
  340. zhenChaCostTotal, _ = decimal.NewFromFloat(zhenChaCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  341. }
  342. if item.MedChrgitmType == "03" { //检查费
  343. checkCostTotal, _ = decimal.NewFromFloat(checkCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  344. }
  345. if item.MedChrgitmType == "04" { //化验费
  346. laboratoryCostTotal, _ = decimal.NewFromFloat(laboratoryCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  347. }
  348. if item.MedChrgitmType == "05" || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403" { //治疗费
  349. treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  350. }
  351. if item.MedChrgitmType == "06" { //手术费
  352. operationCostTotal, _ = decimal.NewFromFloat(operationCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  353. }
  354. if item.MedChrgitmType == "08" { //材料费
  355. materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  356. }
  357. if item.MedChrgitmType == "09" { //西药费
  358. westernMedicineCostTotal, _ = decimal.NewFromFloat(westernMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  359. }
  360. if item.MedChrgitmType == "11" { //中成费
  361. chineseTraditionalMedicineCostTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  362. }
  363. if item.MedChrgitmType == "14" || item.MedChrgitmType == "0" || item.MedChrgitmType == "12" { //其他费
  364. otherCostTotal, _ = decimal.NewFromFloat(otherCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  365. }
  366. } else {
  367. if item.MedChrgitmType == "01" { //床位费
  368. bedCostTotal, _ = decimal.NewFromFloat(bedCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  369. }
  370. if item.MedChrgitmType == "03" { //检查费
  371. checkCostTotal, _ = decimal.NewFromFloat(checkCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  372. }
  373. if item.MedChrgitmType == "04" { //化验费
  374. laboratoryCostTotal, _ = decimal.NewFromFloat(laboratoryCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  375. }
  376. if item.MedChrgitmType == "05" || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403" { //治疗费
  377. treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  378. }
  379. if item.MedChrgitmType == "06" { //手术费
  380. operationCostTotal, _ = decimal.NewFromFloat(operationCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  381. }
  382. if item.MedChrgitmType == "08" { //材料费
  383. materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  384. }
  385. if item.MedChrgitmType == "09" { //西药费
  386. westernMedicineCostTotal, _ = decimal.NewFromFloat(westernMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  387. }
  388. if item.MedChrgitmType == "11" { //中成费
  389. chineseTraditionalMedicineCostTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  390. }
  391. if item.MedChrgitmType == "14" || item.MedChrgitmType == "0" || item.MedChrgitmType == "12" || item.MedChrgitmType == "02" { //其他费
  392. otherCostTotal, _ = decimal.NewFromFloat(otherCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  393. }
  394. }
  395. }
  396. this.ServeSuccessJSON(map[string]interface{}{
  397. "order": orderInfo,
  398. "order_info": order_info,
  399. "patient": patient,
  400. "admin_info": adminInfo,
  401. "his_hospital": record,
  402. "bedCostTotal": bedCostTotal,
  403. "operationCostTotal": operationCostTotal,
  404. "otherCostTotal": otherCostTotal,
  405. "materialCostTotal": materialCostTotal,
  406. "westernMedicineCostTotal": westernMedicineCostTotal,
  407. "chineseTraditionalMedicineCostTotal": chineseTraditionalMedicineCostTotal,
  408. "checkCostTotal": checkCostTotal,
  409. "zhenChaCostTotal": zhenChaCostTotal,
  410. "laboratoryCostTotal": laboratoryCostTotal,
  411. "treatCostTotal": treatCostTotal,
  412. "his_patient": his_patient,
  413. "hisDepatment": hisDepatment,
  414. "prescription": prescription,
  415. "balanceAccountsType": BalanceAccountsType,
  416. "medicalInsuranceLevelList": medicalInsuranceLevelList,
  417. "schedule": schedule,
  418. "bedNumber": bedNumber,
  419. })
  420. }
  421. }
  422. func (this *HisSummaryApiController) GetDetailPatients() {
  423. keyword := this.GetString("keyword")
  424. orgId := this.GetAdminUserInfo().CurrentOrgId
  425. patients, err := service.GetDetailPatients(keyword, orgId)
  426. if err == nil {
  427. this.ServeSuccessJSON(map[string]interface{}{
  428. "patient": patients,
  429. })
  430. return
  431. } else {
  432. this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
  433. return
  434. }
  435. }