1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- using MedicalInsurance.Forms;
- using Newtonsoft.Json;
- using Newtonsoft.Json.Linq;
- using PTMedicalInsurance.Helper;
- using PTMedicalInsurance.Variables;
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace PTMedicalInsurance.Business
- {
- class OPQuerySettlementProcess : AbstractProcess
- {
- public override CallResult Process(JObject input)
- {
- //查询HIS医保结算记录表获取该病人的参保地
- string sqlStr = "SELECT * FROM BS_MedInsuSettlement WHERE billType = 1 and ValidFlag = 1 ";
- sqlStr = sqlStr + " AND Hospital_Dr=" + Global.inf.hospitalDr + " AND Interface_Dr=" + Global.inf.interfaceDr;
- sqlStr = sqlStr + " AND SettlementID ='" + Global.pat.settlID + "'";
- JObject joSql = new JObject();
- joSql.Add("sqlStr", sqlStr);
- JObject joSettlInfo = mIS.QuerySettlementInfo(joSql);
- //if (JsonHelper.parseIrisRtnValue(joSettlInfo, out errMsg) != 0)
- //{
- // rtnResult = JsonHelper.setExceptionJson(-1, "查询结算信息失败!", errMsg).ToString();
- // return rtnResult;
- //}
- Global.pat.insuplc_admdvs = JsonHelper.getDestValue(joSettlInfo, "result.data[0].insuplc_admdvs");
- //取消共济(成都)
- joSettlInfo = CancelMutualAidPay(joSettlInfo);
- outParam = JsonHelper.toJsonString(joSettlInfo);
- return Success();
- }
- private JObject CancelMutualAidPay(JObject joRtn)
- {
- DataTable dtSettlInfo = (DataTable)JsonConvert.DeserializeObject(joRtn["result"]["data"].ToString(), (typeof(DataTable)));
- if (dtSettlInfo.Rows.Count != 1)
- {
- return JsonHelper.setExceptionJson(-1, "未查询到相关结算信息!","");
- }
- int mutualAidFlag = 0;
- if (!string.IsNullOrEmpty(dtSettlInfo.Rows[0]["MutualAidFlag"].ToString()))
- {
- mutualAidFlag = Convert.ToInt32(dtSettlInfo.Rows[0]["MutualAidFlag"].ToString());
- }
- if (mutualAidFlag > 0)
- {
- //开启自付界面,因涉及到多次自付
- MutualAid frmMA = new MutualAid(Global.pat.settlID);
- if (frmMA.dtSettlInfo.Rows.Count != 0)
- {
- frmMA.WindowState = FormWindowState.Maximized;
- if (frmMA.ShowDialog() == DialogResult.OK)
- {
- }
- else
- {
- return JsonHelper.setExceptionJson(-1, "收款员取消共济支付撤销!", null);
- }
- }
- else
- {
- return JsonHelper.setExceptionJson(-1, "开启共济支付失败,原因为未检测到有效的被共济人的医保结算数据!", null);
- }
- }
- return joRtn;
- }
- }
- }
|