D7snShanfengT/应收应付/U_YSSKList_KPFK.pas

267 lines
10 KiB
ObjectPascal
Raw Normal View History

2026-02-26 09:41:35 +08:00
unit U_YSSKList_KPFK;
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;
type
TfrmYSSKList_KPFK = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ToolButton2: TToolButton;
ADOQueryMain: TADOQuery;
ToolButton1: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
Label3: TLabel;
Label2: TLabel;
Label6: TLabel;
begdate: TDateTimePicker;
Enddate: TDateTimePicker;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
cxGrid1: TcxGrid;
TV1: TcxGridDBTableView;
cxGridDBColumn8: TcxGridDBColumn;
cxGridDBColumn10: TcxGridDBColumn;
cxGridDBColumn11: TcxGridDBColumn;
cxGridDBColumn12: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
V1FactoryName: TcxGridDBColumn;
cxSplitter1: TcxSplitter;
FactoryName: TComboBox;
YForder_Sub: TClientDataSet;
DataSource1: TDataSource;
Label7: TLabel;
FKTaitou: TEdit;
V1RMBSQMoney: TcxGridDBColumn;
Panel2: TPanel;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
v2Column2: TcxGridDBColumn;
v2factoryName: TcxGridDBColumn;
v2YFName: TcxGridDBColumn;
v2ComTaiTou: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v2QtyUnit: TcxGridDBColumn;
v2Column7: TcxGridDBColumn;
v2KPMoney: TcxGridDBColumn;
v2Money: TcxGridDBColumn;
v2Column10: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
Panel3: TPanel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label17: TLabel;
Label18: TLabel;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
ComTaiTou: TEdit;
YFName: TEdit;
Label1: TLabel;
P_CodeName: TEdit;
v2P_CodeName: 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 TV1CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure YFNameChange(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
public
fDParameters1:string;
{ Public declarations }
RKFlag,FCYID,FFactoryName:String;
end;
var
frmYSSKList_KPFK: TfrmYSSKList_KPFK;
implementation
uses
U_DataLink,U_Fun,U_ZDYHelp;
{$R *.dfm}
procedure TfrmYSSKList_KPFK.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
sql.add('select AA.*,RMBKPWSK=(isnull(RMBSQKP,0)+isnull(RMBBQKP,0)-isnull(RMBFKMoney,0)-isnull(RMBSQMoney,0)) ');
sql.add('From (select A.factoryName');
sql.add(',RMBSQKP=(select isnull(Sum(KPMoney),0) from YF_Money_CR B ');
sql.add('where B.CRTime<'''+trim(formatdatetime('yyyy-MM-dd',begdate.DateTime))+'''');
sql.add('and B.BZType<>''USD'' and B.BZType<>''$'' and B.factoryName=A.factoryName ');
sql.add('and B.CRFlag='<><D3A6><EFBFBD><EFBFBD>'' and CRType='<><D3A6><EFBFBD>Ʊ<EEB7A2>Ǽ<EFBFBD>'' )'); //and isnull(B.FKTaitou,'''')=isnull(A.FKTaitou,'''')
sql.add(',RMBBQKP=(select isnull(Sum(KPMoney),0) from YF_Money_CR B ');
sql.add('where B.CRTime>='''+trim(formatdatetime('yyyy-MM-dd',begdate.DateTime))+''' ');
sql.add(' and B.CRTime<'''+trim(formatdatetime('yyyy-MM-dd',Enddate.DateTime+1))+''' ');
sql.add('and B.factoryName=A.factoryName and B.BZType<>''USD'' and B.BZType<>''$'' '); //and isnull(B.FKTaiTou,'''')=isnull(A.FKTaitou,'''')
sql.add('and B.CRFlag='<><D3A6><EFBFBD><EFBFBD>'' and CRType='<><D3A6><EFBFBD>Ʊ<EEB7A2>Ǽ<EFBFBD>'')');
sql.add(',RMBFKMoney=(select isnull(Sum(Money),0) from YF_Money_CR B ');
sql.add('where B.CRTime>='''+trim(formatdatetime('yyyy-MM-dd',begdate.DateTime))+''' ');
sql.add(' and B.CRTime<'''+trim(formatdatetime('yyyy-MM-dd',Enddate.DateTime+1))+''' ');
sql.add(' and B.CRType=''<27><><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>'' and B.Status>0 and B.BZType<>''USD'' and B.BZType<>''$'' ');
sql.add(' and B.factoryName=A.factoryName and B.CRFlag='<><D3A6><EFBFBD><EFBFBD>'') ');
sql.add(',BQFXMoney=(select isnull(Sum(FXMoney),0) from YF_Money_CR B ');
sql.add('where B.CRTime>='''+trim(formatdatetime('yyyy-MM-dd',begdate.DateTime))+''' ');
sql.add(' and B.CRTime<'''+trim(formatdatetime('yyyy-MM-dd',Enddate.DateTime+1))+''' ');
sql.add(' and B.CRType=''<27><><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>'' and B.Status>0 and B.BZType<>''USD'' and B.BZType<>''$'' ');
sql.add(' and B.factoryName=A.factoryName and B.CRFlag='<><D3A6><EFBFBD><EFBFBD>'') ');
sql.add(',BQSXMoney=(select isnull(Sum(SXMoney),0) from YF_Money_CR B ');
sql.add('where B.CRTime>='''+trim(formatdatetime('yyyy-MM-dd',begdate.DateTime))+''' ');
sql.add(' and B.CRTime<'''+trim(formatdatetime('yyyy-MM-dd',Enddate.DateTime+1))+''' ');
sql.add(' and B.CRType=''<27><><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>'' and B.Status>0 and B.BZType<>''USD'' and B.BZType<>''$'' ');
sql.add(' and B.factoryName=A.factoryName and B.CRFlag='<><D3A6><EFBFBD><EFBFBD>'') ');
sql.add(',RMBSQMoney=(select isnull(Sum(Money),0) from YF_Money_CR B ');
sql.add('where B.CRTime<'''+trim(formatdatetime('yyyy-MM-dd',begdate.DateTime))+''' ');
sql.add(' and B.CRType=''<27><><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>'' and B.Status>0 and B.BZType<>''USD'' and B.BZType<>''$'' ');
sql.add(' and B.factoryName=A.factoryName and B.CRFlag='<><D3A6><EFBFBD><EFBFBD>'') ');
sql.add(',SQFXMoney=(select isnull(Sum(FXMoney),0) from YF_Money_CR B ');
sql.add('where B.CRTime<'''+trim(formatdatetime('yyyy-MM-dd',begdate.DateTime))+''' ');
sql.add(' and B.CRType=''<27><><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>'' and B.Status>0 and B.BZType<>''USD'' and B.BZType<>''$'' ');
sql.add(' and B.factoryName=A.factoryName and B.CRFlag='<><D3A6><EFBFBD><EFBFBD>'') ');
sql.add(',SQSXMoney=(select isnull(Sum(SXMoney),0) from YF_Money_CR B ');
sql.add('where B.CRTime<'''+trim(formatdatetime('yyyy-MM-dd',begdate.DateTime))+''' ');
sql.add(' and B.CRType=''<27><><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>'' and B.Status>0 and B.BZType<>''USD'' and B.BZType<>''$'' ');
sql.add(' and B.factoryName=A.factoryName and B.CRFlag='<><D3A6><EFBFBD><EFBFBD>'') ');
sql.add('from (select distinct factoryName from YF_Money_CR where CRFlag='<><D3A6><EFBFBD><EFBFBD>'' and CRType='<><D3A6><EFBFBD>Ʊ<EEB7A2>Ǽ<EFBFBD>'')A )AA ');
sql.add('where 1=1');
if factoryName.Text<>'' then
sql.add(' and AA.factoryName='''+Trim(factoryName.Text)+'''');
{if FKTaitou.Text<>'' then
sql.add(' and AA.FKTaitou='''+trim(FKTaitou.Text)+'''');}
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_HZ);
SInitCDSData20(ADOQueryMain,CDS_HZ);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmYSSKList_KPFK.FormDestroy(Sender: TObject);
begin
frmYSSKList_KPFK:=nil;
end;
procedure TfrmYSSKList_KPFK.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmYSSKList_KPFK.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(<><D3A6><EFBFBD>տ<EFBFBD>ͳ<EFBFBD><CDB3>',Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
WriteCxGrid(<><D3A6><EFBFBD>տ<EFBFBD>ͳ<EFBFBD><CDB3>1',Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmYSSKList_KPFK.FormShow(Sender: TObject);
var fsj:string;
begin
ReadCxGrid(<><D3A6><EFBFBD>տ<EFBFBD>ͳ<EFBFBD><CDB3>',Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
ReadCxGrid(<><D3A6><EFBFBD>տ<EFBFBD>ͳ<EFBFBD><CDB3>1',Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Enddate.DateTime:=SGetServerDate(ADOQueryTemp);
begdate.DateTime:=Enddate.DateTime-7;
fsj:='select distinct (A.FactoryName) name from YF_Money_CR A where A.CRType='<><D3A6><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>'' ';
SInitComBoxBySql(ADOQueryCmd,FactoryName,False,fsj);
FactoryName.Text:=Trim(FFactoryName);
InitGrid();
end;
procedure TfrmYSSKList_KPFK.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmYSSKList_KPFK.ToolButton2Click(Sender: TObject);
var
fsj:string;
begin
initgrid();
end;
procedure TfrmYSSKList_KPFK.FactoryNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmYSSKList_KPFK.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
SelExportData(Tv2,ADOQueryMain,<><D3A6><EFBFBD>տ<EFBFBD>ͳ<EFBFBD><CDB3><EFBFBD>б<EFBFBD>');
end;
procedure TfrmYSSKList_KPFK.TV1CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
if CDS_HZ.IsEmpty then exit;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add(' select AA.* ');
sql.add(' from (select A.*');
sql.Add(' from YF_Money_CR A');
sql.Add(' where A.CRTime>='''+FormatDateTime('yyyy-MM-dd',begdate.DateTime)+''' ');
sql.Add(' and A.CRTime<'''+FormatDateTime('yyyy-MM-dd',Enddate.DateTime+1)+''' ');
sql.Add(' and A.CRType='<><D3A6><EFBFBD>Ʊ<EEB7A2>Ǽ<EFBFBD>'' ');
sql.add(' union all');
sql.Add(' select A.*');
sql.Add(' from YF_Money_CR A');
sql.Add(' where A.CRTime>='''+FormatDateTime('yyyy-MM-dd',begdate.DateTime)+''' ');
sql.Add(' and A.CRTime<'''+FormatDateTime('yyyy-MM-dd',Enddate.DateTime+1)+''' ');
sql.Add(' and A.CRType=''<27><><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>'' ');
sql.Add(' and A.status>0 ) AA');
sql.add(' where AA.FactoryName='''+trim(CDS_HZ.fieldbyname('FactoryName').AsString)+'''');
//sql.add(' and isnull(AA.FKTaitou,'''')='''+trim(CDS_HZ.fieldbyname('FKTaitou').AsString)+'''');
sql.add(' order by AA.CRtime');
Open;
end;
SCreateCDS20(ADOQueryCmd,YForder_Sub);
SInitCDSData20(ADOQueryCmd,YForder_Sub);
end;
procedure TfrmYSSKList_KPFK.YFNameChange(Sender: TObject);
begin
//if YForder_Sub.IsEmpty then exit;
SDofilter(ADOQueryCmd,SGetFilters(Panel3,1,2));
SCreateCDS20(ADOQueryCmd,YForder_Sub);
SInitCDSData20(ADOQueryCmd,YForder_Sub);
end;
end.