?? jm_kccx.pas
字號:
{*******************************************************}
{ }
{ 營業員庫存查詢 }
{ }
{ 中軟金馬公司版權所有。2002.12前 }
{ }
{ 編制:中軟金馬郵資票品項目開發組 }
{ }
{ }
{*******************************************************}
(*
本模塊在地市集郵票管理,地市集郵品管理,地市市場購入票里面調用。
*)
unit JM_KCCX;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Grids, DBGrids, ExtCtrls, ComCtrls, RXSpin, Mask, ToolEdit,
Spin, RXCtrls, Db, DBTables, DBCtrls, YzppSelect, FieldComboBox,
SqlStrings, JM_data;
type
Pygxx = ^Tygxx;
Tygxx = record
ygdm: string;
ygmc: string;
end;
Tfrm_KCCX = class(TForm)
Panel4: TPanel;
XttxTitle: TRxLabel;
Lbl_user: TLabel;
Label4: TLabel;
Panel1: TPanel;
Label6: TLabel;
Qry_find: TQuery;
DataSource1: TDataSource;
Qry_findPPDM: TStringField;
Qry_findLB: TStringField;
Qry_findZH: TStringField;
Qry_findPPMC: TStringField;
Qry_findDJ: TFloatField;
Qry_findTDM: TStringField;
Query1: TQuery;
Qry_findSL: TFloatField;
Qry_ryb: TQuery;
Qry_rybYGDM: TStringField;
Qry_rybYGMC: TStringField;
Panel2: TPanel;
GroupBox2: TGroupBox;
ComboBox1: TComboBox;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
CheckBox1: TCheckBox;
CheckBox7: TCheckBox;
edtSLStart: TEdit;
edtSLend: TEdit;
YzppSelect1: TYzppSelect;
btnFind: TButton;
Button2: TButton;
btnPrint: TButton;
btnEdit: TButton;
Panel3: TPanel;
DBGrid1: TDBGrid;
Qry_findFXRQ: TStringField;
Panel5: TPanel;
Rgp_ppfl: TRadioGroup;
Label3: TLabel;
Qry_findJJ: TFloatField;
procedure btnFindClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure CheckBox7Click(Sender: TObject);
procedure Qry_findDJGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure Qry_findDJSetText(Sender: TField; const Text: string);
procedure btnPrintClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Rgp_ppflClick(Sender: TObject);
procedure Qry_findJJGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure Qry_findJJSetText(Sender: TField; const Text: string);
procedure ComboBox1Change(Sender: TObject);
procedure edtSLStartKeyPress(Sender: TObject; var Key: Char);
procedure edtSLendKeyPress(Sender: TObject; var Key: Char);
private
SqlStr: string;
LBStr: string;
MasterStr: string;
SLStart: string;
SLEnd: string;
SLStr: string;
PPDMStr: string;
YGDM: string;
L_type: TIO_Type;
LB_type: string;
procedure CheckYGDM;
public
partsql, yzppselect_partsql: string; {partsql查詢語句中的條件語句部分
,yzppselect_partsql小闋控件查詢語句中的
類別條件部分}
procedure Build_PartSql_Selected; {生成查詢條件語句}
function Execute(const DB: TDataBase; p_ISQH: TQH_TYPE): Boolean;
end;
var
frm_KCCX: Tfrm_KCCX;
procedure Show_MS_KCCX(p_isQH: TQH_TYPE; FType: TIO_TYPE); //(前后)庫存查詢
implementation
uses datas,pub;
{$R *.DFM}
{ Tfrm_CX_KC }
procedure Show_MS_KCCX(p_isQH: TQH_TYPE; FType: TIO_TYPE); //(前后)庫存查詢
begin
frm_kccx := Tfrm_kccx.Create(Application);
with frm_kccx do
try
if Execute(data.DM, p_isQH) then
begin
L_Type := FType;
case L_type of
io_jyp:
begin
Rgp_ppfl.ItemIndex := 0;
LB_type := '0';
end;
io_yp:
begin
Rgp_ppfl.ItemIndex := 1;
LB_type := '1';
end;
io_grp:
begin
Rgp_ppfl.ItemIndex := 2;
LB_type := '2';
end;
end;
Caption := Application.Title;
ShowModal;
end;
finally
Destroy
end;
end;
function Tfrm_KCCX.Execute(const DB: TDataBase;
p_ISQH: TQH_TYPE): Boolean;
begin
Result := false;
if not Assigned(DB) then
exit;
try
Qry_ryb.Close;
Qry_ryb.DatabaseName := DB.DatabaseName;
Qry_ryb.Open;
Result := true;
except
CHQMsgBox('不能打開 <集郵門市信息> 表!');
exit;
end;
end;
procedure Tfrm_KCCX.btnFindClick(Sender: TObject);
begin
Build_PartSql_Selected; { 生成查詢條件語句}
if ComboBox1.Text = '全部' then {查詢所有營業員的庫存狀況}
begin
SqlStr := 'Select a.PPDM,decode(a.LB,''0'',''集郵票'',''1'',''集郵品'',''2'',''購入票'') lb,a.ZH,a.PPMC,a.DJ,a.jj,SUM(a.SL) SL,';
SqlStr := SqlStr + ' TO_CHAR(B.FXRQ,''YYYY-MM-DD'') FXRQ,b.TDM FROM tm_yyykc a ,TB_YZPPXXB b ';
SqlStr := SqlStr + ' Where a.sl>0 and b.TDM=a.PPDM ' + PartSql + ' and a.lb =''' + lb_type + ''' Group by a.ppdm,a.lb,a.zh,a.ppmc,a.dj,a.jj,b.fxrq,b.tdm order by ppdm'
end
else
begin {查詢選擇的營業員的庫存狀況}
SqlStr := 'Select a.PPDM,decode(a.LB,''0'',''集郵票'',''1'',''集郵品'',''2'',''購入票'') lb,a.ZH,a.PPMC,a.DJ,a.jj,a.SL,';
SqlStr := SqlStr + ' TO_CHAR(B.FXRQ,''YYYY-MM-DD'') FXRQ,b.TDM FROM tm_yyykc a ,TB_YZPPXXB b ';
SqlStr := SqlStr + ' Where a.sl>0 and b.TDM=a.PPDM ' + PartSql + ' and a.lb =''' + lb_type + '''and a.ygdm=''' + Pygxx(Combobox1.Items.Objects[Combobox1.Items.indexof(ComboBox1.text)])^.ygdm + ''' order by ppdm';
end;
with Qry_Find do
begin
Close;
SQL.Clear;
SQL.Add(SqlStr);
Open;
end;
end;
procedure Tfrm_KCCX.CheckYGDM;
var
xygxx: Pygxx;
begin
with Query1 do
begin
Close;
Sql.Clear;
Sql.Add('Select YGDM,YGMC from TGS_RYB');
Open;
end;
if Query1.IsEmpty then Exit;
while not Query1.Eof do
begin
new(xygxx);
xygxx^.ygdm := Query1.fieldByName('ygdm').AsString;
xygxx^.ygmc := Query1.FieldByName('ygmc').asString;
ComboBox1.Items.AddObject(Query1.FieldByName('YGMC').asString, TObject(xygxx));
Query1.Next;
end;
end;
procedure Tfrm_KCCX.FormCreate(Sender: TObject);
begin
CheckYGDM;
YzppSelect1.Open;
Lbl_user.Caption := ' 操作員:' + VG_UserName;
end;
procedure Tfrm_KCCX.CheckBox7Click(Sender: TObject);
begin
if Checkbox7.Checked then
begin
YzppSelect1.Enabled := True;
case Rgp_ppfl.ItemIndex of
0: YzppSelect1.SQL.Text := 'Select TDM,TMC TJC,ZH,TPSJ/100 MC From TB_YZPPXXB Where type =''jttp'' Order by zh';
1: YzppSelect1.SQL.Text := 'Select TDM,TMC TJC,ZH,TPSJ/100 MC From TB_YZPPXXB Where type =''yp'' Order by zh';
2: YzppSelect1.SQL.Text := 'Select TDM,TMC TJC,ZH,TPSJ/100 MC From TB_YZPPXXB Where type <>''jttp'' and type <>''yp'' Order by zh';
end;
YzppSelect1.Open;
end
else YzppSelect1.Enabled := False;
end;
procedure Tfrm_KCCX.Qry_findDJGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
begin
CurrGetText(Sender, Text, DisplayText);
end;
procedure Tfrm_KCCX.Qry_findDJSetText(Sender: TField; const Text: string);
begin
CurrSetText(Sender, Text);
end;
procedure Tfrm_KCCX.btnPrintClick(Sender: TObject);
begin
PrintDbGrid(DBgrid1, '營業員庫存');
end;
procedure Tfrm_KCCX.Button2Click(Sender: TObject); {志號定位}
var
ClickedOK: Boolean;
StrZH: string;
begin
ClickedOK := ZHLocate('輸入志號', '請輸入要定位的票品志號:', StrZH); {使用公共函數}
if ClickedOK then
Qry_find.Locate('zh', StrZH, [loPartialKey]);
end;
procedure Tfrm_KCCX.Rgp_ppflClick(Sender: TObject);
begin
case Rgp_ppfl.ItemIndex of
0: begin
L_type := io_jyp;
lb_type := '0';
end;
1: begin
L_type := io_yp;
lb_type := '1';
end;
2: begin
L_type := io_grp;
lb_type := '2';
end;
end;
btnFindClick(nil);
end;
procedure Tfrm_KCCX.Qry_findJJGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
begin
CurrGetText(Sender, Text, DisplayText);
end;
procedure Tfrm_KCCX.Qry_findJJSetText(Sender: TField; const Text: string);
begin
CurrSetText(Sender, Text);
end;
procedure Tfrm_KCCX.ComboBox1Change(Sender: TObject);
begin
btnFindclick(nil);
end;
procedure Tfrm_KCCX.Build_PartSql_Selected;
begin
PartSql := '';
if CheckBox1.Checked then
begin
if (Trim(edtSLStart.Text) = '') or (Trim(edtSLEnd.Text) = '') then
PartSql := PartSql + '';
if (Trim(edtSLStart.Text) <> '') and (Trim(edtSLEnd.Text) <> '') then
PartSql := PartSql + ' and a.sl >=' + edtSLStart.Text + ' and a.sl <= ' + edtSLEnd.Text;
end
else
begin
PartSql := PartSql + '';
end;
if CheckBox7.Checked then
begin
partSql := PartSql + ' and a.ppdm=''' + YzppSelect1.GetPPDM + '''';
end
else
begin
PartSql := PartSql + '';
end;
end;
procedure Tfrm_KCCX.edtSLStartKeyPress(Sender: TObject; var Key: Char);
begin
if key = #8 then exit;
if (ord(key) < 48) or (ord(key) > 57) then key := #0;
end;
procedure Tfrm_KCCX.edtSLendKeyPress(Sender: TObject; var Key: Char);
begin
if key = #8 then exit;
if (ord(key) < 48) or (ord(key) > 57) then key := #0;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -