|
@@ -309,6 +309,47 @@ func (c *SZHisApiController) GetRegisterInfo() {
|
309
|
309
|
adminRole, _ := service.GetAdminUserInfoByID(adminInfo.CurrentOrgId, admin_user_id)
|
310
|
310
|
his, _ := service.GetHisPatientInfo(adminInfo.CurrentOrgId, patient_id, theTime.Unix())
|
311
|
311
|
|
|
312
|
+ var custom_code string
|
|
313
|
+ var custom_project_name string
|
|
314
|
+ var allPrice float64
|
|
315
|
+
|
|
316
|
+ switch register_type {
|
|
317
|
+ case 1:
|
|
318
|
+ custom_code = "110100002"
|
|
319
|
+ custom_project_name = "普通门诊"
|
|
320
|
+ allPrice = registration_fee + medical_expenses
|
|
321
|
+ break
|
|
322
|
+ case 2:
|
|
323
|
+ custom_code = "110200002-2"
|
|
324
|
+ custom_project_name = "主任医师"
|
|
325
|
+ allPrice = registration_fee + medical_expenses
|
|
326
|
+
|
|
327
|
+ break
|
|
328
|
+ case 3:
|
|
329
|
+ custom_code = "110200002-3"
|
|
330
|
+ custom_project_name = "副主任医师"
|
|
331
|
+ allPrice = registration_fee + medical_expenses
|
|
332
|
+
|
|
333
|
+ break
|
|
334
|
+ case 4:
|
|
335
|
+ custom_code = "110200003"
|
|
336
|
+ custom_project_name = "急诊诊查费"
|
|
337
|
+ allPrice = registration_fee + medical_expenses
|
|
338
|
+
|
|
339
|
+ break
|
|
340
|
+ case 5:
|
|
341
|
+ custom_code = "110200002-1"
|
|
342
|
+ custom_project_name = "专家"
|
|
343
|
+ allPrice = registration_fee + medical_expenses
|
|
344
|
+
|
|
345
|
+ break
|
|
346
|
+ case 6:
|
|
347
|
+ custom_code = "0"
|
|
348
|
+ custom_project_name = "免受诊金"
|
|
349
|
+ allPrice = 0
|
|
350
|
+ break
|
|
351
|
+ }
|
|
352
|
+
|
312
|
353
|
if his.ID == 0 {
|
313
|
354
|
|
314
|
355
|
var doctor_name string
|
|
@@ -330,20 +371,18 @@ func (c *SZHisApiController) GetRegisterInfo() {
|
330
|
371
|
|
331
|
372
|
|
332
|
373
|
|
333
|
|
-
|
334
|
|
-
|
|
374
|
+ number := miConfig.Code + year + month + day +
|
|
375
|
+ fmt.Sprintf("%07v", rand.New(rand.NewSource(time.Now().UnixNano())).Int31n(10000000))
|
335
|
376
|
mz_number := year + month + day + strconv.FormatInt(patient_id, 10)
|
336
|
|
- number := miConfig.Code + year + month + day + "2233445"
|
337
|
|
-
|
|
377
|
+
|
|
378
|
+ verifyCode, version_code := ReadCardGetCode("MZ002" + "|" + number + "|" + miConfig.Code)
|
338
|
379
|
|
339
|
380
|
|
340
|
381
|
|
341
|
382
|
|
342
|
|
- verifyCode := "000000|101036689af21e741240e8e734bfc24a"
|
343
|
383
|
yiliao_number := "%GAAFSAKSXSUKKWDKHDAD?;07734724145330238292?"
|
344
|
|
- id_card_number := "142729195704031523"
|
|
384
|
+
|
345
|
385
|
dept_code := "0305"
|
346
|
|
- version_code := "111"
|
347
|
386
|
ret4 := 0
|
348
|
387
|
is_yidi = 1
|
349
|
388
|
if err != nil {
|
|
@@ -353,133 +392,128 @@ func (c *SZHisApiController) GetRegisterInfo() {
|
353
|
392
|
if ret4 == 0 {
|
354
|
393
|
if is_yidi == 1 {
|
355
|
394
|
|
356
|
|
- tempPatient, _ := service.GetPatientByNumber(id_card_number, adminInfo.CurrentOrgId)
|
357
|
|
- if tempPatient.ID == patient_id {
|
358
|
|
-
|
359
|
|
- resp_result := service.SzybMZ002(doctor_name, doctor_code, miConfig.Code, dept_code, yiliao_number, verifyCode, number, mz_number, version_code)
|
360
|
|
-
|
361
|
|
- var dat map[string]interface{}
|
362
|
|
- if err := json.Unmarshal([]byte(resp_result), &dat); err == nil {
|
363
|
|
- fmt.Println(dat)
|
364
|
|
- } else {
|
365
|
|
- fmt.Println(err)
|
366
|
|
- }
|
367
|
|
-
|
368
|
|
- userJSONBytes, _ := json.Marshal(dat)
|
369
|
|
-
|
370
|
|
- var res ResultOne
|
371
|
|
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
|
372
|
|
- utils.ErrorLog("解析失败:%v", err)
|
373
|
|
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
|
374
|
|
- return
|
375
|
|
- }
|
376
|
|
-
|
377
|
|
- if res.Transreturncode == "00000000" {
|
378
|
|
-
|
379
|
|
- his := models.VMHisPatient{
|
380
|
|
- Name: name,
|
381
|
|
- Gender: gender,
|
382
|
|
- Birthday: birthUnix,
|
383
|
|
- MedicalTreatmentType: medical_care,
|
384
|
|
- IdType: certificates,
|
385
|
|
- IdCardNo: id_card,
|
386
|
|
- BalanceAccountsType: settlementValue,
|
387
|
|
- SocialType: social_type,
|
388
|
|
- MedicalInsuranceNumber: medical_insurance_card,
|
389
|
|
- RegisterType: register_type,
|
390
|
|
- RegisterCost: registration_fee,
|
391
|
|
- TreatmentCost: medical_expenses,
|
392
|
|
- Status: 1,
|
393
|
|
- Ctime: time.Now().Unix(),
|
394
|
|
- Mtime: time.Now().Unix(),
|
395
|
|
- Iinfo: resp_result,
|
396
|
|
- PatientId: patient.ID,
|
397
|
|
- RecordDate: theTime.Unix(),
|
398
|
|
- UserOrgId: adminInfo.CurrentOrgId,
|
399
|
|
- AdminUserId: admin_user_id,
|
400
|
|
- IsReturn: 1,
|
401
|
|
- IdCardType: id_card_type,
|
402
|
|
- Doctor: doctor,
|
403
|
|
- Departments: department,
|
404
|
|
- YiliaoNumber: yiliao_number,
|
405
|
|
- MzNumber: number,
|
406
|
|
- Number: mz_number,
|
407
|
|
- }
|
408
|
|
- service.CreateHisPatientTwo(&his)
|
409
|
|
- c.ServeSuccessJSON(map[string]interface{}{
|
410
|
|
- "msg": "挂号成功",
|
411
|
|
- })
|
412
|
|
- } else {
|
413
|
|
-
|
414
|
|
- }
|
415
|
|
-
|
|
395
|
+
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+ resp_result := service.SzybMZ002(doctor_name, doctor_code, miConfig.Code, dept_code, yiliao_number, verifyCode, number, mz_number, version_code, custom_code, custom_project_name, allPrice)
|
|
399
|
+ var dat map[string]interface{}
|
|
400
|
+ if err := json.Unmarshal([]byte(resp_result), &dat); err == nil {
|
|
401
|
+ fmt.Println(dat)
|
416
|
402
|
} else {
|
417
|
|
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
|
|
403
|
+ fmt.Println(err)
|
|
404
|
+ }
|
|
405
|
+ userJSONBytes, _ := json.Marshal(dat)
|
|
406
|
+ var res ResultOne
|
|
407
|
+ if err := json.Unmarshal(userJSONBytes, &res); err != nil {
|
|
408
|
+ utils.ErrorLog("解析失败:%v", err)
|
|
409
|
+ c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
|
418
|
410
|
return
|
419
|
411
|
}
|
|
412
|
+ if res.Transreturncode == "00000000" {
|
|
413
|
+ his := models.VMHisPatient{
|
|
414
|
+ Name: name,
|
|
415
|
+ Gender: gender,
|
|
416
|
+ Birthday: birthUnix,
|
|
417
|
+ MedicalTreatmentType: medical_care,
|
|
418
|
+ IdType: certificates,
|
|
419
|
+ IdCardNo: id_card,
|
|
420
|
+ BalanceAccountsType: settlementValue,
|
|
421
|
+ SocialType: social_type,
|
|
422
|
+ MedicalInsuranceNumber: medical_insurance_card,
|
|
423
|
+ RegisterType: register_type,
|
|
424
|
+ RegisterCost: registration_fee,
|
|
425
|
+ TreatmentCost: medical_expenses,
|
|
426
|
+ Status: 1,
|
|
427
|
+ Ctime: time.Now().Unix(),
|
|
428
|
+ Mtime: time.Now().Unix(),
|
|
429
|
+ Iinfo: resp_result,
|
|
430
|
+ PatientId: patient.ID,
|
|
431
|
+ RecordDate: theTime.Unix(),
|
|
432
|
+ UserOrgId: adminInfo.CurrentOrgId,
|
|
433
|
+ AdminUserId: admin_user_id,
|
|
434
|
+ IsReturn: 1,
|
|
435
|
+ IdCardType: id_card_type,
|
|
436
|
+ Doctor: doctor,
|
|
437
|
+ Departments: department,
|
|
438
|
+ YiliaoNumber: yiliao_number,
|
|
439
|
+ MzNumber: number,
|
|
440
|
+ Number: mz_number,
|
|
441
|
+ }
|
|
442
|
+ service.CreateHisPatientTwo(&his)
|
|
443
|
+ c.ServeSuccessJSON(map[string]interface{}{
|
|
444
|
+ "msg": "挂号成功",
|
|
445
|
+ })
|
|
446
|
+ } else {
|
|
447
|
+
|
|
448
|
+ }
|
|
449
|
+
|
|
450
|
+
|
|
451
|
+
|
|
452
|
+
|
|
453
|
+
|
420
|
454
|
|
421
|
455
|
} else {
|
422
|
456
|
|
423
|
457
|
|
424
|
458
|
|
425
|
459
|
|
426
|
|
- tempPatient, _ := service.GetPatientByNumber(id_card_number, adminInfo.CurrentOrgId)
|
427
|
|
- if tempPatient.ID == patient_id {
|
428
|
|
- resp_result := service.SzybMZ002(doctor_name, doctor_code, miConfig.Code, "0305", yiliao_number, verifyCode, number, mz_number, version_code)
|
429
|
|
- var dat map[string]interface{}
|
430
|
|
- if err := json.Unmarshal([]byte(resp_result), &dat); err == nil {
|
431
|
|
- fmt.Println(dat)
|
432
|
|
- } else {
|
433
|
|
- fmt.Println(err)
|
434
|
|
- }
|
435
|
|
-
|
436
|
|
- userJSONBytes, _ := json.Marshal(dat)
|
|
460
|
+
|
|
461
|
+
|
|
462
|
+ resp_result := service.SzybMZ002(doctor_name, doctor_code, miConfig.Code, "0305", yiliao_number, verifyCode, number, mz_number, version_code, custom_code, custom_project_name, allPrice)
|
|
463
|
+ var dat map[string]interface{}
|
|
464
|
+ if err := json.Unmarshal([]byte(resp_result), &dat); err == nil {
|
|
465
|
+ fmt.Println(dat)
|
|
466
|
+ } else {
|
|
467
|
+ fmt.Println(err)
|
|
468
|
+ }
|
437
|
469
|
|
438
|
|
- var res ResultOne
|
439
|
|
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
|
440
|
|
- utils.ErrorLog("解析失败:%v", err)
|
441
|
|
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
|
442
|
|
- return
|
443
|
|
- }
|
444
|
|
- if res.Transreturncode == "00000000" {
|
445
|
|
- his := models.VMHisPatient{
|
446
|
|
- Name: name,
|
447
|
|
- Gender: gender,
|
448
|
|
- Birthday: birthUnix,
|
449
|
|
- MedicalTreatmentType: medical_care,
|
450
|
|
- IdType: certificates,
|
451
|
|
- IdCardNo: id_card,
|
452
|
|
- BalanceAccountsType: settlementValue,
|
453
|
|
- SocialType: social_type,
|
454
|
|
- MedicalInsuranceNumber: medical_insurance_card,
|
455
|
|
- RegisterType: register_type,
|
456
|
|
- RegisterCost: registration_fee,
|
457
|
|
- TreatmentCost: medical_expenses,
|
458
|
|
- Status: 1,
|
459
|
|
- Ctime: time.Now().Unix(),
|
460
|
|
- Mtime: time.Now().Unix(),
|
461
|
|
- Iinfo: resp_result,
|
462
|
|
- PatientId: patient.ID,
|
463
|
|
- RecordDate: theTime.Unix(),
|
464
|
|
- UserOrgId: adminInfo.CurrentOrgId,
|
465
|
|
- AdminUserId: admin_user_id,
|
466
|
|
- IsReturn: 1,
|
467
|
|
- IdCardType: id_card_type,
|
468
|
|
- Doctor: doctor,
|
469
|
|
- Departments: department,
|
470
|
|
- YiliaoNumber: yiliao_number,
|
471
|
|
- MzNumber: number,
|
472
|
|
- Number: mz_number,
|
473
|
|
- }
|
474
|
|
- service.CreateHisPatientTwo(&his)
|
475
|
|
- c.ServeSuccessJSON(map[string]interface{}{
|
476
|
|
- "msg": "挂号成功",
|
477
|
|
- })
|
478
|
|
- } else {
|
|
470
|
+ userJSONBytes, _ := json.Marshal(dat)
|
479
|
471
|
|
|
472
|
+ var res ResultOne
|
|
473
|
+ if err := json.Unmarshal(userJSONBytes, &res); err != nil {
|
|
474
|
+ utils.ErrorLog("解析失败:%v", err)
|
|
475
|
+ c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
|
|
476
|
+ return
|
|
477
|
+ }
|
|
478
|
+ if res.Transreturncode == "00000000" {
|
|
479
|
+ his := models.VMHisPatient{
|
|
480
|
+ Name: name,
|
|
481
|
+ Gender: gender,
|
|
482
|
+ Birthday: birthUnix,
|
|
483
|
+ MedicalTreatmentType: medical_care,
|
|
484
|
+ IdType: certificates,
|
|
485
|
+ IdCardNo: id_card,
|
|
486
|
+ BalanceAccountsType: settlementValue,
|
|
487
|
+ SocialType: social_type,
|
|
488
|
+ MedicalInsuranceNumber: medical_insurance_card,
|
|
489
|
+ RegisterType: register_type,
|
|
490
|
+ RegisterCost: registration_fee,
|
|
491
|
+ TreatmentCost: medical_expenses,
|
|
492
|
+ Status: 1,
|
|
493
|
+ Ctime: time.Now().Unix(),
|
|
494
|
+ Mtime: time.Now().Unix(),
|
|
495
|
+ Iinfo: resp_result,
|
|
496
|
+ PatientId: patient.ID,
|
|
497
|
+ RecordDate: theTime.Unix(),
|
|
498
|
+ UserOrgId: adminInfo.CurrentOrgId,
|
|
499
|
+ AdminUserId: admin_user_id,
|
|
500
|
+ IsReturn: 1,
|
|
501
|
+ IdCardType: id_card_type,
|
|
502
|
+ Doctor: doctor,
|
|
503
|
+ Departments: department,
|
|
504
|
+ YiliaoNumber: yiliao_number,
|
|
505
|
+ MzNumber: number,
|
|
506
|
+ Number: mz_number,
|
480
|
507
|
}
|
|
508
|
+ service.CreateHisPatientTwo(&his)
|
|
509
|
+ c.ServeSuccessJSON(map[string]interface{}{
|
|
510
|
+ "msg": "挂号成功",
|
|
511
|
+ })
|
|
512
|
+ } else {
|
481
|
513
|
|
482
|
514
|
}
|
|
515
|
+
|
|
516
|
+
|
483
|
517
|
}
|
484
|
518
|
|
485
|
519
|
} else {
|
|
@@ -487,7 +521,7 @@ func (c *SZHisApiController) GetRegisterInfo() {
|
487
|
521
|
|
488
|
522
|
|
489
|
523
|
if is_yidi == 1 {
|
490
|
|
- resp_result := service.SzybMZ002(doctor_name, doctor_code, miConfig.Code, "0305", yiliao_number, verifyCode, number, mz_number, version_code)
|
|
524
|
+ resp_result := service.SzybMZ002(doctor_name, doctor_code, miConfig.Code, "0305", yiliao_number, verifyCode, number, mz_number, version_code, custom_code, custom_project_name, allPrice)
|
491
|
525
|
var dat map[string]interface{}
|
492
|
526
|
if err := json.Unmarshal([]byte(resp_result), &dat); err == nil {
|
493
|
527
|
fmt.Println(dat)
|
|
@@ -544,7 +578,7 @@ func (c *SZHisApiController) GetRegisterInfo() {
|
544
|
578
|
} else {
|
545
|
579
|
|
546
|
580
|
|
547
|
|
- resp_result := service.SzybMZ002(doctor_name, doctor_code, miConfig.Code, "0305", yiliao_number, verifyCode, number, mz_number, version_code)
|
|
581
|
+ resp_result := service.SzybMZ002(doctor_name, doctor_code, miConfig.Code, "0305", yiliao_number, verifyCode, number, mz_number, version_code, custom_code, custom_project_name, allPrice)
|
548
|
582
|
var dat map[string]interface{}
|
549
|
583
|
if err := json.Unmarshal([]byte(resp_result), &dat); err == nil {
|
550
|
584
|
fmt.Println(dat)
|
|
@@ -604,7 +638,6 @@ func (c *SZHisApiController) GetRegisterInfo() {
|
604
|
638
|
c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeRegisterRepeatException)
|
605
|
639
|
return
|
606
|
640
|
}
|
607
|
|
-
|
608
|
641
|
}
|
609
|
642
|
|
610
|
643
|
|
|
@@ -680,18 +713,19 @@ func (c *SZHisApiController) GetUploadInfo() {
|
680
|
713
|
|
681
|
714
|
var doctor_name string
|
682
|
715
|
var doctor_code string
|
|
716
|
+
|
|
717
|
+ var drug_doctor_code string
|
|
718
|
+ drug_doctor_code = "H24962918"
|
|
719
|
+
|
683
|
720
|
if adminRole.ID == 0 {
|
684
|
721
|
doctor_name = "黄亦轩"
|
685
|
|
- doctor_code = "H24962918"
|
|
722
|
+ doctor_code = "1"
|
686
|
723
|
} else {
|
687
|
724
|
doctor_name = adminRole.UserName
|
688
|
725
|
doctor_code = strconv.FormatInt(admin_user_id, 10)
|
689
|
|
-
|
690
|
726
|
}
|
691
|
727
|
|
692
|
|
-
|
693
|
|
- version_code := "0.03"
|
694
|
|
- verifyCode := "000000|890f2e14e4a90d93c2deb4a35b5dabdc"
|
|
728
|
+ verifyCode, version_code := ReadCardGetCode("FY001" + "|" + number + "|" + miConfig.Code)
|
695
|
729
|
var customs []*models.CustomDetail
|
696
|
730
|
for _, item := range prescriptions {
|
697
|
731
|
if item.Type == 1 {
|
|
@@ -807,7 +841,7 @@ func (c *SZHisApiController) GetUploadInfo() {
|
807
|
841
|
if stop > len(customs) {
|
808
|
842
|
stop = len(customs)
|
809
|
843
|
}
|
810
|
|
- result := service.SzybFY001(doctor_name, doctor_code, miConfig.Code, customs[start-1:stop], verifyCode, number, mz_number, version_code)
|
|
844
|
+ result := service.SzybFY001(doctor_name, doctor_code, miConfig.Code, customs[start-1:stop], verifyCode, number, mz_number, version_code, drug_doctor_code)
|
811
|
845
|
fmt.Println(result)
|
812
|
846
|
|
813
|
847
|
var dat map[string]interface{}
|
|
@@ -942,10 +976,7 @@ func (c *SZHisApiController) GetUploadInfo() {
|
942
|
976
|
total = total + (subItem.Price * float64(subItem.Count))
|
943
|
977
|
}
|
944
|
978
|
}
|
945
|
|
-
|
946
|
|
-
|
947
|
|
- verifyCode := "000000|2c14888db47a025ddfc1ff917c7e98e9"
|
948
|
|
-
|
|
979
|
+ verifyCode, version_code := ReadCardGetCode("FY004" + "|" + number + "|" + miConfig.Code)
|
949
|
980
|
result_two := service.SzybFY004(doctor_name, doctor_code, miConfig.Code, total, verifyCode, number, mz_number, version_code)
|
950
|
981
|
var dat map[string]interface{}
|
951
|
982
|
if err := json.Unmarshal([]byte(result_two), &dat); err == nil {
|
|
@@ -1064,24 +1095,18 @@ func (c *SZHisApiController) GetSettleInfo() {
|
1064
|
1095
|
var doctor_name string
|
1065
|
1096
|
var doctor_code string
|
1066
|
1097
|
if roles.ID == 0 {
|
1067
|
|
-
|
1068
|
1098
|
doctor_name = "黄亦轩"
|
1069
|
1099
|
doctor_code = "H24962918"
|
1070
|
|
-
|
1071
|
1100
|
} else {
|
1072
|
1101
|
doctor_name = roles.UserName
|
1073
|
1102
|
doctor_code = strconv.FormatInt(admin_user_id, 10)
|
1074
|
|
-
|
1075
|
1103
|
}
|
1076
|
|
-
|
1077
|
1104
|
number := his.MzNumber
|
1078
|
1105
|
mz_number := his.Number
|
1079
|
|
-
|
1080
|
|
-
|
1081
|
|
- verifyCode := "000000|eb7acc3ec61eb5e3fd12a3586ad3a9c5"
|
1082
|
|
- version_code := "0.03"
|
|
1106
|
+ verifyCode, version_code := ReadCardGetCode("FY005" + "|" + number + "|" + miConfig.Code)
|
|
1107
|
+
|
|
1108
|
+
|
1083
|
1109
|
|
1084
|
|
-
|
1085
|
1110
|
yiliao_number := his.YiliaoNumber
|
1086
|
1111
|
result_three := service.SzybFY005(doctor_name, doctor_code, miConfig.Code, total, yiliao_number, verifyCode, number, mz_number, version_code)
|
1087
|
1112
|
var dat map[string]interface{}
|