?? jm_fhdsc_getpp.pas
字號(hào):
{*******************************************************}
{ }
{ 營(yíng)業(yè)員分票 }
{ }
{ 中軟金馬公司版權(quán)所有。2002.12前 }
{ }
{ 編制:中軟金馬郵資票品項(xiàng)目開(kāi)發(fā)組 }
{ }
{ }
{*******************************************************}
(*
本模塊在地市pub 營(yíng)業(yè)員分票模塊,地市集郵票管理,地市集郵品管理,地市市場(chǎng)購(gòu)入票里面調(diào)用。
*)
unit JM_FHDSC_GETPP;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, DBCtrls, ExtCtrls, ComCtrls, Grids, DBGrids, Buttons, Db,
DBTables, RxQuery, FieldComboBox, SqlStrings;
type
Pkfxx = ^Tkfxx;
Tkfxx = record
kfdm: string;
kfmc: string;
end;
Tfrm_FHDSC_GETPP = class(TForm)
rxQry_kxpp: TRxQuery;
DS_kxpp: TDataSource;
DS_ckpp: TDataSource;
Qry_fhd: TQuery;
qry_yyy: TQuery;
ds_yyy: TDataSource;
rxQry_ckpp: TQuery;
rxQry_ckppFHDH: TStringField;
rxQry_ckppLB: TStringField;
rxQry_ckppPPDM: TStringField;
rxQry_ckppJJ: TFloatField;
rxQry_ckppSL: TFloatField;
rxQry_ckppYJ: TFloatField;
rxQry_ckppXJ: TFloatField;
rxQry_ckppJSJ: TFloatField;
rxQry_ckppZK: TFloatField;
rxQry_ckppPPMC: TStringField;
rxQry_ckppZH: TStringField;
SqlStrings1: TSqlStrings;
Panel2: TPanel;
Panel1: TPanel;
DBG_kxpp: TDBGrid;
DBG_ckpp: TDBGrid;
Panel3: TPanel;
rg_fplb: TRadioGroup;
DCBo_yyy: TDBLookupComboBox;
Panel4: TPanel;
BBt_ok: TBitBtn;
BBt_next: TBitBtn;
BBt_can: TBitBtn;
rxQry_ckppKFDM: TStringField;
rxQry_kxppKFDM: TStringField;
rxQry_kxppPPDM: TStringField;
rxQry_kxppZH: TStringField;
rxQry_kxppPPMC: TStringField;
rxQry_kxppJJ: TFloatField;
rxQry_kxppYJ: TFloatField;
rxQry_kxppXJ: TFloatField;
rxQry_kxppTS: TFloatField;
rxQry_kxppBZ: TStringField;
Label1: TLabel;
Cmb_kfdm: TComboBox;
Qry_kfdm: TQuery;
GroupBox1: TGroupBox;
RBtn_zh: TRadioButton;
Rbtn_mc: TRadioButton;
Edt_loc: TEdit;
SpeedButton1: TSpeedButton;
spr_dh: TStoredProc;
procedure CBo_jytpClick(Sender: TObject);
procedure DBG_kxppDblClick(Sender: TObject);
procedure BBt_okClick(Sender: TObject);
procedure BBt_nextClick(Sender: TObject);
procedure rxQry_kxppDJGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure rxQry_kxppDJSetText(Sender: TField; const Text: string);
procedure rg_fplbClick(Sender: TObject);
procedure rxQry_kxppJJGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure rxQry_kxppJJSetText(Sender: TField; const Text: string);
procedure rxQry_kxppYJGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure rxQry_kxppYJSetText(Sender: TField; const Text: string);
procedure rxQry_kxppXJGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure rxQry_kxppXJSetText(Sender: TField; const Text: string);
procedure rxQry_kxppJSJGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure rxQry_kxppJSJSetText(Sender: TField; const Text: string);
procedure Cmb_kfdmChange(Sender: TObject);
procedure rxQry_ckppBeforeInsert(DataSet: TDataSet);
procedure SpeedButton1Click(Sender: TObject);
procedure rxQry_kxppFilterRecord(DataSet: TDataSet;
var Accept: Boolean);
private
{ Private declarations }
V_S_loc: string;
procedure GenerateFHD;
procedure SetFHD(p_sl_dwdm: TstringList; var p_sl_fhdh: TstringList);
procedure InitData(init: integer);
procedure SetFHDHDisplay(DisplayLabel: string);
function CheckKC: Integer; //檢測(cè)票品數(shù)量是否大于理論庫(kù)存
public
L_type: TIO_TYPE;
LB_type: string;
function Execute_FHDSC_GETPP(const sysDB: TDataBase; F_type: TIO_type): Boolean;
end;
var
frm_FHDSC_GETPP: Tfrm_FHDSC_GETPP;
implementation
uses datas,pub,JM_data ;
{$R *.DFM}
procedure Tfrm_FHDSC_GETPP.SetFHD(p_sl_dwdm: TstringList; var p_sl_fhdh: TstringList);
var
i, j: Integer;
v_b_exist: boolean;
procedure GetFHDH();
var
m, n: integer;
l_FHDH: String;
begin
for m := 0 to p_sl_dwdm.Count - 1 do
begin
{從GetMSQLDH(3)改過(guò)來(lái)的yzhshi 2002.12.05}
with spr_dh do
begin
Close;
ParamByName('BILLID').AsString := 'mh_fhd';
ParamByName('SORTCODE').AsString := 'C';
ParamByName('DEPARTMENT').AsString := VG_UserID;
ExecProc;
l_FHDH:=Params[0].asstring;
end;
p_sl_fhdh.Add(l_FHDH);
if m > 0 then
for n := 0 to m - 1 do
if p_sl_dwdm.Strings[m] = p_sl_dwdm.Strings[n] then
p_sl_fhdh.Strings[m] := p_sl_fhdh.Strings[n];
end;
end;
procedure WriteFHD;
begin
qry_fhd.Edit;
qry_fhd.Append;
qry_fhd.FieldByName('FHDH').AsString := p_sl_fhdh.Strings[i];
qry_fhd.FieldByName('CKXZ').AsString := '10';
qry_fhd.FieldByName('FHDW').AsString := VG_UnitID;
qry_fhd.FieldByName('QXDW').AsString := p_sl_dwdm.Strings[i];
qry_fhd.FieldByName('KDRQ').AsDateTime := StrToDateTime(VarToStr(VG_year) + '-' + VarToStr(VG_month) + '-' + VarToStr(VG_day)); //VG_sysdate;
qry_fhd.FieldByName('ZTZT').AsString := '1';
qry_fhd.FieldByName('ZBR').AsString := VG_UserName;
qry_fhd.Post;
end;
begin
GetFHDH(); //取發(fā)貨單號(hào)
if not qry_fhd.Active then
qry_fhd.Open;
for i := 0 to p_sl_fhdh.Count - 1 do
if i = 0 then
WriteFHD
else
begin
v_b_exist := false;
for j := 0 to i - 1 do
if p_sl_fhdh.Strings[i] = p_sl_fhdh.Strings[j] then
begin
v_b_exist := true;
Continue;
end;
if not v_b_exist then
WriteFHD;
end;
end;
procedure Tfrm_FHDSC_GETPP.GenerateFHD;
var
v_sl_qxdw, v_sl_fhdh: TStringList;
i: Integer;
procedure ReSetckpp();
begin
rxQry_ckpp.first;
i := 0;
while not rxQry_ckpp.Eof do
begin
rxQry_ckpp.Edit;
rxQry_ckpp.FieldByName('FHDH').AsString := v_sl_fhdh.Strings[i];
i := i + 1;
rxQry_ckpp.Next;
end;
end;
begin
v_sl_qxdw := TStringList.Create;
v_sl_fhdh := TStringList.Create;
rxQry_ckpp.first;
while not rxQry_ckpp.Eof do
begin
if rxQry_ckpp.FieldByName('SL').AsFloat = 0 then
rxQry_ckpp.Delete
else
v_sl_qxdw.Add(rxqry_ckpp.FieldByName('FHDH').AsString);
rxQry_ckpp.next;
end;
if v_sl_qxdw.Count > 0 then
begin
data.DM.StartTransaction;
try
SetFHD(v_sl_qxdw, v_sl_fhdh);
ReSetckpp();
rxQry_ckpp.ApplyUpdates;
qry_fhd.ApplyUpdates;
data.DM.Commit;
SetFHDHDisplay('發(fā)貨單號(hào)');
except
data.DM.Rollback;
raise;
end;
end
else
begin
CHQMsgBox('輸入票品的數(shù)量全為0,請(qǐng)重新分配數(shù)量!');
end;
v_sl_qxdw.Free;
v_sl_fhdh.Free;
end;
procedure Tfrm_FHDSC_GETPP.CBo_jytpClick(Sender: TObject);
var
v_s_sql: string;
begin
end;
function Tfrm_FHDSC_GETPP.Execute_FHDSC_GETPP(const sysDB: TDataBase; F_type: TIO_type): Boolean;
begin
Result := true;
try
L_type := F_type;
case L_type of
io_jyp: LB_type := '0';
io_yp: lB_type := '1';
io_grp: lb_type := '2';
end;
rxQry_kxpp.Close;
rxQry_kxpp.DataBaseName := sysDB.DatabaseName;
qry_yyy.Close;
qry_yyy.DataBaseName := sysDB.DatabaseName;
Qry_fhd.Close;
Qry_fhd.DataBaseName := sysDB.DatabaseName;
rxQry_ckpp.Close;
rxQry_ckpp.DataBaseName := sysDB.DatabaseName;
rg_fplb.ItemIndex := 0;
InitData(0);
qry_yyy.Open;
except
Result := false;
CHQMsgBox('不能打開(kāi)<發(fā)貨單>表!');
end;
end;
procedure Tfrm_FHDSC_GETPP.DBG_kxppDblClick(Sender: TObject);
var
Before_insert: TDataSetNotifyEvent;
procedure Addckpp;
begin
rxQry_ckpp.Append;
rxQry_ckpp.FieldByName('fhdh').AsString := qry_yyy.FieldByName('YGDM').AsString;
rxQry_ckpp.FieldByName('LB').Value := Lb_type;
rxQry_ckpp.FieldByName('PPDM').Value := rxQry_kxpp.FieldByName('PPDM').Value;
rxQry_ckpp.FieldByName('PPMC').Value := rxQry_kxpp.FieldByName('PPMC').Value;
rxQry_ckpp.FieldByName('ZH').Value := rxQry_kxpp.FieldByName('ZH').Value;
rxQry_ckpp.FieldByName('SL').AsFloat := 0;
rxQry_ckpp.FieldByName('yj').value := rxQry_kxpp.FieldByName('yj').Value;
rxQry_ckpp.FieldByName('JJ').Value := rxQry_kxpp.FieldByName('jJ').Value;
rxQry_ckpp.FieldByName('XJ').Value := rxQry_kxpp.FieldByName('xJ').Value;
rxQry_ckpp.FieldByName('kfdm').Value := rxQry_kxpp.FieldByName('kfdm').Value;
end;
function CheckExisted: boolean;
begin
Result := false;
with rxQry_ckpp do
begin
DisableConstraints;
first;
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -