D7wmoukai/贸易管理(TradeManage.dll)/U_OrderLRList.pas
DESKTOP-E401PHE\Administrator 451d1bbba9 ~
2025-07-19 17:24:07 +08:00

470 lines
12 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_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.