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.SelfServiceMachine { class RedirectProcess: AbstractProcess { private MIIrisServices mis = new MIIrisServices(); private HisMainBusiness hBus = new HisMainBusiness(); public override CallResult Process(JObject input) { Global.writeLog($"isNeedRedirect:{Global.ssmp.isNeedRedirect}"); if (Global.ssmp.isNeedRedirect) { Global.writeLog("准备重定向"); int originalInterfaceDr = Global.inf.interfaceDr; //Global.pat.adm_Dr = int.Parse(JsonHelper.getDestValue(JObject.Parse(InParam), "params[0].admID")); //Global.ssmp.cardType = JsonHelper.getDestValue(JObject.Parse(InParam), "params[0].cardType"); //Global.writeLog($"admDr:{Global.pat.adm_Dr }"); //Global.writeLog($"cardType:{Global.ssmp.cardType }"); //重定向接口 if (hBus.Redirect(originalInterfaceDr, input, out outParam) != 0) { return Exception(-2, "Redirect", outParam); } input.Add("patInfo", outParam); if (originalInterfaceDr != Global.inf.interfaceDr) { Global.writeLog("重定向后重新签到"); //新接口签到 if (mIS.isSigned(ref Global.curEvt.signno) != true) { return new SignInProcess().Process(input); } } outParam = input.ToString(); } outParam = input.ToString(); Global.writeLog("RedirectProcess-outParam:" + outParam); return Success(); } } }