470 lines
12 KiB
ObjectPascal
470 lines
12 KiB
ObjectPascal
unit U_OrderLRList;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
|
||
cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView,
|
||
cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses,
|
||
cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls,
|
||
ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient,
|
||
cxDropDownEdit, MovePanel, cxButtonEdit, cxCalendar, cxPC, cxCheckBox, Menus,
|
||
RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, cxLookAndFeels,
|
||
cxLookAndFeelPainters, cxNavigator, RM_e_Xls;
|
||
|
||
type
|
||
TfrmOrderLRList = class(TForm)
|
||
ToolBar1: TToolBar;
|
||
TBRafresh: TToolButton;
|
||
TBFind: TToolButton;
|
||
TBExport: TToolButton;
|
||
TBPrint: TToolButton;
|
||
TBClose: TToolButton;
|
||
Panel1: TPanel;
|
||
ADOQueryCmd: TADOQuery;
|
||
ADOQueryMain: TADOQuery;
|
||
ADOQueryTemp: TADOQuery;
|
||
DataSource1: TDataSource;
|
||
cxGridPopupMenu1: TcxGridPopupMenu;
|
||
Label1: TLabel;
|
||
Label2: TLabel;
|
||
BegDate: TDateTimePicker;
|
||
EndDate: TDateTimePicker;
|
||
CDS_Main: TClientDataSet;
|
||
Label8: TLabel;
|
||
MPRTKZ: TEdit;
|
||
Label9: TLabel;
|
||
MPRTMF: TEdit;
|
||
Label7: TLabel;
|
||
CPType: TComboBox;
|
||
MovePanel2: TMovePanel;
|
||
Label10: TLabel;
|
||
Label11: TLabel;
|
||
Label12: TLabel;
|
||
YWY: TEdit;
|
||
OrdPerson1: TEdit;
|
||
orderNo: TEdit;
|
||
Label5: TLabel;
|
||
Label3: TLabel;
|
||
MPRTCodeName: TEdit;
|
||
Label13: TLabel;
|
||
CustomerNoName: TEdit;
|
||
conNo: TEdit;
|
||
Label4: TLabel;
|
||
KHCONNO: TEdit;
|
||
Label15: TLabel;
|
||
cxGrid1: TcxGrid;
|
||
Tv1: TcxGridDBTableView;
|
||
v1OrderNo: TcxGridDBColumn;
|
||
v1ConNo: TcxGridDBColumn;
|
||
v1Column5: TcxGridDBColumn;
|
||
v1Column7: TcxGridDBColumn;
|
||
v1CustomerNoName: TcxGridDBColumn;
|
||
v1Column1: TcxGridDBColumn;
|
||
v1OrdDate: TcxGridDBColumn;
|
||
v1Column6: TcxGridDBColumn;
|
||
v1DeliveryDate: TcxGridDBColumn;
|
||
v1MPRTCodeName: TcxGridDBColumn;
|
||
v1MPRTSpec: TcxGridDBColumn;
|
||
v1MPRTMF: TcxGridDBColumn;
|
||
v1MPRTKZ: TcxGridDBColumn;
|
||
v1Column2: TcxGridDBColumn;
|
||
v1Column3: TcxGridDBColumn;
|
||
v1Column8: TcxGridDBColumn;
|
||
cxGrid1Level1: TcxGridLevel;
|
||
v1Column4: TcxGridDBColumn;
|
||
v1Column9: TcxGridDBColumn;
|
||
v1Column10: TcxGridDBColumn;
|
||
v1Column11: TcxGridDBColumn;
|
||
v1Column12: TcxGridDBColumn;
|
||
v1Column13: TcxGridDBColumn;
|
||
v1Column14: TcxGridDBColumn;
|
||
v1Column15: TcxGridDBColumn;
|
||
v1Column16: TcxGridDBColumn;
|
||
v1Column17: TcxGridDBColumn;
|
||
v1Column18: TcxGridDBColumn;
|
||
v1Column19: TcxGridDBColumn;
|
||
v1Column20: TcxGridDBColumn;
|
||
ADOQuerySub: TADOQuery;
|
||
CDS_Sub: TClientDataSet;
|
||
DataSource2: TDataSource;
|
||
cxGridPopupMenu2: TcxGridPopupMenu;
|
||
cxGrid2: TcxGrid;
|
||
Tv2: TcxGridDBTableView;
|
||
cxGridLevel1: TcxGridLevel;
|
||
v2Column1: TcxGridDBColumn;
|
||
v2Column2: TcxGridDBColumn;
|
||
v2Column3: TcxGridDBColumn;
|
||
v2Column4: TcxGridDBColumn;
|
||
v2Column5: TcxGridDBColumn;
|
||
v2Column6: TcxGridDBColumn;
|
||
v2Column7: TcxGridDBColumn;
|
||
v2Column8: TcxGridDBColumn;
|
||
v2Column9: TcxGridDBColumn;
|
||
v2Column10: TcxGridDBColumn;
|
||
v2Column11: TcxGridDBColumn;
|
||
v2Column12: TcxGridDBColumn;
|
||
Label6: TLabel;
|
||
Edit1: TEdit;
|
||
Button1: TButton;
|
||
v1SSel: TcxGridDBColumn;
|
||
v1Column21: TcxGridDBColumn;
|
||
PopupMenu1: TPopupMenu;
|
||
N1: TMenuItem;
|
||
N2: TMenuItem;
|
||
ADOQuery1: TADOQuery;
|
||
ADOQuery2: TADOQuery;
|
||
ADOQuery3: TADOQuery;
|
||
RM1: TRMGridReport;
|
||
RMDBDataSet3: TRMDBDataSet;
|
||
RMDBDataSet1: TRMDBDataSet;
|
||
RMDBDataSet2: TRMDBDataSet;
|
||
v2Column13: TcxGridDBColumn;
|
||
v2Column14: TcxGridDBColumn;
|
||
RMDBDataSet4: TRMDBDataSet;
|
||
ADOQuery4: TADOQuery;
|
||
v1Column22: TcxGridDBColumn;
|
||
v1Column23: TcxGridDBColumn;
|
||
v1Column24: TcxGridDBColumn;
|
||
v1Column25: TcxGridDBColumn;
|
||
v1Column26: TcxGridDBColumn;
|
||
v2Column15: TcxGridDBColumn;
|
||
v2Column16: TcxGridDBColumn;
|
||
v2Column17: TcxGridDBColumn;
|
||
RMDBDataSet5: TRMDBDataSet;
|
||
ADOQuery5: TADOQuery;
|
||
ADOQuery6: TADOQuery;
|
||
RMDBDataSet6: TRMDBDataSet;
|
||
RMXLSExport1: TRMXLSExport;
|
||
procedure FormDestroy(Sender: TObject);
|
||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||
procedure FormCreate(Sender: TObject);
|
||
procedure TBRafreshClick(Sender: TObject);
|
||
procedure ConNoMChange(Sender: TObject);
|
||
procedure TBCloseClick(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure TBExportClick(Sender: TObject);
|
||
procedure TBFindClick(Sender: TObject);
|
||
procedure MPRTCodeNameChange(Sender: TObject);
|
||
procedure PRTColorChange(Sender: TObject);
|
||
procedure cxTabControl1Change(Sender: TObject);
|
||
procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
|
||
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
|
||
procedure Button1Click(Sender: TObject);
|
||
procedure N1Click(Sender: TObject);
|
||
procedure N2Click(Sender: TObject);
|
||
procedure TBPrintClick(Sender: TObject);
|
||
procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||
private
|
||
procedure InitGrid();
|
||
{ Private declarations }
|
||
public
|
||
{ Public declarations }
|
||
end;
|
||
|
||
var
|
||
frmOrderLRList: TfrmOrderLRList;
|
||
|
||
implementation
|
||
|
||
uses
|
||
U_DataLink, U_Fun, U_ZDYHelp;
|
||
|
||
{$R *.dfm}
|
||
|
||
procedure TfrmOrderLRList.FormDestroy(Sender: TObject);
|
||
begin
|
||
frmOrderLRList := nil;
|
||
end;
|
||
|
||
procedure TfrmOrderLRList.FormClose(Sender: TObject; var Action: TCloseAction);
|
||
begin
|
||
Action := caFree;
|
||
end;
|
||
|
||
procedure TfrmOrderLRList.FormCreate(Sender: TObject);
|
||
begin
|
||
cxGrid1.Align := alClient;
|
||
EndDate.DateTime := SGetServerDateTime(ADOQueryTemp);
|
||
BegDate.DateTime := EndDate.DateTime - 90;
|
||
end;
|
||
|
||
procedure TfrmOrderLRList.InitGrid();
|
||
begin
|
||
try
|
||
ADOQueryMain.DisableControls;
|
||
with ADOQueryMain do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
Filtered := False;
|
||
sql.Add(' exec P_Get_Order_lr');
|
||
sql.Add(' @begdate=''' + formatdateTime('yyyy-MM-dd', begdate.DateTime) + '''');
|
||
sql.Add(',@enddate=''' + formatdateTime('yyyy-MM-dd', enddate.DateTime + 1) + '''');
|
||
Open;
|
||
end;
|
||
SCreateCDS20(ADOQueryMain, CDS_Main);
|
||
SInitCDSData20(ADOQueryMain, CDS_Main);
|
||
finally
|
||
ADOQueryMain.EnableControls;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmOrderLRList.TBRafreshClick(Sender: TObject);
|
||
begin
|
||
//BegDate.SetFocus;
|
||
MovePanel2.Visible := True;
|
||
MovePanel2.Refresh;
|
||
InitGrid();
|
||
MovePanel2.Visible := False;
|
||
end;
|
||
|
||
procedure TfrmOrderLRList.ConNoMChange(Sender: TObject);
|
||
begin
|
||
if ADOQueryMain.Active then
|
||
begin
|
||
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmOrderLRList.TBCloseClick(Sender: TObject);
|
||
begin
|
||
WriteCxGrid(self.Caption + tv1.Name + '1', Tv1);
|
||
WriteCxGrid(self.Caption + tv2.Name + '1', Tv2);
|
||
Close;
|
||
end;
|
||
|
||
procedure TfrmOrderLRList.FormShow(Sender: TObject);
|
||
begin
|
||
ReadCxGrid(self.Caption + tv1.Name + '1', Tv1);
|
||
ReadCxGrid(self.Caption + tv2.Name + '1', Tv2);
|
||
end;
|
||
|
||
procedure TfrmOrderLRList.TBExportClick(Sender: TObject);
|
||
begin
|
||
if ADOQueryMain.IsEmpty then
|
||
exit;
|
||
TcxGridToExcel(self.Caption, cxGrid1);
|
||
end;
|
||
|
||
procedure TfrmOrderLRList.TBFindClick(Sender: TObject);
|
||
begin
|
||
if ADOQueryMain.Active then
|
||
begin
|
||
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
|
||
SCreateCDS20(ADOQueryMain, CDS_Main);
|
||
SInitCDSData20(ADOQueryMain, CDS_Main);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmOrderLRList.MPRTCodeNameChange(Sender: TObject);
|
||
begin
|
||
TBFind.Click;
|
||
end;
|
||
|
||
procedure TfrmOrderLRList.PRTColorChange(Sender: TObject);
|
||
begin
|
||
TBFind.Click;
|
||
end;
|
||
|
||
procedure TfrmOrderLRList.cxTabControl1Change(Sender: TObject);
|
||
begin
|
||
TBRafresh.Click;
|
||
end;
|
||
|
||
procedure TfrmOrderLRList.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
|
||
var
|
||
FMainId: string;
|
||
begin
|
||
|
||
// if CDS_Main.IsEmpty then Exit;
|
||
// FMainId:=Trim(CDS_Main.FieldByName('MainId').AsString);
|
||
// try
|
||
// ADOQuerySub.DisableControls;
|
||
// with ADOQuerySub do
|
||
// begin
|
||
// Close;
|
||
// SQL.Clear;
|
||
// sql.Add('EXEC P_Get_Order_LR1');
|
||
// sql.Add('@MainID='+QuotedStr(FMainId));
|
||
// sql.Add(',@flag='+QuotedStr('0'));
|
||
// Open;
|
||
// end;
|
||
// SCreateCDS20(ADOQuerySub,CDS_Sub);
|
||
// SInitCDSData20(ADOQuerySub,CDS_Sub);
|
||
// finally
|
||
// ADOQuerySub.EnableControls;
|
||
// end;
|
||
end;
|
||
|
||
procedure TfrmOrderLRList.Edit1KeyPress(Sender: TObject; var Key: Char);
|
||
begin
|
||
if not (Key in [#8, #127, '.', '0'..'9']) then
|
||
Key := #0;
|
||
end;
|
||
|
||
procedure TfrmOrderLRList.Button1Click(Sender: TObject);
|
||
begin
|
||
if CDS_Main.IsEmpty then
|
||
Exit;
|
||
if CDS_Main.Locate('SSel', True, []) = False then
|
||
begin
|
||
Application.MessageBox('û<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
if Trim(Edit1.Text) = '' then
|
||
Exit;
|
||
if Trim(Edit1.Text) = '0' then
|
||
begin
|
||
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʲ<EFBFBD><CAB2><EFBFBD>Ϊ0<CEAA><30>', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
CDS_Main.DisableControls;
|
||
with CDS_Main do
|
||
begin
|
||
while Locate('SSel', True, []) do
|
||
begin
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add('update JYOrder_Main set LRJSHuiLv=' + QuotedStr(Trim(Edit1.Text)));
|
||
SQL.Add('where MainId=' + QuotedStr(Trim(CDS_Main.FieldByName('MainId').AsString)));
|
||
ExecSQL;
|
||
end;
|
||
Edit;
|
||
FieldByName('SSel').Value := False;
|
||
Post;
|
||
end;
|
||
end;
|
||
CDS_Main.EnableControls;
|
||
TBRafresh.Click;
|
||
end;
|
||
|
||
procedure TfrmOrderLRList.N1Click(Sender: TObject);
|
||
begin
|
||
SelOKNo(CDS_Main, True);
|
||
end;
|
||
|
||
procedure TfrmOrderLRList.N2Click(Sender: TObject);
|
||
begin
|
||
SelOKNo(CDS_Main, False);
|
||
end;
|
||
|
||
procedure TfrmOrderLRList.TBPrintClick(Sender: TObject);
|
||
var
|
||
FPrintFile: string;
|
||
begin
|
||
if CDS_Main.IsEmpty then
|
||
Exit;
|
||
CDS_Main.DisableControls;
|
||
with ADOQuery1 do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add('EXEC P_Get_Order_LR2');
|
||
SQL.Add('@conno=' + QuotedStr(Trim(CDS_Main.FieldByName('conno').AsString)));
|
||
SQL.Add(',@Flag=0');
|
||
Open;
|
||
end;
|
||
|
||
with ADOQuery2 do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add('EXEC P_Get_Order_LR2');
|
||
SQL.Add('@conno=' + QuotedStr(Trim(CDS_Main.FieldByName('conno').AsString)));
|
||
SQL.Add(',@Flag=1');
|
||
Open;
|
||
end;
|
||
|
||
with ADOQuery3 do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add('EXEC P_Get_Order_LR2');
|
||
SQL.Add('@conno=' + QuotedStr(Trim(CDS_Main.FieldByName('orderno').AsString)));
|
||
SQL.Add(',@Flag=3');
|
||
Open;
|
||
end;
|
||
|
||
with ADOQuery5 do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add('EXEC P_Get_Order_LR2');
|
||
SQL.Add('@conno=' + QuotedStr(Trim(CDS_Main.FieldByName('orderno').AsString)));
|
||
SQL.Add(',@Flag=4');
|
||
Open;
|
||
end;
|
||
|
||
with ADOQuery6 do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add('EXEC P_Get_Order_LR2');
|
||
SQL.Add('@conno=' + QuotedStr(Trim(CDS_Main.FieldByName('ConNo').AsString)));
|
||
SQL.Add(',@Flag=6');
|
||
Open;
|
||
end;
|
||
|
||
with ADOQuery4 do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add('select A.*,B.*,CONVERT(char(10),A.OrdDate,120) as ZDDate');
|
||
SQL.Add(',CONVERT(char(10),A.DlyDate,120) as JHDate');
|
||
SQL.Add(',isnull(A.MPRTCode,B.PRTCode) as CPCode');
|
||
SQL.Add(',isnull(A.MPRTCodeName,B.PRTCodeName) as CPCodeName');
|
||
SQL.Add(',isnull(A.MPRTSpec,B.PRTSpec) as CPSpec');
|
||
SQL.Add(',isnull(A.MPRTMF,B.PRTMF) as CPMF');
|
||
SQL.Add(',isnull(A.MPRTKZ,B.PRTKZ) as CPKZ');
|
||
SQL.Add('from JYOrder_Main A');
|
||
SQL.Add('inner join JYOrder_Sub B on B.MainId=A.MainId');
|
||
SQL.Add('where A.MainId=' + QuotedStr(Trim(CDS_Main.FieldByName('MainId').AsString)));
|
||
Open;
|
||
end;
|
||
|
||
FPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.rmf';
|
||
ExportFtErpFile('<27><><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.rmf', ADOQueryCmd);
|
||
if FileExists(FPrintFile) then
|
||
begin
|
||
RM1.LoadFromFile(FPrintFile);
|
||
RM1.ShowReport;
|
||
end
|
||
else
|
||
begin
|
||
Application.MessageBox(PChar('û<><C3BB><EFBFBD>ҵ<EFBFBD>' + FPrintFile + '<27><>'), '<27><>ʾ', 0);
|
||
end;
|
||
CDS_Main.EnableControls;
|
||
end;
|
||
|
||
procedure TfrmOrderLRList.Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||
var
|
||
FMainId: string;
|
||
begin
|
||
if CDS_Main.IsEmpty then
|
||
Exit;
|
||
FMainId := Trim(CDS_Main.FieldByName('MainId').AsString);
|
||
try
|
||
ADOQuerySub.DisableControls;
|
||
with ADOQuerySub do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
sql.Add('EXEC P_Get_Order_LR1');
|
||
sql.Add('@MainID=' + QuotedStr(FMainId));
|
||
sql.Add(',@flag=' + QuotedStr('0'));
|
||
Open;
|
||
end;
|
||
SCreateCDS20(ADOQuerySub, CDS_Sub);
|
||
SInitCDSData20(ADOQuerySub, CDS_Sub);
|
||
finally
|
||
ADOQuerySub.EnableControls;
|
||
end;
|
||
end;
|
||
|
||
end.
|
||
|