795 lines
21 KiB
ObjectPascal
795 lines
21 KiB
ObjectPascal
unit U_PayableList;
|
||
|
||
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;
|
||
|
||
type
|
||
TfrmPayableList = 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;
|
||
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;
|
||
Tv1Column3: TcxGridDBColumn;
|
||
Tv1Column4: TcxGridDBColumn;
|
||
Tv1Column5: TcxGridDBColumn;
|
||
Tv1Column6: TcxGridDBColumn;
|
||
Tv1Column7: TcxGridDBColumn;
|
||
Tv1Column8: TcxGridDBColumn;
|
||
Tv1Column9: TcxGridDBColumn;
|
||
Tv1Column10: TcxGridDBColumn;
|
||
Tv1Column11: TcxGridDBColumn;
|
||
Tv1Column12: TcxGridDBColumn;
|
||
Tv1Column13: TcxGridDBColumn;
|
||
Tv1Column14: TcxGridDBColumn;
|
||
Tv1Column15: TcxGridDBColumn;
|
||
Tv1Column16: TcxGridDBColumn;
|
||
Tv1Column17: TcxGridDBColumn;
|
||
Tv1Column18: TcxGridDBColumn;
|
||
Tv1Column19: TcxGridDBColumn;
|
||
Tv1Column20: TcxGridDBColumn;
|
||
Tv1Column21: TcxGridDBColumn;
|
||
Tv1Column22: TcxGridDBColumn;
|
||
Tv1Column23: TcxGridDBColumn;
|
||
N3: TMenuItem;
|
||
Tv1Column24: TcxGridDBColumn;
|
||
Tv1Column1: TcxGridDBColumn;
|
||
Tv1Column2: TcxGridDBColumn;
|
||
ToolButton1: TToolButton;
|
||
Tv1Column25: TcxGridDBColumn;
|
||
Tv1Column26: TcxGridDBColumn;
|
||
Tv1Column27: TcxGridDBColumn;
|
||
ToolButton2: TToolButton;
|
||
Tv1Column28: TcxGridDBColumn;
|
||
Tv1Column29: TcxGridDBColumn;
|
||
Tv1Column30: TcxGridDBColumn;
|
||
Label1: TLabel;
|
||
OrderNo: TEdit;
|
||
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 N3Click(Sender: TObject);
|
||
procedure ToolButton1Click(Sender: TObject);
|
||
procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
|
||
procedure ToolButton2Click(Sender: TObject);
|
||
private
|
||
procedure InitGrid();
|
||
procedure SetStatus();
|
||
public
|
||
FAuthority, MFFID: string;
|
||
end;
|
||
|
||
implementation
|
||
|
||
uses
|
||
U_DataLink, U_RTFun, U_PayableInput, U_ZDYHelp, U_PayableEdit;
|
||
|
||
{$R *.dfm}
|
||
procedure TfrmPayableList.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>
|
||
|
||
// 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;
|
||
end;
|
||
2:
|
||
begin
|
||
|
||
end;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmPayableList.InitGrid();
|
||
var
|
||
WSql: string;
|
||
begin
|
||
WSql := SGetFilters(Panel1, 1, 2);
|
||
if Trim(WSql) <> '' then
|
||
WSql := ' and ' + WSql
|
||
else
|
||
CheckBox1.Checked := True;
|
||
|
||
if not CDS_1.IsEmpty then
|
||
MFFID := Trim(CDS_1.FieldByName('FFID').AsString)
|
||
else
|
||
MFFID := '';
|
||
|
||
try
|
||
ADOQueryMain.DisableControls;
|
||
with ADOQueryMain do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
Filtered := False;
|
||
sql.Add(' select BuyConNO=ISNULL(A.BuyConNo,(select TOP 1 BuyConNo from Trade_Plan_Sub X where X.MainID=A.OrdMainId )),A.* ');
|
||
sql.Add('from Finance_Flow A where A.FFType=''Ӧ<><D3A6><EFBFBD><EFBFBD><EFBFBD>Ǽ<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 A.FFTime>=''' + FormatDateTime('yyyy-MM-dd', begdate.DateTime) + ''' ');
|
||
sql.Add(' and A.FFTime<''' + FormatDateTime('yyyy-MM-dd', Enddate.DateTime + 1) + ''' ');
|
||
end;
|
||
sql.Add(WSql);
|
||
sql.Add('Order By FFTime,OppCoName,OrderNo');
|
||
// ShowMessage(sql.text) ;
|
||
Open;
|
||
end;
|
||
SCreateCDS(ADOQueryMain, CDS_1);
|
||
SInitCDSData(ADOQueryMain, CDS_1);
|
||
finally
|
||
ADOQueryMain.EnableControls;
|
||
TV1.DataController.Filter.Clear;
|
||
end;
|
||
|
||
if MFFID <> '' then
|
||
CDS_1.Locate('FFID', MFFID, []);
|
||
end;
|
||
|
||
procedure TfrmPayableList.N1Click(Sender: TObject);
|
||
begin
|
||
SelOKNo(CDS_1, true)
|
||
end;
|
||
|
||
procedure TfrmPayableList.N2Click(Sender: TObject);
|
||
begin
|
||
Clipboard.SetTextBuf(PChar(Trim(CDS_1.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
|
||
end;
|
||
|
||
procedure TfrmPayableList.N3Click(Sender: TObject);
|
||
begin
|
||
SelOKNo(CDS_1, false)
|
||
|
||
end;
|
||
|
||
procedure TfrmPayableList.FormClose(Sender: TObject; var Action: TCloseAction);
|
||
begin
|
||
inherited;
|
||
Action := caFree;
|
||
end;
|
||
|
||
procedure TfrmPayableList.TBCloseClick(Sender: TObject);
|
||
begin
|
||
|
||
Close;
|
||
end;
|
||
|
||
procedure TfrmPayableList.btnDelClick(Sender: TObject);
|
||
var
|
||
FFFIDS: string;
|
||
MOrderNoS: 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 = ''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;
|
||
|
||
with CDS_1 do
|
||
begin
|
||
DisableControls;
|
||
while CDS_1.Locate('SSel', True, []) do
|
||
begin
|
||
FFFIDS := FFFIDS + Trim(CDS_1.fieldbyname('FFID').AsString) + ',';
|
||
if MOrderNoS <> '' then
|
||
MOrderNoS := MOrderNoS + ',' + QuotedStr(CDS_1.fieldbyname('OrderNo').AsString)
|
||
else
|
||
MOrderNoS := MOrderNoS + QuotedStr(CDS_1.fieldbyname('OrderNo').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><>ʾ');
|
||
|
||
with ADOQueryCmd do
|
||
begin
|
||
close;
|
||
sql.clear;
|
||
SQL.Add(' UPDATE Costing_Table ');
|
||
SQL.Add(' SET COrderSF = cast(( ');
|
||
SQL.Add(' (cast(isnull(CCPKPJE,0) as decimal(18,2)) - ');
|
||
SQL.Add(' (SELECT ISNULL(SUM(ISNULL(price,0) * ISNULL(qty, 0)),0) ');
|
||
SQL.Add(' FROM Finance_Flow X ');
|
||
SQL.Add(' WHERE FFType = ''Ӧ<><D3A6><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>'' ');
|
||
SQL.Add(' AND FFAbstract IN (''S1-<2D><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>'', ''S2-ӡȾ֧<C8BE><D6A7>'', ''S3-<2D><><EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD>'') ');
|
||
SQL.Add(' AND X.OrderNo = Costing_Table.COrderNo)) * cast(ISNULL(COrtherRate,0) as decimal(18,2))) as decimal(18, 2)) ');
|
||
SQL.Add(' where COrderNo in( ' + MOrderNoS + ')');
|
||
// ShowMessage(sql.Text);
|
||
ExecSQL;
|
||
end;
|
||
except
|
||
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
|
||
InitGrid();
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmPayableList.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 - 365;
|
||
SetStatus();
|
||
InitGrid();
|
||
end;
|
||
|
||
procedure TfrmPayableList.TBRafreshClick(Sender: TObject);
|
||
begin
|
||
begdate.SetFocus;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
Sql.Clear;
|
||
Sql.Add('exec P_Fin_Generate_BQ ');
|
||
Open;
|
||
end;
|
||
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
|
||
begin
|
||
application.MessageBox(pchar(ADOQueryCmd.FieldByName('ShowMsg').AsString), '<27><>ʾ<EFBFBD><CABE>Ϣ');
|
||
Exit;
|
||
end;
|
||
InitGrid();
|
||
|
||
end;
|
||
|
||
procedure TfrmPayableList.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 TfrmPayableList.btnChkClick(Sender: TObject);
|
||
var
|
||
FFFIDS, FFFIDS2: string;
|
||
Count: Integer;
|
||
Value: 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;
|
||
Count := 1;
|
||
// value :=FConNo;
|
||
CDS_1.DisableControls;
|
||
with CDS_1 do
|
||
begin
|
||
First;
|
||
while not Eof do
|
||
begin
|
||
if CDS_1.fieldbyname('SSel').AsBoolean then
|
||
begin
|
||
FFFIDS := FFFIDS + Trim(CDS_1.fieldbyname('FFID').AsString) + ',';
|
||
if Value = '' then
|
||
begin
|
||
Value := FieldByName('OrderNo').AsString;
|
||
end;
|
||
if Value <> '' then
|
||
begin
|
||
if Value <> FieldByName('OrderNo').AsString then
|
||
begin
|
||
Count := Count + 1;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
Next;
|
||
end;
|
||
end;
|
||
|
||
CDS_1.EnableControls;
|
||
if Count > 1 then
|
||
begin
|
||
application.MessageBox('ѡ<><D1A1><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>ͬһ<CDAC>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
|
||
exit;
|
||
end;
|
||
|
||
with ADOQueryTemp do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add(' select COrderNO from Costing_Table where COrderNO = ' + QuotedStr(CDS_1.FieldByName('OrderNO').AsString));
|
||
Open;
|
||
end;
|
||
|
||
if not ADOQueryTemp.IsEmpty then
|
||
begin
|
||
with ADOQueryCmd do
|
||
begin
|
||
close;
|
||
sql.clear;
|
||
sql.add(' update Costing_Table set HYStatus = 1 where COrderNo =' + QuotedStr(CDS_1.FieldByName('OrderNO').AsString));
|
||
SQL.Add(' UPDATE Costing_Table ');
|
||
SQL.Add(' SET COrderSF = cast(( ');
|
||
SQL.Add(' (cast(isnull(CCPKPJE,0) as decimal(18,2)) - ');
|
||
SQL.Add(' (SELECT ISNULL(SUM(ISNULL(price,0) * ISNULL(qty, 0)),0) ');
|
||
SQL.Add(' FROM Finance_Flow X ');
|
||
SQL.Add(' WHERE FFType = ''Ӧ<><D3A6><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>'' ');
|
||
SQL.Add(' AND FFAbstract IN (''S1-<2D><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>'', ''S2-ӡȾ֧<C8BE><D6A7>'', ''S3-<2D><><EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD>'') ');
|
||
SQL.Add(' AND X.OrderNo = Costing_Table.COrderNo)) * cast(ISNULL(COrtherRate,0) as decimal(18,2))) as decimal(18, 2)) ');
|
||
SQL.Add(' where COrderNo = ' + QuotedStr(CDS_1.FieldByName('OrderNo').AsString));
|
||
// ShowMessage(sql.Text);
|
||
ExecSQL;
|
||
end;
|
||
end;
|
||
|
||
try
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add(' exec P_Fin_Flow_SetStatus ');
|
||
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)));
|
||
application.MessageBox('<27><><EFBFBD>˳ɹ<CBB3>', '<27><>ʾ');
|
||
InitGrid();
|
||
except
|
||
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
|
||
end;
|
||
|
||
end;
|
||
|
||
procedure TfrmPayableList.btnReChkClick(Sender: TObject);
|
||
var
|
||
FFFIDS, FFFIDS2: string;
|
||
Value: string;
|
||
count: Integer;
|
||
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;
|
||
|
||
count := 1;
|
||
// value :=FConNo;
|
||
CDS_1.DisableControls;
|
||
with CDS_1 do
|
||
begin
|
||
First;
|
||
while not Eof do
|
||
begin
|
||
if CDS_1.fieldbyname('SSel').AsBoolean then
|
||
begin
|
||
FFFIDS := FFFIDS + Trim(CDS_1.fieldbyname('FFID').AsString) + ',';
|
||
if Value = '' then
|
||
begin
|
||
Value := FieldByName('OrderNo').AsString;
|
||
end;
|
||
if Value <> '' then
|
||
begin
|
||
if Value <> FieldByName('OrderNo').AsString then
|
||
begin
|
||
count := count + 1;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
Next;
|
||
end;
|
||
end;
|
||
|
||
CDS_1.EnableControls;
|
||
if count > 1 then
|
||
begin
|
||
application.MessageBox('ѡ<><D1A1><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>ͬһ<CDAC>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
|
||
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;
|
||
//// Next;
|
||
// end;
|
||
// EnableControls;
|
||
// end;
|
||
|
||
with ADOQueryCmd do
|
||
begin
|
||
close;
|
||
sql.clear;
|
||
sql.add(' update Costing_Table set HYStatus = 1 where COrderNo =' + QuotedStr(CDS_1.FieldByName('OrderNO').AsString));
|
||
// ShowMessage(sql.Text);
|
||
ExecSQL;
|
||
end;
|
||
|
||
try
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add(' exec P_Fin_Flow_SetStatus ');
|
||
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)));
|
||
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳ɹ<CBB3>', '<27><>ʾ');
|
||
InitGrid();
|
||
except
|
||
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
|
||
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmPayableList.btnAddClick(Sender: TObject);
|
||
begin
|
||
|
||
try
|
||
frmPayableInput := TfrmPayableInput.Create(Application);
|
||
with frmPayableInput do
|
||
begin
|
||
FFFID := '';
|
||
if ShowModal = 1 then
|
||
begin
|
||
InitGrid();
|
||
end;
|
||
end;
|
||
finally
|
||
frmPayableInput.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmPayableList.ToolButton1Click(Sender: TObject);
|
||
begin
|
||
try
|
||
frmPayableInput := TfrmPayableInput.Create(Application);
|
||
with frmPayableInput do
|
||
begin
|
||
FFFID := Trim(SELF.CDS_1.fieldbyname('FFID').AsString);
|
||
PState := '<27><><EFBFBD><EFBFBD>';
|
||
if ShowModal = 1 then
|
||
begin
|
||
InitGrid();
|
||
end;
|
||
end;
|
||
finally
|
||
frmPayableInput.Free;
|
||
end;
|
||
|
||
end;
|
||
|
||
procedure TfrmPayableList.ToolButton2Click(Sender: TObject);
|
||
var
|
||
MFFIDS: 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 = ''10'' ');
|
||
open;
|
||
end;
|
||
|
||
if not ADOQueryTemp.IsEmpty then
|
||
begin
|
||
application.MessageBox('<27>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>', '<27><>ʾ');
|
||
Exit;
|
||
end;
|
||
|
||
with CDS_1 do
|
||
begin
|
||
DisableControls;
|
||
while CDS_1.Locate('SSel', True, []) do
|
||
begin
|
||
MFFIDS := MFFIDS + 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_Judge ');
|
||
sql.Add(' @FFIDS=' + QuotedStr(MFFIDS));
|
||
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
|
||
frmPayableEdit := TfrmPayableEdit.Create(Application);
|
||
with frmPayableEdit do
|
||
begin
|
||
FFFIDS := MFFIDS;
|
||
if ShowModal = 1 then
|
||
begin
|
||
InitGrid();
|
||
end;
|
||
end;
|
||
finally
|
||
frmPayableEdit.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmPayableList.ToolButton4Click(Sender: TObject);
|
||
begin
|
||
if ADOQueryMain.IsEmpty then
|
||
Exit;
|
||
TcxGridToExcel(self.Caption, cxgrid1);
|
||
end;
|
||
|
||
procedure TfrmPayableList.ToolButton5Click(Sender: TObject);
|
||
begin
|
||
WriteCxGrid(trim(Self.Caption), Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
end;
|
||
|
||
procedure TfrmPayableList.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
|
||
begin
|
||
if (AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('Filler').Index] <> '<27>Զ<EFBFBD>') and (AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('FFAbstract').Index] <> 'S4-<2D>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>') then
|
||
ACanvas.Font.Color := clBlue;
|
||
|
||
// if '<27>Զ<EFBFBD>' <> AViewInfo.GridRecord.Values[Tv1Column25.Index] then ACanvas.Font.Color := clBlue;
|
||
|
||
end;
|
||
|
||
procedure TfrmPayableList.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 = ''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;
|
||
|
||
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
|
||
frmPayableInput := TfrmPayableInput.Create(Application);
|
||
with frmPayableInput do
|
||
begin
|
||
FFFID := Trim(SELF.CDS_1.fieldbyname('FFID').AsString);
|
||
if ShowModal = 1 then
|
||
begin
|
||
InitGrid();
|
||
end;
|
||
end;
|
||
finally
|
||
frmPayableInput.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmPayableList.OppCoNameKeyPress(Sender: TObject; var Key: Char);
|
||
begin
|
||
if Key = #13 then
|
||
begin
|
||
InitGrid();
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmPayableList.cxTabControl1Change(Sender: TObject);
|
||
begin
|
||
SetStatus();
|
||
InitGrid();
|
||
end;
|
||
|
||
end.
|
||
|