D10myYicheng/财务管理(Financial.dll)/U_CWFKList.pas

1140 lines
31 KiB
ObjectPascal
Raw Normal View History

2025-05-27 14:08:09 +08:00
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; //<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>׽<EFBFBD><D7BD>־<EFBFBD><D6BE><EFBFBD>
FDdys: string[32]; //<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>׽<EFBFBD><D7BD><EFBFBD>
FdDysName: string[32]; //<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>׽<EFBFBD><D7BD><EFBFBD>
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; //<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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=''<27><><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>'' ');
case cxTabControl1.TabIndex of
0:
begin
sql.Add(' and isnull(BZType,'''')=''$'' ');
end;
1:
begin
sql.Add(' and isnull(BZType,'''')=''<27><>'' ');
end;
2:
begin
sql.Add(' and isnull(BZType,'''')=''<27>'' ');
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('<27><><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>DZ', TV1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
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('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>ɾ<EFBFBD><C9BE>!', '<27><>ʾ', 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('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>ɾ<EFBFBD><C9BE>!', '<27><>ʾ', 0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 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(<><C9BE>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
end;
end;
end;
procedure TfrmCWFKList.FormShow(Sender: TObject);
var
fsj: string;
begin
inherited;
ReadCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>DZ', TV1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
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(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 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 := '<27><><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>';
FieldByName('CRFlag').Value := <><D3A6><EFBFBD><EFBFBD>';
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('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 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('<27>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><D5A3><EFBFBD><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
if Trim(CDS_1.fieldbyname('TOBankNo').AsString) = '' then
begin
CDS_1.EnableControls;
Application.MessageBox('<27>Է<EFBFBD><D4B7>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><D5A3><EFBFBD><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD>!', '<27><>ʾ', 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('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD>!', '<27><>ʾ', 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), '<27><>ʾ', 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('<27><><EFBFBD>˳ɹ<CBB3>', '<27><>ʾ');
except
CDS_1.EnableControls;
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>', '<27><>ʾ');
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('<27><><EFBFBD>ܳ<EFBFBD><DCB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD>!', '<27><>ʾ', 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('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD>ݲ<EFBFBD><DDB2>ܳ<EFBFBD><DCB3><EFBFBD>!', '<27><>ʾ', 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('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>', '<27><>ʾ');
except
CDS_1.EnableControls;
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>', '<27><>ʾ');
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(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
case cxTabControl1.TabIndex of
0:
begin
MBZType := '$';
end;
1:
begin
MBZType := '<27><>';
end;
2:
begin
MBZType := '<27>';
end;
end;
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'GYSNAME';
flagname := '<27><>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
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 := '<27><><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>';
FieldByName('CRFlag').Value := <><D3A6><EFBFBD><EFBFBD>';
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('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 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('<27><><EFBFBD><EFBFBD>EXCEL<45><4C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ', MB_ICONERROR);
exit;
end;
try
k := 0;
for i := 1 to 50 do
begin
if trim(excelApp.Cells[1, i].value) = '' then
continue;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󶨽<EFBFBD><F3B6A8BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>ֶκ<D6B6><CEBA><EFBFBD><EFBFBD><EFBFBD>
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('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ', MB_ICONERROR);
exit;
end;
case cxTabControl1.TabIndex of
0:
begin
MBZType := '$';
end;
1:
begin
MBZType := '<27><>';
end;
2:
begin
MBZType := '<27>';
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(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
FieldByName('CWID').Value := Trim(maxId);
FieldByName('Filler').Value := Trim(DName);
FieldByName('CRType').Value := '<27><><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>';
FieldByName('CRFlag').Value := <><D3A6><EFBFBD><EFBFBD>';
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('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
panel2.Visible := false;
InitGrid();
except
WorkBook.Close;
excelApp.Quit;
excelApp := Unassigned;
WorkBook := Unassigned;
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD>', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ', 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)<>'<27><>Ȩ<EFBFBD><C8A8>' then cxButton1.Visible:=false;
fkeyNO := Trim(Self.CDS_1.fieldbyname('CWID').AsString);
fType := '<27><><EFBFBD><EFBFBD>';
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 := '<27><>˾̧ͷ';
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 := '<27><>Ŀ<EFBFBD><C4BF>ժҪ';
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 := <><D6A7><EFBFBD><EFBFBD>ʽ';
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 := '<27><>˾̧ͷ';
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 := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
fnote := true;
V1Note.Caption := '<27>˺<EFBFBD>';
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.