D7snShanfengT/应收应付/U_YSSKList_KPFK.pas
DESKTOP-E401PHE\Administrator c363cb75a7 调整之后的山凤水泥厂
2026-02-26 09:41:35 +08:00

267 lines
10 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_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.