barcodequery.pas
来自「Barcode And LabelPrint」· PAS 代码 · 共 451 行 · 第 1/2 页
PAS
451 行
SQL.Text := sqlstrsub + sqlstr + ' order by a.BarCode';
Prepared := true;
Open;
//'select a.*,c.DevName,a.CustomerName from BarCode a,DeviceType c where a.Devnum=c.Devnum '
sqlstrOrderID := 'select distinct a.OrderId from BarCode a,DeviceType c where a.Devnum=c.Devnum '; //
sqlstrGBarCodeID := 'select distinct a.GBarCodeID from BarCode a,DeviceType c where a.Devnum=c.Devnum';
sqlstrBarCode := 'select distinct a.BarCode from BarCode a,DeviceType c where a.Devnum=c.Devnum';
sqlstrOrderID := sqlstrOrderID + sqlstr;
sqlstrGBarCodeID := sqlstrGBarCodeID + sqlstr;
sqlstrBarCode := sqlstrBarCode + sqlstr;
//Parameters.Items[0].Value := strtodate(FormatDateTime('yyyy-mm-dd',DateTimePickerPostDateSart.Date)); //如果不转换oracle将提示数据类型不一致
//Parameters.Items[1].Value := FormatDateTime('yyyy-mm-dd',FormatDateTime('yyyy-mm-dd',DateTimePickerPostDateEnd.Date));
//sqlstr:=SQL.Text;
//EdtSum.Text := inttostr(RecordCount);
//EdtSum.Text :=sqlstr;
end;
ordersToTreeView;
end;
procedure TFrmBarCodeQuery.ordersToTreeView;
var
nodeOrderID, nodeGBarCode: TTreeNode;
sqlstr:string;
begin
fcTreeView1.Items.Clear;
QOrders := TADOQuery.Create(self);
QGBarcode := TADOQuery.Create(self);
DataSource1.DataSet:=QOrders;
DataSource2.DataSet:=QGBarcode;
try
with QOrders do
begin
Connection := StockDM.ADOConn;
close;
sql.Clear;
sql.Add(format('select d.* from Orders d where OrderiD in (%s)', [sqlstrOrderID]));
open;
first;
QGBarcode.close;
QGBarcode.Connection := StockDM.ADOConn;
QGBarcode.sql.Clear;
sqlstr:=format('select a.*,b.devname from GBarCode a,DeviceType b where a.devnum=b.devnum and a.GBarCodeID in (%s)', [sqlstrGBarCodeID]);
QGBarcode.sql.Add(sqlstr);
QGBarcode.open;
while not eof do
begin
nodeOrderID := fcTreeView1.items.Add(nil, FieldByName('OrderID').AsString + ' ' + FieldByName('CustomerName').AsString + ' ' + FieldByName('postDate').AsString); // ,pointer(copy(FieldByName('OrderID').AsString,4,maxint))
QGBarcode.Close;
QGBarcode.Filter:='UPDateDate=''' + FormatDateTime('yyyy-mm-dd',fieldbyname('postdate').AsDateTime) + '''';
QGBarcode.Filtered:=true;
QGBarcode.open;
while not QGBarcode.Eof do
begin
nodeGBarCode := fcTreeView1.items.AddChildObject(nodeOrderID, QGBarcode.FieldByName('devName').AsString + ' 数量:' + QGBarcode.FieldByName('num').AsString, pointer(QGBarcode.FieldByName('GBarCodeID').Asinteger));
QGBarcode.next;
end;
next;
end;
end;
finally
QGBarcode.Filtered:=false;
end;
fcTreeView1.Repaint;
end;
//procedure TFrmBarCodeQuery.ordersToTreeView;
procedure TFrmBarCodeQuery.fcTreeView1Click(Sender: TObject);
//Node,
begin
inherited;
// fcTreeView1.Selected
// if (Node.Level = 0)
end;
procedure TFrmBarCodeQuery.loadOrderS(nodedatastr: string);
begin
with StockDM.QBarCodefind do
begin
Locate('OrderID', nodedatastr, []);
QOrders.Locate('OrderID', nodedatastr, []);
EdtOrderID.Text := FieldValues['OrderID'];
EdtPostDate.Text := FieldValues['POSTDATE'];
EdtCustomerName.Text := FieldValues['CustomerName'];
MemoOrderDetail.Text := QOrders.FieldValues['OrderDetail'];
MemoOrderMemo.Text :=QOrders.FieldValues['OrderMemo'];
end;
end;
procedure TFrmBarCodeQuery.loadBarCodeS(nodedataInt: integer);
begin
with StockDM.QBarCodefind do
begin
Locate('GBarCodeID', nodedataInt, []);
QGBarcode.Locate('GBarCodeID', nodedataInt, []);
EdtDevName.Text := FieldValues['DevName'];
EdtNum.Text := QGBarcode.FieldValues['num'];
MemoBarcode.Text := QGBarcode.FieldValues['Memo'];
//加载条码
StockDM.QBarCodeQuery.Close;
StockDM.QBarCodeQuery.SQL.Clear;
StockDM.QBarCodeQuery.SQL.Add(Format(' select distinct a.barcode,a.* from barcode a where a.GBarCodeID=%d and a.barcode in (%s)', [nodedataInt, sqlstrBarCode]));
StockDM.QBarCodeQuery.open;
end;
end;
procedure TFrmBarCodeQuery.PageControl1Change(Sender: TObject);
var nodedataInt: integer;
begin
inherited;
{if fcTreeView1.Items.Count <= 0 then exit;
if fcTreeView1.Selected = nil then
fcTreeView1.Items[0].Selected := true;
if PageControl1.ActivePage = TabSheetOrderID then
begin
if fcTreeView1.Selected.Level = 0 then
loadOrderS(fcTreeView1.Selected.Text)
else loadOrderS(fcTreeView1.Selected.Text);
end;
if fcTreeView1.Selected<>nil then
if PageControl1.ActivePage = TabSheetBarcode then
begin
if fcTreeView1.Selected.Level = 1 then
nodedataInt := integer(fcTreeView1.Selected.data)
else if (fcTreeView1.Selected.Level = 0)and (fcTreeView1.Selected.HasChildren) then nodedataInt := integer(fcTreeView1.Selected.GetFirstChild.Data);
loadBarCodeS(nodedataInt);
end; }
end;
procedure TFrmBarCodeQuery.FormShow(Sender: TObject);
begin
inherited;
DateTimePickerPostDateSart.Date := date;
DateTimePickerPostDateend.Date := date;
DateTimePickerPackDateStart.Date := date;
DateTimePickerPackDateEnd.Date := date;
DateTimePickerInComeDateStart.Date := date;
DateTimePickerInComeDateend.Date := date;
DateTimePickerOutComeDateStart.Date := date;
DateTimePickerOutComeDateend.Date := date;
EdtOrderIDSart.Items.AddStrings(GetValueToCMBOrderId('Orders', 'OrderID', 'All'));
EdtOrderIDend.Items.AddStrings(GetValueToCMBOrderId('Orders', 'OrderID', 'All'));
EdtDevtype.Items.AddStrings(GetValueToCMB('DeviceType', 'DevName', 'All'));
end;
procedure TFrmBarCodeQuery.EdtOrderIDSartChange(Sender: TObject);
begin
inherited;
EdtOrderIDEnd.Text := EdtOrderIDSart.Text;
end;
procedure TFrmBarCodeQuery.fcTreeView1Change(Sender: TObject;
Node: TTreeNode);
var nodedataInt: integer;
begin
inherited;
if node.Level = 0 then
begin
//nodedataInt := integer(node.Data);
PageControl1.ActivePage := TabSheetOrderID;
StockDM.QBarCodefind.Locate('OrderID',copy(node.Text,1,13) , []);
loadOrderS(copy(node.Text,1,13));
end;
if node.Level = 1 then
begin
nodedataInt := integer(node.Data);
StockDM.QBarCodefind.Locate('OrderID',copy(node.Text,1,13) , []);
PageControl1.ActivePage := TabSheetBarcode;
loadBarCodeS(nodedataInt);
end;
end;
procedure TFrmBarCodeQuery.FormCreate(Sender: TObject);
begin
inherited;
//with StockDM.QBarCodefind do
//begin
// Close;
// sql.Clear;
// sql.Add('select a.*,b.*,c.DevName,d.CustomerName,d.OrderDetail,d.OrderMemo from BarCode a,GBarCode b,DeviceType c,Orders d where a.GBarCodeID=b.GBarCodeID and a.Devnum=c.Devnum and a.OrderId=d.OrderID ');
// Open;
//end;
end;
procedure TFrmBarCodeQuery.EdtBarcodeKeyPress(Sender: TObject;
var Key: Char);
var BarCodeTemp: string;
begin
inherited;
if key = #13 then //条码完毕
begin
BarCodeTemp := copy(trim(EdtBarcode.Text), length(trim(EdtBarcode.Text)) - 13 + 1, 13); //扫描时前面多一个0????
EdtBarcode.Text := BarCodeTemp;
end;
end;
procedure TFrmBarCodeQuery.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
FreeAndNil(QOrders);
FreeAndNil(QGBarcode);
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?