private void GetVerifyCode(object parameter)
        {
            Operator user = new Operator();

            user.username = this.UserName;
            ReturnMsg <object> returnMsg;

            try
            {
                returnMsg = Post <ReturnMsg <object> >(GetHttpRequestArgsHelper.GetHttpRequestArgs(getVerifyCode, user));
            }
            catch (Exception)
            {
                returnMsg = new ReturnMsg <object>()
                {
                    success = false
                };
            }

            if (returnMsg.success)
            {
                ShowMessage(returnMsg.respMsg);
                Notice.Show(returnMsg.respMsg, "通知", 3, MessageBoxIcon.Success);
            }
            else
            {
                MessageBoxHelper.MessageBoxShowWarning(returnMsg.respMsg);
            }
        }
        /// <summary>
        /// 根据工单号查询转研发时间或者完成时间和完成人
        /// </summary>
        /// <param name="GD"></param>
        public DateTime GetTimePointByGDAsync(string GD, bool isFinishTime, out string responsibleperson)
        {
            responsibleperson = "";
            HttpHelper.HttpRequestArgs requestArgs = null;
            OrderMonitorViewModel.Instance().Dispatcher.Invoke(() =>
            {
                requestArgs = GetHttpRequestArgsHelper.GetHttpRequestArgs(this.UserName, queryProblemDisposeList, user.token, user.userId, GD);
            });
            var result = JsonHelper.DeserializeObject <DisposeReturnMsg>(HttpHelper.Post(requestArgs));

            if (result != null)
            {
                if (isFinishTime == false)
                {
                    foreach (var slice in result.respData)
                    {
                        if (slice.remark.Contains("转派到【研发】节点,处理部门:产品研发五部"))
                        {
                            return(Convert.ToDateTime(slice.createTime));
                        }
                    }
                }
                else
                {
                    int YanfaId   = -1;
                    int DispathId = -1;

                    foreach (var slice in result.respData)
                    {
                        if (slice.remark.Contains("转派到【研发】节点,处理部门:产品研发五部") || slice.remark.Contains("验证退回,打回到【研发】节点"))
                        {
                            if (slice.id > YanfaId)
                            {
                                YanfaId = slice.id;
                            }
                        }
                        if (slice.remark.Contains("处理问题,解决方案为") || slice.remark.Contains("驳回到【总部节点】节点,原因"))
                        {
                            if (slice.id > DispathId)
                            {
                                DispathId = slice.id;
                            }
                            //responsibleperson = slice.userName;
                            //return Convert.ToDateTime(slice.createTime);
                        }
                    }
                    //研发节点已处理但是再次转入研发节点的工单被误认为已经处理的问题

                    //研发节点小于解决节点,确实已经解决
                    if (YanfaId < DispathId)
                    {
                        var temp = result.respData.Where(x => x.id == DispathId).First();
                        responsibleperson = temp.userName;
                        return(Convert.ToDateTime(temp.createTime));
                    }
                }
            }
            return(DateTime.MinValue);
        }
        private void StartTask(object parameter)
        {
            keyValueSettingManager.WriteSetting(new KeyValueSetting()
            {
                KeyId = "GetOrderJob", ValueText = this.GetOrderJob
            });
            keyValueSettingManager.WriteSetting(new KeyValueSetting()
            {
                KeyId = "DispatchJob", ValueText = this.DispatchJob
            });
            keyValueSettingManager.WriteSetting(new KeyValueSetting()
            {
                KeyId = "YesterdayReportJob", ValueText = this.YesterdayReportJob
            });
            keyValueSettingManager.WriteSetting(new KeyValueSetting()
            {
                KeyId = "ReceiveEmail", ValueText = this.ReceiveEmail
            });

            string[] jobs = new string[] { "GetOrderJob", "DispatchJob", "YesterdayReportJob" };
            foreach (var jobKey in jobs)
            {
                string cron    = string.Empty;
                Type   jobType = null;
                switch (jobKey)
                {
                case "GetOrderJob": cron = this.GetOrderJob; jobType = typeof(GetOrderJob); break;

                case "DispatchJob": cron = this.DispatchJob; jobType = typeof(DispatchJob); break;

                case "YesterdayReportJob": cron = this.YesterdayReportJob; jobType = typeof(YesterdayReportJob); break;
                }

                var triggerKey = scheduler.GetTriggerKeys(GroupMatcher <TriggerKey> .GroupEquals("JSRM")).Where(x => x.Name == jobKey).FirstOrDefault();
                if (triggerKey != null)
                {
                    scheduler.UnscheduleJob(triggerKey);
                }
                string requestArgs = JsonHelper.SerializeObject(GetHttpRequestArgsHelper.GetHttpRequestArgs(this.UserName, queryAuthProblemList, user.token, user.userId));
                var    job         = JobBuilder.Create(jobType)
                                     .WithIdentity(jobKey, "JSRM")
                                     .UsingJobData("HttpRequestArgs", requestArgs)
                                     .UsingJobData("ReceiveEmail", this.ReceiveEmail)
                                     .Build();
                var trigger = TriggerBuilder.Create()
                              .StartNow()
                              .WithIdentity(jobKey, "JSRM")
                              .WithCronSchedule(cron)
                              .Build();
                scheduler.ScheduleJob(job, trigger);
            }
            ShowMessage("定时任务已启动");
            Notice.Show("定时任务已启动", "通知", 3, MessageBoxIcon.Success);
        }
예제 #4
0
 public static async Task <ReturnMsg <PageOrder> > GetOrder(string userName, string url, string token, string userId)
 {
     try
     {
         HttpRequestArgs httpRequestArgs = GetHttpRequestArgsHelper.GetHttpRequestArgs(userName, url, token, userId);
         return(await PostAsync <ReturnMsg <PageOrder> >(httpRequestArgs));
     }
     catch (Exception)
     {
         return(new ReturnMsg <PageOrder>()
         {
             success = false
         });
     }
 }
        public async void Login(object parameter)
        {
            this.Password = (string)parameter;
            string password = GetMD5(this.Password);

            user.username   = this.UserName;
            user.password   = password;
            user.verifyCode = this.VerifyCode;
            ReturnMsg <Token> returnMsg;

            try
            {
                returnMsg = Post <ReturnMsg <Token> >(GetHttpRequestArgsHelper.GetHttpRequestArgs(getToken, user));
            }
            catch (Exception)
            {
                returnMsg = new ReturnMsg <Token>()
                {
                    success = false
                };
            }

            if (returnMsg.success)
            {
                IsNeedLogin = false;
                ShowMessage(returnMsg.respMsg);

                user.token    = returnMsg.respData.token;
                user.userId   = returnMsg.respData.userId;
                user.password = this.Password;

                keyValueSettingManager.WriteSetting(new KeyValueSetting()
                {
                    KeyId = "JSRMUserInfo", ValueText = JsonHelper.SerializeObject(user)
                });

                ReturnMsg <PageOrder> returnMsg1 = await ExecuteGetOrderJob.GetOrder(this.UserName, queryAuthProblemList, user.token, user.userId);

                if (returnMsg1.success)
                {
                    ExecuteGetOrderJob.AddOrder(returnMsg1.respData.data);
                }
            }
            else
            {
                Notice.Show(returnMsg.respMsg, "通知", 3, MessageBoxIcon.Warning);
            }
        }