123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426 |
- using Newtonsoft.Json;
- using Newtonsoft.Json.Linq;
- using PTMedicalInsurance.Business;
- using PTMedicalInsurance.Common;
- using PTMedicalInsurance.Entity;
- using PTMedicalInsurance.Forms.Setters.ToPutOnRecord;
- 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.ToPutOnRecord
- {
- public partial class ToPutOnRecord : Form
- {
- private InvokeHelper invoker = new InvokeHelper();
- private string opsp_dise_code;
- private string opsp_dise_name;
- private string insu_optins;
- private string ide_fixmedins_no;
- private string ide_fixmedins_name;
- private string diag_dr_code;
- private string diag_dr_name;
- private string fixmedins_code;
- private string fixmedins_name;
- private MIIrisServices mis = new MIIrisServices();
- public ToPutOnRecord()
- {
- InitializeComponent();
- //添加转院备案
- HospitalTransfer hospTransfer = new HospitalTransfer(this);
- this.tabPage2.Controls.Add(hospTransfer);
- hospTransfer.Show();
- //添加其他备案
- this.StartPosition = FormStartPosition.CenterParent;
- Global.pat.medType = string.IsNullOrEmpty(Global.pat.medType) ? "21" : Global.pat.medType; //默认医疗
- string sqlCondition = " and A.Interface_Dr = '" + Global.inf.InsuCurrencyCataLogue.ToString() + "'";
- string sqlStr = "SELECT B.Code,B.Descripts AS Name FROM HB_Dictionary A JOIN HB_DictionaryDataDetail B ON A.ID = B.HBDictionary_Dr WHERE A.InsuCode = 'insutype'" + sqlCondition;
- SetDBLKCombox(ref dblkcbxInsuranceType_1, sqlStr);
- sqlStr = "SELECT A.Code, A.Name FROM HB_MedInsuDirectory A where A.ValidFlag='1' And A.HisType=6" + sqlCondition;
- SetDBLKCombox(ref dblkcbxDieaseCode_1, sqlStr);
- sqlStr = " SELECT B.Code,B.Descripts AS Name FROM HB_Dictionary A JOIN HB_DictionaryDataDetail B ON A.ID = B.HBDictionary_Dr WHERE A.InsuCode = 'admdvs' ";
- SetDBLKCombox(ref dblkcbxCbd_1, sqlStr);
- SetDBLKCombox(ref dblkcbxDoctor_1, ConvertToComboxDT(GetDocInfo(""), "insuUserCode", "descripts"));
- SetDBLKCombox(ref dblkcbxDept_1, ConvertToComboxDT(GetDeptInfo(), "code", "descripts"));
- dblkcbxHospitalCode_1.Text = "东莞常平健明眼科医院";
- dblkcbxCbd_1.Text = "东莞市";
- insu_optins = "441900";
- fixmedins_code = Global.inf.hospitalNO;
- fixmedins_name = Global.inf.hospitalName;
- GridViewSetter grd = new GridViewSetter();
- grd.SetHeaderTextOfApplyResult1(dgvApplyResult);
- rbPsnNo_1.Checked = true;
- this.tabRecord.SelectedIndex = 1;
- this.WindowState = FormWindowState.Maximized;
- }
- #region 方法封装
- private DataTable GetDBLKComboxTable(string sqlStr)
- {
- InvokeHelper invoker = new InvokeHelper();
- dynamic joInparm = new JObject();
- dynamic joTmp = new JObject();
- joTmp.sqlStr = sqlStr;
- JArray jaParams = new JArray();
- jaParams.Add(joTmp);
- joInparm.Add("params", JArray.FromObject(jaParams));
- joInparm.code = "09010014";
- string inParam = joInparm.ToString();
- JObject joRtn = invoker.invokeInsuService(inParam, "获取下拉框消息");
- //dynamic jsonRtn = JsonConvert.DeserializeObject(strRtn);
- DataTable dt = (DataTable)joRtn["result"].ToObject(typeof(DataTable));
- //dt.Columns[0].ColumnName = "编码";d
- //dt.Columns[1].ColumnName = "名称";
- //dt.Columns[2].ColumnName = "拼音查找码";
- return dt;
- }
- private void SetDBLKCombox(ref PTControl.DBLookupCombox dblcbx, string sqlStr)
- {
- SetDBLKCombox(ref dblcbx, GetDBLKComboxTable(sqlStr));
- }
- private void SetDBLKCombox(ref PTControl.DBLookupCombox dblcbx, DataTable dt)
- {
- dblcbx.sDisplayField = "Code,Name,SearchCode";
- dblcbx.sDisplayMember = "名称";
- dblcbx.sKeyWords = "Code,SearchCode";
- dblcbx.DataSource = dt;
- dblcbx.RowFilterVisible = true;
- dblcbx.TextBox.Width = 400;
- dblcbx.DataGridView.Width = 400;
- dblcbx.DataGridView.Columns[0].Name = "编码";
- dblcbx.DataGridView.Columns[1].Name = "名称";
- dblcbx.DataGridView.Columns[2].Name = "查找码";
- dblcbx.DataGridView.Columns[0].Width = 100;
- dblcbx.DataGridView.Columns[1].Width = 200;
- }
- public static DataTable ConvertToComboxDT(DataTable sourceTable,string code,string desc)
- {
- // 使用 LINQ 查询源 DataTable
- var query = from row in sourceTable.AsEnumerable()
- select new { Code = row.Field<string>(code), Name = row.Field<string>(desc) };
- //var query = from row in sourceTable.AsEnumerable()
- //select new { Code = row.Field<string>("insuUserCode"), Name = row.Field<string>("descripts") };
- // 创建新的 DataTable
- DataTable resultTable = new DataTable();
- resultTable.Columns.Add("Code", typeof(string));
- resultTable.Columns.Add("Name", typeof(string));
- resultTable.Columns.Add("SearchCode", typeof(string));
- // 将查询结果添加到新的 DataTable
- foreach (var item in query)
- {
- resultTable.Rows.Add(item.Code, item.Name,item.Name);
- //Global.writeLog("111:" +item.Name);
- //if (item.Name !="") Global.writeLog(Logogram.GetFI(item.Name));
- }
- return resultTable;
- }
- #endregion
- #region 获取科室,医生信息等
- public DataTable GetDeptInfo()
- {
- try
- {
- JObject joInput = new JObject();
- joInput.Add("hospID", Global.inf.hisHospitalDr);
- string inpar = JsonHelper.setIrisInpar("09030043", joInput).ToString();
- JObject joRtn = invoker.invokeHISService(inpar, "获取医院用户信息");
- DataTable dt = (DataTable)joRtn["result"]["rows"].ToObject(typeof(DataTable));
- return dt;
- }
- catch (Exception ex)
- {
- return null;
- }
- }
- public DataTable GetDocInfo(string UserID)
- {
- try
- {
- JObject joInput = new JObject();
- joInput.Add("hospID", Global.inf.hisHospitalDr);
- joInput.Add("userID", UserID);
- string inpar = JsonHelper.setIrisInpar("01040297", joInput).ToString();
- JObject joRtn = invoker.invokeHISService(inpar, "获取医院用户信息");
- DataTable dt = (DataTable)joRtn["result"]["rows"].ToObject(typeof(DataTable));
- return dt;
- }
- catch (Exception ex)
- {
- return null;
- }
- }
- #endregion
- #region 业务封装
- /// <summary>
- /// 医保患者参保信息获取
- /// </summary>
- /// <param name="OutParam"></param>
- /// <returns></returns>
- private int GetPersonInfo(out string outParam)
- {
- PatientService patientService = new PatientService();
- patientService.readPatientInfo(out outParam);
- string err;
- return JsonHelper.parseCenterRtnValue(JObject.Parse(outParam),out err);
- }
- #endregion
- private void btReadCard_1_Click(object sender, EventArgs e)
- {
- string PatInfo = "";
- if (GetPersonInfo(out PatInfo) != 0)
- {
- MessageBox.Show( "读卡失败:" + PatInfo);
- }
- tbName_1.Text = Global.pat.name;
- tbPsnNO_1.Text = Global.pat.psn_no;
- foreach (DataRow row in ((DataTable)dblkcbxInsuranceType_1.DataSource).Rows)
- {
- Global.writeLog(row["Code"].ToString());
- if (row["Code"].ToString() == Global.pat.insuType)
- {
- dblkcbxInsuranceType_1.Text = row["Name"].ToString();
- }
- }
- }
- private void btClose_1_Click(object sender, EventArgs e)
- {
- Close();
- }
-
- private void btApply_1_Click(object sender, EventArgs e)
- {
- JObject joTmp = new JObject();
- joTmp.Add("psn_no", tbPsnNO_1.Text);
- joTmp.Add("insutype", Global.pat.insuType);
- joTmp.Add("opsp_dise_code", opsp_dise_code);
- joTmp.Add("opsp_dise_name", opsp_dise_name);
- joTmp.Add("tel", tbTel_1.Text);
- joTmp.Add("addr", tbAddress_1.Text);
- joTmp.Add("insu_optins", insu_optins);
- joTmp.Add("ide_fixmedins_no", Global.inf.hospitalNO);
- joTmp.Add("ide_fixmedins_name",Global.inf.hospitalName);
- joTmp.Add("hosp_ide_date", dpAuth.Value.ToString("yyyy-MM-dd"));
- joTmp.Add("diag_dr_code", diag_dr_code);
- joTmp.Add("diag_dr_name", diag_dr_name);
- joTmp.Add("begndate", dpStart.Value.ToString("yyyy-MM-dd"));
- joTmp.Add("enddate", dpEnd.Value.ToString("yyyy-MM-dd"));
- JObject jo = new JObject();
- jo.Add("fixmedins_code", fixmedins_code);
- jo.Add("fixmedins_name", fixmedins_name);
- JArray ja = new JArray();
- ja.Add(jo);
- joTmp.Add("psn_fixed_detl_list",ja);
- JObject joData = new JObject();
- joData.Add("data",joTmp);
- JObject joRtn = invoker.invokeCenterService(TradeEnum.ChronicDiseaseRecord, joData);
- string err;
- if (JsonHelper.parseCenterRtnValue(joRtn, out err) != 0)
- {
- MessageBox.Show(err);
- }
- else
- {
- //存到后台
- ChronicDiseaseRecordInput chronicIn = JsonConvert.DeserializeObject<ChronicDiseaseRecordInput>(joTmp.ToString());
- JObject joDbIn = chronicIn.ConvertToDBJson();
- string declareNo = JsonHelper.getDestValue(joRtn, "output.result.trt_dcla_detl_sn");
- joDbIn.Add("DeclareNo",declareNo);
- joDbIn.Add("RecordType", "C");
- joDbIn.Add("RecordStatus", "1");
- joDbIn.Add("CreateUser", Global.user.ID);
- joDbIn.Add("PatientName", Global.pat.name);
- joRtn = invoker.invokeInsuService(JsonHelper.setIrisInpar("09030001", joDbIn).ToString(), "插入/更新慢性病表");
- if (JsonHelper.parseIrisRtnValue(joRtn, out err) != 0)
- {
- MessageBox.Show("插入失败");
- }
- //查询后在下方表格显示
- string sqlStr = $"select * from BS_InsuPersonnelRecord where DeclareNo ='{declareNo}'";
- dgvApplyResult.DataSource = QueryRecord(sqlStr,"查询慢病备案记录");
- MessageBox.Show("申请成功");
- }
- }
- private DataTable QueryRecord(string sqlStr,string desc)
- {
-
- JObject joRtn = mis.DynamicQuery(sqlStr, desc);
- string err;
- if (JsonHelper.parseIrisRtnValue(joRtn, out err) != 0)
- {
- MessageBox.Show("查询失败");
- return null;
- }
- return (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
- }
- private void dblkcbxDoctor_1_AfterSelector(object sender, PTControl.AfterSelectorEventArgs e)
- {
- DataGridViewRow row = e.Value as DataGridViewRow;
- DataRowView dataRow = row.DataBoundItem as DataRowView;
- diag_dr_code = dataRow["Code"].ToString().Trim();
- diag_dr_name = dataRow["Name"].ToString().Trim();
- }
- private void dblkcbxCbd_1_AfterSelector(object sender, PTControl.AfterSelectorEventArgs e)
- {
- DataGridViewRow row = e.Value as DataGridViewRow;
- DataRowView dataRow = row.DataBoundItem as DataRowView;
- insu_optins = dataRow["Code"].ToString().Trim();
- }
- private void dblkcbxDept_1_AfterSelector(object sender, PTControl.AfterSelectorEventArgs e)
- {
- DataGridViewRow row = e.Value as DataGridViewRow;
- DataRowView dataRow = row.DataBoundItem as DataRowView;
- //diag_dr_code = dataRow["Code"].ToString().Trim();
- //diag_dr_name = dataRow["Name"].ToString().Trim();
- }
- private void dblkcbxHospitalCode_1_AfterSelector(object sender, PTControl.AfterSelectorEventArgs e)
- {
- DataGridViewRow row = e.Value as DataGridViewRow;
- DataRowView dataRow = row.DataBoundItem as DataRowView;
- fixmedins_code = dataRow["Code"].ToString().Trim();
- fixmedins_name = dataRow["Name"].ToString().Trim();
- }
- private void dblkcbxDieaseCode_1_AfterSelector(object sender, PTControl.AfterSelectorEventArgs e)
- {
- DataGridViewRow row = e.Value as DataGridViewRow;
- DataRowView dataRow = row.DataBoundItem as DataRowView;
- opsp_dise_code = dataRow["Code"].ToString().Trim();
- opsp_dise_name = dataRow["Name"].ToString().Trim();
- }
- private void btQueryCenterRecord_1_Click(object sender, EventArgs e)
- {
- JObject joTmp = new JObject();
- joTmp.Add("psn_no", tbPsnNo2_1.Text);
- JObject joData = new JObject();
- joData.Add("data", joTmp);
- JObject joRtn = invoker.invokeCenterService(TradeEnum.QueryChronicDiseaseRecord, joData);
- string err;
- if (JsonHelper.parseCenterRtnValue(joRtn, out err) != 0)
- {
- MessageBox.Show(err);
- }
- else
- {
- //存到后台
- //查询后在下方表格显示
- MessageBox.Show("申请成功");
- }
- }
- private void btQueryHisRecord_1_Click(object sender, EventArgs e)
- {
- string conditon = "";
- if (rbName_1.Checked)
- {
- conditon = $" PatientName ='{tbPsnNo2_1.Text}'";
- }
- if (rbPsnNo_1.Checked)
- {
- conditon = $" PersonnelNO ='{tbPsnNo2_1.Text}'";
- }
- if (rbDeclareNo_1.Checked)
- {
- conditon = $" DeclareNo ='{tbPsnNo2_1.Text}'";
- }
- string sqlStr = $"select * from BS_InsuPersonnelRecord where {conditon} ";
-
- dgvApplyResult.DataSource = QueryRecord(sqlStr, "查询慢病备案记录");
- }
- private void btCancleByHis_1_Click(object sender, EventArgs e)
- {
- int i = dgvApplyResult.SelectedIndex;
- JObject joInput = new JObject();
- joInput.Add("psn_no",dgvApplyResult.Rows[i].Cells["PersonnelNO"].Value.ToString());
- joInput.Add("trt_dcla_detl_sn", dgvApplyResult.Rows[i].Cells["DeclareNo"].Value.ToString());
- joInput.Add("opsp_dise_code", dgvApplyResult.Rows[i].Cells["ChronicDiseaseCode"].Value.ToString());
- joInput.Add("begndate", dgvApplyResult.Rows[i].Cells["BusinStartDate"].Value.ToString());
- joInput.Add("memo", rtbCancleReason_1.Text);
- JObject joData = new JObject();
- joData.Add("data", joInput);
- JObject joRtn = invoker.invokeCenterService(TradeEnum.CancleChronicDiseaseRecord, joData);
- string err;
- if (JsonHelper.parseCenterRtnValue(joRtn, out err) != 0)
- {
- MessageBox.Show(err);
- }
- else
- {
- //更新后台
- JObject joDbIn = new JObject();
- joDbIn.Add("DeclareNo", dgvApplyResult.Rows[i].Cells["DeclareNo"].ToString());
- joDbIn.Add("RecordStatus", "-1");
- joDbIn.Add("CreateUser", Global.user.ID);
- joDbIn.Add("PersonnelNO", dgvApplyResult.Rows[i].Cells["PersonnelNO"].ToString());
- joRtn = invoker.invokeInsuService(JsonHelper.setIrisInpar("09030001", joDbIn).ToString(), "插入/更新慢性病表");
- if (JsonHelper.parseIrisRtnValue(joRtn, out err) != 0)
- {
- MessageBox.Show("中心撤销成功但平台更新失败");
- }
- else
- {
- MessageBox.Show("撤销成功");
- }
- }
- }
- }
- }
|