张保健 4 years ago
parent
commit
81d5325db6
3 changed files with 45 additions and 31 deletions
  1. 31 18
      controllers/sz/sz_his_api_controller.go
  2. 1 0
      models/his_models.go
  3. 13 13
      service/sz_his_service.go

+ 31 - 18
controllers/sz/sz_his_api_controller.go View File

@@ -3340,14 +3340,14 @@ func (c *SZHisApiController) GetDrugList() {
3340 3340
 
3341 3341
 	//获取药品剂型
3342 3342
 	drugs, _ := service.GetDrugDosageForm(orgId)
3343
-	for _, item := range list {
3344
-
3345
-		for _, it := range drugs {
3346
-			if item.DrugDosageForm == it.Value {
3347
-				item.DrugDosageName = it.Name
3348
-			}
3349
-		}
3350
-	}
3343
+	// for _, item := range list {
3344
+
3345
+	// 	for _, it := range drugs {
3346
+	// 		if item.DrugDosageForm == it.Value {
3347
+	// 			item.DrugDosageName = it.Code
3348
+	// 		}
3349
+	// 	}
3350
+	// }
3351 3351
 	miConfig, _ := service.FindMedicalInsuranceInfo(orgId)
3352 3352
 	var doctor_name string
3353 3353
 	var doctor_code string
@@ -3365,7 +3365,7 @@ func (c *SZHisApiController) GetDrugList() {
3365 3365
 			Code:             item.Code,
3366 3366
 			DrugName:         item.DrugName,
3367 3367
 			DrugSpec:         item.DrugSpec,
3368
-			DrugDosageName:   item.DrugDosageName,
3368
+			// DrugDosageName:   item.DrugDosageName,
3369 3369
 			ManufacturerName: item.ManufacturerName,
3370 3370
 			MinUnit:          item.MinUnit,
3371 3371
 			RetailPrice:      item.RetailPrice,
@@ -3373,6 +3373,12 @@ func (c *SZHisApiController) GetDrugList() {
3373 3373
 			LimitRemark:      item.LimitRemark,
3374 3374
 		}
3375 3375
 
3376
+		for _, it := range drugs {
3377
+			if item.DrugDosageForm == it.Value {
3378
+				detail.DrugDosageName = it.Code
3379
+			}
3380
+		}
3381
+
3376 3382
 		result := service.SzybML008(doctor_name, doctor_code, miConfig.Code, detail)
3377 3383
 
3378 3384
 		var dat map[string]interface{}
@@ -3594,15 +3600,15 @@ func (c *SZHisApiController) GetRevocation() {
3594 3600
 			list, _ := service.GetDrugListByDetail(orgId, id)
3595 3601
 			//获取药品剂型
3596 3602
 			drugs, _ := service.GetDrugDosageForm(orgId)
3597
-			for _, item := range list {
3598
-				fmt.Println(item.DrugDosageForm)
3599
-				for _, it := range drugs {
3600
-
3601
-					if item.DrugDosageForm == it.Value {
3602
-						item.DrugDosageName = it.Name
3603
-					}
3604
-				}
3605
-			}
3603
+			// for _, item := range list {
3604
+			// 	fmt.Println(item.DrugDosageForm)
3605
+			// 	for _, it := range drugs {
3606
+
3607
+			// 		if item.DrugDosageForm == it.Value {
3608
+			// 			item.DrugDosageName = it.Name
3609
+			// 		}
3610
+			// 	}
3611
+			// }
3606 3612
 			fmt.Print("长度", len(list))
3607 3613
 			miConfig, _ := service.FindMedicalInsuranceInfo(orgId)
3608 3614
 			var doctor_name string
@@ -3630,6 +3636,13 @@ func (c *SZHisApiController) GetRevocation() {
3630 3636
 					LimitRemark:      item.LimitRemark,
3631 3637
 				}
3632 3638
 
3639
+				for _, it := range drugs {
3640
+
3641
+					if item.DrugDosageForm == it.Value {
3642
+						detail.DrugDosageName = it.Code
3643
+					}
3644
+				}
3645
+
3633 3646
 				result := service.SzybML008(doctor_name, doctor_code, miConfig.Code, detail)
3634 3647
 
3635 3648
 				var dat map[string]interface{}

+ 1 - 0
models/his_models.go View File

@@ -1024,6 +1024,7 @@ type XtDrugDataConfig struct {
1024 1024
 	Title          string    `gorm:"column:title" json:"title" form:"title"`
1025 1025
 	Content        string    `gorm:"column:content" json:"content" form:"content"`
1026 1026
 	Orders         int64     `gorm:"column:orders" json:"orders" form:"orders"`
1027
+	Code        string    `gorm:"column:code" json:"code" form:"code"`
1027 1028
 }
1028 1029
 
1029 1030
 func (XtDrugDataConfig) TableName() string {

+ 13 - 13
service/sz_his_service.go View File

@@ -689,44 +689,43 @@ func SzybML008(doctor string, doctor_code string, fixmedins_code string, basedru
689 689
 	return str
690 690
 }
691 691
 
692
-// 生成基础报文
693 692
 func SetSZDrugMessage(doctor string, doctor_code string, fixmedins_code string) map[string]interface{} {
694 693
 	month := time.Unix(1557042972, 0).Format("1")
695 694
 	year := time.Now().Format("2006")
696 695
 	month = time.Now().Format("01")
697 696
 	day := time.Now().Format("02")
698
-
697
+   
699 698
 	hour := time.Now().Format("15")
700 699
 	min := time.Now().Format("04")
701 700
 	sec := time.Now().Format("05")
702
-
701
+   
703 702
 	msec := time.Now().Format("000")
704
-
703
+   
705 704
 	//生成输入报文
706 705
 	inputMessage := make(map[string]interface{})
707 706
 	//
708
-
707
+   
709 708
 	inputMessage["cardArea"] = "440300" // 发卡地行政区划代码
710 709
 	inputMessage["extendDeviceId"] = ""
711 710
 	inputMessage["extendSerialNumber"] = ""
712 711
 	inputMessage["extendUserId"] = ""
713
-	inputMessage["hospitalCode"] = "G5540"     // 协议机构编码
712
+	inputMessage["hospitalCode"] = fixmedins_code     // 协议机构编码
714 713
 	inputMessage["operatorCode"] = doctor_code // 操作员编码
715 714
 	inputMessage["operatorName"] = doctor      // 操作员名字
716 715
 	inputMessage["operatorPass"] = ""          // 定点协议机构操作人员编码
717
-	//inputMessage["serialNumber"] = "G5540" + year + month + day +
718
-	//  fmt.Sprintf("%07v", rand.New(rand.NewSource(time.Now().UnixNano())).Int31n(10000000)) // 定点协议机构编码(5位)+日期(8位)+流水号(7位)
719
-	inputMessage["serialNumber"] = "G554020210406" + fmt.Sprintf("%07v", rand.New(rand.NewSource(time.Now().UnixNano())).Int31n(10000000)) // 定点协议机构编码(5位)+日期(8位)+流水号(7位)
716
+	inputMessage["serialNumber"] = fixmedins_code + year + month + day +
717
+	 fmt.Sprintf("%07v", rand.New(rand.NewSource(time.Now().UnixNano())).Int31n(10000000)) // 定点协议机构编码(5位)+日期(8位)+流水号(7位)
718
+	//inputMessage["serialNumber"] = "G554020210406" + fmt.Sprintf("%07v", rand.New(rand.NewSource(time.Now().UnixNano())).Int31n(10000000)) // 定点协议机构编码(5位)+日期(8位)+流水号(7位)
720 719
 	inputMessage["verifyCode"] = "000000|8ec5b7745a5cc45b631f23b4bf1e417e"
721
-
720
+   
722 721
 	inputMessage["transReturnCode"] = ""                                           //
723 722
 	inputMessage["transReturnMessage"] = ""                                        //
724 723
 	inputMessage["transTime"] = year + month + day + hour + min + sec + ":" + msec //
725
-	inputMessage["transVersion"] = "V0.3"                                          //   //
724
+	inputMessage["transVersion"] = "V0.2"                                          //   //
726 725
 	inputMessage["transChannel"] = "10"                                            //
727
-
726
+   
728 727
 	return inputMessage
729
-}
728
+   }
730 729
 
731 730
 func SzybML009(doctor string, doctor_code string, fixmedins_code string, pro *models.MyHisProject) string {
732 731
 	//生成输入报文
@@ -750,6 +749,7 @@ func SzybML009(doctor string, doctor_code string, fixmedins_code string, pro *mo
750 749
 
751 750
 	fmt.Println("feeedDetal2333333333", feedetail)
752 751
 	inputData["inputlist"] = feedetail
752
+	inputData["listsize"] = 1
753 753
 	inputMessage["transBody"] = inputData
754 754
 
755 755
 	bytesData, err := json.Marshal(inputMessage)