| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249 |
-
- using Newtonsoft.Json.Linq;
- using PTMedicalInsurance.FormSetter;
- using PTMedicalInsurance.Helper;
- using PTMedicalInsurance.Variables;
- using Sunny.UI;
- 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 PreAndInProcessAnalysisForm : Form
- {
- private DataTable dtVolaItems;
- private DataTable dtVolaDetail;
- private JObject currentItem;
- private GridViewSetter grdSetter = new GridViewSetter();
- private JArray jaVolaItems;
- public JArray jaWarns ;
- private bool _isUpdatingProgrammatically = false; //使用标志位防止代码触发
- public PreAndInProcessAnalysisForm()
- {
- InitializeComponent();
- cbxDspoWay.SelectedIndex = 1;
-
- }
- public PreAndInProcessAnalysisForm(JObject jo)
- {
- InitializeComponent();
- jaVolaItems = JArray.Parse(JsonHelper.getDestValue(jo, "output.result"));
- dtVolaItems = (DataTable)jo["output"]["result"].ToObject(typeof(DataTable));
- dgvVolaItems.DataSource = dtVolaItems;
- grdSetter.SetHeaderTextOfPAIPAVolaItem(dgvVolaItems);
- //tbJrID.Text = JsonHelper.getDestValue(jo, "output.result[0].jr_id");
- //tbRuleID.Text = JsonHelper.getDestValue(jo, "output.result[0].rule_id");
- //tbPatID.Text = JsonHelper.getDestValue(jo, "output.result[0].patn_id");
- //tbMdtrdID.Text = JsonHelper.getDestValue(jo, "output.result[0].mdtrt_id");
- //tbVolaAmt.Text = JsonHelper.getDestValue(jo, "output.result[0].vola_amt");
- //tbVolaAmtStas.Text = JsonHelper.getDestValue(jo, "output.result[0].vola_amt_stas");
- //tbSevDeg.Text = JsonHelper.getDestValue(jo, "output.result[0].sev_deg");
- //tbVolaBhvrType.Text = JsonHelper.getDestValue(jo, "output.result[0].vola_bhvr_type");
- //tbVolaEvid.Text = JsonHelper.getDestValue(jo, "output.result[0].vola_evid");
- //tbRuleName.Text = JsonHelper.getDestValue(jo, "output.result[0].rule_name");
- //rbtVolaContent.Text = JsonHelper.getDestValue(jo, "output.result[0].vola_cont");
- this.StartPosition = FormStartPosition.CenterParent;
- }
- private void showVolaItemContent(JObject jo)
- {
- _isUpdatingProgrammatically = true;
- cbxDspoWay.Text = "";
- _isUpdatingProgrammatically = false;
- tbJrID.Text = JsonHelper.getDestValue(jo, "jr_id");
- tbRuleID.Text = JsonHelper.getDestValue(jo, "rule_id");
- tbPatID.Text = JsonHelper.getDestValue(jo, "patn_id");
- tbMdtrdID.Text = JsonHelper.getDestValue(jo, "mdtrt_id");
- tbVolaAmt.Text = JsonHelper.getDestValue(jo, "vola_amt");
- tbVolaAmtStas.Text = JsonHelper.getDestValue(jo, "vola_amt_stas");
- tbSevDeg.Text = JsonHelper.getDestValue(jo, "sev_deg");
- tbVolaBhvrType.Text = JsonHelper.getDestValue(jo, "vola_bhvr_type");
- tbVolaEvid.Text = JsonHelper.getDestValue(jo, "vola_evid");
- tbRuleName.Text = JsonHelper.getDestValue(jo, "rule_name");
- rbtVolaContent.Text = JsonHelper.getDestValue(jo, "vola_cont");
- tbDspoWay.Text = JsonHelper.getDestValue(jo, "dspo_way_desc");
- rtbDspoWayRea.Text = JsonHelper.getDestValue(jo, "dspo_way_rea");
- dtVolaDetail = (DataTable)jo["judge_result_detail_dtos"].ToObject(typeof(DataTable));
- dgvVolaDetailDtos.DataSource = dtVolaDetail;
- grdSetter.SetHeaderTextOfPAIPAVolaDetailDtos(dgvVolaDetailDtos);
- }
- private void btnOK_Click(object sender, EventArgs e)
- {
- Global.writeLog($"jaVolaItems:{jaVolaItems}");
- jaWarns = new JArray();
- foreach (JObject joSub in jaVolaItems)
- {
- JObject joTmp = new JObject();
- string dspo_way = JsonHelper.getDestValue(joSub, "dspo_way");
- string dspo_way_rea = JsonHelper.getDestValue(joSub, "dspo_way_rea");
- string warn_rslt_id = JsonHelper.getDestValue(joSub, "jr_id");
- string rule_name = JsonHelper.getDestValue(joSub, "rule_name");
- joTmp.Add("warn_rslt_id",warn_rslt_id);
- joTmp.Add("dspo_way", dspo_way);
- joTmp.Add("dspo_way_rea",dspo_way_rea );
- jaWarns.Add(joTmp);
- if (dspo_way == "")
- {
- MessageBox.Show($"检测到违规名称:{rule_name},违规标识:{warn_rslt_id}的违规条目未填写处理方式");
- return;
- }
- if ((dspo_way == "1") && (dspo_way_rea == ""))
- {
- MessageBox.Show($"检测到违规名称:{rule_name},违规标识:{warn_rslt_id}的违规条目处理方式为【继续执行医嘱】,但未填写处理原因");
- return;
- }
- }
- Global.writeLog($"jaWarns:{jaWarns}");
- DialogResult = DialogResult.OK;
- }
- private void btnCancle_Click(object sender, EventArgs e)
- {
- DialogResult = DialogResult.Cancel;
- }
- private void dgvVolaItems_SelectionChanged(object sender, EventArgs e)
- {
- int i = dgvVolaItems.CurrentRow.Index;
- currentItem = (JObject)jaVolaItems[i];
- showVolaItemContent(currentItem);
- }
- private void btnSave_Click(object sender, EventArgs e)
- {
- if (cbxDspoWay.SelectedIndex == 1)
- {
- if (string.IsNullOrEmpty(rtbDspoWayRea.Text))
- {
- MessageBox.Show("请输入原因");
- return;
- }
- }
- int i = dgvVolaItems.CurrentRow.Index;
- JObject jo = (JObject)jaVolaItems[i];
- JObject joTmp = new JObject();
- joTmp.Add("warn_rslt_id", JsonHelper.getDestValue(jo, "jr_id"));
- joTmp.Add("dspo_way", cbxDspoWay.SelectedIndex);
- joTmp.Add("dspo_way_rea", rtbDspoWayRea.Text);
- Global.writeLog($"joTmp:{joTmp}");
- Global.writeLog($"jaWarns:{jaWarns}");
- bool isExist = false;
- foreach (JObject joSub in jaWarns)
- {
- Global.writeLog("1");
- if (joSub["warn_rslt_id"].ToString() == joTmp["warn_rslt_id"].ToString())
- {
- isExist = true;
- }
- Global.writeLog("2");
- }
- if (!isExist)
- {
- Global.writeLog("3");
- jaWarns.Add(joTmp);
- Global.writeLog("4");
- dgvVolaItems.Rows[i].DefaultCellStyle.BackColor = Color.Red;
- Global.writeLog("5");
- MessageBox.Show("保存成功,请继续下一条");//如果重复点击,则覆盖,同时有标识标识改数据已经添加成功
- }
- }
-
- private void cbxDspoWay_SelectedIndexChanged(object sender, EventArgs e)
- {
- if (_isUpdatingProgrammatically)
- {
- return;
- }
- Global.writeLog($"currentItem:{currentItem}");
- if (currentItem == null)
- {
- return;
- }
- if (cbxDspoWay.SelectedIndex == 1)
- {
- if (string.IsNullOrEmpty(rtbDspoWayRea.Text))
- {
- MessageBox.Show(this,"请输入原因");
- return;
- }
- }
- string dspo_way_desc = "";
- if (currentItem.ContainsKey("dspo_way"))
- {
- if (cbxDspoWay.Text != "")
- {
- dspo_way_desc = cbxDspoWay.Text.Substring(2);
- }
- currentItem["dspo_way"] = cbxDspoWay.SelectedIndex;
- currentItem["dspo_way_desc"] = dspo_way_desc;
- tbDspoWay.Text = dspo_way_desc;
- }
- else
- {
- if (cbxDspoWay.Text != "")
- {
- dspo_way_desc = cbxDspoWay.Text.Substring(2);
- }
- currentItem.Add("dspo_way", cbxDspoWay.SelectedIndex);
- currentItem.Add("dspo_way_desc", dspo_way_desc);
- tbDspoWay.Text = dspo_way_desc;
- }
- if (currentItem.ContainsKey("dspo_way_rea"))
- {
- currentItem["dspo_way_rea"] = rtbDspoWayRea.Text;
- }
- else
- {
- currentItem.Add("dspo_way_rea", rtbDspoWayRea.Text);
- }
- Global.writeLog($"currentItemEnd:{currentItem}");
- }
- private void rtbDspoWayRea_TextChanged(object sender, EventArgs e)
- {
- if (currentItem == null)
- {
- return;
- }
- if (currentItem.ContainsKey("dspo_way_rea"))
- {
- currentItem["dspo_way_rea"] = rtbDspoWayRea.Text;
- }
- else
- {
- currentItem.Add("dspo_way_rea", rtbDspoWayRea.Text);
- }
- }
- }
- }
|