123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538 |
- using Newtonsoft.Json.Linq;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace DirectoryDownload
- {
- //该类主要将下载业务封装起来
- class Business
- {
- private JObject importDrugByTxt(string[] arr)
- {
- dynamic jsonTemp = new JObject();
- jsonTemp.ID = "";
- jsonTemp.HospitalID = GlobalVariables.hospitalNO;
- jsonTemp.InterfaceID = GlobalVariables.InterfaceID;
- jsonTemp.Code = arr[0];
- jsonTemp.Name = arr[1];
- jsonTemp.ChinaApprovedDrugCode = arr[2];
- jsonTemp.ChinaApprovedDrugName = arr[3];
- jsonTemp.ChemicalName = arr[4];
- jsonTemp.Alias = arr[5];
- jsonTemp.EnglishName = arr[6];
- jsonTemp.RegisteredName = arr[7];
- jsonTemp.DrugSafetyStandardCode = arr[8];
- jsonTemp.DosageForm = arr[9];
- jsonTemp.DosageFormName = arr[10];
- jsonTemp.DrugCategory = arr[11];
- jsonTemp.DrugCategoryName = arr[12];
- jsonTemp.Specification = arr[13];
- jsonTemp.SpecificationCode = arr[14];
- jsonTemp.RegistrationDosageForm = arr[15];
- jsonTemp.RegisteredSpecification = arr[16];
- jsonTemp.RegisteredSpecificationCode = arr[17];
- jsonTemp.OnceDosage = arr[18];
- jsonTemp.Frequency = arr[19];
- jsonTemp.Acidradicalbase = arr[20];
- jsonTemp.NationalDrugCode = arr[21];
- jsonTemp.Usage = arr[22];
- jsonTemp.ChinesePatentDrugSign = arr[23];
- jsonTemp.ProducerCategory = arr[24];
- jsonTemp.ProducerCategoryName = arr[25];
- jsonTemp.UnitType = arr[26];
- jsonTemp.OverTheCounterFlag = arr[27];
- jsonTemp.OverTheCounterName = arr[28];
- jsonTemp.PackingMaterial = arr[29];
- jsonTemp.PackingMaterialName = arr[30];
- jsonTemp.PackingSpecification = arr[31];
- jsonTemp.NumberofPackages = arr[32];
- jsonTemp.MainIdications = arr[33];
- jsonTemp.Route = arr[34];
- jsonTemp.Instruction = arr[35];
- jsonTemp.StartDate = arr[36];
- jsonTemp.EndDate = arr[37];
- jsonTemp.SmallestUnitUsing = arr[38];
- jsonTemp.SmallestUnitOfSales = arr[39];
- jsonTemp.SmallestUnitOfMeasurement = arr[40];
- jsonTemp.MinimumNumberOfPackages = arr[41];
- jsonTemp.SmalleStunitOfPackaging = arr[42];
- jsonTemp.SmallestUnitOfPreparation = arr[43];
- jsonTemp.SmallestPackingUnitName = arr[44];
- jsonTemp.MinimumPreparationUnitName = arr[45];
- jsonTemp.ConversionRatio = arr[46];
- jsonTemp.ExpirationDate = arr[47];
- jsonTemp.SmallestUnitOfValuation = arr[48];
- jsonTemp.WubiSearchCode = arr[49];
- jsonTemp.PinyinSearchCode = arr[50];
- jsonTemp.PointsPackingFactory = arr[51];
- jsonTemp.ProductionEnterpriseNO = arr[52];
- jsonTemp.ProductionentErpriseName = arr[53];
- jsonTemp.SpecialLimitedPriceDrugSign = arr[54];
- jsonTemp.SpecialDrugSign = arr[55];
- jsonTemp.LimitRange = arr[56];
- jsonTemp.LimitSign = arr[57];
- jsonTemp.DrugRegistrationNO = arr[58];
- jsonTemp.DrugRegistrationNOStartDate = arr[59];
- jsonTemp.DrugRegistrationNOEndDate = arr[60];
- jsonTemp.ApprovalNO = arr[61];
- jsonTemp.ApprovalNOStartDate = arr[62];
- jsonTemp.ApprovalNOStartDateEndDate = arr[63];
- jsonTemp.MarketState = arr[64];
- jsonTemp.MarketStateName = arr[65];
- jsonTemp.RegCertArchive = arr[66];
- jsonTemp.ApprovalCertArchive = arr[67];
- jsonTemp.Nationalhealthcaremedicinedirectoryremark = arr[68];
- jsonTemp.BasicDrugLabel = arr[69];
- jsonTemp.EssentialDrugsLogo = arr[70];
- jsonTemp.VATDrugSign = arr[71];
- jsonTemp.VATDRugName = arr[72];
- jsonTemp.Thelisteddrugsdirectorysetdrugs = arr[73];
- jsonTemp.NegotiationsDrugFlag = arr[74];
- jsonTemp.NegotiationsDrugName = arr[75];
- jsonTemp.HealthCommitteeDrugCode = arr[76];
- jsonTemp.Note = arr[77];
- jsonTemp.ValiadFlag = arr[78];
- jsonTemp.OnlyRecordNO = arr[79];
- jsonTemp.DataCreatTime = arr[80];
- jsonTemp.DataUpdateTime = arr[81];
- jsonTemp.VersionNO = arr[82];
- jsonTemp.VersionName = arr[83];
- jsonTemp.ChildrenDrugs = arr[84];
- jsonTemp.Company = arr[85];
- jsonTemp.ConsistencyEvaluation = arr[86];
- jsonTemp.SaleEnterprise = arr[87];
- jsonTemp.EnterpriseContacts = arr[88];
- jsonTemp.EnterpriseAuthElecArch = arr[89];
- jsonTemp.NationalMedDosageForm = arr[90];
- jsonTemp.ClassABSign = arr[91];
- jsonTemp.Type = "DrugDirectory";
- jsonTemp.UseFlag = "1";
- //jsonTemp.XH = i.ToString();
- return jsonTemp;
- }
- private JObject imoportMedicalServicesByTxt(string[] arr)
- {
- dynamic jsonTemp = new JObject();
- jsonTemp.ID = "";
- jsonTemp.HospitalID = GlobalVariables.hospitalNO;
- jsonTemp.InterfaceID = GlobalVariables.InterfaceID;
- jsonTemp.Code = arr[0];
- jsonTemp.ChargeUnit = arr[1];
- jsonTemp.ChargeUnitName = arr[2];
- jsonTemp.Instructions = arr[3];
- jsonTemp.ExceptContent = arr[4];
- jsonTemp.Connotation = arr[5];
- jsonTemp.ValidFlag = arr[6];
- jsonTemp.Note = arr[7];
- jsonTemp.ServiceCategory = arr[8];
- jsonTemp.Name = arr[9];
- jsonTemp.Description = arr[10];
- jsonTemp.StartDate = arr[11];
- jsonTemp.EndDate = arr[12];
- jsonTemp.OnlyRecordNO = arr[13];
- jsonTemp.VersionNO = arr[14];
- jsonTemp.VersionName = arr[15];
- jsonTemp.UseFlag = arr[16];
- jsonTemp.Type = "MedicalServicesDirectory";
- jsonTemp.UseFlag = "1";
- return jsonTemp;
- }
- private JObject importMaterialByTxt(string[] arr)
- {
- dynamic jsonTemp = new JObject();
- jsonTemp.ID = "";
- jsonTemp.HospitalID = "66";
- jsonTemp.InterfaceID = "CD02";
- jsonTemp.Code = arr[0];
- jsonTemp.Name = arr[1];
- jsonTemp.OnlyIdentificationCode = arr[2];
- jsonTemp.ChinaApprovedDrugCode = arr[3];
- jsonTemp.ChinaApprovedDrugName = arr[4];
- jsonTemp.ProductModel = arr[5];
- jsonTemp.SpecificationCode = arr[6];
- jsonTemp.Specification = arr[7];
- jsonTemp.Classification = arr[8];
- jsonTemp.SpecificationsModel = arr[9];
- jsonTemp.MaterialQualityCode = arr[10];
- jsonTemp.MaterialQuality = arr[11];
- jsonTemp.PackingSpecification = arr[12];
- jsonTemp.NumberOfPackage = arr[13];
- jsonTemp.PackMaterialQuality = arr[14];
- jsonTemp.PackingUnit = arr[15];
- jsonTemp.ConversionRatio = arr[16];
- jsonTemp.SmallestUnitUsing = arr[17];
- jsonTemp.ProducerCategory = arr[18];
- jsonTemp.ProducerCategoryname = arr[19];
- jsonTemp.ProductStandards = arr[20];
- jsonTemp.ExpirationDate = arr[21];
- jsonTemp.PerformanceStructureAndComposition = arr[22];
- jsonTemp.UseRange = arr[23];
- jsonTemp.ProductUseMethod = arr[24];
- jsonTemp.ProductPicturesNO = arr[25];
- jsonTemp.ProductQualityStandard = arr[26];
- jsonTemp.Instructions = arr[27];
- jsonTemp.OtherDocuments = arr[28];
- jsonTemp.SpecialMachineUseSign = arr[29];
- jsonTemp.SpecialMachineName = arr[30];
- jsonTemp.GroupName = arr[31];
- jsonTemp.MachineMark = arr[32];
- jsonTemp.LimitSign = arr[33];
- jsonTemp.LimitedInscope = arr[34];
- jsonTemp.SmallestUnitOfSales = arr[35];
- jsonTemp.HighValueSign = arr[36];
- jsonTemp.MedClassificationCode = arr[37];
- jsonTemp.ImplantMaterialsAndInhumaNorgansSign = arr[38];
- jsonTemp.SterilizationSign = arr[39];
- jsonTemp.SterilizationLabel = arr[40];
- jsonTemp.ImplantedOrInvolvementSign = arr[41];
- jsonTemp.ImplantedOrInvolvementName = arr[42];
- jsonTemp.DisposableUseSign = arr[43];
- jsonTemp.DisposableUseSignName = arr[44];
- jsonTemp.RegisteredName = arr[45];
- jsonTemp.StartDate = arr[46];
- jsonTemp.EndDate = arr[47];
- jsonTemp.ManagementCategory = arr[48];
- jsonTemp.ManagementCategoryName = arr[49];
- jsonTemp.RegistrationNO = arr[50];
- jsonTemp.RegistrationName = arr[51];
- jsonTemp.StructureAndComposition = arr[52];
- jsonTemp.OtherContent = arr[53];
- jsonTemp.ApprovalDate = arr[54];
- jsonTemp.RegisterAddress = arr[55];
- jsonTemp.RegistStartTime = arr[56];
- jsonTemp.RegistEndTime = arr[57];
- jsonTemp.ProductionEnterpriseNO = arr[58];
- jsonTemp.ProductionEnterpriseName = arr[59];
- jsonTemp.ProductionAddress = arr[60];
- jsonTemp.AgententErprise = arr[61];
- jsonTemp.AgententErpriseAddress = arr[62];
- jsonTemp.ProducerorRegion = arr[63];
- jsonTemp.AfterSalesServiceAgencies = arr[64];
- jsonTemp.RegistrationCertArchives = arr[65];
- jsonTemp.ProductImage = arr[66];
- jsonTemp.ValidFlga = arr[67];
- jsonTemp.OnlyRecordNO = arr[68];
- jsonTemp.VersionNO = arr[69];
- jsonTemp.VersionName = arr[70];
- jsonTemp.UseFlag = arr[71];
- jsonTemp.Type = "MaterialDirectory";
- jsonTemp.UseFlag = "1";
- return jsonTemp;
- }
- private JObject importDiagnoseByTxt(string[] arr)
- {
- dynamic jsonTemp = new JObject();
- jsonTemp.ID = "";
- jsonTemp.HospitalID = GlobalVariables.hospitalNO;
- jsonTemp.InterfaceID = GlobalVariables.InterfaceID;
- jsonTemp.Code = arr[0];
- jsonTemp.Chapter = arr[1];
- jsonTemp.ChapterRange = arr[2];
- jsonTemp.ChapterName = arr[3];
- jsonTemp.SectionRange = arr[4];
- jsonTemp.SectionName = arr[5];
- jsonTemp.CategoryCode = arr[6];
- jsonTemp.CategoryName = arr[7];
- jsonTemp.SuborderCode = arr[8];
- jsonTemp.SuborderName = arr[9];
- jsonTemp.Diagnosticcode = arr[10];
- jsonTemp.Name = arr[12];
- jsonTemp.UseTag = arr[13];
- jsonTemp.NationalStandardCode = arr[14];
- jsonTemp.NationalStandardName = arr[15];
- jsonTemp.ClinicalCode = arr[16];
- jsonTemp.ClinicalName = arr[17];
- jsonTemp.Note = arr[18];
- jsonTemp.ValiadFlag = arr[19];
- jsonTemp.OnlyRecordNO = arr[20];
- jsonTemp.DataCreatTime = arr[21];
- jsonTemp.DataUpdateTime = arr[22];
- jsonTemp.VersionNO = arr[23];
- jsonTemp.VersionName = arr[24];
- jsonTemp.Type = "Diagnose";
- jsonTemp.UseFlag = "1";
- return jsonTemp;
- }
- private JObject importOperationByTxt(string[] arr)
- {
- dynamic jsonTemp = new JObject();
- jsonTemp.ID = "";
- jsonTemp.HospitalID = GlobalVariables.hospitalNO;
- jsonTemp.InterfaceID = GlobalVariables.InterfaceID;
- jsonTemp.Code = arr[0];
- jsonTemp.Chapter = arr[1];
- jsonTemp.ChapterRange = arr[2];
- jsonTemp.ChapterName = arr[3];
- jsonTemp.CategoryCode = arr[4];
- jsonTemp.CategoryName = arr[5];
- jsonTemp.SuborderCode = arr[6];
- jsonTemp.SuborderName = arr[7];
- jsonTemp.Diagnosticcode = arr[8];
- jsonTemp.SuborderName = arr[9];
- jsonTemp.Diagnosticcode = arr[10];
- jsonTemp.Name = arr[11];
- jsonTemp.UseTag = arr[12];
- jsonTemp.NationalStandardCode = arr[13];
- jsonTemp.NationalStandardName = arr[14];
- jsonTemp.ClinicalCode = arr[15];
- jsonTemp.ClinicalName = arr[16];
- jsonTemp.Note = arr[17];
- jsonTemp.ValiadFlag = arr[18];
- jsonTemp.OnlyRecordNO = arr[19];
- jsonTemp.DataCreatTime = arr[20];
- jsonTemp.DataUpdateTime = arr[21];
- jsonTemp.VersionNO = arr[22];
- jsonTemp.VersionName = arr[23];
- jsonTemp.Type = "Operation";
- jsonTemp.UseFlag = "1";
- return jsonTemp;
- }
- private JObject importDaySurgeryByTxt(string[] arr)
- {
- dynamic jsonTemp = new JObject();
- jsonTemp.ID = "";
- jsonTemp.HospitalID = GlobalVariables.hospitalNO;
- jsonTemp.InterfaceID = GlobalVariables.InterfaceID;
- jsonTemp.Code = arr[0];
- jsonTemp.CategoryCode = arr[1];
- jsonTemp.CategoryName = arr[2];
- jsonTemp.Note = arr[9];
- jsonTemp.UseTag = arr[3];
- jsonTemp.OnlyRecordNO = arr[4];
- jsonTemp.DataCreatTime = arr[5];
- jsonTemp.DataUpdateTime = arr[6];
- jsonTemp.VersionNO = arr[7];
- jsonTemp.Content = arr[8];
- jsonTemp.VersionName = arr[10];
- jsonTemp.NationalStandardCode = arr[13];
- jsonTemp.NationalStandardName = arr[14];
- jsonTemp.Type = "DaySurgery";
- jsonTemp.UseFlag = "1";
- return jsonTemp;
- }
- private JObject importChronicDiseaseByTxt(string[] arr)
- {
- dynamic jsonTemp = new JObject();
- jsonTemp.ID = "";
- jsonTemp.HospitalID = GlobalVariables.hospitalNO;
- jsonTemp.InterfaceID = GlobalVariables.InterfaceID;
- jsonTemp.Code = arr[0];
- jsonTemp.Chapter = arr[3];
- jsonTemp.CategoryName = arr[1];
- jsonTemp.SuborderName = arr[2];
- jsonTemp.Note = arr[4];
- jsonTemp.UseTag = arr[5];
- jsonTemp.OnlyRecordNO = arr[6];
- jsonTemp.DataCreatTime = arr[7];
- jsonTemp.DataUpdateTime = arr[8];
- jsonTemp.VersionNO = arr[9];
- jsonTemp.Content = arr[10];
- jsonTemp.VersionName = arr[11];
- jsonTemp.NationalStandardCode = arr[14];
- jsonTemp.NationalStandardName = arr[15];
- jsonTemp.Type = "ChronicDisease";
- jsonTemp.UseFlag = "1";
- return jsonTemp;
- }
- private JObject importDRGsByTxt(string[] arr)
- {
- dynamic jsonTemp = new JObject();
- jsonTemp.ID = "";
- jsonTemp.HospitalID = GlobalVariables.hospitalNO;
- jsonTemp.InterfaceID = GlobalVariables.InterfaceID;
- jsonTemp.Code = arr[0];
- jsonTemp.CategoryCode = arr[1];
- jsonTemp.CategoryName = arr[2];
- jsonTemp.SuborderCode = arr[3];
- jsonTemp.SuborderName = arr[4];
- jsonTemp.UseTag = arr[5];
- jsonTemp.OnlyRecordNO = arr[6];
- jsonTemp.DataCreatTime = arr[7];
- jsonTemp.DataUpdateTime = arr[8];
- jsonTemp.VersionNO = arr[9];
- jsonTemp.Content = arr[10];
- jsonTemp.Note = arr[11];
- jsonTemp.VersionName = arr[12];
- jsonTemp.Type = "DRGs";
- jsonTemp.UseFlag = "1";
- return jsonTemp;
- }
- private string applyData(string code, JArray jaParam)
- {
- JObject joIn = new JObject();
- joIn.Add(new JProperty("params", jaParam));
- joIn.Add("code", code);
- IrisServices HisREST = new IrisServices();
- string sInput = joIn.ToString();
- string sRtn = HisREST.Invoke(sInput);
-
- return sRtn;
- }
- public string importByTxt(string txtPath, int singleRows, int direcType, Sunny.UI.UIProcessBar processBar)
- {
- 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');
- DataImoport di = new DataImoport();
- //判断是哪种目录类型
- string code = string.Empty;
- switch (direcType)
- {
- //药品
- case 1:
- {
- jaParams.Add(di.GetDrugsJsonByTxt(arr));
- code = "09010008";
- break;
- }
- //诊疗
- case 2:
- {
- jaParams.Add(imoportMedicalServicesByTxt(arr));
- code = "09010009";
- break;
- }
- //材料
- case 3:
- {
- jaParams.Add(importMaterialByTxt(arr));
- code = "09010010";
- break;
- }
- //诊断
- case 4:
- {
- jaParams.Add(importDiagnoseByTxt(arr));
- code = "09010007";
- break;
- }
- //手术
- case 5:
- {
- jaParams.Add(importOperationByTxt(arr));
- code = "09010007";
- break;
- }
- //慢性病
- case 6:
- {
- jaParams.Add(importChronicDiseaseByTxt(arr));
- code = "09010007";
- break;
- }
- //DRGs
- case 7:
- {
- jaParams.Add(importDRGsByTxt(arr));
- code = "09010007";
- break;
- }
- //日间手术
- case 8:
- {
- jaParams.Add(importDaySurgeryByTxt(arr));
- code = "09010007";
- break;
- }
- }
- code = "09010035";
- //每50行提交一次给后台
- int currentRows = i + 1;
- if ((currentRows % singleRows == 0) && (i != 0))
- {
- string sRtn =applyData(code, jaParams);
- JObject joRtn = new JObject();
- joRtn = JObject.Parse(sRtn);
- if (joRtn["errorCode"].ToString() != "0")
- {
- MessageBox.Show(joRtn["errorMessage"].ToString());
- }
- jaParams = new JArray();
- }
- if ((currentRows == rows) && (currentRows % singleRows != 0))
- {
- string sRtn = applyData(code, jaParams);
- JObject joRtn = new JObject();
- joRtn = JObject.Parse(sRtn);
- if (joRtn["errorCode"].ToString() != "0")
- {
- MessageBox.Show(joRtn["errorMessage"].ToString());
- }
- jaParams = new JArray();
- }
- }
- return "";
- }
- public void importDictionaryByRtnString(string rtnStr)
- {
- JObject joRtn = JObject.Parse(rtnStr);
- JArray jsonList = new JArray();
- jsonList = (JArray)joRtn["output"]["list"];
- dynamic jaParams = new JArray();
- for (int i = 0; i < jsonList.Count; i++)
- {
- dynamic jsonTemp = new JObject();
- jsonTemp.ID = "";
- jsonTemp.HospitalID = "66";
- jsonTemp.InterfaceID = "CD02";
- jsonTemp.Type = jsonList[i]["type"].ToString();
- jsonTemp.NO = jsonList[i]["value"].ToString();
- jsonTemp.Name = jsonList[i]["label"].ToString();
- jsonTemp.PinyinSearchCode = SpellCodeHelper.GetFirstPYLetter(jsonList[i]["label"].ToString());
- jsonTemp.ValiFlag = jsonList[i]["vali_flag"].ToString();
- jsonTemp.UseFlag = "1";
- jsonTemp.XH = i.ToString();
- jaParams.Add(jsonTemp);
- string code = "09010011";
- //每10行提交一次给后台
- int currentRows = i + 1;
- if ((currentRows % 10 == 0) && (i != 0))
- {
- applyData(code, jaParams);
- jaParams = new JArray();
- }
- if ((currentRows == jsonList.Count) && (currentRows % 10 != 0))
- {
- applyData(code, jaParams);
- jaParams = new JArray();
- }
- }
- }
- }
- }
|