using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Newtonsoft.Json.Linq; using PTMedicalInsurance.Helper; using PTMedicalInsurance.Variables; using PTMedicalInsurance.Business; using PTMedicalInsurance.Common; using PTMedicalInsurance.Forms.Setters.PatientInsuInfos; using PTMedicalInsurance.Entity.Base.Settlement.Record; using Newtonsoft.Json; namespace PTMedicalInsurance.Forms { public partial class PatientInsuInfo : Form { public DataTable dtInsuInfo; public DataTable dtIDInfo; public JObject joSelectedInsuInfo; public int insuInfoIndex = 0; public int idInfoIndex = 0; InvokeHelper invoker = new InvokeHelper(); //1.声明自适应类实例 AutoResizeForm asc = new AutoResizeForm(); public PatientInsuInfo() { InitializeComponent(); this.StartPosition = FormStartPosition.CenterParent; asc.controllInitializeSize(this); asc.controlAutoSize(this); } public PatientInsuInfo(JObject jo) { InitializeComponent(); dtInsuInfo = (DataTable)jo["insuinfo"].ToObject(typeof(DataTable)); dtIDInfo = (DataTable)jo["idetinfo"].ToObject(typeof(DataTable)); JObject joBaseInfo = JObject.FromObject(jo["baseinfo"]); this.tbName.Text = joBaseInfo["psn_name"].ToString(); this.tbPsnNO.Text = joBaseInfo["psn_no"].ToString(); this.tbGend.Text = joBaseInfo["gend"].ToString(); this.tbBirthDay.Text = joBaseInfo["brdy"].ToString(); this.tbNaty.Text = joBaseInfo["naty"].ToString(); this.tbCertType.Text = joBaseInfo["psn_cert_type"].ToString(); this.tbCertNO.Text = joBaseInfo["certno"]+""; this.tbAge.Text = joBaseInfo["age"] + ""; //JObject joInsuInfo = JObject.FromObject(jo["insuinfo"]); //Global.pat.insuType= joInsuInfo["insutypeNo"].ToString(); GridViewSetter grdSetter = new GridViewSetter(); grdSetter.setDgvIDInfo(dgvIDInfo); grdSetter.setDgvInsuInfo(dgvInsuInfo); grdSetter.setDgvAccumutual(dgvAccumulativeInfo); grdSetter.setDgvPaymentDetail(dgvPaymentDetail); grdSetter.setDgvTreatement(dgvTreatment); //grdSetter.setDgvTurnToOtherHosp(dgvTurnToOtherHospInfo); dgvInsuInfo.DataSource = dtInsuInfo; dgvIDInfo.DataSource = dtIDInfo; JObject joRtn = QueryPaymentDetail(); string err; if (JsonHelper.parseCenterRtnValue(joRtn, out err) != 0) { MessageBox.Show($"缴费明细查询失败{err}"); } else { dgvPaymentDetail.DataSource = (DataTable)joRtn["output"].ToObject(typeof(DataTable)); } } private void AddDGVColumn(DataGridView dgv, string headerText, string dataPropertyName, int width = 120) { DataGridViewColumn newColumn = new DataGridViewTextBoxColumn(); newColumn.HeaderText = headerText; newColumn.Width = width; newColumn.DataPropertyName = dataPropertyName; newColumn.Name = dataPropertyName; dgv.Columns.Add(newColumn); } private void uiButton1_Click(object sender, EventArgs e) { insuInfoIndex = dgvInsuInfo.CurrentRow.Index; if (dtIDInfo.Rows.Count != 0 ) idInfoIndex = dgvIDInfo.CurrentRow.Index; joSelectedInsuInfo = new JObject(); for (int i = 0; i < dtInsuInfo.Columns.Count; i++) { string key = dtInsuInfo.Columns[i].ColumnName; string value = dgvInsuInfo.CurrentRow.Cells[key].Value.ToString(); joSelectedInsuInfo.Add(key, value); } DialogResult = DialogResult.OK; } private void uiButton2_Click(object sender, EventArgs e) { DialogResult = DialogResult.Cancel; } private JObject QueryPaymentDetail() { var joData = new { data = new { psn_no = this.tbPsnNO.Text } }; return invoker.invokeCenterService(TradeEnum.QueryPaymentDetail,JObject.FromObject(joData)); } private void btnRYDY2001_Click(object sender, EventArgs e) { string sInput = "", errorMsg = ""; int iHis = dgvInsuInfo.CurrentRow.Index; if (dgvInsuInfo.CurrentRow == null) { MessageBox.Show("请选择参保信息再查询!"); return; } string insutype = dgvInsuInfo.Rows[iHis].Cells["insutypeNo"].Value.ToString(); string beginDate = DateTime.Now.AddYears(-1).ToString("yyyy-MM-dd HH:mm:ss"); JObject joData = new JObject(); joData.Add("psn_no", this.tbPsnNO.Text); joData.Add("insutype", insutype); joData.Add("fixmedins_code", Global.inf.hospitalNO); joData.Add("med_type", "11"); joData.Add("begntime", beginDate); joData.Add("endtime", ""); joData.Add("dise_codg", ""); joData.Add("dise_name", ""); joData.Add("oprn_oprt_code", ""); joData.Add("oprn_oprt_name", ""); joData.Add("matn_type", ""); joData.Add("birctrl_type", ""); JObject joInput = new JObject(); joInput.Add("data", joData); JObject joRtn = invoker.invokeCenterService(TradeEnum.BenefitCheck, joInput); if (JsonHelper.parseCenterRtnValue(joRtn, out errorMsg) != 0) { MessageBox.Show("人员待遇享受检查失败:" + errorMsg); } else { string treatInfo = JsonHelper.getDestValue(joRtn, "output.trtinfo"); if (!string.IsNullOrEmpty(treatInfo)) { JArray jarray = JArray.Parse(treatInfo); StringBuilder sb = new StringBuilder(); foreach (JObject obj in jarray) { string flag = JsonHelper.getDestValue(obj, "trt_enjymnt_flag"); if ("0".Equals(flag)) { string fundType = JsonHelper.getDestValue(obj, "fund_pay_type"); string msg = JsonHelper.getDestValue(obj, "trt_chk_rslt"); sb.Append("基金类型:【" + fundType + "】" + msg); } } if (sb.Length > 0) { MessageBox.Show("人员待遇享受检查结果:" + sb.ToString()); return; } } MessageBox.Show("人员待遇享受检查结果:【正常】!"); } } private void dgvInsuInfo_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { uiButton1_Click(sender,e); } private JObject QueryAccumutualInfo() { var joData = new { data = new { psn_no = this.tbPsnNO.Text , year = tbYear_PaymentDetail.Text} }; return invoker.invokeCenterService(TradeEnum.QueryAccumutualInfoLocal, JObject.FromObject(joData)); } private void btAccumulate_Click(object sender, EventArgs e) { JObject joRtn = QueryAccumutualInfo(); string err; if (JsonHelper.parseCenterRtnValue(joRtn, out err) != 0) { MessageBox.Show(err); return; } dgvAccumulativeInfo.DataSource = (DataTable)joRtn["output"]["result"]["mutualAidSetlInfoDTOS"].ToObject(typeof(DataTable)); } private JObject QueryTurnToOtherHospInfo() { var joData = new { data = new { psn_no = this.tbPsnNO.Text, refl_fil_type = tools.getDestPosStrBySpliter(cbTurnType.Text,1,".") , begntime = tbBeginDate.Text,endtime = tbEndDate.Text} }; return invoker.invokeCenterService(TradeEnum.QueryTransferInfo, JObject.FromObject(joData)); } private void btTurnToOtherHosp_Click(object sender, EventArgs e) { JObject joRtn = QueryTurnToOtherHospInfo(); string err; if (JsonHelper.parseCenterRtnValue(joRtn, out err) != 0) { MessageBox.Show(err); return; } dgvTurnToOtherHospInfo.DataSource = (DataTable)joRtn["output"]["result"].ToObject(typeof(DataTable)); } private JObject QueryTreamentInfo() { int i = dgvInsuInfo.SelectedIndex; string insutype = dgvInsuInfo.Rows[i].Cells["insutypeNo"].Value.ToString() ; var joData = new { data = new { psn_no = this.tbPsnNO.Text, insutype =insutype, med_type = tools.getDestPosStrBySpliter(cbxMedicalType.Text, 1, "."), begntime = tbBeginDate_treatment.Text, endtime = tbEndDate_treatment.Text, fixmedins_code = Global.inf.hospitalNO} }; return invoker.invokeCenterService(TradeEnum.BenefitCheck, JObject.FromObject(joData)); } private void btTreatment_Click(object sender, EventArgs e) { JObject joRtn = QueryTreamentInfo(); string err; if (JsonHelper.parseCenterRtnValue(joRtn, out err) != 0) { MessageBox.Show(err); return; } dgvTreatment.DataSource = (DataTable)joRtn["output"]["result"]["mutualAidSetlInfoDTOS"].ToObject(typeof(DataTable)); } private void btChronicDiseases_Click(object sender, EventArgs e) { JObject joTmp = new JObject(); joTmp.Add("psn_no", Global.pat.psn_no); JObject joData = new JObject(); joData.Add("data", joTmp); //5301 也可以 JObject joRtn = invoker.invokeCenterService(TradeEnum.QueryChronicDiseaseRecordLocal, joData); string err; if (JsonHelper.parseCenterRtnValue(joRtn, out err) != 0) { MessageBox.Show(err); } else { List lst = JsonConvert.DeserializeObject>(JsonHelper.getDestValue(joRtn, "output.result")); DataTable dt = (DataTable)joRtn["output"]["result"].ToObject(typeof(DataTable)); QueryChronicDiseaseRecord qcd = new QueryChronicDiseaseRecord(); qcd.SetHeaderText(dgvChronicDiseases, new Font("Arial", 9)); dgvChronicDiseases.DataSource = lst; } } private void btFamilyDoctor_Click(object sender, EventArgs e) { JObject joTmp = new JObject(); joTmp.Add("psn_no", Global.pat.psn_no); JObject joData = new JObject(); joData.Add("data", joTmp); //5301 也可以 JObject joRtn = invoker.invokeCenterService(TradeEnum.QueryFamilyDoctor, joData); string err; if (JsonHelper.parseCenterRtnValue(joRtn, out err) != 0) { MessageBox.Show(err); } else { List lst = JsonConvert.DeserializeObject>(JsonHelper.getDestValue(joRtn, "output.result")); DataTable dt = (DataTable)joRtn["output"]["result"].ToObject(typeof(DataTable)); QueryFamilyDoctorRecord qcd = new QueryFamilyDoctorRecord(); qcd.SetHeaderText(dgvFamilyDoctor, new Font("Arial", 9)); dgvFamilyDoctor.DataSource = lst; } } } }