using PTMedicalInsurance.Forms;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using PTMedicalInsurance.Helper;
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 WinFrom1.ToFile
{
public partial class TableButton : Form
{
IrisDataHelper irisData = new IrisDataHelper();
InvokeHelper invoker = new InvokeHelper();
JObject userMsg = (JObject)JsonConvert.DeserializeObject("");
public string fromType = "";
public TableButton(string type = "")
{
fromType = type;
InitializeComponent();
//GetTableData(this,EventArgs.Empty, type);
this.Text = type;
this.Load += new EventHandler(GetTableData);
//switch (type)
//{
// case "转院备案撤销":
// this.Load += new EventHandler(GetTableData);
// break;
// case "慢特病备案撤销":
// this.Load += new EventHandler(GetTableData);
// break;
// case "定点备案撤销":
// this.Load += new EventHandler(GetTableData);
// break;
// default:
// break;
//}
}
#region 示例Json
string rtn = "{\"body\":{\"output\":{\"medinsinfo\":[{\"fixmedins_code\":\"1200001001569\",\"fixmedins_name\":\"天津河西区普瑞眼科医院有限公司\",\"fixmedins_type\":\"1\",\"hosp_lv\":\"05\"},{\"fixmedins_code\":\"5101001002094\",\"fixmedins_name\":\"成都普瑞眼科医院有限责任公司\",\"fixmedins_type\":\"1\",\"hosp_lv\":\"11\"},{\"fixmedins_code\":\"5199001000058\",\"fixmedins_name\":\"成都普瑞眼科医院\",\"fixmedins_type\":\"1\",\"hosp_lv\":\"10\"},{\"fixmedins_code\":\"5299001102440\",\"fixmedins_name\":\"贵州普瑞眼科医院\",\"fixmedins_type\":\"1\",\"hosp_lv\":\"02\"},{\"fixmedins_code\":\"5399001000144\",\"fixmedins_name\":\"昆明普瑞眼科医院\",\"fixmedins_type\":\"1\",\"hosp_lv\":\"04\"},{\"fixmedins_code\":\"6101001000198\",\"fixmedins_name\":\"西安普瑞眼科医院有限责任公司\",\"fixmedins_type\":\"1\",\"hosp_lv\":\"03\"},{\"fixmedins_code\":\"6201001100030\",\"fixmedins_name\":\"兰州普瑞眼科医院\",\"fixmedins_type\":\"1\",\"hosp_lv\":\"06\"},{\"fixmedins_code\":\"6299001100030\",\"fixmedins_name\":\"兰州普瑞眼科医院\",\"fixmedins_type\":\"1\",\"hosp_lv\":\"06\"},{\"fixmedins_code\":\"6599001102925\",\"fixmedins_name\":\"乌鲁木齐普瑞眼科医院\",\"fixmedins_type\":\"1\",\"hosp_lv\":\"06\"},{\"fixmedins_code\":\"6600001000519\",\"fixmedins_name\":\"乌鲁木齐普瑞眼科医院(有限公司)\",\"fixmedins_type\":\"1\",\"hosp_lv\":\"05\"},{\"fixmedins_code\":\"H34010202798\",\"uscc\":\"91340102MA2WCNTB23\",\"fixmedins_name\":\"合肥瑶海区普瑞眼科医院\",\"fixmedins_type\":\"1\",\"hosp_lv\":\"07\"},{\"fixmedins_code\":\"H34010400768\",\"uscc\":\"91340100MA2MYPJ64A\",\"fixmedins_name\":\"合肥普瑞眼科医院\",\"fixmedins_type\":\"1\",\"hosp_lv\":\"04\"},{\"fixmedins_code\":\"H34012400958\",\"uscc\":\"91340124MA2RG8M04F\",\"fixmedins_name\":\"庐江普瑞眼科门诊部\",\"fixmedins_type\":\"1\",\"hosp_lv\":\"11\"},{\"fixmedins_code\":\"H34017200925\",\"uscc\":\"91340111MA2PGYQ5X2\",\"fixmedins_name\":\"合肥经济开发区普瑞眼科门诊部\",\"fixmedins_type\":\"1\",\"hosp_lv\":\"11\"}]},\"infcode\":0,\"inf_refmsgid\":\"340121202209022050100314008840\"},\"code\":200,\"csbCode\":200,\"message\":\"SUCCESS\",\"requestId\":\"ac11000116621230090334471d0121\",\"state\":{}}";
#endregion
///
/// 动态的点击事件
///
///
///
void dataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0) return;
if (dataGridView1[e.ColumnIndex, e.RowIndex].Value.ToString() != "撤销") return;
//JObject insuJson = new JObject();
dynamic joData = new JObject();
DataGridViewRow row = dataGridView1.Rows[e.RowIndex];
joData.psn_no = row.Cells[0].Value.ToString(); //人员代码 2501
joData.trt_dcla_detl_sn = row.Cells[3].Value.ToString(); //流水号
joData.memo = "撤销备案"; //撤销原因
//insuJson.Add(new JProperty("data", joData));
//insuJson.Add(new JProperty("infno", "2506"));
JObject joRtn = new JObject();
switch (fromType)
{
case "转院备案撤销":
joRtn = invoker.invokeInsuService(JsonHelper.setCenterInpar("2502", joData.ToString()), "转院备案撤销");
break;
case "慢特病备案撤销":
joRtn = invoker.invokeInsuService(JsonHelper.setCenterInpar("2504", joData.ToString()), "慢特病备案撤销");
break;
case "定点备案撤销":
joRtn = invoker.invokeInsuService(JsonHelper.setCenterInpar("2506", joData.ToString()), "定点备案撤销");
break;
default:
break;
}
if (joRtn.ToString().IndexOf("errorCode") != -1)
{
string errorCode = joRtn["errorCode"].ToString();
if (errorCode == "-1")
{
MessageBox.Show(joRtn["errorMessage"].ToString());
return;
}
}
string code = joRtn["code"].ToString();
string csbCode = joRtn["csbCode"].ToString();
string message = joRtn["message"].ToString();
if (code == "200" && message == "SUCCESS") //调用IRIS
{
string infcode = joRtn["body"]["infcode"].ToString();
if (infcode == "-1")
{
MessageBox.Show("备案撤销失败(医保)!");
return;
}
JObject setJson = new JObject();
string parNum = "";
setJson.Add(new JProperty("params", SetBackDataJson(fromType, out parNum)));
setJson.Add(new JProperty("code", parNum));
//setJson.Add(new JProperty("session", irisData.AddUserJson()));
setJson.Add(new JProperty("session", userMsg));
JObject irsRtn = invoker.invokeIrisService(setJson.ToString().Replace("\r\n", ""), fromType);
string errorCode = irsRtn["errorCode"].ToString().Trim();
if (errorCode == "0")
{
this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex] = new DataGridViewTextBoxCell();
this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = "已撤销";
}
else {
MessageBox.Show("写入IRIS失败!");
}
}
}
#region 人员备案查询
///
/// 动态获取数据并填充
///
///
///
public void GetTableData(object sender, EventArgs e)
{
try
{
JObject setJson = new JObject();
string parNum = "";
switch (fromType)
{
case "转院备案撤销": //查询转院备案列表
{
setJson.Add(new JProperty("params", SetGetDataJson("查询转院备案列表", "2502", out parNum)));
break;
}
case "慢特病备案撤销": //查询慢特病备案列表
{
setJson.Add(new JProperty("params", SetGetDataJson("查询慢特病备案列表", "2504", out parNum)));
break;
}
case "定点备案撤销": //查询定点备案列表
{
setJson.Add(new JProperty("params", SetGetDataJson("查询定点备案列表", "2506", out parNum)));
break;
}
default:
break;
}
setJson.Add(new JProperty("code", parNum));
//setJson.Add(new JProperty("session", irisData.AddUserJson()));
setJson.Add(new JProperty("session", userMsg));
//return setJson;
string inParms = setJson.ToString().Replace("\r\n", "");
//JObject obRtn = invoker.invokeIrisService(inParms, fromType);
#region 示例obRtn
string ddd = "{\"errorCode\":\"0\",\"errorMessage\":\"\",\"result\":{\"data\":[{\"TransCode\":\"\",\"TransDesc\":\"\",\"CardID\":\"51277119900812897X\",\"Name\":\"高果果\",\"PsnNo\":\"501128\",\"InsuType\":\"\",\"Tel\":\"\",\"DiseCodg\":\"\",\"DiseName\":\"\",\"DiagCode\":\"\",\"DiagName\":\"\",\"FixmedinsCode\":\"\",\"FixmedinsName\":\"广州番禺普瑞眼科医院\",\"ReflinMedinsNo\":\"\",\"ReflinMedinsName\":\"\",\"BegnDate\":\"\",\"EndDate\":\"\",\"CreateDate\":\"2022-09-12\",\"CreateTime\":\"\",\"CreateUserDr\":\"\",\"InsuSerNo\":\"99000022122\",\"BizTypeFlag\":\"1\",\"FixSrtNo\":\"\",}]}}";
JObject obRtn = (JObject)JsonConvert.DeserializeObject(ddd);
#endregion
if (obRtn.ToString().IndexOf("errorCode") != -1)
{
string errorCode = obRtn["errorCode"].ToString();
if (errorCode == "-1")
{
MessageBox.Show(obRtn["errorMessage"].ToString());
return;
}
}
//string errorCode = obRtn["errorCode"].ToString().Trim();
if (obRtn["errorCode"].ToString() == "0")
{
//string data = obRtn["result"].ToString().Trim();
JArray newData = new JArray();
JArray data = (JArray)JsonConvert.DeserializeObject(obRtn["result"]["data"].ToString());
foreach (var item in data)
{
JObject tabRow = new JObject();
tabRow["人员编号"] = item["PsnNo"].ToString().Trim();
tabRow["姓名"] = item["Name"].ToString().Trim();
tabRow["身份证号"] = item["CardID"].ToString().Trim();
tabRow["申报流水号"] = item["InsuSerNo"].ToString().Trim();
tabRow["申报时间"] = item["CreateDate"].ToString().Trim();
//tabRow["业务类型"] = item["BizTypeFlag"].ToString().Trim();
tabRow["定点医疗机构"] = item["FixmedinsName"].ToString().Trim();
newData.Add(tabRow);
}
dataGridView1.DataSource = JsonConvert.DeserializeObject(newData.ToString());
int coon = dataGridView1.Columns.Count;
DataGridViewButtonColumn colHead = new DataGridViewButtonColumn();
colHead.HeaderText = "撤销备案";
this.dataGridView1.Columns.Add(colHead);
int rows = this.dataGridView1.Rows.Count;
for (int i = 0; i < rows; i++)
{
DataGridViewButtonCell btnCell = new DataGridViewButtonCell();
btnCell.Value = "撤销";
btnCell.FlatStyle = FlatStyle.Flat;
btnCell.Style.BackColor = Color.Tomato;
//dr.Cells.Add(btnCell);
this.dataGridView1.Rows[i].Cells[coon] = btnCell;
}
//根据数据自动调整列宽
for (int i = 0; i < coon + 1; i++)
{
dataGridView1.AutoResizeColumn(i);
}
this.dataGridView1.CellMouseDown += new DataGridViewCellMouseEventHandler(dataGridView1_CellMouseDown);
}
else
{
string errorMessage = obRtn["errorMessage"].ToString();
MessageBox.Show(errorMessage);
}
}
catch (Exception ex)
{
MessageBox.Show("查询备案列表异常,原因是:\r\n");
}
}
///
/// 填充parms节内容
///
/// 业务名称
/// 返回的业务接口
///
private JObject SetGetDataJson(string types,string tranSCode, out string parNum)
{
parNum = "";
dynamic joData = new JObject();
switch (types)
{
case "查询转院备案列表": //查询转院备案列表
{
parNum = "02030003";
break;
}
case "查询慢特病备案列表": //查询慢特病备案列表
{
parNum = "02030006";
break;
}
case "查询定点备案列表": //查询定点备案列表
{
parNum = "02030009";
break;
}
default:
break;
}
joData.CardID = ""; //身份证号
joData.TransCode = tranSCode; //交易代码 2501
joData.CreateDate = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"); //操作日期
return joData;
}
#endregion
#region 撤销操作
///
/// 填充parms节内容
///
/// 业务名称
/// 返回的业务接口
///
private JObject SetBackDataJson(string types, out string parNum)
{
dynamic joData = new JObject();
switch (types)
{
case "转院备案撤销": //查询转院备案列表
{
parNum = "02030002";
break;
}
case "慢特病备案撤销": //查询慢特病备案列表
{
parNum = "02030005";
break;
}
case "定点备案撤销": //查询定点备案列表
{
parNum = "02030008";
break;
}
default:
parNum = "";
break;
}
joData.ID = ""; //转诊记录ID
joData.trtDclaDetlSn = ""; //流水号
return joData;
}
#endregion
}
}