|
@@ -273,6 +273,7 @@ func SZHisManagerApiRegistRouters() {
|
273
|
273
|
beego.Router("/sz/api/register/get", &SZHisApiController{}, "get:GetRegisterInfo")
|
274
|
274
|
//上传明细,预结算
|
275
|
275
|
//beego.Router("/sz/api/upload/get", &SZHisApiController{}, "get:GetUploadInfo")
|
|
276
|
+
|
276
|
277
|
//结算
|
277
|
278
|
beego.Router("/sz/api/settle/get", &SZHisApiController{}, "get:GetSettleInfo")
|
278
|
279
|
|
|
@@ -284,9 +285,10 @@ func SZHisManagerApiRegistRouters() {
|
284
|
285
|
beego.Router("sz/api/refundnumber/get", &SZHisApiController{}, "get:RefundNumber")
|
285
|
286
|
|
286
|
287
|
beego.Router("/sz/api/monthrefund/get", &SZHisApiController{}, "get:MonthRefund")
|
|
288
|
+
|
287
|
289
|
//查询交易
|
288
|
290
|
beego.Router("/sz/api/settle/query", &SZHisApiController{}, "get:GetSettleAccounts")
|
289
|
|
- //撤销明细
|
|
291
|
+ beego.Router("/sz/api/detail/upload", &SZHisApiController{}, "get:GetUploadDetail")
|
290
|
292
|
beego.Router("/sz/api/detail/cancel", &SZHisApiController{}, "get:CancelOrderDetail")
|
291
|
293
|
//
|
292
|
294
|
////机构药品目录备案
|
|
@@ -2778,74 +2780,10 @@ func (c *SZHisApiController) Refund() {
|
2778
|
2780
|
if res.Transreturncode == "00000000" {
|
2779
|
2781
|
service.UpdataOrderlog(order_id, adminUser.CurrentOrgId, result)
|
2780
|
2782
|
service.UpdataOrderStatusSZ(order_id, order.Number, adminUser.CurrentOrgId, his.MzNumber, his.Number)
|
2781
|
|
-
|
2782
|
|
- verifyCode, version_code := ReadCardGetCode("FY002" + "|" + order.OrgSetlNumber + "|" + miConfig.Code)
|
2783
|
|
- var pagesize int = 50
|
2784
|
|
- var start int = 1
|
2785
|
|
- var stop int
|
2786
|
|
- var pagecount int
|
2787
|
|
- var curpage int
|
2788
|
|
- var isSuccess bool = true
|
2789
|
|
- var ress []*ResultFive
|
2790
|
|
-
|
2791
|
|
- //总页数,向上取整,注意除之前要先转换类型为float64
|
2792
|
|
- pagecount = int(math.Ceil(float64(len(customs)) / float64(pagesize)))
|
2793
|
|
-
|
2794
|
|
- for curpage = 1; curpage <= pagecount; curpage++ {
|
2795
|
|
- if curpage == 1 {
|
2796
|
|
- start = 1
|
2797
|
|
- } else {
|
2798
|
|
- start = (curpage-1)*pagesize + 1
|
2799
|
|
- }
|
2800
|
|
- stop = curpage * pagesize
|
2801
|
|
- if stop > len(customs) {
|
2802
|
|
- stop = len(customs)
|
2803
|
|
- }
|
2804
|
|
-
|
2805
|
|
- result := service.SzybFY002(doctor_name, doctor_code, miConfig.Code, customs[start-1:stop], verifyCode, order.OrgSetlNumber, his.Number, version_code)
|
2806
|
|
-
|
2807
|
|
- var dat map[string]interface{}
|
2808
|
|
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
|
2809
|
|
- fmt.Println(dat)
|
2810
|
|
- } else {
|
2811
|
|
- fmt.Println(err)
|
2812
|
|
- }
|
2813
|
|
- userJSONBytes, _ := json.Marshal(dat)
|
2814
|
|
- var res ResultFive
|
2815
|
|
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
|
2816
|
|
- utils.ErrorLog("解析失败:%v", err)
|
2817
|
|
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
|
2818
|
|
- return
|
2819
|
|
- }
|
2820
|
|
- if res.Transreturncode == "00000000" {
|
2821
|
|
- ress = append(ress, &res)
|
2822
|
|
- } else {
|
2823
|
|
- isSuccess = false
|
2824
|
|
- errlog := &models.HisOrderError{
|
2825
|
|
- UserOrgId: adminUser.CurrentOrgId,
|
2826
|
|
- Ctime: time.Now().Unix(),
|
2827
|
|
- Mtime: time.Now().Unix(),
|
2828
|
|
- ErrMsg: res.Transreturnmessage,
|
2829
|
|
- Status: 1,
|
2830
|
|
- PatientId: patient_id,
|
2831
|
|
- RecordTime: recordDateTime,
|
2832
|
|
- Stage: 11,
|
2833
|
|
- }
|
2834
|
|
- service.CreateErrMsgLog(errlog)
|
2835
|
|
-
|
2836
|
|
- c.ServeSuccessJSON(map[string]interface{}{
|
2837
|
|
- "faild_code": -10,
|
2838
|
|
- "msg": res.Transreturnmessage,
|
2839
|
|
- })
|
2840
|
|
- return
|
2841
|
|
- }
|
2842
|
|
- }
|
2843
|
|
- if isSuccess == true {
|
2844
|
|
- service.UpdataOrderInfoStatus(order.ID, order.Number, adminUser.CurrentOrgId)
|
2845
|
|
- c.ServeSuccessJSON(map[string]interface{}{
|
2846
|
|
- "msg": "退费成功",
|
2847
|
|
- })
|
2848
|
|
- }
|
|
2783
|
+ service.UpdataOrderInfoStatus(order.ID, order.Number, adminUser.CurrentOrgId)
|
|
2784
|
+ c.ServeSuccessJSON(map[string]interface{}{
|
|
2785
|
+ "msg": "退费成功",
|
|
2786
|
+ })
|
2849
|
2787
|
} else {
|
2850
|
2788
|
c.ServeSuccessJSON(map[string]interface{}{
|
2851
|
2789
|
"failed_code": -10,
|
|
@@ -3188,28 +3126,53 @@ func (c *SZHisApiController) CancelOrderDetail() {
|
3188
|
3126
|
}
|
3189
|
3127
|
|
3190
|
3128
|
//获取verifyCode
|
3191
|
|
-func ReadCardGetCode(request string) (string, string) {
|
3192
|
|
- request = request + "|"
|
3193
|
|
- DllDef2 := syscall.MustLoadDLL("SSCardDriver_SZ.dll")
|
3194
|
|
- readCards := DllDef2.MustFindProc("iVerifyCode")
|
3195
|
|
- str := request
|
3196
|
|
- str3 := make([]byte, 256)
|
3197
|
|
- ret4, _, _ := readCards.Call(StrPtr(str), (uintptr)(unsafe.Pointer(&str3[0])))
|
3198
|
|
- fmt.Println(":", string(str3))
|
3199
|
|
- fmt.Println(":", ConvertToString(string(str3), "gbk", "utf-8"))
|
3200
|
|
- if ret4 == 0 {
|
3201
|
|
- result := string(str3)
|
3202
|
|
- fmt.Println(result)
|
3203
|
|
- result_arr := strings.Split(result, "|")
|
3204
|
|
- verifyCode := result_arr[0] + "|" + result_arr[1]
|
3205
|
|
- versionCode := result_arr[2]
|
3206
|
|
- return verifyCode, versionCode
|
3207
|
|
-
|
3208
|
|
- }
|
3209
|
|
- return "", ""
|
3210
|
|
-}
|
|
3129
|
+//func ReadCardGetCode(request string) (string, string) {
|
|
3130
|
+// request = request + "|"
|
|
3131
|
+// DllDef2 := syscall.MustLoadDLL("SSCardDriver_SZ.dll")
|
|
3132
|
+// readCards := DllDef2.MustFindProc("iVerifyCode")
|
|
3133
|
+// str := request
|
|
3134
|
+// str3 := make([]byte, 256)
|
|
3135
|
+// ret4, _, _ := readCards.Call(StrPtr(str), (uintptr)(unsafe.Pointer(&str3[0])))
|
|
3136
|
+// fmt.Println(":", string(str3))
|
|
3137
|
+// fmt.Println(":", ConvertToString(string(str3), "gbk", "utf-8"))
|
|
3138
|
+// if ret4 == 0 {
|
|
3139
|
+// result := string(str3)
|
|
3140
|
+// fmt.Println(result)
|
|
3141
|
+// result_arr := strings.Split(result, "|")
|
|
3142
|
+// verifyCode := result_arr[0] + "|" + result_arr[1]
|
|
3143
|
+// versionCode := result_arr[2]
|
|
3144
|
+// return verifyCode, versionCode
|
|
3145
|
+//
|
|
3146
|
+// }
|
|
3147
|
+// return "", ""
|
|
3148
|
+//}
|
3211
|
3149
|
|
3212
|
3150
|
////获取卡信息
|
|
3151
|
+//func ReadBasCardGetNumber(request string) (string, string, string, string, error, int64) {
|
|
3152
|
+// DllDef2 := syscall.MustLoadDLL("SSCardDriver_SZ.dll")
|
|
3153
|
+// readCards := DllDef2.MustFindProc("iReadCardBas")
|
|
3154
|
+// str := request
|
|
3155
|
+// str3 := make([]byte, 1024)
|
|
3156
|
+// fmt.Println(":", request)
|
|
3157
|
+// fmt.Println(":", StrPtr(str))
|
|
3158
|
+//
|
|
3159
|
+// ret4, _, err := readCards.Call(IntPtr(1), StrPtr(str), (uintptr)(unsafe.Pointer(&str3[0])))
|
|
3160
|
+// fmt.Println(":", string(str3))
|
|
3161
|
+// fmt.Println(":", ConvertToString(string(str3), "gbk", "utf-8"))
|
|
3162
|
+// if ret4 == 0 {
|
|
3163
|
+// result := string(str3)
|
|
3164
|
+// fmt.Println(result)
|
|
3165
|
+// result_arr := strings.Split(result, "|")
|
|
3166
|
+// //医疗证号
|
|
3167
|
+// yiliao_number := result_arr[12]
|
|
3168
|
+// //根据业务的人员信息跟设备读社保卡获取的信息进行匹配,判断是否为同一个人,相同则进行挂号操作,不同则报错
|
|
3169
|
+// id_card_number := result_arr[1]
|
|
3170
|
+// verifyCode := result_arr[11] + "|" + result_arr[13]
|
|
3171
|
+// versionCode := result_arr[14]
|
|
3172
|
+// return yiliao_number, id_card_number, verifyCode, versionCode, err, 0
|
|
3173
|
+// }
|
|
3174
|
+// return "", "", "", "", err, -10
|
|
3175
|
+//}
|
3213
|
3176
|
func ReadBasCardGetNumber(request string) (string, string, string, string, string, error, int64) {
|
3214
|
3177
|
DllDef2 := syscall.MustLoadDLL("SSCardDriver_SZ.dll")
|
3215
|
3178
|
readCards := DllDef2.MustFindProc("iReadCardBas")
|