|
@@ -236,9 +236,10 @@ func GetAllDialysisOrdersByList(orgID int64, scheduleDate int64) (dialysisOrders
|
236
|
236
|
defer redis.Close()
|
237
|
237
|
key := strconv.FormatInt(orgID, 10) + ":" + ":dialysis_orders_list_all"
|
238
|
238
|
dialysis_orders_list_all, _ := redis.Get(key).Result()
|
239
|
|
-
|
|
239
|
+ fmt.Println("hhhhhahdhaf3e2323323223", len(dialysis_orders_list_all))
|
240
|
240
|
if len(dialysis_orders_list_all) == 0 { //没有到缓存数据,从数据库中获取数据,进行缓存到redis
|
241
|
241
|
err = readDb.Model(&models.MDialysisOrderForList{}).Preload("DeviceNumber", "status = 1 AND org_id = ?", orgID).Where("status = 1 AND user_org_id = ? AND dialysis_date = ?", orgID, scheduleDate).Find(&dialysisOrders).Error
|
|
242
|
+ fmt.Println("err2332233232323232232323", err)
|
242
|
243
|
if err != nil {
|
243
|
244
|
if err == gorm.ErrRecordNotFound {
|
244
|
245
|
return nil, nil
|
|
@@ -430,7 +431,7 @@ func FindPatientByIdWithDiseases(orgID int64, id int64) (patient models.Patients
|
430
|
431
|
redis := RedisClient()
|
431
|
432
|
defer redis.Close()
|
432
|
433
|
key := strconv.FormatInt(orgID, 10) + ":" + strconv.FormatInt(id, 10) + ":patient_info"
|
433
|
|
- fmt.Println("keyw233223322332332233232323232323223233", key)
|
|
434
|
+
|
434
|
435
|
patient_info_str, _ := redis.Get(key).Result()
|
435
|
436
|
|
436
|
437
|
if len(patient_info_str) == 0 { //没有到缓存数据,从数据库中获取数据,进行缓存到redis
|
|
@@ -445,6 +446,7 @@ func FindPatientByIdWithDiseases(orgID int64, id int64) (patient models.Patients
|
445
|
446
|
if patient.ID > 0 {
|
446
|
447
|
//缓存数据
|
447
|
448
|
patient_info_json, err := json.Marshal(&patient)
|
|
449
|
+
|
448
|
450
|
if err == nil {
|
449
|
451
|
redis.Set(key, patient_info_json, time.Second*60*60*18)
|
450
|
452
|
}
|
|
@@ -1318,56 +1320,69 @@ func GetPatientScheduleList(orgID int64, patientID int64, page int64, limit int6
|
1318
|
1320
|
|
1319
|
1321
|
func GetMonitorRecord(orgID int64, date int64, partition int64, patientId int64) ([]*models.NewVMMonitorDialysisSchedule, error) {
|
1320
|
1322
|
var mds []*models.NewVMMonitorDialysisSchedule
|
1321
|
|
-
|
1322
|
|
- if patientId == 0 {
|
1323
|
|
- db := readDb.
|
1324
|
|
- Model(&models.NewVMMonitorDialysisSchedule{}).
|
1325
|
|
- Preload("DeviceNumber", "status = 1 AND org_id = ?", orgID).
|
1326
|
|
- Preload("DeviceZone", "status = 1 AND org_id = ?", orgID).
|
1327
|
|
- Preload("TreatmentMode", "status = 1").
|
1328
|
|
- Preload("Prescription", "status = 1 AND user_org_id = ? AND record_date = ?", orgID, date).
|
1329
|
|
- Preload("AssessmentBeforeDislysis", "status = 1 AND user_org_id = ? AND assessment_date = ?", orgID, date).
|
1330
|
|
- Preload("AssessmentAfterDislysis", "status = 1 AND user_org_id = ? AND assessment_date = ? ", orgID, date).
|
1331
|
|
- Preload("MonitoringRecord", "status = 1 AND user_org_id = ? AND monitoring_date = ?", orgID, date).
|
1332
|
|
- Preload("DialysisOrder", "status = 1 AND user_org_id = ? AND dialysis_date = ?", orgID, date).
|
1333
|
|
- Preload("DialysisOrder.DeviceNumber", "status = 1 AND org_id = ?", orgID).
|
1334
|
|
- Preload("MonitorPatients", "status = 1 AND user_org_id = ?", orgID).
|
1335
|
|
- Where("status = 1 AND user_org_id = ?", orgID)
|
1336
|
|
- if date != 0 {
|
1337
|
|
- db = db.Where("schedule_date = ? ", date)
|
1338
|
|
- }
|
1339
|
|
- if partition != 0 {
|
1340
|
|
- db = db.Where("partition_id = ? ", partition)
|
1341
|
|
- }
|
1342
|
|
- err := db.Find(&mds).Error
|
1343
|
|
- fmt.Println("err", err)
|
|
1323
|
+ //
|
|
1324
|
+ //if patientId == 0 {
|
|
1325
|
+ // db := readDb.
|
|
1326
|
+ // Model(&models.NewVMMonitorDialysisSchedule{}).
|
|
1327
|
+ // Preload("DeviceNumber", "status = 1 AND org_id = ?", orgID).
|
|
1328
|
+ // Preload("DeviceZone", "status = 1 AND org_id = ?", orgID).
|
|
1329
|
+ // Preload("TreatmentMode", "status = 1").
|
|
1330
|
+ // Preload("Prescription", "status = 1 AND user_org_id = ? AND record_date = ?", orgID, date).
|
|
1331
|
+ // Preload("AssessmentBeforeDislysis", "status = 1 AND user_org_id = ? AND assessment_date = ?", orgID, date).
|
|
1332
|
+ // Preload("AssessmentAfterDislysis", "status = 1 AND user_org_id = ? AND assessment_date = ? ", orgID, date).
|
|
1333
|
+ // Preload("MonitoringRecord", "status = 1 AND user_org_id = ? AND monitoring_date = ?", orgID, date).
|
|
1334
|
+ // Preload("DialysisOrder", "status = 1 AND user_org_id = ? AND dialysis_date = ?", orgID, date).
|
|
1335
|
+ // Preload("DialysisOrder.DeviceNumber", "status = 1 AND org_id = ?", orgID).
|
|
1336
|
+ // Preload("MonitorPatients", "status = 1 AND user_org_id = ?", orgID).
|
|
1337
|
+ // Where("status = 1 AND user_org_id = ?", orgID)
|
|
1338
|
+ // if date != 0 {
|
|
1339
|
+ // db = db.Where("schedule_date = ? ", date)
|
|
1340
|
+ // }
|
|
1341
|
+ // if partition != 0 {
|
|
1342
|
+ // db = db.Where("partition_id = ? ", partition)
|
|
1343
|
+ // }
|
|
1344
|
+ // err := db.Find(&mds).Error
|
|
1345
|
+ // fmt.Println("err", err)
|
|
1346
|
+
|
|
1347
|
+ //if patientId > 0 {
|
|
1348
|
+ // db := readDb.Table("xt_schedule as x").Where("x.status = 1")
|
|
1349
|
+ // db = db.
|
|
1350
|
+ // Preload("DeviceNumber", "status = 1 AND org_id = ?", orgID).
|
|
1351
|
+ // Preload("TreatmentMode", "status = 1").
|
|
1352
|
+ // Preload("Prescription", "status = 1 AND user_org_id = ? AND patient_id = ?", orgID, patientId).
|
|
1353
|
+ // Preload("AssessmentBeforeDislysis", "status = 1 AND user_org_id = ? AND patient_id = ?", orgID, patientId).
|
|
1354
|
+ // Preload("AssessmentAfterDislysis", "status = 1 AND user_org_id = ? AND patient_id = ? ", orgID, patientId).
|
|
1355
|
+ // Preload("MonitoringRecord", "status = 1 AND user_org_id = ? AND patient_id = ?", orgID, patientId).
|
|
1356
|
+ // Preload("DialysisOrder", "status = 1 AND user_org_id = ? AND patient_id = ?", orgID, patientId).
|
|
1357
|
+ // Preload("DialysisOrder.DeviceNumber", "status = 1 AND org_id = ?", orgID).
|
|
1358
|
+ // Preload("MonitorPatients", "status = 1 AND user_org_id = ?", orgID).
|
|
1359
|
+ // Where("status = 1 AND user_org_id = ?", orgID)
|
|
1360
|
+ // if partition != 0 {
|
|
1361
|
+ // db = db.Where("partition_id = ? ", partition)
|
|
1362
|
+ // }
|
|
1363
|
+ //
|
|
1364
|
+ // db = db.Where("schedule_date <= ? ", time.Now().Unix())
|
|
1365
|
+ //
|
|
1366
|
+ // db = db.Where("patient_id = ?", patientId)
|
|
1367
|
+ // db = db.Order("schedule_date desc")
|
|
1368
|
+ // err := db.Find(&mds).Error
|
|
1369
|
+ // fmt.Println("err", err)
|
|
1370
|
+ //}
|
|
1371
|
+
|
|
1372
|
+ db := readDb.Model(&models.NewVMMonitorDialysisSchedule{})
|
|
1373
|
+ if date > 0 {
|
|
1374
|
+ db = db.Where("schedule_date = ?", date)
|
|
1375
|
+ }
|
|
1376
|
+ if partition > 0 {
|
|
1377
|
+ db = db.Where("partition_id = ?", partition)
|
1344
|
1378
|
}
|
1345
|
|
-
|
1346
|
1379
|
if patientId > 0 {
|
1347
|
|
- db := readDb.Table("xt_schedule as x").Where("x.status = 1")
|
1348
|
|
- db = db.
|
1349
|
|
- Preload("DeviceNumber", "status = 1 AND org_id = ?", orgID).
|
1350
|
|
- Preload("TreatmentMode", "status = 1").
|
1351
|
|
- Preload("Prescription", "status = 1 AND user_org_id = ? AND patient_id = ?", orgID, patientId).
|
1352
|
|
- Preload("AssessmentBeforeDislysis", "status = 1 AND user_org_id = ? AND patient_id = ?", orgID, patientId).
|
1353
|
|
- Preload("AssessmentAfterDislysis", "status = 1 AND user_org_id = ? AND patient_id = ? ", orgID, patientId).
|
1354
|
|
- Preload("MonitoringRecord", "status = 1 AND user_org_id = ? AND patient_id = ?", orgID, patientId).
|
1355
|
|
- Preload("DialysisOrder", "status = 1 AND user_org_id = ? AND patient_id = ?", orgID, patientId).
|
1356
|
|
- Preload("DialysisOrder.DeviceNumber", "status = 1 AND org_id = ?", orgID).
|
1357
|
|
- Preload("MonitorPatients", "status = 1 AND user_org_id = ?", orgID).
|
1358
|
|
- Where("status = 1 AND user_org_id = ?", orgID)
|
1359
|
|
- if partition != 0 {
|
1360
|
|
- db = db.Where("partition_id = ? ", partition)
|
1361
|
|
- }
|
1362
|
|
-
|
1363
|
|
- db = db.Where("schedule_date <= ? ", time.Now().Unix())
|
1364
|
1380
|
|
1365
|
1381
|
db = db.Where("patient_id = ?", patientId)
|
1366
|
|
- db = db.Order("schedule_date desc")
|
1367
|
|
- err := db.Find(&mds).Error
|
1368
|
|
- fmt.Println("err", err)
|
1369
|
1382
|
}
|
1370
|
1383
|
|
|
1384
|
+ err = db.Where("status = 1 and user_org_id = ?", orgID).Find(&mds).Error
|
|
1385
|
+
|
1371
|
1386
|
return mds, err
|
1372
|
1387
|
}
|
1373
|
1388
|
|
|
@@ -1812,3 +1827,587 @@ func UpdateScheduleItemByPatientId(id int64) error {
|
1812
|
1827
|
err := XTWriteDB().Model(models.PatientScheduleTemplateItem{}).Where("patient_id = ? and status = 1", id).Updates(map[string]interface{}{"status": 0}).Error
|
1813
|
1828
|
return err
|
1814
|
1829
|
}
|
|
1830
|
+
|
|
1831
|
+func GetAllDeviceNumberByList(orgID int64) (number []*models.DeviceNumber, err error) {
|
|
1832
|
+ redis := RedisClient()
|
|
1833
|
+ defer redis.Close()
|
|
1834
|
+ key := strconv.FormatInt(orgID, 10) + ":" + ":device_number_all"
|
|
1835
|
+ number_info_str, _ := redis.Get(key).Result()
|
|
1836
|
+ if len(number_info_str) == 0 { //没有到缓存数据,从数据库中获取数据,进行缓存到redis
|
|
1837
|
+ err = readDb.Model(&models.DeviceNumber{}).Where("org_id=? and status=1", orgID).Find(&number).Error
|
|
1838
|
+ if err != nil {
|
|
1839
|
+ if err == gorm.ErrRecordNotFound {
|
|
1840
|
+ return nil, nil
|
|
1841
|
+ } else {
|
|
1842
|
+ return nil, err
|
|
1843
|
+ }
|
|
1844
|
+ } else {
|
|
1845
|
+ if len(number) > 0 {
|
|
1846
|
+ //缓存数据
|
|
1847
|
+ device_number_json, err := json.Marshal(&number)
|
|
1848
|
+ if err == nil {
|
|
1849
|
+ redis.Set(key, device_number_json, time.Second*60*60*18)
|
|
1850
|
+ }
|
|
1851
|
+ }
|
|
1852
|
+ return number, nil
|
|
1853
|
+ }
|
|
1854
|
+ } else { //缓存数据了数据,将redis缓存的json字符串转为map
|
|
1855
|
+ json.Unmarshal([]byte(number_info_str), &number)
|
|
1856
|
+ return number, nil
|
|
1857
|
+ }
|
|
1858
|
+}
|
|
1859
|
+
|
|
1860
|
+func GetAllZoneByList(orgID int64) (zone []*models.DeviceZone, err error) {
|
|
1861
|
+
|
|
1862
|
+ redis := RedisClient()
|
|
1863
|
+ defer redis.Close()
|
|
1864
|
+ key := strconv.FormatInt(orgID, 10) + ":" + ":device_zone_all"
|
|
1865
|
+ zone_info_str, _ := redis.Get(key).Result()
|
|
1866
|
+ if len(zone_info_str) == 0 { //没有到缓存数据,从数据库中获取数据,进行缓存到redis
|
|
1867
|
+ err = readDb.Model(&models.DeviceZone{}).Where("org_id=? and status=1", orgID).Find(&zone).Error
|
|
1868
|
+ if err != nil {
|
|
1869
|
+ if err == gorm.ErrRecordNotFound {
|
|
1870
|
+ return nil, nil
|
|
1871
|
+ } else {
|
|
1872
|
+ return nil, err
|
|
1873
|
+ }
|
|
1874
|
+ } else {
|
|
1875
|
+ if len(zone) > 0 {
|
|
1876
|
+ //缓存数据
|
|
1877
|
+ zone_number_json, err := json.Marshal(&zone)
|
|
1878
|
+ if err == nil {
|
|
1879
|
+ redis.Set(key, zone_number_json, time.Second*60*60*18)
|
|
1880
|
+ }
|
|
1881
|
+ }
|
|
1882
|
+ return zone, nil
|
|
1883
|
+ }
|
|
1884
|
+ } else { //缓存数据了数据,将redis缓存的json字符串转为map
|
|
1885
|
+ json.Unmarshal([]byte(zone_info_str), &zone)
|
|
1886
|
+ return zone, nil
|
|
1887
|
+ }
|
|
1888
|
+}
|
|
1889
|
+
|
|
1890
|
+func GetAllPrescriptionByList(orgID int64, scheduleDate int64) (prescriptions []*models.VMDialysisPrescription, err error) {
|
|
1891
|
+
|
|
1892
|
+ redis := RedisClient()
|
|
1893
|
+ defer redis.Close()
|
|
1894
|
+ key := strconv.FormatInt(orgID, 10) + ":" + ":prescriptions_list_all"
|
|
1895
|
+ prescriptions_list_all, _ := redis.Get(key).Result()
|
|
1896
|
+
|
|
1897
|
+ if len(prescriptions_list_all) == 0 { //没有到缓存数据,从数据库中获取数据,进行缓存到redis
|
|
1898
|
+ err = readDb.Model(&models.VMDialysisPrescription{}).Where("status = 1 AND user_org_id = ? AND record_date = ?", orgID, scheduleDate).Find(&prescriptions).Error
|
|
1899
|
+ if err != nil {
|
|
1900
|
+ if err == gorm.ErrRecordNotFound {
|
|
1901
|
+ return nil, nil
|
|
1902
|
+ } else {
|
|
1903
|
+ return nil, err
|
|
1904
|
+ }
|
|
1905
|
+ } else {
|
|
1906
|
+ if len(prescriptions) > 0 {
|
|
1907
|
+ //缓存数据
|
|
1908
|
+ prescriptions_list_all, err := json.Marshal(&prescriptions)
|
|
1909
|
+ if err == nil {
|
|
1910
|
+ redis.Set(key, prescriptions_list_all, time.Second*60*60*18)
|
|
1911
|
+ }
|
|
1912
|
+ }
|
|
1913
|
+ return prescriptions, nil
|
|
1914
|
+ }
|
|
1915
|
+ } else { //缓存数据了数据,将redis缓存的json字符串转为map
|
|
1916
|
+ json.Unmarshal([]byte(prescriptions_list_all), &prescriptions)
|
|
1917
|
+ return prescriptions, nil
|
|
1918
|
+ }
|
|
1919
|
+}
|
|
1920
|
+
|
|
1921
|
+func GetAllAssessmentBeforesByListOne(orgID int64, scheduleDate int64) (assessmentBefores []*models.VMPredialysisEvaluation, err error) {
|
|
1922
|
+ redis := RedisClient()
|
|
1923
|
+ defer redis.Close()
|
|
1924
|
+ key := strconv.FormatInt(orgID, 10) + ":" + ":assessment_befores_list_all"
|
|
1925
|
+ assessment_befores_list_all, _ := redis.Get(key).Result()
|
|
1926
|
+
|
|
1927
|
+ if len(assessment_befores_list_all) == 0 { //没有到缓存数据,从数据库中获取数据,进行缓存到redis
|
|
1928
|
+ err = readDb.Model(&models.VMPredialysisEvaluation{}).Where("status = 1 AND user_org_id = ? AND assessment_date = ? ", orgID, scheduleDate).Find(&assessmentBefores).Error
|
|
1929
|
+ if err != nil {
|
|
1930
|
+ if err == gorm.ErrRecordNotFound {
|
|
1931
|
+ return nil, nil
|
|
1932
|
+ } else {
|
|
1933
|
+ return nil, err
|
|
1934
|
+ }
|
|
1935
|
+ } else {
|
|
1936
|
+ if len(assessmentBefores) > 0 {
|
|
1937
|
+ //缓存数据
|
|
1938
|
+ assessment_befores_list_all, err := json.Marshal(&assessmentBefores)
|
|
1939
|
+ if err == nil {
|
|
1940
|
+ redis.Set(key, assessment_befores_list_all, time.Second*60*60*18)
|
|
1941
|
+ }
|
|
1942
|
+ }
|
|
1943
|
+ return assessmentBefores, nil
|
|
1944
|
+ }
|
|
1945
|
+ } else { //缓存数据了数据,将redis缓存的json字符串转为map
|
|
1946
|
+ json.Unmarshal([]byte(assessment_befores_list_all), &assessmentBefores)
|
|
1947
|
+ return assessmentBefores, nil
|
|
1948
|
+ }
|
|
1949
|
+}
|
|
1950
|
+
|
|
1951
|
+func GetAllDialysisOrdersByListOne(orgID int64, scheduleDate int64) (dialysisOrders []*models.VMMonitorDialysisOrder, err error) {
|
|
1952
|
+ redis := RedisClient()
|
|
1953
|
+ defer redis.Close()
|
|
1954
|
+ key := strconv.FormatInt(orgID, 10) + ":" + ":dialysis_orders_list_all"
|
|
1955
|
+ dialysis_orders_list_all, _ := redis.Get(key).Result()
|
|
1956
|
+
|
|
1957
|
+ if len(dialysis_orders_list_all) == 0 { //没有到缓存数据,从数据库中获取数据,进行缓存到redis
|
|
1958
|
+ err = readDb.Model(&models.VMMonitorDialysisOrder{}).Preload("DeviceNumber", "status = 1 AND org_id = ?", orgID).Where("status = 1 AND user_org_id = ? AND dialysis_date = ?", orgID, scheduleDate).Find(&dialysisOrders).Error
|
|
1959
|
+ if err != nil {
|
|
1960
|
+ if err == gorm.ErrRecordNotFound {
|
|
1961
|
+ return nil, nil
|
|
1962
|
+ } else {
|
|
1963
|
+ return nil, err
|
|
1964
|
+ }
|
|
1965
|
+ } else {
|
|
1966
|
+ if len(dialysisOrders) > 0 {
|
|
1967
|
+ //缓存数据
|
|
1968
|
+ dialysis_orders_list_all, err := json.Marshal(&dialysisOrders)
|
|
1969
|
+ if err == nil {
|
|
1970
|
+ redis.Set(key, dialysis_orders_list_all, time.Second*60*60*18)
|
|
1971
|
+ }
|
|
1972
|
+ }
|
|
1973
|
+ return dialysisOrders, nil
|
|
1974
|
+ }
|
|
1975
|
+ } else { //缓存数据了数据,将redis缓存的json字符串转为map
|
|
1976
|
+ json.Unmarshal([]byte(dialysis_orders_list_all), &dialysisOrders)
|
|
1977
|
+ return dialysisOrders, nil
|
|
1978
|
+ }
|
|
1979
|
+}
|
|
1980
|
+
|
|
1981
|
+func GetAllAssessmentAfterDislysisByListOne(orgID int64, scheduleDate int64) (assessmentAfterDislysis []*models.VMAssessmentAfterDislysis, err error) {
|
|
1982
|
+ redis := RedisClient()
|
|
1983
|
+ defer redis.Close()
|
|
1984
|
+ key := strconv.FormatInt(orgID, 10) + ":" + ":assessment_after_dislysis_list_all"
|
|
1985
|
+ assessment_after_dislysis__all, _ := redis.Get(key).Result()
|
|
1986
|
+
|
|
1987
|
+ if len(assessment_after_dislysis__all) == 0 { //没有到缓存数据,从数据库中获取数据,进行缓存到redis
|
|
1988
|
+ err = readDb.Model(&models.VMAssessmentAfterDislysis{}).Where("status = 1 AND user_org_id = ? AND assessment_date = ?", orgID, scheduleDate).Find(&assessmentAfterDislysis).Error
|
|
1989
|
+ if err != nil {
|
|
1990
|
+ if err == gorm.ErrRecordNotFound {
|
|
1991
|
+ return nil, nil
|
|
1992
|
+ } else {
|
|
1993
|
+ return nil, err
|
|
1994
|
+ }
|
|
1995
|
+ } else {
|
|
1996
|
+ if len(assessmentAfterDislysis) > 0 {
|
|
1997
|
+ //缓存数据
|
|
1998
|
+ assessment_after_dislysis__all, err := json.Marshal(&assessmentAfterDislysis)
|
|
1999
|
+ if err == nil {
|
|
2000
|
+ redis.Set(key, assessment_after_dislysis__all, time.Second*60*60*18)
|
|
2001
|
+ }
|
|
2002
|
+ }
|
|
2003
|
+ return assessmentAfterDislysis, nil
|
|
2004
|
+ }
|
|
2005
|
+ } else { //缓存数据了数据,将redis缓存的json字符串转为map
|
|
2006
|
+ json.Unmarshal([]byte(assessment_after_dislysis__all), &assessmentAfterDislysis)
|
|
2007
|
+ return assessmentAfterDislysis, nil
|
|
2008
|
+ }
|
|
2009
|
+}
|
|
2010
|
+
|
|
2011
|
+func GetAllMonitorList(orgID int64, scheduleDate int64) (monitor []*models.VMMonitoringRecord, err error) {
|
|
2012
|
+
|
|
2013
|
+ //db := XTReadDB().Model(&monitor).Where("status = 1")
|
|
2014
|
+ //if orgID > 0 {
|
|
2015
|
+ // db = db.Where("user_org_id = ?", orgID)
|
|
2016
|
+ //}
|
|
2017
|
+ //if scheduleDate > 0 {
|
|
2018
|
+ // db = db.Where("monitoring_date = ?", scheduleDate)
|
|
2019
|
+ //}
|
|
2020
|
+ //
|
|
2021
|
+ //err = db.Find(&monitor).Error
|
|
2022
|
+ //return monitor,err
|
|
2023
|
+
|
|
2024
|
+ redis := RedisClient()
|
|
2025
|
+ defer redis.Close()
|
|
2026
|
+ key := strconv.FormatInt(orgID, 10) + ":" + ":monitor_record_list_all"
|
|
2027
|
+ monitor_record_list_all, _ := redis.Get(key).Result()
|
|
2028
|
+
|
|
2029
|
+ if len(monitor_record_list_all) == 0 { //没有到缓存数据,从数据库中获取数据,进行缓存到redis
|
|
2030
|
+ err = readDb.Model(&models.VMMonitoringRecord{}).Where("status = 1 AND user_org_id = ? AND monitoring_date= ?", orgID, scheduleDate).Find(&monitor).Error
|
|
2031
|
+ if err != nil {
|
|
2032
|
+ if err == gorm.ErrRecordNotFound {
|
|
2033
|
+ return nil, nil
|
|
2034
|
+ } else {
|
|
2035
|
+ return nil, err
|
|
2036
|
+ }
|
|
2037
|
+ } else {
|
|
2038
|
+ if len(monitor) > 0 {
|
|
2039
|
+ //缓存数据
|
|
2040
|
+ assessment_after_dislysis__all, err := json.Marshal(&monitor)
|
|
2041
|
+ if err == nil {
|
|
2042
|
+ redis.Set(key, assessment_after_dislysis__all, time.Second*60*60*18)
|
|
2043
|
+ }
|
|
2044
|
+ }
|
|
2045
|
+ return monitor, nil
|
|
2046
|
+ }
|
|
2047
|
+ } else { //缓存数据了数据,将redis缓存的json字符串转为map
|
|
2048
|
+ json.Unmarshal([]byte(monitor_record_list_all), &monitor)
|
|
2049
|
+ return monitor, nil
|
|
2050
|
+ }
|
|
2051
|
+}
|
|
2052
|
+
|
|
2053
|
+func GetAllPatientListByListOne(orgID int64) (patients []*models.VMMonitorPatients, err error) {
|
|
2054
|
+ redis := RedisClient()
|
|
2055
|
+ defer redis.Close()
|
|
2056
|
+ key := strconv.FormatInt(orgID, 10) + ":" + ":patient_list_all"
|
|
2057
|
+ patient_info_str, _ := redis.Get(key).Result()
|
|
2058
|
+
|
|
2059
|
+ if len(patient_info_str) == 0 { //没有到缓存数据,从数据库中获取数据,进行缓存到redis
|
|
2060
|
+ err = readDb.Model(&models.VMMonitorPatients{}).Where("user_org_id=? and status=1 and lapseto = 1", orgID).Find(&patients).Error
|
|
2061
|
+ if err != nil {
|
|
2062
|
+ if err == gorm.ErrRecordNotFound {
|
|
2063
|
+ return nil, nil
|
|
2064
|
+ } else {
|
|
2065
|
+ return nil, err
|
|
2066
|
+ }
|
|
2067
|
+ } else {
|
|
2068
|
+ if len(patients) > 0 {
|
|
2069
|
+ //缓存数据
|
|
2070
|
+ patient_info_json, err := json.Marshal(&patients)
|
|
2071
|
+ if err == nil {
|
|
2072
|
+ redis.Set(key, patient_info_json, time.Second*60*60*18)
|
|
2073
|
+ }
|
|
2074
|
+ }
|
|
2075
|
+ return patients, nil
|
|
2076
|
+ }
|
|
2077
|
+ } else { //缓存数据了数据,将redis缓存的json字符串转为map
|
|
2078
|
+ json.Unmarshal([]byte(patient_info_str), &patients)
|
|
2079
|
+ return patients, nil
|
|
2080
|
+ }
|
|
2081
|
+}
|
|
2082
|
+
|
|
2083
|
+func GetAllTreatModeByList(orgID int64) (treatement []*models.TreatmentMode, err error) {
|
|
2084
|
+ redis := RedisClient()
|
|
2085
|
+ defer redis.Close()
|
|
2086
|
+ key := strconv.FormatInt(orgID, 10) + ":" + ":treatement_mode_all"
|
|
2087
|
+ treatment_info_str, _ := redis.Get(key).Result()
|
|
2088
|
+
|
|
2089
|
+ if len(treatment_info_str) == 0 { //没有到缓存数据,从数据库中获取数据,进行缓存到redis
|
|
2090
|
+ err = readDb.Model(&models.TreatmentMode{}).Where("status=1").Find(&treatement).Error
|
|
2091
|
+ if err != nil {
|
|
2092
|
+ if err == gorm.ErrRecordNotFound {
|
|
2093
|
+ return nil, nil
|
|
2094
|
+ } else {
|
|
2095
|
+ return nil, err
|
|
2096
|
+ }
|
|
2097
|
+ } else {
|
|
2098
|
+ if len(treatement) > 0 {
|
|
2099
|
+ //缓存数据
|
|
2100
|
+ patient_info_json, err := json.Marshal(&treatement)
|
|
2101
|
+ if err == nil {
|
|
2102
|
+ redis.Set(key, patient_info_json, time.Second*60*60*18)
|
|
2103
|
+ }
|
|
2104
|
+ }
|
|
2105
|
+ return treatement, nil
|
|
2106
|
+ }
|
|
2107
|
+ } else { //缓存数据了数据,将redis缓存的json字符串转为map
|
|
2108
|
+ json.Unmarshal([]byte(treatment_info_str), &treatement)
|
|
2109
|
+ return treatement, nil
|
|
2110
|
+ }
|
|
2111
|
+}
|
|
2112
|
+
|
|
2113
|
+func GetAllPatientListByListTwo(orgID int64) (patients []*MSchedualPatientVM, err error) {
|
|
2114
|
+ redis := RedisClient()
|
|
2115
|
+ defer redis.Close()
|
|
2116
|
+ key := strconv.FormatInt(orgID, 10) + ":" + ":patient_list_all"
|
|
2117
|
+ patient_info_str, _ := redis.Get(key).Result()
|
|
2118
|
+
|
|
2119
|
+ if len(patient_info_str) == 0 { //没有到缓存数据,从数据库中获取数据,进行缓存到redis
|
|
2120
|
+ err = readDb.Model(&MSchedualPatientVM{}).Where("user_org_id=? and status=1 and lapseto = 1", orgID).Find(&patients).Error
|
|
2121
|
+ if err != nil {
|
|
2122
|
+ if err == gorm.ErrRecordNotFound {
|
|
2123
|
+ return nil, nil
|
|
2124
|
+ } else {
|
|
2125
|
+ return nil, err
|
|
2126
|
+ }
|
|
2127
|
+ } else {
|
|
2128
|
+ if len(patients) > 0 {
|
|
2129
|
+ //缓存数据
|
|
2130
|
+ patient_info_json, err := json.Marshal(&patients)
|
|
2131
|
+ if err == nil {
|
|
2132
|
+ redis.Set(key, patient_info_json, time.Second*60*60*18)
|
|
2133
|
+ }
|
|
2134
|
+ }
|
|
2135
|
+ return patients, nil
|
|
2136
|
+ }
|
|
2137
|
+ } else { //缓存数据了数据,将redis缓存的json字符串转为map
|
|
2138
|
+ json.Unmarshal([]byte(patient_info_str), &patients)
|
|
2139
|
+ return patients, nil
|
|
2140
|
+ }
|
|
2141
|
+}
|
|
2142
|
+
|
|
2143
|
+func GetAllDeviceNumberByListOne(orgID int64) (number []*MDeviceNumberVM, err error) {
|
|
2144
|
+ redis := RedisClient()
|
|
2145
|
+ defer redis.Close()
|
|
2146
|
+ key := strconv.FormatInt(orgID, 10) + ":" + ":device_number_all"
|
|
2147
|
+ number_info_str, _ := redis.Get(key).Result()
|
|
2148
|
+ if len(number_info_str) == 0 { //没有到缓存数据,从数据库中获取数据,进行缓存到redis
|
|
2149
|
+ err = readDb.Model(&MDeviceNumberVM{}).Where("org_id=? and status=1", orgID).Find(&number).Error
|
|
2150
|
+ if err != nil {
|
|
2151
|
+ if err == gorm.ErrRecordNotFound {
|
|
2152
|
+ return nil, nil
|
|
2153
|
+ } else {
|
|
2154
|
+ return nil, err
|
|
2155
|
+ }
|
|
2156
|
+ } else {
|
|
2157
|
+ if len(number) > 0 {
|
|
2158
|
+ //缓存数据
|
|
2159
|
+ device_number_json, err := json.Marshal(&number)
|
|
2160
|
+ if err == nil {
|
|
2161
|
+ redis.Set(key, device_number_json, time.Second*60*60*18)
|
|
2162
|
+ }
|
|
2163
|
+ }
|
|
2164
|
+ return number, nil
|
|
2165
|
+ }
|
|
2166
|
+ } else { //缓存数据了数据,将redis缓存的json字符串转为map
|
|
2167
|
+ json.Unmarshal([]byte(number_info_str), &number)
|
|
2168
|
+ return number, nil
|
|
2169
|
+ }
|
|
2170
|
+}
|
|
2171
|
+
|
|
2172
|
+func GetAllPrescriptionByListOne(orgID int64, scheduleDate int64) (prescriptions []*models.DialysisPrescriptionList, err error) {
|
|
2173
|
+
|
|
2174
|
+ redis := RedisClient()
|
|
2175
|
+ defer redis.Close()
|
|
2176
|
+ key := strconv.FormatInt(orgID, 10) + ":" + ":prescriptions_list_all"
|
|
2177
|
+ prescriptions_list_all, _ := redis.Get(key).Result()
|
|
2178
|
+
|
|
2179
|
+ if len(prescriptions_list_all) == 0 { //没有到缓存数据,从数据库中获取数据,进行缓存到redis
|
|
2180
|
+ err = readDb.Model(&models.DialysisPrescriptionList{}).Where("status = 1 AND user_org_id = ? AND record_date = ?", orgID, scheduleDate).Find(&prescriptions).Error
|
|
2181
|
+ if err != nil {
|
|
2182
|
+ if err == gorm.ErrRecordNotFound {
|
|
2183
|
+ return nil, nil
|
|
2184
|
+ } else {
|
|
2185
|
+ return nil, err
|
|
2186
|
+ }
|
|
2187
|
+ } else {
|
|
2188
|
+ if len(prescriptions) > 0 {
|
|
2189
|
+ //缓存数据
|
|
2190
|
+ prescriptions_list_all, err := json.Marshal(&prescriptions)
|
|
2191
|
+ if err == nil {
|
|
2192
|
+ redis.Set(key, prescriptions_list_all, time.Second*60*60*18)
|
|
2193
|
+ }
|
|
2194
|
+ }
|
|
2195
|
+ return prescriptions, nil
|
|
2196
|
+ }
|
|
2197
|
+ } else { //缓存数据了数据,将redis缓存的json字符串转为map
|
|
2198
|
+ json.Unmarshal([]byte(prescriptions_list_all), &prescriptions)
|
|
2199
|
+ return prescriptions, nil
|
|
2200
|
+ }
|
|
2201
|
+}
|
|
2202
|
+
|
|
2203
|
+func GetAllDialysisOrdersByListTwo(orgID int64, scheduleDate int64) (dialysisOrders []*MDialysisOrderVM, err error) {
|
|
2204
|
+ redis := RedisClient()
|
|
2205
|
+ defer redis.Close()
|
|
2206
|
+ key := strconv.FormatInt(orgID, 10) + ":" + ":dialysis_orders_list_all"
|
|
2207
|
+ dialysis_orders_list_all, _ := redis.Get(key).Result()
|
|
2208
|
+
|
|
2209
|
+ if len(dialysis_orders_list_all) == 0 { //没有到缓存数据,从数据库中获取数据,进行缓存到redis
|
|
2210
|
+ err = readDb.Model(&MDialysisOrderVM{}).Preload("DeviceNumber", "status = 1 AND org_id = ?", orgID).Where("status = 1 AND user_org_id = ? AND dialysis_date = ?", orgID, scheduleDate).Find(&dialysisOrders).Error
|
|
2211
|
+ if err != nil {
|
|
2212
|
+ if err == gorm.ErrRecordNotFound {
|
|
2213
|
+ return nil, nil
|
|
2214
|
+ } else {
|
|
2215
|
+ return nil, err
|
|
2216
|
+ }
|
|
2217
|
+ } else {
|
|
2218
|
+ if len(dialysisOrders) > 0 {
|
|
2219
|
+ //缓存数据
|
|
2220
|
+ dialysis_orders_list_all, err := json.Marshal(&dialysisOrders)
|
|
2221
|
+ if err == nil {
|
|
2222
|
+ redis.Set(key, dialysis_orders_list_all, time.Second*60*60*18)
|
|
2223
|
+ }
|
|
2224
|
+ }
|
|
2225
|
+ return dialysisOrders, nil
|
|
2226
|
+ }
|
|
2227
|
+ } else { //缓存数据了数据,将redis缓存的json字符串转为map
|
|
2228
|
+ json.Unmarshal([]byte(dialysis_orders_list_all), &dialysisOrders)
|
|
2229
|
+ return dialysisOrders, nil
|
|
2230
|
+ }
|
|
2231
|
+}
|
|
2232
|
+
|
|
2233
|
+func GetAllPatientListByListThree(orgID int64) (patients []*models.MonitorPatients, err error) {
|
|
2234
|
+ redis := RedisClient()
|
|
2235
|
+ defer redis.Close()
|
|
2236
|
+ key := strconv.FormatInt(orgID, 10) + ":" + ":patient_list_all"
|
|
2237
|
+ patient_info_str, _ := redis.Get(key).Result()
|
|
2238
|
+
|
|
2239
|
+ if len(patient_info_str) == 0 { //没有到缓存数据,从数据库中获取数据,进行缓存到redis
|
|
2240
|
+ err = readDb.Model(&models.MonitorPatients{}).Where("user_org_id=? and status=1 and lapseto = 1", orgID).Find(&patients).Error
|
|
2241
|
+ if err != nil {
|
|
2242
|
+ if err == gorm.ErrRecordNotFound {
|
|
2243
|
+ return nil, nil
|
|
2244
|
+ } else {
|
|
2245
|
+ return nil, err
|
|
2246
|
+ }
|
|
2247
|
+ } else {
|
|
2248
|
+ if len(patients) > 0 {
|
|
2249
|
+ //缓存数据
|
|
2250
|
+ patient_info_json, err := json.Marshal(&patients)
|
|
2251
|
+ if err == nil {
|
|
2252
|
+ redis.Set(key, patient_info_json, time.Second*60*60*18)
|
|
2253
|
+ }
|
|
2254
|
+ }
|
|
2255
|
+ return patients, nil
|
|
2256
|
+ }
|
|
2257
|
+ } else { //缓存数据了数据,将redis缓存的json字符串转为map
|
|
2258
|
+ json.Unmarshal([]byte(patient_info_str), &patients)
|
|
2259
|
+ return patients, nil
|
|
2260
|
+ }
|
|
2261
|
+}
|
|
2262
|
+
|
|
2263
|
+func GetAllPrescriptionByListTwo(orgID int64, scheduleDate int64) (prescriptions []*models.DialysisPrescription, err error) {
|
|
2264
|
+
|
|
2265
|
+ redis := RedisClient()
|
|
2266
|
+ defer redis.Close()
|
|
2267
|
+ key := strconv.FormatInt(orgID, 10) + ":" + ":prescriptions_list_all"
|
|
2268
|
+ prescriptions_list_all, _ := redis.Get(key).Result()
|
|
2269
|
+
|
|
2270
|
+ if len(prescriptions_list_all) == 0 { //没有到缓存数据,从数据库中获取数据,进行缓存到redis
|
|
2271
|
+ err = readDb.Model(&models.DialysisPrescription{}).Where("status = 1 AND user_org_id = ? AND record_date = ?", orgID, scheduleDate).Find(&prescriptions).Error
|
|
2272
|
+ if err != nil {
|
|
2273
|
+ if err == gorm.ErrRecordNotFound {
|
|
2274
|
+ return nil, nil
|
|
2275
|
+ } else {
|
|
2276
|
+ return nil, err
|
|
2277
|
+ }
|
|
2278
|
+ } else {
|
|
2279
|
+ if len(prescriptions) > 0 {
|
|
2280
|
+ //缓存数据
|
|
2281
|
+ prescriptions_list_all, err := json.Marshal(&prescriptions)
|
|
2282
|
+ if err == nil {
|
|
2283
|
+ redis.Set(key, prescriptions_list_all, time.Second*60*60*18)
|
|
2284
|
+ }
|
|
2285
|
+ }
|
|
2286
|
+ return prescriptions, nil
|
|
2287
|
+ }
|
|
2288
|
+ } else { //缓存数据了数据,将redis缓存的json字符串转为map
|
|
2289
|
+ json.Unmarshal([]byte(prescriptions_list_all), &prescriptions)
|
|
2290
|
+ return prescriptions, nil
|
|
2291
|
+ }
|
|
2292
|
+}
|
|
2293
|
+
|
|
2294
|
+func GetAllAssessmentBeforesByListThree(orgID int64, scheduleDate int64) (assessmentBefores []*models.PredialysisEvaluation, err error) {
|
|
2295
|
+ redis := RedisClient()
|
|
2296
|
+ defer redis.Close()
|
|
2297
|
+ key := strconv.FormatInt(orgID, 10) + ":" + ":assessment_befores_list_all"
|
|
2298
|
+ assessment_befores_list_all, _ := redis.Get(key).Result()
|
|
2299
|
+
|
|
2300
|
+ if len(assessment_befores_list_all) == 0 { //没有到缓存数据,从数据库中获取数据,进行缓存到redis
|
|
2301
|
+ err = readDb.Model(&models.PredialysisEvaluation{}).Where("status = 1 AND user_org_id = ? AND assessment_date = ? ", orgID, scheduleDate).Find(&assessmentBefores).Error
|
|
2302
|
+ if err != nil {
|
|
2303
|
+ if err == gorm.ErrRecordNotFound {
|
|
2304
|
+ return nil, nil
|
|
2305
|
+ } else {
|
|
2306
|
+ return nil, err
|
|
2307
|
+ }
|
|
2308
|
+ } else {
|
|
2309
|
+ if len(assessmentBefores) > 0 {
|
|
2310
|
+ //缓存数据
|
|
2311
|
+ assessment_befores_list_all, err := json.Marshal(&assessmentBefores)
|
|
2312
|
+ if err == nil {
|
|
2313
|
+ redis.Set(key, assessment_befores_list_all, time.Second*60*60*18)
|
|
2314
|
+ }
|
|
2315
|
+ }
|
|
2316
|
+ return assessmentBefores, nil
|
|
2317
|
+ }
|
|
2318
|
+ } else { //缓存数据了数据,将redis缓存的json字符串转为map
|
|
2319
|
+ json.Unmarshal([]byte(assessment_befores_list_all), &assessmentBefores)
|
|
2320
|
+ return assessmentBefores, nil
|
|
2321
|
+ }
|
|
2322
|
+}
|
|
2323
|
+
|
|
2324
|
+func GetAllDialysisOrdersByListThree(orgID int64, scheduleDate int64) (dialysisOrders []*models.MonitorDialysisOrder, err error) {
|
|
2325
|
+ redis := RedisClient()
|
|
2326
|
+ defer redis.Close()
|
|
2327
|
+ key := strconv.FormatInt(orgID, 10) + ":" + ":dialysis_orders_list_all"
|
|
2328
|
+ dialysis_orders_list_all, _ := redis.Get(key).Result()
|
|
2329
|
+
|
|
2330
|
+ if len(dialysis_orders_list_all) == 0 { //没有到缓存数据,从数据库中获取数据,进行缓存到redis
|
|
2331
|
+ err = readDb.Model(&models.MonitorDialysisOrder{}).Preload("DeviceNumber", "status = 1 AND org_id = ?", orgID).Where("status = 1 AND user_org_id = ? AND dialysis_date = ?", orgID, scheduleDate).Find(&dialysisOrders).Error
|
|
2332
|
+ if err != nil {
|
|
2333
|
+ if err == gorm.ErrRecordNotFound {
|
|
2334
|
+ return nil, nil
|
|
2335
|
+ } else {
|
|
2336
|
+ return nil, err
|
|
2337
|
+ }
|
|
2338
|
+ } else {
|
|
2339
|
+ if len(dialysisOrders) > 0 {
|
|
2340
|
+ //缓存数据
|
|
2341
|
+ dialysis_orders_list_all, err := json.Marshal(&dialysisOrders)
|
|
2342
|
+ if err == nil {
|
|
2343
|
+ redis.Set(key, dialysis_orders_list_all, time.Second*60*60*18)
|
|
2344
|
+ }
|
|
2345
|
+ }
|
|
2346
|
+ return dialysisOrders, nil
|
|
2347
|
+ }
|
|
2348
|
+ } else { //缓存数据了数据,将redis缓存的json字符串转为map
|
|
2349
|
+ json.Unmarshal([]byte(dialysis_orders_list_all), &dialysisOrders)
|
|
2350
|
+ return dialysisOrders, nil
|
|
2351
|
+ }
|
|
2352
|
+}
|
|
2353
|
+
|
|
2354
|
+func GetAllAssessmentAfterDislysisByListThree(orgID int64, scheduleDate int64) (assessmentAfterDislysis []*models.AssessmentAfterDislysis, err error) {
|
|
2355
|
+ redis := RedisClient()
|
|
2356
|
+ defer redis.Close()
|
|
2357
|
+ key := strconv.FormatInt(orgID, 10) + ":" + ":assessment_after_dislysis_list_all"
|
|
2358
|
+ assessment_after_dislysis__all, _ := redis.Get(key).Result()
|
|
2359
|
+
|
|
2360
|
+ if len(assessment_after_dislysis__all) == 0 { //没有到缓存数据,从数据库中获取数据,进行缓存到redis
|
|
2361
|
+ err = readDb.Model(&models.AssessmentAfterDislysis{}).Where("status = 1 AND user_org_id = ? AND assessment_date = ?", orgID, scheduleDate).Find(&assessmentAfterDislysis).Error
|
|
2362
|
+ if err != nil {
|
|
2363
|
+ if err == gorm.ErrRecordNotFound {
|
|
2364
|
+ return nil, nil
|
|
2365
|
+ } else {
|
|
2366
|
+ return nil, err
|
|
2367
|
+ }
|
|
2368
|
+ } else {
|
|
2369
|
+ if len(assessmentAfterDislysis) > 0 {
|
|
2370
|
+ //缓存数据
|
|
2371
|
+ assessment_after_dislysis__all, err := json.Marshal(&assessmentAfterDislysis)
|
|
2372
|
+ if err == nil {
|
|
2373
|
+ redis.Set(key, assessment_after_dislysis__all, time.Second*60*60*18)
|
|
2374
|
+ }
|
|
2375
|
+ }
|
|
2376
|
+ return assessmentAfterDislysis, nil
|
|
2377
|
+ }
|
|
2378
|
+ } else { //缓存数据了数据,将redis缓存的json字符串转为map
|
|
2379
|
+ json.Unmarshal([]byte(assessment_after_dislysis__all), &assessmentAfterDislysis)
|
|
2380
|
+ return assessmentAfterDislysis, nil
|
|
2381
|
+ }
|
|
2382
|
+}
|
|
2383
|
+
|
|
2384
|
+func GetAllMonitorListThree(orgID int64, scheduleDate int64) (monitor []*models.MonitoringRecord, err error) {
|
|
2385
|
+
|
|
2386
|
+ redis := RedisClient()
|
|
2387
|
+ defer redis.Close()
|
|
2388
|
+ key := strconv.FormatInt(orgID, 10) + ":" + ":monitor_record_list_all"
|
|
2389
|
+ monitor_record_list_all, _ := redis.Get(key).Result()
|
|
2390
|
+
|
|
2391
|
+ if len(monitor_record_list_all) == 0 { //没有到缓存数据,从数据库中获取数据,进行缓存到redis
|
|
2392
|
+ err = readDb.Model(&models.MonitoringRecord{}).Where("status = 1 AND user_org_id = ? AND monitoring_date= ?", orgID, scheduleDate).Find(&monitor).Error
|
|
2393
|
+ if err != nil {
|
|
2394
|
+ if err == gorm.ErrRecordNotFound {
|
|
2395
|
+ return nil, nil
|
|
2396
|
+ } else {
|
|
2397
|
+ return nil, err
|
|
2398
|
+ }
|
|
2399
|
+ } else {
|
|
2400
|
+ if len(monitor) > 0 {
|
|
2401
|
+ //缓存数据
|
|
2402
|
+ assessment_after_dislysis__all, err := json.Marshal(&monitor)
|
|
2403
|
+ if err == nil {
|
|
2404
|
+ redis.Set(key, assessment_after_dislysis__all, time.Second*60*60*18)
|
|
2405
|
+ }
|
|
2406
|
+ }
|
|
2407
|
+ return monitor, nil
|
|
2408
|
+ }
|
|
2409
|
+ } else { //缓存数据了数据,将redis缓存的json字符串转为map
|
|
2410
|
+ json.Unmarshal([]byte(monitor_record_list_all), &monitor)
|
|
2411
|
+ return monitor, nil
|
|
2412
|
+ }
|
|
2413
|
+}
|