Browse Source

提交代码

陈少旭 1 year ago
parent
commit
5ee4af2acf

+ 19 - 19
controllers/his_api_controller.go View File

@@ -376,7 +376,7 @@ func (c *HisApiController) GetBatchSettleAccounts() {
376 376
 
377 377
 			}
378 378
 
379
-			if item.MedChrgitmType == "05" || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403" { //治疗费
379
+			if item.MedChrgitmType == "05" { //治疗费
380 380
 
381 381
 				treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
382 382
 				treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
@@ -395,7 +395,7 @@ func (c *HisApiController) GetBatchSettleAccounts() {
395 395
 
396 396
 			}
397 397
 
398
-			if item.MedChrgitmType == "08" { //材料费
398
+			if item.MedChrgitmType == "08" || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403" || item.MedChrgitmType == "1401" { //材料费
399 399
 				materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
400 400
 				materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
401 401
 				materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
@@ -662,7 +662,7 @@ func (c *HisApiController) GetTestOrder() {
662 662
 
663 663
 		}
664 664
 
665
-		if item.MedChrgitmType == "05" || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403" { //治疗费
665
+		if item.MedChrgitmType == "05" { //治疗费
666 666
 
667 667
 			treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
668 668
 			treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
@@ -681,7 +681,7 @@ func (c *HisApiController) GetTestOrder() {
681 681
 
682 682
 		}
683 683
 
684
-		if item.MedChrgitmType == "08" { //材料费
684
+		if item.MedChrgitmType == "08" || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403" || item.MedChrgitmType == "1401" { //材料费
685 685
 			materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
686 686
 			materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
687 687
 			materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
@@ -1109,7 +1109,7 @@ func (c *HisApiController) GetPrivateExpensesOrder() {
1109 1109
 			//laboratoryCostPartSelfTotal, _ = decimal.NewFromFloat(laboratoryCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
1110 1110
 		}
1111 1111
 
1112
-		if item.MedChrgitmType == "05" || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403" { //治疗费
1112
+		if item.MedChrgitmType == "05" { //治疗费
1113 1113
 			treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
1114 1114
 			//treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
1115 1115
 			//treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
@@ -1121,7 +1121,7 @@ func (c *HisApiController) GetPrivateExpensesOrder() {
1121 1121
 			//operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
1122 1122
 		}
1123 1123
 
1124
-		if item.MedChrgitmType == "08" { //材料费
1124
+		if item.MedChrgitmType == "08" || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403" || item.MedChrgitmType == "1401" { //材料费
1125 1125
 			materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
1126 1126
 			//materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
1127 1127
 			//materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
@@ -8147,7 +8147,7 @@ func (c *HisApiController) GetAllOrderDetailCollect() {
8147 8147
 					//laboratoryCostPartSelfTotal, _ = decimal.NewFromFloat(laboratoryCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
8148 8148
 				}
8149 8149
 
8150
-				if item.MedChrgitmType == "05" || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403" { //治疗费
8150
+				if item.MedChrgitmType == "05" { //治疗费
8151 8151
 					treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
8152 8152
 					//treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
8153 8153
 					//treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
@@ -8159,7 +8159,7 @@ func (c *HisApiController) GetAllOrderDetailCollect() {
8159 8159
 					//operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
8160 8160
 				}
8161 8161
 
8162
-				if item.MedChrgitmType == "08" { //材料费
8162
+				if item.MedChrgitmType == "08" || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403" || item.MedChrgitmType == "1401" { //材料费
8163 8163
 					materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
8164 8164
 					//materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
8165 8165
 					//materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
@@ -8213,7 +8213,7 @@ func (c *HisApiController) GetAllOrderDetailCollect() {
8213 8213
 					//laboratoryCostPartSelfTotal, _ = decimal.NewFromFloat(laboratoryCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
8214 8214
 				}
8215 8215
 
8216
-				if item.MedChrgitmType == "05" || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403" { //治疗费
8216
+				if item.MedChrgitmType == "05" { //治疗费
8217 8217
 					treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
8218 8218
 					//treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
8219 8219
 					//treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
@@ -8225,7 +8225,7 @@ func (c *HisApiController) GetAllOrderDetailCollect() {
8225 8225
 					//operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
8226 8226
 				}
8227 8227
 
8228
-				if item.MedChrgitmType == "08" { //材料费
8228
+				if item.MedChrgitmType == "08" || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403" || item.MedChrgitmType == "1401" { //材料费
8229 8229
 					materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
8230 8230
 					//materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
8231 8231
 					//materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
@@ -8279,7 +8279,7 @@ func (c *HisApiController) GetAllOrderDetailCollect() {
8279 8279
 					//laboratoryCostPartSelfTotal, _ = decimal.NewFromFloat(laboratoryCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
8280 8280
 				}
8281 8281
 
8282
-				if item.MedChrgitmType == "05" || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403" { //治疗费
8282
+				if item.MedChrgitmType == "05" { //治疗费
8283 8283
 					treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
8284 8284
 					//treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
8285 8285
 					//treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
@@ -8291,7 +8291,7 @@ func (c *HisApiController) GetAllOrderDetailCollect() {
8291 8291
 					//operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
8292 8292
 				}
8293 8293
 
8294
-				if item.MedChrgitmType == "08" { //材料费
8294
+				if item.MedChrgitmType == "08" || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403" || item.MedChrgitmType == "1401" { //材料费
8295 8295
 					materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
8296 8296
 					//materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
8297 8297
 					//materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
@@ -8477,7 +8477,7 @@ func (c *HisApiController) GetAllOrderDetailCollect() {
8477 8477
 					//laboratoryCostPartSelfTotal, _ = decimal.NewFromFloat(laboratoryCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
8478 8478
 				}
8479 8479
 
8480
-				if item.MedChrgitmType == "05" || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403" { //治疗费
8480
+				if item.MedChrgitmType == "05" { //治疗费
8481 8481
 					treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
8482 8482
 					//treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
8483 8483
 					//treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
@@ -8489,7 +8489,7 @@ func (c *HisApiController) GetAllOrderDetailCollect() {
8489 8489
 					//operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
8490 8490
 				}
8491 8491
 
8492
-				if item.MedChrgitmType == "08" { //材料费
8492
+				if item.MedChrgitmType == "08" || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403" || item.MedChrgitmType == "1401" { //材料费
8493 8493
 					materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
8494 8494
 					//materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
8495 8495
 					//materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
@@ -8543,7 +8543,7 @@ func (c *HisApiController) GetAllOrderDetailCollect() {
8543 8543
 					//laboratoryCostPartSelfTotal, _ = decimal.NewFromFloat(laboratoryCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
8544 8544
 				}
8545 8545
 
8546
-				if item.MedChrgitmType == "05" || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403" { //治疗费
8546
+				if item.MedChrgitmType == "05" { //治疗费
8547 8547
 					treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
8548 8548
 					//treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
8549 8549
 					//treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
@@ -8555,7 +8555,7 @@ func (c *HisApiController) GetAllOrderDetailCollect() {
8555 8555
 					//operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
8556 8556
 				}
8557 8557
 
8558
-				if item.MedChrgitmType == "08" { //材料费
8558
+				if item.MedChrgitmType == "08" || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403" || item.MedChrgitmType == "1401" { //材料费
8559 8559
 					materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
8560 8560
 					//materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
8561 8561
 					//materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
@@ -8931,7 +8931,7 @@ func (c *HisApiController) GetFaPiaoData() {
8931 8931
 				operationCostSelfTotal = treatCostTotal
8932 8932
 			}
8933 8933
 
8934
-			if item.MedChrgitmType == "08" { //材料费
8934
+			if item.MedChrgitmType == "08" || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403" || item.MedChrgitmType == "1401" { //材料费
8935 8935
 				materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
8936 8936
 				materialCostSelfTotal = materialCostTotal
8937 8937
 			}
@@ -8998,7 +8998,7 @@ func (c *HisApiController) GetFaPiaoData() {
8998 8998
 
8999 8999
 			}
9000 9000
 
9001
-			if item.MedChrgitmType == "05" || item.MedChrgitmType == "14" || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403" { //治疗费
9001
+			if item.MedChrgitmType == "05" || item.MedChrgitmType == "14" { //治疗费
9002 9002
 				treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
9003 9003
 				treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
9004 9004
 				treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
@@ -9011,7 +9011,7 @@ func (c *HisApiController) GetFaPiaoData() {
9011 9011
 				operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
9012 9012
 			}
9013 9013
 
9014
-			if item.MedChrgitmType == "08" || item.MedChrgitmType == "1401" { //材料费
9014
+			if item.MedChrgitmType == "08" || item.MedChrgitmType == "1401" || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403" { //材料费
9015 9015
 				materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
9016 9016
 				materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
9017 9017
 				materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()

+ 162 - 0
controllers/zuobiao_api_controller.go View File

@@ -0,0 +1,162 @@
1
+package controllers
2
+
3
+import (
4
+	"XT_New/enums"
5
+	"XT_New/models"
6
+	"XT_New/service"
7
+	"github.com/astaxie/beego"
8
+	"time"
9
+)
10
+
11
+type ZuobiaoApiController struct {
12
+	BaseAuthAPIController
13
+}
14
+
15
+func ZuobiaoApiRegistRouters() {
16
+	beego.Router("/api/zuobiaodetail/list", &ZuobiaoApiController{}, "get:GetHisZuoBiaoDetailPatientList")
17
+	beego.Router("/api/zuobiaodetail/info", &ZuobiaoApiController{}, "get:GetHisZuoBiaoDetailInfo")
18
+
19
+	beego.Router("/api/uploadzuobiaodetail/info", &ZuobiaoApiController{}, "get:GetUploadHisZuoBiaoDetailInfo")
20
+
21
+	beego.Router("/api/zuobiaomonthdetail/info", &ZuobiaoApiController{}, "get:GetHisZuoBiaoMonthDetailInfo")
22
+
23
+}
24
+
25
+func (c *ZuobiaoApiController) GetHisZuoBiaoDetailPatientList() {
26
+	record_date := c.GetString("record_date")
27
+
28
+	timeLayout := "2006-01-02"
29
+	loc, _ := time.LoadLocation("Local")
30
+	theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", record_date+" 00:00:00", loc)
31
+	if err != nil {
32
+		c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
33
+		return
34
+	}
35
+	var patients []*service.NewTempPatients
36
+	var patienttwos []*service.NewTempPatients
37
+
38
+	recordDateTime := theTime.Unix()
39
+	adminInfo := c.GetAdminUserInfo()
40
+	UnuploadTempPatients, _ := service.GetNewAllUnHisZuoBiaoPatientList(adminInfo.CurrentOrgId, recordDateTime)
41
+	uploadTempPatients, _ := service.GetNewAllChargeHisZuoBiaoPatientList(adminInfo.CurrentOrgId, recordDateTime)
42
+	uploadPatient, _ := service.GetUploadHisZuoBiaoPatientList(adminInfo.CurrentOrgId, recordDateTime)
43
+	for _, item := range UnuploadTempPatients {
44
+		//if len(item.HisPrescription) > 0 {
45
+		patients = append(patients, item)
46
+		//}
47
+	}
48
+	for _, item := range uploadTempPatients {
49
+		if len(item.HisPrescription) > 0 {
50
+			patienttwos = append(patienttwos, item)
51
+		}
52
+	}
53
+	c.ServeSuccessJSON(map[string]interface{}{
54
+		"list":          patients,
55
+		"list_two":      patienttwos,
56
+		"upload_list":   uploadPatient,
57
+		"upload_num":    len(uploadPatient),
58
+		"un_upload_num": len(patients),
59
+	})
60
+}
61
+func (c *ZuobiaoApiController) GetHisZuoBiaoDetailInfo() {
62
+	record_date := c.GetString("record_date")
63
+	is_upload, _ := c.GetInt64("is_upload")
64
+	patient_id, _ := c.GetInt64("id")
65
+	start_time_str := c.GetString("start_time")
66
+	end_time_str := c.GetString("end_time")
67
+
68
+	timeLayout := "2006-01-02"
69
+	loc, _ := time.LoadLocation("Local")
70
+	theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", record_date+" 00:00:00", loc)
71
+	if err != nil {
72
+		c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
73
+		return
74
+	}
75
+	recordDateTime := theTime.Unix()
76
+	adminInfo := c.GetAdminUserInfo()
77
+	theStartTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time_str+" 00:00:00", loc)
78
+	if err != nil {
79
+		c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
80
+		return
81
+	}
82
+	recordStartTime := theStartTime.Unix()
83
+	theEndTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time_str+" 00:00:00", loc)
84
+	if err != nil {
85
+		c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
86
+		return
87
+	}
88
+	recordEndTime := theEndTime.Unix()
89
+	var prescriptions []*models.HisPrescription
90
+	if is_upload == 1 { //未上传
91
+		prescriptions, _ = service.GetUnUploadHisZuoBiaoPrescription(adminInfo.CurrentOrgId, patient_id, recordDateTime)
92
+	} else if is_upload == 2 { //已上传
93
+		prescriptions, _ = service.GetUploadHisZuoBiaoPrescription(adminInfo.CurrentOrgId, patient_id, recordDateTime)
94
+	}
95
+	patient, _ := service.GetPatientByID(c.GetAdminUserInfo().CurrentOrgId, patient_id)
96
+	var monthPrescriptions []*models.HisPrescription
97
+	if is_upload == 1 {
98
+		monthPrescriptions, _ = service.GetMonthUnUploadHisZuoBiaoPrescription(adminInfo.CurrentOrgId, patient_id, recordStartTime, recordEndTime)
99
+	} else if is_upload == 2 {
100
+		monthPrescriptions, _ = service.GetMonthUploadHisZuoBiaoPrescription(adminInfo.CurrentOrgId, patient_id, recordStartTime, recordEndTime)
101
+	}
102
+	c.ServeSuccessJSON(map[string]interface{}{
103
+		"prescription":        prescriptions,
104
+		"month_prescriptions": monthPrescriptions,
105
+		"patient":             patient,
106
+	})
107
+}
108
+
109
+func (c *ZuobiaoApiController) GetUploadHisZuoBiaoDetailInfo() {
110
+	id, _ := c.GetInt64("id")
111
+	_, zuobiao_info := service.GetZuobiaoInfoById(id)
112
+	patient, _ := service.GetPatientByID(c.GetAdminUserInfo().CurrentOrgId, zuobiao_info.PatientId)
113
+	order, _ := service.GetHisOrderByID(zuobiao_info.Oid)
114
+	prescription, _ := service.GetHisPrescriptionByBatchNumber(c.GetAdminUserInfo().CurrentOrgId, order.Number)
115
+	c.ServeSuccessJSON(map[string]interface{}{
116
+		"month_prescriptions": prescription,
117
+		"patient":             patient,
118
+		"zuobiao_info":        zuobiao_info,
119
+	})
120
+}
121
+
122
+func (c *ZuobiaoApiController) GetHisZuoBiaoMonthDetailInfo() {
123
+	patient_id, _ := c.GetInt64("id")
124
+	is_upload, _ := c.GetInt64("is_upload")
125
+	//patient_id, _ := c.GetInt64("patient_id")
126
+	start_time_str := c.GetString("start_time")
127
+	end_time_str := c.GetString("end_time")
128
+
129
+	//record, _ := service.GetInHospitalRecord(id)
130
+	timeLayout := "2006-01-02"
131
+	loc, _ := time.LoadLocation("Local")
132
+	adminInfo := c.GetAdminUserInfo()
133
+	theStartTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time_str+" 00:00:00", loc)
134
+	if err != nil {
135
+		c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
136
+		return
137
+	}
138
+	recordStartTime := theStartTime.Unix()
139
+	theEndTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time_str+" 00:00:00", loc)
140
+	if err != nil {
141
+		c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
142
+		return
143
+	}
144
+	recordEndTime := theEndTime.Unix()
145
+	//var prescriptions []*models.HisPrescription
146
+
147
+	var monthPrescriptions []*models.HisPrescription
148
+	if is_upload == 1 {
149
+		monthPrescriptions, _ = service.GetMonthUnUploadHisZuoBiaoPrescription(adminInfo.CurrentOrgId, patient_id, recordStartTime, recordEndTime)
150
+	} else if is_upload == 2 {
151
+		monthPrescriptions, _ = service.GetMonthUploadHisZuoBiaoPrescription(adminInfo.CurrentOrgId, patient_id, recordStartTime, recordEndTime)
152
+	} else {
153
+		monthPrescriptions, _ = service.GetAllMonthHisZuoBiaoPrescription(adminInfo.CurrentOrgId, patient_id, recordStartTime, recordEndTime)
154
+	}
155
+	patient, _ := service.GetPatientByID(c.GetAdminUserInfo().CurrentOrgId, patient_id)
156
+
157
+	c.ServeSuccessJSON(map[string]interface{}{
158
+		"month_prescriptions": monthPrescriptions,
159
+		//"his_info":            record,
160
+		"patient": patient,
161
+	})
162
+}

+ 29 - 0
models/zuobiao.go View File

@@ -0,0 +1,29 @@
1
+package models
2
+
3
+import "CornSch/models"
4
+
5
+type HisZuobiaoAdvice struct {
6
+	ID               int64           `gorm:"column:id" json:"id" form:"id"`
7
+	AdviceRequestLog string          `gorm:"column:advice_request_log" json:"advice_request_log" form:"advice_request_log"`
8
+	AdviceResultLog  string          `gorm:"column:advice_result_log" json:"advice_result_log" form:"advice_result_log"`
9
+	UserOrgId        int64           `gorm:"column:user_org_id" json:"user_org_id" form:"user_org_id"`
10
+	Status           int64           `gorm:"column:status" json:"status" form:"status"`
11
+	Ctime            int64           `gorm:"column:ctime" json:"ctime" form:"ctime"`
12
+	Mtime            int64           `gorm:"column:mtime" json:"mtime" form:"mtime"`
13
+	PatientId        int64           `gorm:"column:patient_id" json:"patient_id" form:"patient_id"`
14
+	RecordDate       int64           `gorm:"column:record_date" json:"record_date" form:"record_date"`
15
+	SettleRequestLog string          `gorm:"column:settle_request_log" json:"settle_request_log" form:"settle_request_log"`
16
+	SettleResultLog  string          `gorm:"column:settle_result_log" json:"settle_result_log" form:"settle_result_log"`
17
+	Cbm01            string          `gorm:"column:cbm01" json:"cbm01" form:"cbm01"`
18
+	AdiviceIds       string          `gorm:"column:adivice_ids" json:"adivice_ids" form:"adivice_ids"`
19
+	Oid              int64           `gorm:"column:oid" json:"oid" form:"oid"`
20
+	StartTime        int64           `gorm:"column:start_time" json:"start_time" form:"start_time"`
21
+	EndTime          int64           `gorm:"column:end_time" json:"end_time" form:"end_time"`
22
+	Vaa01            string          `gorm:"column:vaa01" json:"vaa01" form:"vaa01"`
23
+	Vaa07            string          `gorm:"column:vaa07" json:"vaa07" form:"vaa07"`
24
+	Patient          models.Patients `gorm:"ForeignKey:PatientId;AssociationForeignKey:ID" json:"his_patient"`
25
+}
26
+
27
+func (HisZuobiaoAdvice) TableName() string {
28
+	return "his_zuobiao_advice"
29
+}

+ 1 - 0
routers/router.go View File

@@ -85,4 +85,5 @@ func init() {
85 85
 	controllers.PharmacyApiRegistRouters()
86 86
 
87 87
 	controllers.SignApiRegistRouters()
88
+	controllers.ZuobiaoApiRegistRouters()
88 89
 }

+ 1 - 1
service/his_hospital_service.go View File

@@ -373,7 +373,7 @@ func GetUnUploadHisHospitalPrescription(org_id int64, patient_id int64, record_d
373 373
 		Preload("HisPrescriptionProject", func(db *gorm.DB) *gorm.DB {
374 374
 			return db.Where("status = 1 AND user_org_id = ?", org_id).Preload("HisOrderInfo", "status = 1").Preload("HisProject").Preload("GoodInfo", "status=1").Preload("XtHisProjectTeam", "status = 1")
375 375
 		}).
376
-		Where("user_org_id = ? AND status = 1 AND record_date = ? AND patient_id = ? AND order_status <> 2 AND order_status <> 3 AND order_status<> 4 AND p_type = 1", org_id, record_date, patient_id).
376
+		Where("user_org_id = ? AND status = 1 AND record_date = ? AND patient_id = ? AND order_status <> 2 AND order_status <> 3 AND order_status<> 4  AND p_type = 1", org_id, record_date, patient_id).
377 377
 		Find(&prescription).Error
378 378
 	return
379 379
 }

+ 115 - 0
service/zuobiao_service.go View File

@@ -0,0 +1,115 @@
1
+package service
2
+
3
+import (
4
+	"XT_New/models"
5
+	"github.com/jinzhu/gorm"
6
+)
7
+
8
+func GetNewAllUnHisZuoBiaoPatientList(org_id int64, record_date int64) (patients []*NewTempPatients, err error) {
9
+	db := readDb.Model(&NewTempPatients{})
10
+	db = db.Where("xt_patients.user_org_id = ? AND xt_patients.status = 1", org_id)
11
+	db = db.Preload("HisPrescription", "user_org_id = ? AND status = 1 AND record_date  <= ?  AND order_status <> 2 AND order_status <> 3 AND order_status <> 5", org_id, record_date)
12
+	err = db.Find(&patients).Error
13
+	return
14
+}
15
+
16
+func GetNewAllChargeHisZuoBiaoPatientList(org_id int64, record_date int64) (patients []*NewTempPatients, err error) {
17
+	db := readDb.Model(&NewTempPatients{})
18
+	db = db.Where("xt_patients.user_org_id = ? AND xt_patients.status = 1", org_id)
19
+	db = db.Preload("HisPrescription", "user_org_id = ? AND status = 1 AND record_date = ? AND order_status =  5", org_id, record_date)
20
+	err = db.Find(&patients).Error
21
+	return
22
+}
23
+
24
+func GetUploadHisZuoBiaoPatientList(org_id int64, record_date int64) (patients []*models.HisZuobiaoAdvice, err error) {
25
+	db := readDb.Model(&models.HisZuobiaoAdvice{})
26
+	db = db.Where("status = 1 and record_date = ? and user_org_id = ?", record_date, org_id)
27
+	db = db.Preload("Patient", "status = 1")
28
+	err = db.Find(&patients).Error
29
+	return
30
+}
31
+
32
+func GetUnUploadHisZuoBiaoPrescription(org_id int64, patient_id int64, record_date int64) (prescription []*models.HisPrescription, err error) {
33
+	err = readDb.Model(&models.HisPrescription{}).
34
+		Preload("HisAdditionalCharge", func(db *gorm.DB) *gorm.DB {
35
+			return db.Where("status = 1 AND user_org_id = ?", org_id).Preload("XtHisAddtionConfig", "status=1")
36
+		}).
37
+		Preload("HisDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
38
+			return db.Where("status = 1 AND user_org_id = ?", org_id).Preload("HisOrderInfo", "status = 1").Preload("Drug", "status=1")
39
+		}).
40
+		Preload("HisPrescriptionProject", func(db *gorm.DB) *gorm.DB {
41
+			return db.Where("status = 1 AND user_org_id = ?", org_id).Preload("HisOrderInfo", "status = 1").Preload("HisProject").Preload("GoodInfo", "status=1").Preload("XtHisProjectTeam", "status = 1")
42
+		}).
43
+		Where("user_org_id = ? AND status = 1 AND record_date = ? AND patient_id = ? AND order_status <> 2 AND order_status <> 3 AND order_status<> 4", org_id, record_date, patient_id).
44
+		Find(&prescription).Error
45
+	return
46
+}
47
+
48
+func GetUploadHisZuoBiaoPrescription(org_id int64, patient_id int64, record_date int64) (prescription []*models.HisPrescription, err error) {
49
+	err = readDb.Model(&models.HisPrescription{}).
50
+		Preload("HisAdditionalCharge", func(db *gorm.DB) *gorm.DB {
51
+			return db.Where("status = 1 AND user_org_id = ?", org_id).Preload("XtHisAddtionConfig", "status=1")
52
+		}).
53
+		Preload("HisDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
54
+			return db.Where("status = 1 AND user_org_id = ?", org_id).Preload("HisOrderInfo", "status = 1").Preload("Drug", "status=1")
55
+		}).
56
+		Preload("HisPrescriptionProject", func(db *gorm.DB) *gorm.DB {
57
+			return db.Where("status = 1 AND user_org_id = ?", org_id).Preload("HisOrderInfo", "status = 1").Preload("HisProject").Preload("GoodInfo", "status=1").Preload("XtHisProjectTeam", "status = 1")
58
+		}).
59
+		Where("user_org_id = ? AND status = 1 AND record_date = ? AND patient_id = ? AND  order_status  <> 0 AND order_status <> 1 ", org_id, record_date, patient_id).
60
+		Find(&prescription).Error
61
+	return
62
+}
63
+
64
+func GetMonthUnUploadHisZuoBiaoPrescription(org_id int64, patient_id int64, start_time int64, end_time int64) (prescription []*models.HisPrescription, err error) {
65
+	err = readDb.Model(&models.HisPrescription{}).
66
+		Preload("HisAdditionalCharge", func(db *gorm.DB) *gorm.DB {
67
+			return db.Where("status = 1 AND user_org_id = ?", org_id).Preload("XtHisAddtionConfig", "status=1")
68
+		}).
69
+		Preload("HisDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
70
+			return db.Where("status = 1 AND user_org_id = ?", org_id).Preload("HisOrderInfo", "status = 1").Preload("Drug", "status=1")
71
+		}).
72
+		Preload("HisPrescriptionProject", func(db *gorm.DB) *gorm.DB {
73
+			return db.Where("status = 1 AND user_org_id = ?", org_id).Preload("HisOrderInfo", "status = 1").Preload("HisProject").Preload("GoodInfo", "status=1").Preload("XtHisProjectTeam", "status = 1")
74
+		}).
75
+		Where("user_org_id = ? AND status = 1 AND patient_id = ? AND  record_date <= ? AND record_date >= ?  AND order_status <> 2 AND order_status <> 3 AND order_status<> 4 AND order_status<> 5 ", org_id, patient_id, end_time, start_time).
76
+		Find(&prescription).Error
77
+	return
78
+}
79
+
80
+func GetMonthUploadHisZuoBiaoPrescription(org_id int64, patient_id int64, start_time int64, end_time int64) (prescription []*models.HisPrescription, err error) {
81
+	err = readDb.Model(&models.HisPrescription{}).
82
+		Preload("HisAdditionalCharge", func(db *gorm.DB) *gorm.DB {
83
+			return db.Where("status = 1 AND user_org_id = ? ", org_id).Preload("XtHisAddtionConfig", "status=1")
84
+		}).
85
+		Preload("HisDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
86
+			return db.Where("status = 1 AND user_org_id = ? and is_self_drug <> 1 ", org_id).Preload("HisOrderInfo", "status = 1").Preload("Drug", "status=1")
87
+		}).
88
+		Preload("HisPrescriptionProject", func(db *gorm.DB) *gorm.DB {
89
+			return db.Where("status = 1 AND user_org_id = ?", org_id).Preload("HisOrderInfo", "status = 1").Preload("HisProject").Preload("GoodInfo", "status=1").Preload("XtHisProjectTeam", "status = 1")
90
+		}).
91
+		Where("user_org_id = ? AND status = 1 AND patient_id = ? AND record_date <= ? AND  record_date >= ?  AND  order_status  <> 0 AND order_status <> 1", org_id, patient_id, end_time, start_time).
92
+		Find(&prescription).Error
93
+	return
94
+}
95
+
96
+func GetAllMonthHisZuoBiaoPrescription(org_id int64, patient_id int64, start_time int64, end_time int64) (prescription []*models.HisPrescription, err error) {
97
+	err = readDb.Model(&models.HisPrescription{}).
98
+		Preload("HisAdditionalCharge", func(db *gorm.DB) *gorm.DB {
99
+			return db.Where("status = 1 AND user_org_id = ?", org_id).Preload("XtHisAddtionConfig", "status=1")
100
+		}).
101
+		Preload("HisDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
102
+			return db.Where("status = 1 AND user_org_id = ?", org_id).Preload("HisOrderInfo", "status = 1").Preload("Drug", "status=1")
103
+		}).
104
+		Preload("HisPrescriptionProject", func(db *gorm.DB) *gorm.DB {
105
+			return db.Where("status = 1 AND user_org_id = ?", org_id).Preload("HisOrderInfo", "status = 1").Preload("HisProject").Preload("GoodInfo", "status=1").Preload("XtHisProjectTeam", "status = 1")
106
+		}).
107
+		Where("user_org_id = ? AND status = 1 AND patient_id = ? AND record_date <= ? AND  record_date >= ? ", org_id, patient_id, end_time, start_time).
108
+		Find(&prescription).Error
109
+	return
110
+}
111
+
112
+func GetZuobiaoInfoById(id int64) (err error, zuobiao models.HisZuobiaoAdvice) {
113
+	err = readDb.Model(&models.HisZuobiaoAdvice{}).Where("id = ? and status = 1", id).First(&zuobiao).Error
114
+	return
115
+}