D7myYunxiang/云翔财务(Money.dll)/U_YSSKList.pas
DESKTOP-E401PHE\Administrator 1011cb7292 1
2025-01-20 13:04:03 +08:00

278 lines
7.4 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_YSSKList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin,
StdCtrls, cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls,
cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid,
cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common,
RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdFTP,ShellAPI,IniFiles, cxCheckBox, cxCalendar,
cxButtonEdit, cxTextEdit, cxPC,dxCore,ActiveX, cxLookAndFeels,
cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu;
type
TfrmYSSKList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ToolButton2: TToolButton;
ToolButton1: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
Label3: TLabel;
FactoryNameGYS: TEdit;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
Label2: TLabel;
begdate: TDateTimePicker;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
v2Column5: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v2Column4: TcxGridDBColumn;
ADOQueryMain: TADOQuery;
CDS_HZ: TClientDataSet;
v2Column7: TcxGridDBColumn;
v2Column8: TcxGridDBColumn;
v2Column10: TcxGridDBColumn;
v2Column11: TcxGridDBColumn;
ToolButton3: TToolButton;
cxTabControl1: TcxTabControl;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure FactoryNameGYSChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure Tv2CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure ToolButton3Click(Sender: TObject);
procedure v2Column6HeaderClick(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
public
fDParameters1:string;
{ Public declarations }
RKFlag,FCYID:String;
end;
var
frmYSSKList: TfrmYSSKList;
implementation
uses
U_DataLink,U_RTFun,U_Fun,U_ZDYHelp,U_YSMXlist;
{$R *.dfm}
procedure TfrmYSSKList.InitGrid();
var
FYue,FDate:string;
FInt:Integer;
begin
FInt:=cxTabControl1.TabIndex+1;
FYue:=Trim(IntToStr(FInt));
if FInt<10 then
begin
FYue:='0'+Trim(IntToStr(FInt));
end;
FDate:=Trim(FormatDateTime('yyyy',begdate.Date))+'-'+FYue;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
Filtered:=False;
sql.Add(' exec P_YSSK_Month :Fdate ') ;
Parameters.ParamByName('Fdate').Value:=FDate;
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_HZ);
SInitCDSData20(ADOQueryMain,CDS_HZ);
finally
ADOQueryMain.EnableControls;
end;
//ToolButton2.Click;
end;
procedure TfrmYSSKList.FormDestroy(Sender: TObject);
begin
frmYSSKList:=nil;
end;
procedure TfrmYSSKList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmYSSKList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(<><D3A6><EFBFBD>տ<EFBFBD>ͳ<EFBFBD><CDB3>YX',Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmYSSKList.FormShow(Sender: TObject);
var
fstr:string;
begin
ReadCxGrid(<><D3A6><EFBFBD>տ<EFBFBD>ͳ<EFBFBD><CDB3>YX',Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
begdate.DateTime:=SGetServerDateMBeg(ADOQueryTemp);
fstr:=Trim(FormatDateTime('MM',begdate.Date));
cxTabControl1.TabIndex:=StrToInt(fstr)-1;
// InitGrid();
end;
procedure TfrmYSSKList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
CDS_HZ.IndexFieldNames:='FactoryName';
with CDS_HZ do
begin
with IndexDefs do
begin
Clear;
with AddIndexDef do
begin
Name := 'Fld1Indx';
Fields := 'FactoryName';
Options := [ixDescending]; //<2F><><EFBFBD><EFBFBD>
end;
end;
end;
end;
procedure TfrmYSSKList.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active=False then Exit;
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,CDS_HZ);
SInitCDSData20(ADOQueryMain,CDS_HZ);
end;
procedure TfrmYSSKList.FactoryNameGYSChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmYSSKList.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
SelExportData(Tv2,ADOQueryMain,<>տ<EFBFBD><D5BF>տ<EFBFBD>ͳ<EFBFBD><CDB3><EFBFBD>б<EFBFBD>');
end;
procedure TfrmYSSKList.Tv2CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
try
frmYSMXlist:=TfrmYSMXlist.Create(Application);
with frmYSMXlist do
begin
FMX:='99';
frmYSMXlist.begdate.DateTime:=Self.begdate.DateTime;
frmYSMXlist.cxTabControl1.TabIndex:=Self.cxTabControl1.TabIndex;
frmYSMXlist.factoryName.Text:=Self.CDS_HZ.fieldbyname('factoryName').AsString;
frmYSMXlist.factoryName.TxtCode:=Self.CDS_HZ.fieldbyname('factoryNo').AsString;
frmYSMXlist.Align:=alClient;
if ShowModal=1 then
begin
end;
end;
finally
frmYSMXlist.Free;
end;
end;
procedure TfrmYSSKList.ToolButton3Click(Sender: TObject);
var
filepath,fsj:string;
mBegdate,mEnddate:string;
FName,FNameSX,FNameJX:String;
i:Integer;
begin
{for i:=0 to Tv2.ColumnCount-1 do
begin
FName:=Tv2.Columns[i].DataBinding.FilterFieldName;
FNameSX:=Trim(FName)+'-1';
FNameJX:=Trim(FName)+'-2';
CDS_HZ.AddIndex(FNameSX, FName, []); // <20><><EFBFBD><EFBFBD>
CDS_HZ.AddIndex(FNameJX, FName, [ixDescending]); // <20><><EFBFBD><EFBFBD>
if Tv2.Columns[i].SortOrder=soDescending then
begin
CDS_HZ.IndexName:=FNameJX;
end else
if Tv2.Columns[i].SortOrder=soAscending then
begin
CDS_HZ.IndexName:=FNameSX;
end;
end; }
fsj:=cxTabControl1.Tabs[cxTabControl1.TabIndex].Caption;
mbegdate:=FormatDateTime('yyyy',begdate.Date)+'<27><>'+Trim(Copy(fsj,3,Length(fsj)-2))+'<27><>';
if CDS_HZ.IsEmpty then exit;
try
filepath:=ExtractFilePath(Application.ExeName) + 'report\Ӧ<>տ<EFBFBD>ͳ<EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD>YX.rmf';
if not FileExists(Pchar(filepath)) then
begin
application.MessageBox(pchar('<27>ļ<EFBFBD>['+filepath+']<5D><><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>'),'<27><>ʾ<EFBFBD><CABE>Ϣ',MB_IConError);
exit;
end;
RmVariables['begDate'] :=mbegdate;
RM1.LoadFromFile(filepath);
RM1.ShowReport;
finally
end;
end;
procedure TfrmYSSKList.v2Column6HeaderClick(Sender: TObject);
var
FName,FNameSX,FNameJX:String;
begin
FName:=TcxGridDBColumn(Sender).DataBinding.FilterFieldName;
FNameSX:=Trim(FName)+'-1';
FNameJX:=Trim(FName)+'-2';
CDS_HZ.AddIndex(FNameSX, FName, []); { <20><><EFBFBD><EFBFBD> }
CDS_HZ.AddIndex(FNameJX, FName, [ixDescending]); { <20><><EFBFBD><EFBFBD> }
if TcxGridDBColumn(Sender).SortOrder=soDescending then
begin
CDS_HZ.IndexName:=FNameSX;
end else
if TcxGridDBColumn(Sender).SortOrder=soAscending then
begin
CDS_HZ.IndexName:=FNameJX;
end;
end;
procedure TfrmYSSKList.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
end.