?? ord330_01.pas.svn-base
字號:
unit Ord330_01;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Bas200_03, dxExEdtr, ActnList, DB, ADODB, Menus, dxCntner, dxTL,
dxDBCtrl, dxDBGrid, ExtCtrls, ComCtrls, ToolWin, Buttons, StdCtrls,
wwdbdatetimepicker, dxDBTLCl, dxGrClms;
type
TOrd330_01Form = class(TBas200_03Form)
lblType: TLabel;
cbType: TComboBox;
edtDays: TEdit;
UpDown1: TUpDown;
lblDays: TLabel;
sbSearch: TSpeedButton;
edtFromDate: TwwDBDateTimePicker;
lblDate: TLabel;
dxDBGrid1O150_002: TdxDBGridColumn;
dxDBGrid1O150_003: TdxDBGridColumn;
dxDBGrid1O150_004: TdxDBGridColumn;
dxDBGrid1I150_003: TdxDBGridColumn;
dxDBGrid1O153_003: TdxDBGridColumn;
dxDBGrid1O153_004: TdxDBGridColumn;
dxDBGrid1FFromdate: TdxDBGridDateColumn;
dxDBGrid1FDay: TdxDBGridMaskColumn;
ADOQuery1O150_002: TWideStringField;
ADOQuery1O150_003: TWideStringField;
ADOQuery1O150_004: TWideStringField;
ADOQuery1I150_003: TWideStringField;
ADOQuery1O153_003: TWideStringField;
ADOQuery1O153_004: TWideStringField;
ADOQuery1FFromdate: TDateTimeField;
ADOQuery1FDay: TFloatField;
procedure FormCreate(Sender: TObject);
procedure sbSearchClick(Sender: TObject);
private
{ Private declarations }
procedure ByPay(AFromDate:TDateTime;ADays:integer);
procedure ByFree(AFromDate:TDateTime;ADays:integer);
public
{ Public declarations }
procedure SetInterface; override;
procedure BrowseEvent; override;
procedure ReportGetValue(const ParName: String; var ParValue: Variant); override;
end;
var
Ord330_01Form: TOrd330_01Form;
implementation
uses SYSDATA, CommFun, HwSelData;
{$R *.dfm}
procedure TOrd330_01Form.BrowseEvent;
begin
inherited;
end;
procedure TOrd330_01Form.ByFree(AFromDate: TDateTime; ADays: integer);
begin
//免費保養
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select O150_002,O150_003,O150_004,I150_003,O153_003,O153_004,O153_010 as FFromdate,O153_010-now as FDay');
ADOQuery1.SQL.Add(' from ORD150,INV150,ORD153');
ADOQuery1.SQL.Add(' where O150_001=O153_001 and O153_002=I150_001 and O153_010>='+GetDateString(AFromDate)+' and O153_010-'+GetDateString(AFromDate)+'<='+ inttostr(ADays));
ADOQuery1.SQL.Add(' order by O150_002,O153_010');
ADOQuery1.Open;
end;
procedure TOrd330_01Form.ByPay(AFromDate: TDateTime; ADays: integer);
begin
//收費保養
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select O150_002,O150_003,O150_004,I150_003,O153_003,O153_004,O153_008 as FFromdate,O153_008-now as FDay');
ADOQuery1.SQL.Add(' from ORD150,INV150,ORD153');
ADOQuery1.SQL.Add(' where O150_001=O153_001 and O153_002=I150_001 and O153_008>='+GetDateString(AFromDate)+' and O153_008-'+GetDateString(AFromDate)+'<='+ inttostr(ADays));
ADOQuery1.SQL.Add(' order by O150_002,O153_008');
ADOQuery1.Open;
end;
procedure TOrd330_01Form.FormCreate(Sender: TObject);
var
ADate:TDateTime;
begin
inherited;
ADate:=GetServerDate;
edtFromDate.Date:=ADate;
sbSearch.Click;
end;
procedure TOrd330_01Form.ReportGetValue(const ParName: String;
var ParValue: Variant);
begin
inherited;
end;
procedure TOrd330_01Form.sbSearchClick(Sender: TObject);
var
AFromDate:TDateTime;
ADays:Integer;
begin
inherited;
//查詢
if (edtFromDate.Text='') then
begin
ShowMsg('UMS10000319'); //起止日期不可為空
if edtFromDate.Text='' then edtFromDate.SetFocus;
Abort;
end;
AFromDate:=edtFromDate.Date;
ADays:=UpDown1.Position;
Screen.Cursor:=crHourGlass;
if Assigned(SYSDM.wwFilterDialog1.Form) then SYSDM.wwFilterDialog1.ClearFilter;
ADOQuery1.DisableControls;
case cbType.ItemIndex of
0:ByPay(AFromDate,ADays); //收費保養
1:ByFree(AFromDate,ADays); //免費保養
end;
ADOQuery1.EnableControls;
Screen.Cursor:=crDefault;
end;
procedure TOrd330_01Form.SetInterface;
begin
inherited;
Caption:=GetDBString('ORD30001001'); //銷售產品查詢
lblType.Caption:=GetDBString('ORD30001002'); //類型
lblDate.Caption:=GetDBString('ORD30001003'); //開始日期
lblDays.Caption:=GetDBString('ORD30001004'); //提前天數
sbSearch.Caption:=GetDBString('ORD30001005'); //查詢
cbType.Clear;
cbType.Items.Add(GetDBString('ORD30001006')); //收費保養
cbType.Items.Add(GetDBString('ORD30001007')); //免費保養
cbType.ItemIndex:=0;
ADOQuery1O150_002.DisplayLabel:=GetDBString('ORD30001008'); //客戶編號
ADOQuery1O150_003.DisplayLabel:=GetDBString('ORD30001009'); //客戶名稱
ADOQuery1O150_004.DisplayLabel:=GetDBString('ORD30001010'); //客戶簡稱
ADOQuery1I150_003.DisplayLabel:=GetDBString('ORD30001011'); //料品名稱
ADOQuery1O153_003.DisplayLabel:=GetDBString('ORD30001012'); //機身編號
ADOQuery1O153_004.DisplayLabel:=GetDBString('ORD30001013'); //控制器號
ADOQuery1FFromdate.DisplayLabel:=GetDBString('ORD30001014'); //保養結束日期
ADOQuery1FDay.DisplayLabel:=GetDBString('ORD30001015'); //距離天數
end;
initialization
RegisterClass(TOrd330_01Form);
finalization
UnRegisterClass(TOrd330_01Form);
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -