D7snShanfengT/应收应付/U_YSSKList_KP.pas

254 lines
8.8 KiB
ObjectPascal
Raw Permalink Normal View History

2026-02-26 09:41:35 +08:00
unit U_YSSKList_KP;
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_KP = 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;
V1GCName: TcxGridDBColumn;
cxSplitter1: TcxSplitter;
GCName: TComboBox;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
v2Column2: TcxGridDBColumn;
v2YFName: TcxGridDBColumn;
v2GCName: TcxGridDBColumn;
v2ComTaiTou: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v2P_Spec: TcxGridDBColumn;
v2FKType: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v2Column7: TcxGridDBColumn;
v2KPMoney: TcxGridDBColumn;
v2Money: TcxGridDBColumn;
v2QtyUnit: TcxGridDBColumn;
v2Column10: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
v2FKTaitou: TcxGridDBColumn;
YForder_Sub: TClientDataSet;
DataSource1: TDataSource;
V1FKTaitou: TcxGridDBColumn;
Label7: TLabel;
FKTaitou: TEdit;
V1RMBSQMoney: TcxGridDBColumn;
Panel3: TPanel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label17: TLabel;
Label18: TLabel;
Label8: TLabel;
Label9: TLabel;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
ComTaiTou: TEdit;
YFName: TEdit;
P_CodeName: TEdit;
P_Spec: TEdit;
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 GCNameChange(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_KP: TfrmYSSKList_KP;
implementation
uses
U_DataLink,U_Fun,U_ZDYHelp;
{$R *.dfm}
procedure TfrmYSSKList_KP.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.GCName,A.FKTaitou');
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.GCName=A.GCName ');
sql.add('and B.CRFlag='<><D3A6><EFBFBD><EFBFBD>'' and CRType='<>տƱ<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))+''' ');
sql.add('and B.GCName=A.GCName and isnull(B.FKTaiTou,'''')=isnull(A.FKTaitou,'''') and B.BZType<>''USD'' and B.BZType<>''$'' ');
sql.add('and B.CRFlag='<><D3A6><EFBFBD><EFBFBD>'' and CRType='<>տƱ<EEB7A2>Ǽ<EFBFBD>'')');
sql.add(',RMBFKMoney=(select isnull(Sum(Money),0)+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))+''' ');
sql.add(' and B.CRType=''<27>տ<EFBFBD><D5BF>Ǽ<EFBFBD>'' and B.Status=''2'' and B.BZType<>''USD'' and B.BZType<>''$'' ');
sql.add(' and B.GCName=A.GCName and isnull(B.FKTaiTou,'''')=isnull(A.FKTaitou,'''') and B.CRFlag='<><D3A6><EFBFBD><EFBFBD>'' and B.YFName<>''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'') ');
sql.add(',RMBSQMoney=(select isnull(Sum(Money),0)+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><D5BF>Ǽ<EFBFBD>'' and B.Status=''2'' and B.BZType<>''USD'' and B.BZType<>''$'' ');
sql.add(' and B.GCName=A.GCName and isnull(B.FKTaiTou,'''')=isnull(A.FKTaitou,'''') and B.CRFlag='<><D3A6><EFBFBD><EFBFBD>'' and B.YFName<>''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'') ');
sql.add('from (select distinct GCName,FKTaitou from YF_Money_CR where CRFlag='<><D3A6><EFBFBD><EFBFBD>'' and CRType='<>տƱ<EEB7A2>Ǽ<EFBFBD>'')A )AA ');
sql.add('where 1=1');
if GCName.Text<>'' then
sql.add(' and AA.GCName='''+Trim(GCName.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_KP.FormDestroy(Sender: TObject);
begin
frmYSSKList_KP:=nil;
end;
procedure TfrmYSSKList_KP.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmYSSKList_KP.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_KP.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.GCName) name from YF_Money_CR A where A.CRType='<>տ<EFBFBD><D5BF>Ǽ<EFBFBD>'' ';
SInitComBoxBySql(ADOQueryCmd,GCName,False,fsj);
GCName.Text:=Trim(FFactoryName);
InitGrid();
end;
procedure TfrmYSSKList_KP.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmYSSKList_KP.ToolButton2Click(Sender: TObject);
var
fsj:string;
begin
initgrid();
end;
procedure TfrmYSSKList_KP.GCNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmYSSKList_KP.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
SelExportData(Tv2,ADOQueryMain,<><D3A6><EFBFBD>տ<EFBFBD>ͳ<EFBFBD><CDB3><EFBFBD>б<EFBFBD>');
end;
procedure TfrmYSSKList_KP.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='<>տƱ<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><D5BF>Ǽ<EFBFBD>'' ');
sql.Add(' and A.status=''2'' ) AA');
sql.add(' where AA.GCName='''+trim(CDS_HZ.fieldbyname('GCName').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_KP.YFNameChange(Sender: TObject);
begin
//if YForder_Sub.IsEmpty then exit;
SDofilter(ADOQueryCmd,Trim(SGetFilters(Panel3,1,2)));
SCreateCDS20(ADOQueryCmd,YForder_Sub);
SInitCDSData20(ADOQueryCmd,YForder_Sub);
end;
end.