D7XHshengfang/盛纺贸易管理/U_FrmProduct_CX.pas
DESKTOP-E401PHE\Administrator 0cb161cfb3 ~
2025-04-30 23:58:03 +08:00

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.