SmartFactory_NEOL/SOURCE/Agent,Kiosk/NEOL-KIOSK/uKioskView.pas
2026-09-04 14:08:41 +09:00

281 lines
9.2 KiB
ObjectPascal
Raw Blame History

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.