199 lines
6.5 KiB
ObjectPascal
199 lines
6.5 KiB
ObjectPascal
![]() |
unit bpck_plan_find;
|
|||
|
|
|||
|
interface
|
|||
|
|
|||
|
uses
|
|||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|||
|
Dialogs, StdCtrls, Grids, DBGrids, ComCtrls, Buttons, ExtCtrls, DB, ADODB,
|
|||
|
ToolWin, ImgList, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
|||
|
cxDataStorage, cxEdit, cxDBData, cxGridLevel, cxClasses, cxControls,
|
|||
|
cxGridCustomView, cxGridCustomTableView, cxGridTableView,
|
|||
|
cxGridDBTableView, cxGrid;
|
|||
|
|
|||
|
type
|
|||
|
Tbpck_frmplan_find = class(TForm)
|
|||
|
pubquery: TADOQuery;
|
|||
|
ADOQuery1: TADOQuery;
|
|||
|
DataSource1: TDataSource;
|
|||
|
ImageList1: TImageList;
|
|||
|
ToolBar1: TToolBar;
|
|||
|
ToolButton9: TToolButton;
|
|||
|
ToolButton5: TToolButton;
|
|||
|
ToolButton6: TToolButton;
|
|||
|
ToolButton8: TToolButton;
|
|||
|
ToolButton4: TToolButton;
|
|||
|
GroupBox1: TGroupBox;
|
|||
|
Label1: TLabel;
|
|||
|
DtpRq1: TDateTimePicker;
|
|||
|
Label2: TLabel;
|
|||
|
DtpRq2: TDateTimePicker;
|
|||
|
Label3: TLabel;
|
|||
|
EdtJhdh: TEdit;
|
|||
|
Label7: TLabel;
|
|||
|
EdtKh: TEdit;
|
|||
|
Label8: TLabel;
|
|||
|
EdtPm: TEdit;
|
|||
|
DBGrid1: TDBGrid;
|
|||
|
Label4: TLabel;
|
|||
|
EdtSh: TEdit;
|
|||
|
Label5: TLabel;
|
|||
|
EdtHh: TEdit;
|
|||
|
Tv1: TcxGridDBTableView;
|
|||
|
cxGrid1Level1: TcxGridLevel;
|
|||
|
cxGrid1: TcxGrid;
|
|||
|
procedure FormShow(Sender: TObject);
|
|||
|
procedure ToolButton4Click(Sender: TObject);
|
|||
|
procedure ToolButton9Click(Sender: TObject);
|
|||
|
procedure DBGrid1DblClick(Sender: TObject);
|
|||
|
procedure ToolButton6Click(Sender: TObject);
|
|||
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|||
|
private
|
|||
|
{ Private declarations }
|
|||
|
public
|
|||
|
{ Public declarations }
|
|||
|
end;
|
|||
|
|
|||
|
var
|
|||
|
bpck_frmplan_find: Tbpck_frmplan_find;
|
|||
|
|
|||
|
implementation
|
|||
|
|
|||
|
uses U_adodbmd;
|
|||
|
|
|||
|
{$R *.dfm}
|
|||
|
|
|||
|
procedure Tbpck_frmplan_find.FormShow(Sender: TObject);
|
|||
|
var
|
|||
|
aDate: TDateTime;
|
|||
|
begin
|
|||
|
pubquery.Close;
|
|||
|
pubquery.SQL.Clear;
|
|||
|
pubquery.SQL.Add('SELECT GETDATE()');
|
|||
|
pubquery.Open;
|
|||
|
|
|||
|
aDate := pubquery.Fields[0].AsDateTime;
|
|||
|
|
|||
|
DtpRq1.Date := aDate - 7;
|
|||
|
DtpRq2.Date := aDate;
|
|||
|
|
|||
|
ToolButton9Click(Sender);
|
|||
|
end;
|
|||
|
|
|||
|
procedure Tbpck_frmplan_find.ToolButton4Click(Sender: TObject);
|
|||
|
begin
|
|||
|
ModalResult := mrCancel;
|
|||
|
end;
|
|||
|
(******************************************************************************)
|
|||
|
(* <20><>ѯ *)
|
|||
|
(******************************************************************************)
|
|||
|
procedure Tbpck_frmplan_find.ToolButton9Click(Sender: TObject);
|
|||
|
var
|
|||
|
strSQL: String;
|
|||
|
begin
|
|||
|
{
|
|||
|
strSQL := 'SELECT A.PlanNo, A.P_Code, A.P_ChnName, A.P_SeqNo, A.P_Colstd, A.P_Color, '
|
|||
|
// + 'Mf = RTRIM(STR(ROUND(P_Breadth/BE.UnitFact))) + ''/'' + LTRIM(STR(ROUND(P_UpBreadth/BE.UnitFact))) AS mf, '
|
|||
|
+ 'A.P_YHNo, B.CustomNo, C.ShortName, '
|
|||
|
+ 'ChnName = ISNULL(D.ChnName, A.P_Color), '
|
|||
|
+ 'P_Num=ROUND(A.P_Num/UE.UnitFact, 2), B.Unit, UnitName=UE.UnitName, '
|
|||
|
+ 'P_Breadth=ROUND(A.P_Breadth/BE.UnitFact, 0), P_UpBreadth=ROUND(A.P_UpBreadth/BE.UnitFact, 0), '
|
|||
|
+ 'A.B_Unit, B_UnitName=BE.UnitName, '
|
|||
|
+ 'P_Gram=ROUND(A.P_Gram/GE.UnitFact, 0), A.G_Unit, G_UnitName=GE.UnitName, '
|
|||
|
+ 'F.P_Fhs, G.P_Kcs '
|
|||
|
+ 'FROM MV_ProductInfo_All A JOIN MV_PlanInfo_All B ON (B.PlanNo=A.PlanNo AND B.Type=A.Type)'
|
|||
|
+ 'LEFT JOIN BC_Customer C ON C.CustomNo=B.CustomNo '
|
|||
|
+ 'LEFT JOIN MC_Color D ON (D.ColorId=A.P_Color AND D.Valid=''Y'') '
|
|||
|
+ 'LEFT JOIN XC_Unit BE ON BE.UnitCode=A.B_Unit '
|
|||
|
+ 'LEFT JOIN XC_Unit GE ON GE.UnitCode=A.G_Unit '
|
|||
|
+ 'LEFT JOIN XC_Unit UE ON UE.UnitCode=B.Unit '
|
|||
|
+ 'LEFT JOIN (SELECT SUM(ISNULL(UQty, 0)) AS P_Fhs, PlanNo, P_Code, P_SeqNo FROM WD_InOut_MX '
|
|||
|
+ 'JOIN WD_InOut ON (WD_InOut.DepotNo=WD_InOut_MX.DepotNo AND WD_InOut.DepotType=0) '
|
|||
|
+ 'GROUP BY PlanNo, P_Code, P_SeqNo) F ON (F.PlanNo=A.PlanNo AND F.P_Code=A.P_Code AND F.P_SeqNo=A.P_SeqNo) '
|
|||
|
+ 'LEFT JOIN (SELECT SUM(ISNULL(UQty, 0)) AS P_Kcs, PlanNo, P_code, P_SeqNo '
|
|||
|
+ 'FROM WD_Clothing_MX GROUP BY PlanNo, P_Code, P_SeqNo) G ON (G.PlanNo=A.PlanNo AND G.P_Code=A.P_Code AND G.P_SeqNo=A.P_SeqNo) '
|
|||
|
+ 'WHERE A.P_Valid=''Y'' ';
|
|||
|
}
|
|||
|
strSQL := 'SELECT A.PlanNo, A.P_SeqNo, A.P_Code, A.P_ChnName, A.P_Spec, A.P_Colstd, A.P_Color, A.ColorName,'#13
|
|||
|
+ ' A.P_YHNo, B.CustomNo, B.CustomName, B.Businees, B.BusineesName,'#13
|
|||
|
+ ' A.P_Num, B.Unit,'#13
|
|||
|
+ ' A.P_Breadth, A.P_UpBreadth, A.B_Unit,'#13
|
|||
|
+ ' A.P_Gram, A.G_Unit,'#13
|
|||
|
+ ' UnitName = ISNULL((SELECT TOP 1 UnitName FROM XC_Unit WHERE UnitCode = B.Unit), B.Unit),'#13
|
|||
|
+ ' B_UnitName = (SELECT TOP 1 UnitName FROM XC_Unit WHERE UnitCode = A.B_Unit),'#13
|
|||
|
+ ' G_UnitName = (SELECT TOP 1 UnitName FROM XC_Unit WHERE UnitCode = A.G_Unit)'#13
|
|||
|
// + ' F.P_Fhs, G.P_Kcs'#13
|
|||
|
+ 'FROM MV_ProductInfo_All A'#13
|
|||
|
+ ' JOIN MV_PlanInfo_All B ON (B.PlanNo=A.PlanNo)'#13
|
|||
|
{
|
|||
|
+ ' LEFT JOIN (SELECT SUM(ISNULL(UQty, 0)) AS P_Fhs, PlanNo, P_Code, P_SeqNo FROM WD_InOut_MX '
|
|||
|
+ 'JOIN WD_InOut ON (WD_InOut.DepotNo=WD_InOut_MX.DepotNo AND WD_InOut.DepotType=0) '
|
|||
|
+ 'GROUP BY PlanNo, P_Code, P_SeqNo) F ON (F.PlanNo=A.PlanNo AND F.P_Code=A.P_Code AND F.P_SeqNo=A.P_SeqNo) '
|
|||
|
+ 'LEFT JOIN (SELECT SUM(ISNULL(UQty, 0)) AS P_Kcs, PlanNo, P_code, P_SeqNo '
|
|||
|
+ 'FROM WD_Clothing_MX GROUP BY PlanNo, P_Code, P_SeqNo) G ON (G.PlanNo=A.PlanNo AND G.P_Code=A.P_Code AND G.P_SeqNo=A.P_SeqNo) '
|
|||
|
}
|
|||
|
+ 'WHERE A.P_Valid=''Y'' '#13;
|
|||
|
|
|||
|
if DtpRq1.Checked then
|
|||
|
begin
|
|||
|
strSQL := strSQL + ' AND B.FillTime>=' + QuotedStr(FormatDateTime('yyyy-MM-dd', DtpRq1.Date)) + #13;
|
|||
|
end;
|
|||
|
|
|||
|
if DtpRq2.Checked then
|
|||
|
begin
|
|||
|
strSQL := strSQL + ' AND B.FillTime<' + QuotedStr(FormatDateTime('yyyy-MM-dd', DtpRq2.Date + 1)) + #13;
|
|||
|
end;
|
|||
|
|
|||
|
if Trim(EdtJhdh.Text) <> '' then
|
|||
|
begin
|
|||
|
strSQL := strSQL + ' AND A.PlanNo LIKE ' + QuotedStr('%' + Trim(EdtJhdh.Text) + '%') + #13;
|
|||
|
end;
|
|||
|
|
|||
|
if Trim(EdtSh.Text) <> '' then
|
|||
|
begin
|
|||
|
strSQL := strSQL + ' AND A.P_Colstd LIKE ' + QuotedStr(Trim(EdtSh.Text) + '%') + #13;
|
|||
|
end;
|
|||
|
|
|||
|
if Trim(EdtKh.Text) <> '' then
|
|||
|
begin
|
|||
|
strSQL := strSQL + ' AND B.CustomName LIKE ' + QuotedStr('%' + Trim(EdtKh.Text) + '%') + #13;
|
|||
|
end;
|
|||
|
|
|||
|
if Trim(EdtPm.Text) <> '' then
|
|||
|
begin
|
|||
|
strSQL := strSQL + ' AND A.P_ChnName LIKE ' + QuotedStr(Trim(EdtPm.Text) + '%') + #13;
|
|||
|
end;
|
|||
|
|
|||
|
if Trim(EdtHh.text) <> '' then
|
|||
|
begin
|
|||
|
strSQL := strSQL + ' AND A.P_YHNo LIKE ' + QuotedStr('%' + Trim(EdtHh.Text) + '%') + #13;
|
|||
|
end;
|
|||
|
|
|||
|
with ADOQuery1 do
|
|||
|
begin
|
|||
|
Close;
|
|||
|
SQL.Clear;
|
|||
|
SQL.Add(strSQL);
|
|||
|
Open;
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure Tbpck_frmplan_find.DBGrid1DblClick(Sender: TObject);
|
|||
|
begin
|
|||
|
ToolButton6Click(Sender);
|
|||
|
end;
|
|||
|
|
|||
|
procedure Tbpck_frmplan_find.ToolButton6Click(Sender: TObject);
|
|||
|
begin
|
|||
|
if ADOQuery1.IsEmpty then Exit;
|
|||
|
|
|||
|
ModalResult := mrOk;
|
|||
|
end;
|
|||
|
|
|||
|
procedure Tbpck_frmplan_find.FormClose(Sender: TObject;
|
|||
|
var Action: TCloseAction);
|
|||
|
begin
|
|||
|
Action := caHide;
|
|||
|
end;
|
|||
|
|
|||
|
end.
|