D7wmguihua/应收应付/U_YF_Money_LL.pas
DESKTOP-E401PHE\Administrator b4b5840f18 1
2025-01-18 16:22:10 +08:00

340 lines
9.0 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_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, cxLookAndFeels,
cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, dxSkinsCore,
dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee,
dxSkinDarkRoom, dxSkinDarkSide, dxSkinDevExpressDarkStyle,
dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans,
dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky,
dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis,
dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black,
dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,
dxSkinOffice2010Silver, dxSkinOffice2013DarkGray,
dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinPumpkin,
dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus,
dxSkinSilver, dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008,
dxSkinTheAsphaltWorld, dxSkinsDefaultPainters, dxSkinValentine,
dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue, dxSkinscxPCPainter;
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;
TZDY: TToolButton;
cxTabControl1: TcxTabControl;
V1CRZY: TcxGridDBColumn;
V1OutMoney: TcxGridDBColumn;
V1YEMoney: TcxGridDBColumn;
Label3: TLabel;
V1Column1: TcxGridDBColumn;
TofactoryName: TEdit;
Label5: TLabel;
V1Column2: TcxGridDBColumn;
Label6: TLabel;
OrderNo: TEdit;
CDS_Main: TClientDataSet;
ADOQueryMain: TADOQuery;
ToolButton1: TToolButton;
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);
private
procedure initGrid();
procedure SetTab();
{ Private declarations }
public
fSYRName:string;
{ Public declarations }
end;
var
frmMoney_LL: TfrmMoney_LL;
implementation
uses U_DataLink, U_Fun10,U_YF_Money_Sub, U_ZDYHelp, U_SysLogHelp;
{$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 ='''+trim(fsyrName)+'''+''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.OnChange := cxTabControl1Change;
// cxTabControl1.TabIndex:=0;
end;
procedure TfrmMoney_LL.InitGrid();
begin
with ADOQueryMain 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='''+trim(fsyrName)+''' ');
// ShowMessage(SQL.text);
open;
end;
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,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+'1',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+'1',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]);
fsyrName:=self.fSYRName;
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(ADOQueryMain,SGetFilters(Panel1,1,0));
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,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);
fsyrName:=self.fSYRName;
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:=trim(fsyrName)+'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
TGLV.Click;
end;
procedure TfrmMoney_LL.cxTabControl1Change(Sender: TObject);
begin
// IF cxTabControl1.TabIndex>=0 then
initGrid();
end;
procedure TfrmMoney_LL.ToolButton1Click(Sender: TObject);
begin
frmSysLogHelp:=TfrmSysLogHelp.create(self);
with frmSysLogHelp do
begin
facction:='<27>˻<EFBFBD><CBBB><EFBFBD>ˮ<EFBFBD>޸<EFBFBD>';
showmodal;
free;
end;
end;
end.