123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- using Newtonsoft.Json.Linq;
- using PTMedicalInsurance.Helper;
- using PTMedicalInsurance.Variables;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace PTMedicalInsurance.Business
- {
- class MedDirDownloadProcess : AbstractProcess
- {
- public event EventHandler<string> VerChangeEvent;
- public override CallResult Process(JObject input)
- {
- throw new NotImplementedException();
- }
- /// <summary>
- /// 自动下载医保目录,直到最新版本(返回报错)
- /// </summary>
- /// <param name="directoryType"></param>
- /// <param name="uiProcessBar"></param>
- /// <param name="errorMessage"></param>
- /// <returns></returns>
- public int AutoDownload(int directoryType, Sunny.UI.UIProcessBar uiProcessBar, out string errorMessage)
- {
- int iResult = 0;
- errorMessage = "";
- try
- {
- while (iResult == 0)
- {
- JObject joMaxVerNO = mIS.getDirectoryMaxVersionNO(directoryType);
- string ver = joMaxVerNO["result"]["MaxVersionNO"].ToString();
- if (!string.IsNullOrEmpty(ver) && this.VerChangeEvent != null) {
- VerChangeEvent.Invoke(this, ver);
- }
- iResult = JsonHelper.parseIrisRtnValue(joMaxVerNO, out errorMessage);
- iResult = SingleDownload(ver, directoryType, uiProcessBar, out errorMessage);
- }
- return iResult;
- }
- catch (Exception ex)
- {
- errorMessage = ex.Message;
- return -1;
- }
- }
- /// <summary>
- /// 医保目录单个版本号的下载
- /// </summary>
- /// <param name="ver"></param>
- /// <param name="directoryType"></param>
- /// <param name="uiProcessBar"></param>
- /// <param name="errorMessage"></param>
- /// <returns></returns>
- public int SingleDownload(string ver, int directoryType, Sunny.UI.UIProcessBar uiProcessBar, out string errorMessage)
- {
- string txtPath = string.Empty;
- errorMessage = "";
- int iResult = -1;
- TradeEnum trade = TradeEnum.DictionaryDownload;
- switch (directoryType)
- {
- case 0://药品
- {
- trade = TradeEnum.CMDirectory; //"1301";
- break;
- }
- case 1://诊疗
- {
- trade = TradeEnum.MedicalServiceDirectory;
- break;
- }
- case 2://材料
- {
- trade = TradeEnum.MaterialDirectory;
- break;
- }
- case 3://疾病诊断
- {
- trade = TradeEnum.DiseaseDiagDirectory;
- break;
- }
- case 4://手术
- {
- trade = TradeEnum.OperationDirectory;
- break;
- }
- case 5://慢性病
- {
- trade = TradeEnum.OPSDiseaseDirectory;
- break;
- }
- case 6://DRGs
- {
- trade = TradeEnum.DRGDiseaseDirectory;
- break; ;
- }
- case 7://日间手术
- {
- trade = TradeEnum.DayOperationDiseaseDirectory;
- break;
- }
- case 8://字典表
- {
- break;
- }
- case 9://中药饮片
- {
- trade = TradeEnum.CMPiecesDirectory;
- break;
- }
- case 10://医药机构制剂
- {
- trade = TradeEnum.MedOrgSelfDrug;
- break;
- }
- }
- try
- {
- JObject joRtn = hBus.DownloadDirectory(trade, ver);
- //MessageBox.Show("往IRIS插入数据准备:" + joRtn.ToString());
- //if (JsonHelper.parseCenterRtnValue(joRtn, out errorMessage) == 0)
- if (JsonHelper.parseIrisRtnValue(joRtn, out errorMessage) == 0)
- {
- txtPath = joRtn["filePath"].ToString();
- //MessageBox.Show("获取txt数据往IRIS插入文件路径:"+ txtPath);
- DataImoport bus = new DataImoport();
- JObject joImportRtn = bus.importDataToIrisByTxt(txtPath, 50, directoryType + 1, uiProcessBar);
- //MessageBox.Show("往IRIS插入数据:" + joImportRtn.ToString());
- //if (JsonHelper.parseCenterRtnValue(joImportRtn, out errorMessage) == 0)
- if (JsonHelper.parseIrisRtnValue(joImportRtn, out errorMessage) == 0)
- {
- iResult = 0;
- }
- else
- {
- Global.writeLog(joImportRtn.ToString());
- errorMessage = "导入数据出现错误,请查看日志!";//joImportRtn["errorMessage"].ToString();
- }
- }
- return iResult;
- }
- catch (Exception ex)
- {
- errorMessage = "SingleDownload提示:" + ex.Message;
- return -1;
- }
- }
- }
- }
|