Browse Source

Merge branch '20220812' of http://git.shengws.com/csx/XT_New into 20230223_xt_api_new_branch

28169 1 year ago
parent
commit
1b1678b692

+ 271 - 0
controllers/his_api_controller.go View File

@@ -96,6 +96,277 @@ func HisManagerApiRegistRouters() {
96 96
 
97 97
 	beego.Router("/api/monthcharge/list", &HisApiController{}, "get:GetHisMonthChargePatientList")
98 98
 
99
+	beego.Router("/api/test/get", &HisApiController{}, "get:GetTestOrder")
100
+
101
+}
102
+
103
+func (c *HisApiController) GetTestOrder() {
104
+	order_id, _ := c.GetInt64("order_id")
105
+	admin_user_id, _ := c.GetInt64("admin_user_id")
106
+	adminUser := c.GetAdminUserInfo()
107
+	order, _ := service.GetHisOrderByID(order_id)
108
+	orderInfos, _ := service.GetHisOrderInfoByNumberOne(order.Number)
109
+	orderInfos_two, _ := service.GetHisOrderInfoByNumberTwo(order.Number)
110
+	orderInfos = append(orderInfos, orderInfos_two...)
111
+	his_hospital, _ := service.GetInHospitalRecordByNumber(order.MdtrtId)
112
+	patient, _ := service.GetPatientByIDTwo(adminUser.CurrentOrgId, order.PatientId)
113
+	var dia_config []*models.HisXtDiagnoseConfig
114
+	var name string
115
+
116
+	var bedCostTotal float64 = 0         //床位总费
117
+	var bedCostSelfTotal float64 = 0     //床位自费
118
+	var bedCostPartSelfTotal float64 = 0 //床位部分项目自费
119
+	var bedSelfTotal float64 = 0         //床位部分项目自费
120
+	var bedInscpTotal float64 = 0        //床位部分项目自费
121
+
122
+	var operationCostTotal float64 = 0         //手术费
123
+	var operationCostSelfTotal float64 = 0     //手术费
124
+	var operationCostPartSelfTotal float64 = 0 //手术费
125
+	var operationSelfTotal float64 = 0         //床位部分项目自费
126
+	var operationInscpTotal float64 = 0        //床位部分项目自费
127
+
128
+	var otherCostTotal float64 = 0         //其他费用
129
+	var otherCostSelfTotal float64 = 0     //其他费用
130
+	var otherCostPartSelfTotal float64 = 0 //其他费用
131
+	var otherSelfTotal float64 = 0         //床位部分项目自费
132
+	var otherInscpTotal float64 = 0        //床位部分项目自费
133
+
134
+	var materialCostTotal float64 = 0         //材料费
135
+	var materialCostSelfTotal float64 = 0     //材料费
136
+	var materialCostPartSelfTotal float64 = 0 //材料费
137
+	var materialSelfTotal float64 = 0         //床位部分项目自费
138
+	var materialInscpTotal float64 = 0        //床位部分项目自费
139
+
140
+	var westernMedicineCostTotal float64 = 0         //西药费
141
+	var westernMedicineCostSelfTotal float64 = 0     //西药费
142
+	var westernMedicineCostPartSelfTotal float64 = 0 //西药费
143
+	var westernMedicineSelfTotal float64 = 0         //床位部分项目自费
144
+	var westernMedicineInscpTotal float64 = 0        //床位部分项目自费
145
+
146
+	var chineseTraditionalMedicineCostTotal float64 = 0         //中成药
147
+	var chineseTraditionalMedicineCostSelfTotal float64 = 0     //中成药
148
+	var chineseTraditionalMedicineCostPartSelfTotal float64 = 0 //中成药
149
+	var chineseTraditionalSelfTotal float64 = 0                 //床位部分项目自费
150
+	var chineseTraditionalInscpTotal float64 = 0                //床位部分项目自费
151
+
152
+	var checkCostTotal float64 = 0         //检查费
153
+	var checkCostSelfTotal float64 = 0     //检查费
154
+	var checkCostPartSelfTotal float64 = 0 //检查费
155
+	var checkSelfTotal float64 = 0         //床位部分项目自费
156
+	var checkInscpTotal float64 = 0        //床位部分项目自费
157
+
158
+	var laboratoryCostTotal float64 = 0         //化验费
159
+	var laboratoryCostSelfTotal float64 = 0     //化验费
160
+	var laboratoryCostPartSelfTotal float64 = 0 //化验费
161
+	var laboratorySelfTotal float64 = 0         //床位部分项目自费
162
+	var laboratoryInscpTotal float64 = 0        //床位部分项目自费
163
+
164
+	var treatCostTotal float64 = 0         //治疗费用
165
+	var treatCostSelfTotal float64 = 0     //治疗费用
166
+	var treatCostPartSelfTotal float64 = 0 //治疗费用
167
+	var treatSelfTotal float64 = 0         //床位部分项目自费
168
+	var treatInscpTotal float64 = 0        //床位部分项目自费
169
+
170
+	decimal.DivisionPrecision = 2
171
+
172
+	for _, item := range orderInfos {
173
+		if item.MedChrgitmType == "01" { //床位费
174
+			bedCostTotal, _ = decimal.NewFromFloat(bedCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
175
+			bedCostSelfTotal, _ = decimal.NewFromFloat(bedCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
176
+			bedCostPartSelfTotal, _ = decimal.NewFromFloat(bedCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
177
+			bedSelfTotal, _ = decimal.NewFromFloat(bedSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
178
+			bedInscpTotal, _ = decimal.NewFromFloat(bedInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
179
+
180
+		}
181
+
182
+		if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
183
+			if item.MedChrgitmType == "03" { //检查费
184
+				laboratoryCostTotal, _ = decimal.NewFromFloat(laboratoryCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
185
+				laboratoryCostSelfTotal, _ = decimal.NewFromFloat(laboratoryCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
186
+				laboratoryCostPartSelfTotal, _ = decimal.NewFromFloat(laboratoryCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
187
+				laboratorySelfTotal, _ = decimal.NewFromFloat(laboratorySelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
188
+				laboratoryInscpTotal, _ = decimal.NewFromFloat(laboratoryInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
189
+
190
+			}
191
+		} else {
192
+
193
+			if item.MedChrgitmType == "03" { //检查费
194
+				checkCostTotal, _ = decimal.NewFromFloat(checkCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
195
+				checkCostSelfTotal, _ = decimal.NewFromFloat(checkCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
196
+				checkCostPartSelfTotal, _ = decimal.NewFromFloat(checkCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
197
+				checkSelfTotal, _ = decimal.NewFromFloat(checkSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
198
+				checkInscpTotal, _ = decimal.NewFromFloat(checkInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
199
+
200
+			}
201
+
202
+		}
203
+
204
+		if item.MedChrgitmType == "04" { //化验费
205
+			laboratoryCostTotal, _ = decimal.NewFromFloat(laboratoryCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
206
+			laboratoryCostSelfTotal, _ = decimal.NewFromFloat(laboratoryCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
207
+			laboratoryCostPartSelfTotal, _ = decimal.NewFromFloat(laboratoryCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
208
+			laboratorySelfTotal, _ = decimal.NewFromFloat(laboratorySelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
209
+			laboratoryInscpTotal, _ = decimal.NewFromFloat(laboratoryInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
210
+
211
+		}
212
+
213
+		if item.MedChrgitmType == "05" || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403" { //治疗费
214
+
215
+			treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
216
+			treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
217
+			treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
218
+			treatSelfTotal, _ = decimal.NewFromFloat(treatSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
219
+			treatInscpTotal, _ = decimal.NewFromFloat(treatInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
220
+
221
+		}
222
+
223
+		if item.MedChrgitmType == "06" { //手术费
224
+			operationCostTotal, _ = decimal.NewFromFloat(operationCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
225
+			operationCostSelfTotal, _ = decimal.NewFromFloat(operationCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
226
+			operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
227
+			operationSelfTotal, _ = decimal.NewFromFloat(operationSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
228
+			operationInscpTotal, _ = decimal.NewFromFloat(operationInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
229
+
230
+		}
231
+
232
+		if item.MedChrgitmType == "08" { //材料费
233
+			materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
234
+			materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
235
+			materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
236
+			materialSelfTotal, _ = decimal.NewFromFloat(materialSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
237
+			materialInscpTotal, _ = decimal.NewFromFloat(materialInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
238
+
239
+		}
240
+
241
+		if item.MedChrgitmType == "09" { //西药费
242
+			westernMedicineCostTotal, _ = decimal.NewFromFloat(westernMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
243
+			westernMedicineCostSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
244
+			westernMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
245
+			westernMedicineSelfTotal, _ = decimal.NewFromFloat(westernMedicineSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
246
+			westernMedicineInscpTotal, _ = decimal.NewFromFloat(westernMedicineInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
247
+
248
+		}
249
+
250
+		if item.MedChrgitmType == "11" { //中成费
251
+			chineseTraditionalMedicineCostTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
252
+			chineseTraditionalMedicineCostSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
253
+			chineseTraditionalMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
254
+			chineseTraditionalSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
255
+			chineseTraditionalInscpTotal, _ = decimal.NewFromFloat(chineseTraditionalInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
256
+
257
+		}
258
+
259
+		if item.MedChrgitmType == "14" || item.MedChrgitmType == "0" || item.MedChrgitmType == "12" || item.MedChrgitmType == "02" { //其他费
260
+			otherCostTotal, _ = decimal.NewFromFloat(otherCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
261
+			otherCostSelfTotal, _ = decimal.NewFromFloat(otherCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
262
+			otherCostPartSelfTotal, _ = decimal.NewFromFloat(otherCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
263
+			otherSelfTotal, _ = decimal.NewFromFloat(otherSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
264
+			otherInscpTotal, _ = decimal.NewFromFloat(otherInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
265
+
266
+		}
267
+	}
268
+
269
+	miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
270
+	printor_admin, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
271
+	charge_admin, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, order.Creator)
272
+	doctor_info, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, his_hospital.Doctor)
273
+	roles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
274
+	var doctor_name string
275
+	if roles.ID == 0 {
276
+		doctor_name = "管理员"
277
+	} else {
278
+		doctor_name = roles.UserName
279
+	}
280
+	yiliao_leibie := ""
281
+	switch order.MedType {
282
+	case "11":
283
+		yiliao_leibie = "普通门诊"
284
+		break
285
+	case "12":
286
+		yiliao_leibie = "门诊挂号"
287
+		break
288
+	case "13":
289
+		yiliao_leibie = "急诊"
290
+		break
291
+	case "14":
292
+		yiliao_leibie = "门诊特殊病"
293
+		break
294
+	case "15":
295
+		yiliao_leibie = "门诊统筹"
296
+		break
297
+	case "16":
298
+		yiliao_leibie = "门诊慢性病"
299
+		break
300
+	case "21":
301
+		yiliao_leibie = "普通住院"
302
+		break
303
+	}
304
+	c.ServeSuccessJSON(map[string]interface{}{
305
+		"diagnosis":                                   name,
306
+		"order_infos":                                 orderInfos,
307
+		"number":                                      order.MdtrtId,
308
+		"date":                                        order.SettleAccountsDate,
309
+		"charge_admin":                                charge_admin,
310
+		"printor_admin":                               printor_admin,
311
+		"info":                                        order,
312
+		"order":                                       order,
313
+		"bedCostTotal":                                bedCostTotal,
314
+		"bedCostSelfTotal":                            bedCostSelfTotal,
315
+		"bedCostPartSelfTotal":                        bedCostPartSelfTotal,
316
+		"bedSelfTotal":                                bedSelfTotal,
317
+		"bedInscpTotal":                               bedInscpTotal,
318
+		"operationCostTotal":                          operationCostTotal,
319
+		"operationCostSelfTotal":                      operationCostSelfTotal,
320
+		"operationCostPartSelfTotal":                  operationCostPartSelfTotal,
321
+		"operationSelfTotal":                          operationSelfTotal,
322
+		"operationInscpTotal":                         operationInscpTotal,
323
+		"otherCostTotal":                              otherCostTotal,
324
+		"otherCostSelfTotal":                          otherCostSelfTotal,
325
+		"otherCostPartSelfTotal":                      otherCostPartSelfTotal,
326
+		"otherSelfTotal":                              otherSelfTotal,
327
+		"otherInscpTotal":                             otherInscpTotal,
328
+		"materialCostTotal":                           materialCostTotal,
329
+		"materialCostSelfTotal":                       materialCostSelfTotal,
330
+		"materialCostPartSelfTotal":                   materialCostPartSelfTotal,
331
+		"materialSelfTotal":                           materialSelfTotal,
332
+		"materialInscpTotal":                          materialInscpTotal,
333
+		"westernMedicineCostTotal":                    westernMedicineCostTotal,
334
+		"westernMedicineCostSelfTotal":                westernMedicineCostSelfTotal,
335
+		"westernMedicineCostPartSelfTotal":            westernMedicineCostPartSelfTotal,
336
+		"westernMedicineSelfTotal":                    westernMedicineSelfTotal,
337
+		"westernMedicineInscpTotal":                   westernMedicineInscpTotal,
338
+		"chineseTraditionalMedicineCostTotal":         chineseTraditionalMedicineCostTotal,
339
+		"chineseTraditionalMedicineCostSelfTotal":     chineseTraditionalMedicineCostSelfTotal,
340
+		"chineseTraditionalMedicineCostPartSelfTotal": chineseTraditionalMedicineCostPartSelfTotal,
341
+		"chineseTraditionalSelfTotal":                 chineseTraditionalSelfTotal,
342
+		"chineseTraditionalInscpTotal":                chineseTraditionalInscpTotal,
343
+		"checkCostTotal":                              checkCostTotal,
344
+		"checkCostSelfTotal":                          checkCostSelfTotal,
345
+		"checkCostPartSelfTotal":                      checkCostPartSelfTotal,
346
+		"checkSelfTotal":                              checkSelfTotal,
347
+		"checkInscpTotal":                             checkInscpTotal,
348
+		"laboratoryCostTotal":                         laboratoryCostTotal,
349
+		"laboratoryCostSelfTotal":                     laboratoryCostSelfTotal,
350
+		"laboratoryCostPartSelfTotal":                 laboratoryCostPartSelfTotal,
351
+		"laboratorySelfTotal":                         laboratorySelfTotal,
352
+		"laboratoryInscpTotal":                        laboratoryInscpTotal,
353
+		"treatCostTotal":                              treatCostTotal,
354
+		"treatCostSelfTotal":                          treatCostSelfTotal,
355
+		"treatCostPartSelfTotal":                      treatCostPartSelfTotal,
356
+		"treatSelfTotal":                              treatSelfTotal,
357
+		"treatInscpTotal":                             treatInscpTotal,
358
+		"doctor_info":                                 doctor_info,
359
+		"doctor_name":                                 doctor_name,
360
+		"health_card_no":                              order.PsnNo,
361
+		"yiliao_leibie":                               yiliao_leibie,
362
+		"patient":                                     patient,
363
+		"org_name":                                    miConfig.OrgName,
364
+		"org_code":                                    miConfig.Code,
365
+		"order_number":                                order.Number,
366
+		"his_hospital":                                his_hospital,
367
+		"dia_config":                                  dia_config,
368
+	})
369
+
99 370
 }
100 371
 
101 372
 func (c *PublicApiController) GetBaiLinExportData() {

+ 1 - 2
controllers/schedule_api_controller.go View File

@@ -1265,7 +1265,6 @@ func (c *ScheduleApiController) GetSchedules() {
1265 1265
 	end_time := c.GetString("end_time")
1266 1266
 
1267 1267
 	adminInfo := c.GetAdminUserInfo()
1268
-
1269 1268
 	thisTime := time.Now()
1270 1269
 	today := thisTime.Format("2006-01-02")
1271 1270
 	if week < 1 || week > 4 {
@@ -4635,7 +4634,7 @@ func (c *ScheduleApiController) SynchroSchedule() {
4635 4634
 				Status:       1,
4636 4635
 				CreatedTime:  time.Now().Unix(),
4637 4636
 				UpdatedTime:  0,
4638
-				IsExport:     2000,
4637
+				IsExport:     200000,
4639 4638
 			}
4640 4639
 
4641 4640
 			var DialysisMachineName string

+ 1 - 1
service/schedule_service.go View File

@@ -921,7 +921,7 @@ func GetWeekDayScheduleByIdThee(orgid int64, scheduleDate int64, scheduleType in
921 921
 		db = db.Where("x.partition_id in (?)", zone)
922 922
 	}
923 923
 
924
-	err = db.Select("x.id,x.user_org_id,x.partition_id,x.bed_id,x.patient_id,x.schedule_date,x.schedule_type,x.schedule_week,x.mode_id,x.is_export").Preload("SchedulesPatientsVM", "status = 1").Preload("DeviceZone", "status = 1").Preload("DeviceNumber", "status = 1").Preload("DialysisOrder", "status = 1 and dialysis_date = ?", scheduleDate).Preload("XtAssessmentBeforeDislysis", "status = 1 and assessment_date =?", scheduleDate).Preload("DoctorAdvice", func(db *gorm.DB) *gorm.DB {
924
+	err = db.Select("x.id,x.user_org_id,x.partition_id,x.bed_id,x.patient_id,x.schedule_date,x.schedule_type,x.schedule_week,x.mode_id,x.is_export").Preload("XtPatients", "status = 1").Preload("DeviceZone", "status = 1").Preload("DeviceNumber", "status = 1").Preload("DialysisOrder", "status = 1 and dialysis_date = ?", scheduleDate).Preload("XtAssessmentBeforeDislysis", "status = 1 and assessment_date =?", scheduleDate).Preload("DoctorAdvice", func(db *gorm.DB) *gorm.DB {
925 925
 		return db.Where("status =1 and parent_id = 0 and advice_date = ?", scheduleDate).Preload("ChildDoctorAdvice", "status = 1")
926 926
 	}).Preload("HisDoctorAdviceInfo", "status = 1 and advice_date = ? and user_org_id = ? ", scheduleDate, orgid).Preload("DialysisPrescription", "status = 1 and record_date =? and user_org_id = ?", scheduleDate, orgid).Preload("DialysisSolution", func(db *gorm.DB) *gorm.DB {
927 927
 		return db.Where("status =1").Order("id asc")