294 lines
8.9 KiB
ObjectPascal
294 lines
8.9 KiB
ObjectPascal
|
|
unit U_DJBRKList_JTCLMonth;
|
|||
|
|
|
|||
|
|
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, Series, TeEngine, TeeProcs, Chart,
|
|||
|
|
DbChart, cxSplitter;
|
|||
|
|
|
|||
|
|
type
|
|||
|
|
TfrmDJBRKList_JTCLMonth = 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;
|
|||
|
|
CDS_Main: TClientDataSet;
|
|||
|
|
Label3: TLabel;
|
|||
|
|
CarNo: TEdit;
|
|||
|
|
cxGrid2: TcxGrid;
|
|||
|
|
Tv1: TcxGridDBTableView;
|
|||
|
|
v1APMonth: TcxGridDBColumn;
|
|||
|
|
v1CarNo: TcxGridDBColumn;
|
|||
|
|
v1Qty: TcxGridDBColumn;
|
|||
|
|
v1MJMaoZ: TcxGridDBColumn;
|
|||
|
|
cxGrid2Level1: TcxGridLevel;
|
|||
|
|
v1PS: TcxGridDBColumn;
|
|||
|
|
APMonth: TComboBox;
|
|||
|
|
v1APYear: TcxGridDBColumn;
|
|||
|
|
Label2: TLabel;
|
|||
|
|
APYear: TEdit;
|
|||
|
|
CheckBox1: TCheckBox;
|
|||
|
|
Label4: TLabel;
|
|||
|
|
EndMonth: TComboBox;
|
|||
|
|
EndYear: TEdit;
|
|||
|
|
Label5: TLabel;
|
|||
|
|
C_CodeName: TEdit;
|
|||
|
|
v1C_CodeName: TcxGridDBColumn;
|
|||
|
|
CheckBox2: TCheckBox;
|
|||
|
|
cxSplitter1: TcxSplitter;
|
|||
|
|
DBChart1: TDBChart;
|
|||
|
|
Series1: TBarSeries;
|
|||
|
|
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 ConNoChange(Sender: TObject);
|
|||
|
|
procedure SPSpecChange(Sender: TObject);
|
|||
|
|
procedure BTNoteChange(Sender: TObject);
|
|||
|
|
procedure CheckBox1Click(Sender: TObject);
|
|||
|
|
procedure CheckBox2Click(Sender: TObject);
|
|||
|
|
private
|
|||
|
|
canshu1,canshu2:string;
|
|||
|
|
procedure InitGrid();
|
|||
|
|
procedure TXCSH();
|
|||
|
|
{ Private declarations }
|
|||
|
|
public
|
|||
|
|
{ Public declarations }
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
var
|
|||
|
|
frmDJBRKList_JTCLMonth: TfrmDJBRKList_JTCLMonth;
|
|||
|
|
|
|||
|
|
implementation
|
|||
|
|
uses
|
|||
|
|
U_DataLink,U_RTFun,U_DJBCKInPut,U_DJBCKInPut_JTZS;
|
|||
|
|
|
|||
|
|
{$R *.dfm}
|
|||
|
|
|
|||
|
|
procedure TfrmDJBRKList_JTCLMonth.TXCSH();
|
|||
|
|
var
|
|||
|
|
i:integer;
|
|||
|
|
begin
|
|||
|
|
if CheckBox2.Checked=False then
|
|||
|
|
begin
|
|||
|
|
for i:=0 to DBChart1.SeriesCount-1 do
|
|||
|
|
begin
|
|||
|
|
DBChart1.Series[i].Active:=False;
|
|||
|
|
end;
|
|||
|
|
DBChart1.Series[0].Active:=True;
|
|||
|
|
DBChart1.Series[0].DataSource:=nil;
|
|||
|
|
DBChart1.Series[0].DataSource:=ADOQueryMain;
|
|||
|
|
DBChart1.Series[0].XLabelsSource:='CarNo';
|
|||
|
|
DBChart1.Series[0].YValues.ValueSource:='MJMaoZ';
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDJBRKList_JTCLMonth.FormDestroy(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
frmDJBRKList_JTCLMonth:=nil;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDJBRKList_JTCLMonth.FormClose(Sender: TObject;
|
|||
|
|
var Action: TCloseAction);
|
|||
|
|
begin
|
|||
|
|
Action:=caFree;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDJBRKList_JTCLMonth.FormCreate(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
//cxGrid1.Align:=alClient;
|
|||
|
|
canshu1:=Trim(DParameters1);
|
|||
|
|
canshu2:=Trim(DParameters2);
|
|||
|
|
EndMonth.text:=uppercase(formatdatetime('MM',SGetServerDate10(ADOQueryTemp)));
|
|||
|
|
EndYear.Text:=uppercase(formatdatetime('yyyy',SGetServerDate10(ADOQueryTemp)));
|
|||
|
|
APYear.text:=uppercase(formatdatetime('yyyy',SGetServerDate10(ADOQueryTemp)));
|
|||
|
|
APMonth.text:=uppercase(formatdatetime('MM',SGetServerDate10(ADOQueryTemp)));
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDJBRKList_JTCLMonth.InitGrid();
|
|||
|
|
begin
|
|||
|
|
try
|
|||
|
|
ADOQueryMain.DisableControls;
|
|||
|
|
if CheckBox2.Checked=False then
|
|||
|
|
begin
|
|||
|
|
v1C_CodeName.Visible:=False;
|
|||
|
|
end
|
|||
|
|
else
|
|||
|
|
begin
|
|||
|
|
v1C_CodeName.Visible:=true;
|
|||
|
|
end;
|
|||
|
|
if checkbox1.Checked=False then
|
|||
|
|
begin
|
|||
|
|
v1APMonth.Visible:=true;
|
|||
|
|
with ADOQueryMain do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
sql.Clear;
|
|||
|
|
sql.Add('select SUM(PP.MJMaoZ) MJMaoZ,SUM(PP.PS) ps,Year(AP.APDate) APYear,');
|
|||
|
|
sql.Add('Month(AP.APDate) APMonth,AP.CarNo');
|
|||
|
|
if CheckBox2.Checked=True then
|
|||
|
|
sql.Add(',PP.C_CodeName ');
|
|||
|
|
sql.add(',ZQty=(select Sum(Z.Qty) from Cloth_JiTaiZShu Z where Z.CarNo=AP.CarNo ');
|
|||
|
|
if CheckBox2.Checked=True then
|
|||
|
|
sql.Add('and Z.Subid=PP.Subid ');
|
|||
|
|
sql.Add('and Month(Z.ZSDate)=Month(AP.APDate) and year(Z.ZSDate)=year(AP.APDate)) ');
|
|||
|
|
sql.add('from (select SUM(P.MJMaoZ) MJMaoZ,count(P.MJID) PS,P.APID,P.Subid ');
|
|||
|
|
sql.add(',C_CodeName=(select Top 1 C_CodeName from Cloth_Sub B where B.Subid=P.Subid)');
|
|||
|
|
sql.add('from WFB_MJJY_PB P group by P.APID,P.Subid) PP ');
|
|||
|
|
sql.add('inner join JYCon_Sub_AnPai AP on AP.APID=PP.APID');
|
|||
|
|
sql.add('where Year(AP.APDate)>='''+trim(APYear.Text)+''' and Year(AP.APDate)<='''+trim(EndYear.Text)+''' ');
|
|||
|
|
sql.Add('and Month(AP.APDate)>='''+trim(APMonth.Text)+''' and Month(AP.APDate)<='''+trim(EndMonth.Text)+''' ');
|
|||
|
|
if CarNo.Text<>'' then
|
|||
|
|
sql.add('and AP.CarNo='''+trim(CarNo.Text)+''' ');
|
|||
|
|
if C_CodeName.Text<>'' then
|
|||
|
|
sql.add('and PP.C_CodeName like '''+'%'+trim(C_CodeName.Text)+'%'+''' ');
|
|||
|
|
sql.Add('group by AP.CarNo');
|
|||
|
|
if CheckBox2.Checked=True then
|
|||
|
|
sql.Add(',PP.C_CodeName,PP.Subid');
|
|||
|
|
sql.Add(',Year(AP.APDate),Month(AP.APDate) ');
|
|||
|
|
sql.add('having Sum(PP.PS)<>0 ');
|
|||
|
|
sql.add('order by Year(AP.APDate),Month(AP.APDate),cast(AP.CarNo as int)');
|
|||
|
|
Open;
|
|||
|
|
end;
|
|||
|
|
end
|
|||
|
|
else
|
|||
|
|
begin
|
|||
|
|
v1APMonth.Visible:=False;
|
|||
|
|
with ADOQueryMain do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
sql.Clear;
|
|||
|
|
sql.Add('select AP.CarNo,Year(AP.APDate) APYear ');
|
|||
|
|
if CheckBox2.Checked=True then
|
|||
|
|
sql.Add(',PP.C_CodeName ');
|
|||
|
|
sql.add(',ZQty=(select Sum(Z.Qty) from Cloth_JiTaiZShu Z where Z.CarNo=AP.CarNo ');
|
|||
|
|
if CheckBox2.Checked=True then
|
|||
|
|
sql.Add('and Z.Subid=PP.Subid ');
|
|||
|
|
sql.Add('and year(Z.ZSDate)=year(AP.APDate)) ');
|
|||
|
|
sql.Add(',SUM(PP.MJMaoZ) MJMaoZ,SUM(PP.PS) ps');
|
|||
|
|
sql.add('from (select SUM(P.MJMaoZ) MJMaoZ,count(P.MJID) PS,P.APID,P.Subid ');
|
|||
|
|
sql.add(',C_CodeName=(select Top 1 C_CodeName from Cloth_Sub B where B.Subid=P.Subid)');
|
|||
|
|
sql.add('from WFB_MJJY_PB P group by P.APID,P.Subid) PP ');
|
|||
|
|
sql.add('inner join JYCon_Sub_AnPai AP on AP.APID=PP.APID');
|
|||
|
|
sql.add('where Year(AP.APDate)>='''+trim(APYear.Text)+''' and Year(AP.APDate)<='''+trim(EndYear.Text)+''' ');
|
|||
|
|
if CarNo.Text<>'' then
|
|||
|
|
sql.add('and AP.CarNo='''+trim(CarNo.Text)+''' ');
|
|||
|
|
if C_CodeName.Text<>'' then
|
|||
|
|
sql.add('and PP.C_CodeName like '''+'%'+trim(C_CodeName.Text)+'%'+''' ');
|
|||
|
|
sql.Add('group by AP.CarNo,Year(AP.APDate) ');
|
|||
|
|
if CheckBox2.Checked=True then
|
|||
|
|
sql.Add(',PP.C_CodeName,PP.Subid ');
|
|||
|
|
sql.add('having Sum(PP.PS)<>0 ');
|
|||
|
|
sql.add('order by Year(AP.APDate),cast(AP.CarNo as int)');
|
|||
|
|
Open;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
SCreateCDS20(ADOQueryMain,CDS_Main);
|
|||
|
|
SInitCDSData20(ADOQueryMain,CDS_Main);
|
|||
|
|
finally;
|
|||
|
|
ADOQueryMain.EnableControls;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDJBRKList_JTCLMonth.TBRafreshClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
Toolbar1.SetFocus;
|
|||
|
|
InitGrid();
|
|||
|
|
TXCSH();
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDJBRKList_JTCLMonth.ConNoMChange(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
if ADOQueryMain.Active then
|
|||
|
|
begin
|
|||
|
|
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDJBRKList_JTCLMonth.TBCloseClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
WriteCxGrid('<27><>̨ת<CCA8><D7AA><EFBFBD>б<EFBFBD>1',Tv1,'<27><><EFBFBD>첼<EFBFBD>ֿ<EFBFBD>');
|
|||
|
|
Close;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDJBRKList_JTCLMonth.FormShow(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
ReadCxGrid('<27><>̨ת<CCA8><D7AA><EFBFBD>б<EFBFBD>1',Tv1,'<27><><EFBFBD>첼<EFBFBD>ֿ<EFBFBD>');
|
|||
|
|
initgrid();
|
|||
|
|
TXCSH();
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDJBRKList_JTCLMonth.TBExportClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
if ADOQueryMain.IsEmpty then exit;
|
|||
|
|
TcxGridToExcel('<27><>̨ת<CCA8><D7AA><EFBFBD>б<EFBFBD>',cxGrid2);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDJBRKList_JTCLMonth.TBFindClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
InitGrid();
|
|||
|
|
TXCSH();
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDJBRKList_JTCLMonth.N1Click(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
SelOKNo(CDS_Main,True);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDJBRKList_JTCLMonth.N2Click(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
SelOKNo(CDS_Main,False);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDJBRKList_JTCLMonth.ConNoChange(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
TBFind.Click;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDJBRKList_JTCLMonth.SPSpecChange(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
TBFind.Click;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDJBRKList_JTCLMonth.BTNoteChange(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
TBFind.Click;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDJBRKList_JTCLMonth.CheckBox1Click(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
initgrid();
|
|||
|
|
TXCSH();
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmDJBRKList_JTCLMonth.CheckBox2Click(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
initgrid();
|
|||
|
|
TXCSH();
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end.
|