using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using DirectoryDownload.Business;
using DirectoryDownload.FormSetter;
using DirectoryDownload.Helper;
namespace DirectoryDownload
{
public partial class FormMain : Form
{
#region 函数封装
///
/// 查询医保目录
///
///
///
///
private void queryInterfaceBasicInfo(int index)
{
string errorMsg = "";
switch (index)
{
case 0:
{
IrisInterfaceService iris = new IrisInterfaceService();
JObject joRtn = iris.getHospital();
if (JsonHelper.parseBusinessJson(joRtn, out errorMsg) != 0)
{
MessageBox.Show(errorMsg);
return;
}
//JArray jaParams = JArray.FromObject(joRtn["result"]["data"]);
JArray jaParams = JArray.Parse(JsonHelper.getJsonValue(joRtn,"result.data"));
if (jaParams.Count == 0)
{
MessageBox.Show("未查询到数据");
return;
}
DataTable dt = new DataTable();
dt = (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
GridViewSetter intefaceGrid = new GridViewSetter();
intefaceGrid.SetHeaderTextOfInterfaceMaintain(dt, dgvInterface);
joRtn = iris.getInterface();
jaParams = new JArray();
jaParams = JArray.FromObject(joRtn["result"]["data"]);
if (jaParams.Count == 0)
{
DataTableSetter dts = new DataTableSetter();
dt = dts.setDgvInterfaceDataTable();
}
else
{
dt = (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
}
dt.AcceptChanges();
dgvInterface.DataSource = dt;
dgvInterface.ReadOnly = true;
break;
}
}
}
private void queryInsuDirectory(int currentPage, int pageSize, int directoryType,int directoryDr,string code)
{
string dirCode = tbDirectoryCode.Text;
string dirName = tbDircetoryName.Text;
Sunny.UI.UIDataGridView dgv;
Sunny.UI.UIPagination pg;
if (tabControl1.SelectedIndex == 1)
{
dirCode = tbDirectoryCode.Text;
dirName = tbDircetoryName.Text;
dgv = dgvDirectoy;
pg = pgDownload;
}
else
{
dirName = tbCenterDirectoryFilter.Text;
dirCode = tbInsuCode.Text;
dgv = dgvCenterDirectory;
pg = pgCenterDirect;
}
IrisInterfaceService irisService = new IrisInterfaceService();
JObject joRtn = irisService.getDirectoryByPagination(currentPage, pageSize,code,directoryType,dirCode,dirName, directoryDr);
if (joRtn["errorCode"].ToString() != "0")
{
MessageBox.Show("IRIS数据返回错误:" + joRtn["errorMessage"].ToString());
return;
}
if (joRtn["result"]["Data"] == null)
{
MessageBox.Show("该节点不存在");
return;
}
if (joRtn["result"]["TotalCount"].ToString() == "0")
{
MessageBox.Show("未查询到数据");
dgv.DataSource = null;
return;
}
DataTable dt = (DataTable)joRtn["result"]["Data"].ToObject(typeof(DataTable));
int totalCount = int.Parse(joRtn["result"]["TotalCount"].ToString());
pg.TotalCount = totalCount;
pg.PageSize = 50;
dgv.DataSource = dt;
dgv.Columns[0].ReadOnly = true;
}
private void setHeaderTxt(int directoryType, Sunny.UI.UIDataGridView dgv)
{
GridViewSetter gvdSetter = new GridViewSetter();
switch (directoryType)
{
case 0://药品
{
gvdSetter.SetHeaderTextOfDrug(dgv);
break;
}
case 1://诊疗
{
gvdSetter.SetHeaderTextOfMedicalService(dgv);
break;
}
case 2://材料
{
gvdSetter.SetHeaderTextOfMaterials(dgv);
break;
}
case 3://疾病诊断
{
gvdSetter.SetHeaderTextOfDiagnose(dgv);
break;
}
case 4://手术
{
gvdSetter.SetHeaderTextOfDiagnose(dgv);
break;
}
case 5://慢性病
{
gvdSetter.SetHeaderTextOfDiagnose(dgv);
break;
}
case 6://DRGs
{
gvdSetter.SetHeaderTextOfDiagnose(dgv);
break; ;
}
case 7://日间手术
{
gvdSetter.SetHeaderTextOfDiagnose(dgv);
break; ;
}
case 8://字典表
{
gvdSetter.SetHeaderTextOfDictionary(dgv);
break;
}
}
}
private void queryHISInsuDirectory(int directoryType, int pageIndex, int count, Sunny.UI.UIDataGridView dgv, int directoryDr)
{
string code = "";
if (tabControl1.SelectedIndex == 0)
{
code = "09010034";
}
else if (tabControl1.SelectedIndex == 1)
{
if (rbgDirecType.SelectedIndex == 8)
{ code = "09010043"; }
else
code = "09010042";
}
else
{ code = "09010042"; }
queryInsuDirectory(pageIndex, count, directoryType + 1, directoryDr,code);
setHeaderTxt(directoryType, dgv);
}
private void queryHISDirectory(int currentPage, int pageSize)
{
string directoryType = string.Empty;
switch (rbgDirecType_C.SelectedIndex)
{
case 0:
{
directoryType = "drugs";
break;
}
case 1:
{
directoryType = "diagnosi";
break;
}
case 2:
{
directoryType = "consumables";
break;
}
}
dynamic joInParams = new JObject();
joInParams.pagination = new JArray() as dynamic;
joInParams.session = new JArray() as dynamic;
JArray jaParams = new JArray();
JObject joRtn = new JObject();
InvokeHelper invoker = new InvokeHelper();
string flag = "";
//全部是先调HIS,然后再匹配医保平台的对照关系
if (rbAll.Checked) {
flag = "All";
dynamic joParam = new JObject();
joParam.code = "";
joParam.descripts = "";
joParam.FindType = new JArray();
joParam.TypeID = "";
joParam.alias = tbHISDirectoryFilter.Text;
joParam.include = "Hosp";
joParam.groupID = "324";
joParam.hospID = GlobalVariables.hospitalDr;
joParam.interfaceDr = cbxInterface.SelectedValue;
joParam.type = directoryType;
joParam.flag = flag;
joParam.specInput = "";
jaParams.Add(joParam);
joInParams.Add("params", JArray.FromObject(jaParams));
dynamic joSession = new JObject();
joSession.userID = "";
joSession.locID = "";
joSession.groupID = "";
joSession.hospID = "";
joSession.sessionID = "";
joSession.hospCode = "";
joSession.language = "";
joSession.hostName = "";
joSession.ipv4 = "";
joSession.ipv6 = "";
joSession.mac = "";
joInParams.session.Add(joSession);
dynamic joPagination = new JObject();
joPagination.pageSize = pageSize;
//joPagination.pageSize = 2;
joPagination.currentPage = currentPage;
joPagination.sortColumn = "Code";
joPagination.sortOrder = "asc";
joInParams.pagination.Add(joPagination);
//该服务需要改写,需要跟(CloudMedicalInsurancePlatform.Tables.MapRelation)进行关联
//joInParams.code = "09010038";
joInParams.code = "05111002";
joRtn = invoker.invokeHISService(joInParams.ToString(), "查询HIS目录");
//JObject joRtn = JObject.Parse(irisRtn);
if (joRtn["errorCode"].ToString() != "0")
{
MessageBox.Show("IRIS数据返回错误!");
return;
}
if (joRtn["result"]["Data"] == null)
{
MessageBox.Show("该节点不存在");
return;
}
//传给医保平台,进行对照匹配
joInParams = new JObject();
joParam = new JObject();
jaParams = new JArray();
joParam.TotalCount = joRtn["result"]["TotalCount"];
joParam.HospitalDr = GlobalVariables.hospitalDr;
joParam.InterfaceDr = cbxInterface.SelectedValue;
joParam.Data = joRtn["result"]["Data"];
jaParams.Add(joParam);
joInParams.code = "09010057";
joInParams.Add("params", jaParams);
joRtn = invoker.invokeInsuService(joInParams.ToString(), "转换HIS目录");
}
//已对照是先调云医保,然后再匹配HIS
if (rbMaped.Checked) {
flag = "Maped";
dynamic joParam = new JObject();
joParam.alias = tbHISDirectoryFilter.Text;
joParam.HospitalDr = GlobalVariables.hospitalDr;
joParam.InterfaceDr = cbxInterface.SelectedValue;
joParam.hisType = directoryType;
jaParams.Add(joParam);
joInParams.Add("params", jaParams);
dynamic joPagination = new JObject();
joPagination.pageSize = pageSize;
joPagination.currentPage = currentPage;
joPagination.sortColumn = "HisCode";
joPagination.sortOrder = "asc";
joInParams.pagination.Add(joPagination);
joInParams.code = "09010058";
joRtn = invoker.invokeInsuService(joInParams.ToString(), "获取已对照目录分页");
//传给HIS,进行匹配
joInParams = new JObject();
joParam = new JObject();
jaParams = new JArray();
joParam.TotalCount = joRtn["result"]["TotalCount"];
joParam.type = directoryType;
joParam.flag = flag;
joParam.HospitalDr = GlobalVariables.hospitalDr;
joParam.InterfaceDr = cbxInterface.SelectedValue;
joParam.alias = tbHISDirectoryFilter.Text;
joParam.include = "Hosp";
joParam.groupID = "324";
joParam.hospID = GlobalVariables.hospitalDr;
joParam.compareArr = joRtn["result"]["Data"];
jaParams.Add(joParam);
joInParams.code = "05111002";
joInParams.Add("params", jaParams);
joRtn = invoker.invokeHISService(joInParams.ToString(), "转换HIS目录");
}
if (rbNoMaped.Checked) { flag = "NoMaped"; }
DataTable dt = (DataTable)joRtn["result"]["Data"].ToObject(typeof(DataTable));
int totalCount = int.Parse(joRtn["result"]["TotalCount"].ToString());
pgHISDirect.TotalCount = totalCount;
pgHISDirect.PageSize = 50;
dgvHISDirectory.DataSource = null;
dgvHISDirectory.DataSource = dt;
dgvHISDirectory.Columns[0].ReadOnly = true;
}
private void queryCenterDirectory_09010012(int currentPage, int pageSize)
{
string directoryType = string.Empty;
switch (rbgDirecType_C.SelectedIndex)
{
case 0:
{
directoryType = "drugs";
break;
}
case 1:
{
directoryType = "diagnosi";
break;
}
case 2:
{
directoryType = "consumables";
break;
}
}
dynamic joInParams = new JObject();
joInParams.pagination = new JArray() as dynamic;
joInParams.session = new JArray() as dynamic;
JArray jaParams = new JArray();
dynamic joParams = new JObject();
joParams.code = "";
joParams.descripts = "";
joParams.FindType = new JArray();
joParams.TypeID = "";
joParams.alias = "";
joParams.include = "Hosp";
joParams.groupID = "324";
joParams.hospID = "25";
joParams.type = directoryType;
joParams.specInput = "";
jaParams.Add(joParams);
joInParams.Add("params", JArray.FromObject(jaParams));
dynamic joSession = new JObject();
joSession.userID = "";
joSession.locID = "";
joSession.groupID = "";
joSession.hospID = "";
joSession.sessionID = "";
joSession.hospCode = "";
joSession.language = "";
joSession.hostName = "";
joSession.ipv4 = "";
joSession.ipv6 = "";
joSession.mac = "";
joInParams.session.Add(joSession);
dynamic joPagination = new JObject();
joPagination.pageSize = pageSize;
joPagination.currentPage = currentPage;
joPagination.sortColumn = "Code";
joPagination.sortOrder = "asc";
joInParams.pagination.Add(joPagination);
joInParams.code = "09010012";
IrisServices HisREST = new IrisServices();
string sInput = joInParams.ToString();
string sRtn = HisREST.Invoke(sInput);
JObject jsonRtn = JObject.Parse(sRtn);
if (jsonRtn["result"]["Data"] == null)
{
MessageBox.Show("该节点不存在");
return;
}
JObject joRtn = JObject.Parse(sRtn);
DataTable dt = (DataTable)joRtn["result"]["Data"].ToObject(typeof(DataTable));
int totalCount = int.Parse(joRtn["result"]["TotalCount"].ToString());
pgCenterDirect.TotalCount = totalCount;
pgCenterDirect.PageSize = 50;
dgvCenterDirectory.DataSource = dt;
}
private void Mapping()
{
int iHis = dgvHISDirectory.CurrentRow.Index;
if (dgvCenterDirectory.CurrentRow == null)
{
MessageBox.Show("请查询中心目录");
return;
}
int iCenter = dgvCenterDirectory.CurrentRow.Index;
DataTable dtHis = (DataTable)dgvHISDirectory.DataSource;
DataTable dtCenter = (DataTable)dgvCenterDirectory.DataSource;
dgvHISDirectory.Rows[iHis].Cells["insuCode"].Value = dgvCenterDirectory.Rows[iCenter].Cells["Code"].Value.ToString();
dgvHISDirectory.Rows[iHis].Cells["insuName"].Value = dgvCenterDirectory.Rows[iCenter].Cells["Name"].Value.ToString();
int hisType = rbgDirecType_C.SelectedIndex + 1;
string hisTypeName = rbgDirecType_C.Items[hisType-1].ToString(); ;
JArray jaParams = new JArray();
dynamic jsonTemp = new JObject();
jsonTemp.ID = dtHis.Rows[iHis]["MapID"];
jsonTemp.HospitalDr = GlobalVariables.hospitalDr;
jsonTemp.updateUserID = GlobalVariables.operatorNO;
jsonTemp.InterfaceDr = int.Parse(cbxInterface.SelectedValue.ToString());
jsonTemp.HISCode = dgvHISDirectory.Rows[iHis].Cells["itemCode"].Value;
jsonTemp.HISName = dgvHISDirectory.Rows[iHis].Cells["itemDesc"].Value;
jsonTemp.ChargeItemDr = dtHis.Rows[iHis]["ID"];
jsonTemp.DiretoryDr = dtCenter.Rows[iCenter]["ID"];
//1.已对照 2.已对照但未上传 3 已对照且已上传
jsonTemp.State = 1;
jsonTemp.HisType = hisType;
jsonTemp.HisTypeName = hisTypeName;
jsonTemp.InsuCode = dgvCenterDirectory.Rows[dgvCenterDirectory.CurrentRow.Index].Cells["Code"].Value;
jsonTemp.InsuName = dgvCenterDirectory.Rows[dgvCenterDirectory.CurrentRow.Index].Cells["Name"].Value;
jsonTemp.UpdateDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
jaParams.Add(jsonTemp);
JObject joIn = new JObject();
joIn.Add(new JProperty("params", jaParams));
joIn.Add("code", "09010040");
InvokeHelper invoker = new InvokeHelper();
JObject joRtn = invoker.invokeInsuService(joIn.ToString(),"插入对照信息");
//JObject joRtn = JObject.Parse(irisRtn);
if ((int)joRtn["errorCode"] == 0)
{
dgvHISDirectory.Rows[iHis].Cells["flag"].Value = "已对照";
}
else
{
dgvHISDirectory.Rows[iHis].Cells["flag"].Value = "对照失败";
}
}
private void CancleMapping()
{
int iHis = dgvHISDirectory.CurrentRow.Index;
DataTable dtHis = (DataTable)dgvHISDirectory.DataSource;
JArray jaParams = new JArray();
dynamic jsonTemp = new JObject();
jsonTemp.ID = dtHis.Rows[iHis]["MapID"];
jsonTemp.HospitalDr = GlobalVariables.hospitalDr;
jsonTemp.updateUserID = GlobalVariables.operatorNO;
jsonTemp.InterfaceDr = GlobalVariables.interfaceDr;
jsonTemp.HISCode = dgvHISDirectory.Rows[iHis].Cells["itemCode"].Value;
jsonTemp.UpdateDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
jaParams.Add(jsonTemp);
JObject joIn = new JObject();
joIn.Add(new JProperty("params", jaParams));
joIn.Add("code", "09010041");
InvokeHelper invoker = new InvokeHelper();
JObject joRtn = invoker.invokeInsuService(joIn.ToString(),"取消对照");
if ((int)joRtn["errorCode"] == 0)
{
dgvHISDirectory.Rows[iHis].Cells["insuCode"].Value = "";
dgvHISDirectory.Rows[iHis].Cells["insuName"].Value = "";
dgvHISDirectory.Rows[iHis].Cells["flag"].Value = "未对照";
}
else
{
dgvHISDirectory.Rows[iHis].Cells["flag"].Value = "取消失败";
}
}
#endregion
public FormMain()
{
try
{
//模拟接口
dynamic joInterface = new JObject();
joInterface.HospitalNO = "55";
joInterface.HospitalName = "成都普瑞眼科医院";
joInterface.InterfaceID = "C";
joInterface.HospitalDr = 50;
joInterface.InterfaceDr = 8;
joInterface.CenterURL = "";
joInterface.operatoType = "";
joInterface.operatorNO = "0";
joInterface.operatorName = "管理员";
joInterface.hospitalMedInsuAreaCode = "";
joInterface.ID = 1;
GlobalVariables.Init(joInterface.ToString());
InitializeComponent();
rbgDirecType.SelectedIndex = 0;
rbgDirecType_C.SelectedIndex = 0;
rbSingleDown.Checked = true;
this.rbgDirecType.ValueChanged += new Sunny.UI.UIRadioButtonGroup.OnValueChanged(this.rbgDirecType_ValueChanged);
this.pgDownload.PageChanged += new Sunny.UI.UIPagination.OnPageChangeEventHandler(this.pgDownload_PageChanged);
this.pgCenterDirect.PageChanged += new Sunny.UI.UIPagination.OnPageChangeEventHandler(this.pgCenterDirect_PageChanged);
Font rowFont = new Font("UTF-8", 8);
Font columnFont = new Font("UTF-8", 9);
//dgvDirectoy.Font = font;
dgvInterface.RowsDefaultCellStyle.Font = dgvCenterDirectory.RowsDefaultCellStyle.Font = dgvHISDirectory.RowsDefaultCellStyle.Font = dgvDirectoy.RowsDefaultCellStyle.Font = rowFont;
dgvInterface.ColumnHeadersDefaultCellStyle.Font = dgvCenterDirectory.ColumnHeadersDefaultCellStyle.Font = dgvHISDirectory.ColumnHeadersDefaultCellStyle.Font = dgvDirectoy.ColumnHeadersDefaultCellStyle.Font = columnFont;
rbgInterface.SelectedIndex = 0;
rbAll.Checked = true;
}
catch (Exception ex)
{
MessageBox.Show("异常:" + ex.Message);
}
}
private void Form1_Load(object sender, EventArgs e)
{
//rbgDirecType.ValueChanged += new Sunny.UI.UIRadioButtonGroup.OnValueChanged(rbgDirecType_ValueChanged);
try
{
this.WindowState = FormWindowState.Maximized;
ComboxSetter cbxSetter = new ComboxSetter();
cbxSetter.setCbxInterfaceDataSource(cbxInterface);
cbxSetter.setCbxInterfaceDataSource(cbxInterface_down);
this.cbxInterface_down.SelectedValueChanged += new System.EventHandler(this.cbxInterface_down_SelectedValueChanged);
}
catch (Exception ex)
{
MessageBox.Show("异常:" + ex.Message);
}
}
private void btnDownload_Click(object sender, EventArgs e)
{
string errorMessage = string.Empty;
HisBusiness hisBus = new HisBusiness();
if (rbgDirecType.SelectedIndex == 8)
{
dynamic joData = new JObject();
joData.type = tbDicType.Text;
joData.parentValue = "";
joData.admdvs = "";
joData.date = tbDicDate.Text;
joData.vali_flag = "";
if (hisBus.downloadDicionary(joData, uiProcessBar1,out errorMessage) != 0)
{
MessageBox.Show(errorMessage);
return;
}
}
else
{
if (rbSingleDown.Checked)
{
string ver = tbVer.Text;
if (tbVer.Text != "")
{
ver = tbVer.Text;
}
if (hisBus.SingleDownload(ver, rbgDirecType.SelectedIndex, uiProcessBar1, out errorMessage) != 0)
{
MessageBox.Show(errorMessage);
return;
}
}
if (rbAutoDown.Checked)
{
if (hisBus.AutoDownload(rbgDirecType.SelectedIndex, uiProcessBar1, out errorMessage) != 0)
{
MessageBox.Show(errorMessage);
return;
}
}
}
btnQuery_Click(sender, e);
}
private void btnQuery_Click(object sender, EventArgs e)
{
int a = int.Parse(cbxInterface.SelectedValue.ToString());
queryHISInsuDirectory(rbgDirecType.SelectedIndex, 1, 50, dgvDirectoy,a);
}
private void btnQueryHISDirectory_Click(object sender, EventArgs e)
{
queryHISDirectory(1, 50);
GridViewSetter gridSetter = new GridViewSetter();
gridSetter.SetHeaderTextOfMapping_HisDirectory(dgvHISDirectory);
}
private void btnQueryCenterDirectory_Click(object sender, EventArgs e)
{
int a = int.Parse(cbxInterface.SelectedValue.ToString());
queryHISInsuDirectory(rbgDirecType_C.SelectedIndex, 1, 50, dgvCenterDirectory,a);
}
private void pgDownload_PageChanged(object sender, object pagingSource, int pageIndex, int count)
{
int a = int.Parse(cbxInterface.SelectedValue.ToString());
queryHISInsuDirectory(rbgDirecType.SelectedIndex, pageIndex, count,dgvDirectoy,a);
}
private void pgHISDirect_PageChanged(object sender, object pagingSource, int pageIndex, int count)
{
queryHISDirectory(pageIndex, 50);
}
private void pgCenterDirect_PageChanged(object sender, object pagingSource, int pageIndex, int count)
{
pgDownload_PageChanged(null, pagingSource, pageIndex, count);
}
private void rbgDirecType_ValueChanged(object sender, int index, string text)
{
btnQuery_Click(null, new EventArgs());
}
private void toolStripMenuItem2_Click(object sender, EventArgs e)
{
CancleMapping();
}
private void tsmiMapping_Click(object sender, EventArgs e)
{
Mapping();
}
private void dgvHISDirectory_DoubleClick(object sender, EventArgs e)
{
int currentPage = pgHISDirect.ActivePage;
string flag = dgvHISDirectory.Rows[dgvHISDirectory.CurrentRow.Index].Cells["flag"].Value.ToString();
if (flag == "未对照")
{
Mapping();
}
else
if (flag == "已对照")
{
CancleMapping();
}
if (rbAll.Checked)
{ queryHISDirectory(currentPage, 50); }
}
private void dgvDirectoy_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
}
private void dgvDirectoy_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
private void uiRadioButton1_CheckedChanged(object sender, EventArgs e)
{
}
private void dgvDirectoy_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{
//自动编号,与数据无关
Rectangle rectangle = new Rectangle(e.RowBounds.Location.X,
e.RowBounds.Location.Y,
dgvDirectoy.RowHeadersWidth - 4,
e.RowBounds.Height);
TextRenderer.DrawText(e.Graphics,
(e.RowIndex + 1).ToString(),
dgvDirectoy.RowHeadersDefaultCellStyle.Font,
rectangle,
dgvDirectoy.RowHeadersDefaultCellStyle.ForeColor,
TextFormatFlags.VerticalCenter | TextFormatFlags.Right);
}
private void rbAutoDown_CheckedChanged(object sender, EventArgs e)
{
}
private void uiRadioButton2_CheckedChanged(object sender, EventArgs e)
{
}
private void btnIntefaceQuery_Click(object sender, EventArgs e)
{
queryInterfaceBasicInfo(rbgInterface.SelectedIndex);
}
private void rbgInterface_ValueChanged(object sender, int index, string text)
{
queryInterfaceBasicInfo(index);
}
private void btnInterfaceAdd_Click(object sender, EventArgs e)
{
dgvInterface.ReadOnly = false;
DataTable dt = (DataTable)dgvInterface.DataSource;
DataRow dtr = dt.NewRow();
dt.Rows.Add(dtr);
}
private void btnInterfaceDelete_Click(object sender, EventArgs e)
{
dgvInterface.ReadOnly = true;
DataTable dt = (DataTable)dgvInterface.DataSource;
int index = dgvInterface.CurrentRow.Index;
string ID = dgvInterface.CurrentRow.Cells["ID"].Value.ToString();
string interfaceID = dgvInterface.CurrentRow.Cells["InterfaceID"].Value.ToString();
DataRow[] drs = dt.Select("ID = " + ID + " AND InterfaceNO='" + interfaceID + "'");
drs[0].Delete();
dgvInterface.ReadOnly = false;
}
private void btnInterfceSave_Click(object sender, EventArgs e)
{
//int i = dgvInterface.CurrentRow.Index;
//MessageBox.Show(dgvInterface.Rows[i].Cells[0].Value.ToString());
//MessageBox.Show(dgvInterface.Rows[i].Cells[1].Value.ToString());
//MessageBox.Show(dgvInterface.Rows[i].Cells["InterfaceID"].Value.ToString());
//MessageBox.Show(dgvInterface.Rows[i].Cells["InterfaceName"].Value.ToString());
DataTable dt = (DataTable)dgvInterface.DataSource;
dynamic jsonInsert = new JObject();
dynamic jsonUpdate = new JObject();
dynamic jsonDelete = new JObject();
JArray jsonArry_I = new JArray();
JArray jsonArry_U = new JArray();
JArray jsonArry_D = new JArray();
for (int i = 0; i < dt.Rows.Count; i++)
{
//MessageBox.Show(dt.Rows[i].RowState.ToString() + ':' + dt.Rows[i][0].ToString());
dynamic jsonTemp = new JObject();
if (dt.Rows[i].RowState.ToString() == "Added")
{
for (int j = 0; j < dt.Columns.Count; j++)
{
//MessageBox.Show(dt.Columns[j].ColumnName);
jsonTemp.Add(new JProperty(dt.Columns[j].ColumnName, dt.Rows[i][j].ToString()));
}
jsonTemp.updateUserID = GlobalVariables.operatorNO;
jsonArry_I.Add(jsonTemp);
}
if (dt.Rows[i].RowState.ToString() == "Deleted")
{
for (int j = 0; j < dt.Columns.Count; j++)
{
string CloumnName = dt.Columns[j].ColumnName;
jsonTemp.Add(new JProperty(CloumnName, dt.Rows[i][CloumnName, DataRowVersion.Original].ToString()));
}
jsonTemp.updateUserID = GlobalVariables.operatorNO;
jsonArry_D.Add(jsonTemp);
}
if (dt.Rows[i].RowState.ToString() == "Modified")
{
for (int j = 0; j < dt.Columns.Count; j++)
{
//MessageBox.Show(dt.Columns[j].ColumnName);
jsonTemp.Add(new JProperty(dt.Columns[j].ColumnName, dt.Rows[i][j].ToString()));
}
jsonTemp.updateUserID = GlobalVariables.operatorNO;
jsonArry_U.Add(jsonTemp);
}
}
jsonInsert.Add(new JProperty("params", jsonArry_I));
jsonInsert.code = "09010005";
jsonUpdate.Add(new JProperty("params", jsonArry_U));
jsonUpdate.code = "09010005";
jsonDelete.Add(new JProperty("params", jsonArry_D));
jsonDelete.code = "09010006";
InvokeHelper invoker = new InvokeHelper();
JObject joRtn = new JObject();
if (jsonArry_I.Count != 0)
{
joRtn = invoker.invokeInsuService(jsonInsert.ToString(),"插入");
}
if (jsonArry_U.Count != 0)
{
joRtn = invoker.invokeInsuService(jsonUpdate.ToString(), "更新");
}
if (jsonArry_D.Count != 0)
{
joRtn = invoker.invokeInsuService(jsonDelete.ToString(), "删除");
}
string errorMessage = "";
if (JsonHelper.parseBusinessJson(joRtn, out errorMessage) != 0)
{
MessageBox.Show("保存失败:" + errorMessage);
}
dgvInterface.ReadOnly = true;
}
private void dgvInterface_DataError(object sender, DataGridViewDataErrorEventArgs e)
{
}
private void uiButton1_Click(object sender, EventArgs e)
{
dgvInterface.ReadOnly = false;
}
private void uiRadioButtonGroup1_ValueChanged(object sender, int index, string text)
{
}
private void dgvHISDirectory_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
}
private void dgvHISDirectory_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
private void uiGroupBox2_Click(object sender, EventArgs e)
{
}
private void cbxInterface_down_SelectedValueChanged(object sender, EventArgs e)
{
//int i = 0;
//if (int.TryParse(cbxInterface_down.SelectedValue.ToString(), out i))
//{ GlobalVariables.interfaceDr_Download = i; }
//else
//{
// GlobalVariables.interfaceDr_Download = 0;
//}
GlobalVariables.interfaceDr_Download = int.Parse(cbxInterface_down.SelectedValue.ToString()) ;
IrisInterfaceService iris = new IrisInterfaceService();
JObject joInterface = iris.getInterface(cbxInterface_down.SelectedValue.ToString());
//赋值
GlobalVariables.hospitalNO = (string)joInterface["HospitalNO"];
GlobalVariables.hospitalDr = (int)joInterface["HospitalDr"];
GlobalVariables.interfaceNO = (string)joInterface["InterfaceNO"];
GlobalVariables.interfaceDr = (int)joInterface["ID"];
GlobalVariables.centerURL = (string)joInterface["CenterURL"];
GlobalVariables.businessDllName = (string)joInterface["DLLName"];
GlobalVariables.patientMedInsuAreaCode = (string)joInterface["AreaCode"];
}
private void panel5_Paint(object sender, PaintEventArgs e)
{
}
private void rbAll_ValueChanged(object sender, bool value)
{
btnQueryHISDirectory_Click(null,new EventArgs());
}
private void rbMaped_CheckedChanged(object sender, EventArgs e)
{
queryHISDirectory(1, 50);
}
private void rbNoMaped_CheckedChanged(object sender, EventArgs e)
{
queryHISDirectory(1, 50);
}
private void pgHISDirect_Click(object sender, EventArgs e)
{
}
private void cmsMapping_Opening(object sender, CancelEventArgs e)
{
}
private void 测试ToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void panel6_Paint(object sender, PaintEventArgs e)
{
}
private void tbCenterDirectoryFilter_TextChanged(object sender, EventArgs e)
{
}
private void uiTextBox1_TextChanged(object sender, EventArgs e)
{
}
private void dgvCenterDirectory_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
private void cmsUpdateAuxInfo_Opening(object sender, CancelEventArgs e)
{
}
private void 更新ToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void cbxInterface_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void uiButton2_Click(object sender, EventArgs e)
{
}
}
}