예제 #1
0
        private void btnJobStart_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtTaskID.Text))
            {
                MessageBox.Show("任务ID不能为空");
                return;
            }

            string taskID = txtTaskID.Text.Trim();

            TaskEntity taskEntity = taskBll.Find(taskID);

            if (taskEntity == null)
            {
                MessageBox.Show("任务ID系统中不存在");
                return;
            }

            FtpConfigEntity ftpConfigEntity = ftpBll.GetFirstFtpInfo();

            taskEntity.FtpConfig = ftpConfigEntity;

            //构造数据文件产品并执行
            DbFileProductDirector director       = new DbFileProductDirector();
            ADbFileProductBuilder productBuilder = new DbFileProductBuilder();

            director.ConstructProduct(productBuilder);
            DbFileProduct product = productBuilder.GetDbFileProduct();

            product.Execute(taskEntity, cts.Token);
        }
예제 #2
0
        private void BindData()
        {
            FtpConfigEntity ftpConfig = ftpBll.GetFirstFtpInfo();

            if (ftpConfig != null)
            {
                txtServerAddress.Text       = ftpConfig.ServerAddress;
                txtServerDirectory.Text     = ftpConfig.ServerDirectory;
                txtUserName.Text            = ftpConfig.UserName;
                txtUserPassword.Text        = ftpConfig.UserPassword;
                txtExportFileDirectory.Text = ftpConfig.ExportFileDirectory;
            }
        }
        private bool checkFtpUseable()
        {
            FtpConfigEntity ftpConfig = ftpBll.GetFirstFtpInfo();

            if (ftpConfig == null)
            {
                base.ShowErrorMessage("您未配置FTP信息,请点击[FTP配置]菜单进行配置");
                return(false);
            }

            if (!FtpHelper.ConnectFtpServer(ftpConfig))
            {
                base.ShowErrorMessage("FTP配置信息错误,未能连接上FTP服务器");
                return(false);
            }

            return(true);
        }
예제 #4
0
        /// <summary>
        /// 检测系统配置
        /// </summary>
        protected void CheckSystemConfiguration()
        {
            if (!Common.IsExistSQLiteDB())
            {
                ShowErrorMessage("系统未检测到数据库,请联系开卷客服人员");
                return;
            }

            List <SystemConfigEntity> systemConfigList = systemConfigService.GetSystemConfigList();

            if (systemConfigList.Count == 0)
            {
                ShowErrorMessage("系统配置表不存在,请联系开卷客服人员");
                return;
            }

            //1检测客户密钥
            SystemConfigEntity systemConfig = systemConfigList.Find(item => item.SysConfigID == (int)SystemConfigs.EncryptKey);

            if (systemConfig == null)
            {
                ShowErrorMessage("系统配置表不存在客户密钥数据记录,请联系开卷客服人员");
                return;
            }
            if (string.IsNullOrEmpty(systemConfig.ExSetting01))
            {
                ShowErrorMessage("未配置客户密钥,请先配置客户密钥");
                EncryptKeyConfigFrm frm = new EncryptKeyConfigFrm();
                frm.StartPosition = FormStartPosition.CenterParent;
                frm.ShowDialog();;
            }

            //2检测FTP配置
            FtpConfigEntity ftpConfig = ftpService.GetFirstFtpInfo();

            if (ftpConfig == null)
            {
                ShowErrorMessage("未配置FTP信息,请先配置FTP数据");
                FtpConfigFrm frm = new FtpConfigFrm();
                frm.StartPosition = FormStartPosition.CenterParent;
                frm.ShowDialog();
            }
            systemConfig = systemConfigList.Find(item => item.SysConfigID == (int)SystemConfigs.FtpUpoladService);
            if (systemConfig == null)
            {
                ShowErrorMessage("系统配置表不存在FTP上传服务数据记录,请联系开卷客服人员");
                return;
            }
            if (systemConfig.Status == 1)
            {
                try
                {
                    FtpHelper.ConnectFtpServer(ftpConfig);
                }
                catch (Exception ex)
                {
                    ShowErrorMessage($"请检查FTP配置信息。错误信息[{ex.Message}]");
                    FtpConfigFrm frm = new FtpConfigFrm();
                    frm.StartPosition = FormStartPosition.CenterParent;
                    frm.ShowDialog();
                }
            }
        }
예제 #5
0
        public void Execute(IJobExecutionContext context)
        {
            try
            {
                CancellationToken ct = (CancellationToken)context.JobDetail.JobDataMap["CanellationTokenParam"];
                ct.ThrowIfCancellationRequested();

                SystemConfigEntity systemConfig = sysConfigService.FindSystemConfig((int)SystemConfigs.FtpUpoladService);
                if (systemConfig == null || systemConfig.Status == 0)
                {
                    return;
                }


                FtpConfigEntity ftpConfig = ftpService.GetFirstFtpInfo();
                if (ftpConfig == null)
                {
                    throw new Exception("传8未配置FTP信息");
                }

                if (!Directory.Exists(ftpConfig.ExportFileDirectory))
                {
                    throw new Exception($"传8配置的FTP目录[{ftpConfig.ExportFileDirectory}]不存在");
                }

                string fileBackupPath = Path.Combine(AppPath.DataFolder, ConfigHelper.GetConfig("UploadFileBackpath", "UploadFileBackup"), DateTime.Now.ToString("yyyyMM"));

                if (!Directory.Exists(fileBackupPath))
                {
                    Directory.CreateDirectory(fileBackupPath);
                }

                //获得源文件下所有文件
                List <string> files = new List <string>(Directory.GetFiles(ftpConfig.ExportFileDirectory));
                ct.ThrowIfCancellationRequested();

                files.ForEach(sourceFile =>
                {
                    ct.ThrowIfCancellationRequested();
                    try
                    {
                        FtpHelper.UploadFile(ftpConfig, sourceFile);
                        string backupfileFullpath = Path.Combine(fileBackupPath, FileHelper.GetFileName(sourceFile));

                        //备份上传文件
                        FileHelper.CopyFile(sourceFile, backupfileFullpath);
                        Thread.Sleep(200);
                        File.Delete(sourceFile);

                        LogUtil.WriteLog($"数据文件[{sourceFile}]上传成功");
                    }
                    catch (Exception ex)
                    {
                        LogUtil.WriteLog(ex.Message);
                    }
                });
            }
            catch (Exception ex)
            {
                //JobExecutionException jex = new JobExecutionException(ex);
                //jex.RefireImmediately = true;
                LogUtil.WriteLog($"FtpJob作业类异常,异常信息[{ex.Message}][{ex.StackTrace}]");
            }
        }