D7myChengxie/贸易管理/U_OrderSelDB.pas
DESKTOP-E401PHE\Administrator e4d35a6883 1234
2025-08-25 10:39:41 +08:00

279 lines
6.7 KiB
ObjectPascal
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit U_OrderSelDB;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, StdCtrls, ADODB, DBClient, ComCtrls,
ExtCtrls, cxGridLevel, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid,
cxGridCustomPopupMenu, cxGridPopupMenu, cxCheckBox, Menus, BtnEdit;
type
TfrmOrderSelDB = class(TForm)
Panel1: TPanel;
Label2: TLabel;
OrderNo: TEdit;
Label3: TLabel;
PRTColor: TEdit;
CDS_OrderSel: TClientDataSet;
DataSource1: TDataSource;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
Button1: TButton;
Button2: TButton;
Button3: TButton;
cxGridPopupMenu1: TcxGridPopupMenu;
Label8: TLabel;
CustomerNoName: TEdit;
cxGrid1: TcxGrid;
Tv2: TcxGridDBTableView;
v2Column3: TcxGridDBColumn;
v1OrderNo: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
cxGridDBColumn3: TcxGridDBColumn;
v1PRTMF: TcxGridDBColumn;
v1PRTKZ: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column4: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
cxStyleRepository2: TcxStyleRepository;
cxStyle2: TcxStyle;
cxStyleRepository3: TcxStyleRepository;
cxStyle3: TcxStyle;
v2Column7: TcxGridDBColumn;
v2Column8: TcxGridDBColumn;
v2Column9: TcxGridDBColumn;
PopupMenu2: TPopupMenu;
MenuItem1: TMenuItem;
MenuItem2: TMenuItem;
Label1: TLabel;
PRTHX: TEdit;
v2Column10: TcxGridDBColumn;
scbznote: TBtnEditA;
Label4: TLabel;
Button4: TButton;
v2Column11: TcxGridDBColumn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button2Click(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure OrderNoChange(Sender: TObject);
procedure Tv2CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure MenuItem1Click(Sender: TObject);
procedure MenuItem2Click(Sender: TObject);
procedure scbznoteBtnClick(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
public
{ Public declarations }
end;
var
frmOrderSelDB: TfrmOrderSelDB;
implementation
uses
U_DataLink,U_Fun , U_ZDYHelp;
{$R *.dfm}
procedure TfrmOrderSelDB.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmOrderSelDB.Button2Click(Sender: TObject);
var
KHName:String;
begin
if CDS_OrderSel.Locate('SSel',True,[])=False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
CDS_OrderSel.DisableControls;
KHName:='';
with CDS_OrderSel do
begin
First;
while not Eof do
begin
if FieldByName('SSel').AsBoolean=True then
begin
if Trim(fieldbyname('scbznote').AsString)='' then
begin
Application.MessageBox('<27><>װҪ<D7B0><D2AA><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
CDS_OrderSel.EnableControls;
Exit;
end;
if Trim(KHName)='' then
begin
KHName:=Trim(fieldbyname('CustomerNo').AsString);
end else
begin
if Trim(fieldbyname('CustomerNo').AsString)<>KHName then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD>ͬ<EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>','<27><>ʾ',0);
CDS_OrderSel.EnableControls;
Exit;
end;
end;
end;
Next;
end;
end;
CDS_OrderSel.EnableControls;
ModalResult:=1;
end;
procedure TfrmOrderSelDB.FormDestroy(Sender: TObject);
begin
frmOrderSelDB:=nil;
end;
procedure TfrmOrderSelDB.Button3Click(Sender: TObject);
begin
ModalResult:=-1;
WriteCxGrid('<27><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>1',Tv2,'<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
Close;
end;
procedure TfrmOrderSelDB.FormShow(Sender: TObject);
begin
ReadCxGrid('<27><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>1',Tv2,'<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
InitGrid();
end;
procedure TfrmOrderSelDB.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add('exec P_View_OrderDB ');
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_OrderSel);
SInitCDSData20(ADOQueryMain,CDS_OrderSel);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmOrderSelDB.Button1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmOrderSelDB.OrderNoChange(Sender: TObject);
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,CDS_OrderSel);
SInitCDSData20(ADOQueryMain,CDS_OrderSel);
end;
procedure TfrmOrderSelDB.Tv2CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
ModalResult:=1;
end;
procedure TfrmOrderSelDB.MenuItem1Click(Sender: TObject);
begin
if CDS_OrderSel.IsEmpty then Exit;
CDS_OrderSel.DisableControls;
with CDS_OrderSel do
begin
First;
while not Eof do
begin
Edit;
FieldByName('SSel').Value:=True;
Post;
Next;
end;
end;
CDS_OrderSel.EnableControls;
end;
procedure TfrmOrderSelDB.MenuItem2Click(Sender: TObject);
begin
if CDS_OrderSel.IsEmpty then Exit;
CDS_OrderSel.DisableControls;
with CDS_OrderSel do
begin
First;
while not Eof do
begin
Edit;
FieldByName('SSel').Value:=False;
Post;
Next;
end;
end;
CDS_OrderSel.EnableControls;
end;
procedure TfrmOrderSelDB.scbznoteBtnClick(Sender: TObject);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='scbznote';
flagname:='<27><>װҪ<D7B0><D2AA>';
if ShowModal=1 then
begin
scbznote.Text:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmOrderSelDB.Button4Click(Sender: TObject);
begin
if Trim(scbznote.Text)='' then
begin
Application.MessageBox('<27><>װҪ<D7B0><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate JYOrder_Main ');
sql.Add(' Set scbznote='''+Trim(scbznote.Text)+'''');
SQL.Add(' where MainId='''+Trim(CDS_OrderSel.fieldbyname('MainId').AsString)+'''');
ExecSQL;
end;
Button1.Click;
end;
end.