|
@@ -1305,7 +1305,7 @@ namespace PTMedicalInsurance.Forms
|
|
|
funNo = "1312";
|
|
|
joData.query_date = ""; //查询时间点
|
|
|
joData.hilist_code = tbDirectoryCode.Text; //医保目录编码
|
|
|
- joData.insu_admdvs = Global.inf.areaCode; //参保机构医保区划
|
|
|
+ joData.insu_admdvs = ""; //参保机构医保区划
|
|
|
joData.begndate = ""; //开始日期
|
|
|
joData.hilist_name = tbDircetoryName.Text; //医保目录名称
|
|
|
joData.wubi = ""; //五笔助记码
|
|
@@ -1366,7 +1366,7 @@ namespace PTMedicalInsurance.Forms
|
|
|
joData.hilist_code = tbDirectoryCode.Text; //医保目录编码
|
|
|
joData.hilist_lmtpric_type = ""; //医保目录限价类型
|
|
|
joData.overlmt_dspo_way = ""; //医保目录超限处理方式
|
|
|
- joData.insu_admdvs = Global.inf.areaCode; //参保机构医保区划
|
|
|
+ joData.insu_admdvs = ""; //参保机构医保区划
|
|
|
joData.begndate = ""; //开始日期
|
|
|
joData.enddate = ""; //结束日期
|
|
|
joData.vali_flag = ""; //有效标志
|
|
@@ -1801,413 +1801,6 @@ namespace PTMedicalInsurance.Forms
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- private void tsmExportAllMappedData_Click(object sender, EventArgs e)
|
|
|
- {
|
|
|
- if (queryHISDirectory(1, 1000, out string errMsg) != 0)
|
|
|
- {
|
|
|
- MessageBox.Show(errMsg);
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- if (dtExport.Rows.Count > 0)
|
|
|
- {
|
|
|
- string directoryType = string.Empty;
|
|
|
- string sBZ = "";
|
|
|
- switch (rbgDirecType_C.SelectedIndex)
|
|
|
- {
|
|
|
- case 0:
|
|
|
- {
|
|
|
- directoryType = "药品";
|
|
|
- break;
|
|
|
- }
|
|
|
- case 1:
|
|
|
- {
|
|
|
- directoryType = "诊疗";
|
|
|
- break;
|
|
|
- }
|
|
|
- case 2:
|
|
|
- {
|
|
|
- directoryType = "材料";
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if (rbAll.Checked) sBZ = "全部";
|
|
|
- else
|
|
|
- if (rbMaped.Checked) sBZ = "已对照";
|
|
|
- else
|
|
|
- if (rbNoMaped.Checked) sBZ = "未对照";
|
|
|
-
|
|
|
- string LSH = DateTime.Now.ToString("yyyy-MM-dd"); //DateTime.Now.ToString("MMddHHmmssffff");
|
|
|
- string sFliePathName = @"D:\" + LSH + "(" + directoryType + ")医保目录" + sBZ + "信息.xls";
|
|
|
- string ReturnFileName = ExportToExcel.DataTabletoExcel(dtExport, sFliePathName);
|
|
|
- if (ReturnFileName != "")
|
|
|
- {
|
|
|
- MessageBox.Show("导出成功,文件保存路径:【" + ReturnFileName + "】");
|
|
|
- System.Diagnostics.Process.Start(ReturnFileName); //打开excel文件
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- MessageBox.Show("导出失败!");
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private void tsmUploadAllMappedData_Click(object sender, EventArgs e)
|
|
|
- {
|
|
|
- AllUpLoad();
|
|
|
- }
|
|
|
-
|
|
|
- private void tsmCancelAllUploadedData_Click(object sender, EventArgs e)
|
|
|
- {
|
|
|
- AllCancelUpload();
|
|
|
- }
|
|
|
-
|
|
|
- private void tsmUpdateCellPriceOfAllMapped_Click(object sender, EventArgs e)
|
|
|
- {
|
|
|
- updateMappedInsuInfo(updateCellPriceWrapper);
|
|
|
- }
|
|
|
-
|
|
|
- private void tsmUpdateAllMapped_Click(object sender, EventArgs e)
|
|
|
- {
|
|
|
- updateMappedInsuInfo(updateAuxAndCellPriceWrapper);
|
|
|
- }
|
|
|
-
|
|
|
- private void updateMappedInsuInfo(Func<JObject, OutParamWrapper, int> action)
|
|
|
- {
|
|
|
- string sqlStr = $"select * from HB_MedInsuMapRelation where Interface_Dr='{Global.inf.interfaceDr}' and Hospital_Dr ='{Global.inf.hospitalDr}'";
|
|
|
- JObject joSqlstr = new JObject();
|
|
|
- joSqlstr.Add("sqlStr", sqlStr);
|
|
|
- JObject joRtn = mIS.QueryMappedData(joSqlstr, "查询所有已对照数据");
|
|
|
-
|
|
|
- DataTable dt = (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
|
|
|
-
|
|
|
- int iFalse = 0;
|
|
|
- int iCount = 0;
|
|
|
- foreach (DataRow dr in dt.Rows)
|
|
|
- {
|
|
|
- JObject jo = new JObject();
|
|
|
- jo.Add("code", dr["InsuCode"].ToString());
|
|
|
- jo.Add("HisType", dr["HisType"].ToString());
|
|
|
- OutParamWrapper outParWarp = new OutParamWrapper();
|
|
|
- if (action(jo, outParWarp) != 0)
|
|
|
- {
|
|
|
- iFalse++;
|
|
|
- Global.writeLog(outParWarp.Value);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if (iFalse != 0)
|
|
|
- {
|
|
|
- MessageBox.Show($"总共{iCount}条数据更新完成,但有{iFalse}条更新发生错误!");
|
|
|
-
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- MessageBox.Show("全部数据更新完成");
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private int updateAuxAndCellPriceWrapper(JObject jo, OutParamWrapper outParamWrapper)
|
|
|
- {
|
|
|
- string err;
|
|
|
- int iresult = updateAuxAndCellPrice(jo, out err);
|
|
|
- outParamWrapper.Value = err;
|
|
|
- return iresult;
|
|
|
- }
|
|
|
-
|
|
|
- private int updateCellPriceWrapper(JObject jo, OutParamWrapper outParamWrapper)
|
|
|
- {
|
|
|
- string err;
|
|
|
- int iresult = updateCellingPrice(jo, out err);
|
|
|
- outParamWrapper.Value = err;
|
|
|
- return iresult;
|
|
|
- }
|
|
|
-
|
|
|
- private int updateAuxInfoWrapper(JObject jo, OutParamWrapper outParamWrapper)
|
|
|
- {
|
|
|
- string err;
|
|
|
- int iresult = updateAuxInfo(jo, out err);
|
|
|
- outParamWrapper.Value = err;
|
|
|
- return iresult;
|
|
|
- }
|
|
|
-
|
|
|
- private int updateAuxAndCellPrice(JObject jo, out string error)
|
|
|
- {
|
|
|
- string err = "";
|
|
|
- int iResult = 0;
|
|
|
- error = "";
|
|
|
- if (updateAuxInfo(jo, out err) != 0)
|
|
|
- {
|
|
|
- error = $"更新目录信息失败{err}";
|
|
|
- iResult--;
|
|
|
- }
|
|
|
-
|
|
|
- err = "";
|
|
|
- if (updateCellingPrice(jo, out err) != 0)
|
|
|
- {
|
|
|
- error = $"{error};更新限价信息失败{err}";
|
|
|
- iResult--;
|
|
|
- }
|
|
|
-
|
|
|
- return iResult;
|
|
|
- }
|
|
|
-
|
|
|
- private void tsmUpdateLevelTypeOfAllMappedData_Click(object sender, EventArgs e)
|
|
|
- {
|
|
|
- updateMappedInsuInfo(updateAuxInfoWrapper);
|
|
|
- }
|
|
|
-
|
|
|
- private void tsmSingleUpdateInsuInfo_Click(object sender, EventArgs e)
|
|
|
- {
|
|
|
- if ((dgvHISDirectory.CurrentRow == null) || (rbMaped.Checked != true))
|
|
|
- {
|
|
|
- MessageBox.Show("请查询HIS目录对照关系,注意选择已对照!");
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- int iMapped = dgvHISDirectory.CurrentRow.Index;
|
|
|
-
|
|
|
- string insuCode = dgvHISDirectory.Rows[iMapped].Cells["insuCode"].Value.ToString();
|
|
|
- if (string.IsNullOrEmpty(insuCode))
|
|
|
- {
|
|
|
- MessageBox.Show("未检测到对应的医保目录,请检查该目录是否已对照!");
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- JObject jo = new JObject();
|
|
|
- jo.Add("code", dgvHISDirectory.Rows[iMapped].Cells["insuCode"].Value.ToString());
|
|
|
- jo.Add("HisType", rbgDirecType_C.SelectedIndex + 1);
|
|
|
-
|
|
|
- string error;
|
|
|
- if (updateAuxAndCellPrice(jo, out error) != 0)
|
|
|
- {
|
|
|
- MessageBox.Show($"更新失败{error}");
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- MessageBox.Show("更新成功!");
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- public string getDataRowValue(DataRow dr,string columnName)
|
|
|
- {
|
|
|
- if (!dr.Table.Columns.Contains(columnName))
|
|
|
- {
|
|
|
- return "";
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- return dr[columnName].ToString();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //更新目录信息(附属信息)
|
|
|
- private int updateAuxInfo(JObject jo, out string err)
|
|
|
- {
|
|
|
- err = "";
|
|
|
- tbDirectoryCode.Text = JsonHelper.getDestValue(jo, "code");
|
|
|
- string funNo;
|
|
|
- dynamic joData = GetInput(15, out funNo);
|
|
|
- JObject joRtn = cBus.InvokeMedicalInsuranceInquiry(funNo, joData);
|
|
|
-
|
|
|
- if (joRtn["infcode"].ToString() == "0")
|
|
|
- {
|
|
|
- DataTable dtAuxInfo = (DataTable)joRtn["output"]["data"].ToObject(typeof(DataTable));
|
|
|
-
|
|
|
- DateTime dtToday = DateTime.Today;
|
|
|
- string chrgitm_lv = "";
|
|
|
- string begndate = "";
|
|
|
- string enddate = "";
|
|
|
- string list_type = "";
|
|
|
- string med_chrgitm_type = "";
|
|
|
-
|
|
|
- int iAdpater = 0;
|
|
|
-
|
|
|
- foreach (DataRow dr in dtAuxInfo.Rows)
|
|
|
- {
|
|
|
- DateTime dtBegin = getDataRowValue(dr,"begndate") == "" ? Convert.ToDateTime("2000-01-01 00:00:00") : Convert.ToDateTime(getDataRowValue(dr,"begndate"));
|
|
|
- DateTime dtEnd = getDataRowValue(dr,"enddate") == "" ? Convert.ToDateTime("2099-01-01 00:00:00") : Convert.ToDateTime(getDataRowValue(dr,"enddate"));
|
|
|
-
|
|
|
- if ((dtBegin < dtToday) && (dtToday < dtEnd))
|
|
|
- {
|
|
|
- iAdpater++;
|
|
|
- chrgitm_lv = dr["chrgitm_lv"].ToString();
|
|
|
- begndate = dtBegin.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
- enddate = dtEnd.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
- list_type = dr["list_type"].ToString();
|
|
|
- med_chrgitm_type = dr["med_chrgitm_type"].ToString();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //有且只能有一条数据符合
|
|
|
- if (iAdpater == 1)
|
|
|
- {
|
|
|
- JObject joPamam = new JObject();
|
|
|
- joPamam.Add("Code", JsonHelper.getDestValue(jo, "code"));
|
|
|
- joPamam.Add("HisType", JsonHelper.getDestValue(jo, "HisType"));
|
|
|
- joPamam.Add("StartDate", begndate);
|
|
|
- joPamam.Add("EndDate", enddate);
|
|
|
- joPamam.Add("ChargeItemLevel", chrgitm_lv);
|
|
|
- joPamam.Add("ListType", list_type);
|
|
|
- joPamam.Add("ChargeItemType", med_chrgitm_type);
|
|
|
-
|
|
|
- JObject joUpdateRtn = mIS.UpdateDirectoryBySelf(joPamam);
|
|
|
- string error = "";
|
|
|
- if (JsonHelper.parseIrisRtnValue(joUpdateRtn, out error) != 0)
|
|
|
- {
|
|
|
- err = "修改失败:" + error;
|
|
|
- return -1;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- err = "修改成功";
|
|
|
- return 0;
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- err = "中心返回符合条数的记录不唯一或者为空,请检查!";
|
|
|
- return -1;
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- err = "查询中心数据出错,请检查!";
|
|
|
- return -1;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //更新目录信息(附属信息)
|
|
|
- private int updateCellingPrice(JObject jo, out string err)
|
|
|
- {
|
|
|
- err = "";
|
|
|
- tbDirectoryCode.Text = JsonHelper.getDestValue(jo, "code");
|
|
|
- string funNO;
|
|
|
- dynamic joData = GetInput(18, out funNO);
|
|
|
- JObject joRtn = cBus.InvokeMedicalInsuranceInquiry(funNO, joData);
|
|
|
-
|
|
|
- if (joRtn["infcode"].ToString() == "0")
|
|
|
- {
|
|
|
- DataTable dtAuxInfo = (DataTable)joRtn["output"]["data"].ToObject(typeof(DataTable));
|
|
|
-
|
|
|
- DateTime dtToday = DateTime.Today;
|
|
|
- string cellingPrice = "";
|
|
|
- string begndate = "";
|
|
|
- string enddate = "";
|
|
|
-
|
|
|
-
|
|
|
- int iAdpater = 0;
|
|
|
-
|
|
|
- foreach (DataRow dr in dtAuxInfo.Rows)
|
|
|
- {
|
|
|
- DateTime dtBegin = getDataRowValue(dr, "begndate") == "" ? Convert.ToDateTime("2000-01-01 00:00:00") : Convert.ToDateTime(getDataRowValue(dr, "begndate"));
|
|
|
- DateTime dtEnd = getDataRowValue(dr, "enddate") == "" ? Convert.ToDateTime("2099-01-01 00:00:00") : Convert.ToDateTime(getDataRowValue(dr, "enddate"));
|
|
|
-
|
|
|
- if ((dtBegin < dtToday) && (dtToday < dtEnd))
|
|
|
- {
|
|
|
- iAdpater++;
|
|
|
- cellingPrice = dr["hilist_pric_uplmt_amt"].ToString();
|
|
|
- begndate = dtBegin.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
- enddate = dtEnd.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //有且只能有一条数据符合
|
|
|
- if (iAdpater == 1)
|
|
|
- {
|
|
|
- JObject joPamam = new JObject();
|
|
|
- joPamam.Add("Code", JsonHelper.getDestValue(jo, "code"));
|
|
|
- joPamam.Add("HisType", JsonHelper.getDestValue(jo, "HisType"));
|
|
|
- joPamam.Add("StartDate", begndate);
|
|
|
- joPamam.Add("EndDate", enddate);
|
|
|
- joPamam.Add("CeilingPrice", cellingPrice);
|
|
|
-
|
|
|
-
|
|
|
- JObject joUpdateRtn = mIS.UpdateDirectoryBySelf(joPamam);
|
|
|
- string error = "";
|
|
|
- if (JsonHelper.parseIrisRtnValue(joUpdateRtn, out error) != 0)
|
|
|
- {
|
|
|
- err = "修改失败:" + error;
|
|
|
- return -1;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- err = "修改成功";
|
|
|
- return 0;
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- err = "中心返回符合条数的记录不唯一或者为空,请检查!";
|
|
|
- return -1;
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- err = "查询中心数据出错,请检查!";
|
|
|
- return -1;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private void btTripMenu_Click(object sender, EventArgs e)
|
|
|
- {
|
|
|
- uiContextMenuStrip1.Show(((Sunny.UI.UIButton)sender), new Point(0, btTripMenu.Height));
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- private void tsmiUpdateCellingPrice_Click(object sender, EventArgs e)
|
|
|
- {
|
|
|
- string error;
|
|
|
- int iDir = dgvDirectoy.CurrentRow.Index;
|
|
|
- if (dgvDirectoy.CurrentRow == null)
|
|
|
- {
|
|
|
- MessageBox.Show("请查询中心目录");
|
|
|
- return;
|
|
|
- }
|
|
|
- JObject jo = new JObject();
|
|
|
- jo.Add("code", dgvDirectoy.Rows[iDir].Cells["code"].Value.ToString());
|
|
|
- jo.Add("HisType", rbgDirecType.SelectedIndex + 1);
|
|
|
- if (updateCellingPrice(jo, out error) != 0)
|
|
|
- {
|
|
|
- MessageBox.Show(error);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- MessageBox.Show(error);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private void tsmiSingleUpdateAuxInfo_Click(object sender, EventArgs e)
|
|
|
- {
|
|
|
- string error;
|
|
|
- int iDir = dgvDirectoy.CurrentRow.Index;
|
|
|
- if (dgvDirectoy.CurrentRow == null)
|
|
|
- {
|
|
|
- MessageBox.Show("请查询中心目录");
|
|
|
- return;
|
|
|
- }
|
|
|
- JObject jo = new JObject();
|
|
|
- jo.Add("code", dgvDirectoy.Rows[iDir].Cells["code"].Value.ToString());
|
|
|
- jo.Add("HisType", rbgDirecType.SelectedIndex + 1);
|
|
|
- if (updateAuxInfo(jo, out error) != 0)
|
|
|
- {
|
|
|
- MessageBox.Show(error);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- MessageBox.Show(error);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- public class OutParamWrapper
|
|
|
- {
|
|
|
- public string Value { get; set; }
|
|
|
}
|
|
|
+
|
|
|
}
|