test_user 1 年之前
父節點
當前提交
a8dad321e3
共有 4 個文件被更改,包括 146 次插入103 次删除
  1. 1 1
      controllers/sg/gdyb_controller.go
  2. 139 100
      controllers/sg/his_api_controller.go
  3. 5 1
      service/gdyb_service.go
  4. 1 1
      service/his_service.go

+ 1 - 1
controllers/sg/gdyb_controller.go 查看文件

@@ -341,7 +341,7 @@ func (c *GdybController) PostEight() {
341 341
 	preselfpay_amt, _ := c.GetFloat("preselfpay_amt")
342 342
 	inscp_scp_amt, _ := c.GetFloat("inscp_scp_amt")
343 343
 
344
-	result, srcRequest := service.Gdyb2207(psnNo, mdtrtId, chrgBchno, certNo, insutype, total, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, med_type, id_card_type, fulamt_ownpay_amt, overlmt_selfpay, preselfpay_amt, inscp_scp_amt, 1, "0")
344
+	result, srcRequest := service.Gdyb2207(psnNo, mdtrtId, chrgBchno, certNo, insutype, total, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, med_type, id_card_type, fulamt_ownpay_amt, overlmt_selfpay, preselfpay_amt, inscp_scp_amt, 1, "0", "")
345 345
 	var dat map[string]interface{}
346 346
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
347 347
 		fmt.Println(dat)

+ 139 - 100
controllers/sg/his_api_controller.go 查看文件

@@ -2293,66 +2293,65 @@ func (c *HisApiController) ReadCard() {
2293 2293
 				return
2294 2294
 			}
2295 2295
 		} else if miConfig.MdtrtareaAdmvs == "440300" || miConfig.MdtrtareaAdmvs == "440305" {
2296
-			c.GetEleBaseInfo()
2297
-
2298
-			//result, requestLog := service.Gdyb6101(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey)
2299
-			//saveLog(result, requestLog, "6101", "电子凭证")
2300
-			//var ele ELeCertData
2301
-			//err := json.Unmarshal([]byte(result), &ele)
2302
-			//if err != nil {
2303
-			//	utils.ErrorLog("解析失败:%v", err)
2304
-			//}
2305
-			//result2, requestLog2 := service.Gdyb1101ForEleCert(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, ele.Data.EcToken)
2306
-			//saveLog(result2, requestLog2, "1101", "获取人员信息")
2307
-			//
2308
-			//var res ResultTwo
2309
-			//if err := json.Unmarshal([]byte(result2), &res); err != nil {
2310
-			//	utils.ErrorLog("解析失败:%v", err)
2311
-			//	c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
2312
-			//	return
2313
-			//}
2314
-			//
2315
-			//if res.Infcode == 0 {
2316
-			//	patient, err := service.GetPatientByNumber(ele.Data.IDNo, c.GetAdminUserInfo().CurrentOrgId)
2317
-			//	if err == gorm.ErrRecordNotFound {
2318
-			//		c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
2319
-			//		return
2320
-			//	} else if err != nil {
2321
-			//		c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
2322
-			//		return
2323
-			//
2324
-			//	} else {
2325
-			//		Iinfos, _ := json.Marshal(res.Output.Iinfo)
2326
-			//		Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
2327
-			//		infoStr := string(Iinfos)
2328
-			//		idetinfoStr := string(Idetinfos)
2329
-			//		psn := &models.HisPsn{
2330
-			//			PsnNo:        res.Output.Baseinfo.PsnNo,
2331
-			//			Age:          res.Output.Baseinfo.Age,
2332
-			//			PatientId:    patient.ID,
2333
-			//			Certno:       res.Output.Baseinfo.Certno,
2334
-			//			Brdy:         res.Output.Baseinfo.Brdy,
2335
-			//			Gend:         res.Output.Baseinfo.Gend,
2336
-			//			Naty:         res.Output.Baseinfo.Naty,
2337
-			//			PsnCertType:  res.Output.Baseinfo.PsnCertType,
2338
-			//			PsnName:      res.Output.Baseinfo.PsnName,
2339
-			//			Idetinfo:     idetinfoStr,
2340
-			//			Insuinfo:     infoStr,
2341
-			//			UserOrgId:    c.GetAdminUserInfo().CurrentOrgId,
2342
-			//			CardInfo:     "",
2343
-			//			VerifyNumber: ele.Data.EcToken,
2344
-			//		}
2345
-			//		service.CreateHisPsn(psn)
2296
+
2297
+			if initFlag == 0 {
2298
+				c.TestGetBasBaseInit()
2299
+			}
2300
+			token := c.GetEleBaseInfo()
2301
+
2302
+			token = Remove0000(token)
2303
+
2304
+			result2, requestLog2 := service.Gdyb1101ForEleCert(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, token)
2305
+			saveLog(result2, requestLog2, "1101", "获取人员信息")
2346 2306
 			//
2347
-			//		c.ServeSuccessJSON(map[string]interface{}{
2348
-			//			"patient": patient,
2349
-			//			"number":  ele.Data.EcToken,
2350
-			//		})
2351
-			//	}
2352
-			//} else {
2353
-			//	c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
2354
-			//	return
2355
-			//}
2307
+			var res ResultTwo
2308
+			if err := json.Unmarshal([]byte(result2), &res); err != nil {
2309
+				utils.ErrorLog("解析失败:%v", err)
2310
+				c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
2311
+				return
2312
+			}
2313
+
2314
+			if res.Infcode == 0 {
2315
+				patient, err := service.GetPatientByNumber(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
2316
+				if err == gorm.ErrRecordNotFound {
2317
+					c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
2318
+					return
2319
+				} else if err != nil {
2320
+					c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
2321
+					return
2322
+
2323
+				} else {
2324
+					Iinfos, _ := json.Marshal(res.Output.Iinfo)
2325
+					Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
2326
+					infoStr := string(Iinfos)
2327
+					idetinfoStr := string(Idetinfos)
2328
+					psn := &models.HisPsn{
2329
+						PsnNo:        res.Output.Baseinfo.PsnNo,
2330
+						Age:          res.Output.Baseinfo.Age,
2331
+						PatientId:    patient.ID,
2332
+						Certno:       res.Output.Baseinfo.Certno,
2333
+						Brdy:         res.Output.Baseinfo.Brdy,
2334
+						Gend:         res.Output.Baseinfo.Gend,
2335
+						Naty:         res.Output.Baseinfo.Naty,
2336
+						PsnCertType:  res.Output.Baseinfo.PsnCertType,
2337
+						PsnName:      res.Output.Baseinfo.PsnName,
2338
+						Idetinfo:     idetinfoStr,
2339
+						Insuinfo:     infoStr,
2340
+						UserOrgId:    c.GetAdminUserInfo().CurrentOrgId,
2341
+						CardInfo:     "",
2342
+						VerifyNumber: token,
2343
+					}
2344
+					service.CreateHisPsn(psn)
2345
+
2346
+					c.ServeSuccessJSON(map[string]interface{}{
2347
+						"patient": patient,
2348
+						"number":  token,
2349
+					})
2350
+				}
2351
+			} else {
2352
+				c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
2353
+				return
2354
+			}
2356 2355
 
2357 2356
 		}
2358 2357
 		break
@@ -2399,6 +2398,8 @@ func (c *HisApiController) GetSFZBaseInfo() string {
2399 2398
 func (c *HisApiController) GetEleBaseInfo() string {
2400 2399
 	DllDef := syscall.MustLoadDLL("SSCard.dll")
2401 2400
 	readCard := DllDef.MustFindProc("GetQRBase")
2401
+	fmt.Println(readCard)
2402
+
2402 2403
 	if readCard == nil {
2403 2404
 		fmt.Println("readcard is nil")
2404 2405
 		readCard = DllDef.MustFindProc("GetQRBase")
@@ -2406,6 +2407,7 @@ func (c *HisApiController) GetEleBaseInfo() string {
2406 2407
 	str := make([]byte, 1024)
2407 2408
 	str1 := make([]byte, 1024)
2408 2409
 	ret2, _, _ := readCard.Call(uintptr(180), (uintptr)(unsafe.Pointer(&str[0])), uintptr(1024), (uintptr)(unsafe.Pointer(&str1[0])), uintptr(1024))
2410
+	fmt.Println(ret2)
2409 2411
 	fmt.Println(string(str1))
2410 2412
 	fmt.Println(string(str))
2411 2413
 	fmt.Println(":", ConvertToString(string(str1), "gbk", "utf-8"))
@@ -2413,7 +2415,7 @@ func (c *HisApiController) GetEleBaseInfo() string {
2413 2415
 	if ret2 != 0 {
2414 2416
 		return ""
2415 2417
 	}
2416
-	return string(str1)
2418
+	return string(str)
2417 2419
 }
2418 2420
 
2419 2421
 func (c *HisApiController) GetBasBaseInfo() string {
@@ -5706,52 +5708,70 @@ func (c *HisApiController) GetRegisterInfo() {
5706 5708
 			var result string
5707 5709
 			var requestLog string
5708 5710
 			if miConfig.UserOrgId == 10138 {
5709
-				if id_card_type == 4 {
5710
-					psn_info, _ := service.GetPsnByPatientId(id)
5711
-					result, requestLog = service.Gdyb1101ForEleCert(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, psn_info.VerifyNumber)
5712
-				} else {
5711
+				if id_card_type != 4 {
5712
+					//psn_info, _ := service.GetPsnByPatientId(id)
5713
+					//result, requestLog = service.Gdyb1101ForEleCert(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, psn_info.VerifyNumber)
5713 5714
 					result, requestLog = service.Gdyb1101D(patient.IdCardNo, miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, "", strconv.FormatInt(certificates, 10), name, record_time)
5714 5715
 				}
5715 5716
 			} else {
5716 5717
 				result, requestLog = service.Gdyb1101(patient.IdCardNo, miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, "", strconv.FormatInt(certificates, 10), name)
5717 5718
 			}
5718
-			saveLog(result, requestLog, "1101", "人员基本信息获取")
5719
-			if miConfig.Code == "H15049901371" {
5720 5719
 
5721
-				if err := json.Unmarshal([]byte(result), &res10265); err != nil {
5722
-					utils.ErrorLog("解析失败:%v", err)
5723
-					c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
5724
-					return
5725
-				}
5726
-				res.ErrMsg = res10265.ErrMsg
5727
-				res.Output = res10265.Output
5728
-				res.InfRefmsgid = res10265.InfRefmsgid
5720
+			if id_card_type == 4 {
5721
+				psn_info, _ := service.GetPsnByPatientId(id)
5722
+				PsnNo = psn_info.PsnNo
5723
+				PsnCertType = psn_info.PsnCertType
5724
+				Certno = psn_info.Certno
5725
+				PsnName = psn_info.PsnName
5726
+				Gend = psn_info.Gend
5727
+				Naty = psn_info.Naty
5728
+				Brdy = psn_info.Brdy
5729
+				Age = psn_info.Age
5730
+				infoStr = psn_info.Insuinfo
5731
+				idetinfoStr = psn_info.Idetinfo
5732
+				infocode = 0
5733
+				verify_number = psn_info.VerifyNumber
5729 5734
 
5730 5735
 			} else {
5731
-				if err := json.Unmarshal([]byte(result), &res); err != nil {
5732
-					utils.ErrorLog("解析失败:%v", err)
5733
-					c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
5734
-					return
5736
+				saveLog(result, requestLog, "1101", "人员基本信息获取")
5737
+				if miConfig.Code == "H15049901371" {
5738
+
5739
+					if err := json.Unmarshal([]byte(result), &res10265); err != nil {
5740
+						utils.ErrorLog("解析失败:%v", err)
5741
+						c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
5742
+						return
5743
+					}
5744
+					res.ErrMsg = res10265.ErrMsg
5745
+					res.Output = res10265.Output
5746
+					res.InfRefmsgid = res10265.InfRefmsgid
5747
+
5748
+				} else {
5749
+					if err := json.Unmarshal([]byte(result), &res); err != nil {
5750
+						utils.ErrorLog("解析失败:%v", err)
5751
+						c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
5752
+						return
5753
+					}
5754
+				}
5755
+				PsnNo = res.Output.Baseinfo.PsnNo
5756
+				PsnCertType = res.Output.Baseinfo.PsnCertType
5757
+				Certno = res.Output.Baseinfo.Certno
5758
+				PsnName = res.Output.Baseinfo.PsnName
5759
+				Gend = res.Output.Baseinfo.Gend
5760
+				Naty = res.Output.Baseinfo.Naty
5761
+				Brdy = res.Output.Baseinfo.Brdy
5762
+				Age = res.Output.Baseinfo.Age
5763
+				Iinfos, _ := json.Marshal(res.Output.Iinfo)
5764
+				Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
5765
+				infoStr = string(Iinfos)
5766
+				idetinfoStr = string(Idetinfos)
5767
+				if miConfig.Code == "H15049901371" {
5768
+					infocode, _ = strconv.ParseInt(res10265.Infcode, 10, 64)
5769
+				} else {
5770
+					infocode = res.Infcode
5735 5771
 				}
5736
-			}
5737 5772
 
5738
-			PsnNo = res.Output.Baseinfo.PsnNo
5739
-			PsnCertType = res.Output.Baseinfo.PsnCertType
5740
-			Certno = res.Output.Baseinfo.Certno
5741
-			PsnName = res.Output.Baseinfo.PsnName
5742
-			Gend = res.Output.Baseinfo.Gend
5743
-			Naty = res.Output.Baseinfo.Naty
5744
-			Brdy = res.Output.Baseinfo.Brdy
5745
-			Age = res.Output.Baseinfo.Age
5746
-			Iinfos, _ := json.Marshal(res.Output.Iinfo)
5747
-			Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
5748
-			infoStr = string(Iinfos)
5749
-			idetinfoStr = string(Idetinfos)
5750
-			if miConfig.Code == "H15049901371" {
5751
-				infocode, _ = strconv.ParseInt(res10265.Infcode, 10, 64)
5752
-			} else {
5753
-				infocode = res.Infcode
5754 5773
 			}
5774
+
5755 5775
 		}
5756 5776
 		if infocode == 0 {
5757 5777
 			his := models.VMHisPatient{
@@ -6051,7 +6071,7 @@ func (c *HisApiController) GetRegisterInfo() {
6051 6071
 				infocode, _ = strconv.ParseInt(resThree10265.Infcode, 10, 64)
6052 6072
 			} else {
6053 6073
 				psn_info, _ := service.GetPsnByPatientId(id)
6054
-				result, requestLog := service.Gdyb2201A(res.Output.Baseinfo.PsnNo, insutype, IdCardNo, miConfig.OrgName, roles.UserName, ipt_otp_no, department.Name, miConfig.Code, department.Number, doctor_info.DoctorNumber, insuplc_admdvs_temp, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, doctor_info.UserName, record_time, psn_info.VerifyNumber)
6074
+				result, requestLog := service.Gdyb2201A(PsnNo, insutype, IdCardNo, miConfig.OrgName, roles.UserName, ipt_otp_no, department.Name, miConfig.Code, department.Number, doctor_info.DoctorNumber, insuplc_admdvs_temp, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, doctor_info.UserName, record_time, psn_info.VerifyNumber)
6055 6075
 				saveLog(result, requestLog, "2201A", "挂号")
6056 6076
 				if miConfig.Code == "H15049901371" {
6057 6077
 
@@ -7134,9 +7154,19 @@ func (c *HisApiController) GetUploadInfo() {
7134 7154
 										med_type = "11"
7135 7155
 									}
7136 7156
 								}
7137
-								result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, med_type, his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag)
7157
+								result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, med_type, his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, "")
7138 7158
 							} else {
7139
-								result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag)
7159
+								if his.IdCardType == 4 {
7160
+									psn_info, _ := service.GetPsnByPatientId(his.PatientId)
7161
+									var token string
7162
+									token = psn_info.VerifyNumber
7163
+									result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, token)
7164
+
7165
+								} else {
7166
+									result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, "")
7167
+
7168
+								}
7169
+
7140 7170
 							}
7141 7171
 
7142 7172
 							//result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, 0, 0, 0, 0, his.IdType, acct_used_flag)
@@ -7587,9 +7617,18 @@ func (c *HisApiController) GetUploadInfo() {
7587 7617
 							med_type = "11"
7588 7618
 						}
7589 7619
 					}
7590
-					result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, med_type, his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag)
7620
+					result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, med_type, his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, "")
7591 7621
 				} else {
7592
-					result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag)
7622
+					if his.IdCardType == 4 {
7623
+						psn_info, _ := service.GetPsnByPatientId(his.PatientId)
7624
+						token := psn_info.VerifyNumber
7625
+						result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, token)
7626
+
7627
+					} else {
7628
+
7629
+						result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, "")
7630
+
7631
+					}
7593 7632
 				}
7594 7633
 
7595 7634
 				var dat map[string]interface{}

+ 5 - 1
service/gdyb_service.go 查看文件

@@ -1291,7 +1291,7 @@ func Gdyb2206(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
1291 1291
 }
1292 1292
 
1293 1293
 //  门诊结算
1294
-func Gdyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, insutype string, total string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, med_type string, id_card_type int64, fulamt_ownpay_amt float64, overlmt_selfpay float64, preselfpay_amt float64, inscp_scp_amt float64, certificates int64, acct_used_flag string) (string, string) {
1294
+func Gdyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, insutype string, total string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, med_type string, id_card_type int64, fulamt_ownpay_amt float64, overlmt_selfpay float64, preselfpay_amt float64, inscp_scp_amt float64, certificates int64, acct_used_flag string, token string) (string, string) {
1295 1295
 	// 生成签名
1296 1296
 	nonce := GetRandomString(32)
1297 1297
 	timestamp := time.Now().Unix()
@@ -1310,9 +1310,13 @@ func Gdyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
1310 1310
 		if id_card_type == 1 {
1311 1311
 			inputData["mdtrt_cert_type"] = "03" // 就诊凭证类型
1312 1312
 			inputData["mdtrt_cert_no"] = certNo // 就诊凭证编号
1313
+		} else if id_card_type == 4 {
1314
+			inputData["mdtrt_cert_type"] = "01" // 就诊凭证类型
1315
+			inputData["mdtrt_cert_no"] = token  // 就诊凭证编号
1313 1316
 		} else {
1314 1317
 			inputData["mdtrt_cert_type"] = "02" // 就诊凭证类型
1315 1318
 			inputData["mdtrt_cert_no"] = certNo // 就诊凭证编号
1319
+
1316 1320
 		}
1317 1321
 	}
1318 1322
 	if med_type == "1111" || med_type == "1112" {

+ 1 - 1
service/his_service.go 查看文件

@@ -1412,7 +1412,7 @@ func GetPsnByPatientId(patient_id int64) (psn models.HisPsn, err error) {
1412 1412
 }
1413 1413
 
1414 1414
 func GetAllHisOrder(org_id int64) (his []*models.HisOrder, err error) {
1415
-	err = readDb.Model(&models.HisOrder{}).Where("user_org_id = ?  AND status = 1  AND  order_status = 2 AND setl_id <> ''  AND med_type = '14' AND setl_time >= '2022-07-30 00:00:00' AND setl_time <= '2022-07-31 23:59:59'", org_id).Order("setl_time asc").Find(&his).Error
1415
+	err = readDb.Model(&models.HisOrder{}).Where("user_org_id = ?  AND status = 1  AND  order_status = 2 AND setl_id <> ''  AND med_type = '14' AND setl_time >= '2022-05-01 00:00:00' AND setl_time <= '2022-06-01 23:59:59'", org_id).Order("setl_time asc").Find(&his).Error
1416 1416
 	return
1417 1417
 }
1418 1418
 func GetAllHisOrderErr(org_id int64, stage int64) (his []*models.HisOrderError, err error) {