?? pcpurchaseforecast.pas
字號:
unit PCPurchaseForeCast;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, WSVoucherBrowse, DB, ActnList, Grids,WSEdit, DBGrids, QLDBGrid,
ComCtrls, ExtCtrls, ToolWin,DateUtils, ADODB, StdCtrls, Buttons, GEdit,
DBCtrls, Menus, WNADOCQuery,TypInfo;
type
TPCPurchaseForeCastForm = class(TWSVoucherBrowseForm)
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
ToolButton11: TToolButton;
ToolButton12: TToolButton;
ToolButton13: TToolButton;
adsMaster: TADODataSet;
Panel2: TPanel;
ADOQuery: TADOQuery;
ADOQuery2: TADOQuery;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
TempAds: TADODataSet;
StringField1: TStringField;
StringField2: TStringField;
BCDField1: TBCDField;
BCDField2: TBCDField;
BCDField3: TBCDField;
BCDField4: TBCDField;
BCDField5: TBCDField;
BCDField6: TBCDField;
BCDField7: TBCDField;
BCDField8: TBCDField;
IntegerField1: TIntegerField;
WNADOCQuery1: TWNADOCQuery;
Panel3: TPanel;
GroupBox1: TGroupBox;
Memo1: TMemo;
Panel4: TPanel;
Panel5: TPanel;
Panel6: TPanel;
Button2: TButton;
Button3: TButton;
RadioGroup1: TRadioGroup;
Panel7: TPanel;
ComboBox1: TComboBox;
Label1: TLabel;
RadioGroup2: TRadioGroup;
RadioButton4: TRadioButton;
RadioButton5: TRadioButton;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
GroupBox2: TGroupBox;
DateTimePicker1: TDateTimePicker;
Panel8: TPanel;
RadioGroup3: TRadioGroup;
CheckBox4: TCheckBox;
CheckBox5: TCheckBox;
CheckBox6: TCheckBox;
CheckBox7: TCheckBox;
ToolButton1: TToolButton;
procedure UpdateDBGrid;
procedure DBGridTitleClick(Column: TColumn);
procedure FormActivate(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure DBGridDblClick(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure RadioGroup2Click(Sender: TObject);
procedure RadioButton5Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ShowReslut;
procedure adsMasterBeforeOpen(DataSet: TDataSet);
procedure CheckBox4Click(Sender: TObject);
procedure adsMasterAfterOpen(DataSet: TDataSet);
private
{ Private declarations }
WhereStr :string;
public
{ Public declarations }
protected
function CreateEditForm: TWSEditForm; override;
end;
var
PCPurchaseForeCastForm: TPCPurchaseForeCastForm;
implementation
uses CommonDM,FNReceiptPayLeger,QLDBFlt;
{$R *.dfm}
function TPCPurchaseForeCastForm.CreateEditForm: TWSEditForm;
begin
// Result := TSLEdClearBillAForm.Create(Self);
end;
procedure TPCPurchaseForeCastForm.UpdateDBGrid;
var I: Integer;
begin
with DBGrid do
begin
FooterRowCount := 0;
Columns[0].Footer.ValueType := fvtStaticText;
Columns[0].Footer.Value := '合計:';
Columns[0].Footer.Alignment := taCenter;
Columns[0].Title.Alignment:= taCenter;
for I := 1 to Columns.Count - 1 do
begin
Columns[i].Width :=90;
if Pos('日',Columns[I].FieldName)>0 then Columns[i].Width :=70;
if Pos('編',Columns[I].FieldName)>0 then Columns[i].Width :=70;
Columns[i].Title.Alignment:= taCenter;
if Columns[I].Field is TNumericField then
if Pos('Price',Columns[I].FieldName)<=0 then
Columns[I].Footer.ValueType := fvtSum;
end;
FooterRowCount := 1;
end;
end;
procedure TPCPurchaseForeCastForm.DBGridTitleClick(Column: TColumn);
begin
inherited;
UpdateDBGrid;
end;
procedure TPCPurchaseForeCastForm.FormActivate(Sender: TObject);
begin
inherited;
ADOQuery.Close;
ADOQuery.SQL.Text :=' IF EXISTS( SELECT * FROM tempdb..sysobjects '
+' WHERE ID = OBJECT_ID('+Quotedstr('tempdb..#PCPurchaseDM')
+' )) DROP TABLE #PCPurchaseDM ' ;
ADOQuery.ExecSQL;
ADOQuery.Close;
ADOQuery.SQL.Text :=' CREATE TABLE #PCPurchaseDM ('
+' [pid] [int] IDENTITY (1, 1) NOT NULL ,'
+' [id] [int] NULL ,'
+' [Date] [datetime] NULL ,[Code] [varchar] (20) , '
+' [ClientID] [int] NULL , [EmployeeID] [int] NULL , '
+' [BillMode] [varchar] (16) ,[ModeDC] [int] NULL , '
+' [ModeC] [int] NULL ,[Brief] [varchar] (30) , '
+' [GoodsID] [int] NULL ,[GoodsSpec] [varchar] (30) , '
+' [Quantity] [float] NULL ,[QuantityPcs] [float] NULL, '
+' [PackUnitID] [int] NULL ,[PriceBase] [money] NULL , '
+' [Amount] [float] NULL ,[GoalUnitID] [int] NULL , '
+' [GoalQuantity] [float] NULL ,[Client] [varchar] (50) NULL , '
+' [Employee] [varchar] (30) NULL, [Goods] [varchar] (60) NULL , '
+' [GoodsClass] [varchar] (30) NULL ,[DAArea] [varchar] (30) NULL , '
+' [Unit] [varchar] (20) NULL )' ;
ADOQuery.ExecSQL;
ADOQuery.Close;
ADOQuery.SQL.Text :=' TRUNCATE TABLE #PCPurchaseDM';
ADOQuery.ExecSQL;
ADOQuery.Close; //
ADOQuery.SQL.Text :=' INSERT INTO #PCPurchaseDM ('
+' ID,Date,Code,ClientID,EmployeeID, '
+' BillMode,ModeDC,ModeC,Brief, '
+' GoodsID,GoodsSpec, Quantity,QuantityPcs,PackUnitID, '
+' PriceBase,Amount,GoalUnitID,GoalQuantity,'
+' [Client],[Employee],[Goods],[GoodsClass],[DAArea], '
+' [Unit] )'
+' select b.id,b.Date,b.Code,b.ClientID,b.EmployeeID, '
+' b.BillMode,b.ModeDC,b.ModeC,b.Brief, '
+' a.GoodsID,a.GoodsSpec, a.Quantity,a.QuantityPcs,a.PackUnitID, '
+' a.PriceBase,a.Amount,a.GoalUnitID,a.GoalQuantity , '
+' c.name Client,d.Name Employee,e.Name Goods,f.Name GoodsClass, '
+' g.Name DAArea,h.name Unit '
+' from PCPurchaseDetail AS a '
+' LEFT OUTER JOIN PCPurchasemaster as b on a.MasterID=b.id '
+' LEFT OUTER JOIN DAClient as c on b.ClientID=c.id '
+' LEFT OUTER JOIN MSEmployee as d on b.EmployeeID=d.id '
+' LEFT OUTER JOIN DAGoods as e on a.GoodsID=e.id '
+' LEFT OUTER JOIN DAGoodsClass as f on e.GoodsClassID=f.id '
+' LEFT OUTER JOIN DAarea as g on c.AreaID=g.id '
+' LEFT OUTER JOIN MSUnit as h on E.UnitID=h.id '
+' where b.Recordstate<>'+Quotedstr('刪除')
+' and GoodsID<>0 and not GoodsID is null' ;
ADOQuery.ExecSQL;
ADOQuery.Close;
ADOQuery.SQL.Text :=' if exists (select * from dbo.sysobjects where '
+' id = object_id '
+' (' +Quotedstr('[dbo].[TempSaleMD]')+') and OBJECTPROPERTY(id,'
+Quotedstr('IsUserTable')+' ) = 1) drop table [dbo].[TempSaleMD] ';
ADOQuery.ExecSQL;
ADOQuery.Close;
ADOQuery.SQL.Text :=' CREATE TABLE TempSaleMD ('
+' [id] [int] IDENTITY (1, 1) NOT NULL ,'
+' [Date] [datetime] NULL ,[Code] [varchar] (20) , '
+' [ClientID] [int] NULL , [EmployeeID] [int] NULL , '
+' [BillMode] [varchar] (16) ,[ModeDC] [int] NULL , '
+' [ModeC] [int] NULL ,[Brief] [varchar] (30) , '
+' [GoodsID] [int] NULL ,[GoodsSpec] [varchar] (30) , '
+' [Quantity] [float] NULL ,[QuantityPcs] [float] NULL , '
+' [PackUnitID] [int] NULL ,[PriceBase] [money] NULL , '
+' [Amount] [float] NULL ,[GoalUnitID] [int] NULL , '
+' [GoalQuantity] [float] NULL ,[Client] [varchar] (50) NULL ,'
+' [Employee] [varchar] (30) NULL ,[Goods] [varchar] (60) NULL , '
+' [GoodsClass] [varchar] (30) NULL ,[DAArea] [varchar] (30) NULL , '
+' [Unit] [varchar] (20) NULL )' ;
// Memo1.Text := ADOQuery.SQL.Text;
ADOQuery.ExecSQL;
ADOQuery.Close;
ADOQuery.SQL.Text :=' IF EXISTS( SELECT * FROM tempdb..sysobjects '
+' WHERE ID = OBJECT_ID('+Quotedstr('tempdb..#PCPurchasePeriodDM')
+' )) DROP TABLE #PCPurchasePeriodDM ' ;
ADOQuery.ExecSQL;
ADOQuery.Close;
ADOQuery.SQL.Text :=' CREATE TABLE #PCPurchasePeriodDM ('
+' [pid] [int] IDENTITY (1, 1) NOT NULL, '
+' [Client] [varchar] (50) NULL, '
+' [Employee] [varchar] (30) NULL, '
+' [Goods] [varchar] (30) NULL, '
+' [QttA] [float] NULL,[AmtA] [float] NULL,[PftA] [float] NULL,'
+' [QttB] [float] NULL,[AmtB] [float] NULL,[PftB] [float] NULL,'
+' [QttC] [float] NULL,[AmtC] [float] NULL,[PftC] [float] NULL,'
+' [QttD] [float] NULL,[AmtD] [float] NULL,[PftD] [float] NULL,'
+' [QttE] [float] NULL,[AmtE] [float] NULL,[PftE] [float] NULL,'
+' [QttF] [float] NULL,[AmtF] [float] NULL,[PftF] [float] NULL,'
//預計銷量G,當前庫存H,采購訂貨結余I,銷售訂單結余J,預計訂貨K
+' [QttG] [float] NULL,[AmtG] [float] NULL,[QttH] [float] NULL, '
+' [QttI] [float] NULL,[QttJ] [float] NULL,[QttK] [float] NULL )' ;
ADOQuery.ExecSQL;
// WhereStr :=Quotedstr(Datetostr(date));
Memo1.ReadOnly :=False;
Memo1.Clear;
Memo1.Text :=' 不限制條件';
Memo1.ReadOnly :=True;
// WhereStr :=' where 1=1';
Button2Click(Sender);
end;
procedure TPCPurchaseForeCastForm.N1Click(Sender: TObject);
var E:string;
begin
if adsMaster.IsEmpty then exit;
end;
procedure TPCPurchaseForeCastForm.DBGridDblClick(Sender: TObject);
begin
// inherited;
end;
procedure TPCPurchaseForeCastForm.Button3Click(Sender: TObject);
begin
inherited;
WNADOCQuery1.TabName :='TempSaleMD';
WNADOCQuery1.ConnectionString :=CommonData.acnConnection.ConnectionString;
WNADOCQuery1.Execute(False);
if trim(WNADOCQuery1.QueryTerm)<>'' then
WhereStr :=' where ' + trim(WNADOCQuery1.QueryTerm)
else WhereStr :=' Where 1=1 ' ;
Memo1.ReadOnly :=False;
Memo1.Clear;
if ( copy(trim(WNADOCQuery1.QueryTerm),1,3) ='not' ) or
( copy(trim(WNADOCQuery1.QueryTerm),1,3) ='NOT' )then
Memo1.Text :='全部不滿足條件: ' +Copy(trim(WNADOCQuery1.ShowTerm.Text),5,800)
else Memo1.Text :=Copy(trim(WNADOCQuery1.ShowTerm.Text),5,800);
if WhereStr =' Where 1=1 ' then
begin
Memo1.Clear;
Memo1.Text :='不限制條件!';
end;
Memo1.ReadOnly :=True;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -