|
@@ -2746,6 +2746,17 @@ func (c *SZHisApiController) Refund() {
|
2746
|
2746
|
//
|
2747
|
2747
|
//verifyCode := "000000|9972fca7ba9471c7dbe08324b2e31f70"
|
2748
|
2748
|
config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
|
|
2749
|
+ order_infos, _ := service.GetHisOrderInfoByNumber(order.Number)
|
|
2750
|
+ var customs []*models.CustomDetail
|
|
2751
|
+
|
|
2752
|
+ for _, item := range order_infos {
|
|
2753
|
+ cus := &models.CustomDetail{
|
|
2754
|
+ PrescriptionNumber: item.OrderNumber,
|
|
2755
|
+ ChargeSerialNumber: item.FeedetlSn,
|
|
2756
|
+ }
|
|
2757
|
+ customs = append(customs, cus)
|
|
2758
|
+ }
|
|
2759
|
+
|
2749
|
2760
|
if config.IsOpen == 1 { //对接了医保,走医保流程
|
2750
|
2761
|
|
2751
|
2762
|
result := service.SzybJY002(doctor_name, doctor_code, miConfig.Code, order.OrgSetlNumber, order.MzNumber, verifyCode, number, version_code)
|
|
@@ -2767,9 +2778,74 @@ func (c *SZHisApiController) Refund() {
|
2767
|
2778
|
if res.Transreturncode == "00000000" {
|
2768
|
2779
|
service.UpdataOrderlog(order_id, adminUser.CurrentOrgId, result)
|
2769
|
2780
|
service.UpdataOrderStatusSZ(order_id, order.Number, adminUser.CurrentOrgId, his.MzNumber, his.Number)
|
2770
|
|
- c.ServeSuccessJSON(map[string]interface{}{
|
2771
|
|
- "msg": "退费成功",
|
2772
|
|
- })
|
|
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
|
+ }
|
2773
|
2849
|
} else {
|
2774
|
2850
|
c.ServeSuccessJSON(map[string]interface{}{
|
2775
|
2851
|
"failed_code": -10,
|
|
@@ -2877,9 +2953,50 @@ func (c *SZHisApiController) GetSettleAccounts() {
|
2877
|
2953
|
|
2878
|
2954
|
patient, _ := service.GetPatientByIDTwo(adminUser.CurrentOrgId, patient_id)
|
2879
|
2955
|
|
2880
|
|
- patientPrescription, _ := service.FindPatientPrescriptionInfo(adminUser.CurrentOrgId, patient_id, recordDateTime)
|
|
2956
|
+ patientPrescription, _ := service.FindPatientPrescriptionInfo(adminUser.CurrentOrgId, patient_id, order.SettleAccountsDate)
|
2881
|
2957
|
adminRole_two, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, patientPrescription.DoctorId)
|
2882
|
2958
|
|
|
2959
|
+ his, _ := service.GetHisPatientInfo(adminUser.CurrentOrgId, patient_id, order.SettleAccountsDate)
|
|
2960
|
+ yiliao_leibie := ""
|
|
2961
|
+
|
|
2962
|
+ switch his.MedicalTreatmentType {
|
|
2963
|
+ case 11:
|
|
2964
|
+ yiliao_leibie = "普通门诊"
|
|
2965
|
+ break
|
|
2966
|
+ case 12:
|
|
2967
|
+ yiliao_leibie = "家庭通道"
|
|
2968
|
+ break
|
|
2969
|
+ case 13:
|
|
2970
|
+ yiliao_leibie = "门诊大病"
|
|
2971
|
+ break
|
|
2972
|
+ case 14:
|
|
2973
|
+ yiliao_leibie = "重疾特药"
|
|
2974
|
+ break
|
|
2975
|
+ case 15:
|
|
2976
|
+ yiliao_leibie = "门诊慢病"
|
|
2977
|
+ break
|
|
2978
|
+ case 16:
|
|
2979
|
+ yiliao_leibie = "门诊特检"
|
|
2980
|
+ break
|
|
2981
|
+ case 17:
|
|
2982
|
+ yiliao_leibie = "健康体检"
|
|
2983
|
+ break
|
|
2984
|
+ case 18:
|
|
2985
|
+ yiliao_leibie = "预防接种"
|
|
2986
|
+ break
|
|
2987
|
+ case 19:
|
|
2988
|
+ yiliao_leibie = "门诊输血"
|
|
2989
|
+ break
|
|
2990
|
+ case 91:
|
|
2991
|
+ yiliao_leibie = "新冠肺炎门诊"
|
|
2992
|
+ break
|
|
2993
|
+
|
|
2994
|
+ }
|
|
2995
|
+
|
|
2996
|
+ //departments, _ := service.Get(patientPrescription.Departments)
|
|
2997
|
+
|
|
2998
|
+ departments, _ := service.GetDepartMentDetail(patientPrescription.Departments)
|
|
2999
|
+
|
2883
|
3000
|
if order.ID == 0 {
|
2884
|
3001
|
order, _ = service.GetHisOrderThree(recordDateTime, patient_id, adminUser.CurrentOrgId)
|
2885
|
3002
|
|
|
@@ -2936,6 +3053,8 @@ func (c *SZHisApiController) GetSettleAccounts() {
|
2936
|
3053
|
"doctor_name": doctor_name,
|
2937
|
3054
|
"health_card_no": order.PsnNo,
|
2938
|
3055
|
"order_number": order.Number,
|
|
3056
|
+ "department": departments.Name,
|
|
3057
|
+ "yiliao_leibie": yiliao_leibie,
|
2939
|
3058
|
})
|
2940
|
3059
|
} else {
|
2941
|
3060
|
c.ServeSuccessJSON(map[string]interface{}{
|