1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- 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.Core.SelfServiceMachine.Process.InPat
- {
- class AdmissionRegistration : AbstractProcess
- {
- public override CallResult Process(JObject input)
- {
- JObject joRegInfo = JObject.Parse(JsonHelper.getDestValue(input, "RegInfo"));
- JObject joRegIn = JObject.Parse(JsonHelper.setCenterInpar("2401", joRegInfo));
- //上传给中心
- JObject joRegOut = invoker.invokeCenterService(TradeEnum.InpatientReg, joRegInfo);
- //将中心返回的结果返回HIS,调用HIS服务进行保存
- if (JsonHelper.parseCenterRtnValue(joRegOut, out errMsg) == 0)
- {
- joRegOut.Add("validflag", 1);
- joRegOut.Add("regstate", 1);
- joRegOut.Add("type", 1);
- Global.pat.mdtrtID = JsonHelper.getDestValue(joRegOut, "output.result.mdtrt_id");
- //插入患者本次就诊用的参保信息
- if (hBus.insertPatCurInsuInfo(input.ToString(), out outParam) != 0)
- {
- outParam = JsonHelper.setExceptionJson(-1, "插入患者本次就诊用的参保信息,请联系管理员!", outParam).ToString();
- return Exception(outParam);
- }
- //插入医保平台
- if (mIS.saveInpatRegisterInfo(joRegIn, joRegOut, out outParam) != 0)
- {
- outParam = JsonHelper.setExceptionJson(-1, "云平台保存登记信息", outParam).ToString();
- return Exception(outParam);
- }
- //插入医保平台全量信息表
- if (mIS.saveMIPatFullInsuInfo( JObject.Parse(JsonHelper.getDestProperty(input,"output")), out outParam) != 0)
- {
- outParam = JsonHelper.setExceptionJson(-1, "云平台保存登记全量信息失败", outParam).ToString();
- return Exception(outParam);
- }
- //插入费用核查表 入院登记
- if (mIS.saveDischargeAudit(3, 2,0,joRegIn, out outParam) != 0)
- {
- outParam = JsonHelper.setExceptionJson(-1, "云平台保存费用核查入院登记信息", outParam).ToString();
- return Exception(outParam);
- }
- //插入费用核查表 出院登记 默认,具体需要最终审核
- JObject joDisReg = (JObject)joRegIn.DeepClone();
- //joDisReg["input"]["mdtrtinfo"]["psn_setlway"] = new JObject();
- joDisReg["input"]["mdtrtinfo"]["psn_setlway"] = "01";
- //joDisReg["input"]["mdtrtinfo"]["acct_used_flag"] = new JObject();
- joDisReg["input"]["mdtrtinfo"]["acct_used_flag"] = "1";
- //joDisReg["input"]["mdtrtinfo"]["mid_setl_flag"] = new JObject();
- joDisReg["input"]["mdtrtinfo"]["mid_setl_flag"] = "0";
- if (mIS.saveDischargeAudit(3, 3,0, joDisReg, out outParam) != 0)
- {
- outParam = JsonHelper.setExceptionJson(-1, "云平台保存费用核查出院登记信息(默认)", outParam).ToString();
- return Exception(outParam);
- }
- //返回登记信息,插入HIS
- if (hIS.returnRegisterInfo(joRegIn, joRegOut, out outParam) != 0)
- {
- outParam = JsonHelper.setExceptionJson(-1, "HIS平台保存登记信息", outParam).ToString();
- return Exception(outParam);
- }
- else
- {
- outParam = JsonHelper.setIrisReturnValue(0, "登记成功", null).ToString();
- return Success();
- }
- }
- else
- {
- outParam = JsonHelper.setExceptionJson(-1, "入院登记失败", errMsg).ToString();
- return Exception(outParam); ;
- }
- }
-
- }
- }
|