123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845 |
- package service
-
- import (
- "bytes"
- "encoding/json"
- "fmt"
- "gdyb/models"
- "io/ioutil"
- "net/http"
- "os/exec"
- "strings"
- "os"
- )
-
- func GetJXCFYLJG001(url string, cFYLJG001 models.CFYLJG001, isu string) (string, string) {
- inputData := make(map[string]interface{}, 0)
- inputData["mdtrtCertType"] = cFYLJG001.MdtrtCertType
- inputData["mdtrtCertNo"] = cFYLJG001.MdtrtCertNo
- inputData["cardSn"] = cFYLJG001.CardSn
- inputData["bizTypeCode"] = cFYLJG001.BizTypeCode
- inputData["rxExraAttrCode"] = ""
- inputData["ecToken"] = cFYLJG001.EcToken
- inputData["authNo"] = cFYLJG001.AuthNo
- inputData["insuPlcNo"] = ""
- inputData["mdtrtareaNo"] = ""
- inputData["hospRxno"] = cFYLJG001.HospRxno
- inputData["initRxno"] = cFYLJG001.InitRxno
- inputData["rxTypeCode"] = cFYLJG001.RxTypeCode
- inputData["prscTime"] = cFYLJG001.PrscTime
- inputData["rxDrugCnt"] = cFYLJG001.RxDrugCnt
- inputData["rxUsedWayCodg"] = cFYLJG001.RxUsedWayCodg
- inputData["rxUsedWayName"] = cFYLJG001.RxUsedWayName
- inputData["rxFrquCodg"] = cFYLJG001.RxFrquCodg
- inputData["rxFrquName"] = cFYLJG001.RxFrquName
- inputData["rxDosunt"] = cFYLJG001.RxDosunt
- inputData["rxDoscnt"] = cFYLJG001.RxDoscnt
- inputData["rxDrordDscr"] = cFYLJG001.RxDrordDscr
- inputData["valiDays"] = cFYLJG001.ValiDays
- inputData["valiEndTime"] = cFYLJG001.ValiEndTime
- inputData["reptFlag"] = cFYLJG001.ReptFlag
- inputData["maxReptCnt"] = cFYLJG001.MaxReptCnt
- inputData["minInrvDays"] = cFYLJG001.MinInrvDays
- inputData["rxCotnFlag"] = cFYLJG001.RxCotnFlag
- inputData["longRxFlag"] = cFYLJG001.LongRxFlag
- rxdrugdetail := make([]map[string]interface{}, 0)
- rxdrug := make(map[string]interface{})
- for _, item := range cFYLJG001.List {
- rxdrug["medListCodg"] = item.MedListCodg
- rxdrug["fixmedinsHilistId"] = item.MedinsListCodg
- rxdrug["hospPrepFlag"] = item.HospPrepFlag
- rxdrug["rxItemTypeCode"] = item.RxItemTypeCode
- rxdrug["rxItemTypeName"] = item.RxItemTypeName
- rxdrug["tcmdrugTypeName"] = item.TcmdrugTypeName
- rxdrug["tcmdrugTypeCode"] = item.TcmdrugTypeCode
- rxdrug["tcmherbFoote"] = item.TcmherbFoote
- rxdrug["mednTypeCode"] = item.MednTypeCode
- rxdrug["mednTypeName"] = item.MednTypeName
- rxdrug["mainMedcFlag"] = item.MainMedcFlag
- rxdrug["urgtFlag"] = item.UrgtFlag
- rxdrug["basMednFlag"] = item.BasMednFlag
- rxdrug["impDrugFlag"] = item.ImpDrugFlag
- rxdrug["otcFlag"] = ""
- rxdrug["drugGenname"] = item.DrugGenname
- rxdrug["drugDosform"] = item.DrugDosform
- rxdrug["drugSpec"] = item.DrugSpec
- rxdrug["drugProdname"] = item.DrugProdname
- rxdrug["prdrName"] = item.PrdrName
- rxdrug["medcWayCodg"] = item.MedcWayCodg
- rxdrug["medcWayDscr"] = item.MedcWayDscr
- rxdrug["medcBegntime"] = item.MedcBegntime
- rxdrug["medcEndtime"] = item.MedcEndtime
- rxdrug["medcDays"] = item.MedcDays
- rxdrug["sinDosunt"] = item.SinDosunt
- rxdrug["sinDoscnt"] = item.SinDoscnt
- rxdrug["usedFrquCodg"] = item.UsedFrquCodg
- rxdrug["usedFrquName"] = item.UsedFrquName
- rxdrug["drugDosunt"] = item.DrugDosunt
- rxdrug["drugCnt"] = item.DrugCnt
- rxdrug["drugPric"] = item.DrugPric
- rxdrug["drugSumamt"] = item.DrugSumamt
- rxdrug["hospApprFlag"] = item.HospApprFlag
- rxdrug["selfPayRea"] = ""
- rxdrug["realDscr"] = ""
- rxdrug["extras"] = ""
- rxdrugdetail = append(rxdrugdetail, rxdrug)
- }
- inputData["rxdrugdetail"] = rxdrugdetail
- mdtrtinfo := make(map[string]interface{})
- mdtrtinfo["fixmedinsCode"] = cFYLJG001.Mdtrtinfo.FixmedinsCode
- mdtrtinfo["fixmedinsName"] = cFYLJG001.Mdtrtinfo.FixmedinsName
- mdtrtinfo["mdtrtId"] = cFYLJG001.Mdtrtinfo.MdtrtID
- mdtrtinfo["medType"] = cFYLJG001.Mdtrtinfo.MedType
- mdtrtinfo["iptOtpNo"] = cFYLJG001.Mdtrtinfo.IptOtpNo
- mdtrtinfo["otpIptFlag"] = cFYLJG001.Mdtrtinfo.OtpIptFlag
- mdtrtinfo["psnNo"] = cFYLJG001.Mdtrtinfo.PsnNo
- mdtrtinfo["patnName"] = cFYLJG001.Mdtrtinfo.PatnName
- mdtrtinfo["psnCertType"] = cFYLJG001.Mdtrtinfo.PsnCertType
- mdtrtinfo["certno"] = cFYLJG001.Mdtrtinfo.Certno
- mdtrtinfo["patnAge"] = cFYLJG001.Mdtrtinfo.PatnAge
- mdtrtinfo["patnHgt"] = cFYLJG001.Mdtrtinfo.PatnHgt
- mdtrtinfo["patnWt"] = cFYLJG001.Mdtrtinfo.PatnWt
- mdtrtinfo["gend"] = cFYLJG001.Mdtrtinfo.Gend
- mdtrtinfo["birctrlType"] = cFYLJG001.Mdtrtinfo.BirctrlType
- mdtrtinfo["birctrlMatnDate"] = cFYLJG001.Mdtrtinfo.BirctrlMatnDate
- mdtrtinfo["matnType"] = cFYLJG001.Mdtrtinfo.MatnType
- mdtrtinfo["gesoVal"] = cFYLJG001.Mdtrtinfo.GesoVal
- mdtrtinfo["nwbFlag"] = cFYLJG001.Mdtrtinfo.NwbFlag
- mdtrtinfo["nwbAge"] = cFYLJG001.Mdtrtinfo.NwbAge
- mdtrtinfo["suckPrdFlag"] = cFYLJG001.Mdtrtinfo.SuckPrdFlag
- mdtrtinfo["algsHis"] = cFYLJG001.Mdtrtinfo.AlgsHis
- mdtrtinfo["prscDeptName"] = cFYLJG001.Mdtrtinfo.PrscDeptName
- mdtrtinfo["prscDeptCode"] = cFYLJG001.Mdtrtinfo.PrscDeptCode
- mdtrtinfo["drCode"] = cFYLJG001.Mdtrtinfo.DrCode
- mdtrtinfo["prscDrName"] = cFYLJG001.Mdtrtinfo.PrscDrName
- mdtrtinfo["prscDrCertType"] = cFYLJG001.Mdtrtinfo.PrscDrCertType
- mdtrtinfo["prscDrCertno"] = cFYLJG001.Mdtrtinfo.PrscDrCertno
- mdtrtinfo["drProfttlCodg"] = cFYLJG001.Mdtrtinfo.DrProfttlCodg
- mdtrtinfo["drProfttlName"] = cFYLJG001.Mdtrtinfo.DrProfttlName
- mdtrtinfo["drDeptCode"] = cFYLJG001.Mdtrtinfo.DrDeptCode
- mdtrtinfo["drDeptName"] = cFYLJG001.Mdtrtinfo.DrDeptName
- mdtrtinfo["caty"] = cFYLJG001.Mdtrtinfo.Caty
- mdtrtinfo["mdtrtTime"] = cFYLJG001.Mdtrtinfo.MdtrtTime
- mdtrtinfo["diseCodg"] = cFYLJG001.Mdtrtinfo.DiseCodg
- mdtrtinfo["diseName"] = cFYLJG001.Mdtrtinfo.DiseName
- mdtrtinfo["spDiseFlag"] = cFYLJG001.Mdtrtinfo.SpDiseFlag
- mdtrtinfo["maindiagCode"] = cFYLJG001.Mdtrtinfo.MaindiagCode
- mdtrtinfo["maindiagName"] = cFYLJG001.Mdtrtinfo.MaindiagName
- mdtrtinfo["diseCondDscr"] = cFYLJG001.Mdtrtinfo.DiseCondDscr
- mdtrtinfo["hiFeesetlType"] = cFYLJG001.Mdtrtinfo.HiFeesetlFlag
- mdtrtinfo["hiFeesetlName"] = cFYLJG001.Mdtrtinfo.HiFeesetlName
- mdtrtinfo["rgstFee"] = cFYLJG001.Mdtrtinfo.RgstFee
- mdtrtinfo["medfeeSumamt"] = cFYLJG001.Mdtrtinfo.MedfeeSumamt
- mdtrtinfo["fstdiagFlag"] = cFYLJG001.Mdtrtinfo.FstdiagFlag
- type MyData struct {
- Insutype string `json:"insutype"`
- }
- data := MyData{
- Insutype: isu,
- }
-
- mdtrtinfo["extras"] = data
- inputData["mdtrtinfo"] = mdtrtinfo
- diseinfos := make([]map[string]interface{}, 0)
- for _, item := range cFYLJG001.Diseinfo {
- diseinfo := make(map[string]interface{})
- diseinfo["diagType"] = item.DiagType
- diseinfo["maindiagFlag"] = item.MaindiagFlag
- diseinfo["diagSrtNo"] = item.DiagSrtNo
- diseinfo["diagCode"] = item.DiagCode
- diseinfo["diagName"] = item.DiagName
- diseinfo["diagDept"] = item.DiagDept
- diseinfo["diagDeptCode"] = ""
- diseinfo["diagDrNo"] = item.DiagDrNo
- diseinfo["diagDrName"] = item.DiagDrName
- diseinfo["diagTime"] = item.DiagTime
- diseinfo["tcmDiseCode"] = item.TcmDiseCode
- diseinfo["tcmDiseName"] = item.TcmDiseName
- diseinfo["tcmsympCode"] = item.TcmsympCode
- diseinfo["tcmsymp"] = item.Tcmsymp
- diseinfos = append(diseinfos, diseinfo)
- }
- inputData["diseinfo"] = diseinfos
- var inputLog string
- bytesData, err := json.Marshal(inputData)
- inputLog = string(bytesData)
- fmt.Println(inputLog)
-
- cmd := exec.Command("java", "-jar", "encrypt-utils-all.jar", "encrypt", "19D43125C3E64BB784601F7B19A8D785", "6014F1F2CA6247F8960AF61A306B5DCC", "Ns0K7Gsxk1WSfxYYyBcCL3J4Q/2Tvp1bMe8JbakA9Fg=", inputLog)
-
- out, err := cmd.Output()
-
- aa := strings.Split(string(out),"======")
- fmt.Println(aa[1])
-
- reader := bytes.NewReader([]byte(aa[1]))
- url = url + "/fixmedins/uploadChk"
- fmt.Println(url)
-
- request, err := http.NewRequest("POST", url, reader)
-
- if err != nil {
- fmt.Println(err.Error())
- return err.Error(), ""
- }
- request.Header.Set("Content-Type", "application/json;charset=UTF-8")
- client := http.Client{}
- resp, err := client.Do(request)
-
-
- if err != nil {
- fmt.Println(err.Error())
- return err.Error(), ""
- }
- respBytes, err := ioutil.ReadAll(resp.Body)
-
- if err != nil {
- fmt.Println(err.Error())
- return err.Error(), ""
- }
- str := string(respBytes)
-
- var data2 map[string]interface{}
-
- // 解析 JSON 字符串到 map
- json.Unmarshal([]byte(str), &data2)
-
- // 检查 code 字段是否存在,并将其转换为字符串
- if val, ok := data2["code"]; ok {
- data2["code"] = fmt.Sprintf("%v", val) // 将 code 转换为字符串
- }
-
- // 将处理后的数据重新转换为 JSON 字符串
- updatedJSON2, _ := json.Marshal(data2)
-
-
- fmt.Println(string(updatedJSON2))
- cmd2 := exec.Command("java", "-jar", "encrypt-utils-all.jar", "decrypt", "19D43125C3E64BB784601F7B19A8D785", "6014F1F2CA6247F8960AF61A306B5DCC", "BDoCErhDkP7KEG/BqNpjKIG5a3CapA8wbhXMNemzu+/fQD2kiW9rIDVLHxOEpAwnCuftjdZqf4Bz3x2gFShyk/8=", string(updatedJSON2))
- out2, _ := cmd2.Output()
- fmt.Println(string(out2))
- bb := strings.Split(string(out2),"======")
- fmt.Println(bb[1])
- return bb[1], inputLog
- }
- func GetJXCFYLJG002(fixmedins_code string, url string, original_value string, original_rx_file string, extras string) (string, string) {
- // 生成签名
- // 生成输入报文
- inputData := make(map[string]interface{})
- inputData["fixmedinsCode"] = fixmedins_code
- inputData["originalValue"] = original_value
- inputData["originalRxFile"] = original_rx_file
- inputData["extras"] = extras
- var inputLog string
- bytesData, err := json.Marshal(inputData)
- inputLog = string(bytesData)
- fmt.Println(string(bytesData))
- if err != nil {
- fmt.Println(err.Error())
- return err.Error(), ""
- }
- // 将 inputLog 和其他参数写入文件
- // 将 inputLog 和其他参数写入文件
- argFileContent := inputLog // 拼接 inputLog
- argFilePath := "a.txt"
- os.WriteFile(argFilePath, []byte(argFileContent), 0644)
-
-
- // 构建命令
- //cmd := exec.Command("java", "-jar", "encrypt-utils-all.jar", )
- cmd := exec.Command("java", "-jar", "encrypt-utils-all.jar", "encrypt", "19D43125C3E64BB784601F7B19A8D785", "6014F1F2CA6247F8960AF61A306B5DCC", "Ns0K7Gsxk1WSfxYYyBcCL3J4Q/2Tvp1bMe8JbakA9Fg=")
-
- // 捕获输出
- output, err := cmd.CombinedOutput()
- if err != nil {
- fmt.Printf("Error: %v\n", err)
- }
-
- // 打印命令执行结果
- fmt.Printf("Output: %s\n", string(output))
-
- aa := strings.Split(string(output),"======")
- fmt.Println(aa[1])
-
- reader := bytes.NewReader([]byte(aa[1]))
- url = url + "/fixmedins/rxFixmedinsSign"
- request, err := http.NewRequest("POST", url, reader)
- if err != nil {
- fmt.Println(err.Error())
- return err.Error(), ""
- }
- request.Header.Set("Content-Type", "application/json;charset=UTF-8")
- client := http.Client{}
- resp, err := client.Do(request)
- if err != nil {
- fmt.Println(err.Error())
- return err.Error(), ""
- }
- respBytes, err := ioutil.ReadAll(resp.Body)
- if err != nil {
- fmt.Println(err.Error())
- return err.Error(), ""
- }
- argbFileContent := string(respBytes) // 拼接 inputLog
-
- var data2 map[string]interface{}
-
- // 解析 JSON 字符串到 map
- json.Unmarshal([]byte(argbFileContent), &data2)
-
- // 检查 code 字段是否存在,并将其转换为字符串
- if val, ok := data2["code"]; ok {
- data2["code"] = fmt.Sprintf("%v", val) // 将 code 转换为字符串
- }
-
- updatedJSON2, _ := json.Marshal(data2)
-
-
- argbFilePath := "b.txt"
- os.WriteFile(argbFilePath, updatedJSON2, 0644)
- cmd2 := exec.Command("java", "-jar", "encrypt-utils-all.jar", "decrypt", "19D43125C3E64BB784601F7B19A8D785", "6014F1F2CA6247F8960AF61A306B5DCC", "BDoCErhDkP7KEG/BqNpjKIG5a3CapA8wbhXMNemzu+/fQD2kiW9rIDVLHxOEpAwnCuftjdZqf4Bz3x2gFShyk/8=")
- out2, err := cmd2.Output()
- fmt.Println(err)
- //fmt.Println(out2)
- bb := strings.Split(string(out2),"======")
- fmt.Println(bb[1])
- return bb[1], inputLog
- }
- func GetJXCFYLJG012(fixmedins_code string, url string, original_value string, original_rx_file string, extras string) (string, string) {
- // 生成签名
- // 生成输入报文
- inputData := make(map[string]interface{})
- inputData["fixmedinsCode"] = fixmedins_code
- inputData["originalValue"] = original_value
- inputData["originalRxFile"] = original_rx_file
- inputData["extras"] = extras
- var inputLog string
- bytesData, err := json.Marshal(inputData)
- inputLog = string(bytesData)
- fmt.Println(string(bytesData))
- if err != nil {
- fmt.Println(err.Error())
- return err.Error(), ""
- }
- cmd := exec.Command("java", "-jar", "encrypt-utils-all.jar", "encrypt", "19D43125C3E64BB784601F7B19A8D785", "6014F1F2CA6247F8960AF61A306B5DCC", "Ns0K7Gsxk1WSfxYYyBcCL3J4Q/2Tvp1bMe8JbakA9Fg=", inputLog)
- out, err := cmd.Output()
- fmt.Println(string(out))
- reader := bytes.NewReader(out)
- url = url + "/fixmedins/rxFixmedinsSign"
- request, err := http.NewRequest("POST", url, reader)
- if err != nil {
- fmt.Println(err.Error())
- return err.Error(), ""
- }
- request.Header.Set("Content-Type", "application/json;charset=UTF-8")
- client := http.Client{}
- resp, err := client.Do(request)
- if err != nil {
- fmt.Println(err.Error())
- return err.Error(), ""
- }
- respBytes, err := ioutil.ReadAll(resp.Body)
- if err != nil {
- fmt.Println(err.Error())
- return err.Error(), ""
- }
- fmt.Println(string(respBytes))
- str := string(respBytes)
- return str, inputLog
- }
- func GetJXCFYLJG003(url string, cFYLJG003 models.CFYLJG003) (string, string) {
- inputData := make(map[string]interface{})
- inputData["rxTraceCode"] = cFYLJG003.RxTraceCode
- inputData["hiRxno"] = cFYLJG003.HiRxno
- inputData["mdtrtId"] = cFYLJG003.MdtrtID
- inputData["patnName"] = cFYLJG003.PatnName
- inputData["psnCertType"] = cFYLJG003.PsnCertType
- inputData["certno"] = cFYLJG003.Certno
- inputData["fixmedinsName"] = cFYLJG003.FixmedinsName
- inputData["fixmedinsCode"] = cFYLJG003.FixmedinsCode
- inputData["drCode"] = cFYLJG003.DrCode
- inputData["prscDrName"] = cFYLJG003.PrscDrName
- inputData["pharDeptName"] = cFYLJG003.PharDeptName
- inputData["pharDeptCode"] = cFYLJG003.PharDeptCode
- inputData["pharProfttlCodg"] = ""
- inputData["pharProfttlName"] = ""
- inputData["pharCode"] = cFYLJG003.PharCode
- inputData["pharCertType"] = cFYLJG003.PsnCertType
- inputData["pharCertno"] = cFYLJG003.PharCertno
- inputData["pharName"] = cFYLJG003.PharName
- inputData["pharPracCertNo"] = cFYLJG003.PharPracCertNo
- inputData["pharChkTime"] = cFYLJG003.PharChkTime
- inputData["rxFile"] = cFYLJG003.RxFile
- inputData["signDigest"] = cFYLJG003.SignDigest
- inputData["extras"] = ""
-
- var inputLog string
- bytesData, err := json.Marshal(inputData)
- inputLog = string(bytesData)
-
- argFileContent := inputLog // 拼接 inputLog
- argFilePath := "a.txt"
- os.WriteFile(argFilePath, []byte(argFileContent), 0644)
-
-
-
- cmd := exec.Command("java", "-jar", "encrypt-utils-all.jar", "encrypt", "19D43125C3E64BB784601F7B19A8D785", "6014F1F2CA6247F8960AF61A306B5DCC", "Ns0K7Gsxk1WSfxYYyBcCL3J4Q/2Tvp1bMe8JbakA9Fg=")
- out, err := cmd.Output()
- fmt.Println(string(out))
- aa := strings.Split(string(out),"======")
- if err != nil {
- fmt.Println(err.Error())
- return err.Error(), ""
- }
- reader := bytes.NewReader([]byte(aa[1]))
- url = url + "/fixmedins/rxFileUpld"
- //url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/1101"
- request, err := http.NewRequest("POST", url, reader)
- if err != nil {
- fmt.Println(err.Error())
- return err.Error(), ""
- }
-
- request.Header.Set("Content-Type", "application/json;charset=UTF-8")
- client := http.Client{}
- resp, err := client.Do(request)
- if err != nil {
- fmt.Println(err.Error())
- return err.Error(), ""
- }
- respBytes, err := ioutil.ReadAll(resp.Body)
- if err != nil {
- fmt.Println(err.Error())
- return err.Error(), ""
- }
- argbFileContent := string(respBytes) // 拼接 inputLog
-
- var data2 map[string]interface{}
-
- // 解析 JSON 字符串到 map
- json.Unmarshal([]byte(argbFileContent), &data2)
- // 检查 code 字段是否存在,并将其转换为字符串
- if val, ok := data2["code"]; ok {
- data2["code"] = fmt.Sprintf("%v", val) // 将 code 转换为字符串
- }
-
- updatedJSON2, _ := json.Marshal(data2)
- argbFilePath := "b.txt"
- os.WriteFile(argbFilePath, updatedJSON2, 0644)
- cmd2 := exec.Command("java", "-jar", "encrypt-utils-all.jar", "decrypt", "19D43125C3E64BB784601F7B19A8D785", "6014F1F2CA6247F8960AF61A306B5DCC", "BDoCErhDkP7KEG/BqNpjKIG5a3CapA8wbhXMNemzu+/fQD2kiW9rIDVLHxOEpAwnCuftjdZqf4Bz3x2gFShyk/8=")
- out2, err := cmd2.Output()
- fmt.Println(err)
- //fmt.Println(out2)
- bb := strings.Split(string(out2),"======")
- fmt.Println(bb[1])
- return bb[1], inputLog
-
- }
- func GetJXCFYLJG013(url string, cFYLJG003 models.CFYLJG003) (string, string) {
- inputData := make(map[string]interface{})
- inputData["rxTraceCode"] = cFYLJG003.RxTraceCode
- inputData["hiRxno"] = cFYLJG003.HiRxno
- inputData["mdtrtId"] = cFYLJG003.MdtrtID
- inputData["patnName"] = cFYLJG003.PatnName
- inputData["psnCertType"] = cFYLJG003.PsnCertType
- inputData["certno"] = cFYLJG003.Certno
- inputData["fixmedinsName"] = cFYLJG003.FixmedinsName
- inputData["fixmedinsCode"] = cFYLJG003.FixmedinsCode
- inputData["drCode"] = cFYLJG003.DrCode
- inputData["prscDrName"] = cFYLJG003.PrscDrName
- inputData["pharDeptName"] = cFYLJG003.PharDeptName
- inputData["pharDeptCode"] = cFYLJG003.PharDeptCode
- inputData["pharProfttlCodg"] = cFYLJG003.PharProfttlCodg
- inputData["pharProfttlName"] = cFYLJG003.PharProfttlName
- inputData["pharCode"] = cFYLJG003.PharCode
- inputData["pharCertType"] = cFYLJG003.PsnCertType
- inputData["pharCertno"] = cFYLJG003.PharCertno
- inputData["pharName"] = cFYLJG003.PharName
- inputData["pharPracCertNo"] = cFYLJG003.PharPracCertNo
- inputData["pharChkTime"] = cFYLJG003.PharChkTime
- inputData["rxFile"] = cFYLJG003.RxFile
- inputData["signDigest"] = cFYLJG003.SignDigest
- inputData["extras"] = ""
-
- var inputLog string
- bytesData, err := json.Marshal(inputData)
- inputLog = string(bytesData)
- cmd := exec.Command("java", "-jar", "encrypt-utils-all.jar", "encrypt", "19D43125C3E64BB784601F7B19A8D785", "6014F1F2CA6247F8960AF61A306B5DCC", "Ns0K7Gsxk1WSfxYYyBcCL3J4Q/2Tvp1bMe8JbakA9Fg=", inputLog)
- out, err := cmd.Output()
- fmt.Println(string(out))
- aa := strings.Split(string(out),"======")
- if err != nil {
- fmt.Println(err.Error())
- return err.Error(), ""
- }
- reader := bytes.NewReader([]byte(aa[1]))
- url = url + "/fixmedins/rxFileUpld"
- //url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/1101"
- request, err := http.NewRequest("POST", url, reader)
- if err != nil {
- fmt.Println(err.Error())
- return err.Error(), ""
- }
-
- request.Header.Set("Content-Type", "application/json;charset=UTF-8")
- client := http.Client{}
- resp, err := client.Do(request)
- if err != nil {
- fmt.Println(err.Error())
- return err.Error(), ""
- }
- respBytes, err := ioutil.ReadAll(resp.Body)
- if err != nil {
- fmt.Println(err.Error())
- return err.Error(), ""
- }
- fmt.Println(string(respBytes))
- str := string(respBytes)
- return str, inputLog
-
- }
- func GetJXCFYLJG004(url string, cFYLJG004 models.CFYLJG004) (string, string) {
-
- inputData := make(map[string]interface{})
- inputData["hiRxno"] = cFYLJG004.HiRxno
- inputData["fixmedinsCode"] = cFYLJG004.FixmedinsCode
- inputData["drCode"] = cFYLJG004.UndoDrCode
- inputData["undoDrName"] = cFYLJG004.UndoDrName
- inputData["undoDrCertType"] = cFYLJG004.UndoDrCertType
- inputData["undoDrCertno"] = cFYLJG004.UndoDrCertno
- inputData["undoRea"] = cFYLJG004.UndoRea
- inputData["undoTime"] = cFYLJG004.UndoTime
- var inputLog string
- bytesData, err := json.Marshal(inputData)
- inputLog = string(bytesData)
- fmt.Println(string(bytesData))
- if err != nil {
- fmt.Println(err.Error())
- return err.Error(), ""
- }
- reader := bytes.NewReader(bytesData)
- url = url + "CFYLJG004"
- //url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/1101"
- request, err := http.NewRequest("POST", url, reader)
- if err != nil {
- fmt.Println(err.Error())
- return err.Error(), ""
- }
-
- request.Header.Set("Content-Type", "application/json;charset=UTF-8")
- //request.Header.Set("x-tif-paasid", gdyb_paasid)
- //request.Header.Set("x-tif-signature", signature)
- //request.Header.Set("x-tif-timestamp", strconv.FormatInt(timestamp, 10))
- //request.Header.Set("x-tif-nonce", nonce)
-
- client := http.Client{}
- resp, err := client.Do(request)
- if err != nil {
- fmt.Println(err.Error())
- return err.Error(), ""
- }
- respBytes, err := ioutil.ReadAll(resp.Body)
- if err != nil {
- fmt.Println(err.Error())
- return err.Error(), ""
- }
- fmt.Println(string(respBytes))
- str := string(respBytes)
- return str, inputLog
-
- }
- func GetJXCFYLJG005( fixmedins_code string,cFYLJG005 models.CFYLJG005) (string, string) {
-
- // 生成签名
- // 生成输入报文
- inputData := make(map[string]interface{})
- inputData["fixmedinsCode"] = fixmedins_code
- inputData["hiRxno"] = cFYLJG005.HiRxno
- inputData["mdtrtId"] = cFYLJG005.MdtrtID
- inputData["psnName"] = cFYLJG005.PsnName
- inputData["psnCertType"] = cFYLJG005.PsnCertType
- inputData["certno"] = cFYLJG005.Certno
- var inputLog string
- bytesData, err := json.Marshal(inputData)
- inputLog = string(bytesData)
- fmt.Println(string(bytesData))
- if err != nil {
- fmt.Println(err.Error())
- return err.Error(), ""
- }
- // 将 inputLog 和其他参数写入文件
- // 将 inputLog 和其他参数写入文件
- argFileContent := inputLog // 拼接 inputLog
- argFilePath := "a.txt"
- os.WriteFile(argFilePath, []byte(argFileContent), 0644)
-
- // 构建命令
- //cmd := exec.Command("java", "-jar", "encrypt-utils-all.jar", )
- cmd := exec.Command("java", "-jar", "encrypt-utils-all.jar", "encrypt", "19D43125C3E64BB784601F7B19A8D785", "6014F1F2CA6247F8960AF61A306B5DCC", "Ns0K7Gsxk1WSfxYYyBcCL3J4Q/2Tvp1bMe8JbakA9Fg=")
-
- // 捕获输出
- output, err := cmd.CombinedOutput()
- if err != nil {
- fmt.Printf("Error: %v\n", err)
- }
-
- // 打印命令执行结果
- fmt.Printf("Output: %s\n", string(output))
-
- aa := strings.Split(string(output),"======")
- fmt.Println(aa[1])
-
- reader := bytes.NewReader([]byte(aa[1]))
- url := "http://10.66.149.64:8080/epc/api" + "/fixmedins/hospRxDetlQuery"
- request, err := http.NewRequest("POST", url, reader)
- if err != nil {
- fmt.Println(err.Error())
- return err.Error(), ""
- }
- request.Header.Set("Content-Type", "application/json;charset=UTF-8")
- client := http.Client{}
- resp, err := client.Do(request)
- if err != nil {
- fmt.Println(err.Error())
- return err.Error(), ""
- }
- respBytes, err := ioutil.ReadAll(resp.Body)
- if err != nil {
- fmt.Println(err.Error())
- return err.Error(), ""
- }
- argbFileContent := string(respBytes) // 拼接 inputLog
- var data2 map[string]interface{}
- // 解析 JSON 字符串到 map
- json.Unmarshal([]byte(argbFileContent), &data2)
- // 检查 code 字段是否存在,并将其转换为字符串
- if val, ok := data2["code"]; ok {
- data2["code"] = fmt.Sprintf("%v", val) // 将 code 转换为字符串
- }
- updatedJSON2, _ := json.Marshal(data2)
- argbFilePath := "b.txt"
- os.WriteFile(argbFilePath, updatedJSON2, 0644)
- cmd2 := exec.Command("java", "-jar", "encrypt-utils-all.jar", "decrypt", "19D43125C3E64BB784601F7B19A8D785", "6014F1F2CA6247F8960AF61A306B5DCC", "BDoCErhDkP7KEG/BqNpjKIG5a3CapA8wbhXMNemzu+/fQD2kiW9rIDVLHxOEpAwnCuftjdZqf4Bz3x2gFShyk/8=")
- out2, err := cmd2.Output()
- fmt.Println(err)
- //fmt.Println(out2)
- bb := strings.Split(string(out2),"======")
- fmt.Println(bb[1])
- return bb[1], inputLog
-
-
-
- }
- //func GetAHCFYLJG006(org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, cFYLJG006 models.CFYLJG006) (string, string) {
- // //生成签名
- // nonce := GetRandomString(32)
- // timestamp := time.Now().Unix()
- // signature := setSignature(timestamp, nonce, secret_key)
- // //生成输入报文
- // inputMessage := SetInputMessage(nonce, timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
- // inputData := make(map[string]interface{})
- // //inputDatas := make([]map[string]interface{}, 0)
- // inputData2 := make(map[string]interface{})
- //
- // inputMessage["infno"] = "CFYLJG006"
- // inputData["fixmedinsCode"] = fixmedins_code
- // inputData["hiRxno"] = cFYLJG006.HiRxno
- // inputData["mdtrtId"] = cFYLJG006.MdtrtID
- // inputData["psnName"] = cFYLJG006.PsnName
- // inputData["psnCertType"] = cFYLJG006.PsnCertType
- // inputData["certno"] = cFYLJG006.Certno
- // inputData2["data"] = inputData
- // inputMessage["input"] = inputData2
- // var inputLog string
- // bytesData, err := json.Marshal(inputMessage)
- // inputLog = string(bytesData)
- // fmt.Println(string(bytesData))
- // if err != nil {
- // fmt.Println(err.Error())
- // return err.Error(), ""
- // }
- // reader := bytes.NewReader(bytesData)
- // gdyb_url := beego.AppConfig.String("gdyb_url")
- // gdyb_paasid := beego.AppConfig.String("gdyb_paasid")
- //
- // var url string
- // if fixmedins_code == "H15049901371" {
- // url = gdyb_url
- // } else {
- // url = gdyb_url + "CFYLJG006"
- // }
- //
- // //url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/1101"
- // request, err := http.NewRequest("POST", url, reader)
- // if err != nil {
- // fmt.Println(err.Error())
- // return err.Error(), ""
- // }
- //
- // request.Header.Set("Content-Type", "application/json;charset=UTF-8")
- // request.Header.Set("x-tif-paasid", gdyb_paasid)
- // request.Header.Set("x-tif-signature", signature)
- // request.Header.Set("x-tif-timestamp", strconv.FormatInt(timestamp, 10))
- // request.Header.Set("x-tif-nonce", nonce)
- //
- // client := http.Client{}
- // resp, err := client.Do(request)
- // if err != nil {
- // fmt.Println(err.Error())
- // return err.Error(), ""
- // }
- // respBytes, err := ioutil.ReadAll(resp.Body)
- // if err != nil {
- // fmt.Println(err.Error())
- // return err.Error(), ""
- // }
- // fmt.Println(string(respBytes))
- // str := string(respBytes)
- // return str, inputLog
- //
- //}
- //func GetAHCFYLJG007(org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, cFYLJG007 models.CFYLJG007) (string, string) {
- // //生成签名
- // nonce := GetRandomString(32)
- // timestamp := time.Now().Unix()
- // signature := setSignature(timestamp, nonce, secret_key)
- // //生成输入报文
- // inputMessage := SetInputMessage(nonce, timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
- // inputData := make(map[string]interface{})
- // inputData2 := make(map[string]interface{})
- //
- // //inputDatas := make([]map[string]interface{}, 0)
- //
- // inputMessage["infno"] = "CFYLJG007"
- //
- // inputData["fixmedinsCode"] = fixmedins_code
- // inputData["hiRxno"] = cFYLJG007.HiRxno
- // inputData["mdtrtId"] = cFYLJG007.MdtrtID
- // inputData["psnCertType"] = cFYLJG007.PsnCertType
- // inputData["certno"] = cFYLJG007.Certno
- // inputData["psnName"] = cFYLJG007.PsnName
- //
- // inputData2["data"] = inputData
- //
- // inputMessage["input"] = inputData2
- // var inputLog string
- // bytesData, err := json.Marshal(inputMessage)
- // inputLog = string(bytesData)
- // fmt.Println(string(bytesData))
- // if err != nil {
- // fmt.Println(err.Error())
- // return err.Error(), ""
- // }
- // reader := bytes.NewReader(bytesData)
- // gdyb_url := beego.AppConfig.String("gdyb_url")
- // gdyb_paasid := beego.AppConfig.String("gdyb_paasid")
- //
- // var url string
- // if fixmedins_code == "H15049901371" {
- // url = gdyb_url
- // } else {
- // url = gdyb_url + "CFYLJG007"
- // }
- //
- // //url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/1101"
- // request, err := http.NewRequest("POST", url, reader)
- // if err != nil {
- // fmt.Println(err.Error())
- // return err.Error(), ""
- // }
- //
- // request.Header.Set("Content-Type", "application/json;charset=UTF-8")
- // request.Header.Set("x-tif-paasid", gdyb_paasid)
- // request.Header.Set("x-tif-signature", signature)
- // request.Header.Set("x-tif-timestamp", strconv.FormatInt(timestamp, 10))
- // request.Header.Set("x-tif-nonce", nonce)
- //
- // client := http.Client{}
- // resp, err := client.Do(request)
- // if err != nil {
- // fmt.Println(err.Error())
- // return err.Error(), ""
- // }
- // respBytes, err := ioutil.ReadAll(resp.Body)
- // if err != nil {
- // fmt.Println(err.Error())
- // return err.Error(), ""
- // }
- // fmt.Println(string(respBytes))
- // str := string(respBytes)
- // return str, inputLog
- //
- //}
-
- //func GetAHCFYLJG008(org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, cFYLJG008 models.CFYLJG008) (string, string) {
- // //生成签名
- // nonce := GetRandomString(32)
- // timestamp := time.Now().Unix()
- // signature := setSignature(timestamp, nonce, secret_key)
- // //生成输入报文
- // inputMessage := SetInputMessage(nonce, timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
- // inputData := make(map[string]interface{})
- // //inputData2 := make(map[string]interface{})
- //
- // //inputDatas := make([]map[string]interface{}, 0)
- //
- // inputMessage["infno"] = "CFYLJG008"
- //
- // inputData["pageNum"] = cFYLJG008.PageNum
- // inputData["pageSize"] = cFYLJG008.PageSize
- // inputData["orderType"] = cFYLJG008.OrderType
- // inputData["poolareaNo"] = cFYLJG008.PoolareaNo
- // inputData["fixmedinsName"] = cFYLJG008.FixmedinsName
- // inputData["lng"] = cFYLJG008.Lng
- // inputData["lat"] = cFYLJG008.Lat
- // inputData["medinsProdInvChgDDTOList"] = cFYLJG008.MedList
- //
- // inputMessage["input"] = inputData
- // var inputLog string
- // bytesData, err := json.Marshal(inputMessage)
- // inputLog = string(bytesData)
- // fmt.Println(string(bytesData))
- // if err != nil {
- // fmt.Println(err.Error())
- // return err.Error(), ""
- // }
- // reader := bytes.NewReader(bytesData)
- // gdyb_url := beego.AppConfig.String("gdyb_url")
- // gdyb_paasid := beego.AppConfig.String("gdyb_paasid")
- //
- // var url string
- // if fixmedins_code == "H15049901371" {
- // url = gdyb_url
- // } else {
- // url = gdyb_url + "CFYLJG007"
- // }
- //
- // //url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/1101"
- // request, err := http.NewRequest("POST", url, reader)
- // if err != nil {
- // fmt.Println(err.Error())
- // return err.Error(), ""
- // }
- //
- // request.Header.Set("Content-Type", "application/json;charset=UTF-8")
- // request.Header.Set("x-tif-paasid", gdyb_paasid)
- // request.Header.Set("x-tif-signature", signature)
- // request.Header.Set("x-tif-timestamp", strconv.FormatInt(timestamp, 10))
- // request.Header.Set("x-tif-nonce", nonce)
- //
- // client := http.Client{}
- // resp, err := client.Do(request)
- // if err != nil {
- // fmt.Println(err.Error())
- // return err.Error(), ""
- // }
- // respBytes, err := ioutil.ReadAll(resp.Body)
- // if err != nil {
- // fmt.Println(err.Error())
- // return err.Error(), ""
- // }
- // fmt.Println(string(respBytes))
- // str := string(respBytes)
- // return str, inputLog
- //
- //}
|