using Newtonsoft.Json.Linq; 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 MaternityInsuranceRegist : Form { private InvokeHelper invoker = new InvokeHelper(); private XmlHelper xmler = new XmlHelper(); public MaternityInsuranceRegist() { InitializeComponent(); GridViewSetter grdSetter = new GridViewSetter(); grdSetter.SetHeaderTextOfMaternityInsuranceRegisterHisData(dgvHisData); grdSetter.SetHeaderTextOfMaternityInsuranceRegisterCenterData(dgvCenterData); InitControlText(); } /// /// 初始化控件文本值 /// private void InitControlText() { tbOperatorID.Text = Global.user.ID; tbOperatorName.Text = Global.user.name; tbAuditorID.Text = Global.user.ID; tbAuditorName.Text = Global.user.name; dpStart.Text = DateTime.Now.ToString("yyyy-MM-dd"); dpEnd.Text = DateTime.Now.ToString("yyyy-MM-dd"); } private void btRegister_Click(object sender, EventArgs e) { JObject joReg = new JObject(); joReg.Add("certno", tbCertNO.Text); joReg.Add("crterId", tbOperatorID.Text); joReg.Add("crterName", tbOperatorName.Text); joReg.Add("opterId", tbAuditorID.Text); joReg.Add("opterName", tbAuditorName.Text); joReg.Add("begndate", dpStart.Text); joReg.Add("enddate", dpEnd.Text); joReg.Add("prm_yabtch", tbPrmyabtch.Text);//prm_yabtch string error; if (invoker.invokeYHCom("M001", joReg, out error) != 0) { MessageBox.Show("生育登记失败:" + error); } else { JObject joRtn = new JObject(); joRtn = JObject.Parse(xmler.ToJSON(error)); JObject joOutput = JObject.Parse(JsonHelper.getDestValue(joRtn, "output")); tbApprovalNO.Text = JsonHelper.getDestValue(joOutput, "dylsh"); tbPsnNO.Text = JsonHelper.getDestValue(joOutput, "psnNo"); tbCertType.Text = JsonHelper.getDestValue(joOutput, "psnCertType"); tbCertNO1.Text = JsonHelper.getDestValue(joOutput, "certno"); tbPsnName.Text = JsonHelper.getDestValue(joOutput, "psnName"); tbNation.Text = JsonHelper.getDestValue(joOutput, "naty"); tbBirthday.Text = JsonHelper.getDestValue(joOutput, "brdy"); tbMedInsuType.Text = JsonHelper.getDestValue(joOutput, "medType"); tbUseFlag.Text = JsonHelper.getDestValue(joOutput, "bizUsedFlag"); tbReimbursementStandard.Text = JsonHelper.getDestValue(joOutput, "otpExamReimStd"); tbBanlanceOfOutpatCheck.Text = JsonHelper.getDestValue(joOutput, "otpExamPaybAmt"); tbMemo.Text = JsonHelper.getDestValue(joOutput, "memo"); tbOperatorID1.Text = JsonHelper.getDestValue(joOutput, "crterId"); tbOperatorName1.Text = JsonHelper.getDestValue(joOutput, "crterName"); tbAuditorID1.Text = JsonHelper.getDestValue(joOutput, "opterId"); tbAuditorName1.Text = JsonHelper.getDestValue(joOutput, "opterName"); tbInsuplcadmv.Text = JsonHelper.getDestValue(joOutput, "insuAdmdvs"); tbStartDate.Text = JsonHelper.getDestValue(joOutput, "begndate"); tbEndDate.Text = JsonHelper.getDestValue(joOutput, "enddate"); JObject joInparam = new JObject(); joInparam.Add("HospitalDr", Global.inf.hospitalDr); joInparam.Add("InterfaceDr", Global.inf.interfaceDr); joInparam.Add("AdmDr",""); joInparam.Add("PatientName", JsonHelper.getDestValue(joOutput, "psnName")); joInparam.Add("PersonalNO", JsonHelper.getDestValue(joOutput, "psnNo")); joInparam.Add("BusinessCode", "M001"); joInparam.Add("BusinessDescription", "生育门诊产前检查登记"); joInparam.Add("OccurTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); joInparam.Add("StartTime", JsonHelper.getDestValue(joOutput, "begndate")); joInparam.Add("EndTime", JsonHelper.getDestValue(joOutput, "enddate")); joInparam.Add("OperatorID", JsonHelper.getDestValue(joOutput, "crterId")); joInparam.Add("OperatorName", JsonHelper.getDestValue(joOutput, "crterName")); joInparam.Add("AuditorID", JsonHelper.getDestValue(joOutput, "opterId")); joInparam.Add("AuditorName", JsonHelper.getDestValue(joOutput, "opterName")); joInparam.Add("CertificateType", JsonHelper.getDestValue(joOutput, "psnCertType")); joInparam.Add("CertificateNO", JsonHelper.getDestValue(joOutput, "certno")); joInparam.Add("ApprovalNO", JsonHelper.getDestValue(joOutput, "dylsh")); joInparam.Add("CenterReturn", joOutput); joInparam.Add("ValidFlag",1); joInparam.Add("ApprovalParam", joReg); joRtn = invoker.invokeInsuService(JsonHelper.setIrisInpar("02030010", joInparam).ToString(), "插入备案记录"); if (JsonHelper.parseIrisRtnValue(joRtn, out error) != 0) { MessageBox.Show("中心登记成功,但插入后台失败!请联系管理员!" + error); CancelReg(tbApprovalNO.Text,tbCertNO1.Text,out error); } } } private int CancelReg(string approvalNO, string certNO, out string errMsg) { JObject joIn = new JObject(); joIn.Add("dylsh", approvalNO); joIn.Add("certno", certNO); joIn.Add("prm_yabtch", tbPrmyabtch2.Text); string error; if (invoker.invokeYHCom("M003", joIn, out error) != 0) { errMsg = "生育登记撤销失败:" + error; return -1; } else { errMsg = "生育登记撤销成功:" ; return 0; } } private void btnQueryRegRecord_Click(object sender, EventArgs e) { string sqlStr = $"select * from BS_MIFilingRegistRecord where Interface_Dr = {Global.inf.interfaceDr} and StartTime >= '{dpSD_3.Text}' and EndTime <= '{dpED_3.Text}' AND BusinessCode = 'M001' "; if (tbPsnNO_3.Text != "") { sqlStr += $" AND PersonalNO = {tbPsnNO_3.Text}"; } if (tbCertNO_3.Text != "") { sqlStr += $" AND CertificateNO = {tbCertNO_3.Text}"; } JObject joSqlstr = new JObject(); joSqlstr.Add("sqlStr", sqlStr); JObject joRtn = invoker.invokeInsuService(JsonHelper.setIrisInpar("09010082",joSqlstr).ToString(), "查询备案信息"); DataTable dt = (DataTable)joRtn["result"]["rows"].ToObject(typeof(DataTable)); dgvHisData.DataSource = dt; tcQueryAndCancel.SelectedIndex = 0; } private void btQueryCenterData_Click(object sender, EventArgs e) { JObject joIn = new JObject(); joIn.Add("certno", tbCertNO_3.Text); joIn.Add("pageNum", 1); joIn.Add("pageSize", 10); joIn.Add("prm_yabtch", tbPrmyabtch2.Text);//prm_yabtch string error; if (invoker.invokeYHCom("M002", joIn, out error) != 0) { MessageBox.Show("生育登记信息查询失败:" + error); } else { JObject joRtn = new JObject(); joRtn = JObject.Parse(xmler.ToJSON(error)); if (string.IsNullOrEmpty(JsonHelper.getDestValue(joRtn, "output.sqldata"))) { MessageBox.Show("中心返回数据为空!"); return; } DataTable dt = (DataTable)joRtn["output"]["sqldata"]["row"].ToObject(typeof(DataTable)); dgvCenterData.DataSource = dt; tcQueryAndCancel.SelectedIndex = 1; } } private void tsmCancelReg_Click(object sender, EventArgs e) { if (tcQueryAndCancel.SelectedIndex == 0) { DataTable dt = (DataTable)dgvHisData.DataSource; int i = dgvHisData.CurrentRow.Index; string error; if (CancelReg(dt.Rows[i]["ApprovalNO"].ToString(), dt.Rows[i]["CertificateNO"].ToString(), out error) != 0) { MessageBox.Show(error); } else { JObject joInparam = new JObject(); joInparam.Add("HospitalDr", Global.inf.hospitalDr); joInparam.Add("InterfaceDr", Global.inf.interfaceDr); joInparam.Add("BusinessCode", "M001"); joInparam.Add("ApprovalNO", dt.Rows[i]["ApprovalNO"].ToString()); joInparam.Add("ValidFlag", 0); JObject joRtn = invoker.invokeInsuService(JsonHelper.setIrisInpar("02030010", joInparam).ToString(), "更新备案记录"); if (JsonHelper.parseIrisRtnValue(joRtn, out error) != 0) { MessageBox.Show("撤销中心登记成功,但更新后台失败!请联系管理员!" + error); } } } else { DataTable dt = (DataTable)dgvCenterData.DataSource; int i = dgvCenterData.CurrentRow.Index; string error; if (CancelReg(dt.Rows[i]["dylsh"].ToString(), dt.Rows[i]["certno"].ToString(), out error) != 0) { MessageBox.Show(error); } else { MessageBox.Show("撤销成功!"); } } } } }