D10myBiaoqi/A09财务通用管理/U_CollectList.pas

895 lines
24 KiB
ObjectPascal
Raw Normal View History

2024-07-04 16:01:24 +08:00
unit U_CollectList;
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, cxPC, cxDropDownEdit, cxLookAndFeels, cxLookAndFeelPainters,
cxNavigator, dxBarBuiltInMenu, dxSkinsCore, dxSkinsDefaultPainters,
2024-08-06 15:40:31 +08:00
dxDateRanges, U_BaseList, Vcl.Menus, Vcl.Clipbrd, dxSkinWXI,
2025-11-08 10:16:26 +08:00
dxScrollbarAnnotations, cxCalc;
2024-07-04 16:01:24 +08:00
type
TfrmCollectList = class(TfrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
btnDel: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ADOQueryMain: TADOQuery;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
Label3: TLabel;
OppCoName: TEdit;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v2CRTime: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
begdate: TDateTimePicker;
Enddate: TDateTimePicker;
GPM_1: TcxGridPopupMenu;
DS_1: TDataSource;
CDS_1: TClientDataSet;
btnAdd: TToolButton;
v2FactoryName: TcxGridDBColumn;
F_Name: TEdit;
Label4: TLabel;
CheckBox1: TCheckBox;
Label6: TLabel;
2025-11-08 10:16:26 +08:00
F_Code: TEdit;
2024-07-04 16:01:24 +08:00
v2OrderNo: TcxGridDBColumn;
cxTabControl1: TcxTabControl;
Label10: TLabel;
ConNo: TEdit;
Label11: TLabel;
BuyConNo: TEdit;
v2Column2: TcxGridDBColumn;
btnChk: TToolButton;
btnReChk: TToolButton;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
ToolButton4: TToolButton;
Label2: TLabel;
OppParentCoName: TEdit;
ToolButton5: TToolButton;
N2: TMenuItem;
btnEdit: TToolButton;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
Tv1Column17: TcxGridDBColumn;
Tv1Column18: TcxGridDBColumn;
Tv1Column19: TcxGridDBColumn;
Tv1Column20: TcxGridDBColumn;
Tv1Column21: TcxGridDBColumn;
Tv1Column22: TcxGridDBColumn;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
Tv1Column4: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
ToolButton9: TToolButton;
N3: TMenuItem;
Tv1Column6: TcxGridDBColumn;
Tv1Column7: TcxGridDBColumn;
Tv1Column8: TcxGridDBColumn;
2024-10-21 17:19:42 +08:00
Tv1Column9: TcxGridDBColumn;
ToolButton1: TToolButton;
2025-01-13 16:36:43 +08:00
Tv1Column10: TcxGridDBColumn;
Tv1Column11: TcxGridDBColumn;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton6: TToolButton;
Panel2: TPanel;
Panel3: TPanel;
Label1: TLabel;
Label5: TLabel;
SXFAmount: TEdit;
JHExchangeRate: TEdit;
Button1: TButton;
Button2: TButton;
FFID: TEdit;
Tv1Column12: TcxGridDBColumn;
Tv1Column13: TcxGridDBColumn;
Tv1Column14: TcxGridDBColumn;
Tv1Column15: TcxGridDBColumn;
2025-11-08 10:16:26 +08:00
DKAmount: TEdit;
Label7: TLabel;
2024-07-04 16:01:24 +08:00
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure btnDelClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure cxGridDBColumn5PropertiesEditValueChanged(Sender: TObject);
procedure btnAddClick(Sender: TObject);
procedure OppCoNameKeyPress(Sender: TObject; var Key: Char);
procedure cxTabControl1Change(Sender: TObject);
procedure btnChkClick(Sender: TObject);
procedure btnReChkClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure btnEditClick(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
procedure ToolButton8Click(Sender: TObject);
procedure ToolButton9Click(Sender: TObject);
procedure N3Click(Sender: TObject);
2024-10-21 17:19:42 +08:00
procedure ToolButton1Click(Sender: TObject);
2025-01-13 16:36:43 +08:00
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
procedure Button1Click(Sender: TObject);
procedure JHExchangeRateKeyPress(Sender: TObject; var Key: Char);
procedure ToolButton6Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
2024-07-04 16:01:24 +08:00
private
procedure InitGrid();
procedure SetStatus();
public
FAuthority: string;
end;
implementation
uses
U_DataLink, U_RTFun, U_CollectInput, U_ZDYHelp, U_CollectWriteOff,
U_CollectWriteOffList, U_AttachmentUpload;
{$R *.dfm}
procedure TfrmCollectList.SetStatus();
begin
btnChk.Enabled := false; //<2F><><EFBFBD><EFBFBD>
btnReChk.Enabled := false; //<2F><><EFBFBD><EFBFBD>
btnAdd.Enabled := false; //<2F><><EFBFBD><EFBFBD>
btnEdit.Enabled := false; //<2F>޸<EFBFBD>
btnDel.Enabled := false; //ɾ<><C9BE>
2025-01-13 16:36:43 +08:00
ToolButton2.Enabled := false; //<2F><><EFBFBD>ɺ<EFBFBD><C9BA><EFBFBD>
ToolButton3.Enabled := false; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2024-07-04 16:01:24 +08:00
// if Trim(FAuthority) = '<27><><EFBFBD><EFBFBD>' then
begin
btnAdd.Enabled := true;
case cxTabControl1.TabIndex of
0:
begin
btnEdit.Enabled := true;
btnDel.Enabled := true;
btnChk.Enabled := true;
end;
1:
begin
btnReChk.Enabled := true;
2025-01-13 16:36:43 +08:00
ToolButton2.Enabled := true;
ToolButton3.Enabled := true;
2024-07-04 16:01:24 +08:00
end;
2:
begin
end;
end;
end;
end;
procedure TfrmCollectList.InitGrid();
var
WSql: string;
begin
WSql := SGetFilters(Panel1, 1, 2);
if Trim(WSql) <> '' then
WSql := ' and ' + WSql
else
CheckBox1.Checked := True;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
Filtered := False;
2025-01-13 16:36:43 +08:00
sql.Add(' select IsFJ=cast((case when (select COUNT(T.WBID) from FJ_File T where T.TFType = ''SD'' and T.WBID=A.FFID)=0 then 0 else 1 end) as bit )');
sql.Add(',Amount=(Case when ISNULL(A.RegType,'''')=''<27>տ<EFBFBD>'' then -1*Amount else Amount end)');
sql.Add(',SSAmount=(Case when ISNULL(A.RegType,'''')=''<27>տ<EFBFBD>'' then -1*Amount else Amount end)-ISNULL(A.SXFAmount,0)');
sql.Add(',SSCNYAmount=((Case when ISNULL(A.RegType,'''')=''<27>տ<EFBFBD>'' then -1*Amount else Amount end) ');
sql.Add('-ISNULL(A.SXFAmount,0))*ISNULL((Case when Currency=''CNY'' then 1 else A.JHExchangeRate end),1)');
SQL.Add(',A.*,Saleser=(select Top 1 Saleser from BS_Company X where X.CoAbbrName=A.OppCoName)');
2024-07-04 16:01:24 +08:00
sql.Add(' from Finance_Flow A where A.FFType=''<27>տ<EFBFBD><D5BF>Ǽ<EFBFBD>'' ');
case cxTabControl1.TabIndex of
0:
begin
sql.Add(' and isnull(status,''0'')=''0'' ');
end;
1:
begin
sql.Add(' and isnull(status,''0'')=''9'' ');
end;
end;
if CheckBox1.Checked then
begin
2024-09-06 17:24:10 +08:00
sql.Add(' and ISNULL(A.FFTime,A.SQDate)>=''' + FormatDateTime('yyyy-MM-dd', begdate.DateTime) + ''' ');
sql.Add(' and ISNULL(A.FFTime,A.SQDate)<''' + FormatDateTime('yyyy-MM-dd', Enddate.DateTime + 1) + ''' ');
2024-07-04 16:01:24 +08:00
end;
sql.Add(WSql);
2025-01-13 16:36:43 +08:00
sql.Add('Order By A.HXFlag');
// showmessage(sql.text);
2024-07-04 16:01:24 +08:00
Open;
end;
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
finally
ADOQueryMain.EnableControls;
TV1.DataController.Filter.Clear;
end;
end;
2025-01-13 16:36:43 +08:00
procedure TfrmCollectList.JHExchangeRateKeyPress(Sender: TObject; var Key: Char);
begin
if not (((Key >= '0') and (Key <= '9')) or (Key = '.') or (Key = #8)) then
begin
Key := #0;
end
else if (pos('.', TEdit(Sender).text) <> 0) then
begin
if Key = '.' then
begin
Key := #0;
end;
end;
end;
2024-07-04 16:01:24 +08:00
procedure TfrmCollectList.N1Click(Sender: TObject);
begin
SelOKNo(cds_1, true);
end;
procedure TfrmCollectList.N2Click(Sender: TObject);
begin
Clipboard.SetTextBuf(PChar(Trim(CDS_1.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
end;
procedure TfrmCollectList.N3Click(Sender: TObject);
begin
SelOKNo(cds_1, false);
end;
procedure TfrmCollectList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmCollectList.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmCollectList.btnDelClick(Sender: TObject);
var
FFFIDS: string;
begin
if CDS_1.IsEmpty then
exit;
if not CDS_1.Locate('SSel', True, []) then
begin
application.MessageBox('<27><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ');
Exit;
end;
2025-11-08 10:16:26 +08:00
with ADOQueryTemp do
begin
Close;
SQL.Clear;
sql.Add(' select * from Trade_Plan_Main where OrderNo = ' + QuotedStr(CDS_1.FieldByName('OrderNo').AsString) + ' and status = ''10'' ');
open;
end;
if not ADOQueryTemp.IsEmpty then
begin
application.MessageBox('<27>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3>޷<EFBFBD>ɾ<EFBFBD><C9BE>', '<27><>ʾ');
Exit;
end;
2024-07-04 16:01:24 +08:00
with CDS_1 do
begin
DisableControls;
while CDS_1.Locate('SSel', True, []) do
begin
FFFIDS := FFFIDS + Trim(CDS_1.fieldbyname('FFID').AsString) + ',';
CDS_1.Delete;
end;
EnableControls;
end;
try
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' exec P_Fin_Flow_Del ');
sql.Add(' @FFIDS=' + QuotedStr(FFFIDS));
Sql.Add(',@DCode=' + quotedstr(Trim(DCode)));
Sql.Add(',@DName=' + quotedstr(Trim(DName)));
open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
application.MessageBox(<><C9BE><EFBFBD>ɹ<EFBFBD>', '<27><>ʾ');
except
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
InitGrid();
end;
end;
procedure TfrmCollectList.FormShow(Sender: TObject);
begin
inherited;
ReadCxGrid(trim(Self.Caption), Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Enddate.DateTime := SGetServerDate(ADOQueryTemp);
2025-01-13 16:36:43 +08:00
begdate.DateTime := Enddate.DateTime - 91;
2024-07-04 16:01:24 +08:00
SetStatus();
InitGrid();
end;
procedure TfrmCollectList.TBRafreshClick(Sender: TObject);
begin
begdate.SetFocus;
InitGrid();
end;
procedure TfrmCollectList.cxGridDBColumn5PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
FPS, FQty, FPrice, FQTFee, FMoney, FZKMoney: 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;
FQTFee := CDS_1.fieldbyname('QTFee').AsFloat;
FPrice := CDS_1.fieldbyname('Price').AsFloat;
FMoney := CDS_1.fieldbyname('Money').AsFloat;
FZKMoney := CDS_1.fieldbyname('ZKMoney').AsFloat;
end;
if Trim(FFieldName) <> 'Money' then
begin
FMoney := FQty * FPrice + FQTFee - FZKMoney;
end;
with CDS_1 do
begin
Edit;
FieldByName('Money').Value := FMoney;
Post;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update Finance_Flow set ' + FFieldName + '=' + Trim(mvalue));
if Trim(FFieldName) <> 'Money' then
sql.Add(' ,Money=' + FloatToStr(FMoney));
sql.Add('where FFID=' + quotedstr(Trim(CDS_1.fieldbyname('FFID').AsString)));
ExecSQL;
end;
Tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmCollectList.btnChkClick(Sender: TObject);
var
FFFIDS: string;
begin
if CDS_1.IsEmpty then
exit;
if not CDS_1.Locate('SSel', True, []) then
begin
application.MessageBox('<27><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ');
Exit;
end;
with CDS_1 do
begin
DisableControls;
while CDS_1.Locate('SSel', True, []) do
begin
FFFIDS := FFFIDS + Trim(CDS_1.fieldbyname('FFID').AsString) + ',';
CDS_1.Delete;
end;
EnableControls;
end;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
2024-08-21 14:03:11 +08:00
sql.Add(' exec P_Fin_Flow_SetStatus_SK ');
2024-07-04 16:01:24 +08:00
sql.Add(' @FFIDS=' + QuotedStr(FFFIDS));
sql.Add(',@Operation=''<27><><EFBFBD><EFBFBD>'' ');
Sql.Add(',@DCode=' + quotedstr(Trim(DCode)));
Sql.Add(',@DName=' + quotedstr(Trim(DName)));
open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' exec P_Fin_In_Bank_Flow ');
sql.Add(' @FFIDS=' + QuotedStr(FFFIDS));
Sql.Add(',@DCode=' + quotedstr(Trim(DCode)));
Sql.Add(',@DName=' + quotedstr(Trim(DName)));
open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
ADOQueryCmd.Connection.CommitTrans;
application.MessageBox('<27><><EFBFBD>˳ɹ<CBB3>', '<27><>ʾ');
except
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
InitGrid();
end;
end;
procedure TfrmCollectList.btnReChkClick(Sender: TObject);
var
FFFIDS: string;
begin
if CDS_1.IsEmpty then
exit;
if not CDS_1.Locate('SSel', True, []) then
begin
application.MessageBox('<27><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ');
Exit;
end;
with CDS_1 do
begin
DisableControls;
while CDS_1.Locate('SSel', True, []) do
begin
FFFIDS := FFFIDS + Trim(CDS_1.fieldbyname('FFID').AsString) + ',';
CDS_1.Delete;
end;
EnableControls;
end;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
2024-08-21 14:03:11 +08:00
sql.Add(' exec P_Fin_Flow_SetStatus_SK ');
2024-07-04 16:01:24 +08:00
sql.Add(' @FFIDS=' + QuotedStr(FFFIDS));
sql.Add(',@Operation=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
Sql.Add(',@DCode=' + quotedstr(Trim(DCode)));
Sql.Add(',@DName=' + quotedstr(Trim(DName)));
open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' exec P_Fin_In_Bank_Flow ');
sql.Add(' @FFIDS=' + QuotedStr(FFFIDS));
Sql.Add(',@DCode=' + quotedstr(Trim(DCode)));
Sql.Add(',@DName=' + quotedstr(Trim(DName)));
open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
ADOQueryCmd.Connection.CommitTrans;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳ɹ<CBB3>', '<27><>ʾ');
except
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
InitGrid();
end;
end;
2025-01-13 16:36:43 +08:00
procedure TfrmCollectList.Button1Click(Sender: TObject);
begin
Panel2.Visible := False;
JHExchangeRate.text := '';
SXFAmount.text := '';
end;
procedure TfrmCollectList.Button2Click(Sender: TObject);
2025-11-08 10:16:26 +08:00
var
PJHExchangeRate: string;
PSXFAmount: string;
2025-01-13 16:36:43 +08:00
begin
if FFID.Text <> '' then
begin
2025-11-08 10:16:26 +08:00
if JHExchangeRate.Text <> '' then
PJHExchangeRate := JHExchangeRate.Text
else
PJHExchangeRate := 'Null';
if SXFAmount.Text <> '' then
PSXFAmount := SXFAmount.Text
else
PSXFAmount := 'Null';
2025-01-13 16:36:43 +08:00
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate Finance_Flow ');
2025-11-08 10:16:26 +08:00
sql.Add(' Set JHExchangeRate=' + Trim(PJHExchangeRate) + '');
sql.Add(',SXFAmount=' + Trim(PSXFAmount) + '');
2025-01-13 16:36:43 +08:00
SQL.Add(' where FFID=''' + Trim(FFID.Text) + '''');
sql.Add('UPdate Finance_WriteOff ');
2025-11-08 10:16:26 +08:00
sql.Add(' Set WoJHExchangeRate=' + Trim(PJHExchangeRate) + '');
2025-01-13 16:36:43 +08:00
// sql.Add(',SXFAmount=''' + Trim(SXFAmount.Text) + '''');
SQL.Add(' where FromId=''' + Trim(FFID.Text) + '''');
2025-11-08 10:16:26 +08:00
sql.Add('UPDATE f');
sql.Add('SET f.WoSXFAmount = ');
sql.Add(' CASE ');
sql.Add(' WHEN t.Amount = 0 OR t.Amount IS NULL THEN 0');
sql.Add(' ELSE (f.WoAmount / t.Amount) * ' + Trim(PSXFAmount) + '');
sql.Add(' END');
sql.Add('FROM Finance_WriteOff f');
sql.Add('CROSS APPLY (');
sql.Add(' SELECT Amount ');
sql.Add(' FROM Finance_Flow ');
sql.Add(' WHERE FFID = ''' + Trim(FFID.Text) + '''');
sql.Add(') t');
sql.Add('WHERE f.FromId = ''' + Trim(FFID.Text) + '''');
// ShowMessage(sql.Text);
2025-01-13 16:36:43 +08:00
execsql;
end;
end;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!', '<27><>ʾ', 0);
Button1.Click;
end;
2024-07-04 16:01:24 +08:00
procedure TfrmCollectList.btnAddClick(Sender: TObject);
begin
try
frmCollectInput := TfrmCollectInput.Create(Application);
with frmCollectInput do
begin
FFFID := '';
if ShowModal = 1 then
begin
InitGrid();
end;
end;
finally
frmCollectInput.Free;
end;
end;
2024-10-21 17:19:42 +08:00
procedure TfrmCollectList.ToolButton1Click(Sender: TObject);
begin
try
frmCollectInput := TfrmCollectInput.Create(Application);
with frmCollectInput do
begin
FFFID := Trim(SELF.CDS_1.fieldbyname('FFID').AsString);
2025-01-13 16:36:43 +08:00
PState := '<27><><EFBFBD><EFBFBD>';
2024-10-21 17:19:42 +08:00
if ShowModal = 1 then
begin
InitGrid();
end;
end;
finally
frmCollectInput.Free;
end;
end;
2025-01-13 16:36:43 +08:00
procedure TfrmCollectList.ToolButton2Click(Sender: TObject);
var
FFFIDS: string;
begin
if CDS_1.IsEmpty then
exit;
if not CDS_1.Locate('SSel', True, []) then
begin
application.MessageBox('<27><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ');
Exit;
end;
with CDS_1 do
begin
DisableControls;
while CDS_1.Locate('SSel', True, []) do
begin
FFFIDS := FFFIDS + Trim(CDS_1.fieldbyname('FFID').AsString) + ',';
CDS_1.Delete;
end;
EnableControls;
end;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' exec P_Fin_Flow_SetStatus_HX ');
sql.Add(' @FFIDS=' + QuotedStr(FFFIDS));
sql.Add(',@Operation=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
Sql.Add(',@DCode=' + quotedstr(Trim(DCode)));
Sql.Add(',@DName=' + quotedstr(Trim(DName)));
open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
ADOQueryCmd.Connection.CommitTrans;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɳɹ<C9B3>', '<27><>ʾ');
InitGrid();
except
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
InitGrid();
end;
end;
procedure TfrmCollectList.ToolButton3Click(Sender: TObject);
var
FFFIDS: string;
begin
if CDS_1.IsEmpty then
exit;
if not CDS_1.Locate('SSel', True, []) then
begin
application.MessageBox('<27><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ');
Exit;
end;
with CDS_1 do
begin
DisableControls;
while CDS_1.Locate('SSel', True, []) do
begin
FFFIDS := FFFIDS + Trim(CDS_1.fieldbyname('FFID').AsString) + ',';
CDS_1.Delete;
end;
EnableControls;
end;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' exec P_Fin_Flow_SetStatus_HX ');
sql.Add(' @FFIDS=' + QuotedStr(FFFIDS));
sql.Add(',@Operation=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
Sql.Add(',@DCode=' + quotedstr(Trim(DCode)));
Sql.Add(',@DName=' + quotedstr(Trim(DName)));
open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
ADOQueryCmd.Connection.CommitTrans;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>', '<27><>ʾ');
InitGrid();
except
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
InitGrid();
end;
end;
2024-07-04 16:01:24 +08:00
procedure TfrmCollectList.ToolButton4Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxgrid1);
end;
procedure TfrmCollectList.ToolButton5Click(Sender: TObject);
begin
WriteCxGrid(trim(Self.Caption), Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
2025-01-13 16:36:43 +08:00
procedure TfrmCollectList.ToolButton6Click(Sender: TObject);
begin
FFID.text := trim(CDS_1.fieldbyname('FFID').AsString);
Panel2.Left := (self.width - Panel2.width) div 2;
Panel2.Top := 330;
Panel2.Visible := True;
end;
2024-07-04 16:01:24 +08:00
procedure TfrmCollectList.btnEditClick(Sender: TObject);
begin
2025-11-08 10:16:26 +08:00
with ADOQueryTemp do
begin
Close;
SQL.Clear;
sql.Add(' select * from Trade_Plan_Main where OrderNo = ' + QuotedStr(CDS_1.FieldByName('OrderNo').AsString) + ' and status = ''10'' ');
open;
end;
if not ADOQueryTemp.IsEmpty then
begin
application.MessageBox('<27>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3>޷<EFBFBD><DEB7>޸<EFBFBD>', '<27><>ʾ');
Exit;
end;
2024-07-04 16:01:24 +08:00
try
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' exec P_Fin_Flow_Judge ');
sql.Add(' @FFIDS=' + QuotedStr(Trim(SELF.CDS_1.fieldbyname('FFID').AsString)));
Sql.Add(',@DCode=' + quotedstr(Trim(DCode)));
Sql.Add(',@DName=' + quotedstr(Trim(DName)));
open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
except
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
Exit;
end;
try
frmCollectInput := TfrmCollectInput.Create(Application);
with frmCollectInput do
begin
FFFID := Trim(SELF.CDS_1.fieldbyname('FFID').AsString);
if ShowModal = 1 then
begin
InitGrid();
end;
end;
finally
frmCollectInput.Free;
end;
end;
procedure TfrmCollectList.ToolButton7Click(Sender: TObject);
begin
if CDS_1.IsEmpty then
exit;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add(' select * from Finance_Flow');
sql.Add(' where FFID=''' + Trim(CDS_1.fieldbyname('FFID').AsString) + '''');
SQL.Add(' and status=''9'' ');
Open;
end;
if ADOQueryTemp.IsEmpty then
begin
Application.MessageBox(<><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
frmCollectWriteOff := TfrmCollectWriteOff.create(self);
with frmCollectWriteOff do
begin
FFFID := CDS_1.fieldbyname('FFID').AsString;
FOppCoNo := CDS_1.fieldbyname('OppCoNo').AsString;
FOurCoName := CDS_1.fieldbyname('OurCoName').AsString;
if showmodal = 1 then
begin
end;
free;
end;
end;
procedure TfrmCollectList.ToolButton8Click(Sender: TObject);
begin
frmCollectWriteOffList := TfrmCollectWriteOffList.create(self);
with frmCollectWriteOffList do
begin
FromId.text := Self.CDS_1.fieldbyname('FFID').AsString;
if showmodal = 1 then
begin
end;
free;
end;
end;
procedure TfrmCollectList.ToolButton9Click(Sender: TObject);
begin
if CDS_1.IsEmpty then
Exit;
try
frmAttachmentUpload := TfrmAttachmentUpload.Create(Application);
with frmAttachmentUpload do
begin
if Trim(Self.CDS_1.fieldbyname('filler').AsString) = dname then
FEditAuthority := True;
fkeyNO := Trim(Self.CDS_1.fieldbyname('FFID').AsString);
fType := 'SD';
if ShowModal = 1 then
begin
end;
end;
finally
frmAttachmentUpload.Free;
end;
end;
2025-01-13 16:36:43 +08:00
procedure TfrmCollectList.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
if AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('HXFlag').Index] <> '<27>Ѻ<EFBFBD><D1BA><EFBFBD>' then
ACanvas.Brush.Color := clWebOrange;
end;
2024-07-04 16:01:24 +08:00
procedure TfrmCollectList.OppCoNameKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
InitGrid();
end;
end;
procedure TfrmCollectList.cxTabControl1Change(Sender: TObject);
begin
SetStatus();
InitGrid();
end;
end.