test_user пре 1 година
родитељ
комит
9f9ae29f8c
3 измењених фајлова са 149 додато и 157 уклоњено
  1. 5 2
      controllers/sg/his_api_controller.go
  2. 135 143
      main.go
  3. 9 12
      service/fj_service.go

+ 5 - 2
controllers/sg/his_api_controller.go Прегледај датотеку

@@ -2943,6 +2943,8 @@ func (c *HisApiController) GetSettleList() {
2943 2943
 	var res ResultSeventeen
2944 2944
 
2945 2945
 	if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
2946
+		struct4101.BillCode = order.Number
2947
+		struct4101.BillNo = order.SetlId
2946 2948
 		var resOther ResultSeventeenOther
2947 2949
 		var pp models.PublicParams
2948 2950
 		pp.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
@@ -2981,7 +2983,7 @@ func (c *HisApiController) GetSettleList() {
2981 2983
 			return
2982 2984
 		}
2983 2985
 
2984
-		respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
2986
+		respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
2985 2987
 		userJSONBytes, _ := json.Marshal(respJSON)
2986 2988
 		fmt.Println("log")
2987 2989
 		fmt.Println(string(userJSONBytes))
@@ -10236,9 +10238,10 @@ func (c *HisApiController) GetCheckAccount() {
10236 10238
 				AcctPay:          acct_pay,
10237 10239
 				FixmedinsSetlCnt: fixmedins_setl_cnt,
10238 10240
 			}
10239
-			result, requestLog := service.FJyb3201(baseParams, businessParams)
10241
+			result, requestLog, err_msg := service.FJyb3201(baseParams, businessParams)
10240 10242
 			fmt.Println(requestLog)
10241 10243
 			fmt.Println(result)
10244
+			fmt.Println(err_msg)
10242 10245
 
10243 10246
 		} else {
10244 10247
 			if len(clr_type) == 0 {

+ 135 - 143
main.go Прегледај датотеку

@@ -1,15 +1,7 @@
1 1
 package main
2 2
 
3 3
 import (
4
-	"context"
5
-	"fmt"
6
-	"gdyb/models"
7 4
 	"gdyb/service"
8
-	"github.com/qiniu/api.v7/auth/qbox"
9
-	"github.com/qiniu/api.v7/storage"
10
-	"os"
11
-	"strconv"
12
-	"time"
13 5
 
14 6
 	//"github.com/qiniu/api.v7/auth/qbox"
15 7
 	//"github.com/qiniu/api.v7/storage"
@@ -34,8 +26,8 @@ func init() {
34 26
 	service.ConnectDB()
35 27
 	org_id, _ := beego.AppConfig.Int64("org_id")
36 28
 	miConfig, _ := service.FindMedicalInsuranceInfo(org_id)
37
-	CreateLog(miConfig)
38
-	UploadLog(miConfig)
29
+	//CreateLog(miConfig)
30
+	//UploadLog(miConfig)
39 31
 	if org_id == 10191 {
40 32
 		service.GetFjAuthorizationInfo(miConfig.Code)
41 33
 	}
@@ -800,138 +792,138 @@ type ResultSeventeen struct {
800 792
 //	}
801 793
 //}
802 794
 
803
-func CreateLog(miConfig models.MedicalInsuranceOrgConfig) {
804
-	Mkdir(miConfig.OrgName + "日志")
805
-	//org_id,_ := beego.AppConfig.Int("org_id")
806
-	month := time.Unix(1557042972, 0).Format("1")
807
-	year := time.Now().Format("2006")
808
-	month = time.Now().Format("01")
809
-	day := time.Now().Format("02")
810
-	file := strconv.FormatInt(miConfig.UserOrgId, 10) + "_" + year + month + day + "_log"
811
-	file_name := file + ".txt"
812
-	file_path := miConfig.OrgName + "日志" + "/" + file_name
813
-	exist, _ := PathExists(file_path)
814
-	if exist { //存在
815
-		fmt.Println("存在")
816
-		f, err := os.OpenFile(file_path, os.O_WRONLY, 0644)
817
-		if err != nil {
818
-			fmt.Println("read fail")
819
-		}
820
-		content := "\r\r\r"
821
-		n, _ := f.Seek(0, 2)
822
-		_, err = f.WriteAt([]byte(content), n)
823
-
824
-	} else { //不存在
825
-		fmt.Println("文件不存在,创建文件")
826
-		f, err := os.Create(miConfig.OrgName + "日志" + "/" + file_name)
827
-		defer f.Close()
828
-		if err != nil {
829
-		} else {
830
-			_, err = f.Write([]byte("记录日志"))
831
-		}
832
-	}
833
-
834
-}
835
-
836
-func UploadLog(miConfig models.MedicalInsuranceOrgConfig) {
837
-	//获取七牛云上的文件信息,不存在则表示没上传到七牛云,上传昨天日志信息
838
-	nTime := time.Now()
839
-	yesTime := nTime.AddDate(0, 0, -1)
840
-	file_key := strconv.FormatInt(miConfig.UserOrgId, 10) + "_" + yesTime.Format("20060102") + "_log.txt"
841
-	mac := qbox.NewMac(beego.AppConfig.String("qiniu_accesskey"), beego.AppConfig.String("qiniu_secretkey"))
842
-	cfg := storage.Config{
843
-		// 是否使用https域名进行资源管理
844
-		UseHTTPS: true,
845
-	}
846
-	// 指定空间所在的区域,如果不指定将自动探测
847
-	// 如果没有特殊需求,默认不需要指定
848
-	//cfg.Zone=&storage.ZoneHuabei
849
-	bucketManager := storage.NewBucketManager(mac, &cfg)
850
-	bucket := beego.AppConfig.String("qiniu_bucket")
851
-	key := file_key
852
-	file, sErr := bucketManager.Stat(bucket, key)
853
-	fmt.Println(file)
854
-	fmt.Println(sErr)
855
-	fmt.Println(miConfig.OrgName + "日志" + "/" + file_key)
856
-
857
-	if sErr != nil {
858
-		fmt.Println("七牛云上文件不存在,上传到七牛云")
859
-		//判断本地文件是否存在,存在则执行上传操作
860
-		exist, _ := PathExists(miConfig.OrgName + "日志" + "/" + file_key)
861
-		if exist {
862
-			upload_qiniu(miConfig.OrgName+"日志"+"/"+file_key, file_key)
863
-		} else {
864
-			fmt.Println("本地文件不存在")
865
-
866
-		}
867
-	} else {
868
-		fmt.Println("七牛云文件存在")
869
-	}
795
+//func CreateLog(miConfig models.MedicalInsuranceOrgConfig) {
796
+//	Mkdir(miConfig.OrgName + "日志")
797
+//	//org_id,_ := beego.AppConfig.Int("org_id")
798
+//	month := time.Unix(1557042972, 0).Format("1")
799
+//	year := time.Now().Format("2006")
800
+//	month = time.Now().Format("01")
801
+//	day := time.Now().Format("02")
802
+//	file := strconv.FormatInt(miConfig.UserOrgId, 10) + "_" + year + month + day + "_log"
803
+//	file_name := file + ".txt"
804
+//	file_path := miConfig.OrgName + "日志" + "/" + file_name
805
+//	exist, _ := PathExists(file_path)
806
+//	if exist { //存在
807
+//		fmt.Println("存在")
808
+//		f, err := os.OpenFile(file_path, os.O_WRONLY, 0644)
809
+//		if err != nil {
810
+//			fmt.Println("read fail")
811
+//		}
812
+//		content := "\r\r\r"
813
+//		n, _ := f.Seek(0, 2)
814
+//		_, err = f.WriteAt([]byte(content), n)
815
+//
816
+//	} else { //不存在
817
+//		fmt.Println("文件不存在,创建文件")
818
+//		f, err := os.Create(miConfig.OrgName + "日志" + "/" + file_name)
819
+//		defer f.Close()
820
+//		if err != nil {
821
+//		} else {
822
+//			_, err = f.Write([]byte("记录日志"))
823
+//		}
824
+//	}
825
+//
826
+//}
870 827
 
871
-}
872
-func Mkdir(dir string) {
873
-	// 创建文件夹
874
-	exist, err := PathExists(dir)
875
-	if err != nil {
876
-		fmt.Println(err.Error())
877
-	} else {
878
-		if exist {
879
-			fmt.Println(dir + "文件夹已存在!")
880
-		} else {
881
-			// 文件夹名称,权限
882
-			err := os.Mkdir(dir, os.ModePerm)
883
-			if err != nil {
884
-				fmt.Println(dir+"文件夹创建失败:", err.Error())
885
-			} else {
886
-				fmt.Println(dir + "文件夹创建成功!")
887
-			}
888
-		}
889
-	}
890
-}
891
-func PathExists(path string) (bool, error) {
892
-	_, err := os.Stat(path)
893
-	if err == nil {
894
-		return true, nil
895
-	}
896
-	if os.IsNotExist(err) {
897
-		return false, nil
898
-	}
899
-	return false, err
900
-}
828
+//func UploadLog(miConfig models.MedicalInsuranceOrgConfig) {
829
+//	//获取七牛云上的文件信息,不存在则表示没上传到七牛云,上传昨天日志信息
830
+//	nTime := time.Now()
831
+//	yesTime := nTime.AddDate(0, 0, -1)
832
+//	file_key := strconv.FormatInt(miConfig.UserOrgId, 10) + "_" + yesTime.Format("20060102") + "_log.txt"
833
+//	mac := qbox.NewMac(beego.AppConfig.String("qiniu_accesskey"), beego.AppConfig.String("qiniu_secretkey"))
834
+//	cfg := storage.Config{
835
+//		// 是否使用https域名进行资源管理
836
+//		UseHTTPS: true,
837
+//	}
838
+//	// 指定空间所在的区域,如果不指定将自动探测
839
+//	// 如果没有特殊需求,默认不需要指定
840
+//	//cfg.Zone=&storage.ZoneHuabei
841
+//	bucketManager := storage.NewBucketManager(mac, &cfg)
842
+//	bucket := beego.AppConfig.String("qiniu_bucket")
843
+//	key := file_key
844
+//	file, sErr := bucketManager.Stat(bucket, key)
845
+//	fmt.Println(file)
846
+//	fmt.Println(sErr)
847
+//	fmt.Println(miConfig.OrgName + "日志" + "/" + file_key)
848
+//
849
+//	if sErr != nil {
850
+//		fmt.Println("七牛云上文件不存在,上传到七牛云")
851
+//		//判断本地文件是否存在,存在则执行上传操作
852
+//		exist, _ := PathExists(miConfig.OrgName + "日志" + "/" + file_key)
853
+//		if exist {
854
+//			upload_qiniu(miConfig.OrgName+"日志"+"/"+file_key, file_key)
855
+//		} else {
856
+//			fmt.Println("本地文件不存在")
857
+//
858
+//		}
859
+//	} else {
860
+//		fmt.Println("七牛云文件存在")
861
+//	}
862
+//
863
+//}
864
+//func Mkdir(dir string) {
865
+//	// 创建文件夹
866
+//	exist, err := PathExists(dir)
867
+//	if err != nil {
868
+//		fmt.Println(err.Error())
869
+//	} else {
870
+//		if exist {
871
+//			fmt.Println(dir + "文件夹已存在!")
872
+//		} else {
873
+//			// 文件夹名称,权限
874
+//			err := os.Mkdir(dir, os.ModePerm)
875
+//			if err != nil {
876
+//				fmt.Println(dir+"文件夹创建失败:", err.Error())
877
+//			} else {
878
+//				fmt.Println(dir + "文件夹创建成功!")
879
+//			}
880
+//		}
881
+//	}
882
+//}
883
+//func PathExists(path string) (bool, error) {
884
+//	_, err := os.Stat(path)
885
+//	if err == nil {
886
+//		return true, nil
887
+//	}
888
+//	if os.IsNotExist(err) {
889
+//		return false, nil
890
+//	}
891
+//	return false, err
892
+//}
901 893
 
902
-func upload_qiniu(filePath string, keys string) {
903
-	key := keys
904
-	//上传凭证,关于凭证这块大家可以去看看官方文档
905
-	putPolicy := storage.PutPolicy{
906
-		Scope: beego.AppConfig.String("qiniu_bucket"),
907
-	}
908
-	mac := qbox.NewMac(beego.AppConfig.String("qiniu_accesskey"), beego.AppConfig.String("qiniu_secretkey"))
909
-	upToken := putPolicy.UploadToken(mac)
910
-	cfg := storage.Config{}
911
-	//空间对应机房
912
-	//其中关于Zone对象和机房的关系如下:
913
-	//    机房    Zone对象
914
-	//    华东    storage.ZoneHuadong
915
-	//    华北    storage.ZoneHuabei
916
-	//    华南    storage.ZoneHuanan
917
-	//    北美    storage.ZoneBeimei
918
-	//七牛云存储空间设置首页有存储区域
919
-	cfg.Zone = &storage.ZoneHuadong
920
-	//不启用HTTPS域名
921
-	cfg.UseHTTPS = false
922
-	//不使用CND加速
923
-	cfg.UseCdnDomains = false
924
-	//构建上传表单对象
925
-	formUploader := storage.NewFormUploader(&cfg)
926
-	ret := storage.PutRet{}
927
-	// 可选
928
-	putExtra := storage.PutExtra{
929
-		Params: map[string]string{},
930
-	}
931
-	err := formUploader.PutFile(context.Background(), &ret, upToken, key, filePath, &putExtra)
932
-	if err != nil {
933
-		fmt.Println(err)
934
-		return
935
-	}
936
-	fmt.Println(ret.Key, ret.Hash)
937
-}
894
+//func upload_qiniu(filePath string, keys string) {
895
+//	key := keys
896
+//	//上传凭证,关于凭证这块大家可以去看看官方文档
897
+//	putPolicy := storage.PutPolicy{
898
+//		Scope: beego.AppConfig.String("qiniu_bucket"),
899
+//	}
900
+//	mac := qbox.NewMac(beego.AppConfig.String("qiniu_accesskey"), beego.AppConfig.String("qiniu_secretkey"))
901
+//	upToken := putPolicy.UploadToken(mac)
902
+//	cfg := storage.Config{}
903
+//	//空间对应机房
904
+//	//其中关于Zone对象和机房的关系如下:
905
+//	//    机房    Zone对象
906
+//	//    华东    storage.ZoneHuadong
907
+//	//    华北    storage.ZoneHuabei
908
+//	//    华南    storage.ZoneHuanan
909
+//	//    北美    storage.ZoneBeimei
910
+//	//七牛云存储空间设置首页有存储区域
911
+//	cfg.Zone = &storage.ZoneHuadong
912
+//	//不启用HTTPS域名
913
+//	cfg.UseHTTPS = false
914
+//	//不使用CND加速
915
+//	cfg.UseCdnDomains = false
916
+//	//构建上传表单对象
917
+//	formUploader := storage.NewFormUploader(&cfg)
918
+//	ret := storage.PutRet{}
919
+//	// 可选
920
+//	putExtra := storage.PutExtra{
921
+//		Params: map[string]string{},
922
+//	}
923
+//	err := formUploader.PutFile(context.Background(), &ret, upToken, key, filePath, &putExtra)
924
+//	if err != nil {
925
+//		fmt.Println(err)
926
+//		return
927
+//	}
928
+//	fmt.Println(ret.Key, ret.Hash)
929
+//}

+ 9 - 12
service/fj_service.go Прегледај датотеку

@@ -752,7 +752,7 @@ func FJyb6201(org_name string, doctor string, fixmedins_code string, insuplc_adm
752 752
 }
753 753
 
754 754
 //  医药机构费用结算对总账 func Gdyb3201( org_name string, doctor string, secret_key string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string) string {
755
-func FJyb3201(baseParams models.BaseParams, businessParams models.BusinessParams) (string, string) {
755
+func FJyb3201(baseParams models.BaseParams, businessParams models.BusinessParams) (string, string, string) {
756 756
 
757 757
 	fmt.Println(baseParams)
758 758
 	fmt.Println(businessParams)
@@ -772,8 +772,8 @@ func FJyb3201(baseParams models.BaseParams, businessParams models.BusinessParams
772 772
 	inputMessage["enc_key"] = baseParams.EncKey       // 险种
773 773
 
774 774
 	inputData["insutype"] = businessParams.Insutype                   // 险种
775
-	inputData["clr_type"] = businessParams.ClrType                    // 就诊 ID(来自2201接口返回)
776
-	inputData["setl_optins"] = baseParams.InsuplcAdmdvs               // 结算经办机构
775
+	inputData["clr_type"] = "11"                                      // 就诊 ID(来自2201接口返回)
776
+	inputData["setl_optins"] = "350581"                               // 结算经办机构
777 777
 	inputData["stmt_begndate"] = businessParams.StmtBegndate          // 对帐开始时间
778 778
 	inputData["stmt_enddate"] = businessParams.StmtEnddate            //对帐结束时间
779 779
 	inputData["medfee_sumamt"] = businessParams.MedfeeSumamt          //医疗费总额
@@ -789,17 +789,14 @@ func FJyb3201(baseParams models.BaseParams, businessParams models.BusinessParams
789 789
 	fmt.Println(string(bytesData))
790 790
 	if err != nil {
791 791
 		fmt.Println(err.Error())
792
-		return err.Error(), ""
793
-	}
794
-
795
-	cmd := exec.Command("java", "-jar", "FJYB_SDK.jar", string(bytesData))
796
-	out, err := cmd.Output()
797
-	if err != nil {
798
-		fmt.Println("error:", err.Error())
792
+		return err.Error(), "", ""
799 793
 	}
800 794
 
801
-	fmt.Println(string(out))
802
-	return ConvertToString(string(out), "gbk", "utf-8"), string(bytesData)
795
+	var requestLog string
796
+	requestLog = string(bytesData)
797
+	enc := mahonia.NewEncoder("gbk")
798
+	output, err_msg := GetFjBusinessHandleInfo([]byte(enc.ConvertString(string(bytesData))))
799
+	return output, requestLog, err_msg
803 800
 
804 801
 }
805 802