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

📄 jscssj1.pas

📁 思微POS连锁超市管理系统 (商业代码),几年前的东西了
💻 PAS
字号:
unit jscssj1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Db, DBTables, BMDThread, Menus, ExtCtrls, StdCtrls, AliasEd, IniFiles;

type
  Tsjcs = class(TForm)
    Database1: TDatabase;
    BatchMove1: TBatchMove;
    Table2: TTable;
    Table1: TTable;
    BatchMove2: TBatchMove;
    Table3: TTable;
    Table4: TTable;
    BatchMove3: TBatchMove;
    Table5: TTable;
    Table6: TTable;
    BatchMove5: TBatchMove;
    Table9: TTable;
    Table10: TTable;
    BMDThread7: TBMDThread;
    Query1: TQuery;
    Query2: TQuery;
    Query3: TQuery;
    Query4: TQuery;
    Query5: TQuery;
    Query6: TQuery;
    Query7: TQuery;
    Query8: TQuery;
    Query9: TQuery;
    BatchMove6: TBatchMove;
    Table11: TTable;
    Table12: TTable;
    Table13: TTable;
    BatchMove7: TBatchMove;
    Table14: TTable;
    BatchMove8: TBatchMove;
    Table15: TTable;
    Table16: TTable;
    Table17: TTable;
    BatchMove9: TBatchMove;
    Table18: TTable;
    AliasEditor1: TAliasEditor;
    Memo1: TMemo;
    Timer1: TTimer;
    Memo2: TMemo;
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure BMDThread7Execute(Sender: TObject; Thread: TBMDExecuteThread;
      var Data: Pointer);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  sjcs: Tsjcs;

implementation

uses login1;

{$R *.DFM}

procedure Tsjcs.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if BMDThread7.Runing then
  begin
    CanClose := false;
  end;
end;

procedure Tsjcs.BMDThread7Execute(Sender: TObject;
  Thread: TBMDExecuteThread; var Data: Pointer);
begin
  Memo2.Lines.Add('正在接收付款方式数据...');
  BatchMove2.Execute;
  Memo2.Lines.Add('OK...');
  Memo2.Lines.Add('正在接收商品档案数据...');
  if sjcs.Visible = true then
  begin
    BatchMove1.Execute;
  end;
  Memo2.Lines.Add('OK...');
  Memo2.Lines.Add('正在接收收款员档案数据...');
  BatchMove3.Execute;
  Memo2.Lines.Add('OK...');
  Memo2.Lines.Add('正在接收商品促销数据...');
  BatchMove5.Execute;
  Memo2.Lines.Add('OK...');
  Memo2.Lines.Add('正在上传会员消费数据...');
  BatchMove8.Execute;
  Table15.Close;
  Table15.EmptyTable;
  Table15.open;
  Memo2.Lines.Add('OK...');
  Memo2.Lines.Add('正在接收打印方式数据...');
  BatchMove9.Execute;
  Memo2.Lines.Add('OK...');
  Memo2.Lines.Add('正在接收付款方式数据...');
  BatchMove6.Execute;
  Memo2.Lines.Add('OK...');
  Memo2.Lines.Add('正在上传销售主表数据...');
  BatchMove7.Execute;
  Query1.close;
  Query1.sql.clear;
  Query1.sql.add('select * from spxs_m');
  Query1.open;
  Query1.first;
  while not Query1.eof do
  begin
    try
      Query2.close;
      Query2.sql.clear;
      Query2.sql.add('insert into spxs_m(mdid,posid,xsid,xsrq,skyid,xsje,zkje,xssd)');
      Query2.sql.add('values (:mdid,:posid,:xsid,:xsrq,:skyid,:xsje,:zkje,:xssd)');
      Query2.ParamByName('mdid').asstring := Query1.fieldbyname('mdid').asstring;
      Query2.ParamByName('posid').asstring := Query1.fieldbyname('posid').asstring;
      Query2.ParamByName('xsid').asstring := Query1.fieldbyname('xsid').asstring;
      Query2.ParamByName('xsrq').asdate := Query1.fieldbyname('xsrq').asdatetime;
      Query2.ParamByName('skyid').asstring := Query1.fieldbyname('skyid').asstring;
      Query2.ParamByName('xssd').asstring := Query1.fieldbyname('xssd').asstring;
      Query2.ParamByName('xsje').asfloat := Query1.fieldbyname('xsje').asfloat;
      Query2.ParamByName('zkje').asfloat := Query1.fieldbyname('zkje').asfloat;
      Query2.ExecSQL;
      Query3.close;
      Query3.sql.clear;
      Query3.sql.add('delete from spxs_m where xsid=:xsid');
      Query3.ParamByName('xsid').asstring := Query1.fieldbyname('xsid').asstring;
      Query3.ExecSQL;
    except
      Memo2.Lines.Add('错误:ID=' + Query4.fieldbyname('id').asstring);
    end;
    Query1.Next;
  end;
  Memo2.Lines.Add('OK...');
  Memo2.Lines.Add('正在上传销售子表数据...');
  Query4.close;
  Query4.sql.clear;
  Query4.sql.add('select * from spxs_s');
  Query4.open;
  Query4.first;
  while not Query4.eof do
  begin
    try
      Query5.close;
      Query5.sql.clear;
      Query5.sql.add('insert into spxs_s(xsid,spcode,dj,sl,je,zk,zkje,xsrq,sfcx,jhj)');
      Query5.sql.add('values (:xsid,:spcode,:dj,:sl,:je,:zk,:zkje,:xsrq,:sfcx,:jhj)');
      Query5.ParamByName('xsid').asstring := Query4.fieldbyname('xsid').asstring;
      Query5.ParamByName('spcode').asstring := Query4.fieldbyname('spcode').asstring;
      Query5.ParamByName('dj').asfloat := Query4.fieldbyname('dj').asfloat;
      Query5.ParamByName('sl').asfloat := Query4.fieldbyname('sl').asfloat;
      Query5.ParamByName('je').asfloat := Query4.fieldbyname('je').asfloat;
      Query5.ParamByName('zk').asfloat := Query4.fieldbyname('zk').asfloat;
      Query5.ParamByName('zkje').asfloat := Query4.fieldbyname('zkje').asfloat;
      Query5.ParamByName('xsrq').asdate := Query4.fieldbyname('xsrq').asdatetime;
      Query5.ParamByName('sfcx').asstring := Query4.fieldbyname('sfcx').asstring;
      Query5.ParamByName('jhj').asfloat := Query4.fieldbyname('jhj').asfloat;
      Query5.ExecSQL;
      Query6.close;
      Query6.sql.clear;
      Query6.sql.add('delete from spxs_s where id=:id');
      Query6.ParamByName('id').asstring := Query4.fieldbyname('id').asstring;
      Query6.ExecSQL;
    except
      Memo2.Lines.Add('错误:ID=' + Query4.fieldbyname('id').asstring);
    end;
    Query4.Next;
  end;
  Memo2.Lines.Add('OK...');
  Memo2.Lines.Add('正在上传收款数据...');
  Query7.close;
  Query7.sql.clear;
  Query7.sql.add('select * from syfk');
  Query7.open;
  Query7.first;
  while not Query7.eof do
  begin
    try
      Query8.close;
      Query8.sql.clear;
      Query8.sql.add('insert into syfk(mdid,posid,xsrq,xsid,fkfsid,fkje)');
      Query8.sql.add('values (:mdid,:posid,:xsrq,:xsid,:fkfsid,:fkje)');
      Query8.ParamByName('xsid').asstring := Query7.fieldbyname('xsid').asstring;
      Query8.ParamByName('mdid').asstring := Query7.fieldbyname('mdid').asstring;
      Query8.ParamByName('posid').asstring := Query7.fieldbyname('posid').asstring;
      Query8.ParamByName('fkfsid').asstring := Query7.fieldbyname('fkfsid').asstring;
      Query8.ParamByName('fkje').asfloat := Query7.fieldbyname('fkje').asfloat;
      Query8.ParamByName('xsrq').asdate := Query7.fieldbyname('xsrq').asdatetime;
      Query8.ExecSQL;
      Query9.close;
      Query9.sql.clear;
      Query9.sql.add('delete from syfk where id=:id');
      Query9.ParamByName('id').asstring := Query7.fieldbyname('id').asstring;
      Query9.ExecSQL;
    except
      Memo2.Lines.Add('错误:ID=' + Query4.fieldbyname('id').asstring);
    end;
    Query7.Next;
  end;
  Memo2.Lines.Add('OK...');
  Memo2.Lines.Add('数据传送完毕,按取消键退出...');
  BMDThread7.Stop;
end;

procedure Tsjcs.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = 27 then close;
end;

procedure Tsjcs.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=cafree;
end;

procedure Tsjcs.FormCreate(Sender: TObject);
var ch: string;
  FileHandle: Integer;
  Link: Tinifile;
begin
  if BMDThread7.Runing then exit;
  try
    Database1.Connected := false;
    Link := Tinifile.Create(ExtractFilePath(Paramstr(0)) + 'Link.ini');
    ch := 'server';
    if AliasEditor1.Exists(ch) = false then
      AliasEditor1.Add(ch, 'MSSQL', Memo1.Lines);
     Database1.AliasName := 'posserver';
     Database1.DatabaseName := 'server';
    Database1.Params.Text := 'DATABASE NAME=' + Link.Readstring('SERVER', 'DATABASE NAME', 'lxf');
    Database1.Params.Add('SERVER NAME=' + Link.Readstring('SERVER', 'SERVER NAME', '.'));
    Database1.Params.Add('USER NAME=' + Link.Readstring('SERVER', 'USER NAME', 'sa'));
    Database1.Params.Add('PASSWORD=' + Link.Readstring('SERVER', 'PASSWORD', 'sa'));
    Link.Destroy;
    Database1.Connected := true;
  except
    Memo2.Lines.Add('连接数据库失败,请检查数据库是否启动或配置文件 Link.ini 是否正确.');
    exit;
  end;
  BMDThread7.Start();
end;

end.

⌨️ 快捷键说明

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