123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355 |
- using Newtonsoft.Json;
- using Newtonsoft.Json.Linq;
- using PTMedicalInsurance.Common;
- using PTMedicalInsurance.Entity;
- using PTMedicalInsurance.Forms.GetInsuCode;
- 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 HospitalTransfer : Form
- {
- private ToPutOnRecord mainForm;
- private String otherHospCode;
- private String otherHospName;
- private String otherHospAreaCode;
- private String otherHospAreaName;
- private string diagCode;
- private string diagName;
- private InvokeHelper invoker = new InvokeHelper();
- GridViewSetter grd = new GridViewSetter();
- public HospitalTransfer(Form frm)
- {
- InitializeComponent();
- InitForm(frm);
- //
- mainForm.SetDBLKCombox(ref dblkcbxInsuranceType_1, mainForm.dtInsuranceType);
- mainForm.SetDBLKCombox(ref dblkcbxDieaseCode_1, mainForm.dtDiagnose == null ? mainForm.AssignComboxDT(out mainForm.dtDiease, mainForm.GetDirectory("4")): mainForm.dtDiagnose);
- }
- public HospitalTransfer()
- {
- InitializeComponent();
-
- }
- private void InitForm(Form frm)
- {
- mainForm = (ToPutOnRecord)frm;
- CheckForIllegalCrossThreadCalls = false;
- // 禁用关闭按钮
- this.FormBorderStyle = FormBorderStyle.None;
- // 隐藏标题栏
- this.ControlBox = false;
- // 其他可能需要的配置
- this.TopLevel = false;
- this.Dock = DockStyle.Fill; // 根据需要设置 Dock 属性
- this.tbOtherHosp.Text = Global.inf.hospitalName;
- this.tbOtherHosp.Focus();
- }
- private void SearchAdmdvs()
- {
- JObject joAdmdvsInfo = new JObject();
- SearchAdmdvs Adm = new SearchAdmdvs();
- try
- {
- Global.pat.card.SearchAdmKey = tbOtherHosp.Text;
- Adm.StartPosition = FormStartPosition.CenterParent;
- if (Adm.ShowDialog() == DialogResult.OK)
- {
- tbOtherHosp.Text = Global.pat.card.SearchAdmName;
- if (!string.IsNullOrEmpty(Global.pat.card.SearchAdmCode))
- {
- ////自动选择异地
- //if (Utils.isOtherCity(Global.pat.card.SearchAdmCode))
- //{
- // //rbgOtherProv.SelectedIndex = 1;
- //}
- }
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show("异常:" + ex.Message);
- return;
- }
- }
- private DataTable GetOtherHospitalCode(string key)
- {
- var jo = new { medinsinfo = new { fixmedins_type = 1, fixmedins_name = key} };
- InvokeHelper invoker = new InvokeHelper();
- JObject joRtn = invoker.invokeCenterService(TradeEnum.MedicalOrgination,JObject.FromObject(jo));
- DataTable dt = (DataTable)joRtn["output"]["medinsinfo"].ToObject(typeof(DataTable));
- //// 使用 LINQ 查询原始表并填充新表
- //var rows = from row in dt.AsEnumerable()
- // select new
- // {
- // Code = row.Field<string>("fixmedins_code"),
- // Name = row.Field<string>("fixmedins_name")
- // };
- //DataTable dtNew = new DataTable();
- //dtNew.Columns.Add("Code",typeof(string));
- //dtNew.Columns.Add("Name", typeof(string));
- //foreach (var row in rows)
- //{
- // dtNew.Rows.Add(row.Code, row.Name);
- //}
- return mainForm.FormatComboxDatasource(dt, "fixmedins_code", "fixmedins_name");
- }
- private DataTable GetOtherHospitalArea(string key)
- {
- string Filter = " And DesCripts like '%" + key + "%' ";
- string sqlStr = " SELECT Top 8 B.Code,B.Descripts AS Name FROM HB_Dictionary A JOIN HB_DictionaryDataDetail B "
- + " ON A.ID = B.HBDictionary_Dr WHERE A.InsuCode = 'admdvs'" + Filter;
- 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, "获取下拉框消息");
- DataTable dt = new DataTable();
- if (joRtn.ContainsKey("result"))
- {
- dt = (DataTable)joRtn["result"].ToObject(typeof(DataTable));
- }
- return dt;
- }
- private void btClose_1_Click(object sender, EventArgs e)
- {
- mainForm.Close();
- }
- private void tbOtherHosp_DoEnter(object sender, EventArgs e)
- {
- CodeGetter codeGetter = new CodeGetter(tbOtherHosp.Text);
- codeGetter.GetCode += GetOtherHospitalCode;
- codeGetter.Search(tbOtherHosp.Text);
- if (codeGetter.ShowDialog() == DialogResult.OK)
- {
- otherHospCode = codeGetter.code;
- otherHospName = codeGetter.name;
- }
- tbOtherHosp.Text = otherHospName;
- }
- private void tbOtherHospArea_DoEnter(object sender, EventArgs e)
- {
- CodeGetter codeGetter = new CodeGetter(tbOtherHospArea.Text);
- codeGetter.GetCode += GetOtherHospitalArea;
- codeGetter.Search(tbOtherHospArea.Text);
- if (codeGetter.ShowDialog() == DialogResult.OK)
- {
- otherHospAreaCode = codeGetter.code;
- otherHospAreaName = codeGetter.name;
- }
- tbOtherHospArea.Text = otherHospAreaName;
- }
- private void btReadCard_1_Click(object sender, EventArgs e)
- {
- string PatInfo = "";
- if (mainForm.GetPersonInfo(out PatInfo) != 0)
- {
- MessageBox.Show("读卡失败:" + PatInfo);
- }
- tbName_1.Text = Global.pat.name;
- tbPsnNo2_1.Text = tbPsnNO_1.Text = Global.pat.psn_no;
-
- foreach (DataRow row in ((DataTable)dblkcbxInsuranceType_1.DataSource).Rows)
- {
- if (row["Code"].ToString() == Global.pat.insuType)
- {
- dblkcbxInsuranceType_1.Text = row["Name"].ToString();
- }
- }
- }
- private void btApply_1_Click(object sender, EventArgs e)
- {
- PersonFixedPointRecord input = new PersonFixedPointRecord();
- input.psn_no = tbPsnNO_1.Text;
- input.insutype = Global.pat.insuType;
- input.tel = tbTel_1.Text;
- input.addr = tbAddress_1.Text;
- input.insu_optins = Global.pat.insuplc_admdvs;
- input.diag_code = diagCode;
- input.diag_name = diagName;
- input.dise_cond_dscr = "";
- input.reflin_medins_name = otherHospName;
- input.reflin_medins_no = otherHospCode;
- input.mdtrtarea_admdvs = otherHospAreaCode;
- input.hosp_agre_refl_flag = "";
- input.refl_type = tools.getDestPosStrBySpliter(cbReflType.Text,1,".");
- input.refl_date = dpTransfer.Value.ToString("yyyy-MM-dd");
- input.refl_rea = rtbReflReason.Text;
- input.refl_opnn = rtbReflOpnn.Text;
- input.begndate = dpStart.Value.ToString("yyyy-MM-dd");
- input.enddate = dpEnd.Value.ToString("yyyy-MM-dd");
- input.refl_used_flag = tools.getDestPosStrBySpliter(cbHospAgreFlag.Text, 1, "."); ;
- var joData = new { refmedin = JToken.Parse(JsonConvert.SerializeObject(input, Formatting.None)) };
- JObject joRtn = invoker.invokeCenterService(TradeEnum.TransferRecord, JObject.FromObject(joData));
- string err;
- if (JsonHelper.parseCenterRtnValue(joRtn, out err) != 0)
- {
- MessageBox.Show(err);
- }
- else
- {
- //存到后台
- JObject joDbIn = input.ConvertToDBJson();
- string declareNo = JsonHelper.getDestValue(joRtn, "output.result.trt_dcla_detl_sn");
- joDbIn.Add("DeclareNo", declareNo);
- joDbIn.Add("RecordType", "T");
- 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 = mainForm.QueryRecord(sqlStr, "查询慢病备案记录");
- MessageBox.Show("申请成功");
- }
- }
- private void dblkcbxDieaseCode_1_AfterSelector(object sender, PTControl.AfterSelectorEventArgs e)
- {
- mainForm.AfterSelector(sender, e, out diagCode, out diagName);
- }
- 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} ";
- grd.SetHeaderTextOfApplyResult1(dgvApplyResult);
- dgvApplyResult.DataSource = mainForm.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("撤销成功");
- }
- }
- }
- private void btCancleByCenter_1_Click(object sender, EventArgs e)
- {
- }
- }
- }
|