using ConvertLog.common; using System; using System.Data; namespace ConvertLog.thread { public class ProcessImortEnd : MainThread { static readonly log4net.ILog logger = log4net.LogManager.GetLogger(typeof(ProcessImortEnd)); public override void Process() { if (!ConfigData.loadOK) { return; } Sleep(10000); try { if (!ConfigData._ImportQueue.IsEmpty()) return; if(ConfigData._arrtotal.Count>0 & allThreadIsFree()) { foreach (var item in ConfigData._arrtotal) { string _uploadId = item.Key; List _listFile = item.Value; foreach (totalFileImportObj file in _listFile) { DataAccess.importFinishFile(file.uploadId, file.uploadDetailId, file.totalRow.ToString(), file.totalRowErr.ToString()); logger.Info("Finish File uploadDetailId " + file.uploadDetailId + " of uploadId "+ file.uploadId); } ConfigData._arrtotal.Remove(_uploadId); DataAccess.importFinishAllFile(_uploadId); logger.Info("Finish uploadId " + _uploadId); } } } catch (Exception ex) { logger.Info("ProcessImortEnd file total exeption: " + ex.ToString()); } } public static bool allThreadIsFree() { bool reuslt = false; try { foreach (var item in ConfigData.threadIsFree) { string _isFree = item.Value; if (_isFree == "0") return false; } reuslt = true; } catch (Exception) { } return reuslt; } public static void upload_off(List _data) { List> DataColumms = new List>(); var v_upload_id = new List(); var v_upload_detail_id = new List(); var v_type = new List(); var v_ticket = new List(); 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); } } }