914 lines
24 KiB
ObjectPascal
914 lines
24 KiB
ObjectPascal
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,
|
||
dxDateRanges, U_BaseList, Vcl.Menus, Vcl.Clipbrd, dxSkinWXI,
|
||
dxScrollbarAnnotations, cxCalc;
|
||
|
||
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;
|
||
F_Code: TEdit;
|
||
v2OrderNo: TcxGridDBColumn;
|
||
cxTabControl1: TcxTabControl;
|
||
Label10: TLabel;
|
||
OrderNo: 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;
|
||
Tv1Column9: TcxGridDBColumn;
|
||
ToolButton1: TToolButton;
|
||
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;
|
||
DKAmount: TEdit;
|
||
Label7: TLabel;
|
||
Tv1Column16: TcxGridDBColumn;
|
||
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);
|
||
procedure ToolButton1Click(Sender: TObject);
|
||
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);
|
||
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>
|
||
|
||
ToolButton2.Enabled := false; //<2F><><EFBFBD>ɺ<EFBFBD><C9BA><EFBFBD>
|
||
ToolButton3.Enabled := false; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
// 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;
|
||
ToolButton2.Enabled := true;
|
||
ToolButton3.Enabled := true;
|
||
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;
|
||
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)');
|
||
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
|
||
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) + ''' ');
|
||
end;
|
||
sql.Add(WSql);
|
||
sql.Add('Order By A.HXFlag');
|
||
// showmessage(sql.text);
|
||
Open;
|
||
end;
|
||
SCreateCDS(ADOQueryMain, CDS_1);
|
||
SInitCDSData(ADOQueryMain, CDS_1);
|
||
finally
|
||
ADOQueryMain.EnableControls;
|
||
TV1.DataController.Filter.Clear;
|
||
end;
|
||
end;
|
||
|
||
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;
|
||
|
||
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;
|
||
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
sql.Add(' select * from Trade_Plan_Main where OrderNo = ' + QuotedStr(CDS_1.FieldByName('OrderNo').AsString) + ' and status in(''10'', ''12'') ');
|
||
open;
|
||
end;
|
||
|
||
if not ADOQueryTemp.IsEmpty then
|
||
begin
|
||
application.MessageBox('<27>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɻ<EFBFBD><C9BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㣬<EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>', '<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
|
||
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);
|
||
begdate.DateTime := Enddate.DateTime - 91;
|
||
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;
|
||
sql.Add(' exec P_Fin_Flow_SetStatus_SK ');
|
||
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;
|
||
sql.Add(' exec P_Fin_Flow_SetStatus_SK ');
|
||
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;
|
||
|
||
procedure TfrmCollectList.Button1Click(Sender: TObject);
|
||
begin
|
||
Panel2.Visible := False;
|
||
JHExchangeRate.text := '';
|
||
SXFAmount.text := '';
|
||
end;
|
||
|
||
procedure TfrmCollectList.Button2Click(Sender: TObject);
|
||
var
|
||
PJHExchangeRate: string;
|
||
PSXFAmount: string;
|
||
begin
|
||
if FFID.Text <> '' then
|
||
begin
|
||
if JHExchangeRate.Text <> '' then
|
||
PJHExchangeRate := JHExchangeRate.Text
|
||
else
|
||
PJHExchangeRate := 'Null';
|
||
if SXFAmount.Text <> '' then
|
||
PSXFAmount := SXFAmount.Text
|
||
else
|
||
PSXFAmount := 'Null';
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('UPdate Finance_Flow ');
|
||
sql.Add(' Set JHExchangeRate=' + Trim(PJHExchangeRate) + '');
|
||
sql.Add(',SXFAmount=' + Trim(PSXFAmount) + '');
|
||
SQL.Add(' where FFID=''' + Trim(FFID.Text) + '''');
|
||
sql.Add('UPdate Finance_WriteOff ');
|
||
sql.Add(' Set WoJHExchangeRate=' + Trim(PJHExchangeRate) + '');
|
||
// sql.Add(',SXFAmount=''' + Trim(SXFAmount.Text) + '''');
|
||
SQL.Add(' where FromId=''' + Trim(FFID.Text) + '''');
|
||
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) + '''');
|
||
sql.Add(' update Costing_Table set HYStatus = 1 where COrderNO in (select B.orderno from Finance_WriteOff A ');
|
||
sql.Add(' inner join Finance_Flow B on A.FromId=B.FFID ');
|
||
sql.Add(' inner join Finance_Flow C on A.ToId=C.FFID ');
|
||
sql.Add(' where FromId=''' + Trim(FFID.Text) + ''')' );
|
||
|
||
// ShowMessage(sql.Text);
|
||
execsql;
|
||
end;
|
||
|
||
end;
|
||
|
||
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!', '<27><>ʾ', 0);
|
||
Button1.Click;
|
||
|
||
end;
|
||
|
||
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;
|
||
|
||
procedure TfrmCollectList.ToolButton1Click(Sender: TObject);
|
||
begin
|
||
try
|
||
frmCollectInput := TfrmCollectInput.Create(Application);
|
||
with frmCollectInput do
|
||
begin
|
||
FFFID := Trim(SELF.CDS_1.fieldbyname('FFID').AsString);
|
||
PState := '<27><><EFBFBD><EFBFBD>';
|
||
if ShowModal = 1 then
|
||
begin
|
||
InitGrid();
|
||
end;
|
||
end;
|
||
finally
|
||
frmCollectInput.Free;
|
||
end;
|
||
|
||
end;
|
||
|
||
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;
|
||
|
||
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;
|
||
|
||
procedure TfrmCollectList.ToolButton6Click(Sender: TObject);
|
||
begin
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
sql.Add(' select * from Trade_Plan_Main where OrderNo = ' + QuotedStr(CDS_1.FieldByName('OrderNo').AsString) + ' and status in(''10'', ''12'') ');
|
||
open;
|
||
end;
|
||
|
||
if not ADOQueryTemp.IsEmpty then
|
||
begin
|
||
application.MessageBox('<27>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɻ<EFBFBD><C9BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㣬<EFBFBD><EFBFBD><DEB7><EFBFBD><EFBFBD>ݲ<EFBFBD>¼', '<27><>ʾ');
|
||
Exit;
|
||
end;
|
||
|
||
FFID.text := trim(CDS_1.fieldbyname('FFID').AsString);
|
||
Panel2.Left := (self.width - Panel2.width) div 2;
|
||
Panel2.Top := 330;
|
||
Panel2.Visible := True;
|
||
|
||
end;
|
||
|
||
procedure TfrmCollectList.btnEditClick(Sender: TObject);
|
||
begin
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
sql.Add(' select * from Trade_Plan_Main where OrderNo = ' + QuotedStr(CDS_1.FieldByName('OrderNo').AsString) + ' and status in(''10'', ''12'') ');
|
||
open;
|
||
end;
|
||
|
||
if not ADOQueryTemp.IsEmpty then
|
||
begin
|
||
application.MessageBox('<27>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɻ<EFBFBD><C9BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㣬<EFBFBD><EFBFBD><DEB7><EFBFBD>', '<27><>ʾ');
|
||
Exit;
|
||
end;
|
||
|
||
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
|
||
// Initgrid();
|
||
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;
|
||
|
||
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;
|
||
|
||
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.
|
||
|