|
@@ -277,66 +277,17 @@ func GetTotalDialysisAgeCount(orgid int64) (patients []*models.XtPatients, err e
|
277
|
277
|
}
|
278
|
278
|
|
279
|
279
|
func GetDialysisAgeData(orgID int64) (counts []*models.DialysisAgePieDataStruct, err error) {
|
280
|
|
- loc, _ := time.LoadLocation("Local")
|
281
|
|
- nowTime := time.Now()
|
282
|
|
- nowDay := nowTime.Format("2006-01-02")
|
283
|
|
- dayTime, err := time.ParseInLocation("2006-01-02 15:04:05", nowDay+" 00:00:00", loc)
|
284
|
|
- fmt.Println("datTime", dayTime)
|
285
|
|
- if err != nil {
|
286
|
|
- return
|
287
|
|
- }
|
288
|
|
- oneYearPoint := dayTime.AddDate(-12, 0, 0).Unix()
|
289
|
|
-
|
290
|
|
- fiveYearPoint := dayTime.AddDate(-36, 0, 0).Unix()
|
291
|
|
-
|
292
|
|
- tenYearPoint := dayTime.AddDate(-60, 0, 0).Unix()
|
293
|
|
-
|
294
|
|
- twentyYearPoint := dayTime.AddDate(-61, 0, 0).Unix()
|
295
|
|
-
|
296
|
|
- db := readDb.Table("xt_patients").Where("status=1")
|
297
|
|
- countSQL := "SELECT nnd AS 'age',COUNT(*) AS 'count' FROM(" +
|
298
|
|
- "SELECT " +
|
299
|
|
- "CASE " +
|
300
|
|
- " WHEN first_dialysis_date<>0 AND first_dialysis_date>? THEN '1'" +
|
301
|
|
- " WHEN first_dialysis_date<>0 AND first_dialysis_date>? && first_dialysis_date<=? THEN '2'" +
|
302
|
|
- " WHEN first_dialysis_date<>0 AND first_dialysis_date>? && first_dialysis_date<=? THEN '3'" +
|
303
|
|
- " WHEN first_dialysis_date<>0 AND first_dialysis_date>? && first_dialysis_date<=? THEN '4'" +
|
304
|
|
- " WHEN first_dialysis_date<>0 AND first_dialysis_date<=? THEN '5'" +
|
305
|
|
- " ELSE '0'" +
|
306
|
|
- "END AS nnd FROM xt_patients WHERE status=1"
|
307
|
|
- countParams := make([]interface{}, 0)
|
308
|
|
- countParams = append(countParams, oneYearPoint)
|
309
|
|
- countParams = append(countParams, fiveYearPoint)
|
310
|
|
- countParams = append(countParams, oneYearPoint)
|
311
|
|
- countParams = append(countParams, tenYearPoint)
|
312
|
|
- countParams = append(countParams, fiveYearPoint)
|
313
|
|
- countParams = append(countParams, twentyYearPoint)
|
314
|
|
- countParams = append(countParams, tenYearPoint)
|
315
|
|
- countParams = append(countParams, twentyYearPoint)
|
316
|
280
|
|
317
|
|
- if orgID > 0 {
|
318
|
|
- db = db.Where("user_org_id=?", orgID)
|
319
|
|
- countSQL += " AND user_org_id=?"
|
320
|
|
- countParams = append(countParams, orgID)
|
321
|
|
- }
|
322
|
|
-
|
323
|
|
- countSQL += ")a GROUP BY nnd"
|
324
|
|
- err = readDb.Raw(countSQL, countParams...).Scan(&counts).Error
|
|
281
|
+ readDb.Raw(`SELECT nnd AS 'age',COUNT(*) AS 'count' FROM(
|
|
282
|
+ SELECT
|
|
283
|
+ CASE
|
|
284
|
+ WHEN TIMESTAMPDIFF( YEAR, DATE( DATE_ADD( FROM_UNIXTIME( 0 ), INTERVAL p.first_dialysis_date SECOND ) ), curdate( ) ) >= 0 AND TIMESTAMPDIFF( YEAR, DATE( DATE_ADD( FROM_UNIXTIME( 0 ), INTERVAL p.first_dialysis_date SECOND ) ), curdate( ) ) <= 12 THEN '1'
|
|
285
|
+ WHEN TIMESTAMPDIFF( YEAR, DATE( DATE_ADD( FROM_UNIXTIME( 0 ), INTERVAL p.first_dialysis_date SECOND ) ), curdate( ) ) > 12 AND TIMESTAMPDIFF( YEAR, DATE( DATE_ADD( FROM_UNIXTIME( 0 ), INTERVAL p.first_dialysis_date SECOND ) ), curdate( ) ) <= 36 THEN '2'
|
|
286
|
+ WHEN TIMESTAMPDIFF( YEAR, DATE( DATE_ADD( FROM_UNIXTIME( 0 ), INTERVAL p.first_dialysis_date SECOND ) ), curdate( ) ) > 36 AND TIMESTAMPDIFF( YEAR, DATE( DATE_ADD( FROM_UNIXTIME( 0 ), INTERVAL p.first_dialysis_date SECOND ) ), curdate( ) ) <= 60 THEN '3'
|
|
287
|
+ WHEN TIMESTAMPDIFF( YEAR, DATE( DATE_ADD( FROM_UNIXTIME( 0 ), INTERVAL p.first_dialysis_date SECOND ) ), curdate( ) ) > 60 THEN '4'
|
|
288
|
+ END AS nnd FROM xt_patients as p where p.user_org_id=? and p.status=1)a GROUP BY nnd`, orgID).Scan(&counts)
|
325
|
289
|
return
|
326
|
290
|
|
327
|
|
- //readDb.Raw(`SELECT nnd AS 'age',COUNT(*) AS 'count' FROM(
|
328
|
|
- // SELECT
|
329
|
|
- // CASE
|
330
|
|
- // WHEN TIMESTAMPDIFF( YEAR, DATE( DATE_ADD( FROM_UNIXTIME( 0 ), INTERVAL p.first_dialysis_date SECOND ) ), curdate( ) ) >= 0
|
331
|
|
- // WHEN TIMESTAMPDIFF( YEAR, DATE( DATE_ADD( FROM_UNIXTIME( 0 ), INTERVAL p.first_dialysis_date SECOND ) ), curdate( ) ) <= 12 THEN '0~12' WHEN TIMESTAMPDIFF( YEAR, DATE( DATE_ADD( FROM_UNIXTIME( 0 ), INTERVAL p.first_dialysis_date SECOND ) ), curdate( ) ) > 12
|
332
|
|
- // WHEN TIMESTAMPDIFF( YEAR, DATE( DATE_ADD( FROM_UNIXTIME( 0 ), INTERVAL p.first_dialysis_date SECOND ) ), curdate( ) ) <= 36 THEN '12~36' WHEN TIMESTAMPDIFF( YEAR, DATE( DATE_ADD( FROM_UNIXTIME( 0 ), INTERVAL p.first_dialysis_date SECOND ) ), curdate( ) ) > 36
|
333
|
|
- // WHEN TIMESTAMPDIFF( YEAR, DATE( DATE_ADD( FROM_UNIXTIME( 0 ), INTERVAL p.first_dialysis_date SECOND ) ), curdate( ) ) <= 60 THEN '36~60' WHEN TIMESTAMPDIFF( YEAR, DATE( DATE_ADD( FROM_UNIXTIME( 0 ), INTERVAL p.first_dialysis_date SECOND ) ), curdate( ) ) > 60
|
334
|
|
- // ELSE '150'
|
335
|
|
- // END
|
336
|
|
- // AS nnd FROM xt_patients as p where p.user_org_id=? and p.status=1
|
337
|
|
- // )a GROUP BY nnd`, orgID).Scan(&counts)
|
338
|
|
- //return
|
339
|
|
-
|
340
|
291
|
}
|
341
|
292
|
|
342
|
293
|
func GetCurentOrgPatients(orgid int64) (patients []*models.XtPatients, err error) {
|
|
@@ -728,7 +679,7 @@ func GetNormDataByOrgId(orgid int64) (standard []*models.QualityControlStandard,
|
728
|
679
|
func GetNormData(orgid int64) (standard []*models.QualityControlStandard, err error) {
|
729
|
680
|
|
730
|
681
|
db := XTReadDB().Table("xt_quality_control_standard as x").Where("x.status =1")
|
731
|
|
- if orgid > 0 {
|
|
682
|
+ if orgid >= 0 {
|
732
|
683
|
db = db.Where("x.user_org_id = ?", orgid)
|
733
|
684
|
}
|
734
|
685
|
table := XTReadDB().Table("xt_inspection_reference as s")
|