Browse Source

Merge branch 'xt_statistics_branch' of http://git.shengws.com/csx/XT_New into xt_statistics_branch

csx 4 years ago
parent
commit
d9cffbdc61

+ 39 - 0
controllers/new_mobile_api_controllers/common_api_controller.go View File

@@ -1155,3 +1155,42 @@ func (this *CommonApiController) GetMonthProjectList() {
1155 1155
 		"monthNolist": monthNolist,
1156 1156
 	})
1157 1157
 }
1158
+
1159
+func (this *CommonApiController) GetPatientscontrol() {
1160
+
1161
+	adminUser := this.GetAdminUserInfo()
1162
+	orgid := adminUser.CurrentOrgId
1163
+	fmt.Println("org", orgid)
1164
+	lapstor, _ := this.GetInt64("lapstor")
1165
+	fmt.Println("lapstor", lapstor)
1166
+	startime := this.GetString("startime")
1167
+	fmt.Println("开始时间", startime)
1168
+	startimeStr, _ := utils.ParseTimeStringToTime("2006-01-02", startime)
1169
+	startimeStrUnix := startimeStr.Unix()
1170
+	fmt.Println("时间搓", startimeStrUnix)
1171
+	endtime := this.GetString("endtime")
1172
+	fmt.Println("结束时间", endtime)
1173
+	endtimeStr := endtime + " 23:59:59"
1174
+	endtimeStrs, _ := utils.ParseTimeStringToTime("2006-01-02 15:04:05", endtimeStr)
1175
+	endtimeStrsUnix := endtimeStrs.Unix()
1176
+	fmt.Println("结束时间搓", endtimeStrsUnix)
1177
+	page, _ := this.GetInt64("page")
1178
+	fmt.Println("page", page)
1179
+	limit, _ := this.GetInt64("limit")
1180
+	fmt.Println("limit", limit)
1181
+	patients, total, err := service.GetPatientsControl(orgid, lapstor, startimeStrUnix, endtimeStrsUnix, page, limit)
1182
+
1183
+	control, err := service.GetLastPatientsControl(orgid, lapstor, startimeStrUnix, endtimeStrsUnix)
1184
+	//获取最后一次数据
1185
+
1186
+	if err != nil {
1187
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
1188
+		return
1189
+	}
1190
+
1191
+	this.ServeSuccessJSON(map[string]interface{}{
1192
+		"patients": patients,
1193
+		"total":    total,
1194
+		"control":  control,
1195
+	})
1196
+}

+ 1 - 0
controllers/new_mobile_api_controllers/common_api_router.go View File

@@ -45,4 +45,5 @@ func CommonApiControllersRegisterRouters() {
45 45
 	beego.Router("/com/api/getfirstquarter", &CommonApiController{}, "Get:GetFirstQuarter")
46 46
 	beego.Router("/com/api/getprojectlist", &CommonApiController{}, "Get:GetProjectList")
47 47
 	beego.Router("/com/api/getmonthprojectlist", &CommonApiController{}, "Get:GetMonthProjectList")
48
+	beego.Router("/com/api/getpatientscontrol", &CommonApiController{}, "Get:GetPatientscontrol")
48 49
 }

+ 167 - 0
controllers/new_mobile_api_controllers/new_common_api_controller.go View File

@@ -495,3 +495,170 @@ func (this *NewCommonApiController) GetMobileFirstQuarter() {
495 495
 		"count": count,
496 496
 	})
497 497
 }
498
+
499
+func (this *NewCommonApiController) GetMobileMonthProjectList() {
500
+	adminInfo := this.GetMobileAdminUserInfo()
501
+	orgid := adminInfo.Org.Id
502
+	lapseto, _ := this.GetInt64("lapseto")
503
+	fmt.Println("lapseto", lapseto)
504
+	itemtype, _ := this.GetInt64("itemtype")
505
+	fmt.Println("itemtype", itemtype)
506
+	modetype, _ := this.GetInt64("modeltype")
507
+	fmt.Println("modetype", modetype)
508
+	januaryStart := this.GetString("januaryStart")
509
+	fmt.Println("一月始", januaryStart)
510
+	januaryStartStr, _ := utils.ParseTimeStringToTime("2006-01-02", januaryStart)
511
+	januaryStartStrUnix := januaryStartStr.Unix()
512
+	fmt.Println("一月使", januaryStartStrUnix)
513
+	januaryEnd := this.GetString("januaryEnd")
514
+	fmt.Println("一月末", januaryEnd)
515
+	januaryEndStr := januaryEnd + " 23:59:59"
516
+	januaryEndStrs, _ := utils.ParseTimeStringToTime("2006-01-02 15:04:05", januaryEndStr)
517
+	januaryEndStrUnix := januaryEndStrs.Unix()
518
+	fmt.Println("一月末", januaryEndStrUnix)
519
+
520
+	febStart := this.GetString("febStart")
521
+	fmt.Println("二月始", febStart)
522
+	febStartStr, _ := utils.ParseTimeStringToTime("2006-01-02", febStart)
523
+	febStartStrStrUnix := febStartStr.Unix()
524
+	fmt.Println("二月使", febStartStrStrUnix)
525
+	febEnd := this.GetString("febEnd")
526
+	fmt.Println("二月末", febEnd)
527
+	febEndStr := febEnd + " 23:59:59"
528
+	febEndStrs, _ := utils.ParseTimeStringToTime("2006-01-02 15:04:05", febEndStr)
529
+	febEndStrUnix := febEndStrs.Unix()
530
+	fmt.Println("二月末", febEndStrUnix)
531
+
532
+	marchStart := this.GetString("marchStart")
533
+	fmt.Println("三月始", marchStart)
534
+	marchStartStr, _ := utils.ParseTimeStringToTime("2006-01-02", marchStart)
535
+	marchStartStrUnix := marchStartStr.Unix()
536
+	fmt.Println("三月使", marchStartStrUnix)
537
+	marchEnd := this.GetString("marchEnd")
538
+	fmt.Println("三月末", febEnd)
539
+	marchEndStr := marchEnd + " 23:59:59"
540
+	marchEndStrs, _ := utils.ParseTimeStringToTime("2006-01-02 15:04:05", marchEndStr)
541
+	marchEndStrUnix := marchEndStrs.Unix()
542
+	fmt.Println("三月末", marchEndStrUnix)
543
+
544
+	aprStart := this.GetString("aprStart")
545
+	fmt.Println("四月始", aprStart)
546
+	aprStartStr, _ := utils.ParseTimeStringToTime("2006-01-02", aprStart)
547
+	aprStartStrUnix := aprStartStr.Unix()
548
+	fmt.Println("四月使", aprStartStrUnix)
549
+	aprEnd := this.GetString("aprEnd")
550
+	fmt.Println("四月末", aprEnd)
551
+	aprEndStr := aprEnd + " 23:59:59"
552
+	aprEndStrs, _ := utils.ParseTimeStringToTime("2006-01-02 15:04:05", aprEndStr)
553
+	aprEndStrsUnix := aprEndStrs.Unix()
554
+	fmt.Println("四月末", aprEndStrsUnix)
555
+
556
+	mayStart := this.GetString("mayStart")
557
+	fmt.Println("五月始", mayStart)
558
+	mayStartStr, _ := utils.ParseTimeStringToTime("2006-01-02", mayStart)
559
+	mayStartStrUnix := mayStartStr.Unix()
560
+	fmt.Println("五月使", mayStartStrUnix)
561
+	mayEnd := this.GetString("mayEnd")
562
+	fmt.Println("五月末", mayEnd)
563
+	mayEndStr := mayEnd + " 23:59:59"
564
+	mayEndStrs, _ := utils.ParseTimeStringToTime("2006-01-02 15:04:05", mayEndStr)
565
+	mayEndStrsUnix := mayEndStrs.Unix()
566
+	fmt.Println("五月末", mayEndStrsUnix)
567
+
568
+	junStart := this.GetString("junStart")
569
+	fmt.Println("六月始", mayStart)
570
+	junStartStr, _ := utils.ParseTimeStringToTime("2006-01-02", junStart)
571
+	junStartStrUnix := junStartStr.Unix()
572
+	fmt.Println("六月使", junStartStrUnix)
573
+	junEnd := this.GetString("junEnd")
574
+	fmt.Println("六月末", junEnd)
575
+	junEndStr := junEnd + " 23:59:59"
576
+	junEndStrs, _ := utils.ParseTimeStringToTime("2006-01-02 15:04:05", junEndStr)
577
+	junEndStrsUnix := junEndStrs.Unix()
578
+	fmt.Println("六月末", junEndStrsUnix)
579
+
580
+	julStart := this.GetString("julStart")
581
+	fmt.Println("七月始", julStart)
582
+	julStartStr, _ := utils.ParseTimeStringToTime("2006-01-02", julStart)
583
+	julStartStrUnix := julStartStr.Unix()
584
+	fmt.Println("七月使", julStartStrUnix)
585
+	julEnd := this.GetString("julEnd")
586
+	fmt.Println("七月末", julEnd)
587
+	julEndStr := julEnd + " 23:59:59"
588
+	julEndStrs, _ := utils.ParseTimeStringToTime("2006-01-02 15:04:05", julEndStr)
589
+	julEndStrsUnix := julEndStrs.Unix()
590
+	fmt.Println("七月末", julEndStrsUnix)
591
+
592
+	augStart := this.GetString("augStart")
593
+	fmt.Println("八月始", augStart)
594
+	augStartStr, _ := utils.ParseTimeStringToTime("2006-01-02", augStart)
595
+	augStartStrUnix := augStartStr.Unix()
596
+	fmt.Println("八月使", augStartStrUnix)
597
+	augEnd := this.GetString("augEnd")
598
+	fmt.Println("八月末", augEnd)
599
+	augEndStr := augEnd + " 23:59:59"
600
+	augEndStrs, _ := utils.ParseTimeStringToTime("2006-01-02 15:04:05", augEndStr)
601
+	augEndStrsUnix := augEndStrs.Unix()
602
+	fmt.Println("八月末", augEndStrsUnix)
603
+
604
+	sepStart := this.GetString("sepStart")
605
+	fmt.Println("九月始", sepStart)
606
+	sepStartStr, _ := utils.ParseTimeStringToTime("2006-01-02", sepStart)
607
+	sepStartStrUnix := sepStartStr.Unix()
608
+	fmt.Println("九月使", sepStartStrUnix)
609
+	sepEnd := this.GetString("sepEnd")
610
+	fmt.Println("九月末", sepEnd)
611
+	sepEndStr := sepEnd + " 23:59:59"
612
+	sepEndStrs, _ := utils.ParseTimeStringToTime("2006-01-02 15:04:05", sepEndStr)
613
+	sepEndStrsUnix := sepEndStrs.Unix()
614
+	fmt.Println("九月末", sepEndStrsUnix)
615
+
616
+	octStart := this.GetString("octStart")
617
+	fmt.Println("10月始", octStart)
618
+	octStartStr, _ := utils.ParseTimeStringToTime("2006-01-02", octStart)
619
+	octStartStrUnix := octStartStr.Unix()
620
+	fmt.Println("10月使", octStartStrUnix)
621
+	octEnd := this.GetString("octEnd")
622
+	fmt.Println("10月末", octEnd)
623
+	octEndStr := octEnd + " 23:59:59"
624
+	octEndStrs, _ := utils.ParseTimeStringToTime("2006-01-02 15:04:05", octEndStr)
625
+	octEndStrsUnix := octEndStrs.Unix()
626
+	fmt.Println("10月末", octEndStrsUnix)
627
+
628
+	novStart := this.GetString("novStart")
629
+	fmt.Println("11月始", novStart)
630
+	novStartStr, _ := utils.ParseTimeStringToTime("2006-01-02", novStart)
631
+	novStartStrUnix := novStartStr.Unix()
632
+	fmt.Println("11月使", novStartStrUnix)
633
+	novEnd := this.GetString("novEnd")
634
+	fmt.Println("11月末", novEnd)
635
+	novEndStr := novEnd + " 23:59:59"
636
+	novEndStrs, _ := utils.ParseTimeStringToTime("2006-01-02 15:04:05", novEndStr)
637
+	novEndStrsUnix := novEndStrs.Unix()
638
+	fmt.Println("10月末", novEndStrsUnix)
639
+
640
+	decStart := this.GetString("decStart")
641
+	fmt.Println("12月始", novStart)
642
+	decStartStr, _ := utils.ParseTimeStringToTime("2006-01-02", decStart)
643
+	decStartStrUnix := decStartStr.Unix()
644
+	fmt.Println("12月使", decStartStrUnix)
645
+	decEnd := this.GetString("decEnd")
646
+	fmt.Println("12月末", novEnd)
647
+	decEndStr := decEnd + " 23:59:59"
648
+	decEndStrs, _ := utils.ParseTimeStringToTime("2006-01-02 15:04:05", decEndStr)
649
+	decEndStrsUnix := decEndStrs.Unix()
650
+	fmt.Println("12月末", decEndStrsUnix)
651
+	//统计总共
652
+	monthlist, err := service.GetMonthProjectList(orgid, lapseto, modetype, januaryStartStrUnix, januaryEndStrUnix, febStartStrStrUnix, febEndStrUnix, marchStartStrUnix, marchEndStrUnix, aprStartStrUnix, aprEndStrsUnix, mayStartStrUnix, mayEndStrsUnix, junStartStrUnix, junEndStrsUnix, julStartStrUnix, julEndStrsUnix, augStartStrUnix, augEndStrsUnix, sepStartStrUnix, sepEndStrsUnix, octStartStrUnix, octEndStrsUnix, novStartStrUnix, novEndStrsUnix, decStartStrUnix, decEndStrsUnix)
653
+	//统计不合格
654
+	monthNolist, err := service.GetMonthProjectListTwo(orgid, lapseto, modetype, januaryStartStrUnix, januaryEndStrUnix, febStartStrStrUnix, febEndStrUnix, marchStartStrUnix, marchEndStrUnix, aprStartStrUnix, aprEndStrsUnix, mayStartStrUnix, mayEndStrsUnix, junStartStrUnix, junEndStrsUnix, julStartStrUnix, julEndStrsUnix, augStartStrUnix, augEndStrsUnix, sepStartStrUnix, sepEndStrsUnix, octStartStrUnix, octEndStrsUnix, novStartStrUnix, novEndStrsUnix, decStartStrUnix, decEndStrsUnix)
655
+	if err != nil {
656
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
657
+		return
658
+	}
659
+
660
+	this.ServeSuccessJSON(map[string]interface{}{
661
+		"monthlist":   monthlist,
662
+		"monthNolist": monthNolist,
663
+	})
664
+}

+ 1 - 0
controllers/new_mobile_api_controllers/new_common_api_router.go View File

@@ -21,4 +21,5 @@ func NewCommonApiControllersRegisterRouters() {
21 21
 	beego.Router("m/api/getmobilenormdata", &NewCommonApiController{}, "Get:GetMobileNormdata")
22 22
 	beego.Router("m/api/getmobileprojectlist", &NewCommonApiController{}, "Get:GetMobileProjectlsit")
23 23
 	beego.Router("/m/api/getmobilefirstquarter", &NewCommonApiController{}, "Get:GetMobileFirstQuarter")
24
+	beego.Router("/m/api/getmobilemonthprojectlist", &NewCommonApiController{}, "Get:GetMobileMonthProjectList")
24 25
 }

+ 26 - 0
models/common_models.go View File

@@ -386,3 +386,29 @@ type ProjectCount struct {
386 386
 	Total string
387 387
 	Count int64
388 388
 }
389
+
390
+type PatientInspectionCount struct {
391
+	ID           int64  `gorm:"column:id" json:"id" form:"id"`
392
+	PatientId    int64  `gorm:"column:patient_id" json:"patient_id" form:"patient_id"`
393
+	OrgId        int64  `gorm:"column:org_id" json:"org_id" form:"org_id"`
394
+	ProjectId    int64  `gorm:"column:project_id" json:"project_id" form:"project_id"`
395
+	ItemId       int64  `gorm:"column:item_id" json:"item_id" form:"item_id"`
396
+	ItemName     string `gorm:"column:item_name" json:"item_name" form:"item_name"`
397
+	ProjectName  string `gorm:"column:project_name" json:"project_name" form:"project_name"`
398
+	InspectType  int64  `gorm:"column:inspect_type" json:"inspect_type" form:"inspect_type"`
399
+	InspectValue string `gorm:"column:inspect_value" json:"inspect_value" form:"inspect_value"`
400
+	InspectDate  int64  `gorm:"column:inspect_date" json:"inspect_date" form:"inspect_date"`
401
+	Status       int64  `gorm:"column:status" json:"status" form:"status"`
402
+	CreatedTime  int64  `gorm:"column:created_time" json:"created_time" form:"created_time"`
403
+	UpdatedTime  int64  `gorm:"column:updated_time" json:"updated_time" form:"updated_time"`
404
+	Name         string `gorm:"column:name" json:"name" form:"name"`
405
+	RangMax      string `gorm:"column:range_max" json:"range_max" form:"range_max"`
406
+	RangMin      string `gorm:"column:range_min" json:"range_min" form:"range_min"`
407
+	DialysisNo   string `gorm:"column:dialysis_no" json:"dialysis_no" form:"dialysis_no"`
408
+	RangeValue   string `gorm:"column:range_value" json:"range_value" form:"range_value"`
409
+}
410
+
411
+func (PatientInspectionCount) TableName() string {
412
+
413
+	return "xt_inspection"
414
+}

+ 51 - 0
service/common_service.go View File

@@ -1521,3 +1521,54 @@ func GetMonthProjectListTwo(orgid int64, lapseto int64, modetype int64, januaryS
1521 1521
 	}
1522 1522
 	return
1523 1523
 }
1524
+
1525
+func GetPatientsControl(orgid int64, lapstor int64, startime int64, endtime int64, page int64, limit int64) (inspection []*models.PatientInspectionCount, total int64, err error) {
1526
+
1527
+	db := readDb.Table("xt_inspection as x").Where("x.status =1")
1528
+	table := readDb.Table("xt_patients as s")
1529
+	fmt.Println(table)
1530
+	d := readDb.Table(" xt_inspection_reference as r")
1531
+	fmt.Println(d)
1532
+
1533
+	if orgid > 0 {
1534
+		db = db.Where("x.org_id = ?", orgid)
1535
+	}
1536
+	if lapstor == 0 {
1537
+		table = table.Where("s.lapseto = 1 or s.lapseto = 2")
1538
+	}
1539
+	if startime > 0 {
1540
+		db = db.Where("x.inspect_date >=?", startime)
1541
+	}
1542
+	if endtime > 0 {
1543
+		db = db.Where("x.inspect_date <=?", endtime)
1544
+	}
1545
+	offset := (page - 1) * limit
1546
+	err = db.Select("x.id,x.patient_id,s.name,s.dialysis_no").Joins("left join xt_patients as s on s.id = x.patient_id").Joins("left join xt_inspection_reference as r on r.id = x.item_id").Group("x.patient_id").Count(&total).Offset(offset).Limit(limit).Scan(&inspection).Error
1547
+
1548
+	return inspection, total, err
1549
+}
1550
+
1551
+func GetLastPatientsControl(orgid int64, lapstor int64, startime int64, endtime int64) (inspection []*models.PatientInspectionCount, err error) {
1552
+
1553
+	db := readDb.Table("xt_inspection as x").Where("x.status =1")
1554
+	table := readDb.Table("xt_patients as s")
1555
+	fmt.Println(table)
1556
+	d := readDb.Table(" xt_inspection_reference as r")
1557
+	fmt.Println(d)
1558
+
1559
+	if orgid > 0 {
1560
+		db = db.Where("x.org_id = ?", orgid)
1561
+	}
1562
+	if lapstor == 0 {
1563
+		table = table.Where("s.lapseto = 1 or s.lapseto = 2")
1564
+	}
1565
+	if startime > 0 {
1566
+		db = db.Where("x.inspect_date >=?", startime)
1567
+	}
1568
+	if endtime > 0 {
1569
+		db = db.Where("x.inspect_date <=?", endtime)
1570
+	}
1571
+	err = db.Select("x.id,x.patient_id,x.item_id,x.item_name,x.inspect_value,x.inspect_date,s.name,s.dialysis_no,r.range_max,r.range_min").Joins("left join xt_patients as s on s.id = x.patient_id").Joins("left join xt_inspection_reference as r on r.id = x.item_id").Order("x.inspect_date desc").Scan(&inspection).Error
1572
+
1573
+	return inspection, err
1574
+}