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

229 lines
6.0 KiB
ObjectPascal
Raw Normal View History

2025-08-08 09:57:29 +08:00
unit U_TaxSel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, ToolWin, ComCtrls, U_BaseHelp, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGrid, DBClient, ADODB, ImgList, StdCtrls, ExtCtrls,
cxTextEdit, cxGridCustomPopupMenu, cxGridPopupMenu, cxLookAndFeels,
cxLookAndFeelPainters, dxSkinsCore, dxSkinsDefaultPainters, cxNavigator,
dxDateRanges, dxBarBuiltInMenu, System.ImageList, U_BaseInput, cxButtonEdit,
cxDropDownEdit, dxSkinWXI, dxScrollbarAnnotations;
type
TfrmTaxSel = class(TfrmBaseHelp)
ToolBar1: TToolBar;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
DS_1: TDataSource;
CDS_1: TClientDataSet;
TBSave: TToolButton;
TBClose: TToolButton;
ToolButton1: TToolButton;
ADOConnection1: TADOConnection;
Panel1: TPanel;
Label1: TLabel;
CoName: TEdit;
GPM_1: TcxGridPopupMenu;
ImageList1: TImageList;
ThreeColorBase: TcxStyleRepository;
SHuangSe: TcxStyle;
SkyBlue: TcxStyle;
Default: TcxStyle;
QHuangSe: TcxStyle;
Red: TcxStyle;
FontBlue: TcxStyle;
TextSHuangSe: TcxStyle;
FonePurple: TcxStyle;
FoneClMaroon: TcxStyle;
FoneRed: TcxStyle;
RowColor: TcxStyle;
handBlack: TcxStyle;
cxBlue: TcxStyle;
SHuangSeCu: TcxStyle;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Tv1Column1: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column18: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1Column17: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
Tv1Column3: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure TV1DblClick(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure CoNameChange(Sender: TObject);
private
procedure InitGrid();
{ Private declarations }
public
FSTKName: string;
{ Public declarations }
end;
var
frmTaxSel: TfrmTaxSel;
implementation
uses
U_DataLink, U_RTFun;
{$R *.dfm}
procedure TfrmTaxSel.FormCreate(Sender: TObject);
begin
inherited;
try
with ADOConnection1 do
begin
Connected := false;
ConnectionString := DConString;
Connected := true;
end;
ADOQueryBaseCmd.Connection := ADOConnection1;
ADOQueryBaseTemp.Connection := ADOConnection1;
except
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
end;
end;
procedure TfrmTaxSel.CoNameChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
end;
end;
procedure TfrmTaxSel.FormClose(Sender: TObject; var Action: TCloseAction);
begin
CoName.SetFocus;
Action := cahide;
end;
procedure TfrmTaxSel.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
sql.Clear;
sql.Add('SELECT ');
sql.Add(' OrderNo,OppCoName,BuyConNo,F_Name,FFTime,');
sql.Add(' SUM(CASE WHEN Currency = ''CNY'' THEN Amount ELSE 0 END) AS TotalCNY,');
sql.Add(' SUM(CASE WHEN Currency = ''USD'' THEN Amount ELSE 0 END) AS TotalUSD');
SQL.add('( SELECT STUFF((SELECT '','' + CAST(H.WoJhExchangeRate AS VARCHAR) FROM V_HXHL H WHERE H.OrderNo = F.OrderNo FOR XML PATH('''')), 1, 1, '''') ) as HXHV');
sql.Add('FROM ');
sql.Add(' Finance_Flow');
sql.Add('where FFFlag = '<><D3A6><EFBFBD><EFBFBD>'' ');
sql.Add('GROUP BY ');
sql.Add(' OrderNo,OppCoName,BuyConNo,F_Name,FFTime');
sql.Add('ORDER BY ');
sql.Add(' OrderNo');
Open;
end;
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
finally
ADOQueryMain.EnableControls;
end;
end;
//procedure TfrmTaxSel.InitGrid();
//begin
// try
// ADOQueryMain.DisableControls;
// with ADOQueryMain do
// begin
// Close;
// sql.Clear;
// sql.Add('SELECT ');
// sql.Add(' OrderNo,');
// sql.Add(' OppCoName,');
// sql.Add(' SUM(CASE WHEN Currency = ''CNY'' THEN Amount ELSE 0 END) AS TotalCNY,');
// sql.Add(' SUM(CASE WHEN Currency = ''USD'' THEN Amount ELSE 0 END) AS TotalUSD');
// sql.Add('FROM ');
// sql.Add(' Finance_Flow');
// sql.Add('WHERE 1=1');
// // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɸѡ<C9B8><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// // if Trim(FSTKName) <> '' then
// // sql.Add('AND SomeField = ''' + Trim(FSTKName) + '''');
// sql.Add('GROUP BY ');
// sql.Add(' OrderNo, OppCoName'); // <20><>OrderNo<4E><6F>OppCoName<6D><65><EFBFBD><EFBFBD>
// sql.Add('ORDER BY ');
//
// sql.Add(' OrderNo, OppCoName'); // <20>Ȱ<EFBFBD>OrderNo<4E><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٰ<EFBFBD>OppCoName<6D><65><EFBFBD><EFBFBD>
// ShowMessage(sql.text) ;
// Open;
// end;
//
// SCreateCDS(ADOQueryMain, CDS_1);
// SInitCDSData(ADOQueryMain, CDS_1);
// finally
// ADOQueryMain.EnableControls;
// end;
//end;
procedure TfrmTaxSel.FormShow(Sender: TObject);
begin
inherited;
ReadCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' + Trim(FSTKName), TV1, <>ô<EFBFBD><C3B4><EFBFBD>');
InitGrid();
end;
procedure TfrmTaxSel.TBCloseClick(Sender: TObject);
begin
inherited;
Close;
end;
procedure TfrmTaxSel.TBSaveClick(Sender: TObject);
begin
WriteCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' + Trim(FSTKName), TV1, <>ô<EFBFBD><C3B4><EFBFBD>');
end;
procedure TfrmTaxSel.ToolButton1Click(Sender: TObject);
begin
CoName.SetFocus;
ModalResult := 1;
end;
procedure TfrmTaxSel.TV1DblClick(Sender: TObject);
begin
ModalResult := 1;
end;
procedure TfrmTaxSel.FormDestroy(Sender: TObject);
begin
inherited;
frmTaxSel := nil;
end;
end.