/****************************************************************************** * 文件名称: 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); } } } }