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

263 lines
8.7 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_YFZDList_MX;
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
TfrmYFZDList_MX = 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;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
Label2: TLabel;
begdate: TDateTimePicker;
Enddate: TDateTimePicker;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
Label1: TLabel;
v2Column1: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
v2Qty: TcxGridDBColumn;
v2Price: TcxGridDBColumn;
v2yfk: TcxGridDBColumn;
v2fk: TcxGridDBColumn;
v2Column10: TcxGridDBColumn;
v2yfkye: TcxGridDBColumn;
v2YFName: TcxGridDBColumn;
Label5: TLabel;
YFName: TEdit;
Label7: TLabel;
FKTaitou: TEdit;
FactoryName: TComboBox;
Label6: TLabel;
P_Codename: TEdit;
v2P_CodeName: TcxGridDBColumn;
v2KPType: TcxGridDBColumn;
v2PayMent: TcxGridDBColumn;
Label4: TLabel;
KPType: TEdit;
Label8: TLabel;
PayMent: TEdit;
v2FKNo: 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 FormCreate(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
public
{ Public declarations }
RKFlag,FCYID:String;
end;
var
frmYFZDList_MX: TfrmYFZDList_MX;
implementation
uses
U_DataLink,U_Fun,U_ZDYHelp;
{$R *.dfm}
procedure TfrmYFZDList_MX.InitGrid();
var FMoney:double;
i:Integer;
begin
try
ADOQueryMain.DisableControls;
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('select Sum((Money-isnull(FXMoney,0)-isnull(SXMoney,0))*QtyFlag) yfkye ');
sql.add('from YF_Money_CR ');
sql.add('where CRTime<'''+FormatDateTime('yyyy-MM-dd',begdate.DateTime)+'''');
sql.add(' and CRtype in ('<><D3A6><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>'',''<27><><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>'') and isnull(status,''0'')<>''0''');
sql.add(' and isnull(FeeType,'''')<>''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>''');
if FactoryName.Text<>'' then
sql.add(' and FactoryName like '''+'%'+trim(FactoryName.Text)+'%'+'''');
if PayMent.Text<>'' then
sql.add(' and PayMent like '''+'%'+trim(PayMent.Text)+'%'+'''');
if KPType.Text<>'' then
sql.add(' and KPType like '''+'%'+trim(KPType.Text)+'%'+'''');
if YFName.Text<>'' then
sql.add(' and YFName like '''+'%'+trim(YFName.Text)+'%'+'''');
if P_Codename.Text<>'' then
sql.add(' and P_Codename like '''+'%'+trim(P_Codename.Text)+'%'+'''');
open;
end;
FMoney:=ADOQueryTemp.fieldbyname('yfkye').asfloat;
with ADOQueryMain do
begin
Close;
SQL.Clear;
sql.Add(' select AA.* ');
sql.add(' ,KHType=(select Top 1 C.DEFstr5 from KH_Zdy_Attachment C where C.Type=''GYS'' and C.ZdyName=AA.FactoryName)');
sql.add(' from (select A.*,cast(Money as decimal(18,2)) yfk,cast(0 as decimal(18,2)) fk,cast(0 as decimal(18,2)) yfkye');
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><EFBFBD><EFBFBD>Ǽ<EFBFBD>'' ');
sql.add(' and isnull(A.FeeType,'''')<>''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>''');
sql.Add(' and isnull(A.status,''0'')<>''0''');
sql.add(' union all');
sql.Add(' select A.*,cast(0 as decimal(18,2)) yfk,cast(Money as decimal(18,2)) fk,cast(0 as decimal(18,2)) yfkye');
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 isnull(A.status,''0'')<>''0'' ) AA');
sql.add(' where 1=1');
if FactoryName.Text<>'' then
sql.add(' and AA.FactoryName like '''+'%'+trim(FactoryName.Text)+'%'+'''');
if YFName.Text<>'' then
sql.add(' and AA.YFName like '''+'%'+trim(YFName.Text)+'%'+'''');
if P_Codename.Text<>'' then
sql.add(' and AA.P_Codename like '''+'%'+trim(P_Codename.Text)+'%'+'''');
if PayMent.Text<>'' then
sql.add(' and PayMent like '''+'%'+trim(PayMent.Text)+'%'+'''');
if KPType.Text<>'' then
sql.add(' and KPType like '''+'%'+trim(KPType.Text)+'%'+'''');
sql.Add('order by AA.CRTime');
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_HZ);
with CDS_HZ do
begin
append;
fieldbyname('CRTime').Value:=begdate.DateTime;
fieldbyname('yfkye').Value:=FMoney;
post;
end;
CDS_HZ.DisableControls;
with ADOQueryMain do
begin
first;
while not eof do
begin
with CDS_HZ do
begin
append;
fieldbyname('CRTime').Value:=ADOQueryMain.fieldbyname('CRTime').AsDateTime;
fieldbyname('factoryName').Value:=ADOQueryMain.fieldbyname('factoryName').AsString;
fieldbyname('P_Codename').Value:=ADOQueryMain.fieldbyname('P_Codename').AsString;
fieldbyname('YFName').Value:=ADOQueryMain.fieldbyname('YFName').AsString;
fieldbyname('FKNo').Value:=ADOQueryMain.fieldbyname('FKNo').AsString;
fieldbyname('KPType').Value:=ADOQueryMain.fieldbyname('KPType').AsString;
fieldbyname('PayMent').Value:=ADOQueryMain.fieldbyname('PayMent').AsString;
fieldbyname('KHType').Value:=ADOQueryMain.fieldbyname('KHType').AsString;
fieldbyname('Qty').Value:=ADOQueryMain.fieldbyname('Qty').AsFloat;
fieldbyname('Price').Value:=ADOQueryMain.fieldbyname('Price').AsFloat;
fieldbyname('yfk').Value:=ADOQueryMain.fieldbyname('yfk').AsFloat;
fieldbyname('fk').Value:=ADOQueryMain.fieldbyname('fk').AsFloat;
FMoney:=FMoney+(ADOQueryMain.fieldbyname('Money').AsFloat)*ADOQueryMain.fieldbyname('QtyFlag').AsFloat;
fieldbyname('yfkye').Value:=FMoney;
fieldbyname('note').Value:=ADOQueryMain.fieldbyname('note').AsString;
fieldbyname('ComTaiTou').Value:=ADOQueryMain.fieldbyname('ComTaiTou').AsString;
post;
end;
next;
end;
end;
CDS_HZ.EnableControls;
for i:=1 to 34-CDS_HZ.RecordCount do
begin
with CDS_HZ do
begin
Append;
post;
end;
end;
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmYFZDList_MX.FormDestroy(Sender: TObject);
begin
frmYFZDList_MX:=nil;
end;
procedure TfrmYFZDList_MX.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmYFZDList_MX.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(self.Caption,Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1');
Close;
end;
procedure TfrmYFZDList_MX.FormShow(Sender: TObject);
var fsj:string;
begin
ReadCxGrid(self.Caption,Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1');
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);
//InitGrid();
end;
procedure TfrmYFZDList_MX.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmYFZDList_MX.ToolButton2Click(Sender: TObject);
begin
initgrid();
end;
procedure TfrmYFZDList_MX.FactoryNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmYFZDList_MX.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
TcxGridToExcel(self.Caption,cxgrid2);
// SelExportData(Tv2,ADOQueryMain,'Ӧ<><D3A6><EFBFBD><EFBFBD><EEB8B6>ͳ<EFBFBD><CDB3><EFBFBD>б<EFBFBD>');
end;
procedure TfrmYFZDList_MX.FormCreate(Sender: TObject);
begin
cxGrid2.Align:=AlClient;
end;
end.