D7FZaideng/应收应付/U_YKHXList.pas
DESKTOP-E401PHE\Administrator 82c6347dad ~
2025-04-30 16:21:22 +08:00

259 lines
6.8 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_YKHXList;
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
TfrmYKHXList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ToolButton2: TToolButton;
ToolButton1: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
Label3: TLabel;
FactoryName: TEdit;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
Label2: TLabel;
Label6: TLabel;
begdate: TDateTimePicker;
Enddate: TDateTimePicker;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
v2Column1: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
v2Column4: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v2Ssel: TcxGridDBColumn;
Label4: TLabel;
listNo: TEdit;
Label5: TLabel;
ToNo: TEdit;
ADOQueryMain: TADOQuery;
CheckBox1: TCheckBox;
ToolButton3: TToolButton;
v2Column6: 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);
procedure CheckBox1Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
public
{ Public declarations }
RKFlag,FCYID:String;
end;
var
frmYKHXList: TfrmYKHXList;
implementation
uses
U_DataLink,U_Fun10,U_ZDYHelp;
{$R *.dfm}
procedure TfrmYKHXList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
Filtered:=False;
sql.Add(' select A.*,B.factoryName ');
sql.Add(' from YF_Log A ');
sql.Add(' inner join YF_Money_CR B on B.YFID=A.ToNo ');
sql.Add(' where A.Filldate>='''+formatdateTime('yyyy-MM-dd',begdate.DateTime)+''' ');
sql.Add(' and A.Filldate<'''+formatdateTime('yyyy-MM-dd',enddate.DateTime+1)+''' ');
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_HZ);
SInitCDSData20(ADOQueryMain,CDS_HZ);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmYKHXList.FormDestroy(Sender: TObject);
begin
frmYKHXList:=nil;
end;
procedure TfrmYKHXList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmYKHXList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(self.Caption,Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmYKHXList.FormShow(Sender: TObject);
begin
ReadCxGrid(self.Caption,Tv2,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Enddate.DateTime:=SGetServerDate(ADOQueryTemp);
begdate.DateTime:=Enddate.DateTime-7;
InitGrid();
end;
procedure TfrmYKHXList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmYKHXList.ToolButton2Click(Sender: TObject);
var
fsj:string;
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,CDS_HZ);
SInitCDSData20(ADOQueryMain,CDS_HZ);
end;
end;
procedure TfrmYKHXList.FactoryNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmYKHXList.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 TfrmYKHXList.FormCreate(Sender: TObject);
begin
cxGrid2.Align:=AlClient;
end;
procedure TfrmYKHXList.CheckBox1Click(Sender: TObject);
begin
IF CDS_HZ.IsEmpty then exit;
with CDS_HZ do
begin
DisableControls;
first;
while not eof do
begin
edit;
fieldbyname('ssel').Value:=checkbox1.Checked;
post;
next;
end;
First;
EnableControls;
end;
end;
procedure TfrmYKHXList.ToolButton3Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then exit;
if CDS_HZ.Locate('ssel',true,[])=false then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
ADOQueryCmd.Connection.BeginTrans;
try
with CDS_HZ do
begin
DisableControls;
first;
while not eof do
begin
IF Fieldbyname('ssel').AsBoolean then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add(' update YF_Money_CR SET HXNum=A.HxNum - B.num ');
sql.Add(' from YF_Money_CR A ');
sql.Add(' inner join YF_Log B on B.listNo=A.YFID ');
sql.Add(' where B.AutoID='+quotedstr(trim(CDS_HZ.fieldbyname('AutoID').AsString)));
sql.Add(' update YF_Money_CR SET HXNum=A.HxNum - B.num ');
sql.Add(' from YF_Money_CR A ');
sql.Add(' inner join YF_Log B on B.ToNo=A.YFID ');
sql.Add(' where B.AutoID='+quotedstr(trim(CDS_HZ.fieldbyname('AutoID').AsString)));
sql.Add(' update YF_Money_CR SET status=''0'' ');
sql.Add(' from YF_Money_CR A ');
sql.Add(' inner join YF_Log B on B.listNo=A.YFID ');
sql.Add(' where B.AutoID='+quotedstr(trim(CDS_HZ.fieldbyname('AutoID').AsString)));
sql.Add(' and hxNum=0 ');
sql.Add(' update YF_Money_CR SET status=''0'' ');
sql.Add(' from YF_Money_CR A ');
sql.Add(' inner join YF_Log B on B.ToNo=A.YFID ');
sql.Add(' where B.AutoID='+quotedstr(trim(CDS_HZ.fieldbyname('AutoID').AsString)));
sql.Add(' and hxNum=0 ');
sql.Add(' delete from YF_Log ');
sql.Add(' where AutoID='+quotedstr(trim(CDS_HZ.fieldbyname('AutoID').AsString)));
execsql;
end;
end;
next;
end;
First;
EnableControls;
end;
ADOQueryCmd.Connection.CommitTrans;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ');
TBRafresh.Click;
except
ADOQueryCmd.Connection.RollbackTrans;
CDS_HZ.EnableControls;
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
end;
end;
end.