瀏覽代碼

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

csx 3 年之前
父節點
當前提交
85cf72607e
共有 1 個文件被更改,包括 30 次插入6 次删除
  1. 30 6
      service/gdyb_service.go

+ 30 - 6
service/gdyb_service.go 查看文件

@@ -8,13 +8,15 @@ import (
8 8
 	"fmt"
9 9
 	"gdyb/models"
10 10
 	"github.com/astaxie/beego"
11
+	"github.com/go-ole/go-ole"
12
+	"github.com/go-ole/go-ole/oleutil"
11 13
 	"io"
12 14
 	"io/ioutil"
15
+	"log"
13 16
 	"math/rand"
14 17
 	"mime/multipart"
15 18
 	"net/http"
16 19
 	"os"
17
-	"os/exec"
18 20
 	"path/filepath"
19 21
 	"strconv"
20 22
 	"strings"
@@ -57,13 +59,35 @@ func Gdyb1201(certNo string, org_name string, doctor string, fixmedins_code stri
57 59
 	url := gdyb_url + "1201"
58 60
 	var json2 = ""
59 61
 
60
-	cmd := exec.Command("java", "-jar", "yh_hb_fat.jar", "1201", string(bytesData), json2)
61
-	out, err := cmd.Output()
62
+	ole.CoInitialize(0)
63
+	unknown, err := oleutil.CreateObject("yinhai.yh_hb_sctr")
62 64
 	if err != nil {
63
-		fmt.Println("error:", err.Error())
65
+		log.Fatal("CreateObject: ", err)
64 66
 	}
65
-	fmt.Printf("call yh_hb_call %q\n", string(out))
66
-	fmt.Printf(json2)
67
+	xxxx, err := unknown.QueryInterface(ole.IID_IDispatch)
68
+	if err != nil {
69
+		log.Fatal("QueryInterface: ", err)
70
+	}
71
+
72
+	r, err1 := oleutil.CallMethod(xxxx, "yh_hb_call", "1201", string(bytesData), json2)
73
+	if err1 != nil {
74
+		log.Fatal("CallMethod: ", err1, " | ", r)
75
+	}
76
+	fmt.Println("~~~~~~~")
77
+	fmt.Println(r)
78
+	fmt.Println(json2)
79
+
80
+	xxxx.Release()
81
+
82
+	ole.CoUninitialize()
83
+
84
+	//cmd := exec.Command("java", "-jar", "yh_hb_fat.jar", "1201", string(bytesData), json2)
85
+	//out, err := cmd.Output()
86
+	//if err != nil {
87
+	//	fmt.Println("error:", err.Error())
88
+	//}
89
+	//fmt.Printf("call yh_hb_call %q\n", string(out))
90
+	//fmt.Printf(json2)
67 91
 
68 92
 	//DllDef := syscall.MustLoadDLL("yh_hb_sctrl.dll")
69 93
 	//Iinit := DllDef.MustFindProc("DllGetClassObject")