Ejemplo n.º 1
0
        private static void ConvertImageCubeToBitmap(object currentParameterObj)
        {
            ThreadParameter currentParameter = (ThreadParameter)currentParameterObj;

            // int j = currentParameter.heightMinValue;

            for (int i = currentParameter.widthMinValue; i < currentParameter.widthMaxValue; i++)
            {
                //for (j = 0; j < currentParameter.heightMaxValue - 1; j++)
                //{
                Parallel.For(0, currentParameter.heightMaxValue, j =>
                {
                    //imagebyte[i,j,0]= (byte)currentParameter.triBandImageVector[i, j, 0];
                    //imagebyte[i , j ,1] = (byte)currentParameter.triBandImageVector[i, j, 1];
                    //imagebyte[i , j ,2] = (byte)currentParameter.triBandImageVector[i, j, 2];

                    lock (currentParameter.currentTRIBandImage)
                    {
                        //if (j >= currentParameter.heightMaxValue)
                        //    continue;
                        currentParameter.currentTRIBandImage.SetPixel(i, j, Color.FromArgb(
                                                                          currentParameter.triBandImageVector[i, j, 0],
                                                                          currentParameter.triBandImageVector[i, j, 1],
                                                                          currentParameter.triBandImageVector[i, j, 2]));
                    }
                });
            }
        }
Ejemplo n.º 2
0
        public void StartApplyQueue(string qName)
        {
            ThreadParameter p = new ThreadParameter();

            p.QName = qName;
            ThreadPool.QueueUserWorkItem(new WaitCallback(ApplyQueue), p);
        }
Ejemplo n.º 3
0
        private void Execute(object paremeter)
        {
            ThreadParameter p           = paremeter as ThreadParameter;
            String          DataIndex   = p.DataIndex;
            String          invalidItem = p.InvalidItem;

            string[] cells = GetSMSCells();
            if (cells.Length == 0)
            {
                logger.Error("获取短信收件人电话失败,未设置SMSCells");
                return;
            }
            string smsContent = GetSMSContent(DataIndex, invalidItem);


            if (String.IsNullOrEmpty(smsContent))
            {
                logger.Error("获取短信内容失败,错误报告ID为:" + DataIndex);
                return;
            }
            smsContent = smsContent + "  " + DateTime.Now;
            var errorMsg = "";

            errorMsg = SMSAgent.CallRemoteService(cells, smsContent);
            RecordSMSItem(DataIndex, cells, smsContent, errorMsg);

            string smsTower = smsContent.ToUpper();

            #region 给领导发
            if (smsTower.Contains("#VALUE") ||
                smsTower.Contains("TRUE") ||
                smsTower.Contains("FALSE") ||
                smsTower.Contains("#N/A") ||
                smsTower.Contains("#REF!") ||
                smsTower.Contains("#DIV/0!") ||
                smsTower.Contains("#NUM!") ||
                smsTower.Contains("#NAME?") ||
                smsTower.Contains("#NULL!") ||
                smsTower.Contains("第一根断后伸长率的实测值为-") ||
                smsTower.Contains("第二根断后伸长率的实测值为-") ||
                smsTower.Contains("第一根屈服点的实测值为0") ||
                smsTower.Contains("第二根屈服点的实测值为0")
                )
            {
                logger.Error("内含关键词,不发送短信,DataID=" + DataIndex);
            }
            else
            {
                string[] cellsleader = GetSMSCellsLeader(DataIndex);
                if (cellsleader.Length > 0)
                {
                    errorMsg = SMSAgent.CallRemoteService(cellsleader, smsContent);
                    RecordSMSItem(DataIndex, cellsleader, smsContent, errorMsg);
                }
            }
            #endregion
            //给App推送消息
            SendAppMessage(p.LineID, DataIndex, p.TestRoomCode, p.SegmentName, p.CompanyName, p.TestRoomName, p.LineName, 1, smsContent);
        }
Ejemplo n.º 4
0
        public void StartApplyQueue(string LineID)//Guid _DataID, Guid _TestDataID
        {
            ThreadParameter p = new ThreadParameter();

            p.LineID = LineID;
            //p.DataID = _DataID;
            //p.TestDataID = _TestDataID;
            ThreadPool.QueueUserWorkItem(new WaitCallback(ApplyQueue), p);
        }
Ejemplo n.º 5
0
        private void Execute(object paremeter)
        {
            logger.Error("DataCopyHandler::Function");

            Boolean Result = false;

            ThreadParameter p          = paremeter as ThreadParameter;
            String          ModelIndex = p.ModelIndex;
            DataSet         Data       = p.Data;

            StringBuilder sql_Select = new StringBuilder();

            sql_Select.Append("Select TableName,Contents from sys_moduleview where ModuleID ='");
            sql_Select.Append(ModelIndex);
            sql_Select.Append("' and Description='报告日期'");

            DataTable Table = GetDataTable(sql_Select.ToString());

            if (Table != null && Table.Rows.Count > 0)
            {
                DataRow Row = Table.Rows[0];

                String TableName = Row["TableName"].ToString();
                String FieldName = Row["Contents"].ToString();

                DataTable TempData   = Data.Tables[string.Format("[{0}]", TableName)];
                String    DataID     = TempData.Rows[0]["ID"].ToString();
                object    ReportDate = TempData.Rows[0][FieldName].ToString();

                try
                {
                    StringBuilder sql_Update = new StringBuilder();
                    sql_Update.Append("Update ");
                    sql_Update.Append(string.Format("[biz_norm_extent_{0}]", ModelIndex));
                    sql_Update.Append(" set BGRQ='");
                    sql_Update.Append(ReportDate);
                    sql_Update.Append("' where ID='");
                    sql_Update.Append(DataID);
                    sql_Update.Append("'");

                    object r = ExcuteCommand(sql_Update.ToString());
                    Result = (Convert.ToInt32(r) == 1);
                }
                catch (Exception ex)
                {
                    logger.Error("DataCopyHandler::Function出错,原因是" + ex.Message);
                }

                String Msg = (Result? "复制报告日期成功。":"复制报告日期失败");
                logger.Error("DataCopyHandler::Function消息:" + Msg);
            }
            else
            {
                logger.Error(string.Format("模板ID‘{0}’在 sys_moduleview 中未找到“报告日期”显示项。", ModelIndex));
            }
        }
Ejemplo n.º 6
0
        public void CreateRalationFiles(FpSpread fpSpread, Guid documentID, Int32 reportIndex, string docDateDir)
        {
            ThreadParameter p = new ThreadParameter();

            p.fpSpread    = fpSpread;
            p.documentID  = documentID;
            p.reportIndex = reportIndex;
            p.docDateDir  = docDateDir;
            ThreadPool.QueueUserWorkItem(new WaitCallback(Execute), p);
        }
Ejemplo n.º 7
0
        private ThreadResult CleanVisibleModelsList(ThreadParameter parameter)
        {
            List <ModelController> visibleModels = parameter.Argument <List <ModelController> >(0);

            if (visibleModels != null)
            {
                visibleModels.Clear();
            }
            return(null);
        }
Ejemplo n.º 8
0
        public void InitStadium(String ModelIndex, DataSet dataset)
        {
            ThreadParameter p = new ThreadParameter();

            p.Data       = dataset;
            p.ModelIndex = ModelIndex;
            ApplicationContext context = ApplicationContext.Current;

            p.UserName = context.UserName;
            ThreadPool.QueueUserWorkItem(new WaitCallback(Execute), p);
        }
Ejemplo n.º 9
0
        private void RegesterClient(object paremeter)
        {
            ThreadParameter tp     = paremeter as ThreadParameter;
            var             client = new MessageClient();

            client.ReceiveMessage = OnReceiveMessage;
            InstanceContext instanceContext = new InstanceContext(client);
            NetTcpBinding   ntb             = new NetTcpBinding(SecurityMode.None);

            channelFactory = new DuplexChannelFactory <IMessageService>(
                instanceContext, ntb, "net.tcp://nsmsg.kingrocket.com:9999/KingrocketMessageService/");
            //instanceContext, ntb, "net.tcp://115.29.206.137:9999/KingrocketMessageService/");//115.29.206.137

            svc = channelFactory.CreateChannel();
            try
            {
                using (var scope = new OperationContextScope(svc as IContextChannel))
                {
                    var myNamespace = "http://nsmsg.kingrocket.com";
                    // 注意Header的名字中不能出现空格,因为要作为Xml节点名。
                    var MHLineID       = MessageHeader.CreateHeader("LineID", myNamespace, tp.LineID);
                    var MHUserName     = MessageHeader.CreateHeader("UserName", myNamespace, tp.UserName);
                    var MHLineName     = MessageHeader.CreateHeader("LineName", myNamespace, tp.LineName);
                    var MHTestRoomCode = MessageHeader.CreateHeader("TestRoomCode", myNamespace, tp.TestRoomCode);
                    var MHSegmentName  = MessageHeader.CreateHeader("SegmentName", myNamespace, tp.SegmentName);
                    var MHCompanyName  = MessageHeader.CreateHeader("CompanyName", myNamespace, tp.CompanyName);
                    var MHTestRoomName = MessageHeader.CreateHeader("TestRoomName", myNamespace, tp.TestRoomName);
                    OperationContext.Current.OutgoingMessageHeaders.Add(MHLineID);
                    OperationContext.Current.OutgoingMessageHeaders.Add(MHUserName);
                    OperationContext.Current.OutgoingMessageHeaders.Add(MHLineName);
                    OperationContext.Current.OutgoingMessageHeaders.Add(MHTestRoomCode);
                    OperationContext.Current.OutgoingMessageHeaders.Add(MHSegmentName);
                    OperationContext.Current.OutgoingMessageHeaders.Add(MHCompanyName);
                    OperationContext.Current.OutgoingMessageHeaders.Add(MHTestRoomName);

                    svc.RegisterClient();
                    timer = new System.Threading.Timer(p =>
                    {
                        try
                        {
                            svc.Ping();
                        }
                        catch (Exception exx)
                        {
                            logger.Error("timer error:" + exx.Message);
                        }
                    }, null, 1000 * 60 * 5, 1000 * 60 * 5);
                }
            }
            catch (Exception ex)
            {
                logger.Error("ClientHelper error:" + ex.Message);
            }
        }
Ejemplo n.º 10
0
        private void ApplyQueue(object paremeter)
        {
            ThreadParameter p       = paremeter as ThreadParameter;
            var             factory = new ConnectionFactory()
            {
                HostName = "localhost"
            };

            using (var connection = factory.CreateConnection(999999))
            {
                using (var channel = connection.CreateModel())
                {
                    QueueingBasicConsumer consumer = null;

                    var queue_name = channel.QueueDeclare(p.LineID, true, false, false, null);//持久化队列

                    if (queue_name.ConsumerCount > 0)
                    {
                        return;
                    }
                    consumer = new QueueingBasicConsumer(channel);
                    channel.BasicConsume(p.LineID, false, consumer);

                    //channel.BasicQos(0, 1, false);
                    Boolean hasNext = true;
                    while (hasNext)
                    {
                        byte[] body              = null;
                        var    message           = "";
                        BasicDeliverEventArgs ea = null;
                        try
                        {
                            //Thread.Sleep(3000);
                            consumer.Queue.Dequeue(3000, out ea);
                            if (ea != null)
                            {
                                body    = ea.Body;
                                message = Encoding.UTF8.GetString(body);
                                string[] ss = message.Split(',');
                                if (ss.Length == 2)
                                {
                                    DealCaiJi(new Guid(ss[0]), new Guid(ss[1]));
                                }
                                channel.BasicAck(ea.DeliveryTag, false);
                            }
                        }
                        catch (Exception ex)
                        {
                            logger.Error(string.Format("【{0}】RabbitMQ ApplyQueue message:{1} error:{2}", p.LineID, message, ex.ToString()));
                        }
                    }
                }
            }
        }
Ejemplo n.º 11
0
        private void Execute(object paremeter)
        {
            ThreadParameter p             = paremeter as ThreadParameter;
            JZDocument      document      = p.document;
            Sys_Module      module        = p.module;
            String          invalidString = "";

            if (module != null)
            {
                if (module.QualifySettings != null && module.QualifySettings.Count > 0)
                {
                    foreach (QualifySetting qs in module.QualifySettings)
                    {
                        Object obj = JZCommonHelper.GetCellValue(document, qs.SheetID, qs.CellName);
                        if (obj != null && obj.ToString() != "")
                        {
                            invalidString = obj.ToString().Trim(' ', '\r', '\n');
                            break;
                        }
                    }
                }
            }
            if (invalidString != "")
            {
                try
                {
                    String[] arr = invalidString.Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                    if (arr.Length < 3)
                    {
                        logger.Error("无效的不合格短信内容,document的ID为" + document.ID + ";短信内容为:" + invalidString);
                        return;
                    }
                    Boolean    needSendSMS = false;
                    SMSManager smsManager  = new SMSManager();
                    if (!p.IsAdministrator)
                    {
                        needSendSMS = smsManager.NeedSendSMS(document.ID.ToString(), invalidString);
                        logger.Error(invalidString + "needsendsms=" + needSendSMS);
                    }

                    if (needSendSMS)
                    {
                        smsManager.SendSMS(document.ID.ToString(), invalidString, p.LineID, p.TestRoomCode, p.SegmentName, p.CompanyName, p.TestRoomName, p.LineName);
                    }
                }
                catch (Exception ex)
                {
                    logger.Error("更新合格字段IsQualified失败,原因是" + ex.Message);
                }
            }
            icm.SyncInvalidReport(document.ID, invalidString);
        }
Ejemplo n.º 12
0
 public void Start(string address, int port, Func <bool> isReady, bool debug = false)
 {
     try {
         this.debug           = debug;
         _isReady             = isReady;
         _clientReceiveThread = new Thread(ListenForData);
         _clientReceiveThread.IsBackground = true;
         var parameters = new ThreadParameter(address, port);
         _clientReceiveThread.Start(parameters);
     } catch (Exception e) {
         LogError(e);
     }
 }
Ejemplo n.º 13
0
        //Thread ServiceThread = null;

        public ClientHelper(string LineID, string UserName, string LineName, string TestRoomCode, string SegmentName, string CompanyName, string TestRoomName)
        {
            ThreadParameter parameter = new ThreadParameter();

            parameter.UserName     = UserName;
            parameter.LineID       = LineID;
            parameter.LineName     = LineName;
            parameter.TestRoomCode = TestRoomCode;
            parameter.SegmentName  = SegmentName;
            parameter.CompanyName  = CompanyName;
            parameter.TestRoomName = TestRoomName;
            ThreadPool.QueueUserWorkItem(new WaitCallback(RegesterClient), parameter);
        }
Ejemplo n.º 14
0
        public override void Execute(VsCommandEventArgs e)
        {
            DTE2 application = e.Application;

            var activeDocument = application.ActiveDocument;
            var documentPath   = activeDocument.FullName;

            if (!activeDocument.Saved && !activeDocument.ReadOnly)
            {
                activeDocument.Save(documentPath);
            }

            var settingsManager       = SettingsManager.GetInstance(application);
            var dbConnectionParameter = CreateDbConnectionParameter(settingsManager.CurrentDbConnectionParameter, activeDocument);
            var csqGuiParameter       = settingsManager.CurrentScriptParameter;
            var csqlOptions           = CreateCSqlOptions(dbConnectionParameter, csqGuiParameter, activeDocument);

            TextSelection selection = activeDocument.Selection as TextSelection;
            int           fromChar  = -1;
            int           toChar    = -1;

            if (selection != null)
            {
                var fromPoint = selection.TopPoint;
                var toPoint   = selection.BottomPoint;

                if (fromPoint != null && toPoint != null)
                {
                    fromChar = fromPoint.AbsoluteCharOffset - 1;
                    toChar   = toPoint.AbsoluteCharOffset - 1;
                }
            }
            if (fromChar >= 0 && toChar > fromChar)
            {
                csqlOptions.PreprocessorOptions.SetRange(fromChar, toChar);
            }

            var thread    = new System.Threading.Thread(Thread_Start);
            var parameter = new ThreadParameter();

            parameter.Application = application;
            parameter.CSqlOptions = csqlOptions;

            thread.IsBackground = true;
            thread.Start(parameter);

            if (!csqGuiParameter.IsOutputFileEnabled)
            {
                settingsManager.SaveDbConnectionParameterInMruHistory(dbConnectionParameter);
            }
        }
Ejemplo n.º 15
0
        /// <summary>
        /// 将试验报告中的报告日期复制到表外数据表的BGRQ字段中
        /// </summary>
        public void Function(List <string> IDList, String ModelIndex, DataSet Data)
        {
            if (IDList.Count == 0)
            {
                return;
            }

            ThreadParameter p = new ThreadParameter();

            p.ModelIndex = ModelIndex;
            p.Data       = Data;

            ThreadPool.QueueUserWorkItem(new WaitCallback(Execute), p);
        }
Ejemplo n.º 16
0
        /// <summary>
        /// 验证试验报告中每个试验项目是否合格
        /// </summary>
        public void Evaluation(List <string> IDList, String ModelIndex, DataSet Data)
        {
            if (IDList.Count == 0)
            {
                return;
            }

            ThreadParameter p = new ThreadParameter();

            p.ModelIndex      = ModelIndex;
            p.Data            = Data;
            p.IsAdministrator = ApplicationContext.Current.IsAdministrator;

            ThreadPool.QueueUserWorkItem(new WaitCallback(Execute), p);
        }
Ejemplo n.º 17
0
        public void Qualify(JZDocument document, Sys_Module module)
        {
            ThreadParameter p = new ThreadParameter();

            p.document        = document;
            p.module          = module;
            p.IsAdministrator = ApplicationContext.Current.IsAdministrator;

            p.LineID       = ApplicationContext.Current.InProject.Index;
            p.TestRoomCode = ApplicationContext.Current.InTestRoom.Code;
            p.SegmentName  = ApplicationContext.Current.InSegment.Description;
            p.CompanyName  = ApplicationContext.Current.InCompany.Description;
            p.TestRoomName = ApplicationContext.Current.InTestRoom.Description;
            p.LineName     = ApplicationContext.Current.InProject.Description;
            ThreadPool.QueueUserWorkItem(new WaitCallback(Execute), p);
        }
        private void ThreadMethod(object parameter)
        {
            ThreadParameter threadParameter = (ThreadParameter)parameter;

            for (int i = 0; i < threadParameter.IterationCount; i++)
            {
                List <BattleStep> result = BattleHelper.Instance.CalculateBattle2(threadParameter.Battle, threadParameter.BattleWaves, threadParameter.Random, null, null);

                lock (m_battles)
                {
                    m_battles.Enqueue(result);
                }
            }

            m_events[threadParameter.Index].Set();
        }
Ejemplo n.º 19
0
        static void OffsetCheckThread(object input)
        {
            ThreadParameter parameter = (ThreadParameter)input;
            KafkaConsumer   consumer  = parameter.Consumer;
            string          topic     = parameter.Topic;

            log4net.ILog logger = parameter.Logger;

            while (true)
            {
                try
                {
                    // read commited offset and producer offset
                    var committedOffset = consumer.GetLastCommittedOffset(topic);
                    var latestOffset    = consumer.GetLatestDataOffset(topic);

                    // display data
                    var display = new StringBuilder();
                    display.AppendLine(string.Format("==================begin consumer info============================"));
                    display.AppendLine(string.Format("{0, -15} {1,-15} {2,-15} {3,-15}", "partitionId", "commitedoffset", "dataoffset", "lag"));
                    foreach (var committed in committedOffset)
                    {
                        if (latestOffset.ContainsKey(committed.Key))
                        {
                            var latest = latestOffset[committed.Key];
                            var lag    = latest - committed.Value;
                            display.AppendLine(string.Format("{0, -15} {1,-15} {2,-15} {3,-15}", committed.Key, committed.Value, latest, lag < 0 ? "commited offset (" + committed.Value.ToString() + ") > latest offset (" + latest.ToString() + ")" : lag.ToString()
                                                             ));
                        }
                        else
                        {
                            display.AppendLine(string.Format("{0, -15} {1,-15} {2,-15} {3,-15}", committed.Key, committed.Value, "unknown", "unknown"));
                        }
                    }
                    display.AppendLine(string.Format("==================end  consumer  info============================"));
                    logger.Debug(display.ToString());
                }
                catch (Exception e)
                {
                    logger.Debug("[user] => list consumer info failed\r\n" + e.Message);
                }

                Thread.Sleep(5 * 1000);
            }
        }
Ejemplo n.º 20
0
        public void NotifyLeader(Guid dataID, List <CellChangedNotifyItem> items, string UserName, bool IsAdministrator, Guid requestID, string LineID, string TestRoomCode, string SegmentName, string CompanyName, string TestRoomName, string LineName)
        {
            ThreadParameter p = new ThreadParameter();

            p.DataID          = dataID;
            p.Items           = items;
            p.IsAdministrator = IsAdministrator;
            p.UserName        = UserName;
            p.RequestID       = requestID;

            p.LineID       = LineID;
            p.TestRoomCode = TestRoomCode;
            p.SegmentName  = SegmentName;
            p.CompanyName  = CompanyName;
            p.TestRoomName = TestRoomName;
            p.LineName     = LineName;
            ThreadPool.QueueUserWorkItem(new WaitCallback(Execute), p);
        }
Ejemplo n.º 21
0
        private void Thread_Start(object obj)
        {
            ThreadParameter         parameter     = (ThreadParameter)obj;
            DTE2                    application   = parameter.Application;
            CSqlOptions             settings      = parameter.CSqlOptions;
            OutputPaneTraceListener traceListener = null;

            try {
                var outputPane = Gui.Output.GetAndActivateOutputPane(application);
                if (outputPane != null)
                {
                    outputPane.Clear();
                    traceListener = new OutputPaneTraceListener(outputPane);
                }

                if (traceListener != null)
                {
                    Trace.Listeners.Add(traceListener);
                }
                this.currentExecutor = new ScriptExecutor(settings);
                this.currentExecutor.Execute();

                if (!String.IsNullOrEmpty(settings.DistributionFile))
                {
                    application.ItemOperations.OpenFile(settings.DistributionFile, Constants.vsViewKindCode);
                }
                currentExecutor = null;
            }
            finally {
                currentExecutor = null;
                if (traceListener != null)
                {
                    Trace.Listeners.Remove(traceListener);
                    traceListener.Close();
                    traceListener.Dispose();
                }
            }
            Commands2 commands = application.Commands as Commands2;

            if (commands != null)
            {
                commands.UpdateCommandUI(false);
            }
        }
Ejemplo n.º 22
0
        /// <summary>
        /// 执行任务
        /// </summary>
        public override void RunTask()
        {
            SearchItem[] result = null;
            try
            {
                ThreadParameter threadParameter = Searcher.DefaultThreadParameter;
                SubString       simplifiedKey   = threadParameter.SetSimplified(key, maxTextSize);
                if (simplifiedKey.Count != 0)
                {
                    HashString cacheKey = simplifiedKey;
                    result = resultCache.Get(ref cacheKey, null);
                    if (result == null)
                    {
                        long wordCount = Searcher.Default.Results.WordCount;
                        LeftArray <KeyValue <HashString, AutoCSer.Search.StaticSearcher <DataKey> .QueryResult> > results = threadParameter.Search();
                        switch (results.Count)
                        {
                        case 0: result = NullValue <SearchItem> .Array; break;

                        case 1:
                            threadParameter.ResultIndexArray.Empty();
                            results[0].Value.CopyTo(ref threadParameter.ResultIndexArray);
                            result = threadParameter.ResultIndexArray.GetRangeSortDesc(value => getWeight(value.Key.Type, value.Value.Indexs.Length), 0, pageSize, value => new SearchItem(results[0].Key, value));
                            break;

                        default:
                            threadParameter.GetWeights();
                            result = threadParameter.GetWeightArray()
                                     .GetRangeSortDesc(weight => getWeight(weight.Key.Type, weight.Value), 0, pageSize, weight => new SearchItem(weight.Key));
                            break;
                        }
                        resultCache.Set(ref cacheKey, result);
                        if (resultCache.Count > maxResultCount)
                        {
                            resultCache.Pop();
                        }
                    }
                }
            }
            finally
            {
                onSearch.Callback(result ?? NullValue <SearchItem> .Array);
            }
        }
Ejemplo n.º 23
0
        private void Execute(object paremeter)
        {
            ThreadParameter p          = paremeter as ThreadParameter;
            DataSet         dataset    = p.Data;
            String          modelIndex = p.ModelIndex;

            if (dataset == null)
            {
                return;
            }
            try
            {
                DataTable stadiumInfo = GetStadiumInfoByModelIndex(modelIndex);
                // 检查是否是设置龄期的模板
                if (stadiumInfo != null && stadiumInfo.Rows.Count > 0)
                {
                    StadiumConfig config = Newtonsoft.Json.JsonConvert.DeserializeObject <StadiumConfig>(stadiumInfo.Rows[0]["StadiumConfig"].ToString());
                    if (config != null)
                    {
                        DataTable tb = dataset.Tables["[biz_norm_extent_" + modelIndex + "]"];
                        if (tb != null && tb.Rows.Count > 0)
                        {
                            String dataID = tb.Rows[0]["ID"].ToString();
                            //DataTable stadiumData = GetStadiumDataByDataID(dataID);
                            ////检查是否该资料已经进入龄期提醒表,不考虑龄期中是否已经完成;如果已经存在,需要考虑更新是否完成;
                            //if (stadiumData == null || stadiumData.Rows.Count == 0)
                            //{
                            //    SaveStadiumData(dataset, config, modelIndex);//保存龄期
                            //}
                            //else
                            //{
                            //    //如果数据已经存在于龄期表,检查制件日期是否变更,并根据配置更新是否完成的字段
                            //    UpdateStadiumData(dataset, config, modelIndex, stadiumData);
                            //}
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                logger.Error("龄期提醒:error" + ex.Message);
            }
        }
Ejemplo n.º 24
0
        public void SendSMS(String DataIndex, String invalidItem, string LineID, string TestRoomCode, string SegmentName, string CompanyName, string TestRoomName, string LineName)
        {
            if (StartSMS())
            {
                ThreadParameter p = new ThreadParameter();
                p.DataIndex    = DataIndex;
                p.InvalidItem  = invalidItem;
                p.LineID       = LineID;
                p.TestRoomCode = TestRoomCode;
                p.SegmentName  = SegmentName;
                p.CompanyName  = CompanyName;
                p.TestRoomName = TestRoomName;
                p.LineName     = LineName;

                ThreadPool.QueueUserWorkItem(new WaitCallback(Execute), p);
            }
            else
            {
                logger.Error("短信服务已关闭");
            }
        }
Ejemplo n.º 25
0
        private void Execute(object paremeter)
        {
            ThreadParameter p = paremeter as ThreadParameter;

            if (p.documentID == null || p.fpSpread == null)
            {
                return;
            }
            try
            {
                String path = Path.Combine(System.Web.Hosting.HostingEnvironment.MapPath("~"), "source/" + p.docDateDir);
                JZCommonHelper.SaveToExcel(p.documentID, p.fpSpread, path);
                JZCommonHelper.FarpointToImage(p.documentID, p.fpSpread, path);
                String excelPath   = Path.Combine(path, p.documentID.ToString() + ".xls");
                String pdfFilePath = Path.Combine(path, p.documentID.ToString() + ".pdf");
                JZCommonHelper.FarpointToPDF(p.fpSpread, pdfFilePath, p.reportIndex);
            }
            catch (Exception ex)
            {
                logger.Error("create ralation files:" + ex.Message);
            }
        }
        /// <summary>
        /// Get parameters from string.
        /// </summary>
        /// <param name="args">Parameters from console</param>
        /// <returns>Collection of parameters</returns>
        public static List <Parameter> GetParameters(string[] args)
        {
            if (!VerifyArgumentString(args))
            {
                throw new ArgumentException("Wrong parameters");
            }

            var parameters = new List <Parameter>();

            for (var i = 0; i < args.Length; i++)
            {
                Parameter parameter = null;

                if (args[i] == "-n")
                {
                    parameter = new ThreadParameter(args[i], args[i + 1]);
                }
                else if (args[i] == "-l")
                {
                    parameter = new SpeedParameter(args[i], args[i + 1]);
                }
                else if (args[i] == "-f")
                {
                    parameter = new FilePathParameter(args[i], args[i + 1]);
                }
                else if (args[i] == "-o")
                {
                    parameter = new OutputPathParameter(args[i], args[i + 1]);
                }

                if (parameter != null && parameter.Verify())
                {
                    parameters.Add(parameter);
                }
            }

            return(parameters);
        }
Ejemplo n.º 27
0
        public void SaveEditLog(JZDocument oldDoc, JZDocument newDoc, String optType, Boolean relationRequestChange, Sys_Document docBase)
        {
            ThreadParameter p = new ThreadParameter();

            p.OldDoc = oldDoc;
            p.NewDoc = newDoc;
            ApplicationContext context = ApplicationContext.Current;

            p.UserName              = context.UserName;
            p.IsAdministrator       = context.IsAdministrator;
            p.OptType               = optType;
            p.RelationRequestChange = relationRequestChange;
            p.DocBase               = docBase;


            p.LineID       = ApplicationContext.Current.InProject.Index;
            p.TestRoomCode = ApplicationContext.Current.InTestRoom.Code;
            p.SegmentName  = ApplicationContext.Current.InSegment.Description;
            p.CompanyName  = ApplicationContext.Current.InCompany.Description;
            p.TestRoomName = ApplicationContext.Current.InTestRoom.Description;
            p.LineName     = ApplicationContext.Current.InProject.Description;

            ThreadPool.QueueUserWorkItem(new WaitCallback(Execute), p);
        }
Ejemplo n.º 28
0
        internal static void ReplicateDir(object obj)
        {
            var tp = (ThreadParameter)obj;
            var rootDir = tp.Info;
            var stopWatch = new Stopwatch();

            stopWatch.Start();
            var nodeRoot = tp.Tree.FindByPath(tp.RootPath);
            stopWatch.Stop();
            Interlocked.Add(ref tp.TicksElapsed[tp.Id], stopWatch.ElapsedMilliseconds);

            DirectoryInfo[] dirs = rootDir.GetDirectories("*", SearchOption.AllDirectories);

            foreach (DirectoryInfo dir in dirs)
            {
                var newTp = new ThreadParameter
                    {
                        Info = dir,
                        RootPath = tp.RootPath + TreeNode.PathSeparator + dir.Name,
                        Tree = tp.Tree,
                        TicksElapsed = tp.TicksElapsed,
                        Id = tp.Id
                    };
                stopWatch.Restart();
                nodeRoot.AddChild(tp.Tree.NewTreeNode(dir.Name, String.Empty));
                stopWatch.Stop();
                Interlocked.Increment(ref _counter);
                FileInfo[] files = dir.GetFiles("*.*", SearchOption.TopDirectoryOnly);
                stopWatch.Start();
                foreach (var file in files)
                {
                    nodeRoot.AddChild(tp.Tree.NewTreeNode(file.Name, "fileContent"));
                    Interlocked.Increment(ref _counter);
                }
                stopWatch.Stop();
                Interlocked.Add(ref tp.TicksElapsed[tp.Id], stopWatch.ElapsedTicks);
                ReplicateDir(newTp);
            }
            if (tp.Threads != null)
            {
                tp.Threads[tp.Id] = null;
            }
        }
Ejemplo n.º 29
0
        private void btnUploadAllOne_Click(object sender, EventArgs e)
        {
            Boolean flag        = true;
            Int32   totalNumber = int.Parse(cb_total.SelectedItem.ToString());

            Guid   documentID   = Guid.Empty;
            Guid   stadiumID    = Guid.Empty;
            Guid   moduleID     = Guid.Empty;
            String wtbh         = tb_wtbh.Text;
            String testRoomCode = "0001000100010001";// Yqun.Common.ContextCache.ApplicationContext.Current.InTestRoom.Code;

            #region
            if (rb_statum.Checked)
            {
                if (list_Statum.SelectedItem != null)
                {
                    wtbh = list_Statum.SelectedItem.ToString();
                }
                else
                {
                    MessageBox.Show("未选择龄期");
                    return;
                }
                if (dt != null && dt.Rows.Count > 0)
                {
                    DataRow[] rows = dt.Select("委托编号='" + wtbh + "'");
                    if (rows.Length > 0)
                    {
                        documentID = new Guid(rows[0]["DataID"].ToString());
                        stadiumID  = new Guid(rows[0]["ID"].ToString());
                        moduleID   = new Guid(rows[0]["ModuleID"].ToString());
                    }
                    else
                    {
                        MessageBox.Show("未按委托编号找到龄期");
                        return;
                    }
                }
                else
                {
                    MessageBox.Show("没有龄期数据");
                    return;
                }
            }
            else
            {
                moduleID = moduleList[cb_module.SelectedItem.ToString()];
            }
            #endregion
            String machineCode  = testRoomCode + "0001";
            String realTimeData = "";

            for (int i = 0; i < totalNumber; i++)
            {
                ThreadParameter p = new ThreadParameter();
                p.currentNumber = i + 1;
                p.totalNumber   = totalNumber;
                p.documentID    = documentID;
                p.stadiumID     = stadiumID;
                p.moduleID      = moduleID;
                p.wtbh          = wtbh;
                p.testRoomCode  = testRoomCode;
                p.machineCode   = machineCode;
                p.realTimeData  = realTimeData;
                ThreadPool.QueueUserWorkItem(new WaitCallback(StartUpload), p);
                //flag = UploadTestData(i + 1);
            }



            MessageBox.Show(flag.ToString());
        }
Ejemplo n.º 30
0
        private void btn_sent_Click(object sender, EventArgs e)
        {
            try
            {
                Boolean flag          = true;
                Int32   currentNumber = int.Parse(cb_items.SelectedItem.ToString());

                Guid   documentID   = Guid.Empty;
                Guid   stadiumID    = Guid.Empty;
                Guid   moduleID     = Guid.Empty;
                String wtbh         = tb_wtbh.Text;
                String testRoomCode = "0001000400010001";// Yqun.Common.ContextCache.ApplicationContext.Current.InTestRoom.Code;
                #region
                if (rb_statum.Checked)
                {
                    if (list_Statum.SelectedItem != null)
                    {
                        wtbh = list_Statum.SelectedItem.ToString();
                    }
                    else
                    {
                        MessageBox.Show("未选择龄期");
                        return;
                    }
                    if (dt != null && dt.Rows.Count > 0)
                    {
                        DataRow[] rows = dt.Select("委托编号='" + wtbh + "'");
                        if (rows.Length > 0)
                        {
                            documentID = new Guid(rows[0]["DataID"].ToString());
                            stadiumID  = new Guid(rows[0]["ID"].ToString());
                            moduleID   = new Guid(rows[0]["ModuleID"].ToString());
                        }
                        else
                        {
                            MessageBox.Show("未按委托编号找到龄期");
                            return;
                        }
                    }
                    else
                    {
                        MessageBox.Show("没有龄期数据");
                        return;
                    }
                }
                else
                {
                    moduleID = moduleList[cb_module.SelectedItem.ToString()];
                }
                #endregion
                Int32  totalNumber  = int.Parse(cb_total.SelectedItem.ToString());
                String machineCode  = testRoomCode + "0001";
                String realTimeData = "";

                ThreadParameter p = new ThreadParameter();
                p.currentNumber = currentNumber;
                p.totalNumber   = totalNumber;
                p.documentID    = documentID;
                p.stadiumID     = stadiumID;
                p.moduleID      = moduleID;
                p.wtbh          = wtbh;
                p.testRoomCode  = testRoomCode;
                p.machineCode   = machineCode;
                p.realTimeData  = realTimeData;

                flag = UploadTestData(p.currentNumber, p.totalNumber, p.documentID, p.stadiumID, p.moduleID, p.wtbh, p.testRoomCode, p.machineCode, p.realTimeData);

                MessageBox.Show(flag.ToString());
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Ejemplo n.º 31
0
        private void StartUpload(object paremeter)
        {
            ThreadParameter p = paremeter as ThreadParameter;

            UploadTestData(p.currentNumber, p.totalNumber, p.documentID, p.stadiumID, p.moduleID, p.wtbh, p.testRoomCode, p.machineCode, p.realTimeData);
        }
Ejemplo n.º 32
0
		private ThreadResult CleanVisibleModelsList(ThreadParameter parameter)
		{
			List<ModelController> visibleModels = parameter.Argument<List<ModelController>>(0);
			if (visibleModels != null)
			{
				visibleModels.Clear();
			}
			return null;
		}