test_user 1 год назад
Родитель
Сommit
15d2b58cf4

+ 60 - 4
controllers/js/jsyb_controller.go Просмотреть файл

@@ -664,7 +664,11 @@ func (c *JSybController) PostSeven() {
664 664
 	url := c.GetString("url")
665 665
 	ak := c.GetString("ak")
666 666
 
667
-	result, request_log := service.Jsyb2206(psnNo, mdtrtId, chrgBchno, certNo, insutype, total, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, med_type, id_card_type, 0, 0, 0, 0, certificates, url, ak, verify_number, cainfo)
667
+	var result string
668
+	var request_log string
669
+
670
+	result, request_log = service.Jsyb2206(psnNo, mdtrtId, chrgBchno, certNo, insutype, total, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, med_type, id_card_type, 0, 0, 0, 0, certificates, url, ak, verify_number, cainfo)
671
+
668 672
 	saveJsLog(result, request_log, "2206", "预结算", org_name)
669 673
 	var dat map[string]interface{}
670 674
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
@@ -713,7 +717,25 @@ func (c *JSybController) PostEight() {
713 717
 	verify_number := c.GetString("verify_number")
714 718
 	cainfo := c.GetString("cainfo")
715 719
 
716
-	result, request_log := service.Jsyb2207(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, certificates, acct_used_flag, url, ak, verify_number, cainfo)
720
+	var result string
721
+	var request_log string
722
+	if id_card_type == 4 {
723
+		_, pBusiCardInfo := GetELeCertInfoSettle(fixmedins_code, "", "")
724
+		pBusiCardInfo = Remove0000(pBusiCardInfo)
725
+		var ele ELeData
726
+		err := json.Unmarshal([]byte(pBusiCardInfo), &ele)
727
+		if err != nil {
728
+			utils.ErrorLog("解析失败:%v", err)
729
+		}
730
+		token := ele.Data.EcCardToken
731
+		if len(token) > 0 {
732
+			result, request_log = service.Jsyb2207(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, certificates, acct_used_flag, url, ak, token, cainfo)
733
+		}
734
+	} else {
735
+		result, request_log = service.Jsyb2207(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, certificates, acct_used_flag, url, ak, verify_number, cainfo)
736
+
737
+	}
738
+
717 739
 	saveJsLog(result, request_log, "2207", "结算", org_name)
718 740
 	var dat map[string]interface{}
719 741
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
@@ -1024,12 +1046,14 @@ func (c *JSybController) ReadCard() {
1024 1046
 		token := ele.Data.EcToken
1025 1047
 		fmt.Println(token)
1026 1048
 		if len(token) > 0 {
1027
-			userName := ConvertByte2String([]byte(ele.Data.UserName), GB18030)
1049
+			userName := ele.Data.UserName
1050
+			fmt.Println(userName)
1028 1051
 			userName = Remove0000(userName)
1052
+			userName = DeleteExtraSpace(userName)
1029 1053
 			fmt.Println(userName)
1030 1054
 			enc := mahonia.NewEncoder("gbk")
1031 1055
 			fmt.Println(enc.ConvertString(userName))
1032
-			result, _ := service.Jsyb1101ForEleCert(org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, url, ak, token, cainfo, ele.Data.IDNo, enc.ConvertString(userName))
1056
+			result, _ := service.Jsyb1101ForEleCert(org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, url, ak, token, cainfo, ele.Data.IDNo, userName)
1033 1057
 			var dat map[string]interface{}
1034 1058
 			if err := json.Unmarshal([]byte(result), &dat); err == nil {
1035 1059
 				fmt.Println(dat)
@@ -1183,6 +1207,38 @@ func (c *JSybController) GetELeCertInfo(code string, operator_id string, operato
1183 1207
 	return ConvertByte2String([]byte(DeleteExtraSpace(string(bytesData))), GB18030), ConvertByte2String([]byte(DeleteExtraSpace(string(pBusiCardInfo))), GB18030)
1184 1208
 }
1185 1209
 
1210
+func GetELeCertInfoSettle(code string, operator_id string, operator_name string) (string, string) {
1211
+	DllDef := syscall.MustLoadDLL("HeaSecReadInfo.dll")
1212
+	readCard := DllDef.MustFindProc("GetPersonInfo")
1213
+
1214
+	pCardInfo := make([]byte, 8192)
1215
+	pBusiCardInfo := make([]byte, 8192)
1216
+	data := make(map[string]interface{})
1217
+
1218
+	inputData := make(map[string]interface{})
1219
+	inputData["orgId"] = code
1220
+	inputData["businessType"] = "01301"
1221
+	inputData["operatorId"] = "1"
1222
+	inputData["operatorName"] = "admin"
1223
+	inputData["officeId"] = "001"
1224
+	inputData["officeName"] = "admin"
1225
+	data["data"] = inputData
1226
+	data["transType"] = "ec.query"
1227
+	data["orgId"] = code
1228
+	bytesData, _ := json.Marshal(data)
1229
+	pCardInfo = bytesData
1230
+	pCardInfo = []byte(ConvertByte2String(pCardInfo, GB18030))
1231
+
1232
+	ret2, _, _ := readCard.Call((uintptr)(unsafe.Pointer(&pCardInfo[0])), (uintptr)(unsafe.Pointer(&pBusiCardInfo[0])))
1233
+	fmt.Println(ret2)
1234
+	fmt.Println(":", ConvertToString(DeleteExtraSpace(string(bytesData)), "gbk", "utf-8"))
1235
+	fmt.Println(":", ConvertToString(DeleteExtraSpace(string(pBusiCardInfo)), "gbk", "utf-8"))
1236
+	if ret2 != 0 {
1237
+		return "", ""
1238
+	}
1239
+	return ConvertByte2String([]byte(DeleteExtraSpace(string(bytesData))), GB18030), ConvertByte2String([]byte(DeleteExtraSpace(string(pBusiCardInfo))), GB18030)
1240
+}
1241
+
1186 1242
 func IntPtr(n int) uintptr {
1187 1243
 	return uintptr(n)
1188 1244
 }

+ 14 - 30
controllers/sg/his_api_controller.go Просмотреть файл

@@ -3101,8 +3101,8 @@ func (c *HisApiController) GetSettleListHospital() {
3101 3101
 		HiType:         order.Insutype,
3102 3102
 		Insuplc:        miConfig.InsuplcAdmdvs,
3103 3103
 		MaindiagFlag:   "1",
3104
-		BillCode:       order.FaPiaoCode,
3105
-		BillNo:         order.FaPiaoCode,
3104
+		BillCode:       order.FaPiaoNumber,
3105
+		BillNo:         order.FaPiaoNumber,
3106 3106
 		BizSn:          order.Number,
3107 3107
 		PsnSelfPay:     order.PsnPartAmt,
3108 3108
 		PsnOwnPay:      order.PsnPartAmt,
@@ -3666,8 +3666,8 @@ func (c *HisApiController) GetBatchSettleList() {
3666 3666
 			HiType:         order.Insutype,
3667 3667
 			Insuplc:        his.InsuplcAdmdvs,
3668 3668
 			MaindiagFlag:   "1",
3669
-			BillCode:       order.FaPiaoCode,
3670
-			BillNo:         order.FaPiaoNumber,
3669
+			BillCode:       order.SetlId,
3670
+			BillNo:         order.SetlId,
3671 3671
 			BizSn:          order.Number,
3672 3672
 			PsnSelfPay:     order.PsnPartAmt,
3673 3673
 			PsnOwnPay:      order.PsnPartAmt,
@@ -13157,8 +13157,8 @@ func (c *HisApiController) Post3202() {
13157 13157
 	loc, _ := time.LoadLocation("Local")
13158 13158
 	startime, _ := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc)
13159 13159
 	endtime, _ := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc)
13160
-	orders, _ := service.GetOrderByTimeFour(startime.Unix(), endtime.Unix(), adminUser.CurrentOrgId, "390", "", clr_type)
13161
-	orders_two, _ := service.GetOrderByTimeFour(startime.Unix(), endtime.Unix(), adminUser.CurrentOrgId, "310", "", clr_type)
13160
+	orders, _ := service.GetOrderByTimeFour(startime.Unix(), endtime.Unix(), adminUser.CurrentOrgId)
13161
+	//orders_two, _ := service.GetOrderByTimeFour(startime.Unix(), endtime.Unix(), adminUser.CurrentOrgId, "310", "", clr_type)
13162 13162
 
13163 13163
 	//fixmedins_setl_cnt := int64(len(orders))
13164 13164
 	var medfee_sumamt float64
@@ -13172,15 +13172,15 @@ func (c *HisApiController) Post3202() {
13172 13172
 
13173 13173
 	}
13174 13174
 
13175
-	var medfee_sumamt_two float64
13176
-	var acct_pay_two float64
13177
-	var fund_pay_sumamt_two float64
13175
+	//var medfee_sumamt_two float64
13176
+	//var acct_pay_two float64
13177
+	//var fund_pay_sumamt_two float64
13178 13178
 
13179
-	for _, item := range orders_two {
13180
-		medfee_sumamt_two = medfee_sumamt_two + item.MedfeeSumamt
13181
-		acct_pay_two = acct_pay_two + item.AcctPay
13182
-		fund_pay_sumamt_two = fund_pay_sumamt_two + item.FundPaySumamt
13183
-	}
13179
+	//for _, item := range orders_two {
13180
+	//	medfee_sumamt_two = medfee_sumamt_two + item.MedfeeSumamt
13181
+	//	acct_pay_two = acct_pay_two + item.AcctPay
13182
+	//	fund_pay_sumamt_two = fund_pay_sumamt_two + item.FundPaySumamt
13183
+	//}
13184 13184
 
13185 13185
 	//var user_name string
13186 13186
 	role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
@@ -13207,22 +13207,6 @@ func (c *HisApiController) Post3202() {
13207 13207
 		bp.StmtEnddate = end_time
13208 13208
 		bps = append(bps, &bp)
13209 13209
 
13210
-		medfee_sumamt_two_str := fmt.Sprintf("%.2f", medfee_sumamt_two)
13211
-		acct_pay_two_str := fmt.Sprintf("%.2f", acct_pay_two)
13212
-		fund_pay_sumamt_two_str := fmt.Sprintf("%.2f", fund_pay_sumamt_two)
13213
-
13214
-		var bp2 models.BusinessParamsTwo
13215
-		bp2.MedfeeSumamt = medfee_sumamt_two_str
13216
-		bp2.AcctPay = acct_pay_two_str
13217
-		bp2.FundPaySumamt = fund_pay_sumamt_two_str
13218
-		bp2.Insutype = "310"
13219
-		bp2.StmtBegndate = start_time
13220
-		bp2.StmtEnddate = end_time
13221
-		bp2.ClrType = clr_type
13222
-		bp2.SetlOptins = clr_org
13223
-		bps = append(bps, &bp2)
13224
-		fmt.Println(bps)
13225
-
13226 13210
 		data := make(map[string]interface{})
13227 13211
 		data["bps"] = bps
13228 13212
 		data["org_name"] = miConfig.OrgName

+ 1 - 3
main.go Просмотреть файл

@@ -6,15 +6,13 @@ import (
6 6
 
7 7
 	//"gdyb/models"
8 8
 	_ "gdyb/routers"
9
-	"gdyb/service"
10
-
11 9
 	//"github.com/qiniu/api.v7/auth/qbox"
12 10
 	//"github.com/qiniu/api.v7/storage"
13 11
 
14 12
 	//"github.com/qiniu/roapi.v7/auth/qbox"
15 13
 	//"github.com/qiniu/api.v7/storage"
16 14
 
17
-	//"gdyb/service"
15
+	"gdyb/service"
18 16
 	"github.com/astaxie/beego"
19 17
 	//"strconv"
20 18
 	//"time"

+ 1 - 1
service/fj_service.go Просмотреть файл

@@ -2398,7 +2398,7 @@ func GetFjBusinessHandleInfo(inputStr []byte) (string, string) {
2398 2398
 		fmt.Println("readcard is nil")
2399 2399
 		readCard = DllDef.MustFindProc("read_cardinfo")
2400 2400
 	}
2401
-	outputStr := make([]byte, 12288)
2401
+	outputStr := make([]byte, 1002288)
2402 2402
 	errMessageStr := make([]byte, 2048)
2403 2403
 	ret2, _, _ := readCard.Call((uintptr)(unsafe.Pointer(&inputStr[0])), uintptr(20000), (uintptr)(unsafe.Pointer(&outputStr[0])), (uintptr)(unsafe.Pointer(&errMessageStr[0])))
2404 2404
 

+ 4 - 4
service/hbyb_service.go Просмотреть файл

@@ -892,14 +892,14 @@ func Hbyb3202a(baseParams models.BaseParams, businessParams []*models.BusinessPa
892 892
 	inputMessage["infno"] = "3202a" // 交易编码
893 893
 	for _, item := range businessParams {
894 894
 		inputData := make(map[string]interface{})
895
-		inputData["insutype"] = item.Insutype             // 险种
896
-		inputData["clr_type"] = item.ClrType              // 就诊 ID(来自2201接口返回)
897
-		inputData["setl_optins"] = item.SetlOptins        // 结算经办机构
895
+		inputData["insutype"] = ""                        // 险种
896
+		inputData["clr_type"] = ""                        // 就诊 ID(来自2201接口返回)
897
+		inputData["setl_optins"] = ""                     // 结算经办机构
898 898
 		inputData["stmt_begndate"] = item.StmtBegndate    // 对帐开始时间
899 899
 		inputData["stmt_enddate"] = item.StmtEnddate      //对帐结束时间
900 900
 		inputData["fund_pay_sumamt"] = item.FundPaySumamt //基金支付总额
901 901
 		inputData["acct_pay"] = item.AcctPay              //个人账户支付金额
902
-		inputData["med_type"] = "14"                      //个人账户支付金额
902
+		inputData["med_type"] = ""                        //个人账户支付金额
903 903
 		inputDatas = append(inputDatas, inputData)
904 904
 	}
905 905
 	input["clrdata"] = inputDatas

+ 3 - 3
service/his_service.go Просмотреть файл

@@ -1004,9 +1004,9 @@ func GetOrderByTimeFive(start_time int64, end_time int64, org_id int64, insutype
1004 1004
 	return
1005 1005
 }
1006 1006
 
1007
-func GetOrderByTimeFour(start_time int64, end_time int64, org_id int64, insutype string, clr_org string, clr_type string) (orders []*models.HisOrder, err error) {
1007
+func GetOrderByTimeFour(start_time int64, end_time int64, org_id int64) (orders []*models.HisOrder, err error) {
1008 1008
 	db := readDb.Model(&models.HisOrder{})
1009
-	db = db.Where("user_org_id = ? AND status = 1 AND order_status = 2 AND is_medicine_insurance = 1 AND UNIX_TIMESTAMP(setl_time)  <= ? AND UNIX_TIMESTAMP(setl_time) >= ? AND insutype = ?", org_id, end_time, start_time, insutype)
1009
+	db = db.Where("user_org_id = ? AND status = 1 AND order_status = 2 AND is_medicine_insurance = 1 AND UNIX_TIMESTAMP(setl_time)  <= ? AND UNIX_TIMESTAMP(setl_time) >= ? ", org_id, end_time, start_time)
1010 1010
 	err = db.Find(&orders).Error
1011 1011
 	return
1012 1012
 }
@@ -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  fa_piao_code <> '' 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-07-30 00:00:00' AND setl_time <= '2022-07-31 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) {