281 lines
9.2 KiB
ObjectPascal
281 lines
9.2 KiB
ObjectPascal
unit uKioskView;
|
||
|
||
interface
|
||
|
||
uses
|
||
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
|
||
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, cxGraphics, cxControls, cxLookAndFeels,
|
||
cxLookAndFeelPainters, cxStyles, cxCustomData, cxFilter, cxData,
|
||
cxDataStorage, cxEdit, cxNavigator, dxDateRanges, dxScrollbarAnnotations,
|
||
cxGridLevel, cxGridCustomTableView, cxGridTableView, cxClasses,
|
||
cxGridCustomView, cxGrid, Vcl.StdCtrls, Vcl.ExtCtrls, Vcl.WinXPickers,
|
||
MaterialData, SaleItemMst, DateUtils, cxTextEdit;
|
||
|
||
type
|
||
TfKioskView = class(TForm)
|
||
Pan_tab_6: TPanel;
|
||
Panel45: TPanel;
|
||
Button5: TButton;
|
||
cxGrid1: TcxGrid;
|
||
cxGridTableView1: TcxGridTableView;
|
||
cxGridTableView1Column3: TcxGridColumn;
|
||
cxGridTableView1Column4: TcxGridColumn;
|
||
cxGridTableView1Column5: TcxGridColumn;
|
||
cxGridTableView1Column6: TcxGridColumn;
|
||
cxGridTableView1Column7: TcxGridColumn;
|
||
cxGridTableView1Column8: TcxGridColumn;
|
||
cxGridLevel1: TcxGridLevel;
|
||
DatePicker7: TDatePicker;
|
||
Label63: TLabel;
|
||
RadioGroup2: TRadioGroup;
|
||
Panel58: TPanel;
|
||
DatePicker1: TDatePicker;
|
||
Label1: TLabel;
|
||
Button1: TButton;
|
||
cxGridTableView1Column2: TcxGridColumn;
|
||
cxGridTableView1Column1: TcxGridColumn;
|
||
cxGrid1Level1: TcxGridLevel;
|
||
cxGrid1Level2: TcxGridLevel;
|
||
cxGrid1TableView1: TcxGridTableView;
|
||
cxGrid1TableView2: TcxGridTableView;
|
||
RadioGroup1: TRadioGroup;
|
||
Edit1: TEdit;
|
||
cxGrid1TableView1Column2: TcxGridColumn;
|
||
cxGrid1TableView1Column1: TcxGridColumn;
|
||
cxGrid1TableView1Column4: TcxGridColumn;
|
||
cxGrid1TableView1Column5: TcxGridColumn;
|
||
cxGrid1TableView1Column6: TcxGridColumn;
|
||
cxGrid1TableView1Column7: TcxGridColumn;
|
||
cxGrid1TableView1Column8: TcxGridColumn;
|
||
cxGrid1TableView2Column1: TcxGridColumn;
|
||
cxGrid1TableView2Column2: TcxGridColumn;
|
||
cxGrid1TableView2Column4: TcxGridColumn;
|
||
cxGrid1TableView2Column5: TcxGridColumn;
|
||
cxGrid1TableView2Column6: TcxGridColumn;
|
||
cxGrid1TableView2Column7: TcxGridColumn;
|
||
cxGrid1TableView1Column3: TcxGridColumn;
|
||
cxGrid1TableView2Column3: TcxGridColumn;
|
||
Memo1: TMemo;
|
||
RadioButton1: TRadioButton;
|
||
RadioButton2: TRadioButton;
|
||
RadioButton3: TRadioButton;
|
||
RadioButton4: TRadioButton;
|
||
Label2: TLabel;
|
||
procedure Button5Click(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure Button1Click(Sender: TObject);
|
||
procedure RadioButton1Click(Sender: TObject);
|
||
private
|
||
procedure GridRefresh(ck: Integer; s_date, e_date, str: string);
|
||
{ Private declarations }
|
||
public
|
||
{ Public declarations }
|
||
end;
|
||
|
||
var
|
||
fKioskView: TfKioskView;
|
||
|
||
implementation
|
||
uses uKiosk, uDM;
|
||
|
||
{$R *.dfm}
|
||
|
||
procedure TfKioskView.Button1Click(Sender: TObject);
|
||
begin
|
||
GridRefresh(RadioGroup1.ItemIndex,
|
||
FormatDateTime('yyyy-mm-dd',DatePicker7.Date),
|
||
FormatDateTime('yyyy-mm-dd',DatePicker1.Date),
|
||
Edit1.Text);
|
||
end;
|
||
|
||
procedure TfKioskView.GridRefresh(ck:Integer; s_date,e_date,str:string);
|
||
var
|
||
row_ck, i : integer;
|
||
tmpList : TList;
|
||
kind : string;
|
||
MaterialData : TMaterialData;
|
||
SaleItemMst : TSaleItemMst;
|
||
begin
|
||
try
|
||
try
|
||
tmpList := TList.Create;
|
||
kind := '';
|
||
case RadioGroup1.ItemIndex of
|
||
0 :
|
||
begin
|
||
MaterialData := TMaterialData.Create(Self);
|
||
if RadioGroup2.ItemIndex > 0 then kind := RadioGroup2.Items.Strings[RadioGroup2.ItemIndex];
|
||
|
||
tmpList := MaterialData.xGetStrSqlMaterialDataList(dm.FDQuery1,kind,'',Edit1.Text,'NORMAL',s_date,e_date);
|
||
|
||
with cxGridTableView1.DataController do begin
|
||
try
|
||
BeginUpdate;
|
||
RecordCount := 0;
|
||
finally
|
||
EndUpdate;
|
||
end;
|
||
|
||
try
|
||
BeginUpdate;
|
||
for I := 0 to tmpList.Count-1 do begin
|
||
MaterialData := TMaterialData(tmpList.Items[i]);
|
||
|
||
row_ck := AppendRecord;
|
||
|
||
Values[row_ck,cxGridTableView1Column1.Index] := MaterialData.OrdDate;
|
||
Values[row_ck,cxGridTableView1Column2.Index] := MaterialData.Kind;
|
||
Values[row_ck,cxGridTableView1Column3.Index] := MaterialData.OrdCode;
|
||
Values[row_ck,cxGridTableView1Column4.Index] := MaterialData.Name;
|
||
if MaterialData.kind = '<27><EFBFBD>' then
|
||
Values[row_ck,cxGridTableView1Column5.Index] := MaterialData.InQty
|
||
else
|
||
Values[row_ck,cxGridTableView1Column5.Index] := MaterialData.OutQty;
|
||
Values[row_ck,cxGridTableView1Column6.Index] := MaterialData.Unitt;
|
||
Values[row_ck,cxGridTableView1Column7.Index] := MaterialData.CustName;
|
||
Values[row_ck,cxGridTableView1Column8.Index] := MaterialData.Descriptions;
|
||
end;
|
||
finally
|
||
EndUpdate;
|
||
end;
|
||
end;
|
||
end;
|
||
1 :
|
||
begin // cxGrid1TableView1
|
||
MaterialData := TMaterialData.Create(Self);
|
||
if RadioGroup2.ItemIndex > 0 then kind := RadioGroup2.Items.Strings[RadioGroup2.ItemIndex];
|
||
|
||
tmpList := MaterialData.xGetStrSqlMaterialDataList(dm.FDQuery1,kind,'',Edit1.Text,'RTP',s_date,e_date);
|
||
|
||
with cxGrid1TableView1.DataController do begin
|
||
try
|
||
BeginUpdate;
|
||
RecordCount := 0;
|
||
finally
|
||
EndUpdate;
|
||
end;
|
||
|
||
try
|
||
BeginUpdate;
|
||
for I := 0 to tmpList.Count-1 do begin
|
||
MaterialData := TMaterialData(tmpList.Items[i]);
|
||
|
||
row_ck := AppendRecord;
|
||
|
||
Values[row_ck,cxGrid1TableView1Column1.Index] := MaterialData.OrdDate;
|
||
Values[row_ck,cxGrid1TableView1Column2.Index] := MaterialData.Kind;
|
||
Values[row_ck,cxGrid1TableView1Column3.Index] := MaterialData.OrdCode;
|
||
Values[row_ck,cxGrid1TableView1Column4.Index] := MaterialData.Name;
|
||
if MaterialData.kind = '<27><EFBFBD>' then
|
||
Values[row_ck,cxGridTableView1Column5.Index] := MaterialData.InQty
|
||
else
|
||
Values[row_ck,cxGridTableView1Column5.Index] := MaterialData.OutQty;
|
||
Values[row_ck,cxGrid1TableView1Column6.Index] := MaterialData.Unitt;
|
||
Values[row_ck,cxGrid1TableView1Column7.Index] := MaterialData.CustName;
|
||
Values[row_ck,cxGrid1TableView1Column8.Index] := MaterialData.Descriptions;
|
||
end;
|
||
finally
|
||
EndUpdate;
|
||
end;
|
||
end;
|
||
end;
|
||
2 :
|
||
begin
|
||
SaleItemMst := TSaleItemMst.Create(Self);
|
||
if RadioGroup2.ItemIndex > 0 then kind := RadioGroup2.Items.Strings[RadioGroup2.ItemIndex];
|
||
|
||
tmpList := SaleItemMst.xGetStrSqlSaleItemMstList(dm.FDQuery1,kind,'',Label2.Caption,s_date,e_date);
|
||
|
||
with cxGrid1TableView2.DataController do begin
|
||
try
|
||
BeginUpdate;
|
||
RecordCount := 0;
|
||
finally
|
||
EndUpdate;
|
||
end;
|
||
|
||
try
|
||
BeginUpdate;
|
||
for I := 0 to tmpList.Count-1 do begin
|
||
SaleItemMst := TSaleItemMst(tmpList.Items[i]);
|
||
|
||
row_ck := AppendRecord;
|
||
|
||
Values[row_ck,cxGrid1TableView1Column1.Index] := SaleItemMst.Kind;
|
||
Values[row_ck,cxGrid1TableView1Column2.Index] := SaleItemMst.OrdDate;
|
||
Values[row_ck,cxGrid1TableView1Column3.Index] := SaleItemMst.CustName;
|
||
Values[row_ck,cxGrid1TableView1Column4.Index] := SaleItemMst.Name;
|
||
Values[row_ck,cxGrid1TableView1Column5.Index] := SaleItemMst.Qty;
|
||
Values[row_ck,cxGrid1TableView1Column6.Index] := SaleItemMst.Unitt;
|
||
Values[row_ck,cxGrid1TableView1Column7.Index] := SaleItemMst.Descriptions;
|
||
end;
|
||
finally
|
||
EndUpdate;
|
||
end;
|
||
end;
|
||
end;
|
||
end;
|
||
finally
|
||
tmpList.Free;
|
||
end;
|
||
except
|
||
on E: Exception do
|
||
Memo1.Lines.Add('['+FormatDateTime('yyyymmdd hhnnss.zzz',now)+'] '+'<27><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>: ' + E.Message);
|
||
end;
|
||
end;
|
||
|
||
procedure TfKioskView.RadioButton1Click(Sender: TObject);
|
||
begin
|
||
case (Sender as TRadioButton).Tag of
|
||
0 : begin
|
||
DatePicker7.Date := Now;
|
||
DatePicker1.Date := Now;
|
||
end;
|
||
1 : begin
|
||
DatePicker7.Date := IncDay(DatePicker1.Date,-7);
|
||
DatePicker1.Date := Now;
|
||
end;
|
||
2 : begin
|
||
DatePicker7.Date := IncDay(DatePicker1.Date,-30);
|
||
DatePicker1.Date := Now;
|
||
end;
|
||
3 : begin
|
||
DatePicker7.Date := IncDay(DatePicker1.Date,-90);
|
||
DatePicker1.Date := Now;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure TfKioskView.Button5Click(Sender: TObject);
|
||
begin
|
||
close;
|
||
end;
|
||
|
||
procedure TfKioskView.FormShow(Sender: TObject);
|
||
begin
|
||
top := fKiosk.top+131;
|
||
left := fKiosk.Left;
|
||
|
||
DatePicker7.Date := Now;
|
||
DatePicker1.Date := Now;
|
||
|
||
case RadioGroup1.ItemIndex of
|
||
0 : begin
|
||
cxGridLevel1.Active := True;
|
||
end;
|
||
1 : begin
|
||
cxGrid1Level1.Active := True;
|
||
end;
|
||
2 : begin
|
||
cxGrid1Level2.Active := True;
|
||
end;
|
||
end;
|
||
|
||
GridRefresh(RadioGroup1.ItemIndex,
|
||
FormatDateTime('yyyy-mm-dd',DatePicker7.Date),
|
||
FormatDateTime('yyyy-mm-dd',DatePicker1.Date),
|
||
Edit1.Text);
|
||
end;
|
||
|
||
end.
|