D10myYicheng/财务管理(Financial.dll)/U_CWFKList.pas
2025-05-27 14:08:09 +08:00

1140 lines
31 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_CWFKList;
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, cxDropDownEdit, cxPC, cxLookAndFeels, cxLookAndFeelPainters,
cxNavigator, dxBarBuiltInMenu, dxSkinsCore, dxSkinsDefaultPainters,
dxDateRanges, U_BaseList, ComObj;
type
FdDy = record
inc: integer; //客户端套接字句柄
FDdys: string[32]; //客户端套接字
FdDysName: string[32]; //客户端套接字
end;
TfrmCWFKList = class(TfrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBDel: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
Label1: TLabel;
YFName: TEdit;
ADOQueryMain: TADOQuery;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
Label3: TLabel;
KHNameHZ: TEdit;
Label2: TLabel;
Label6: TLabel;
begdate: TDateTimePicker;
Enddate: TDateTimePicker;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_1: TDataSource;
ToolButton3: TToolButton;
Label8: TLabel;
HZFactoryName: TEdit;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
VDate: TcxGridDBColumn;
VFTYName: TcxGridDBColumn;
VYFName: TcxGridDBColumn;
VPayMent: TcxGridDBColumn;
VYB: TcxGridDBColumn;
VNote: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
v2Column1: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v2Column4: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v2Column7: TcxGridDBColumn;
Label5: TLabel;
BankName: TEdit;
Label7: TLabel;
BankNo: TEdit;
Label9: TLabel;
ComTaiTou: TEdit;
v2Column8: TcxGridDBColumn;
v2Column9: TcxGridDBColumn;
cxTabControl1: TcxTabControl;
v2Column2: TcxGridDBColumn;
v2Column10: TcxGridDBColumn;
v2Column12: TcxGridDBColumn;
v2Column15: TcxGridDBColumn;
v2Column16: TcxGridDBColumn;
CDS_1: TClientDataSet;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
Tv1Column6: TcxGridDBColumn;
Tv1Column7: TcxGridDBColumn;
Tv1Column8: TcxGridDBColumn;
Tv1Column9: TcxGridDBColumn;
Tv1Column10: TcxGridDBColumn;
Tv1Column11: TcxGridDBColumn;
Tv1Column12: TcxGridDBColumn;
Tv1Column13: TcxGridDBColumn;
Tv1Column14: TcxGridDBColumn;
ToolButton6: TToolButton;
Panel2: TPanel;
OpenDialog1: TOpenDialog;
Tv1Column15: TcxGridDBColumn;
Tv1Column16: TcxGridDBColumn;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure cxGridDBColumn3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure FormCreate(Sender: TObject);
procedure VPayMentPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure v2Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure v2Column6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure v2Column9PropertiesEditValueChanged(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure TextEdit(Sender: TObject);
procedure KHNameHZKeyPress(Sender: TObject; var Key: Char);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure ButtonEdit(Sender: TObject; AButtonIndex: Integer);
procedure v2Column10PropertiesEditValueChanged(Sender: TObject);
procedure Tv1Column14PropertiesChange(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
procedure ToolButton8Click(Sender: TObject);
private
{ Private declarations }
canshu1: string;
FLeft, FTop: Integer;
procedure InitGrid();
function SaveData(): Boolean;
public
{ Public declarations }
RKFlag, FCYID, FZKType: string;
dFdDy: array[0..20] of FdDy; //客户端连接数组
end;
implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp, U_GYSKPSel, U_CKFKHXList, U_FKHx,
U_BankListSel, U_FjList10;
{$R *.dfm}
procedure TfrmCWFKList.InitGrid();
var
WSql: string;
begin
WSql := SGetFilters(Panel1, 1, 2);
if Trim(WSql) <> '' then
WSql := ' and ' + WSql;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
Filtered := False;
sql.Add(' select A.*,WhxNum=Money-hxNum ');
SQL.Add(',isfj=CAST((CASE WHEN (SELECT COUNT(*) FROM TP_FILE D WHERE D.WBID=A.cwid )>0 THEN 1 ELSE 0 END )AS BIT)');
sql.Add(' from CW_Money_CR A where A.CRType=''付款登记'' ');
case cxTabControl1.TabIndex of
0:
begin
sql.Add(' and isnull(BZType,'''')=''$'' ');
end;
1:
begin
sql.Add(' and isnull(BZType,'''')=''¥'' ');
end;
2:
begin
sql.Add(' and isnull(BZType,'''')=''€'' ');
end;
end;
sql.Add(' and A.CRTime>=''' + FormatDateTime('yyyy-MM-dd', begdate.DateTime) + ''' ');
sql.Add(' and CRTime<''' + FormatDateTime('yyyy-MM-dd', Enddate.DateTime + 1) + ''' ');
sql.Add(WSql);
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmCWFKList.KHNameHZKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
InitGrid();
end;
end;
procedure TfrmCWFKList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmCWFKList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('付款登记DZ', TV1, '财务管理');
Close;
end;
procedure TfrmCWFKList.TBDelClick(Sender: TObject);
var
FBBMoney, CRID: string;
begin
if CDS_1.IsEmpty then
Exit;
if Trim(CDS_1.fieldbyname('CWID').AsString) <> '' then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' select * from CW_Money_CR');
sql.Add(' where CWID=''' + Trim(CDS_1.fieldbyname('CWID').AsString) + '''');
SQL.Add(' and status=''1''');
Open;
end;
if ADOQueryCmd.IsEmpty = False then
begin
Application.MessageBox('已审核数据不能删除!', '提示', 0);
Exit;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add(' select * from CW_Bank_LS');
sql.Add(' where BLID=''' + Trim(CDS_1.fieldbyname('FromDataID1').AsString) + '''');
Open;
end;
if ADOQueryTemp.IsEmpty = False then
begin
Application.MessageBox('银行流水数据不能删除!', '提示', 0);
Exit;
end;
if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then
Exit;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add(' insert into ZDel_CW_Money_CR ');
sql.Add(' select * from CW_Money_CR where CWID=''' + Trim(CDS_1.fieldbyname('CWID').AsString) + '''');
sql.Add(' Update ZDel_CW_Money_CR Set DelTime=getdate(),DelName=''' + Trim(DName) + ''',DelCode=''' + Trim(DCode) + '''');
sql.Add(' where CWID=''' + Trim(CDS_1.fieldbyname('CWID').AsString) + '''');
sql.Add(' delete CW_Money_CR where CWID=''' + Trim(CDS_1.fieldbyname('CWID').AsString) + '''');
execsql;
end;
ADOQueryCmd.Connection.CommitTrans;
CDS_1.Delete;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('删除失败!', '提示', 0);
end;
end;
end;
procedure TfrmCWFKList.FormShow(Sender: TObject);
var
fsj: string;
begin
inherited;
ReadCxGrid('付款登记DZ', TV1, '财务管理');
Enddate.DateTime := SGetServerDate(ADOQueryTemp);
begdate.DateTime := Enddate.DateTime - 50;
InitGrid();
end;
procedure TfrmCWFKList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
function TfrmCWFKList.SaveData(): Boolean;
var
maxId, CRID: string;
begin
try
ADOQueryCmd.Connection.BeginTrans;
if GetLSNo(ADOQueryCmd, maxId, 'FK', 'CW_Money_CR', 4, 1) = False then
begin
Result := False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('取最大号失败!', '提示', 0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from CW_Money_CR where 1<>1');
Open;
end;
with ADOQueryCmd do
begin
Append;
FieldByName('CWID').Value := Trim(maxId);
FieldByName('CRID').Value := '-99992';
FieldByName('Filler').Value := Trim(DName);
FieldByName('Fillcode').Value := Trim(DCode);
FieldByName('CRType').Value := '付款登记';
FieldByName('CRFlag').Value := '应付付';
FieldByName('QtyFlag').Value := -1;
FieldByName('FactoryNo').Value := Trim(CDS_1.fieldbyname('FactoryNo').AsString);
FieldByName('BZType').Value := Trim(CDS_1.fieldbyname('BZType').AsString);
FieldByName('lzCWID').Value := Trim(CDS_1.fieldbyname('lzCWID').AsString);
FieldByName('FactoryName').Value := Trim(CDS_1.fieldbyname('FactoryName').AsString);
FieldByName('HZFactoryNo').Value := Trim(CDS_1.fieldbyname('HZFactoryNo').AsString);
FieldByName('HZFactoryName').Value := Trim(CDS_1.fieldbyname('HZFactoryName').AsString);
FieldByName('bankno').Value := Trim(CDS_1.fieldbyname('bankno').AsString);
FieldByName('BankName').Value := Trim(CDS_1.fieldbyname('BankName').AsString);
FieldByName('BankHangHao').Value := Trim(CDS_1.fieldbyname('BankHangHao').AsString);
FieldByName('CRTime').Value := SGetServerDate(ADOQueryTemp);
FieldByName('ZKType').Value := Trim(FZKType);
Post;
end;
with CDS_1 do
begin
Edit;
FieldByName('CWID').Value := Trim(maxId);
end;
ADOQueryCmd.Connection.CommitTrans;
Result := True;
except
Result := True;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('增行失败!', '提示', 0);
end;
end;
procedure TfrmCWFKList.ToolButton1Click(Sender: TObject);
begin
if CDS_1.IsEmpty then
exit;
try
with CDS_1 do
begin
DisableControls;
First;
while not Eof do
begin
if CDS_1.fieldbyname('SSel').AsBoolean then
begin
if Trim(CDS_1.fieldbyname('BankNo').AsString) = '' then
begin
CDS_1.EnableControls;
Application.MessageBox('账户不能为空,不能操作!', '提示', 0);
Exit;
end;
if Trim(CDS_1.fieldbyname('TOBankNo').AsString) = '' then
begin
CDS_1.EnableControls;
Application.MessageBox('对方账户不能为空,不能操作!', '提示', 0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' select * from CW_Money_CR');
sql.Add(' where CWID=''' + Trim(CDS_1.fieldbyname('CWID').AsString) + '''');
SQL.Add(' and status=''1'' ');
Open;
end;
if ADOQueryCmd.IsEmpty = False then
begin
CDS_1.EnableControls;
Application.MessageBox('已审核数据,不能操作!', '提示', 0);
Exit;
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.add('update CW_Money_CR set Chker=''' + trim(DName) + ''',Chktime=getdate(),status=''1'' ');
sql.add('where CWID=''' + trim(CDS_1.fieldbyname('CWID').asstring) + ''' ');
execsql;
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add(' exec P_CWLS_IN_FK @DataID=' + quotedstr(trim(CDS_1.fieldbyname('CWID').AsString)));
Open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
begin
Application.MessageBox(PChar(ADOQueryCmd.fieldbyname('ShowMsg').AsString), '提示', 0);
exit;
end;
CDS_1.Edit;
CDS_1.FieldByName('status').Value := '1';
CDS_1.FieldByName('Chker').Value := DName;
CDS_1.Post;
end;
Next;
end;
EnableControls;
end;
application.MessageBox('审核成功', '提示');
except
CDS_1.EnableControls;
application.MessageBox('审核失败', '提示');
end;
end;
procedure TfrmCWFKList.ToolButton2Click(Sender: TObject);
begin
if CDS_1.IsEmpty then
exit;
try
with CDS_1 do
begin
DisableControls;
First;
while not Eof do
begin
if CDS_1.fieldbyname('SSel').AsBoolean then
begin
// with ADOQueryCmd do
// begin
// Close;
// sql.Clear;
// sql.Add(' select * from CW_Money_CR');
// sql.Add(' where CWID=''' + Trim(CDS_1.fieldbyname('CWID').AsString) + '''');
// SQL.Add(' and Chker=' + QuotedStr(trim(DName)));
// Open;
// end;
//
// if ADOQueryCmd.IsEmpty then
// begin
// CDS_1.EnableControls;
// Application.MessageBox('不能撤销不是自己审核的数据,不能操作!', '提示', 0);
// Exit;
// end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add(' select * from CW_Bank_LS');
sql.Add(' where BLID=''' + Trim(CDS_1.fieldbyname('FromDataID1').AsString) + '''');
Open;
end;
if ADOQueryTemp.IsEmpty = False then
begin
Application.MessageBox('银行流水数据不能撤销!', '提示', 0);
Exit;
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add(' delete CW_Bank_LS where isnull(FromCWID,'''')<>'''' and FromCWID=' + quotedstr(trim(CDS_1.fieldbyname('CWID').AsString)));
execsql;
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.add('update CW_Money_CR set Chker=null,Chktime=null,status=''0'' ');
sql.add('where CWID=''' + trim(CDS_1.fieldbyname('CWID').asstring) + ''' ');
execsql;
end;
CDS_1.Edit;
CDS_1.FieldByName('status').Value := '0';
CDS_1.FieldByName('Chker').Value := '';
CDS_1.Post;
end;
Next;
end;
end;
CDS_1.EnableControls;
application.MessageBox('操作成功', '提示');
except
CDS_1.EnableControls;
application.MessageBox('操作失败', '提示');
end;
end;
procedure TfrmCWFKList.ToolButton3Click(Sender: TObject);
var
MFactoryNo, MFactoryName, MTOBankNo, MKPFactoryName, MBZType, maxId, MFactType: string;
begin
if GetLSNo(ADOQueryCmd, maxId, 'FK', 'CW_Money_CR', 4, 1) = False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('取最大号失败!', '提示', 0);
Exit;
end;
case cxTabControl1.TabIndex of
0:
begin
MBZType := '$';
end;
1:
begin
MBZType := '¥';
end;
2:
begin
MBZType := '€';
end;
end;
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'GYSNAME';
flagname := '供应商名称';
if ShowModal = 1 then
begin
with ClientDataSet1 do
begin
// MFactoryNo := Trim(Order_Main.fieldbyname('CoCode').AsString);
MFactoryName := FieldByName('ZDYName').AsString;
end;
end;
end;
finally
frmZDYHelp.Free;
end;
if trim(MFactoryName) = '' then
Exit;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from CW_Money_CR where 1<>1');
Open;
end;
with ADOQueryCmd do
begin
Append;
FieldByName('CWID').Value := Trim(maxId);
FieldByName('Filler').Value := Trim(DName);
FieldByName('CRType').Value := '付款登记';
FieldByName('CRFlag').Value := '应付付';
FieldByName('QtyFlag').Value := -1;
FieldByName('FactoryNo').Value := MFactoryNo;
FieldByName('FactoryName').Value := MFactoryName;
FieldByName('HZFactoryNo').Value := MFactoryNo;
FieldByName('HZFactoryName').Value := MFactoryName;
FieldByName('KPFactoryName').Value := MKPFactoryName;
FieldByName('TOBankNo').Value := MTOBankNo;
FieldByName('CRTime').Value := formatdateTIme('yyyy-MM-dd', SGetServerDate(ADOQueryTemp));
FieldByName('BZType').Value := MBZType;
FieldByName('FactType').Value := MFactType;
Post;
end;
with Self.CDS_1 do
begin
Append;
FieldByName('CWID').Value := Trim(maxId);
FieldByName('FactoryNo').Value := MFactoryNo;
FieldByName('FactoryName').Value := MFactoryName;
FieldByName('HZFactoryNo').Value := MFactoryNo;
FieldByName('HZFactoryName').Value := MFactoryName;
FieldByName('KPFactoryName').Value := MKPFactoryName;
FieldByName('TOBankNo').Value := MTOBankNo;
FieldByName('CRTime').Value := SGetServerDate(ADOQueryTemp);
FieldByName('BZType').Value := MBZType;
FieldByName('FactType').Value := MFactType;
Post;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('增行失败!', '提示', 0);
end;
end;
procedure TfrmCWFKList.ToolButton4Click(Sender: TObject);
begin
if CDS_1.IsEmpty then
exit;
frmFkHx := TfrmFkHx.create(self);
with frmFkHx do
begin
fkeyNo := CDS_1.fieldbyname('CWID').AsString;
ffactoryNO := CDS_1.fieldbyname('factoryNo').AsString;
FComTaiTou := CDS_1.fieldbyname('ComTaiTou').AsString;
if showmodal = 1 then
begin
end;
free;
end;
end;
procedure TfrmCWFKList.ToolButton5Click(Sender: TObject);
begin
frmCKFKHXList := TfrmCKFKHXList.create(self);
with frmCKFKHXList do
begin
FromId.text := Self.CDS_1.fieldbyname('CWID').AsString;
if showmodal = 1 then
begin
end;
free;
end;
end;
procedure TfrmCWFKList.ToolButton6Click(Sender: TObject);
var
excelApp, WorkBook: Variant;
i, j, k, LX, ExcelRowCount: integer;
maxId, FCPID, FCPName, MAXNO, t1, t2, t3, MBZType: string;
begin
try
excelApp := CreateOleObject('Excel.Application');
openDialog1.Filter := '*.CSV;*.xls';
if opendialog1.Execute then
begin
WorkBook := excelApp.WorkBooks.Open(OpenDialog1.FileName);
end
else
exit;
excelApp.Visible := false;
ExcelRowCount := WorkBook.WorkSheets[1].UsedRange.Rows.Count;
except
application.MessageBox('加载EXCEL错误', '错误信息', MB_ICONERROR);
exit;
end;
try
k := 0;
for i := 1 to 50 do
begin
if trim(excelApp.Cells[1, i].value) = '' then
continue;
//遍历界面绑定界面中显示的字段和名称
for j := 0 to Tv1.ColumnCount - 1 do
begin
if trim(excelApp.Cells[1, i].value) = trim(Tv1.Columns[j].Caption) then
begin
dFdDy[k].inc := i;
dFdDy[k].FDdys := trim(Tv1.Columns[j].DataBinding.FieldName);
dFdDy[k].FdDysName := trim(Tv1.Columns[j].Caption);
end;
end;
k := k + 1;
end;
except
application.MessageBox('加载数组错误!', '错误信息', MB_ICONERROR);
exit;
end;
case cxTabControl1.TabIndex of
0:
begin
MBZType := '$';
end;
1:
begin
MBZType := '¥';
end;
2:
begin
MBZType := '€';
end;
end;
ADOQueryCmd.Connection.BeginTrans;
panel2.Visible := true;
try
for i := 2 to ExcelRowCount do
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('select * from CW_Money_CR where 1=2');
open;
end;
with ADOQueryCmd do
begin
ADOQueryCmd.Append;
if GetLSNo(ADOQuerytemp, maxId, 'YFDR', 'CW_Money_CR', 4, 1) = False then
begin
Application.MessageBox('取最大号失败!', '提示', 0);
Exit;
end;
FieldByName('CWID').Value := Trim(maxId);
FieldByName('Filler').Value := Trim(DName);
FieldByName('CRType').Value := '付款登记';
FieldByName('CRFlag').Value := '应付付';
FieldByName('QtyFlag').Value := -1;
FieldByName('BZType').Value := MBZType;
end;
for j := 0 to k - 1 do
begin
if (trim(dFdDy[j].FDdys) <> '') then
begin
ADOQueryCmd.fieldbyname(dFdDy[j].FDdys).Value := excelApp.Cells[i, dFdDy[j].inc].Value;
end;
end;
ADOQueryCmd.Post;
end;
WorkBook.Close;
excelApp.Quit;
excelApp := Unassigned;
WorkBook := Unassigned;
ADOQueryCmd.Connection.CommitTrans;
application.MessageBox('导入成功!', '提示信息');
panel2.Visible := false;
InitGrid();
except
WorkBook.Close;
excelApp.Quit;
excelApp := Unassigned;
WorkBook := Unassigned;
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox('保存数据错误!', '错误信息', MB_ICONERROR);
panel2.Visible := false;
exit;
end;
end;
procedure TfrmCWFKList.ToolButton7Click(Sender: TObject);
begin
inherited;
if CDS_1.IsEmpty then
Exit;
try
frmFjList10 := TfrmFjList10.Create(Application);
with frmFjList10 do
begin
// PState:=1;
// if Trim(canshu1)<>'高权限' then cxButton1.Visible:=false;
fkeyNO := Trim(Self.CDS_1.fieldbyname('CWID').AsString);
fType := '付款';
if ShowModal = 1 then
begin
end;
end;
finally
frmFjList10.Free;
end;
end;
procedure TfrmCWFKList.ToolButton8Click(Sender: TObject);
begin
inherited;
if CDS_1.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxgrid1);
end;
procedure TfrmCWFKList.ButtonEdit(Sender: TObject; AButtonIndex: Integer);
var
FComTaiTou: string;
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'GSTTDZ';
flagname := '公司抬头';
if ShowModal = 1 then
begin
FComTaiTou := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
with Self.CDS_1 do
begin
Edit;
FieldByName('ComTaiTou').Value := Trim(FComTaiTou);
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update CW_Money_CR set ComTaiTou=' + quotedstr(Trim(FComTaiTou)));
sql.Add('where CWID=' + quotedstr(Trim(CDS_1.fieldbyname('CWID').AsString)));
ExecSQL;
end;
end;
procedure TfrmCWFKList.Tv1Column14PropertiesChange(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_1 do
begin
Edit;
FieldByName(FFieldName).Value := mvalue;
Post;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update CW_Money_CR set ' + FFieldName + '=' + quotedstr(Trim(mvalue)));
sql.Add('where CWID=' + quotedstr(Trim(CDS_1.fieldbyname('CWID').AsString)));
ExecSQL;
end;
tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmCWFKList.Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add(' select * from CW_Money_CR');
sql.Add(' where CWID=''' + Trim(CDS_1.fieldbyname('CWID').AsString) + '''');
SQL.Add(' and status=''1'' ');
Open;
end;
if ADOQueryTemp.IsEmpty then
begin
TV1.OptionsData.Editing := true;
end
else
begin
TV1.OptionsData.Editing := false;
end;
// with ADOQueryTemp do
// begin
// Close;
// sql.Clear;
// sql.Add(' select * from CW_Bank_LS ');
// sql.Add(' where BLID=''' + Trim(CDS_1.fieldbyname('FromDataID1').AsString) + '''');
// Open;
// end;
// if not ADOQueryTemp.IsEmpty then
// begin
// TV1.OptionsData.Editing := False;
// end
// else
// begin
// TV1.OptionsData.Editing := True;
// end;
end;
procedure TfrmCWFKList.cxGridDBColumn3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'FKYFName';
flagname := '项目及摘要';
if ShowModal = 1 then
begin
with Self.CDS_1 do
begin
Edit;
// FieldByName('YFCode').Value := Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString);
FieldByName('YFName').Value := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update CW_Money_CR set YFNamE=' + quotedstr(Trim(ClientDataSet1.fieldbyname('ZdyName').AsString)));
// SQL.Add(',YFCODE=' + quotedstr(Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString)));
sql.Add('where CWID=' + quotedstr(Trim(CDS_1.fieldbyname('CWID').AsString)));
ExecSQL;
end;
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmCWFKList.FormCreate(Sender: TObject);
begin
inherited;
canshu1 := Trim(DParameters1);
end;
procedure TfrmCWFKList.VPayMentPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'FKPayment';
flagname := '支付方式';
if ShowModal = 1 then
begin
with Self.CDS_1 do
begin
Edit;
FieldByName('PayMent').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmCWFKList.TextEdit(Sender: TObject);
var
mvalue, FFieldName: string;
FPS, FQty, FPrice, FBZFee, FMoney: Double;
begin
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
mvalue := TcxTextEdit(Sender).EditingText;
if Trim(mvalue) = '' then
begin
mvalue := '0';
end;
with CDS_1 do
begin
Edit;
FieldByName(FFieldName).Value := Trim(mvalue);
Post;
FPS := CDS_1.fieldbyname('PS').AsFloat;
FQty := CDS_1.fieldbyname('Qty').AsFloat;
FBZFee := CDS_1.fieldbyname('QTFee').AsFloat;
FPrice := CDS_1.fieldbyname('Price').AsFloat;
FMoney := CDS_1.fieldbyname('Money').AsFloat;
end;
if Trim(FFieldName) <> 'Money' then
begin
FMoney := FQty * FPrice + FBZFee;
end;
with CDS_1 do
begin
Edit;
FieldByName('Money').Value := FMoney;
Post;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update CW_Money_CR set ' + FFieldName + '=' + Trim(mvalue));
if Trim(FFieldName) <> 'Money' then
begin
sql.Add(' ,Money=' + FloatToStr(FMoney));
end;
sql.Add('where CWID=' + quotedstr(Trim(CDS_1.fieldbyname('CWID').AsString)));
ExecSQL;
end;
Tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmCWFKList.v2Column10PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_1 do
begin
Edit;
FieldByName(FFieldName).Value := mvalue;
Post;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update CW_Money_CR set ' + FFieldName + '=' + quotedstr(Trim(mvalue)));
sql.Add('where CWID=' + quotedstr(Trim(CDS_1.fieldbyname('CWID').AsString)));
ExecSQL;
end;
tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmCWFKList.v2Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
var
FComTaiTou: string;
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'GSTTDZ';
flagname := '公司抬头';
if ShowModal = 1 then
begin
FComTaiTou := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
with Self.CDS_1 do
begin
Edit;
FieldByName('ComTaiTou').Value := Trim(FComTaiTou);
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update CW_Money_CR set ComTaiTou=' + quotedstr(Trim(FComTaiTou)));
sql.Add('where CWID=' + quotedstr(Trim(CDS_1.fieldbyname('CWID').AsString)));
ExecSQL;
end;
end;
procedure TfrmCWFKList.v2Column6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
var
FBankName, FBankNo, FBKID, FComTaiTou: string;
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'BANKNAME';
flagname := '开户行';
fnote := true;
V1Note.Caption := '账号';
if ShowModal = 1 then
begin
with Self.CDS_1 do
begin
Edit;
// FieldByName('YFCode').Value := Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString);
FieldByName('bankname').Value := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
FieldByName('bankno').Value := Trim(ClientDataSet1.fieldbyname('Note').AsString);
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update CW_Money_CR set bankname=' + quotedstr(Trim(ClientDataSet1.fieldbyname('ZdyName').AsString)));
SQL.Add(',bankno=' + quotedstr(Trim(ClientDataSet1.fieldbyname('Note').AsString)));
sql.Add('where CWID=' + quotedstr(Trim(CDS_1.fieldbyname('CWID').AsString)));
ExecSQL;
end;
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmCWFKList.v2Column9PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FName, RZMoney, BankFee: string;
begin
FName := TV1.Controller.FocusedColumn.DataBinding.FilterFieldName;
mvalue := TcxTextEdit(Sender).EditingText;
if Trim(mvalue) = '' then
begin
mvalue := '0';
end;
with CDS_1 do
begin
Edit;
FieldByName(FName).Value := mvalue;
Post;
end;
if Trim(CDS_1.fieldbyname('RZMoney').AsString) = '' then
RZMoney := '0'
else
RZMoney := CDS_1.fieldbyname('RZMoney').AsString;
if Trim(CDS_1.fieldbyname('BankFee').AsString) = '' then
BankFee := '0'
else
BankFee := CDS_1.fieldbyname('BankFee').AsString;
with CDS_1 do
begin
Edit;
FieldByName('Money').Value := StrToFloat(RZMoney) + StrToFloat(BankFee);
Post;
end;
end;
procedure TfrmCWFKList.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
end.