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

📄 rpposdf.pas

📁 DELPHI编写的商场收银POS机源代码
💻 PAS
字号:
unit RPPOSDF;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Menus, StdCtrls, Buttons, ExtCtrls, JLOOKUP, JEdit, Gauges, Db, DBTables;

type
  TRMPOSDF = class(TForm)
    BTNQUT: TBitBtn;
    MainMenu1: TMainMenu;
    F11: TMenuItem;
    F21: TMenuItem;
    F31: TMenuItem;
    F51: TMenuItem;
    F61: TMenuItem;
    ESC1: TMenuItem;
    F7: TMenuItem;
    F8: TMenuItem;
    GroupBox1: TGroupBox;
    GroupBox3: TGroupBox;
    GroupBox2: TGroupBox;
    Label3: TLabel;
    Label12: TLabel;
    Label16: TLabel;
    Label21: TLabel;
    Label24: TLabel;
    LB11: TJEdit;
    LB12: TJEdit;
    LB21: JLOOKUPBOX;
    LB31: JLOOKUPBOX;
    LB41: JLOOKUPBOX;
    Label13: TLabel;
    BTNSUM: TSpeedButton;
    LB91: TJEdit;
    Label5: TLabel;
    ED_TODAY_SUB: TLabel;
    Label11: TLabel;
    ED_TODAY_INCOME: TLabel;
    Label15: TLabel;
    Label17: TLabel;
    ED_TODAY_SALE: TLabel;
    Label6: TLabel;
    BTN_TODAY_PRN: TBitBtn;
    BTN_POSA_PRE: TBitBtn;
    BTN_POSA_PRN: TBitBtn;
    ED_SHOWPOSB: TCheckBox;
    BTN_TODAY_PRE: TBitBtn;
    DA_SHOWBMCNT: TCheckBox;
    Label8: TLabel;
    Gauge: TGauge;
    BTN_IV_CNT: TBitBtn;
    BTN_IV_KINCNT: TBitBtn;
    CBBGENO: TCheckBox;
    CBBGKIN: TCheckBox;
    Static: TStaticText;
    CBPAIVO: TCheckBox;
    QPOSD: TQuery;
    QPOSA: TQuery;
    QPOSAPAENO: TStringField;
    QPOSAPAIDE: TStringField;
    QPOSABMENO: TStringField;
    QPOSABNENO: TStringField;
    QPOSAPAIPN: TBooleanField;
    QPOSAPAIVO: TStringField;
    QPOSAPACIV: TStringField;
    QPOSAPADAT: TDateTimeField;
    QPOSAPATME: TStringField;
    QPOSAPACNT: TFloatField;
    QPOSAPACOT: TFloatField;
    QPOSAPACOG: TFloatField;
    QPOSAPACNO: TStringField;
    QPOSAPACDT: TDateTimeField;
    QPOSAPACNA: TFloatField;
    QPOSAPACKD: TStringField;
    QPOSAPABCK: TBooleanField;
    QPOSAPABCN: TBooleanField;
    QPOSAPACPD: TBooleanField;
    QPOSAPAWEK: TStringField;
    QPOSAPGCOS: TFloatField;
    ED_SHOWGIFT: TCheckBox;
    QPOSDPAIDE: TStringField;
    QPOSDBNENO: TStringField;
    QPOSDPADAT: TDateTimeField;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BTNQUTClick(Sender: TObject);
    procedure BTNSUMClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BTN_POSA_PREClick(Sender: TObject);
    procedure BTN_TODAY_PREClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
    FUNCTION CAL_POSA_TOTAL_SALE(_FIELD:STRING;T_PACNO, T_PABCK:BOOLEAN):INTEGER;
  public
    { Public declarations }
    FUNCTION ADD_LB_WHEREKEY:STRING;
  end;

var
  RMPOSDF: TRMPOSDF;

implementation

uses SYSINI, FM_UTL, UN_UTL, DB_UTL,
     RPPOSDP,
     RPPOSDP_TODAY,
//     URBR880,
     MAINU, MAIND;



{$R *.DFM}

FUNCTION TRMPOSDF.ADD_LB_WHEREKEY:STRING;
VAR STR : STRING;
BEGIN
    STR := '';
    STR := STR + FINDFORM_WHEREKEY_DATE('PADAT',LB11.Text,LB12.Text);
    STR := STR + FINDFORM_WHEREKEY_STRING('BNENO',LB21.Text,'');
    STR := STR + FINDFORM_WHEREKEY_STRING('PAIVO',LB31.Text,'');
    STR := STR + FINDFORM_WHEREKEY_STRING('PAIDE',LB41.Text,'');
    RESULT := STR;
END;

FUNCTION TRMPOSDF.CAL_POSA_TOTAL_SALE(_FIELD:STRING;T_PACNO, T_PABCK:BOOLEAN):INTEGER;
begin
  WITH FMMAIND.QUERY DO
  BEGIN
    CLOSE;
    SQL.CLEAR;
    SQL.ADD('SELECT SUM('+_FIELD+') FROM POSA');
    SQL.ADD('WHERE POSA.PAENO IS NOT NULL');
    SQL.ADD(ADD_LB_WHEREKEY);
//    IF T_PABCK = TRUE  THEN SQL.ADD('AND POSA.PABCK = 1 ');
//    IF T_PABCK = FALSE THEN SQL.ADD('AND POSA.PABCK = 0 ');
//    SHOWMESSAGE(SQL.TEXT);
    OPEN;
  END;
RESULT := FMMAIND.QUERY.Fields.Fields[0].AsInteger;
END;




procedure TRMPOSDF.FormCreate(Sender: TObject);
begin
IF FormExists('RMPOSDP')      =FALSE THEN Application.CreateForm(TRMPOSDP, RMPOSDP );
IF FormExists('RMPOSDP_TODAY')=FALSE THEN Application.CreateForm(TRMPOSDP_TODAY, RMPOSDP_TODAY );

//预设日期
LB11.Text := REGISTER_LOAD_OBJECT_STR('\MICROPOS\RPPOSDF\LB11',LB11.TEXT);
LB12.Text := REGISTER_LOAD_OBJECT_STR('\MICROPOS\RPPOSDF\LB12',LB12.TEXT);
IF (TRIM(LB11.Text) = '') AND (TRIM(LB12.Text) = '') THEN LB11.Text := EDATE_TO_CDATE(DATETOSTR(DATE));

end;

procedure TRMPOSDF.FormShow(Sender: TObject);
begin
LB11.SETFOCUS;
end;

procedure TRMPOSDF.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//日期存盘
REGISTER_SAVE_OBJECT_STR('\MICROPOS\RPPOSDF\LB11',LB11.Text);
REGISTER_SAVE_OBJECT_STR('\MICROPOS\RPPOSDF\LB12',LB12.Text);

RMPOSDF.Release;
RMPOSDP.Release;
RMPOSDP_TODAY.Release;
end;

procedure TRMPOSDF.BTNQUTClick(Sender: TObject);
begin
CLOSE;
end;

procedure TRMPOSDF.BTNSUMClick(Sender: TObject);
VAR T_SUM1, T_BGCOT : INTEGER;
begin
IF STRTOINTDEF(LB91.TEXT,-1) < 0 THEN LB91.TEXT := '0';

T_SUM1 := STRTOINTDEF(LB91.TEXT,0);
T_BGCOT:= CAL_POSA_TOTAL_SALE('POSA.PACOT',FALSE, FALSE);

ED_TODAY_SALE  .Caption := INTTOSTR( T_BGCOT );
ED_TODAY_INCOME.Caption := LB91.TEXT;
ED_TODAY_SUB   .Caption := INTTOSTR( T_BGCOT - T_SUM1 );

end;


procedure TRMPOSDF.BTN_POSA_PREClick(Sender: TObject);
begin
 RMPOSDP.ED_DAT1.Caption := LB11.Text;
 RMPOSDP.ED_DAT2.Caption := LB12.Text;

 QPOSA.CLOSE;
 QPOSA.SQL.CLEAR;
 QPOSA.SQL.ADD('SELECT * FROM POSA');
 QPOSA.SQL.ADD('WHERE PAENO IS NOT NULL');
 QPOSA.SQL.ADD(ADD_LB_WHEREKEY);
 QPOSA.SQL.ADD('ORDER BY PADAT,PATME');
 QPOSA.OPEN;

 IF SENDER = BTN_POSA_PRE THEN RMPOSDP.QuickRep.Preview;
 IF SENDER = BTN_POSA_PRN THEN RMPOSDP.QuickRep.Print;
end;

procedure TRMPOSDF.BTN_TODAY_PREClick(Sender: TObject);
begin
 RMPOSDP_TODAY.ED_DAT1.Caption := LB11.Text;
 RMPOSDP_TODAY.ED_DAT2.Caption := LB12.Text;

 QPOSD.CLOSE;
 QPOSD.SQL.CLEAR;
 QPOSD.SQL.ADD('SELECT DISTINCT(PAIDE), BNENO, PADAT FROM POSA');
 QPOSD.SQL.ADD(' WHERE PAENO IS NOT NULL');
 QPOSD.SQL.ADD(ADD_LB_WHEREKEY);
 QPOSD.SQL.ADD('ORDER BY PADAT, PAIDE, BNENO');
 QPOSD.OPEN;

IF SENDER = BTN_TODAY_PRE THEN RMPOSDP_TODAY.QuickRep.Preview;
IF SENDER = BTN_TODAY_PRN THEN RMPOSDP_TODAY.QuickRep.Print;
end;


end.

⌨️ 快捷键说明

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