RtTool/Delphi7/开发档案/马国钢开发代码/ThreeFun/helpForm/bpck_plan_find.pas

199 lines
6.5 KiB
ObjectPascal
Raw Normal View History

2025-01-08 11:55:07 +08:00
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.