using Newtonsoft.Json.Linq; using PTMedicalInsurance.Business; using PTMedicalInsurance.FormSetter; using PTMedicalInsurance.Helper; using PTMedicalInsurance.Variables; 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; namespace PTMedicalInsurance.Forms { public partial class PrescriptionForm : Form { private GridViewSetter grdSetter = new GridViewSetter(); HisMainBusiness hBus = new HisMainBusiness(); public PrescriptionForm() { InitializeComponent(); grdSetter.SetHeaderTextOfHistoryAdmInfo(dgvAdm); grdSetter.SetHeaderTextOfHistoryPrescription(dgvHistory); } private void PrescriptionForm_Load(object sender, EventArgs e) { this.txtName.Text = Global.pat.name; this.txtNo.Text = Global.pat.certNO; this.loadAdmInfo(); } private void loadAdmInfo() { string sqlStr = "select a.MdtrtID,a.PatientName,a.CertificateNO as PsnCertNO,a.Gender as Gend,b.AttendDoctorNO,a.SettlementDate,b.RegDate,b.ChiefPhyDocName,a.Adm_Dr,a.Age,'' as PsnType, '' as EmpName,'' as AdmInDepName,'' as AdmBed,'' as MainDiagName,'' as OpertName,'' as insuplcAdmdvs,'' as sZTSM FROM BS_MedInsuSettlement a inner join BS_MedInsuRegisterInfo b on a.MdtrtID=b.insuRegID WHERE a.Hospital_Dr=" + Global.inf.hospitalDr+" and b.ChiefPhyDocName ='"+Global.user.name+"' and b.RegDate>='"+DateTime.Now.ToString("yyyy-MM-dd")+"'"; JObject joSqlstr = new JObject(); joSqlstr.Add("sqlStr", sqlStr); joSqlstr.Add("Type", "MedInsuHosPInfo"); JArray jaParam = new JArray(); jaParam.Add(joSqlstr); JObject joSettlQuery = new JObject(); joSettlQuery.Add("params", jaParam); joSettlQuery.Add("code", "09010059"); InvokeHelper invoker = new InvokeHelper(); JObject joRtn = invoker.invokeInsuService(joSettlQuery.ToString(), "查询结算信息"); JArray ja = JArray.Parse(JsonHelper.getDestValue(joRtn, "result.data")); if (ja?.Count > 0) { DataTable dt = ja.ToObject(); dgvAdm.DataSource = dt; } } public void initList(JArray joData) { DataTable dtData = (DataTable)joData.ToObject(typeof(DataTable)); dgvHistory.DataSource = dtData; } private void btnQuery_Click(object sender, EventArgs e) { if (dgvAdm.SelectedIndex < 0) { MessageBox.Show("请先选择就诊信息"); return; } DataGridViewCellCollection dgvc = dgvAdm.Rows[dgvAdm.SelectedIndex].Cells; if (dgvc == null || dgvc.Count<1) { return; } JArray list = hBus.QueryPatientPrescription( dgvc["PatientName"].Value.ToString(), dgvc["PsnCertNO"].Value.ToString(), dgvc["AttendDoctorNO"].Value.ToString(), dgvc["MdtrtID"].Value.ToString()); if (list?.Count > 0) { initList(list); } else { MessageBox.Show("没有查询到任何记录!"); } } private void dgvAdm_SelectIndexChange(object sender, int index) { if (index < 0) { return; } if (dgvAdm.SelectedRows?.Count < 1) { return; } DataGridViewCellCollection dgvc = dgvAdm.SelectedRows[0].Cells; txtName.Text = dgvc["PatientName"].Value.ToString(); txtNo.Text = dgvc["PsnCertNO"].Value.ToString(); txtDoctorNo.Text = dgvc["AttendDoctorNO"].Value.ToString(); txtAdmID.Text = dgvc["MdtrtID"].Value.ToString(); } } }