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

365 lines
11 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_YFFKListDZ;
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
TfrmYFFKListDZ = 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;
Panel2: TPanel;
Label2: TLabel;
begdate: TDateTimePicker;
Panel3: TPanel;
Label4: TLabel;
FBegDate: TDateTimePicker;
Label5: TLabel;
FEndDate: TDateTimePicker;
Panel4: TPanel;
Label3: TLabel;
RadioGroup1: TRadioGroup;
FactoryNameGYS: TEdit;
v2Column1: TcxGridDBColumn;
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 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 Tv2DblClick(Sender: TObject);
procedure FactoryNameGYSChange(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
public
fDParameters1:string;
{ Public declarations }
RKFlag,FCYID:String;
end;
var
frmYFFKListDZ: TfrmYFFKListDZ;
implementation
uses
U_DataLink,U_RTFun,U_Fun,U_ZDYHelp,U_YFMXlistMonDayGQX,U_GYSListSelJJ;
{$R *.dfm}
procedure TfrmYFFKListDZ.InitGrid();
var
FYue,FDate:string;
FInt:Integer;
FHuiLv:Double;
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;
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;
end;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
Filtered:=False;
if RadioGroup1.ItemIndex=0 then
begin
sql.Add(' exec P_YFFK_Month :Fdate ') ;
Parameters.ParamByName('Fdate').Value:=FDate;
end else
if RadioGroup1.ItemIndex=1 then
begin
sql.Add(' exec P_YFFK_Day :FBegdate,:FEndDate ') ;
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 TfrmYFFKListDZ.FormDestroy(Sender: TObject);
begin
frmYFFKListDZ:=nil;
end;
procedure TfrmYFFKListDZ.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmYFFKListDZ.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(<><D3A6><EFBFBD><EFBFBD>ͳ<EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD>YXDZ',Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmYFFKListDZ.FormShow(Sender: TObject);
var
fstr:string;
begin
ReadCxGrid(<><D3A6><EFBFBD><EFBFBD>ͳ<EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD>YXDZ',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 TfrmYFFKListDZ.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmYFFKListDZ.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 TfrmYFFKListDZ.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
TcxGridToExcel(<><D3A6><EFBFBD><EFBFBD>ͳ<EFBFBD><CDB3><EFBFBD>б<EFBFBD>DZ',cxGrid2);
end;
procedure TfrmYFFKListDZ.Tv2CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
var
FName,FNO:string;
begin
if CDS_HZ.IsEmpty then Exit;
try
frmYFMXlistMonDayGQX:=TfrmYFMXlistMonDayGQX.Create(Application);
with frmYFMXlistMonDayGQX do
begin
FMX:='99';
PState:=Self.RadioGroup1.ItemIndex;
if Self.RadioGroup1.ItemIndex=0 then
begin
frmYFMXlistMonDayGQX.begdate.DateTime:=Self.begdate.DateTime;
frmYFMXlistMonDayGQX.cxTabControl1.TabIndex:=Self.cxTabControl1.TabIndex;
frmYFMXlistMonDayGQX.factoryName.Text:=Self.CDS_HZ.fieldbyname('factoryName').AsString;
frmYFMXlistMonDayGQX.Fbegdate.DateTime:=Self.Fbegdate.DateTime;
frmYFMXlistMonDayGQX.FEnddate.DateTime:=Self.FEnddate.DateTime;
end else
if Self.RadioGroup1.ItemIndex=1 then
begin
frmYFMXlistMonDayGQX.begdate.DateTime:=Self.begdate.DateTime;
frmYFMXlistMonDayGQX.Fbegdate.DateTime:=Self.Fbegdate.DateTime;
frmYFMXlistMonDayGQX.FEnddate.DateTime:=Self.FEnddate.DateTime;
frmYFMXlistMonDayGQX.factoryName.Text:=Self.CDS_HZ.fieldbyname('factoryName').AsString;
end;
frmYFMXlistMonDayGQX.factoryName.TxtCode:=Self.CDS_HZ.fieldbyname('factoryNo').AsString;
frmYFMXlistMonDayGQX.Align:=alClient;
frmYFMXlistMonDayGQX.LabGYS.Caption:=Self.CDS_HZ.fieldbyname('factoryName').AsString;
if ShowModal=1 then
begin
end;
end;
finally
frmYFMXlistMonDayGQX.Free;
end;
end;
procedure TfrmYFFKListDZ.ToolButton3Click(Sender: TObject);
var
filepath,fsj:string;
mBegdate,mEnddate:string;
FName,FNameSX,FNameJX:String;
i:Integer;
begin
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\Ӧ<><D3A6><EFBFBD><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 TfrmYFFKListDZ.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmYFFKListDZ.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,10);
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,12,10);
v2FKMoney.Caption:=Copy(v2FKMoney.Summary.GroupFormat,10,8);
v2BQMoney.Caption:=Copy(v2BQMoney.Summary.GroupFormat,10,8);
end;
InitGrid();
end;
procedure TfrmYFFKListDZ.Tv2DblClick(Sender: TObject);
var
FName,FNO:string;
begin
{if CDS_HZ.IsEmpty=False then Exit;
FName:='';FNO:='';
if Trim(FactoryName.TxtCode)<>'' then
begin
if CDS_HZ.IsEmpty then
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * ');
sql.Add(' from KH_Main A ');
sql.add(' where isnull(KHFlag,'''')='''+Trim('GYS')+''' and isnull(Valid,'''')=''Y'' ');
sql.Add(' and KHNO='''+Trim(FactoryName.TxtCode)+'''');
Open;
end;
FName:=Trim(ADOQueryTemp.fieldbyname('KHNameJC').AsString);
end;
end;
FNO:=Trim(FactoryName.TxtCode);
if Trim(FName)='' then Exit;
if Trim(FNO)='' then Exit;
try
frmYFMXlistMonDayGQX:=TfrmYFMXlistMonDayGQX.Create(Application);
with frmYFMXlistMonDayGQX do
begin
FMX:='99';
PState:=Self.RadioGroup1.ItemIndex;
if Self.RadioGroup1.ItemIndex=0 then
begin
frmYFMXlistMonDayGQX.begdate.DateTime:=Self.begdate.DateTime;
frmYFMXlistMonDayGQX.cxTabControl1.TabIndex:=Self.cxTabControl1.TabIndex;
frmYFMXlistMonDayGQX.factoryName.Text:=FName;
frmYFMXlistMonDayGQX.Fbegdate.DateTime:=Self.Fbegdate.DateTime;
frmYFMXlistMonDayGQX.FEnddate.DateTime:=Self.FEnddate.DateTime;
end else
if Self.RadioGroup1.ItemIndex=1 then
begin
frmYFMXlistMonDayGQX.begdate.DateTime:=Self.begdate.DateTime;
frmYFMXlistMonDayGQX.Fbegdate.DateTime:=Self.Fbegdate.DateTime;
frmYFMXlistMonDayGQX.FEnddate.DateTime:=Self.FEnddate.DateTime;
frmYFMXlistMonDayGQX.factoryName.Text:=FName;
end;
frmYFMXlistMonDayGQX.factoryName.TxtCode:=Trim(FNO);
frmYFMXlistMonDayGQX.Align:=alClient;
frmYFMXlistMonDayGQX.LabGYS.Caption:=FName;
if ShowModal=1 then
begin
end;
end;
finally
frmYFMXlistMonDayGQX.Free;
end; }
end;
procedure TfrmYFFKListDZ.FactoryNameGYSChange(Sender: TObject);
begin
ToolButton2.Click;
end;
end.