D7YPDJlingyao/贸易管理(TradeManage.dll)/U_OrderSelRK.pas
DESKTOP-E401PHE\Administrator 43fbfa8db2 ~
2025-07-19 16:53:04 +08:00

212 lines
6.2 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_OrderSelRK;
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;
type
TfrmOrderSelRK = 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;
v2Column10: TcxGridDBColumn;
v2Column11: TcxGridDBColumn;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
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 N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
public
{ Public declarations }
end;
var
frmOrderSelRK: TfrmOrderSelRK;
implementation
uses
U_DataLink, U_Fun;
{$R *.dfm}
procedure TfrmOrderSelRK.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmOrderSelRK.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(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);
Exit;
end;
end;
end;
Next;
end;
end;
CDS_OrderSel.EnableControls;
ModalResult := 1;
end;
procedure TfrmOrderSelRK.FormDestroy(Sender: TObject);
begin
frmOrderSelRK := nil;
end;
procedure TfrmOrderSelRK.Button3Click(Sender: TObject);
begin
ModalResult := -1;
WriteCxGrid('<27><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>1', Tv2, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
Close;
end;
procedure TfrmOrderSelRK.FormShow(Sender: TObject);
begin
ReadCxGrid('<27><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>1', Tv2, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
InitGrid();
end;
procedure TfrmOrderSelRK.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add('select A.OrderNo,CustomerNoName=(select Shortened FROM KH_Zdy_Attachment X where A.CustomerNo=X.ZDYCODE) ');
sql.Add(',A.CustomerNo,A.MPRTCodeName,A.MainId,B.SubId,B.PRTColor,B.OrderUnit,B.PRTOrderQty');
sql.Add(',A.MPRTMF,A.MPRTKZ,B.PRTHX,B.SOrddefstr1,B.PRTKuanNO,B.SOrddefstr4,B.QRCOLNO,B.PRTWSHX');
sql.Add(',ZPPS=(select Count(MJID) from WFB_MJJY WY ');
sql.Add(' where WY.SubId=B.SubId and isnull(WY.MJStr2,'''')<>''<27>ѳ<EFBFBD><D1B3><EFBFBD>'' and WY.MJType=''<27><>Ʒ'') ');
sql.Add(',ZPQty=(select sum(MJLen) from WFB_MJJY WY ');
sql.Add(' where WY.SubId=B.SubId and isnull(WY.MJStr2,'''')<>''<27>ѳ<EFBFBD><D1B3><EFBFBD>'' and WY.MJType=''<27><>Ʒ'') ');
sql.Add(',CPPS=(select Count(MJID) from WFB_MJJY WY ');
sql.Add(' where WY.SubId=B.SubId and isnull(WY.MJStr2,'''')<>''<27>ѳ<EFBFBD><D1B3><EFBFBD>'' and WY.MJType=''<27><>Ʒ'') ');
sql.Add(',CPQty=(select sum(MJLen) from WFB_MJJY WY ');
sql.Add(' where WY.SubId=B.SubId and isnull(WY.MJStr2,'''')<>''<27>ѳ<EFBFBD><D1B3><EFBFBD>'' and WY.MJType=''<27><>Ʒ'') ');
sql.Add(' from JYOrder_Main A inner join JYOrder_Sub B on A.MainId=B.Mainid');
sql.Add(' where exists(select AA.MJID from WFB_MJJY AA ');
sql.Add(' where AA.MainId=A.MainId and AA.SubId=B.SubId and isnull(AA.MJStr2,'''')<>''<27>ѳ<EFBFBD><D1B3><EFBFBD>'' )');
// ShowMessage(sql.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_OrderSel);
SInitCDSData20(ADOQueryMain, CDS_OrderSel);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmOrderSelRK.Button1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmOrderSelRK.OrderNoChange(Sender: TObject);
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_OrderSel);
SInitCDSData20(ADOQueryMain, CDS_OrderSel);
end;
procedure TfrmOrderSelRK.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
ModalResult := 1;
end;
procedure TfrmOrderSelRK.N1Click(Sender: TObject);
begin
SelOKNo(CDS_OrderSel, True);
end;
procedure TfrmOrderSelRK.N2Click(Sender: TObject);
begin
SelOKNo(CDS_OrderSel, false);
end;
end.