D7myYunxiang/云翔财务(Money.dll)/U_YSSKListRMBMJDZ.pas

490 lines
14 KiB
ObjectPascal
Raw Permalink Normal View History

2025-01-20 13:04:03 +08:00
unit U_YSSKListRMBMJDZ;
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, cxGridBandedTableView,
cxGridDBBandedTableView, BtnEdit;
type
TfrmYSSKListRMBMJDZ = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ToolButton2: TToolButton;
ToolButton1: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
ADOQueryMain: TADOQuery;
CDS_HZ: TClientDataSet;
ToolButton3: TToolButton;
cxTabControl1: TcxTabControl;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
v2Column6: TcxGridDBColumn;
v2SQMoney: TcxGridDBColumn;
v2YFMoney: TcxGridDBColumn;
v2FKMoney: TcxGridDBColumn;
v2BQMoney: TcxGridDBColumn;
v2Column4: TcxGridDBColumn;
v2Column7: TcxGridDBColumn;
v2Column8: TcxGridDBColumn;
v2ZJFKDate: TcxGridDBColumn;
v2ZJFKMoney: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
cxTabControl2: TcxTabControl;
Panel2: TPanel;
Label2: TLabel;
begdate: TDateTimePicker;
Panel3: TPanel;
Label4: TLabel;
FBegDate: TDateTimePicker;
Label5: TLabel;
FEndDate: TDateTimePicker;
Panel4: TPanel;
Label3: TLabel;
Label1: TLabel;
HuiLv: TEdit;
RadioGroup1: TRadioGroup;
v2Column1: TcxGridDBColumn;
FactoryNameGYS: TEdit;
v2Column2: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
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 FactoryNameChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure Tv2CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure ToolButton3Click(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
procedure FactoryNameGYSBtnClick(Sender: TObject);
procedure FactoryNameGYSChange(Sender: TObject);
private
{ Private declarations }
FFEndDate,FFBegDate:TDateTime;
procedure InitGrid();
public
fDParameters1:string;
{ Public declarations }
RKFlag,FCYID:String;
end;
var
frmYSSKListRMBMJDZ: TfrmYSSKListRMBMJDZ;
implementation
uses
U_DataLink,U_RTFun,U_Fun,U_ZDYHelp,U_YSMXlistMonDayDZ,U_KHListSelJJ,U_KHSKListView;
{$R *.dfm}
procedure TfrmYSSKListRMBMJDZ.InitGrid();
var
FYue,FDate:string;
FInt:Integer;
FHuiLv:Double;
begin
if cxTabControl2.TabIndex=2 then
begin
if Trim(HuiLv.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD>ʲ<EFBFBD><CAB2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if TryStrToFloat(HuiLv.Text,FHuiLv)=False then
begin
Application.MessageBox('<27><><EFBFBD>ʷǷ<CAB7><C7B7><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
end;
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;
FBegDate.Date:=StrToDate(FDate+'-01');
if FInt=12 then
FEndDate.Date:=StrToDate(Trim(FormatDateTime('yyyy',begdate.Date))+'-12-31')
else
FEndDate.Date:=StrToDate(Trim(FormatDateTime('yyyy',begdate.Date))+'-'+Trim(IntToStr(FInt+1))+'-01')-1;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
Filtered:=False;
if RadioGroup1.ItemIndex=0 then
begin
if cxTabControl2.TabIndex<>2 then
begin
sql.Add(' exec P_YSSK_Month_BZ :Fdate,:BZType,:HuiLv ') ;
end else
begin
sql.Add(' exec P_YSSK_Month_RMB :Fdate,:HuiLv ') ;
end;
if cxTabControl2.TabIndex=0 then
begin
Parameters.ParamByName('BZType').Value:='<27><>';
Parameters.ParamByName('HuiLv').Value:=1;
end else
if cxTabControl2.TabIndex=1 then
begin
Parameters.ParamByName('BZType').Value:='$';
Parameters.ParamByName('HuiLv').Value:=1;
end else
if cxTabControl2.TabIndex=2 then
begin
Parameters.ParamByName('HuiLv').Value:=HuiLv.Text;
end;
Parameters.ParamByName('Fdate').Value:=FDate;
end else
if RadioGroup1.ItemIndex=1 then
begin
if cxTabControl2.TabIndex<>2 then
begin
sql.Add(' exec P_YSSK_Day_BZ :FBegdate,:FEndDate,:BZType,:HuiLv ') ;
end else
begin
sql.Add(' exec P_YSSK_Day_RMB :FBegdate,:FEndDate,:HuiLv ') ;
end;
if cxTabControl2.TabIndex=0 then
begin
Parameters.ParamByName('BZType').Value:='<27><>';
Parameters.ParamByName('HuiLv').Value:=1;
end else
if cxTabControl2.TabIndex=1 then
begin
Parameters.ParamByName('BZType').Value:='$';
Parameters.ParamByName('HuiLv').Value:=1;
end else
if cxTabControl2.TabIndex=2 then
begin
Parameters.ParamByName('HuiLv').Value:=HuiLv.Text;
end;
Parameters.ParamByName('FBegdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',FBegDate.Date));
Parameters.ParamByName('FEndDate').Value:=Trim(FormatDateTime('yyyy-MM-dd',FEndDate.Date+1));
end;
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_HZ);
SInitCDSData20(ADOQueryMain,CDS_HZ);
finally
ADOQueryMain.EnableControls;
end;
//ToolButton2.Click;
end;
procedure TfrmYSSKListRMBMJDZ.FormDestroy(Sender: TObject);
begin
frmYSSKListRMBMJDZ:=nil;
end;
procedure TfrmYSSKListRMBMJDZ.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmYSSKListRMBMJDZ.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(<>տ<EFBFBD>ͳ<EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD>YX1',Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmYSSKListRMBMJDZ.FormShow(Sender: TObject);
var
fstr:string;
begin
ReadCxGrid(<>տ<EFBFBD>ͳ<EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD>YX1',Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
begdate.DateTime:=SGetServerDateMBeg(ADOQueryTemp);
Fbegdate.DateTime:=SGetServerDate(ADOQueryTemp);
FEndDate.Date:=Fbegdate.DateTime;
fstr:=Trim(FormatDateTime('MM',begdate.Date));
cxTabControl1.TabIndex:=StrToInt(fstr)-1;
Panel3.Visible:=False;
// InitGrid();
end;
procedure TfrmYSSKListRMBMJDZ.TBRafreshClick(Sender: TObject);
begin
InitGrid();
ToolButton2.Click;
{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 TfrmYSSKListRMBMJDZ.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active=False then Exit;
SDofilter(ADOQueryMain,SGetFilters(Panel4,1,2));
SCreateCDS20(ADOQueryMain,CDS_HZ);
SInitCDSData20(ADOQueryMain,CDS_HZ);
end;
procedure TfrmYSSKListRMBMJDZ.FactoryNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmYSSKListRMBMJDZ.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
//SelExportData(Tv2,ADOQueryMain,'Ӧ<>տ<EFBFBD><D5BF>տ<EFBFBD>ͳ<EFBFBD><CDB3><EFBFBD>б<EFBFBD>');
TcxGridToExcel(<>տ<EFBFBD><D5BF>տ<EFBFBD>ͳ<EFBFBD><CDB3><EFBFBD>б<EFBFBD>',cxGrid2);
end;
procedure TfrmYSSKListRMBMJDZ.Tv2CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
var
FName,FDate,FYue:string;
FInt:Integer;
begin
if cxTabControl2.TabIndex>1 then Exit;
if CDS_HZ.IsEmpty then Exit;
FName:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName;
if Trim(FName)='FKMoney' then
begin
if RadioGroup1.ItemIndex=0 then
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;
FFBegDate:=StrToDate(FDate+'-01');
if FInt=12 then
FFEndDate:=StrToDate(Trim(FormatDateTime('yyyy',begdate.Date))+'-12-31')
else
FFEndDate:=StrToDate(Trim(FormatDateTime('yyyy',begdate.Date))+'-'+Trim(IntToStr(FInt+1))+'-01')-1;
end else
if RadioGroup1.ItemIndex=1 then
begin
FFBegDate:=FBegDate.Date;
FFEndDate:=FEndDate.Date;
end;
try
frmKHSKListView:=TfrmKHSKListView.Create(Application);
with frmKHSKListView do
begin
FKHNO:=Trim(Self.CDS_HZ.fieldbyname('FactoryNo').AsString);
frmKHSKListView.begdate.Date:=Self.FFBegDate;
frmKHSKListView.Enddate.Date:=Self.FFEndDate;
FactoryNameHZ.Text:=Trim(Self.CDS_HZ.fieldbyname('FactoryName').AsString);
if ShowModal=1 then
begin
end;
end;
finally
frmKHSKListView.Free;
end;
Exit;
end;
try
frmYSMXlistMonDayDZ:=TfrmYSMXlistMonDayDZ.Create(Application);
with frmYSMXlistMonDayDZ do
begin
FMX:='99';
PState:=Self.RadioGroup1.ItemIndex;
if Self.cxTabControl2.TabIndex=0 then
begin
frmYSMXlistMonDayDZ.FBZ:='<27><>'
end else
if Self.cxTabControl2.TabIndex=1 then
begin
frmYSMXlistMonDayDZ.FBZ:='$'
end;
if Self.RadioGroup1.ItemIndex=0 then
begin
frmYSMXlistMonDayDZ.begdate.DateTime:=Self.begdate.DateTime;
frmYSMXlistMonDayDZ.cxTabControl1.TabIndex:=Self.cxTabControl1.TabIndex;
frmYSMXlistMonDayDZ.factoryName.Text:=Self.CDS_HZ.fieldbyname('factoryName').AsString;
frmYSMXlistMonDayDZ.Fbegdate.DateTime:=Self.Fbegdate.DateTime;
frmYSMXlistMonDayDZ.FEnddate.DateTime:=Self.FEnddate.DateTime;
end else
if Self.RadioGroup1.ItemIndex=1 then
begin
frmYSMXlistMonDayDZ.begdate.DateTime:=Self.begdate.DateTime;
frmYSMXlistMonDayDZ.Fbegdate.DateTime:=Self.Fbegdate.DateTime;
frmYSMXlistMonDayDZ.FEnddate.DateTime:=Self.FEnddate.DateTime;
frmYSMXlistMonDayDZ.factoryName.Text:=Self.CDS_HZ.fieldbyname('factoryName').AsString;
end;
frmYSMXlistMonDayDZ.factoryName.TxtCode:=Self.CDS_HZ.fieldbyname('factoryNo').AsString;
frmYSMXlistMonDayDZ.Align:=alClient;
frmYSMXlistMonDayDZ.LabGYS.Caption:=Self.CDS_HZ.fieldbyname('factoryName').AsString;
if ShowModal=1 then
begin
end;
end;
finally
frmYSMXlistMonDayDZ.Free;
end;
end;
procedure TfrmYSSKListRMBMJDZ.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 TfrmYSSKListRMBMJDZ.cxTabControl1Change(Sender: TObject);
begin
if cxTabControl2.TabIndex=2 then
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
Filtered:=False;
sql.Add(' exec P_YSSK_Month_BZ :Fdate,:BZType,:HuiLv ') ;
Parameters.ParamByName('BZType').Value:='<27><>';
Parameters.ParamByName('HuiLv').Value:=1;
Parameters.ParamByName('Fdate').Value:='2000-01';
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_HZ);
SInitCDSData20(ADOQueryMain,CDS_HZ);
finally
ADOQueryMain.EnableControls;
end;
end;
InitGrid();
ToolButton2.Click;
end;
procedure TfrmYSSKListRMBMJDZ.RadioGroup1Click(Sender: TObject);
begin
if RadioGroup1.ItemIndex=0 then
begin
Panel2.Visible:=True;
Panel3.Visible:=False;
cxTabControl1.Visible:=True;
v2SQMoney.Caption:=Copy(v2SQMoney.Summary.GroupFormat,1,8);
v2YFMoney.Caption:=Copy(v2YFMoney.Summary.GroupFormat,1,8);
v2FKMoney.Caption:=Copy(v2FKMoney.Summary.GroupFormat,1,8);
v2BQMoney.Caption:=Copy(v2BQMoney.Summary.GroupFormat,1,8);
end else
if RadioGroup1.ItemIndex=1 then
begin
Panel2.Visible:=False;
Panel3.Visible:=True;
cxTabControl1.Visible:=False;
v2SQMoney.Caption:=Copy(v2SQMoney.Summary.GroupFormat,10,8);
v2YFMoney.Caption:=Copy(v2YFMoney.Summary.GroupFormat,10,8);
v2FKMoney.Caption:=Copy(v2FKMoney.Summary.GroupFormat,10,8);
v2BQMoney.Caption:=Copy(v2BQMoney.Summary.GroupFormat,10,8);
end;
InitGrid();
end;
procedure TfrmYSSKListRMBMJDZ.FactoryNameGYSBtnClick(Sender: TObject);
begin
{try
frmKHListSelJJ:=TfrmKHListSelJJ.Create(Application);
with frmKHListSelJJ do
begin
frmKHListSelJJ.canshu2:='<27><>Ȩ<EFBFBD><C8A8>';
if ShowModal=1 then
begin
Self.FactoryNameGYS.Text:=Trim(frmKHListSelJJ.CDS_HZ.fieldbyname('KHNameJC').AsString);
Self.FactoryNameGYS.TxtCode:=Trim(frmKHListSelJJ.CDS_HZ.fieldbyname('KHNO').AsString);
end;
end;
finally
frmKHListSelJJ.Free;
end; }
end;
procedure TfrmYSSKListRMBMJDZ.FactoryNameGYSChange(Sender: TObject);
begin
ToolButton2.Click;
end;
end.