using Newtonsoft.Json.Linq;
using PTMedicalInsurance.Helper;
using PTMedicalInsurance.Variables;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PTMedicalInsurance.Business
{
    class LocalMobilePayProcess : AbstractProcess
    {
        public override CallResult Process(JObject input)
        {
            //获取pat
            hBus.GetFeeHisInfo(Global.businessType, input, out Global.pat);

            //调用HIS费用查询信息
            if (hIS.getHisFee(Global.pat, out outParam) != 0)
            {
                return Exception("获取HIS费用", outParam);
            }
            //调用医保平台转换
            JObject joHisFee = JObject.Parse(outParam);
            if (mIS.convertHisFeeWithInsuCode(joHisFee, out outParam) != 0)
            {
                return Exception("转换HIS费用", outParam);
            }

            JArray jaFeeDetail = JArray.Parse(JsonHelper.getDestValue(JObject.Parse(outParam), "data"));
            jaFeeDetail.ToList().ForEach((fee) =>
            {
                fee["chrg_bchno"] = Global.pat.adm_Dr.ToString();
                fee["med_type"] = Global.pat.medType;
            });

            return Success();
        }
    }
}