|
@@ -11317,3 +11317,193 @@ func (c *DialysisAPIController) UpdateEditDrugOrder() {
|
11317
|
11317
|
"advice": advice,
|
11318
|
11318
|
})
|
11319
|
11319
|
}
|
|
11320
|
+
|
|
11321
|
+func (c *DialysisAPIController) SaveLongAdviceTemplate() {
|
|
11322
|
+
|
|
11323
|
+ dataBody := make(map[string]interface{}, 0)
|
|
11324
|
+ timeLayout := "2006-01-02"
|
|
11325
|
+ loc, _ := time.LoadLocation("Local")
|
|
11326
|
+ err := json.Unmarshal(c.Ctx.Input.RequestBody, &dataBody)
|
|
11327
|
+ if err != nil {
|
|
11328
|
+ utils.ErrorLog(err.Error())
|
|
11329
|
+ c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
|
|
11330
|
+ return
|
|
11331
|
+ }
|
|
11332
|
+ if dataBody["start_time"] == nil || reflect.TypeOf(dataBody["start_time"]).String() != "string" {
|
|
11333
|
+ utils.ErrorLog("start_time")
|
|
11334
|
+ c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
|
|
11335
|
+ return
|
|
11336
|
+ }
|
|
11337
|
+
|
|
11338
|
+ startTime2, _ := dataBody["start_time"].(string)
|
|
11339
|
+ time_arr := strings.Split(startTime2, " ")
|
|
11340
|
+ if len(time_arr) > 0 {
|
|
11341
|
+ startTime2 = time_arr[0]
|
|
11342
|
+ }
|
|
11343
|
+ if dataBody["advice_date"] == nil || reflect.TypeOf(dataBody["advice_date"]).String() != "string" {
|
|
11344
|
+ utils.ErrorLog("advice_date")
|
|
11345
|
+ c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
|
|
11346
|
+ return
|
|
11347
|
+ }
|
|
11348
|
+ advice_date, _ := dataBody["advice_date"].(string)
|
|
11349
|
+
|
|
11350
|
+ var advicedateunix int64
|
|
11351
|
+ if len(advice_date) > 0 {
|
|
11352
|
+ theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", advice_date+" 00:00:00", loc)
|
|
11353
|
+ if err != nil {
|
|
11354
|
+ fmt.Println(err)
|
|
11355
|
+ c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
|
|
11356
|
+ return
|
|
11357
|
+ }
|
|
11358
|
+ advicedateunix = theTime.Unix()
|
|
11359
|
+ }
|
|
11360
|
+
|
|
11361
|
+ adviceDate := startTime2
|
|
11362
|
+ if len(adviceDate) == 0 {
|
|
11363
|
+ utils.ErrorLog("len(adviceDate) == 0")
|
|
11364
|
+ c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
|
|
11365
|
+ return
|
|
11366
|
+ }
|
|
11367
|
+ theTime, err := time.ParseInLocation(timeLayout, adviceDate, loc)
|
|
11368
|
+ if err != nil {
|
|
11369
|
+ utils.ErrorLog(err.Error())
|
|
11370
|
+ c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
|
|
11371
|
+ return
|
|
11372
|
+ }
|
|
11373
|
+ RecordDate := advicedateunix
|
|
11374
|
+
|
|
11375
|
+ if dataBody["start_time"] == nil || reflect.TypeOf(dataBody["start_time"]).String() != "string" {
|
|
11376
|
+ utils.ErrorLog("start_time")
|
|
11377
|
+ c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
|
|
11378
|
+ return
|
|
11379
|
+ }
|
|
11380
|
+ startTime, _ := dataBody["start_time"].(string)
|
|
11381
|
+
|
|
11382
|
+ if len(startTime) == 0 {
|
|
11383
|
+ utils.ErrorLog("len(start_time) == 0")
|
|
11384
|
+ c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
|
|
11385
|
+ return
|
|
11386
|
+ }
|
|
11387
|
+ theTime, err = time.ParseInLocation(timeLayout+" 15:04:05", startTime, loc)
|
|
11388
|
+
|
|
11389
|
+ if err != nil {
|
|
11390
|
+ utils.ErrorLog(err.Error())
|
|
11391
|
+ c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
|
|
11392
|
+ return
|
|
11393
|
+ }
|
|
11394
|
+ StartTime := theTime.Unix()
|
|
11395
|
+
|
|
11396
|
+ patient_id := int64(dataBody["patient_id"].(float64))
|
|
11397
|
+
|
|
11398
|
+ group_no := int64(dataBody["group_no"].(float64))
|
|
11399
|
+
|
|
11400
|
+ org_id := c.GetMobileAdminUserInfo().Org.Id
|
|
11401
|
+
|
|
11402
|
+ advice_doctor := c.GetMobileAdminUserInfo().AdminUser.Id
|
|
11403
|
+
|
|
11404
|
+ if dataBody["advices"] == nil || reflect.TypeOf(dataBody["advices"]).String() != "[]interface {}" {
|
|
11405
|
+ utils.ErrorLog("advices")
|
|
11406
|
+ c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
|
|
11407
|
+ return
|
|
11408
|
+ }
|
|
11409
|
+ adviceNames := dataBody["advices"].([]interface{})
|
|
11410
|
+
|
|
11411
|
+ var advices []*models.GroupAdvice
|
|
11412
|
+ for _, adviceNameMap := range adviceNames {
|
|
11413
|
+ var advice models.GroupAdvice
|
|
11414
|
+ adviceNameM := adviceNameMap.(map[string]interface{})
|
|
11415
|
+ if adviceNameM["advice_name"] == nil || reflect.TypeOf(adviceNameM["advice_name"]).String() != "string" {
|
|
11416
|
+ utils.ErrorLog("advice_name")
|
|
11417
|
+ c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
|
|
11418
|
+ return
|
|
11419
|
+ }
|
|
11420
|
+ adviceName, _ := adviceNameM["advice_name"].(string)
|
|
11421
|
+
|
|
11422
|
+ if len(adviceName) == 0 {
|
|
11423
|
+ utils.ErrorLog("len(advice_name) == 0")
|
|
11424
|
+ c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
|
|
11425
|
+ return
|
|
11426
|
+ }
|
|
11427
|
+ advice.AdviceName = adviceName
|
|
11428
|
+
|
|
11429
|
+ if adviceNameM["drug_spec"] != nil && reflect.TypeOf(adviceNameM["drug_spec"]).String() == "string" {
|
|
11430
|
+ drugSpec, _ := strconv.ParseFloat(adviceNameM["drug_spec"].(string), 64)
|
|
11431
|
+ advice.DrugSpec = drugSpec
|
|
11432
|
+ }
|
|
11433
|
+
|
|
11434
|
+ if adviceNameM["advice_desc"] != nil && reflect.TypeOf(adviceNameM["advice_desc"]).String() == "string" {
|
|
11435
|
+ adviceDesc, _ := adviceNameM["advice_desc"].(string)
|
|
11436
|
+ advice.AdviceDesc = adviceDesc
|
|
11437
|
+ }
|
|
11438
|
+
|
|
11439
|
+ if adviceNameM["drug_spec_unit"] != nil && reflect.TypeOf(adviceNameM["drug_spec_unit"]).String() == "string" {
|
|
11440
|
+ drugSpecUnit, _ := adviceNameM["drug_spec_unit"].(string)
|
|
11441
|
+ advice.DrugSpecUnit = drugSpecUnit
|
|
11442
|
+ }
|
|
11443
|
+
|
|
11444
|
+ if adviceNameM["single_dose"] != nil && reflect.TypeOf(adviceNameM["single_dose"]).String() == "string" {
|
|
11445
|
+ singleDose, _ := strconv.ParseFloat(adviceNameM["single_dose"].(string), 64)
|
|
11446
|
+ advice.SingleDose = singleDose
|
|
11447
|
+ }
|
|
11448
|
+ if adviceNameM["single_dose"] != nil && reflect.TypeOf(adviceNameM["single_dose"]).String() == "float64" {
|
|
11449
|
+ singleDose := adviceNameM["single_dose"].(float64)
|
|
11450
|
+ advice.SingleDose = singleDose
|
|
11451
|
+ }
|
|
11452
|
+
|
|
11453
|
+ if adviceNameM["single_dose_unit"] != nil && reflect.TypeOf(adviceNameM["single_dose_unit"]).String() == "string" {
|
|
11454
|
+ singleDoseUnit, _ := adviceNameM["single_dose_unit"].(string)
|
|
11455
|
+ advice.SingleDoseUnit = singleDoseUnit
|
|
11456
|
+ }
|
|
11457
|
+ if adviceNameM["single_dose_unit"] != nil && reflect.TypeOf(adviceNameM["single_dose_unit"]).String() == "float64" {
|
|
11458
|
+ tmp := adviceNameM["single_dose_unit"].(float64)
|
|
11459
|
+ singleDoseUnit := service.TypeConversion(tmp)
|
|
11460
|
+ advice.SingleDoseUnit = singleDoseUnit
|
|
11461
|
+ }
|
|
11462
|
+
|
|
11463
|
+ if adviceNameM["prescribing_number"] != nil && reflect.TypeOf(adviceNameM["prescribing_number"]).String() == "string" {
|
|
11464
|
+ prescribingNumber, _ := strconv.ParseFloat(adviceNameM["prescribing_number"].(string), 64)
|
|
11465
|
+ advice.PrescribingNumber = prescribingNumber
|
|
11466
|
+ }
|
|
11467
|
+ if adviceNameM["prescribing_number"] != nil && reflect.TypeOf(adviceNameM["prescribing_number"]).String() == "float64" {
|
|
11468
|
+ prescribingNumber := adviceNameM["prescribing_number"].(float64)
|
|
11469
|
+ advice.PrescribingNumber = prescribingNumber
|
|
11470
|
+ }
|
|
11471
|
+
|
|
11472
|
+ if adviceNameM["prescribing_number_unit"] != nil && reflect.TypeOf(adviceNameM["prescribing_number_unit"]).String() == "string" {
|
|
11473
|
+ prescribingNumberUnit, _ := adviceNameM["prescribing_number_unit"].(string)
|
|
11474
|
+ advice.PrescribingNumberUnit = prescribingNumberUnit
|
|
11475
|
+ }
|
|
11476
|
+ if adviceNameM["delivery_way"] != nil && reflect.TypeOf(adviceNameM["delivery_way"]).String() == "string" {
|
|
11477
|
+ deliveryWay, _ := adviceNameM["delivery_way"].(string)
|
|
11478
|
+ advice.DeliveryWay = deliveryWay
|
|
11479
|
+ }
|
|
11480
|
+
|
|
11481
|
+ if adviceNameM["execution_frequency"] != nil && reflect.TypeOf(adviceNameM["execution_frequency"]).String() == "string" {
|
|
11482
|
+ executionFrequency, _ := adviceNameM["execution_frequency"].(string)
|
|
11483
|
+ advice.ExecutionFrequency = executionFrequency
|
|
11484
|
+ }
|
|
11485
|
+
|
|
11486
|
+ remark, _ := adviceNameM["remark"].(string)
|
|
11487
|
+
|
|
11488
|
+ advice.Remark = remark
|
|
11489
|
+
|
|
11490
|
+ advice.AdviceType = 1
|
|
11491
|
+
|
|
11492
|
+ advice.StartTime = StartTime
|
|
11493
|
+ advice.RecordDate = RecordDate
|
|
11494
|
+
|
|
11495
|
+ advice.PatientId = patient_id
|
|
11496
|
+
|
|
11497
|
+ advice.UserOrgId = org_id
|
|
11498
|
+
|
|
11499
|
+ advice.AdviceDoctor = advice_doctor
|
|
11500
|
+
|
|
11501
|
+ advices = append(advices, &advice)
|
|
11502
|
+ }
|
|
11503
|
+
|
|
11504
|
+ newAdvices, _ := service.CreateMobileMGroupAdvice(org_id, advices, group_no)
|
|
11505
|
+
|
|
11506
|
+ c.ServeSuccessJSON(map[string]interface{}{
|
|
11507
|
+ "advice": newAdvices,
|
|
11508
|
+ })
|
|
11509
|
+}
|