273 lines
7.3 KiB
ObjectPascal
273 lines
7.3 KiB
ObjectPascal
unit U_FrmProduct_CX;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
Dialogs, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter,
|
|
cxData, cxDataStorage, cxEdit, DB, cxDBData, cxCalendar, DBClient,
|
|
StdCtrls, ExtCtrls, cxGridLevel, cxGridCustomTableView, cxGridTableView,
|
|
cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid,
|
|
cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, cxButtonEdit, cxSplitter,
|
|
cxCheckBox;
|
|
|
|
type
|
|
TFrmProduct = class(TForm)
|
|
ToolBar2: TToolBar;
|
|
TINIT: TToolButton;
|
|
Tglv: TToolButton;
|
|
TSel: TToolButton;
|
|
Tclose: TToolButton;
|
|
ADOQueryTmp: TADOQuery;
|
|
cxGridPopupMenu1: TcxGridPopupMenu;
|
|
cxGrid1: TcxGrid;
|
|
Tv1: TcxGridDBTableView;
|
|
v1OrderNo: TcxGridDBColumn;
|
|
v1OrdPerson2: TcxGridDBColumn;
|
|
v1OrdDate: TcxGridDBColumn;
|
|
v1DlyDate: TcxGridDBColumn;
|
|
v1CustomerNo: TcxGridDBColumn;
|
|
v1MPRTCodeName: TcxGridDBColumn;
|
|
v1MPRTSpec: TcxGridDBColumn;
|
|
v1MPRTKZ: TcxGridDBColumn;
|
|
v1MPRTMF: TcxGridDBColumn;
|
|
v1OrderUnit: TcxGridDBColumn;
|
|
v1orddefnote1: TcxGridDBColumn;
|
|
v1MPRTTangJin: TcxGridDBColumn;
|
|
v1MPRTKQiQiu: TcxGridDBColumn;
|
|
v1MPRTChuanY: TcxGridDBColumn;
|
|
v1MPRTDingPoLv: TcxGridDBColumn;
|
|
cxGrid1Level1: TcxGridLevel;
|
|
Panel1: TPanel;
|
|
Label1: TLabel;
|
|
Label3: TLabel;
|
|
Label4: TLabel;
|
|
Label8: TLabel;
|
|
Label9: TLabel;
|
|
Label10: TLabel;
|
|
Label11: TLabel;
|
|
Label12: TLabel;
|
|
Label13: TLabel;
|
|
BegDate: TDateTimePicker;
|
|
EndDate: TDateTimePicker;
|
|
OrderNo: TEdit;
|
|
CustomerNoName: TEdit;
|
|
MPRTCodeName: TEdit;
|
|
ConNo: TEdit;
|
|
MPRTSpec: TEdit;
|
|
OrdPerson2: TEdit;
|
|
MPRTKZ: TEdit;
|
|
MPRTMF: TEdit;
|
|
Order_Main: TClientDataSet;
|
|
Tchoose: TToolButton;
|
|
ADOQuerymain: TADOQuery;
|
|
DataSource1: TDataSource;
|
|
v1PRTOrderQty: TcxGridDBColumn;
|
|
v1Ssel: TcxGridDBColumn;
|
|
Qsel: TCheckBox;
|
|
v1ConNo: TcxGridDBColumn;
|
|
v1CustomerNoName: TcxGridDBColumn;
|
|
procedure FormCreate(Sender: TObject);
|
|
procedure TcloseClick(Sender: TObject);
|
|
procedure TINITClick(Sender: TObject);
|
|
procedure TSelClick(Sender: TObject);
|
|
procedure TglvClick(Sender: TObject);
|
|
procedure FormShow(Sender: TObject);
|
|
procedure TchooseClick(Sender: TObject);
|
|
procedure OrderNoChange(Sender: TObject);
|
|
procedure TV2CellDblClick(Sender: TcxCustomGridTableView;
|
|
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
|
|
AShift: TShiftState; var AHandled: Boolean);
|
|
procedure QselClick(Sender: TObject);
|
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|
procedure FormDestroy(Sender: TObject);
|
|
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView;
|
|
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
|
|
AShift: TShiftState; var AHandled: Boolean);
|
|
procedure OrderNoKeyPress(Sender: TObject; var Key: Char);
|
|
private
|
|
procedure initdata();
|
|
{ Private declarations }
|
|
public
|
|
{ Public declarations }
|
|
end;
|
|
|
|
var
|
|
FrmProduct: TFrmProduct;
|
|
|
|
implementation
|
|
|
|
uses U_OrderInPut,U_DataLink,U_fun;
|
|
|
|
{$R *.dfm}
|
|
|
|
procedure TFrmProduct.initdata();
|
|
begin
|
|
try
|
|
with ADOQueryMain do
|
|
begin
|
|
Filtered:=False;
|
|
Close;
|
|
sql.Clear;
|
|
sql.add('select B.Mainid,B.OrderNo,B.OrdPerSon2,B.OrdDate,B.DlyDate,B.CustomerNoname,b.ConNo,B.MPRTCodeName, ');
|
|
sql.Add('B.MPRTSpec,B.MPRTKZ,B.MPRTMF,B.OrddefNote1,B.MPRTTangJin,B.MPRTKQIQIU,B.MPRTChuanY,B.MPRTDingPoLv,');
|
|
sql.add('A.OrderUnit,ZSQty=sum(A.PRTOrderQty) ');
|
|
sql.add('from JYOrder_sub A');
|
|
sql.add('inner join JYorder_main B on B.mainID=A.mainID');
|
|
sql.add('where b.OrdDate>='''+FormatDateTime('yyyy-MM-dd',BegDate.DateTime)+'''');
|
|
sql.add('and b.OrdDate<'''+FormatDateTime('yyyy-MM-dd',enddate.DateTime+1)+'''');
|
|
sql.add('group by B.Mainid,B.OrderNo,B.OrdPerSon2,B.OrdDate,B.DlyDate,B.CustomerNoname,b.ConNo,B.MPRTCodeName, ');
|
|
sql.Add('B.MPRTSpec,B.MPRTKZ,B.MPRTMF,B.OrddefNote1,B.MPRTTangJin,B.MPRTKQIQIU,B.MPRTChuanY,B.MPRTDingPoLv,');
|
|
sql.add('A.OrderUnit');
|
|
Open;
|
|
end;
|
|
SCreateCDS20(ADOQueryMain,Order_Main);
|
|
SInitCDSData20(ADOQueryMain,Order_Main);
|
|
finally
|
|
ADOQueryMain.EnableControls;
|
|
end;
|
|
end;
|
|
|
|
procedure TFrmProduct.FormCreate(Sender: TObject);
|
|
begin
|
|
cxgrid1.Align:=alClient;
|
|
end;
|
|
|
|
procedure TFrmProduct.TcloseClick(Sender: TObject);
|
|
begin
|
|
close;
|
|
WriteCxGrid(self.Caption+tv1.Name,Tv1);
|
|
end;
|
|
|
|
procedure TFrmProduct.TINITClick(Sender: TObject);
|
|
begin
|
|
with order_Main do
|
|
begin
|
|
first;
|
|
while not Eof do
|
|
begin
|
|
edit;
|
|
fieldbyname('Ssel').AsBoolean:=False;
|
|
next;
|
|
end;
|
|
end;
|
|
initdata();
|
|
Qsel.Checked:=False;
|
|
end;
|
|
|
|
procedure TFrmProduct.TSelClick(Sender: TObject);
|
|
begin
|
|
if Order_Main.IsEmpty then Exit;
|
|
try
|
|
frmOrderInPut:=TfrmOrderInPut.Create(Application);
|
|
with frmOrderInPut do
|
|
begin
|
|
PState:=1;
|
|
FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString);
|
|
ToolBar2.Visible:=False;
|
|
TBSave.Visible:=False;
|
|
ScrollBox1.Enabled:=False;
|
|
Tv1.OptionsSelection.CellSelect:=False;
|
|
if ShowModal=1 then
|
|
begin
|
|
initdata();
|
|
end;
|
|
end;
|
|
finally
|
|
frmOrderInPut.Free;
|
|
end;
|
|
end;
|
|
|
|
procedure TFrmProduct.TglvClick(Sender: TObject);
|
|
begin
|
|
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
|
|
SCreateCDS20(ADOQueryMain,Order_Main);
|
|
SInitCDSData20(ADOQueryMain,Order_Main);
|
|
end;
|
|
|
|
procedure TFrmProduct.FormShow(Sender: TObject);
|
|
begin
|
|
ReadCxGrid(self.Caption+tv1.Name,Tv1);
|
|
BegDate.DateTime:=SGetServerDate10(ADOQueryTmp)-15;
|
|
EndDate.DateTime:=SGetServerDate10(ADOQueryTmp);
|
|
initdata();
|
|
end;
|
|
|
|
procedure TFrmProduct.TchooseClick(Sender: TObject);
|
|
begin
|
|
if Order_Main.IsEmpty then Exit;
|
|
ModalResult:=1;
|
|
end;
|
|
|
|
procedure TFrmProduct.OrderNoChange(Sender: TObject);
|
|
begin
|
|
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
|
|
SCreateCDS20(ADOQueryMain,Order_Main);
|
|
SInitCDSData20(ADOQueryMain,Order_Main);
|
|
end;
|
|
|
|
procedure TFrmProduct.TV2CellDblClick(Sender: TcxCustomGridTableView;
|
|
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
|
|
AShift: TShiftState; var AHandled: Boolean);
|
|
begin
|
|
Tchoose.Click;
|
|
end;
|
|
|
|
procedure TFrmProduct.QselClick(Sender: TObject);
|
|
begin
|
|
with order_Main do
|
|
begin
|
|
DisableControls;
|
|
first;
|
|
while not Eof do
|
|
begin
|
|
edit;
|
|
fieldbyname('Ssel').AsBoolean:=Qsel.Checked;
|
|
post;
|
|
next;
|
|
end;
|
|
first;
|
|
EnableControls;
|
|
end;
|
|
end;
|
|
|
|
procedure TFrmProduct.FormClose(Sender: TObject; var Action: TCloseAction);
|
|
begin
|
|
action:=cafree;
|
|
end;
|
|
|
|
procedure TFrmProduct.FormDestroy(Sender: TObject);
|
|
begin
|
|
FrmProduct:=nil;
|
|
end;
|
|
|
|
procedure TFrmProduct.Tv1CellDblClick(Sender: TcxCustomGridTableView;
|
|
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
|
|
AShift: TShiftState; var AHandled: Boolean);
|
|
begin
|
|
Tsel.Click;
|
|
end;
|
|
|
|
procedure TFrmProduct.OrderNoKeyPress(Sender: TObject; var Key: Char);
|
|
begin
|
|
|
|
if Key=#13 then
|
|
begin
|
|
IF trim(OrderNo.Text)='' then exit;
|
|
with ADOQueryMain do
|
|
begin
|
|
Close;
|
|
sql.Clear;
|
|
sql.add('select B.*,A.*,B.orderNo ');
|
|
sql.add('from JYOrder_sub A');
|
|
sql.add('inner join jyorder_main B on B.mainID=A.mainID ');
|
|
sql.Add('where B.OrderNo like '+quotedstr('%'+trim(OrderNo.Text)+'%'));
|
|
Open;
|
|
end;
|
|
SCreateCDS20(ADOQueryMain,Order_Main);
|
|
SInitCDSData20(ADOQueryMain,Order_Main);
|
|
end;
|
|
end;
|
|
|
|
end.
|