D7myYunxiang/合同管理(Contract.dll)/U_OrderSel.pas

268 lines
7.0 KiB
ObjectPascal
Raw Normal View History

2025-01-20 13:04:03 +08:00
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;
type
TfrmOrderSel = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
Label1: TLabel;
Tv1: TcxGridDBTableView;
Cxgrid1Level1: TcxGridLevel;
Cxgrid1: TcxGrid;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
Label3: TLabel;
MLOrderNo: TEdit;
v1MLOrderNo: TcxGridDBColumn;
v1OrdDate: TcxGridDBColumn;
v1MLConNo: TcxGridDBColumn;
Order_Main: TClientDataSet;
v1KHName: TcxGridDBColumn;
Label4: TLabel;
KHNameHZ: TEdit;
PopupMenu1: TPopupMenu;
N2: TMenuItem;
ToolButton1: TToolButton;
Label9: TLabel;
MLConNo: TEdit;
Label12: TLabel;
MPRTKZ: TEdit;
v1Column2: TcxGridDBColumn;
cxSplitter1: TcxSplitter;
ADOQuerySub: TADOQuery;
DataSource2: TDataSource;
MLCodeName: TEdit;
Label5: TLabel;
N1: TMenuItem;
v1Ssel: TcxGridDBColumn;
Panel2: TPanel;
Label7: TLabel;
status: TComboBox;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
v1XHNo: TcxGridDBColumn;
v1MLColor: TcxGridDBColumn;
v1MLColorNo: TcxGridDBColumn;
v1MLHX: TcxGridDBColumn;
v1Qty: TcxGridDBColumn;
v1QtyUnit: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
v1MLCodeName: TcxGridDBColumn;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
ToolButton2: TToolButton;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure BegDateChange(Sender: TObject);
procedure EndDateChange(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);
private
DQdate: TDateTime;
procedure InitGrid();
procedure InitForm();
procedure InitSub();
{ Private declarations }
public
FFInt, FCloth: Integer;
canshu1, canshu2, canshu3: string;
fFlileFlag: string;
{ Public declarations }
end;
var
frmOrderSel: TfrmOrderSel;
implementation
uses
U_DataLink, U_Fun, U_FjList_RZ ; //U_OrderInPut_New ,U_MLOrderMXSel ,U_KHList_CX
{$R *.dfm}
procedure TfrmOrderSel.InitSub();
begin
if Order_Main.IsEmpty then
exit;
with ADOQuerySub do
begin
close;
sql.Clear;
sql.Add('select * from ML_OrderSubidNew ');
sql.Add('where NewMLID =' + quotedstr((Order_Main.fieldbyname('NewMLID').AsString)));
open;
end;
end;
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
cxgrid1.Align := alClient;
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>Sel', Tv1, '<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmOrderSel.InitGrid();
var
fwhere, Pwhere: string;
begin
Pwhere := SGetFilters(Panel1, 1, 2);
{ if canshu1 <> '<27><>Ȩ<EFBFBD><C8A8>' then
begin
if Pwhere <> '' then
Pwhere := Pwhere + ' and A.filler=''' + trim(DName) + ''''
else
Pwhere := ' A.filler=''' + trim(DName) + '''';
end; }
fwhere := ' where A.OrdDate>' + quotedstr(FormatDateTime('yyyy-MM-dd', BegDate.DateTime));
fwhere := fwhere + ' and A.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 A.*,KM.KHNameJC,KHNameHZ=isnull(A.KHNO,'''')+isnull(KM.KHName,'''')+isnull(KM.KHNameJC,'''')');
sql.Add('+dbo.getpinyin(isnull(KM.KHName,''''))+dbo.getpinyin(isnull(KM.KHNameJC,''''))');
SQL.Add(',ZQty=(select Sum(B.Qty) from ML_OrderSubidNew B where B.NewMLID=A.NewMLID) ');
sql.Add(' from ML_OrderMainNew A ');
sql.Add(' left join KH_Main KM on KM.KHNO=A.KHNO ');
sql.Add(fwhere);
Open;
end;
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmOrderSel.InitForm();
begin
ReadCxGrid('<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD>Sel', Tv1, '<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime - 15;
InitGrid();
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.Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
InitSub();
end;
procedure TfrmOrderSel.BegDateChange(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmOrderSel.EndDateChange(Sender: TObject);
begin
InitGrid();
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,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
end;
end.