318 lines
8.8 KiB
ObjectPascal
318 lines
8.8 KiB
ObjectPascal
unit U_CLShuiPiao_CX;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
||
cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView,
|
||
cxGridTableView, cxGridBandedTableView, cxGridDBBandedTableView,
|
||
cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridDBTableView,
|
||
cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxGridCustomPopupMenu,
|
||
cxGridPopupMenu, ADODB, DBClient, cxDropDownEdit, cxCheckBox, RM_Common,
|
||
RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, Menus,
|
||
cxCalendar, cxButtonEdit, cxTextEdit, cxPC, cxLookAndFeels,
|
||
cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu;
|
||
|
||
type
|
||
TfrmCLShuiPiao_CX = class(TForm)
|
||
ToolBar1: TToolBar;
|
||
TBRafresh: TToolButton;
|
||
TBFind: TToolButton;
|
||
TBExport: TToolButton;
|
||
TBClose: TToolButton;
|
||
Panel1: TPanel;
|
||
ADOQueryCmd: TADOQuery;
|
||
ADOQueryMain: TADOQuery;
|
||
ADOQueryTemp: TADOQuery;
|
||
DataSource1: TDataSource;
|
||
cxGridPopupMenu1: TcxGridPopupMenu;
|
||
Label1: TLabel;
|
||
Label2: TLabel;
|
||
BegDate: TDateTimePicker;
|
||
EndDate: TDateTimePicker;
|
||
CDS_Main: TClientDataSet;
|
||
RM1: TRMGridReport;
|
||
RMDBMain: TRMDBDataSet;
|
||
RMXLSExport1: TRMXLSExport;
|
||
RMDBHZ: TRMDBDataSet;
|
||
CDS_HZ: TClientDataSet;
|
||
CDS_PRT: TClientDataSet;
|
||
PopupMenu1: TPopupMenu;
|
||
N1: TMenuItem;
|
||
N2: TMenuItem;
|
||
Label4: TLabel;
|
||
Label12: TLabel;
|
||
GCName: TEdit;
|
||
Label3: TLabel;
|
||
SJName: TEdit;
|
||
Label5: TLabel;
|
||
CLSpec: TEdit;
|
||
JPSpec: TEdit;
|
||
Label7: TLabel;
|
||
Label8: TLabel;
|
||
SPType: TEdit;
|
||
Label9: TLabel;
|
||
CheHao: TEdit;
|
||
cxGrid2: TcxGrid;
|
||
Tv1: TcxGridDBTableView;
|
||
v1Ssel: TcxGridDBColumn;
|
||
v1CRTime: TcxGridDBColumn;
|
||
vGCName: TcxGridDBColumn;
|
||
v1SJName: TcxGridDBColumn;
|
||
v1CLSpec: TcxGridDBColumn;
|
||
v1JPSpec: TcxGridDBColumn;
|
||
v1CheHao: TcxGridDBColumn;
|
||
v2CPFLQty: TcxGridDBColumn;
|
||
v1GLQty: TcxGridDBColumn;
|
||
v1CLQty: TcxGridDBColumn;
|
||
v1SPQty: TcxGridDBColumn;
|
||
v1SPType: TcxGridDBColumn;
|
||
v1KKMoney: TcxGridDBColumn;
|
||
v1Note: TcxGridDBColumn;
|
||
cxGrid2Level1: TcxGridLevel;
|
||
RadioGroup1: TRadioGroup;
|
||
cxTabControl1: TcxTabControl;
|
||
procedure FormDestroy(Sender: TObject);
|
||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||
procedure FormCreate(Sender: TObject);
|
||
procedure TBRafreshClick(Sender: TObject);
|
||
procedure ConNoMChange(Sender: TObject);
|
||
procedure TBCloseClick(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure TBExportClick(Sender: TObject);
|
||
procedure TBFindClick(Sender: TObject);
|
||
procedure N1Click(Sender: TObject);
|
||
procedure N2Click(Sender: TObject);
|
||
procedure SPIDChange(Sender: TObject);
|
||
procedure SPSpecChange(Sender: TObject);
|
||
procedure GCNameChange(Sender: TObject);
|
||
procedure RadioGroup1Click(Sender: TObject);
|
||
procedure cxTabControl1Change(Sender: TObject);
|
||
private
|
||
canshu1,canshu2,canshu3:string;
|
||
procedure InitGrid();
|
||
procedure setstatus();
|
||
{ Private declarations }
|
||
public
|
||
formid:string;
|
||
{ Public declarations }
|
||
end;
|
||
|
||
var
|
||
frmCLShuiPiao_CX: TfrmCLShuiPiao_CX;
|
||
|
||
implementation
|
||
uses
|
||
U_DataLink,U_RTFun,U_SXCKInPut, U_JGSXCKInPut, U_CLShuiPiao_Sub;
|
||
|
||
{$R *.dfm}
|
||
procedure TfrmCLShuiPiao_CX.setstatus();
|
||
begin
|
||
|
||
end;
|
||
|
||
procedure TfrmCLShuiPiao_CX.FormDestroy(Sender: TObject);
|
||
begin
|
||
frmCLShuiPiao_CX:=nil;
|
||
end;
|
||
|
||
procedure TfrmCLShuiPiao_CX.FormClose(Sender: TObject;
|
||
var Action: TCloseAction);
|
||
begin
|
||
Action:=caFree;
|
||
end;
|
||
|
||
procedure TfrmCLShuiPiao_CX.FormCreate(Sender: TObject);
|
||
begin
|
||
EndDate.DateTime:=SGetServerDate10(ADOQueryTemp);
|
||
BegDate.DateTime:=EndDate.DateTime;
|
||
canshu1:=Trim(DParameters1);
|
||
canshu2:=Trim(DParameters2);
|
||
canshu3:=Trim(DParameters3);
|
||
end;
|
||
|
||
procedure TfrmCLShuiPiao_CX.InitGrid();
|
||
var i:integer;
|
||
begin
|
||
try
|
||
ADOQueryMain.DisableControls;
|
||
with ADOQueryMain do
|
||
begin
|
||
Filtered:=False;
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add(' select ');
|
||
if RadioGroup1.ItemIndex=2 then
|
||
sql.Add(' convert(varchar(10),A.CRTime,120) CRTime');
|
||
if RadioGroup1.ItemIndex=1 then
|
||
sql.Add(' convert(varchar(7),A.CRTime,120) CRTime');
|
||
if RadioGroup1.ItemIndex=0 then
|
||
sql.Add(' convert(varchar(4),A.CRTime,120) CRTime');
|
||
sql.Add(',GCName,SJName,CLSpec,JPSpec,CheHao,SPType,Max(Note) Note,Sum(CPFLQty) CPFLQty,Sum(GLQty) GLQty');
|
||
SQL.Add(',Sum(CLQty) CLQty,Sum(SPQty) SPQty,Sum(KKMoney) KKMoney');
|
||
sql.Add(' from CL_SP_Main A');
|
||
SQL.Add(' where 1=1 ');
|
||
if cxTabControl1.TabIndex=0 then
|
||
begin
|
||
sql.Add(' and A.SPType=''<27><>ʱ''');
|
||
end;
|
||
if cxTabControl1.TabIndex=1 then
|
||
begin
|
||
sql.Add(' and A.SPType=''<27><><EFBFBD><EFBFBD>''');
|
||
end;
|
||
if cxTabControl1.TabIndex=2 then
|
||
begin
|
||
sql.Add(' and A.SPType=''ʣ<><CAA3><EFBFBD><EFBFBD>ת''');
|
||
end;
|
||
if cxTabControl1.TabIndex=3 then
|
||
begin
|
||
sql.Add(' and A.SPType=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת''');
|
||
end;
|
||
if cxTabControl1.TabIndex=4 then
|
||
begin
|
||
sql.Add(' and A.SPType<>''<27><>ʱ'' and A.SPType<>''<27><><EFBFBD><EFBFBD>'' and A.SPType<>''ʣ<><CAA3><EFBFBD><EFBFBD>ת'' and A.SPType<>''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת''');
|
||
end;
|
||
if RadioGroup1.ItemIndex=2 then
|
||
begin
|
||
sql.add(' and A.CRTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''');
|
||
sql.Add(' and A.CRTime<'''+Trim(FormatDateTime('yyyy-MM-dd',enddate.DateTime+1))+'''');
|
||
sql.add(' group by convert(varchar(10),A.CRTime,120),GCName,SJName,CLSpec,JPSpec,CheHao,SPType');
|
||
SQL.Add(' order by convert(varchar(10),A.CRTime,120),A.GCName');
|
||
end;
|
||
if RadioGroup1.ItemIndex=1 then
|
||
begin
|
||
sql.add(' and convert(varchar(7),A.CRTime,120)>='''+Trim(FormatDateTime('yyyy-MM',BegDate.DateTime))+'''');
|
||
sql.Add(' and convert(varchar(7),A.CRTime,120)<='''+Trim(FormatDateTime('yyyy-MM',enddate.DateTime))+'''');
|
||
sql.add(' group by convert(varchar(7),A.CRTime,120),GCName,SJName,CLSpec,JPSpec,CheHao,SPType');
|
||
SQL.Add(' order by convert(varchar(7),A.CRTime,120),A.GCName');
|
||
end;
|
||
if RadioGroup1.ItemIndex=0 then
|
||
begin
|
||
sql.add(' and convert(varchar(4),A.CRTime,120)>='''+Trim(FormatDateTime('yyyy',BegDate.DateTime))+'''');
|
||
sql.Add(' and convert(varchar(4),A.CRTime,120)<='''+Trim(FormatDateTime('yyyy',enddate.DateTime+1))+'''');
|
||
sql.add(' group by convert(varchar(4),A.CRTime,120),GCName,SJName,CLSpec,JPSpec,CheHao,SPType');
|
||
SQL.Add(' order by convert(varchar(4),A.CRTime,120),A.GCName');
|
||
end;
|
||
Open;
|
||
end;
|
||
SCreateCDS20(ADOQueryMain,CDS_Main);
|
||
SInitCDSData20(ADOQueryMain,CDS_Main);
|
||
if CDS_Main.IsEmpty=False then
|
||
begin
|
||
for i:=1 to 33-CDS_Main.RecordCount do
|
||
begin
|
||
with CDS_Main do
|
||
begin
|
||
Append;
|
||
post;
|
||
end;
|
||
end;
|
||
end;
|
||
finally
|
||
ADOQueryMain.EnableControls;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmCLShuiPiao_CX.TBRafreshClick(Sender: TObject);
|
||
begin
|
||
BegDate.SetFocus;
|
||
InitGrid();
|
||
end;
|
||
|
||
procedure TfrmCLShuiPiao_CX.ConNoMChange(Sender: TObject);
|
||
begin
|
||
if ADOQueryMain.Active then
|
||
begin
|
||
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmCLShuiPiao_CX.TBCloseClick(Sender: TObject);
|
||
begin
|
||
WriteCxGrid('ˮƱ<CBAE>б<EFBFBD>FM11',Tv1,'ˮƱ<CBAE>ֿ<EFBFBD>');
|
||
Close;
|
||
end;
|
||
|
||
procedure TfrmCLShuiPiao_CX.FormShow(Sender: TObject);
|
||
begin
|
||
ReadCxGrid('ˮƱ<CBAE>б<EFBFBD>FM11',Tv1,'ˮƱ<CBAE>ֿ<EFBFBD>');
|
||
if formid<>'2' then
|
||
begin
|
||
RadioGroup1.Visible:=false;
|
||
end
|
||
else
|
||
RadioGroup1.Visible:=true;
|
||
setstatus();
|
||
InitGrid();
|
||
end;
|
||
|
||
procedure TfrmCLShuiPiao_CX.TBExportClick(Sender: TObject);
|
||
begin
|
||
if ADOQueryMain.IsEmpty then exit;
|
||
TcxGridToExcel('ˮƱ<CBAE>б<EFBFBD>',cxGrid2);
|
||
end;
|
||
|
||
procedure TfrmCLShuiPiao_CX.TBFindClick(Sender: TObject);
|
||
begin
|
||
if ADOQueryMain.Active then
|
||
begin
|
||
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
|
||
SCreateCDS20(ADOQueryMain,CDS_Main);
|
||
SInitCDSData20(ADOQueryMain,CDS_Main);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmCLShuiPiao_CX.N1Click(Sender: TObject);
|
||
begin
|
||
SelOKNo(CDS_Main,True);
|
||
end;
|
||
|
||
procedure TfrmCLShuiPiao_CX.N2Click(Sender: TObject);
|
||
begin
|
||
SelOKNo(CDS_Main,False);
|
||
end;
|
||
|
||
procedure TfrmCLShuiPiao_CX.SPIDChange(Sender: TObject);
|
||
begin
|
||
|
||
TBFind.Click;
|
||
end;
|
||
|
||
procedure TfrmCLShuiPiao_CX.SPSpecChange(Sender: TObject);
|
||
begin
|
||
TBFind.Click;
|
||
end;
|
||
|
||
procedure TfrmCLShuiPiao_CX.GCNameChange(Sender: TObject);
|
||
begin
|
||
TBFind.Click;
|
||
end;
|
||
|
||
procedure TfrmCLShuiPiao_CX.RadioGroup1Click(Sender: TObject);
|
||
begin
|
||
if RadioGroup1.ItemIndex=2 then
|
||
begin
|
||
BegDate.Format:='yyyy-MM-dd';
|
||
endDate.Format:='yyyy-MM-dd';
|
||
end;
|
||
if RadioGroup1.ItemIndex=1 then
|
||
begin
|
||
BegDate.Format:='yyyy-MM';
|
||
endDate.Format:='yyyy-MM';
|
||
end;
|
||
if RadioGroup1.ItemIndex=0 then
|
||
begin
|
||
BegDate.Format:='yyyy';
|
||
endDate.Format:='yyyy';
|
||
end;
|
||
TBRafresh.Click;
|
||
end;
|
||
|
||
procedure TfrmCLShuiPiao_CX.cxTabControl1Change(Sender: TObject);
|
||
begin
|
||
initgrid();
|
||
end;
|
||
|
||
end.
|