D7snShanfengT/山峰贸易管理/U_JWLKCList_MoneyMX.pas

260 lines
7.3 KiB
ObjectPascal
Raw Normal View History

2026-02-26 09:41:35 +08:00
unit U_JWLKCList_MoneyMX;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB,
cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
cxGrid, cxCalendar, cxButtonEdit, cxDropDownEdit, DBClient, Menus, cxSplitter,
cxTextEdit, RM_Common, RM_Class, RM_GridReport, RM_System, RM_Dataset,
RM_e_Xls, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg, dxBkgnd, dxWrap, dxPrnDev,
dxPSCompsProvider, dxPSFillPatterns, dxPSEdgePatterns, dxPSCore, dxPScxCommon,
dxPScxGridLnk, cxGridBandedTableView, cxGridDBBandedTableView, cxLookAndFeels,
cxLookAndFeelPainters, dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinBlueprint,
dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide,
dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy,
dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian,
dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis,
dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black,
dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,
dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray,
dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic,
dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringTime, dxSkinStardust,
dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinsDefaultPainters,
dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue,
dxSkinscxPCPainter, cxNavigator;
type
TfrmJWLKCList_MoneyMX = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBClose: TToolButton;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
Panel1: TPanel;
Label1: TLabel;
Label3: TLabel;
EndDate: TDateTimePicker;
LYDept: TEdit;
CDS_Main: TClientDataSet;
RMDB_Main: TRMDBDataSet;
RM1: TRMGridReport;
RMXLSExport1: TRMXLSExport;
Label8: TLabel;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
YCLSpec: TComboBox;
DataSource2: TDataSource;
JWL_Sub: TClientDataSet;
TJWL: TToolButton;
JWL_Money: TClientDataSet;
RMDBMain: TRMDBDataSet;
RM2: TRMGridReport;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column1: TcxGridDBColumn;
v1DepotClass: TcxGridDBColumn;
v1P_ChnName: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1ShortName: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Quantity: TcxGridDBColumn;
v1CheHao: TcxGridDBColumn;
v1CLName: TcxGridDBColumn;
v1SJName: TcxGridDBColumn;
v1YCLMoney: TcxGridDBColumn;
v1UnitName: TcxGridDBColumn;
v1Note: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure LYDeptChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure TJWLClick(Sender: TObject);
private
canshu1, canshu2, canshu3: string;
procedure InitGrid();
procedure InitForm();
{ Private declarations }
public
FYCLSpec:string;
{ Public declarations }
end;
var
frmJWLKCList_MoneyMX: TfrmJWLKCList_MoneyMX;
implementation
uses
U_DataLink, U_RTFun, U_ModuleNote;
{$R *.dfm}
procedure TfrmJWLKCList_MoneyMX.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmJWLKCList_MoneyMX.FormCreate(Sender: TObject);
begin
cxgrid1.Align := alClient;
canshu1 := Trim(DParameters1);
canshu2 := Trim(DParameters2);
canshu3 := Trim(DParameters3);
end;
procedure TfrmJWLKCList_MoneyMX.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', Tv1, <><D4AD><EFBFBD>ϲֿ<CFB2>');
end;
procedure TfrmJWLKCList_MoneyMX.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add('exec P_JWL_MoneyKC_MX ');
SQL.Add('@YCLSpec=''' + trim(FYCLSpec) + ''' ');
SQL.Add(',@Enddate=''' + trim(FormatDateTime('yyyy-MM', EndDate.Date)) + ''' ');
// ShowMessage(SQL.text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
TBFind.Click;
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmJWLKCList_MoneyMX.InitForm();
begin
ReadCXGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', Tv1, <><D4AD><EFBFBD>ϲֿ<CFB2>');
EndDate.DateTime := SGetServerDateMEnd(ADOQueryTemp);
with ADOQueryTemp do
begin
close;
SQL.Clear;
sql.Add('select distinct YCLSpec from CK_YCLONE_CR ');
open;
end;
with ADOQueryTemp do
begin
first;
while not eof do
begin
YCLSpec.Items.Add(ADOQueryTemp.fieldbyname('YCLSpec').AsString);
next;
end;
end;
InitGrid();
end;
procedure TfrmJWLKCList_MoneyMX.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
end;
procedure TfrmJWLKCList_MoneyMX.TBExportClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
TcxGridToExcel('<27><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid1);
end;
procedure TfrmJWLKCList_MoneyMX.TBRafreshClick(Sender: TObject);
begin
ToolBar1.SetFocus;
InitGrid();
end;
procedure TfrmJWLKCList_MoneyMX.LYDeptChange(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
end;
procedure TfrmJWLKCList_MoneyMX.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmJWLKCList_MoneyMX.FormDestroy(Sender: TObject);
begin
frmJWLKCList_MoneyMX := nil;
end;
procedure TfrmJWLKCList_MoneyMX.RadioGroup1Click(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmJWLKCList_MoneyMX.CheckBox1Click(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmJWLKCList_MoneyMX.TJWLClick(Sender: TObject);
var
fPrintFile, FConNoM, RPTName: string;
begin
if CDS_Main.IsEmpty then
Exit;
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7>û<EFBFBD><C3BB>ܱ<EFBFBD>.rmf';
with ADOQueryCmd do
begin
close;
SQL.Clear;
sql.Add('exec P_JWL_MoneyKC ');
SQL.Add('@Enddate=''' + trim(FormatDateTime('yyyy-MM', EndDate.Date)) + ''' ');
Open;
end;
SCreateCDS20(ADOQueryCmd, JWL_Money);
SInitCDSData20(ADOQueryCmd, JWL_Money);
if FileExists(fPrintFile) then
begin
//RMVariables['begdate']:=BegDate.DateTime;
RMVariables['enddate'] := enddate.DateTime;
RM2.LoadFromFile(fPrintFile);
RM2.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + ExtractFilePath(Application.ExeName) + RPTName), '<27><>ʾ', 0);
end;
end;
end.