⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 restoredata.~pas

📁 企业端数据申报系统:单位管理模块 单位查询. 业务申报模块 在线数据下载 在线数据上传 在线业务申核 申报业务查询 磁盘数据导出 磁盘数据导入 在线业务模块 在线业务
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
unit restoredata;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, basepop, TFlatButtonUnit, TFlatEditUnit, StdCtrls,Math,StrUtils,
  DB, DBTables,Registry, TFlatGaugeUnit, ActnList, ComCtrls, jpeg, ExtCtrls,
  ztvregister, ztvBase, ztvUnZip;

const cLicenseString = '17055475153342401579512r612895AS';

type
  Trestoredata_frm = class(Tbasepop_frm)
    M_list: TMemo;
    M_info: TMemo;
    Label1: TLabel;
    FE_filename: TFlatEdit;
    FB_fileselect: TFlatButton;
    FB_restore: TFlatButton;
    FB_close: TFlatButton;
    OpenDialog1: TOpenDialog;
    FlatGauge1: TFlatGauge;
    ActionList1: TActionList;
    help: TAction;
    FB_help: TFlatButton;
    GroupBox3: TGroupBox;
    Panel1: TPanel;
    Image1: TImage;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    Memo3: TMemo;
    P_restore: TPanel;
    TabSheet2: TTabSheet;
    Label2: TLabel;
    UnZip: TUnZip;
    procedure FB_closeClick(Sender: TObject);
    procedure FB_restoreClick(Sender: TObject);
    procedure FB_fileselectClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    {procedure helpExecute(Sender: TObject);}
  private
    { Private declarations }
    procedure DelRestoreFile();
    function GetFieldName(Query:TQuery;SQLstr:widestring):widestring;
    {procedure PrepareProc();
    procedure DeleteData(tabname:string);
    procedure CparchRestore();
    procedure OrganizationRestore();
    procedure OrganmapRestore();
    procedure PsarchRestore();
    procedure HomeinfoRestore();
    procedure PactinfoRestore();
    procedure StudyinfoRestore();
    procedure TraiinfoRestore();
    procedure WorkinfoRestore();
    procedure PsupcaseRestore();
    procedure PswgcaseRestore();
    procedure InfoctorRestore();
    procedure ManpayRestore();
    procedure PycpmainRestore();
    procedure PycpselRestore();
    procedure PystpRestore();
    procedure RefetabRestore();
    procedure PytbmtRestore();
    procedure UsersRestore();  }
    //procedure UserrightRestore();
    //procedure UnitrightRestore();
  public
    { Public declarations }
  end;

  {function  XceedZipInitDLL : LongInt; stdcall; external 'XceedZip.DLL';
  function  XceedZipShutdownDLL : LongInt; stdcall; external 'XceedZip.DLL';
  function  XzCreateXceedZipA( pszLicense : PChar) : LongInt; stdcall; external 'XceedZip.DLL';
  procedure XzSetZipFilenameA( hZip : LongInt; pszValue : PChar); stdcall; external 'XceedZip.DLL';
  procedure XzSetProcessSubfolders( hZip : LongInt; bValue : LongInt ); stdcall; external 'XceedZip.DLL';
  procedure XzSetEncryptionPasswordA(hZip:LongInt;pwd:PChar); stdcall; external 'XceedZip.DLL';
  procedure XzSetUnzipToFolderA( hZip : LongInt; pszValue : PChar); stdcall; external 'XceedZip.DLL';
  procedure XzDestroyXceedZip( hZip : LongInt ); stdcall; external 'XceedZip.DLL';
  function  XzUnzip( hZip : LongInt ) : LongInt; stdcall; external 'XceedZip.DLL';  }

var
  restoredata_frm: Trestoredata_frm;

implementation

uses datashare, main, commlist, basedialog,hh, imp;
{$R *.dfm}
function  Trestoredata_frm.GetFieldName(Query:TQuery;SQLstr:widestring):widestring;
var
  i:integer;
  str:widestring;
begin
   with Query do
     begin
       close;
       sql.Clear ;
       sql.Add(sqlstr);
       open;
       str:='';
       for i:=0 to FieldCount-1 do
          if str='' then str:=Fields[i].FieldName else str:=str+','+Fields[i].FieldName ;
       close;
     end;
     Result:=str;
end;

procedure Trestoredata_frm.DelRestoreFile();
var
  d:widestring;
begin
  d:=copy(extractfilepath(application.ExeName),1,length(extractfilepath(application.ExeName))-1);
  if fileexists(d+'\importfile\ESIIS.DB') then
    deletefile(d+'\importfile\ESIIS.DB');
  if fileexists(d+'\importfile\ESIIS.LOG') then
    deletefile(d+'\importfile\ESIIS.LOG');
  if fileexists(d+'\importfile\ESIIS.MLG') then
    deletefile(d+'\importfile\ESIIS.MLG');
end;

procedure Trestoredata_frm.FB_closeClick(Sender: TObject);
begin
  inherited;
  close;
end;


procedure Trestoredata_frm.FB_restoreClick(Sender: TObject);
var
  password:widestring;
  hUnZip:integer;
  registerTemp:TRegistry;
  ls_value,d:widestring;
  b1,b2,b3:bool;
  sqlstr:widestring;
begin
  inherited;
  d:=extractfilepath(application.ExeName);

  if trim(FE_filename.Text)='' then
  begin
    application.MessageBox('请选择指定文件!','恩普软件',MB_OK+MB_IconInformation+MB_SystemModal);
    FE_filename.SetFocus;
    exit;
  end;

  if not fileexists(trim(FE_filename.Text)) then
  begin
    application.MessageBox('指定的文件不存在!','恩普软件',MB_OK+MB_IconInformation+MB_SystemModal);
    FE_filename.SetFocus;
    exit;
  end;
  try
  cursor:=crhourglass;
  if not directoryexists(d+'importfile\') then createdir(d+'importfile');
  deleteall(d+'importfile\');
  unzip.ArchiveFile :=fe_filename.Text ;
  unzip.ExtractDir :=d+'importfile\';
  unzip.Password :='esiis123';
  unzip.FileSpec.Add('*.*');
  unzip.Extract;

  d:=d+'importfile\' ;
  with DataShare_frm do
  begin
  Dbs.StartTransaction ;
  P_restore.Visible :=true;
  sqlstr:='select * from sbda_psagacct where 1=2';
  FlatGauge1.Progress :=10;
  imp_sbda_psagacct(d+'sbda_psagacct.txt','sbda_psagacct',chr(9),getfieldname(Query1,sqlstr),Query2,Query3);
  //export_data(DataShare_frm.Query1,sqlstr,'sbda_psagacct','');

  sqlstr:='select * from sbda_psrtacct where 1=2';
  FlatGauge1.Progress :=15;
  imp_sbda_psrtacct(d+'psrtacct.txt','sbda_psrtacct',chr(9),getfieldname(Query1,sqlstr),Query2,Query3);
  //export_data(DataShare_frm.Query1,sqlstr,'sbda_psrtacct','');

  sqlstr:='select * from sbdb_cparch where 1=2';
  FlatGauge1.Progress :=20;
  imp_sbdb_cparch(d+'sbdb_cparch.txt','sbdb_cparch',chr(9),getfieldname(Query1,sqlstr),Query2,Query3);
  //export_data(DataShare_frm.Query1,sqlstr,'sbdb_cparch','');

  sqlstr:='select * from SBDB_PSARCH where 1=2';
  FlatGauge1.Progress :=25;
  imp_sbdb_psarch(d+'sbdb_psarch.txt','sbdb_psarch',chr(9),getfieldname(Query1,sqlstr),Query2,Query3);
  //export_data(DataShare_frm.Query1,sqlstr,'SBDB_PSARCH','');

  sqlstr:='select * from sbdb_rtarch where 1=2';
  FlatGauge1.Progress :=30;
  imp_sbdb_rtarch(d+'sbdb_rtarch.txt','sbdb_rtarch',chr(9),getfieldname(Query1,sqlstr),Query2,Query3);
  //export_data(DataShare_frm.Query1,sqlstr,'sbdb_rtarch','');

  sqlstr:='select * from sbdb_rtwage where 1=2';
  FlatGauge1.Progress :=35;
  imp_sbdb_rtwage(d+'sbdb_rtwage.txt','sbdb_rtwage',chr(9),getfieldname(Query1,sqlstr),Query2,Query3);
  //export_data(DataShare_frm.Query1,sqlstr,'sbdb_rtwage','');

  sqlstr:='select * from SBDC_CPATTR where 1=2';
  FlatGauge1.Progress :=40;
  imp_sbdc_pyitem(d+'sbdc_cpattr.txt','sbdc_cpattr',chr(9),getfieldname(Query1,sqlstr),Query2,Query3);
  //export_data(DataShare_frm.Query1,sqlstr,'SBDC_CPATTR','');

  sqlstr:='select * from SBDC_DEPT where 1=2';
  FlatGauge1.Progress :=45;
  imp_sbdc_pyitem(d+'sbdc_dept.txt','sbdc_dept',chr(9),getfieldname(Query1,sqlstr),Query2,Query3);
  //export_data(DataShare_frm.Query1,sqlstr,'SBDC_DEPT','');


  sqlstr:='select * from SBDC_ECMODE where 1=2';
  imp_sbdc_pyitem(d+'sbdc_ecmode.txt','sbdc_ecmode',chr(9),getfieldname(Query1,sqlstr),Query2,Query3);
  //export_data(DataShare_frm.Query1,sqlstr,'SBDC_ECMODE','');

  sqlstr:='select * from sbdc_pyitem where 1=2';
  imp_sbdc_pyitem(d+'sbdc_pyitem.txt','sbdc_pyitem',chr(9),getfieldname(Query1,sqlstr),Query2,Query3);
  //export_data(DataShare_frm.Query1,sqlstr,'sbdc_pyitem','');

  sqlstr:='select * from SBDC_SUBJ where 1=2';
  imp_sbdc_pyitem(d+'sbdc_subj.txt','sbdc_subj',chr(9),getfieldname(Query1,sqlstr),Query2,Query3);

  sqlstr:='select * from SBDC_TRADE where 1=2';
  imp_sbdc_pyitem(d+'sbdc_trade.txt','sbdc_trade',chr(9),getfieldname(Query1,sqlstr),Query2,Query3);
  //export_data(DataShare_frm.Query1,sqlstr,'SBDC_TRADE','');

  {sqlstr:='select * from SBDC_TRADE';
  export_data(DataShare_frm.Query1,sqlstr,'SBDC_TRADE','');}

  sqlstr:='select * from SBDS_INANCONS where 1=2';
  imp_sbdc_pyitem(d+'sbds_inancons.txt','sbds_inancons',chr(9),getfieldname(Query1,sqlstr),Query2,Query3);
  //export_data(DataShare_frm.Query1,sqlstr,'SBDS_INANCONS','');

  sqlstr:='select * from SBDS_INCONS where 1=2';
  imp_sbdc_pyitem(d+'sbds_incons.txt','sbds_incons',chr(9),getfieldname(Query1,sqlstr),Query2,Query3);
  //export_data(DataShare_frm.Query1,sqlstr,'SBDS_INCONS','');

  sqlstr:='select * from SBDU_PSWGCASE where 1=2';
  FlatGauge1.Progress :=50;
  imp_sbdu_pswgcase(d+'sbdu_pswgcase.txt','sbdu_pswgcase',chr(9),getfieldname(Query1,sqlstr),Query2,Query3);

  sqlstr:='select * from SBDZ_HTARCH where 1=2';
  FlatGauge1.Progress :=55;
  imp_sbdz_htarch(d+'sbdz_htarch.txt','sbdz_htarch',chr(9),getfieldname(Query1,sqlstr),Query2,Query3);
  //export_data(DataShare_frm.Query1,sqlstr,'SBDZ_HTARCH','');

  sqlstr:='select * from SBDZ_PSAGACCT where 1=2';
  FlatGauge1.Progress :=60;
  imp_sbda_psagacct(d+'sbdz_psagacct.txt','sbdz_psagacct',chr(9),getfieldname(Query1,sqlstr),Query2,Query3);
  //export_data(DataShare_frm.Query1,sqlstr,'SBDZ_PSAGACCT','');

  sqlstr:='select * from SBDZ_PSPAUSE where 1=2';
  FlatGauge1.Progress :=65;
  imp_sbdz_htarch(d+'sbdz_pspause.txt','sbdz_pspause',chr(9),getfieldname(Query1,sqlstr),Query2,Query3);
  //export_data(DataShare_frm.Query1,sqlstr,'SBDZ_PSPAUSE','');

  sqlstr:='select * from SBDZ_PSWGCASE where 1=2';
  FlatGauge1.Progress :=70;
  imp_sbdz_pswgcase(d+'sbdz_pswgcase.txt','sbdz_pswgcase',chr(9),getfieldname(Query1,sqlstr),Query2,Query3);
  //export_data(DataShare_frm.Query1,sqlstr,'SBDZ_PSWGCASE','');

  sqlstr:='select * from SBDZ_RTACCT where 1=2';
  FlatGauge1.Progress :=70;
  imp_sbdz_pswgcase(d+'sbdz_rtacct.txt','sbdz_rtacct',chr(9),getfieldname(Query1,sqlstr),Query2,Query3);
  //export_data(DataShare_frm.Query1,sqlstr,'SBDZ_RTACCT','');

  sqlstr:='select * from USERS where 1=2';
  FlatGauge1.Progress :=75;
  imp_users(d+'users.txt','users',chr(9),getfieldname(Query1,sqlstr),Query2,Query3);

  sqlstr:='select * from Account_Moving where 1=2';
  FlatGauge1.Progress :=80;
  //imp_sbda_psagacct(d+'Account_Moving.txt','Account_Moving',chr(9),getfieldname(Query1,sqlstr),Query2,Query3);
  imp_sbdz_htarch(d+'Account_Moving.txt','Account_Moving',chr(9),getfieldname(Query1,sqlstr),Query2,Query3);

  sqlstr:='select * from sbdz_InEsiis where 1=2'; 
  imp_sbdz_htarch(d+'sbdz_InEsiis.txt','sbdz_InEsiis',chr(9),getfieldname(Query1,sqlstr),Query2,Query3);

  sqlstr:='select * from sbdz_rtwage where 1=2';
  FlatGauge1.Progress :=85;
  Imp_sbdb_rtwage(d+'sbdz_rtwage.txt','sbdz_rtwage',chr(9),getfieldname(Query1,sqlstr),Query2,Query3);
  //imp_sbdz_htarch(d+'sbdz_rtwage.txt','sbdz_rtwage',chr(9),getfieldname(Query1,sqlstr),Query2,Query3);

  FlatGauge1.Progress :=90;
  DBs.Commit ;
  //export_data(DataShare_frm.Query1,sqlstr,'USERS','');
 end;
 except
   DataShare_frm.Dbs.Rollback ;
   //deleteall(d);
   deleteall(d+'importfile\');
   cursor:=crdefault;
   application.MessageBox('数据恢复出现异常!','恩普软件',mb_iconerror+mb_ok);
   exit;
 end;
 deleteall(d);
 FlatGauge1.Progress :=100;
 cursor:=crdefault;
 application.MessageBox('数据恢复成功!','恩普软件',mb_iconinformation+mb_ok);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -