Parcourir la source

Merge branch 'master' of http://git.shengws.com/csx/gdyb

csx il y a 1 an
Parent
révision
7e76bbb6a7
1 fichiers modifiés avec 36 ajouts et 21 suppressions
  1. 36 21
      service/fj_service.go

+ 36 - 21
service/fj_service.go Voir le fichier

8
 	"net/http"
8
 	"net/http"
9
 	"strconv"
9
 	"strconv"
10
 	"strings"
10
 	"strings"
11
+	"syscall"
11
 	"time"
12
 	"time"
13
+	"unsafe"
12
 )
14
 )
13
 
15
 
14
 //import (
16
 //import (
77
 		fmt.Println(err.Error())
79
 		fmt.Println(err.Error())
78
 		return err.Error(), ""
80
 		return err.Error(), ""
79
 	}
81
 	}
80
-	fmt.Println("开始jdk")
81
-	cmd := exec.Command("java", "-jar", "FJYB_SDK.jar", ConvertToString(string(bytesData), "gbk", "utf-8"))
82
-	out, err := cmd.Output()
83
-	if err != nil {
84
-		fmt.Println("error:", err.Error())
85
-	}
86
-	fmt.Println("输出信息:")
87
-	fmt.Println(string(out))
88
-	fmt.Println("结束jdk")
89
-
90
-	return ConvertToString(string(out), "gbk", "utf-8"), inputLog
82
+	//fmt.Println("开始jdk")
91
 
83
 
84
+	output, err_msg := GetFjBusinessHandleInfo(bytesData)
85
+	fmt.Println("输出信息:")
86
+	fmt.Println(output)
87
+	fmt.Println("错误信息:")
88
+	fmt.Println(err_msg)
89
+	return ConvertToString(output, "gbk", "utf-8"), inputLog
92
 }
90
 }
93
 
91
 
94
 // 门诊挂号
92
 // 门诊挂号
139
 		return err.Error(), ""
137
 		return err.Error(), ""
140
 	}
138
 	}
141
 
139
 
142
-	var json2 string
143
-	cmd := exec.Command("java", "-jar", "yh_hb_fat.jar", "2201", string(bytesData), json2)
144
-	out, err := cmd.Output()
145
-	if err != nil {
146
-		fmt.Println("error:", err.Error())
147
-	}
148
-	fmt.Println(string(out))
149
-
150
-	return ConvertToString(string(out), "gbk", "utf-8"), requestLog
151
-
140
+	output, err_msg := GetFjBusinessHandleInfo(bytesData)
141
+	fmt.Println("输出信息:")
142
+	fmt.Println(output)
143
+	fmt.Println("错误信息:")
144
+	fmt.Println(err_msg)
145
+	return ConvertToString(output, "gbk", "utf-8"), requestLog
152
 }
146
 }
153
 
147
 
154
 // 门诊挂号撤销
148
 // 门诊挂号撤销
2476
 //	str := string(respBytes)
2470
 //	str := string(respBytes)
2477
 //	return str
2471
 //	return str
2478
 //}
2472
 //}
2473
+
2474
+func GetFjBusinessHandleInfo(inputStr []byte) (string, string) {
2475
+	DllDef := syscall.MustLoadDLL("chs_fjs_standard.dll")
2476
+	readCard := DllDef.MustFindProc("business_handle")
2477
+	if readCard == nil {
2478
+		fmt.Println("readcard is nil")
2479
+		readCard = DllDef.MustFindProc("read_cardinfo")
2480
+	}
2481
+	var outputStr []byte
2482
+	var errMessageStr []byte
2483
+
2484
+	ret2, _, _ := readCard.Call((uintptr)(unsafe.Pointer(&inputStr[0])), uintptr(20000), (uintptr)(unsafe.Pointer(&outputStr[0])), (uintptr)(unsafe.Pointer(&errMessageStr[0])))
2485
+	fmt.Println(string(outputStr))
2486
+	fmt.Println(string(errMessageStr))
2487
+	fmt.Println(":", ConvertToString(string(outputStr), "gbk", "utf-8"))
2488
+	fmt.Println(":", ConvertToString(string(errMessageStr), "gbk", "utf-8"))
2489
+	if ret2 != 0 {
2490
+		return "", ""
2491
+	}
2492
+	return ConvertToString(string(outputStr), "gbk", "utf-8"), ConvertToString(string(errMessageStr), "gbk", "utf-8")
2493
+}