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; //} string insuplc_admvs = JsonHelper.getDestValue(joSettlInfo, "result.data[0].insuplc_admdvs"); if (!string.IsNullOrEmpty(insuplc_admvs)) { Global.pat.insuplc_admdvs = insuplc_admvs; } //取消共济(成都) 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; } } }