Browse Source

提交代码

陈少旭 8 months ago
parent
commit
1949dc2940
2 changed files with 38 additions and 1 deletions
  1. 15 0
      controllers/statistics_api_controller.go
  2. 23 1
      service/statistis_qc_service.go

+ 15 - 0
controllers/statistics_api_controller.go View File

@@ -1335,6 +1335,8 @@ func (c *StatisticsApiController) GetDialyzer() {
1335 1335
 	dialyzers, err := service.GetDialyzerData(startTime, endTime, c.GetAdminUserInfo().CurrentOrgId)
1336 1336
 	DialysisIrrigation, err := service.GetDialysisIrrigationData(startTime, endTime, c.GetAdminUserInfo().CurrentOrgId)
1337 1337
 
1338
+	DialysisStrainer, err := service.GetDialysisStrainerData(startTime, endTime, c.GetAdminUserInfo().CurrentOrgId)
1339
+
1338 1340
 	if err != nil {
1339 1341
 		c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
1340 1342
 		return
@@ -1364,6 +1366,17 @@ func (c *StatisticsApiController) GetDialyzer() {
1364 1366
 			respDatas = append(respDatas, respData)
1365 1367
 		}
1366 1368
 	}
1369
+
1370
+	for _, item := range DialysisStrainer {
1371
+		if len(item.Dialyzer) > 0 {
1372
+			var respData respData
1373
+			respData.Name = item.Dialyzer
1374
+			respData.Count = item.Count
1375
+			respData.Percentage = float64(item.Count) / float64(total) * 100
1376
+			respDatas = append(respDatas, respData)
1377
+		}
1378
+	}
1379
+
1367 1380
 	c.ServeSuccessJSON(map[string]interface{}{
1368 1381
 		"data": respDatas,
1369 1382
 	})
@@ -1413,7 +1426,9 @@ func (c *StatisticsApiController) GetDialyzerDetail() {
1413 1426
 func (c *StatisticsApiController) GetDialyzerConfig() {
1414 1427
 	dialyzers, _ := service.GetDialyzerSummary(c.GetAdminUserInfo().CurrentOrgId)
1415 1428
 	Irrigation, _ := service.GetIrrigationSummary(c.GetAdminUserInfo().CurrentOrgId)
1429
+	DialysisStrainer, _ := service.GetDialysisStrainerSummary(c.GetAdminUserInfo().CurrentOrgId)
1416 1430
 	dialyzers = append(dialyzers, Irrigation...)
1431
+	dialyzers = append(dialyzers, DialysisStrainer...)
1417 1432
 	c.ServeSuccessJSON(map[string]interface{}{
1418 1433
 		"dialyzers": dialyzers,
1419 1434
 	})

+ 23 - 1
service/statistis_qc_service.go View File

@@ -594,6 +594,19 @@ func GetIrrigationSummary(org_id int64) ([]string, error) {
594 594
 	return Irrigation, nil
595 595
 }
596 596
 
597
+func GetDialysisStrainerSummary(org_id int64) ([]string, error) {
598
+	var Irrigation []string
599
+	err := XTReadDB().Model(&models.DialysisPrescription{}).
600
+		Select("dialysis_strainer").
601
+		Where(" user_org_id = ? and status = 1", org_id).
602
+		Group("dialysis_strainer").
603
+		Scan(&Irrigation).Error
604
+	if err != nil {
605
+		return nil, err
606
+	}
607
+	return Irrigation, nil
608
+}
609
+
597 610
 type DialyzerResult struct {
598 611
 	Dialyzer string
599 612
 	Count    int
@@ -617,6 +630,15 @@ func GetDialysisIrrigationData(start_time int64, end_time int64, org_id int64) (
617 630
 	return
618 631
 }
619 632
 
633
+func GetDialysisStrainerData(start_time int64, end_time int64, org_id int64) (dr []DialyzerResult, err error) {
634
+	err = XTReadDB().Model(&models.DialysisPrescription{}).Joins("join xt_dialysis_order oo on oo.patient_id = xt_dialysis_prescription.patient_id and oo.dialysis_date = xt_dialysis_prescription.record_date and oo.status = 1").
635
+		Select("xt_dialysis_prescription.dialysis_strainer as dialysis_strainer, COUNT(*) as count").
636
+		Where("xt_dialysis_prescription.record_date >= ? and xt_dialysis_prescription.record_date <= ? and xt_dialysis_prescription.user_org_id = ? and xt_dialysis_prescription.status = 1", start_time, end_time, org_id).
637
+		Group("xt_dialysis_prescription.dialysis_strainer").
638
+		Scan(&dr).Error
639
+	return
640
+}
641
+
620 642
 func GetIrrigationData(start_time int64, end_time int64, org_id int64) (dr []DialyzerResult, err error) {
621 643
 	err = XTReadDB().Model(&models.DialysisPrescription{}).
622 644
 		Select("dialysis_irrigation as dialyzer, COUNT(*) as count").
@@ -654,7 +676,7 @@ func GetPrescriptionByDialyzer(page int64, limit int64, orgid int64, dialyzer st
654 676
 
655 677
 	db := XTReadDB().Model(&models.DialysisPrescription{}).Joins("join xt_dialysis_order oo on oo.patient_id = xt_dialysis_prescription.patient_id and oo.dialysis_date = xt_dialysis_prescription.record_date and oo.status = 1").Preload("QCPatients", "xt_patients.status = 1 and xt_patients.user_org_id = ?", orgid).Where("xt_dialysis_prescription.status = 1")
656 678
 	if len(dialyzer) > 0 {
657
-		db = db.Where("xt_dialysis_prescription.dialysis_dialyszers = ? or xt_dialysis_prescription.dialysis_irrigation = ?", dialyzer, dialyzer)
679
+		db = db.Where("xt_dialysis_prescription.dialysis_dialyszers = ? or xt_dialysis_prescription.dialysis_irrigation = ? or xt_dialysis_prescription.dialysis_strainer = ?", dialyzer, dialyzer, dialyzer)
658 680
 	}
659 681
 	if orgid > 0 {
660 682
 		db = db.Where("xt_dialysis_prescription.user_org_id = ?", orgid)