D7myYunxiang/发货申请(DeliveryApplication.dll)/U_OrderSel.pas
DESKTOP-E401PHE\Administrator 1011cb7292 1
2025-01-20 13:04:03 +08:00

302 lines
8.1 KiB
ObjectPascal
Raw 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_OrderSel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, cxMemo,
cxRichEdit, ComCtrls, cxContainer, cxTextEdit, cxMaskEdit, cxButtonEdit,
StdCtrls, ToolWin, DBClient, ADODB, ExtCtrls, BtnEdit, cxCalendar, StrUtils,
cxCurrencyEdit, cxImage, cxDBEdit, Menus, RM_Common, RM_Class, RM_e_Xls,
RM_Dataset, RM_System, RM_GridReport, cxGridCustomPopupMenu, cxGridPopupMenu,
cxPC, cxSplitter, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdFTP, ShellAPI, cxCheckBox, cxLookAndFeels, cxLookAndFeelPainters,
cxNavigator;
type
TfrmOrderSel = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
Label1: TLabel;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
Label3: TLabel;
MLOrderNo: TEdit;
CDS_Main: TClientDataSet;
Label4: TLabel;
KHNameHZ: TEdit;
PopupMenu1: TPopupMenu;
N2: TMenuItem;
Label9: TLabel;
MLConNo: TEdit;
Label12: TLabel;
MPRTKZ: TEdit;
cxSplitter1: TcxSplitter;
MLCodeName: TEdit;
Label5: TLabel;
N1: TMenuItem;
Label7: TLabel;
status: TComboBox;
N3: TMenuItem;
ToolButton1: TToolButton;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column2: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure MLCodeNameKeyPress(Sender: TObject; var Key: Char);
procedure MLConNoKeyPress(Sender: TObject; var Key: Char);
procedure MLOrderNoKeyPress(Sender: TObject; var Key: Char);
procedure KHNameHZChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
private
DQdate: TDateTime;
procedure InitGrid();
procedure InitForm();
{ Private declarations }
public
FFInt, FCloth: Integer;
canshu1, canshu2, canshu3: string;
fFlileFlag: string;
FKHNo, FTT: string;
{ Public declarations }
end;
var
frmOrderSel: TfrmOrderSel;
implementation
uses
U_DataLink, U_Fun;
{$R *.dfm}
procedure TfrmOrderSel.FormDestroy(Sender: TObject);
begin
frmOrderSel := nil;
end;
procedure TfrmOrderSel.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmOrderSel.FormCreate(Sender: TObject);
begin
DQdate := SGetServerDate(ADOQueryTemp);
canshu1 := trim(DParameters1);
canshu2 := trim(DdataBase);
end;
procedure TfrmOrderSel.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid('<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD>YX', Tv1, '<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmOrderSel.InitGrid();
var
fwhere, Pwhere: string;
begin
Pwhere := SGetFilters(Panel1, 1, 2);
fwhere := ' where OrdDate>=' + quotedstr(FormatDateTime('yyyy-MM-dd', BegDate.DateTime));
fwhere := fwhere + ' and OrdDate<=' + quotedstr(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1));
if trim(Pwhere) <> '' then
fwhere := fwhere + ' and ' + trim(Pwhere);
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add('SELECT AA.* FROM(');
sql.add('select A.* ,CPType=''<27><>Ʒ'', C.NewMLID MainId, C. NewSubid SubId,C.MLColor,C.MLColorNo,C.MLHX,C.MLPrice,C.FeeName,C.FeeMoney');
sql.Add(',KHConNo=(select TOP 1 X.KHConNo from ML_ConMain X where X.MLConID=A.ConMainId)');
sql.Add(',CRType=(select TOP 1 X.ConType from ML_ConMain X where X.MLConID=A.ConMainId)');
sql.Add(',SYRName=(select TOP 1 X.SYRName from ML_ConMain X where X.MLConID=A.ConMainId)');
sql.Add(' from ML_OrderMainNew A ');
sql.Add(' inner join ML_OrderSubidNew C on A.NewMLID=C.NewMLID ');
sql.Add(' left join KH_Main KM on KM.KHNO=A.KHNO ');
sql.Add(')AA');
sql.Add(fwhere);
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmOrderSel.InitForm();
begin
ReadCxGrid('<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD>YX', Tv1, '<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime;
InitGrid();
end;
procedure TfrmOrderSel.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
Exit;
SelExportData(Tv1, ADOQueryMain, '<27><><EFBFBD><EFBFBD>Ⱦɫ<C8BE>ƻ<EFBFBD><C6BB><EFBFBD>');
end;
procedure TfrmOrderSel.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmOrderSel.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmOrderSel.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmOrderSel.CheckBox2Click(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmOrderSel.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, false);
end;
procedure TfrmOrderSel.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmOrderSel.MLCodeNameKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
InitGrid();
end;
procedure TfrmOrderSel.MLConNoKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
InitGrid();
end;
procedure TfrmOrderSel.MLOrderNoKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
InitGrid();
end;
procedure TfrmOrderSel.KHNameHZChange(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
end;
procedure TfrmOrderSel.ToolButton1Click(Sender: TObject);
var
FFKHName, FFTT: string;
begin
with CDS_Main do
begin
First;
FFKHName := '';
FFTT := '';
while not Eof do
begin
if CDS_Main.fieldbyname('SSel').AsBoolean = True then
begin
if (Trim(FFTT) = '') and (Trim(CDS_Main.fieldbyname('SYRName').AsString) <> '') then
begin
FFTT := Trim(CDS_Main.fieldbyname('SYRName').AsString);
end;
if Trim(FFKHName) = '' then
begin
FFKHName := Trim(CDS_Main.fieldbyname('KHName').AsString);
end;
//ͬʱѡ<CAB1><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܰ<EFBFBD><DCB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̧ͷ
if (Trim(CDS_Main.fieldbyname('SYRName').AsString) <> FFTT) and (Trim(CDS_Main.fieldbyname('SYRName').AsString) <> '') then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̧ͷ!', '<27><>ʾ', 0);
exit;
end;
//<2F><>ѡ<EFBFBD><D1A1>̧ͷ<CCA7><CDB7><EFBFBD>ܺ<EFBFBD><DCBA>Ѿ<EFBFBD>ѡ<EFBFBD><D1A1>̧ͷ<CCA7><CDB7>ͬ
if (Trim(CDS_Main.fieldbyname('SYRName').AsString) <> FTT) and (FTT <> '') and (Trim(CDS_Main.fieldbyname('SYRName').AsString) <> '') then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̧ͷ!', '<27><>ʾ', 0);
exit;
end;
//ͬʱѡ<CAB1><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܰ<EFBFBD><DCB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>
if (Trim(CDS_Main.fieldbyname('KHName').AsString) <> FFKHName) then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>!', '<27><>ʾ', 0);
exit;
end;
//<2F><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD><DCBA>Ѿ<EFBFBD>ѡ<EFBFBD>Ŀͻ<C4BF><CDBB><EFBFBD>ͬ
if (Trim(CDS_Main.fieldbyname('KHNo').AsString) <> FKHNo) and (FKHNo <> '') then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>!', '<27><>ʾ', 0);
exit;
end;
end;
Next;
end;
end;
ModalResult := 1;
end;
end.