408 lines
10 KiB
ObjectPascal
408 lines
10 KiB
ObjectPascal
unit U_YF_Money_LL;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
|
||
cxEdit, DB, cxDBData, DBClient, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu,
|
||
cxPC, StdCtrls, ComCtrls, ExtCtrls, cxGridLevel, cxGridCustomTableView,
|
||
cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView,
|
||
cxGrid, ToolWin, cxCalendar, cxCurrencyEdit, cxTextEdit, RM_Dataset, RM_System,
|
||
RM_Common, RM_Class, RM_GridReport, cxLookAndFeels, cxLookAndFeelPainters,
|
||
cxNavigator, dxBarBuiltInMenu;
|
||
|
||
type
|
||
TfrmMoney_LL = class(TForm)
|
||
ToolBar1: TToolBar;
|
||
TINIT: TToolButton;
|
||
TGLV: TToolButton;
|
||
TADD: TToolButton;
|
||
TUPDATE: TToolButton;
|
||
TDEL: TToolButton;
|
||
TSELECT: TToolButton;
|
||
Texcel: TToolButton;
|
||
TCLOSE: TToolButton;
|
||
Panel1: TPanel;
|
||
Label1: TLabel;
|
||
Label4: TLabel;
|
||
Label2: TLabel;
|
||
CRType: TEdit;
|
||
BegDate: TDateTimePicker;
|
||
EndDate: TDateTimePicker;
|
||
CRZY: TEdit;
|
||
cxGrid1: TcxGrid;
|
||
TV1: TcxGridDBTableView;
|
||
V1CRTime: TcxGridDBColumn;
|
||
V1CRType: TcxGridDBColumn;
|
||
V1InMoney: TcxGridDBColumn;
|
||
V1NOTE: TcxGridDBColumn;
|
||
cxGrid1Level1: TcxGridLevel;
|
||
DataSource1: TDataSource;
|
||
AdoQueryTmp: TADOQuery;
|
||
ADOQueryCmd: TADOQuery;
|
||
cxGridPopupMenu1: TcxGridPopupMenu;
|
||
CDS_Main: TClientDataSet;
|
||
TZDY: TToolButton;
|
||
cxTabControl1: TcxTabControl;
|
||
V1CRZY: TcxGridDBColumn;
|
||
V1OutMoney: TcxGridDBColumn;
|
||
V1YEMoney: TcxGridDBColumn;
|
||
Label3: TLabel;
|
||
V1Column1: TcxGridDBColumn;
|
||
TofactoryName: TEdit;
|
||
Label5: TLabel;
|
||
V1Column2: TcxGridDBColumn;
|
||
Label6: TLabel;
|
||
OrderNo: TEdit;
|
||
V1SerCharge: TcxGridDBColumn;
|
||
ToolButton1: TToolButton;
|
||
ToolButton2: TToolButton;
|
||
CDS_PRT1: TClientDataSet;
|
||
CDS_PRT2: TClientDataSet;
|
||
ADOQuery1: TADOQuery;
|
||
ADOQuery2: TADOQuery;
|
||
RM3: TRMGridReport;
|
||
RMDBPRT1: TRMDBDataSet;
|
||
RMDBPRT2: TRMDBDataSet;
|
||
V1Column3: TcxGridDBColumn;
|
||
TV1Column1: TcxGridDBColumn;
|
||
procedure FormCreate(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure FormDestroy(Sender: TObject);
|
||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||
procedure TV1DblClick(Sender: TObject);
|
||
procedure TCLOSEClick(Sender: TObject);
|
||
procedure TADDClick(Sender: TObject);
|
||
procedure TINITClick(Sender: TObject);
|
||
procedure TGLVClick(Sender: TObject);
|
||
procedure TUPDATEClick(Sender: TObject);
|
||
procedure TSELECTClick(Sender: TObject);
|
||
procedure TexcelClick(Sender: TObject);
|
||
procedure TDELClick(Sender: TObject);
|
||
procedure TZDYClick(Sender: TObject);
|
||
procedure CRTypeChange(Sender: TObject);
|
||
procedure cxTabControl1Change(Sender: TObject);
|
||
procedure ToolButton1Click(Sender: TObject);
|
||
procedure ToolButton2Click(Sender: TObject);
|
||
private
|
||
procedure initGrid();
|
||
procedure SetTab();
|
||
{ Private declarations }
|
||
public
|
||
{ Public declarations }
|
||
end;
|
||
|
||
var
|
||
frmMoney_LL: TfrmMoney_LL;
|
||
|
||
implementation
|
||
|
||
uses
|
||
U_DataLink, U_Fun, U_YF_Money_Sub, U_ZDYHelp;
|
||
|
||
{$R *.dfm}
|
||
procedure TfrmMoney_LL.SetTab();
|
||
begin
|
||
cxTabControl1.OnChange := nil;
|
||
cxTabControl1.Tabs.Clear;
|
||
with AdoqueryCmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select * from KH_ZDY where Type =''XJLLFLAG'' ');
|
||
open;
|
||
if not isempty then
|
||
begin
|
||
while not eof do
|
||
begin
|
||
cxTabControl1.Tabs.Add(trim(fieldbyname('ZDYName').AsString));
|
||
next;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
if cxTabControl1.Tabs.Count < 1 then
|
||
cxTabControl1.Tabs.Add('<27><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>');
|
||
// cxTabControl1.TabIndex:=0;
|
||
cxTabControl1.OnChange := cxTabControl1Change;
|
||
end;
|
||
|
||
procedure TfrmMoney_LL.InitGrid();
|
||
begin
|
||
with AdoQueryTmp do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('exec P_ZHLL_List_MX ');
|
||
sql.Add('@begdate=''' + formatdateTime('yyyy-MM-dd', begdate.DateTime) + ''' ');
|
||
sql.Add(',@enddate=''' + formatdateTime('yyyy-MM-dd', enddate.DateTime + 1) + ''' ');
|
||
sql.Add(',@factoryName=' + quotedstr(Trim(cxTabControl1.Tabs.Strings[cxTabControl1.TabIndex])));
|
||
sql.Add(',@syrName='''' ');
|
||
// showmessage(sql.text);
|
||
open;
|
||
end;
|
||
SCreateCDS20(ADOQueryTmp, CDS_Main);
|
||
SInitCDSData20(ADOQueryTmp, CDS_Main);
|
||
end;
|
||
|
||
procedure TfrmMoney_LL.FormCreate(Sender: TObject);
|
||
begin
|
||
cxgrid1.Align := alclient;
|
||
end;
|
||
|
||
procedure TfrmMoney_LL.FormShow(Sender: TObject);
|
||
begin
|
||
ReadCxGrid(self.Caption + tv1.Name, Tv1);
|
||
enddate.datetime := SGetServerDateTime(ADOQueryTmp);
|
||
begdate.datetime := strtodate(formatdateTime('yyyy-MM', enddate.DateTime) + '-01');
|
||
SetTab();
|
||
initGrid();
|
||
end;
|
||
|
||
procedure TfrmMoney_LL.FormDestroy(Sender: TObject);
|
||
begin
|
||
frmMoney_LL := nil;
|
||
end;
|
||
|
||
procedure TfrmMoney_LL.FormClose(Sender: TObject; var Action: TCloseAction);
|
||
begin
|
||
writeCxGrid(self.Caption + tv1.Name, Tv1);
|
||
Action := cafree;
|
||
end;
|
||
|
||
procedure TfrmMoney_LL.TV1DblClick(Sender: TObject);
|
||
begin
|
||
TSELECT.click;
|
||
end;
|
||
|
||
procedure TfrmMoney_LL.TCLOSEClick(Sender: TObject);
|
||
begin
|
||
close;
|
||
end;
|
||
|
||
procedure TfrmMoney_LL.TADDClick(Sender: TObject);
|
||
begin
|
||
try
|
||
FrmYF_Money_Sub := TFrmYF_Money_Sub.Create(Application);
|
||
with FrmYF_Money_Sub do
|
||
begin
|
||
factoryName.text := Trim(cxTabControl1.Tabs.Strings[cxTabControl1.TabIndex]);
|
||
Fkeyno := '';
|
||
if ShowModal = 1 then
|
||
begin
|
||
InitGrid();
|
||
end;
|
||
end;
|
||
finally
|
||
;
|
||
FrmYF_Money_Sub.free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmMoney_LL.TINITClick(Sender: TObject);
|
||
begin
|
||
InitGrid();
|
||
end;
|
||
|
||
procedure TfrmMoney_LL.TGLVClick(Sender: TObject);
|
||
begin
|
||
SDofilter(AdoQueryTmp, SGetFilters(Panel1, 1, 0));
|
||
SCreateCDS20(AdoQueryTmp, CDS_Main);
|
||
SInitCDSData20(AdoQueryTmp, CDS_Main);
|
||
end;
|
||
|
||
procedure TfrmMoney_LL.TUPDATEClick(Sender: TObject);
|
||
begin
|
||
if CDS_Main.IsEmpty then
|
||
Exit;
|
||
if CDS_Main.fieldbyname('frommainID').AsString <> '' then
|
||
begin
|
||
application.messagebox('<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>벻<EFBFBD><EBB2BB><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
|
||
exit;
|
||
end;
|
||
try
|
||
FrmYF_Money_Sub := TFrmYF_Money_Sub.Create(Application);
|
||
with FrmYF_Money_Sub do
|
||
begin
|
||
Fkeyno := trim(Self.CDS_Main.fieldbyname('LLNO').asstring);
|
||
;
|
||
if ShowModal = 1 then
|
||
begin
|
||
InitGrid();
|
||
end;
|
||
end;
|
||
finally
|
||
;
|
||
FrmYF_Money_Sub.free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmMoney_LL.TSELECTClick(Sender: TObject);
|
||
begin
|
||
if CDS_Main.IsEmpty then
|
||
Exit;
|
||
try
|
||
FrmYF_Money_Sub := TFrmYF_Money_Sub.Create(Application);
|
||
with FrmYF_Money_Sub do
|
||
begin
|
||
Fkeyno := trim(Self.CDS_Main.fieldbyname('LLNO').asstring);
|
||
TSave.Visible := False;
|
||
panel1.Enabled := False;
|
||
if ShowModal = 1 then
|
||
begin
|
||
// InitGrid();
|
||
end;
|
||
end;
|
||
finally
|
||
;
|
||
FrmYF_Money_Sub.free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmMoney_LL.TexcelClick(Sender: TObject);
|
||
begin
|
||
if CDS_Main.IsEmpty then
|
||
Exit;
|
||
TcxGridToExcel(Trim(cxTabControl1.Tabs.Strings[cxTabControl1.TabIndex]), cxGrid1);
|
||
end;
|
||
|
||
procedure TfrmMoney_LL.TDELClick(Sender: TObject);
|
||
begin
|
||
if CDS_Main.IsEmpty then
|
||
exit;
|
||
if CDS_Main.fieldbyname('frommainID').AsString <> '' then
|
||
begin
|
||
application.messagebox('<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>벻<EFBFBD><EBB2BB>ɾ<EFBFBD><C9BE>!', '<27><>ʾ', 0);
|
||
exit;
|
||
end;
|
||
if application.MessageBox('ȷ<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 1) = 2 then
|
||
exit;
|
||
try
|
||
ADOQuerycmd.Connection.BeginTrans;
|
||
with ADOQuerycmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('delete from YF_Money_LL where LLNO=''' + trim(CDS_Main.fieldbyname('LLNO').AsString) + '''');
|
||
sql.Add('delete from YF_Money_LL where fromMainID=''' + trim(CDS_Main.fieldbyname('LLNO').AsString) + '''');
|
||
execsql;
|
||
end;
|
||
ADOQuerycmd.Connection.CommitTrans;
|
||
initGrid();
|
||
except
|
||
ADOQuerycmd.connection.rollbackTrans;
|
||
application.messagebox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>ʧ<EFBFBD><CAA7>', '<27><>ʾ', 0);
|
||
end;
|
||
|
||
end;
|
||
|
||
procedure TfrmMoney_LL.TZDYClick(Sender: TObject);
|
||
begin
|
||
try
|
||
frmZDYHelp := TfrmZDYHelp.Create(self);
|
||
with frmZDYHelp do
|
||
begin
|
||
flag := 'XJLLFLAG';
|
||
flagname := '<27>˻<EFBFBD><CBBB><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>';
|
||
if showmodal = 1 then
|
||
begin
|
||
SetTab();
|
||
// cxTabControl1.Tabs.Text:=trim(ClientDataSet1.fieldbyname('ZDYName').asstring);
|
||
end;
|
||
end;
|
||
// initGrid();
|
||
finally
|
||
frmZDYHelp.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmMoney_LL.CRTypeChange(Sender: TObject);
|
||
begin
|
||
SDofilter(AdoQueryTmp, SGetFilters(Panel1, 1, 0));
|
||
SCreateCDS20(AdoQueryTmp, CDS_Main);
|
||
SInitCDSData20(AdoQueryTmp, CDS_Main);
|
||
end;
|
||
|
||
procedure TfrmMoney_LL.cxTabControl1Change(Sender: TObject);
|
||
begin
|
||
initGrid();
|
||
end;
|
||
|
||
procedure TfrmMoney_LL.ToolButton1Click(Sender: TObject);
|
||
var
|
||
FPrintFile: string;
|
||
begin
|
||
if CDS_Main.IsEmpty then
|
||
Exit;
|
||
with ADOQuery1 do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add(' EXEC P_ZHLL_ALL_List_MX');
|
||
SQL.Add(' @BegDate=''' + FormatDateTime('yyyy-mm-dd', BegDate.DateTime) + ''' ');
|
||
SQL.Add(',@EndDate=''' + FormatDateTime('yyyy-mm-dd', EndDate.DateTime) + ''' ');
|
||
SQL.Add(',@Flag=0');
|
||
Open;
|
||
end;
|
||
SCreateCDS20(ADOQuery1, CDS_PRT1);
|
||
SInitCDSData20(ADOQuery1, CDS_PRT1);
|
||
|
||
with ADOQuery2 do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add(' EXEC P_ZHLL_ALL_List_HZ');
|
||
SQL.Add(' @BegDate=''' + FormatDateTime('yyyy-mm-dd', BegDate.DateTime) + ''' ');
|
||
SQL.Add(',@EndDate=''' + FormatDateTime('yyyy-mm-dd', EndDate.DateTime) + ''' ');
|
||
Open;
|
||
end;
|
||
SCreateCDS20(ADOQuery2, CDS_PRT2);
|
||
SInitCDSData20(ADOQuery2, CDS_PRT2);
|
||
|
||
FPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C>˻<EFBFBD><CBBB><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD>.rmf';
|
||
if FileExists(FPrintFile) then
|
||
begin
|
||
RM3.LoadFromFile(FPrintFile);
|
||
RM3.ShowReport;
|
||
end
|
||
else
|
||
begin
|
||
Application.MessageBox(PChar('û<><C3BB><EFBFBD>ҵ<EFBFBD>' + FPrintFile), '<27><>ʾ', 0);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmMoney_LL.ToolButton2Click(Sender: TObject);
|
||
var
|
||
FPrintFile: string;
|
||
begin
|
||
if CDS_Main.IsEmpty then
|
||
Exit;
|
||
with ADOQuery1 do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add(' EXEC P_ZHLL_ALL_List_MX');
|
||
SQL.Add(' @BegDate=''' + FormatDateTime('yyyy-mm-dd', BegDate.DateTime) + ''' ');
|
||
SQL.Add(',@EndDate=''' + FormatDateTime('yyyy-mm-dd', EndDate.DateTime) + ''' ');
|
||
SQL.Add(',@Flag=1');
|
||
Open;
|
||
end;
|
||
SCreateCDS20(ADOQuery1, CDS_PRT1);
|
||
SInitCDSData20(ADOQuery1, CDS_PRT1);
|
||
|
||
FPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C>ֽ<EFBFBD><D6BD><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD>.rmf';
|
||
if FileExists(FPrintFile) then
|
||
begin
|
||
RM3.LoadFromFile(FPrintFile);
|
||
RM3.ShowReport;
|
||
end
|
||
else
|
||
begin
|
||
Application.MessageBox(PChar('û<><C3BB><EFBFBD>ҵ<EFBFBD>' + FPrintFile), '<27><>ʾ', 0);
|
||
end;
|
||
end;
|
||
|
||
end.
|
||
|