D7myChuangpin/创品码单管理(FMMD.dll)/U_DJBRKList_JTCLMonth.pas

294 lines
8.9 KiB
ObjectPascal
Raw Permalink Normal View History

2024-07-23 20:18:14 +08:00
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.