/******************************************************************************
* 文件名称: DataImoport.cs
* 文件说明: 医保目录数据导入
* 当前版本: V1.0
* 创建日期: 2022-04-12
*
* 2020-04-12: 增加GetDrugsJsonByTxt方法
* 2020-04-12: 增加GetMedicalServiceJsonByTxt方法
* 2020-04-12: 增加 GetMaterialJsonByTxt 方法
* 2020-04-14: 增加 GetDiagnoseJsonByTxt 方法
* 2020-04-14: 增加 GetOperationJsonByTxt 方法
* 2020-04-14: 增加 applyDataToIris 方法
* 2020-04-14: 增加 importDataToIrisByTxt 方法
* 2020-04-14: 增加 GetOperationJsonByTxt 方法
* 2020-04-14: 增加 GetOperationJsonByTxt 方法
* 2020-04-14: 增加 GetOperationJsonByTxt 方法
* 2020-04-14: 增加 GetOperationJsonByTxt 方法
******************************************************************************/
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using PTMedicalInsurance.Business;
using PTMedicalInsurance.Helper;
namespace PTMedicalInsurance
{
class DataImoport
{
///
/// 读取TXT后,Array中的空值会返回NULL,将其转换为"".应有其他方式处理,后面再优化
/// 明天试试Convert.ToString(a)
///
///
///
private string convertArrayNull(string arrayValue)
{
string returnValue = string.Empty;
if (arrayValue == "null")
{
returnValue = "";
}
else
{
returnValue = arrayValue;
}
return returnValue;
}
///
/// 从TXT文件中获取药品数据,并组装成JSON
///
///
///
private JObject GetDrugsJsonByTxt(string[] arr)
{
dynamic jsonTemp = new JObject();
jsonTemp.ID = "";
jsonTemp.updateUserID = GlobalVariables.operatorNO;
jsonTemp.HospitalDr = GlobalVariables.hospitalDr;
jsonTemp.InterfaceDr = GlobalVariables.interfaceDr_Download;
jsonTemp.Code = arr[0];
jsonTemp.Name = arr[7];
jsonTemp.HisType = "1";
jsonTemp.HisTypeName = "药品";
jsonTemp.LocateCode = "";
jsonTemp.LocateName = "";
jsonTemp.DosageFormCode = arr[9];
jsonTemp.DosageFormName = arr[10];
jsonTemp.CategoryCode = arr[11];
jsonTemp.CategoryName = arr[12];
jsonTemp.Specification = arr[13];
jsonTemp.SpecificationCode = arr[14];
jsonTemp.UnitOfPackag = arr[43];
jsonTemp.UnitOfValuation = arr[40];
jsonTemp.StartDate = convertArrayNull(arr[37]);
jsonTemp.EndDate = convertArrayNull(arr[38]);
jsonTemp.PinyinSearchCode = arr[51];
jsonTemp.Instructions = arr[36];
jsonTemp.ExceptContent = "";
jsonTemp.Connotation = "";
jsonTemp.ValidFlag = 1;// convertArrayNull(arr[79]);
jsonTemp.Note = arr[78];
jsonTemp.VersionNO = arr[83];
jsonTemp.VersionName = arr[84];
jsonTemp.UseFlag = 1;
jsonTemp.DrugSafetyStandardCode = arr[9];
jsonTemp.ApprovalNO = arr[56];
jsonTemp.SpecialFlag = convertArrayNull(arr[62]);
jsonTemp.LimitFlag = convertArrayNull(arr[58]);
jsonTemp.LimitRange = arr[57];
jsonTemp.UniqueRecordNO = arr[79];
jsonTemp.Manufacturers = arr[53];
return jsonTemp;
}
///
/// 从TXT文件中获取诊疗数据,并组装成JSON
///
///
///
private JObject GetMedicalServiceJsonByTxt(string[] arr)
{
dynamic jsonTemp = new JObject();
jsonTemp.ID = "";
jsonTemp.updateUserID = GlobalVariables.operatorNO;
jsonTemp.HospitalDr = GlobalVariables.hospitalDr;
jsonTemp.InterfaceDr = GlobalVariables.interfaceDr_Download;
jsonTemp.Code = arr[0];
jsonTemp.Name = arr[9];
jsonTemp.HisType = "2";
jsonTemp.HisTypeName = "诊疗";
jsonTemp.LocateCode = "";
jsonTemp.LocateName = "";
jsonTemp.DosageFormCode = arr[9];
jsonTemp.DosageFormName = arr[10];
jsonTemp.CategoryCode = arr[8];
jsonTemp.CategoryName = arr[12];
jsonTemp.Specification = "";
jsonTemp.SpecificationCode = "";
jsonTemp.UnitOfPackag = "";
jsonTemp.UnitOfValuation = convertArrayNull(arr[3]);
jsonTemp.StartDate = convertArrayNull(arr[11]);
jsonTemp.EndDate = convertArrayNull(arr[12]);
////jsonTemp.PinyinSearchCode = SpellCodeHelper.GetFirstPYLetter(arr[9]);
jsonTemp.Instructions = arr[3];
jsonTemp.ExceptContent = arr[4];
jsonTemp.Connotation = arr[5];
jsonTemp.ValidFlag = arr[6];
jsonTemp.Note = arr[7];
jsonTemp.VersionNO = arr[14];
jsonTemp.VersionName = arr[15];
jsonTemp.UseFlag = 1;
jsonTemp.DrugSafetyStandardCode = "";
jsonTemp.ApprovalNO = "";
jsonTemp.SpecialFlag = "";
jsonTemp.LimitFlag = "";
jsonTemp.LimitRange = "";
jsonTemp.UniqueRecordNO = arr[13];
return jsonTemp;
}
///
/// 从TXT文件中获取材料数据,并组装成JSON
///
///
///
private JObject GetMaterialJsonByTxt(string[] arr)
{
dynamic jsonTemp = new JObject();
jsonTemp.updateUserID = GlobalVariables.operatorNO;
jsonTemp.ID = "";
jsonTemp.HospitalDr = GlobalVariables.hospitalDr;
jsonTemp.InterfaceDr = GlobalVariables.interfaceDr_Download;
jsonTemp.Code = arr[0];
jsonTemp.Name = arr[5];
jsonTemp.HisType = "3";
jsonTemp.HisTypeName = "材料";
jsonTemp.LocateCode = "";
jsonTemp.LocateName = "";
jsonTemp.DosageFormCode = "";
jsonTemp.DosageFormName = "";
jsonTemp.CategoryCode = "";
jsonTemp.CategoryName = "";
jsonTemp.Specification = arr[7];
jsonTemp.SpecificationCode = arr[6];
jsonTemp.UnitOfPackag = arr[15];
jsonTemp.UnitOfValuation = convertArrayNull(arr[35]);
jsonTemp.StartDate = convertArrayNull(arr[46]);
jsonTemp.EndDate = convertArrayNull(arr[47]);
//jsonTemp.PinyinSearchCode = SpellCodeHelper.GetFirstPYLetter(arr[5]);
jsonTemp.Instructions = arr[27];
jsonTemp.ExceptContent = "";
jsonTemp.Connotation = "";
jsonTemp.ValidFlag = arr[67];
jsonTemp.Note = arr[7];
jsonTemp.VersionNO = arr[69];
jsonTemp.VersionName = arr[70];
jsonTemp.UseFlag = 1;
jsonTemp.DrugSafetyStandardCode = "";
jsonTemp.ApprovalNO = "";
jsonTemp.SpecialFlag = "";
jsonTemp.LimitFlag = convertArrayNull(arr[33]);
jsonTemp.LimitRange = arr[34];
jsonTemp.UniqueRecordNO = arr[68];
jsonTemp.Manufacturers = arr[59];
return jsonTemp;
}
///
/// 从TXT文件中获取诊断数据,并组装成JSON
///
///
///
private JObject GetDiagnoseJsonByTxt(string[] arr)
{
dynamic jsonTemp = new JObject();
jsonTemp.updateUserID = GlobalVariables.operatorNO;
jsonTemp.ID = "";
jsonTemp.HospitalDr = GlobalVariables.hospitalDr;
jsonTemp.InterfaceDr = GlobalVariables.interfaceDr_Download;
jsonTemp.Code = arr[10];
jsonTemp.Name = arr[11];
jsonTemp.HisType = "4";
jsonTemp.HisTypeName = "诊断";
jsonTemp.LocateCode = "";
jsonTemp.LocateName = "";
jsonTemp.DosageFormCode = "";
jsonTemp.DosageFormName = "";
jsonTemp.CategoryCode = "";
jsonTemp.CategoryName = "";
jsonTemp.Specification = "";
jsonTemp.SpecificationCode = "";
jsonTemp.UnitOfPackag = "";
jsonTemp.UnitOfValuation = "";
jsonTemp.StartDate = "";
jsonTemp.EndDate = "";
//jsonTemp.PinyinSearchCode = SpellCodeHelper.GetFirstPYLetter(arr[11]);
jsonTemp.Instructions = "";
jsonTemp.ExceptContent = "";
jsonTemp.Connotation = "";
jsonTemp.ValidFlag = arr[18];
jsonTemp.Note = arr[17];
jsonTemp.VersionNO = arr[22];
jsonTemp.VersionName = arr[23];
jsonTemp.UseFlag = 1;
jsonTemp.DrugSafetyStandardCode = "";
jsonTemp.ApprovalNO = "";
jsonTemp.SpecialFlag = "";
jsonTemp.LimitFlag = "";
jsonTemp.LimitRange = "";
jsonTemp.UniqueRecordNO = arr[19];
jsonTemp.Manufacturers = "";
return jsonTemp;
}
///
/// 慢性病
///
///
///
private JObject GetChronicDiseaseJsonByTxt(string[] arr)
{
dynamic jsonTemp = new JObject();
jsonTemp.updateUserID = GlobalVariables.operatorNO;
jsonTemp.ID = "";
jsonTemp.HospitalDr = GlobalVariables.hospitalDr;
jsonTemp.InterfaceDr = GlobalVariables.interfaceDr_Download;
jsonTemp.Code = arr[0];
jsonTemp.Name = arr[1];
jsonTemp.HisType = "6";
jsonTemp.HisTypeName = "慢性病";
jsonTemp.LocateCode = "";
jsonTemp.LocateName = "";
jsonTemp.DosageFormCode = "";
jsonTemp.DosageFormName = "";
jsonTemp.CategoryCode = arr[14];
jsonTemp.CategoryName = arr[15];
jsonTemp.Specification = "";
jsonTemp.SpecificationCode = "";
jsonTemp.UnitOfPackag = "";
jsonTemp.UnitOfValuation = "";
jsonTemp.StartDate = "";
jsonTemp.EndDate = "";
//jsonTemp.PinyinSearchCode = SpellCodeHelper.GetFirstPYLetter(arr[2]);
jsonTemp.Instructions = "";
jsonTemp.ExceptContent = "";
jsonTemp.Connotation = arr[10];
jsonTemp.ValidFlag = arr[5];
jsonTemp.Note = arr[4];
jsonTemp.VersionNO = arr[9];
jsonTemp.VersionName = arr[11];
jsonTemp.UseFlag = 1;
jsonTemp.DrugSafetyStandardCode = "";
jsonTemp.ApprovalNO = "";
jsonTemp.SpecialFlag = "";
jsonTemp.LimitFlag = "";
jsonTemp.LimitRange = "";
jsonTemp.UniqueRecordNO = arr[6];
jsonTemp.Manufacturers = "";
return jsonTemp;
}
///
/// 从TXT文件中获取手术数据,并组装成JSON
///
///
///
private JObject GetOperationJsonByTxt(string[] arr)
{
dynamic jsonTemp = new JObject();
jsonTemp.updateUserID = GlobalVariables.operatorNO;
jsonTemp.ID = "";
jsonTemp.HospitalDr = GlobalVariables.hospitalDr;
jsonTemp.InterfaceDr = GlobalVariables.interfaceDr_Download;
jsonTemp.Code = arr[10];
jsonTemp.Name = arr[11];
jsonTemp.HisType = "5";
jsonTemp.HisTypeName = "手术";
//jsonTemp.PinyinSearchCode = SpellCodeHelper.GetFirstPYLetter(arr[11]);
jsonTemp.ValidFlag = arr[18];
jsonTemp.Note = arr[17];
jsonTemp.VersionNO = arr[22];
jsonTemp.VersionName = arr[23];
jsonTemp.UseFlag = 1;
jsonTemp.UniqueRecordNO = arr[19];
return jsonTemp;
}
///
/// DRGs
///
///
///
private JObject GetDRGsJsonByTxt(string[] arr)
{
dynamic jsonTemp = new JObject();
jsonTemp.updateUserID = GlobalVariables.operatorNO;
jsonTemp.ID = "";
jsonTemp.HospitalDr = GlobalVariables.hospitalDr;
jsonTemp.InterfaceDr = GlobalVariables.interfaceDr_Download;
jsonTemp.Code = arr[1];
jsonTemp.Name = arr[2];
jsonTemp.HisType = "7";
jsonTemp.HisTypeName = "DRGs";
jsonTemp.Connotation = arr[10];
//jsonTemp.PinyinSearchCode = SpellCodeHelper.GetFirstPYLetter(arr[11]);
jsonTemp.ValidFlag = arr[5];
jsonTemp.Note = arr[11];
jsonTemp.VersionNO = arr[9];
jsonTemp.VersionName = arr[12];
jsonTemp.UseFlag = 1;
jsonTemp.UniqueRecordNO = arr[6];
return jsonTemp;
}
private JObject GetDaySurgeryJsonByTxt(string[] arr)
{
dynamic jsonTemp = new JObject();
jsonTemp.updateUserID = GlobalVariables.operatorNO;
jsonTemp.ID = "";
jsonTemp.HospitalDr = GlobalVariables.hospitalDr;
jsonTemp.InterfaceDr = GlobalVariables.interfaceDr_Download;
jsonTemp.Code = arr[1];
jsonTemp.Name = arr[2];
jsonTemp.HisType = "8";
jsonTemp.HisTypeName = "日间手术";
jsonTemp.Connotation = arr[8];
//jsonTemp.PinyinSearchCode = SpellCodeHelper.GetFirstPYLetter(arr[11]);
jsonTemp.ValidFlag = arr[3];
jsonTemp.Note = arr[9];
jsonTemp.VersionNO = arr[7];
jsonTemp.VersionName = arr[10];
jsonTemp.UseFlag = 1;
jsonTemp.UniqueRecordNO = arr[4];
return jsonTemp;
}
///
/// 从TXT文件中获取中药饮片数据,并组装成JSON
///
///
///
private JObject GetChineseMedicineJsonByTxt(string[] arr)
{
dynamic jsonTemp = new JObject();
jsonTemp.ID = "";
jsonTemp.updateUserID = GlobalVariables.operatorNO;
jsonTemp.HospitalDr = GlobalVariables.hospitalDr;
jsonTemp.InterfaceDr = GlobalVariables.interfaceDr_Download;
jsonTemp.Code = arr[0];
jsonTemp.Name = arr[1];
jsonTemp.HisType = "9";
jsonTemp.HisTypeName = "中药饮片";
jsonTemp.LocateCode = "";
jsonTemp.LocateName = "";
jsonTemp.DosageFormCode = arr[2]; //剂型
jsonTemp.DosageFormName = arr[5]; //药用部位
jsonTemp.CategoryCode = arr[3]; //质量等级
jsonTemp.CategoryName = arr[4]; //中草药年份
jsonTemp.Specification = arr[6]; //安全计量
jsonTemp.SpecificationCode = arr[22]; //功效分类
jsonTemp.UnitOfPackag = "";
jsonTemp.UnitOfValuation = "";
jsonTemp.StartDate = convertArrayNull(arr[11]);
jsonTemp.EndDate = convertArrayNull(arr[12]);
jsonTemp.PinyinSearchCode = "";
jsonTemp.Instructions = arr[11];
jsonTemp.ExceptContent = "";
jsonTemp.Connotation = "";
jsonTemp.ValidFlag = 1;// convertArrayNull(arr[79]);
jsonTemp.Note = arr[21];
jsonTemp.VersionNO = arr[17];
jsonTemp.VersionName = arr[18];
jsonTemp.UseFlag = 1;
jsonTemp.DrugSafetyStandardCode = "";
jsonTemp.ApprovalNO = "";
jsonTemp.SpecialFlag = "0";
jsonTemp.LimitFlag = "";
jsonTemp.LimitRange = arr[26];
jsonTemp.UniqueRecordNO = arr[27];
jsonTemp.Manufacturers = arr[28];
return jsonTemp;
}
///
/// 从TXT文件中获取医疗机构制剂目录数据,并组装成JSON
///
///
///
private JObject GetPreparationJsonByTxt(string[] arr)
{
dynamic jsonTemp = new JObject();
jsonTemp.ID = "";
jsonTemp.updateUserID = GlobalVariables.operatorNO;
jsonTemp.HospitalDr = GlobalVariables.hospitalDr;
jsonTemp.InterfaceDr = GlobalVariables.interfaceDr_Download;
jsonTemp.Code = arr[0];
jsonTemp.Name = arr[1];
jsonTemp.HisType = "10";
jsonTemp.HisTypeName = "医疗机构制剂";
jsonTemp.LocateCode = "";
jsonTemp.LocateName = "";
jsonTemp.DosageFormCode = arr[4]; //剂型
jsonTemp.DosageFormName = arr[5]; //剂型名称
jsonTemp.CategoryCode = arr[18]; //药品类别
jsonTemp.CategoryName = arr[19]; //药品类别名称
jsonTemp.Specification = arr[10]; //规格
jsonTemp.SpecificationCode = arr[11]; //规格代码
jsonTemp.UnitOfPackag = arr[32]; //最小制剂单位
jsonTemp.UnitOfValuation = arr[29]; //最小计量单位
jsonTemp.StartDate = convertArrayNull(arr[65]);
jsonTemp.EndDate = convertArrayNull(arr[66]);
jsonTemp.PinyinSearchCode = "";
jsonTemp.Instructions = arr[25];
jsonTemp.ExceptContent = "";
jsonTemp.Connotation = "";
jsonTemp.ValidFlag = 1;// convertArrayNull(arr[79]);
jsonTemp.Note = arr[63]; //备注
jsonTemp.VersionNO = arr[70];
jsonTemp.VersionName = arr[71];
jsonTemp.UseFlag = 1;
jsonTemp.DrugSafetyStandardCode = "";
jsonTemp.ApprovalNO = arr[43]; //批准文号
jsonTemp.SpecialFlag = convertArrayNull(arr[42]);
jsonTemp.LimitFlag = arr[42]; //特殊限价药品标志
jsonTemp.LimitRange = arr[50]; //限制范围
jsonTemp.UniqueRecordNO = arr[67]; //唯一记录号
jsonTemp.Manufacturers = arr[40]; //生产厂家
return jsonTemp;
}
///
/// 肿瘤形态学
///
///
///
private JObject GetTumorMorphologyJsonByTxt(string[] arr)
{
dynamic jsonTemp = new JObject();
jsonTemp.updateUserID = GlobalVariables.operatorNO;
jsonTemp.ID = "";
jsonTemp.HospitalDr = GlobalVariables.hospitalDr;
jsonTemp.InterfaceDr = GlobalVariables.interfaceDr_Download;
jsonTemp.Code = arr[6]; //唯一记录号
jsonTemp.Name = arr[0]; //肿瘤形态学ID
jsonTemp.HisType = "11";
jsonTemp.HisTypeName = "肿瘤形态学";
jsonTemp.Connotation = arr[1]; //肿瘤/细胞类型代码
jsonTemp.DosageFormCode = arr[3]; //形态学分类代码
jsonTemp.DosageFormName = arr[4]; //形态学分类
jsonTemp.CategoryCode = arr[7]; //数据创建时间
jsonTemp.CategoryName = arr[8]; //数据更新时间
//jsonTemp.PinyinSearchCode = SpellCodeHelper.GetFirstPYLetter(arr[11]);
jsonTemp.ValidFlag = arr[5]; //有效标志
jsonTemp.Note = ""; //
jsonTemp.VersionNO = arr[9]; //版本号
jsonTemp.VersionName = arr[10]; //版本号名称
jsonTemp.UseFlag = 1;
jsonTemp.UniqueRecordNO = arr[6]; //唯一记录号
return jsonTemp;
}
///
/// 从TXT文件中获取中医疾病数据,并组装成JSON
///
///
///
private JObject GetChineseDiagnoseJsonByTxt(string[] arr)
{
dynamic jsonTemp = new JObject();
jsonTemp.updateUserID = GlobalVariables.operatorNO;
jsonTemp.ID = "";
jsonTemp.HospitalDr = GlobalVariables.hospitalDr;
jsonTemp.InterfaceDr = GlobalVariables.interfaceDr_Download;
jsonTemp.Code = arr[0]; //中医疾病诊断ID
jsonTemp.Name = arr[6]; //疾病分类名称
jsonTemp.HisType = "12";
jsonTemp.HisTypeName = "中医疾病";
jsonTemp.LocateCode = arr[1]; //科别类目代码
jsonTemp.LocateName = arr[2]; //科别类目名称
jsonTemp.DosageFormCode = arr[3]; //专科系统分类目代码
jsonTemp.DosageFormName = arr[4]; //专科系统分类目名称
jsonTemp.CategoryCode = arr[5]; //疾病分类代码
jsonTemp.CategoryName = arr[6]; //疾病分类名称
jsonTemp.Specification = "";
jsonTemp.SpecificationCode = "";
jsonTemp.UnitOfPackag = "";
jsonTemp.UnitOfValuation = "";
jsonTemp.StartDate = "";
jsonTemp.EndDate = "";
//jsonTemp.PinyinSearchCode = SpellCodeHelper.GetFirstPYLetter(arr[11]);
jsonTemp.Instructions = "";
jsonTemp.ExceptContent = "";
jsonTemp.Connotation = "";
jsonTemp.ValidFlag = arr[8]; //有效标志
jsonTemp.Note = arr[7]; //备注
jsonTemp.VersionNO = arr[12]; //版本号
jsonTemp.VersionName = arr[13]; //版本名称
jsonTemp.UseFlag = 1;
jsonTemp.DrugSafetyStandardCode = "";
jsonTemp.ApprovalNO = "";
jsonTemp.SpecialFlag = "";
jsonTemp.LimitFlag = "";
jsonTemp.LimitRange = "";
jsonTemp.UniqueRecordNO = arr[9]; //唯一记录号
jsonTemp.Manufacturers = "";
return jsonTemp;
}
///
/// 从TXT文件中获取中医证候数据,并组装成JSON
///
///
///
private JObject GetTCMSyndromeJsonByTxt(string[] arr)
{
dynamic jsonTemp = new JObject();
jsonTemp.updateUserID = GlobalVariables.operatorNO;
jsonTemp.ID = "";
jsonTemp.HospitalDr = GlobalVariables.hospitalDr;
jsonTemp.InterfaceDr = GlobalVariables.interfaceDr_Download;
jsonTemp.Code = arr[0]; //中医证候ID
jsonTemp.Name = arr[2]; //证候类目名称
jsonTemp.HisType = "13";
jsonTemp.HisTypeName = "中医证候";
jsonTemp.LocateCode = arr[1]; //证候类目代码
jsonTemp.LocateName = arr[2]; //证候类目名称
jsonTemp.DosageFormCode = arr[3]; //证候属性代码
jsonTemp.DosageFormName = arr[4]; //证候属性
jsonTemp.CategoryCode = arr[5]; //证候分类代码
jsonTemp.CategoryName = arr[6]; //证候分类名称
jsonTemp.Specification = "";
jsonTemp.SpecificationCode = "";
jsonTemp.UnitOfPackag = "";
jsonTemp.UnitOfValuation = "";
jsonTemp.StartDate = "";
jsonTemp.EndDate = "";
//jsonTemp.PinyinSearchCode = SpellCodeHelper.GetFirstPYLetter(arr[11]);
jsonTemp.Instructions = "";
jsonTemp.ExceptContent = "";
jsonTemp.Connotation = "";
jsonTemp.ValidFlag = arr[8]; //有效标志
jsonTemp.Note = arr[7]; //备注
jsonTemp.VersionNO = arr[12]; //版本号
jsonTemp.VersionName = arr[13]; //版本名称
jsonTemp.UseFlag = 1;
jsonTemp.DrugSafetyStandardCode = "";
jsonTemp.ApprovalNO = "";
jsonTemp.SpecialFlag = "";
jsonTemp.LimitFlag = "";
jsonTemp.LimitRange = "";
jsonTemp.UniqueRecordNO = arr[9]; //唯一记录号
jsonTemp.Manufacturers = "";
return jsonTemp;
}
///
/// 提交数据给IRIS
///
///
///
///
private JObject applyDataToIris(string code, JArray jaParam)
{
JObject joIn = new JObject();
JObject joRtn = new JObject();
string outParam = "";
try
{
joIn.Add(new JProperty("params", jaParam));
joIn.Add("code", code);
joIn.Add("updateUserID", GlobalVariables.operatorNO);
InvokeHelper invoker = new InvokeHelper();
string sInput = joIn.ToString();
joRtn = invoker.invokeInsuService(sInput, "applyDataToIris");
outParam = joRtn.ToString();
return joRtn;
}
catch (Exception ex)
{
joRtn = JsonHelper.getIrisExceptionJson(-1, "applyDataToIris", ex.Message);
outParam = joRtn.ToString();
return joRtn;
}
}
///
/// 将Json格式数据提交存储到IRIS
///
///
///
public JObject importDataToIrisByJson(string sInput,string Code)
{
string errorMsg = "";
try
{
//循环调用IRIS接口进行数据插入
//JObject obj = (JObject)JsonConvert.DeserializeObject(sOutpar);
JObject obj = Newtonsoft.Json.Linq.JObject.Parse(sInput);
string RecordData = obj["body"]["output"]["medinsinfo"].ToString();
JArray array = Newtonsoft.Json.Linq.JArray.Parse(RecordData);
JArray jaParams = new JArray();
//遍历JArray数组
foreach (var ss in array)
{
dynamic jsonTemp = new JObject();
jsonTemp.updateUserID = GlobalVariables.operatorNO;
jsonTemp.ID = "";
jsonTemp.HospitalDr = GlobalVariables.hospitalDr;
jsonTemp.InterfaceDr = GlobalVariables.interfaceDr_Download;
jsonTemp.Code = ss["fixmedins_code"].ToString();
jsonTemp.Descripts = ss["fixmedins_name"].ToString();
jsonTemp.OrganizationCode = GlobalVariables.hospitalID;
jsonTemp.HospTypeDr = ss["fixmedins_type"].ToString();
jsonTemp.HospGradeDr = ss["hosp_lv"].ToString();
jsonTemp.HospNatureDr = "MedInsu";
jsonTemp.Businesslicense = "";
jsonTemp.Active = "Y";
jaParams.Add(jsonTemp);
DataImoport DataImp = new DataImoport();
JObject joRtn = applyDataToIris(Code, jaParams);
if (joRtn["errorCode"].ToString() != "0")
{
errorMsg = joRtn["errorMessage"].ToString();
return JsonHelper.getIrisExceptionJson(-1, "importDataToIrisByJson", errorMsg);
}
}
return JsonHelper.getIrisReturnJson(0, errorMsg, new JObject());
}
catch (Exception ex)
{
return JsonHelper.getIrisExceptionJson(-1, "importDataToIrisByJson", ex.Message);
}
}
///
/// 从TXT里导数据到IRIS
///
///
///
///
///
///
public JObject importDataToIrisByJson(string sJson, int size, int direcType, Sunny.UI.UIProcessBar processBar)
{
int errorCount = 0;
string errorMsg = "";
try
{
return JsonHelper.getIrisReturnJson(0 - errorCount, errorMsg, new JObject());
}
catch (Exception ex)
{
return JsonHelper.getIrisExceptionJson(-1, "importDataToIrisByJson", ex.Message);
}
}
///
/// 从TXT里导数据到IRIS
///
///
///
///
///
///
public JObject importDataToIrisByTxt(string txtPath, int size, int direcType, Sunny.UI.UIProcessBar processBar)
{
int errorCount = 0;
string errorMsg = "";
try
{
/*据说速度更快
* https://www.cnblogs.com/eniac12/p/4398310.html
* using (StreamReader sr = File.OpenText(fileName))
{
string s = String.Empty;
while ((s = sr.ReadLine()) != null)
{
//do what you have to here
}
}
Convert.ToString(a)
*/
string[] lines = System.IO.File.ReadAllLines(txtPath);
dynamic jaParams = new JArray();
int rows = lines.Length;
processBar.Maximum = rows;
for (int i = 0; i < rows; i++)
{
processBar.Value = i + 1;
Application.DoEvents();
string lineTmp = lines[i];
string[] arr = lineTmp.Split('\t');
//判断是哪种目录类型
string code = string.Empty;
switch (direcType)
{
//药品
case 1:
{
jaParams.Add(GetDrugsJsonByTxt(arr));
break;
}
//诊疗
case 2:
{
jaParams.Add(GetMedicalServiceJsonByTxt(arr));
break;
}
//材料
case 3:
{
jaParams.Add(GetMaterialJsonByTxt(arr));
break;
}
//诊断
case 4:
{
jaParams.Add(GetDiagnoseJsonByTxt(arr));
break;
}
//手术
case 5:
{
jaParams.Add(GetOperationJsonByTxt(arr));
break;
}
//慢性病
case 6:
{
jaParams.Add(GetChronicDiseaseJsonByTxt(arr));
break;
}
//DRGs
case 7:
{
jaParams.Add(GetDRGsJsonByTxt(arr));
break;
}
//日间手术
case 8:
{
jaParams.Add(GetDaySurgeryJsonByTxt(arr));
break;
}
//中药饮片目录下载1
case 9:
{
jaParams.Add(GetChineseMedicineJsonByTxt(arr));
break;
}
//医药机构制剂目录下载
case 10:
{
jaParams.Add(GetPreparationJsonByTxt(arr));
break;
}
//肿瘤形态学下载
case 11:
{
jaParams.Add(GetTumorMorphologyJsonByTxt(arr));
break;
}
//中医疾病下载
case 12:
{
jaParams.Add(GetChineseDiagnoseJsonByTxt(arr));
break;
}
//中医证候下载
case 13:
{
jaParams.Add(GetTCMSyndromeJsonByTxt(arr));
break;
}
}
code = "09010035";
//每50行提交一次给后台
int currentRows = i + 1;
if ((currentRows % size == 0) && (i != 0))
{
JObject joRtn = applyDataToIris(code, jaParams);
if (joRtn["errorCode"].ToString() != "0")
{
errorCount = errorCount + 1;
errorMsg = "\r\n" +errorMsg + joRtn["errorMessage"].ToString();
}
jaParams = new JArray();
}
if ((currentRows == rows) && (currentRows % size != 0))
{
JObject joRtn = applyDataToIris(code, jaParams);
if (joRtn["errorCode"].ToString() != "0")
{
errorCount = errorCount + 1;
errorMsg = "\r\n" + errorMsg + joRtn["errorMessage"].ToString();
}
jaParams = new JArray();
}
}
return JsonHelper.getIrisReturnJson(0 - errorCount, errorMsg, new JObject());
}
catch (Exception ex)
{
return JsonHelper.getIrisExceptionJson(-1, "importDataToIrisByTxt", ex.Message);
}
}
public JObject importDictinary(Sunny.UI.UIProcessBar uiProcessBar,JArray jaList)
{
int errorCount = 0;
string errorMsg = "",outParam = "";
JObject joReturn = new JObject();
try
{
JArray jaParams = new JArray();
int rows = jaList.Count ;
uiProcessBar.Maximum = rows;
for (int i = 0; i < jaList.Count ; i++)
{
uiProcessBar.Value = i + 1;
dynamic joTmp = new JObject();
joTmp.ID = "";
joTmp.updateUserID = GlobalVariables.operatorNO;
joTmp.HospitalDr = GlobalVariables.hospitalDr;
joTmp.InterfaceDr = GlobalVariables.interfaceDr_Download;
joTmp.Type = jaList[i]["type"].ToString();
joTmp.Code = jaList[i]["value"].ToString();
joTmp.Name = jaList[i]["label"].ToString();
joTmp.Description = jaList[i]["parent_value"].ToString();
joTmp.PinyinSearchCode = "";
joTmp.ValiFlag = jaList[i]["vali_flag"].ToString();
joTmp.UseFlag = 1;
jaParams.Add(joTmp);
//每50行提交一次给后台
int currentRows = i + 1;
string code = "09010011";
if ((currentRows % 50 == 0) && (i != 0))
{
JObject joRtn = applyDataToIris(code, jaParams);
if (joRtn["errorCode"].ToString() != "0")
{
errorCount = errorCount + 1;
errorMsg = "\r\n" + errorMsg + joRtn["errorMessage"].ToString();
}
jaParams = new JArray();
}
if ((currentRows == rows) && (currentRows % 50 != 0))
{
JObject joRtn = applyDataToIris(code, jaParams);
if (joRtn["errorCode"].ToString() != "0")
{
errorCount = errorCount + 1;
errorMsg = "\r\n" + errorMsg + joRtn["errorMessage"].ToString();
}
jaParams = new JArray();
}
}
joReturn = JsonHelper.getIrisReturnJson(0 - errorCount, errorMsg, new JObject());
outParam = joReturn.ToString();
return joReturn;
}
catch (Exception ex)
{
joReturn = JsonHelper.getIrisExceptionJson(-1, "importDictinary", ex.Message);
outParam = joReturn.ToString();
return joReturn;
}
finally
{
GlobalVariables.writeLog("importDictinary", jaList.ToString(),outParam);
}
}
}
}