| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- using ConvertLog.common;
- using System;
- using System.Data;
- namespace ConvertLog.thread
- {
- public class ProcessFile : MainThread
- {
- static readonly log4net.ILog logger = log4net.LogManager.GetLogger(typeof(ProcessFile));
-
- public override void Process()
- {
- if (!ConfigData.loadOK) { return; }
- Sleep(5000);
-
- try
- {
- logger.Info("start");
- DataSet ds = DataAccess.importGetFile("1");
- if (ds != null && ds.Tables[0].Rows.Count > 0)
- {
- logger.Info("have file");
- string uloadId = "-1";
- List<totalFileImportObj> _listFile = new List<totalFileImportObj>();
- try
- {
-
- foreach (DataRow dr in ds.Tables[0].Rows)
- {
- uloadId = dr["TERM_UPLOAD_ID"].ToString();
- string uloadDetailId = dr["ID"].ToString();
- string type = dr["TYPE"].ToString(); //1=blacklust,2=whitelist,3=nhan vien
- string fielId = dr["FILE_ID"].ToString();
- //bat dau doc file
- string pathFileFull = ConfigData.pathFileImport + fielId;
- logger.Info("start process file : " + pathFileFull);
- StreamReader objReader = new StreamReader(pathFileFull);
- string sLine = "";
- int totalRow = 0;
- int totalBlock = 0;
- int totalRowErr = 0;
- List<importObj> _lstObj = new List<importObj>();
- while (sLine != null)
- {
- sLine = objReader.ReadLine();
- if (sLine != null)
- {
- totalRow++;
- long n;
- bool isNumeric = long.TryParse(sLine, out n);
- if (isNumeric)
- {
- try
- {
- importObj _obj = new importObj();
- _obj.uploadId = uloadId;
- _obj.uploadDetailId = uloadDetailId;
- _obj.type = type;
- _obj.ticket = sLine;
- _lstObj.Add(_obj);
- logger.Info("Line da duoc add : " + sLine);
- }
- catch (Exception ex)
- {
- }
- }
- else
- {
- logger.Info("Loi sLine roi : "+ sLine);
- totalRowErr++;
- }
- }
- if (_lstObj.Count > 500)
- {
- //upload_off(_lstObj);
- oneImportObj _oneImport = new oneImportObj(uloadId, uloadDetailId, _lstObj);
- ConfigData._ImportQueue.Enqueue(_oneImport);
- totalBlock++;
- _lstObj = new List<importObj>();
- logger.Info("add bunk : " + pathFileFull);
- }
- }
- //upload_off(_lstObj);
- oneImportObj _oneImportEnd = new oneImportObj(uloadId, uloadDetailId, _lstObj);
- ConfigData._ImportQueue.Enqueue(_oneImportEnd);
- totalBlock++;
- logger.Info("add bunk end : " + pathFileFull);
- //ket thuc file
- totalFileImportObj _totalFile = new totalFileImportObj(uloadId,uloadDetailId,
- totalBlock.ToString(),totalRow.ToString(),totalRowErr.ToString(),"1");
- _listFile.Add(_totalFile);
- //DataAccess.importFinishFile(uloadId, uloadDetailId, totalRow.ToString(), totalRowErr.ToString());
- }
- }
- catch (Exception ex)
- {
- logger.Info("Process file exeption: " + ex.ToString());
- }
- //ket thuc het file
- ConfigData._arrtotal.Add(uloadId, _listFile);
- //DataAccess.importFinishAllFile(uloadId);
- }
- else
- {
- logger.Info("have not file");
- }
- }
- catch (Exception ex)
- {
- logger.Info("Process file total exeption: " + ex.ToString());
- }
- }
- public static void upload_off(List<importObj> _data)
- {
- List<List<string>> DataColumms = new List<List<string>>();
- var v_upload_id = new List<string>();
- var v_upload_detail_id = new List<string>();
- var v_type = new List<string>();
- var v_ticket = new List<string>();
-
- foreach (importObj _obj in _data)
- {
- v_upload_id.Add(_obj.uploadId);
- v_upload_detail_id.Add(_obj.uploadDetailId);
- v_type.Add(_obj.type);
- v_ticket.Add(_obj.ticket);
-
- }
- DataColumms.Add(v_upload_id);
- DataColumms.Add(v_upload_detail_id);
- DataColumms.Add(v_type);
- DataColumms.Add(v_ticket);
-
- DataAccess.upload_data("LUCKY_PKG.IMPORT_INSERT", DataColumms);
- }
- }
- }
|