?? jm_yyypptp.pas
字號:
{*******************************************************}
{ }
{ 營業員票品調配 }
{ }
{ 中軟金馬公司版權所有。2002.12前 }
{ }
{ 編制:中軟金馬郵資票品項目開發組 }
{ }
{ }
{*******************************************************}
(*
本模塊在地市集郵票管理,地市集郵品管理,地市市場購入票里面調用。
*)
unit JM_YYYPPTP;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
FORMBASE, ExtCtrls, ModiPanel, StdCtrls, Mask, DBCtrls, Grids, DBGrids,
CurrEdit, RXDBCtrl, ToolEdit, ComCtrls, Buttons, DBTables, Db,
RxQuery, RXCtrls, SqlStrings;
type
Pygxm = ^Tygxm;
Tygxm = record
ygdm: string;
ygmc: string;
end;
Prkxz = ^Trkxz;
Trkxz = record
rkxzdm: string;
rkxzmc: string;
end;
Tfrm_YYYPPTP = class(TFFormBase)
ModiPanel1: TModiPanel;
DataSource1: TDataSource;
Qry_tpd: TQuery;
UpdateSQL1: TUpdateSQL;
DataSource2: TDataSource;
Qry_tpdpp: TQuery;
UpdateSQL2: TUpdateSQL;
DataSource3: TDataSource;
qryRKDRK: TRxQuery;
DataSource4: TDataSource;
Qry_ryb: TQuery;
UpdateSQL3: TUpdateSQL;
Qry_tpdpp0: TQuery;
Panel4: TPanel;
XttxTitle: TRxLabel;
DWMC: TLabel;
Qry_temp: TQuery;
UpdateSQL4: TUpdateSQL;
Label8: TLabel;
DataSource5: TDataSource;
Query1: TQuery;
Qry_tpdpp0DH: TStringField;
Qry_tpdpp0PPDM: TStringField;
Qry_tpdpp0ZH: TStringField;
Qry_tpdpp0PPMC: TStringField;
Qry_tpdpp0LB: TStringField;
Qry_tpdDH: TStringField;
Qry_tpdTCZ: TStringField;
Qry_tpdTRZ: TStringField;
Qry_tpdCZY: TStringField;
Qry_tpdRQ: TDateTimeField;
Qry_tpdTCFH: TDateTimeField;
Qry_tpdTRFH: TDateTimeField;
Qry_tpdCZYXM: TStringField;
Qry_tpdpp0SL: TFloatField;
Qry_tpdpp0DJ: TFloatField;
Panel3: TPanel;
Rgp_ppfl: TRadioGroup;
Panel2: TPanel;
Label3: TLabel;
Label1: TLabel;
Label6: TLabel;
Label7: TLabel;
Label9: TLabel;
Label10: TLabel;
DBGrid3: TDBGrid;
DBEdit1: TDBEdit;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
Panel1: TPanel;
DBGrid2: TDBGrid;
Qry_tpdpp0JJ: TFloatField;
DBDateEdit1: TDBDateEdit;
DBDateEdit2: TDBDateEdit;
DBDateEdit3: TDBDateEdit;
CheckBox1: TCheckBox;
Qry_LYKC: TQuery;
Qry_tpdpp0LYKC: TIntegerField;
spr_dh: TStoredProc;
procedure ModiPanel1BtnClick(Index: TBtnVisible);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure qryRKDRKAfterScroll(DataSet: TDataSet);
procedure Qry_tpdpp0AfterInsert(DataSet: TDataSet);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Qry_rkppJSJGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure Qry_rkppJSJSetText(Sender: TField; const Text: string);
procedure Qry_rkppSJGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure Qry_rkppSJSetText(Sender: TField; const Text: string);
procedure Qry_rkppMZGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure Qry_rkppMZSetText(Sender: TField; const Text: string);
procedure Qry_tpdpp0JJGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure Qry_tpdpp0JJSetText(Sender: TField; const Text: string);
procedure Qry_tpdpp0XJGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure Qry_tpdpp0XJSetText(Sender: TField; const Text: string);
procedure Qry_tpdAfterScroll(DataSet: TDataSet);
procedure Qry_tpdpp0DJGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure Qry_tpdpp0DJSetText(Sender: TField; const Text: string);
procedure Qry_tpdAfterOpen(DataSet: TDataSet);
procedure Rgp_ppflClick(Sender: TObject);
procedure Qry_tpdpp0BeforeInsert(DataSet: TDataSet);
procedure FormShow(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure Qry_tpdpp0CalcFields(DataSet: TDataSet);
private
{ Private declarations }
ModiFlag: integer;
FDtState: TDataState;
Fckjhh: string;
procedure Save;
procedure SetState(Value: TdataState);
procedure InitData;
procedure open_sql(var FQuery: TQuery; var SQLTextStr: string);
procedure exec_sql(var FQuery: TQuery; var SQLTextStr: string);
function CheckKC: integer; //理論庫存檢測
procedure StateChange; //如果營業員票品類別改變
public
{ Public declarations }
recordcount: integer;
zh: array of string;
mc: array of string;
tdm: array of string;
lb: array of string;
dj: array of string;
jj: array of string;
queding: boolean;
editpd: boolean;
insertmode: boolean;
save1: boolean;
rkdh: string;
Saved: Boolean;
TPDHSTR: string;
L_type: TIO_Type;
LB_type: string;
Str_Locate_tpdh: string; {保存調配單號,用于保存或取消數據后定位到該調配單}
end;
function Show_MS_YYYPPTP(FType: TIO_TYPE): Boolean;
var
frm_YYYPPTP: Tfrm_YYYPPTP;
implementation
uses datas,JM_data, SHOW_TPPP, pub, {JM_master_detail_base,Show_tppp,} JM_RPTTPFH;
{$R *.DFM}
function Show_MS_YYYPPTP(FType: TIO_TYPE): Boolean;
begin
if not assigned(Frm_YYYPPTP) then
Frm_YYYPPTP := Tfrm_YYYPPTP.Create(nil);
with frm_yyypptp do
begin
try
Caption := application.Title;
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;
ShowModal;
finally
free;
frm_yyypptp := nil;
end;
end;
end;
procedure Tfrm_YYYPPTP.SetState(Value: TdataState);
procedure SetControls(Value: Boolean);
begin
Panel1.Enabled := Value;
DBGrid3.ReadOnly := Value;
if value = true then
dbgrid3.Columns[4].Color := $00FFFFE1
else
dbgrid3.Columns[4].Color := $00D9FFFF;
end;
begin
FDtState := Value;
ModiPanel1.ChangeMode(FDtState = dtBrowse);
SetControls(FDtState = dtBrowse);
with Qry_tpd do
case FDtstate of
dtBrowse:
begin
ComBoBox1.Enabled := True;
ComBoBox2.Enabled := True;
end;
dtinsert:
begin
ComBoBox1.Enabled := False;
ComBoBox2.Enabled := False;
Append;
end;
dtedit:
begin
ComBoBox1.Enabled := False;
ComBoBox2.Enabled := False;
Qry_tpdpp0.Edit;
ModiFlag := 1;
end;
end;
end;
procedure Tfrm_YYYPPTP.Save;
var
flag: boolean;
RKDH: string;
begin
Saved := True;
if ComboBox1.Text = '' then
begin
CHQMsgBox('票品調出者不能為空!');
ComboBox1.SetFocus;
Exit;
end;
if ComboBox2.Text = '' then
begin
CHQMsgBox('票品調入者不能為空!');
ComboBox2.SetFocus;
Exit;
end;
{營業員理論庫存檢測}
if CheckKC = 1 then
begin
Saved := False;
Exit;
end;
if queding then
begin
if not (save1) then
begin
{從GetMSQLDH(5)改過來的yzhshi 2002.12.05}
with spr_dh do
begin
ParamByName('BILLID').AsString := 'mh_tpdh';
ParamByName('SORTCODE').AsString := 'A';
ParamByName('DEPARTMENT').AsString := '';
ParamByName('CYEAR').AsString := '';
ExecProc;
rkdh := Params[0].asstring;
end;
Str_Locate_tpdh := rkdh;
flag := false;
with qry_tpdpp do
begin
Qry_tpdpp0.First;
while not Qry_tpdpp0.eof do
begin
DataSource := nil;
Open;
append;
if (not Qry_tpdpp0.FieldByname('SL').isNull) and (Qry_tpdpp0.FieldByname('SL').AsFloat > 0) then
begin
fieldbyname('dh').asstring := rkdh;
fieldbyname('ppdm').asstring := Qry_tpdpp0.fieldbyname('ppdm').asstring;
fieldbyname('sl').asinteger := Qry_tpdpp0.fieldbyname('sl').asinteger;
fieldbyname('lb').AsString := Qry_tpdpp0.fieldbyname('lb').AsString;
Fieldbyname('dj').AsFloat := Qry_tpdpp0.fieldbyName('dj').AsFloat;
Fieldbyname('Jj').AsFloat := Qry_tpdpp0.fieldbyName('Jj').AsFloat;
Post;
Flag := true;
end
else if (Qry_tpdpp0.FieldByname('SL').isNull) then
begin
Flag := False;
Break;
end;
Qry_tpdpp0.next;
end;
end;
if not Flag then
begin
save1 := true;
CHQMsgBox('數量不能為空且必須大于0!');
Qry_tpd.Close;
Qry_tpdpp.Close;
exit;
end
else
begin
SetState(dtBrowse);
end;
with qry_tpd do {query}
begin
Append;
fieldbyname('DH').asstring := rkdh;
fieldbyname('TCZ').asstring := pygxm(combobox1.Items.Objects[combobox1.Items.IndexOf(combobox1.text)])^.ygdm; //DBLookUpComboBox1.Text ;
fieldbyname('TRZ').asstring := pygxm(combobox2.Items.Objects[combobox2.Items.IndexOf(combobox2.text)])^.ygdm; //DBLookUpComboBox2.Text ;
fieldbyname('CZY').asstring := VG_UserID;
fieldbyname('RQ').asdatetime := StrToDateTime(VarToStr(VG_year) + '-' + VarToStr(VG_month) + '-' + VarToStr(VG_day));
end;
qry_tpd.Database.StartTransaction;
try
qry_tpd.ApplyUpdates;
qry_tpdpp.ApplyUpdates;
qry_tpd.Database.Commit;
queding := false;
Qry_tpd.Close;
Qry_tpd.open;
qry_tpdpp0.close;
qry_tpdpp0.open;
queding := false;
ComboBox1.Enabled := True;
ComboBox2.Enabled := True;
save1 := false;
except
if qry_tpd.Database.InTransaction then
begin qry_tpd.Database.RollBack;
queding := false;
Saved := False;
end;
raise exception.Create('保存數據失敗!');
end;
end
else
begin
flag := false;
with qry_tpd do {query}
begin
append;
fieldbyname('dh').asstring := rkdh;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -