?? jm_ydmxcx.pas
字號:
{*******************************************************}
{ }
{ 營業員預訂情況查詢 }
{ }
{ 中軟金馬公司版權所有。2002.12前 }
{ }
{ 編制:中軟金馬郵資票品項目開發組 }
{ }
{ }
{*******************************************************}
(*
本模塊在地市集郵票管理,地市集郵品管理,地市市場購入票里面調用。
*)
unit JM_YDMXCX;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Grids, DBGrids, ComCtrls, RXCtrls, ExtCtrls, Buttons, Mask,
ToolEdit, dbtables,Db, RxQuery, Spin, CurrEdit, Menus,
DBGridExport, JM_data;
type
P_DM = ^T_DM;
T_DM = record
dm: string;
end;
type
TFrm_YDMXCX = class(TForm)
Panel4: TPanel;
RxLabel1: TRxLabel;
Panel1: TPanel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
Panel6: TPanel;
Panel5: TPanel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label1: TLabel;
Label6: TLabel;
ListBox1: TListBox;
DBGrid2: TDBGrid;
Panel3: TPanel;
Label5: TLabel;
Panel2: TPanel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
RadioButton1: TRadioButton;
RadioButton3: TRadioButton;
RadioButton2: TRadioButton;
DateEdit1: TDateEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
DateEdit2: TDateEdit;
DateEdit3: TDateEdit;
Lbl_user: TLabel;
Label11: TLabel;
CB_ygdm: TComboBox;
LB_ydlx: TListBox;
DataSource1: TDataSource;
Query1: TQuery;
RQry_pnt: TRxQuery;
SE_year: TSpinEdit;
Edit2: TCurrencyEdit;
Edit1: TCurrencyEdit;
Label12: TLabel;
Edt_hs: TCurrencyEdit;
Label13: TLabel;
Edt_ydsl: TCurrencyEdit;
procedure BitBtn1Click(Sender: TObject);
procedure Query1YDGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure SE_yearChange(Sender: TObject);
procedure Query1AfterOpen(DataSet: TDataSet);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
V_LSH, V_SM, V_aCXTJ: string;
procedure SetYDLXLB;
{ Private declarations }
public
{ Public declarations }
function Execute(const DB: TDataBase; p_ISQH: TQH_TYPE): Boolean;
end;
var
Frm_YDMXCX: TFrm_YDMXCX;
implementation
uses datas,pub, JM_YDMXDY;
{$R *.DFM}
function TFrm_YDMXCX.Execute(const DB: TDataBase; p_ISQH: TQH_TYPE): Boolean;
var
v_pdm: P_DM;
i: Integer;
procedure SetYGDMLB;
begin
new(v_pdm);
v_pdm.dm := '';
CB_ygdm.Items.AddObject('全部', TObject(v_pdm));
AssignSQLstr(data.qrytmp, 'select YGDM, YGMC from TGS_RYB where YGDM in( select YGDM from TM_YYYYEB)');
data.qrytmp.Open;
while not data.qrytmp.Eof do
begin
new(v_pdm);
v_pdm.dm := data.qrytmp.FieldByName('YGDM').AsString;
CB_ygdm.Items.AddObject(data.qrytmp.Fieldbyname('YGMC').asstring + '(' + data.qrytmp.FieldByName('YGDM').AsString + ')', TObject(v_pdm));
if v_pdm.dm = VG_UserID then
i := CB_ygdm.Items.Count - 1;
data.qrytmp.Next;
end;
if p_ISQH = is_Q then
begin
CB_ygdm.ItemIndex := i;
CB_ygdm.Enabled := false;
end
else
CB_ygdm.ItemIndex := 0;
end;
begin
Result := false;
if not Assigned(DB) then
exit;
Caption := application.Title;
try
Result := true;
DateEdit1.Date := GetSYSdate;
DateEdit2.Date := GetSYSdate;
DateEdit3.Date := GetSYSdate;
SE_year.Text := IntToStr(VG_Year);
SetYGDMLB;
SetYDLXLB;
AssignSQLstr(data.qrytmp, 'select LSHWS from TG_DHSJBBMGF where DHDM=''mq_jylsh''');
data.qrytmp.Open;
if data.qrytmp.IsEmpty then
begin
CHQMsgBox('單號數據編碼規范沒有設定!');
exit;
end
else if data.qrytmp.Fields[0].AsInteger <= 0 then
begin
CHQMsgBox('單號數據編碼規范沒有設定!');
exit;
end;
for i := 1 to data.qrytmp.Fields[0].AsInteger do
V_LSH := V_LSH + '0';
except
CHQMsgBox('不能打開 <集郵門市交易明細> 表 !');
exit;
end;
end;
procedure TFrm_YDMXCX.SetYDLXLB;
var
v_pdm: P_DM;
begin
LB_ydlx.Clear;
AssignSQLstr(data.qrytmp, 'select ZLDM, ZLMC from TM_YDZLB where NF=''' + SE_year.Text + '''');
data.qrytmp.Open;
while not data.qrytmp.Eof do
begin
new(v_pdm);
v_pdm.dm := data.qrytmp.FieldByName('ZLDM').AsString;
LB_ydlx.Items.AddObject(data.qrytmp.Fieldbyname('ZLMC').asstring, TObject(v_pdm));
data.qrytmp.Next;
end;
if LB_ydlx.Items.Count > 0 then
LB_ydlx.ItemIndex := 0;
end;
procedure TFrm_YDMXCX.BitBtn1Click(Sender: TObject);
const
LBSQL = 'select a.YDLX,b.ZLMC,a.LSH,1,a.SL,a.YFK*a.SL/100 YFK,a.BZJ*a.SL/100 BZJ,a.GBF/100 GBF,a.QTFY/100 QTFY,(nvl(a.YFK*a.SL,0)+nvl(a.GBF,0)+nvl(a.BZJ*a.SL,0)+nvl(a.QTFY,0))/100 FYHJ,a.JYRQ ' +
'from TM_JYMXB a, TM_YDZLB b where a.YDLX=b.ZLDM and a.JYLX=''yd'' and b.NF=''%s'' and a.YDLX=''%s'' and a.CZZT=''0'' ';
ZJJESQL = 'select nvl(sum(YFK*SL),0) + nvl(sum(GBF),0) + nvl(sum(BZJ*SL),0) + nvl(sum(QTFY),0) HJ, sum(1)HS, sum(SL) YDSL from TM_JYMXB where CZZT=''0'' and JYLX=''yd'' ';
var
v_s_ydlx, v_s_sql: string;
begin
try
v_s_ydlx := P_DM(LB_ydlx.Items.Objects[LB_ydlx.ItemIndex])^.dm;
if RadioButton1.Checked then
begin
if (DateEdit1.Date = 0) or (trim(Edit3.Text) = '') or (trim(Edit4.Text) = '') then
begin
CHQMsgBox('請確定查詢條件!');
exit;
end;
v_s_sql := v_s_sql + ' and to_char(JYRQ, ''YYYYMMDD'') =''' +
FormatDateTime('YYYYMMDD', DateEdit1.Date) + ''' and SUBSTR(lsh,10,4)>=LTRIM(to_char(''' +
Edit3.Text + ''',''' + V_LSH + ''')) and SUBSTR(lsh,10,4)<=LTRIM(to_char(''' +
Edit4.Text + ''',''' + V_LSH + ''')) ';
V_SM := DateEdit1.Text + '日產生的交易流水從' + Edit3.Text + '到' + Edit4.Text + '的交易匯總';
end
else if RadioButton2.Checked then
begin
if (DateEdit2.Date = 0) or (DateEdit3.Date = 0) then
begin
CHQMsgBox('請確定查詢條件!');
exit;
end;
v_s_sql := v_s_sql + ' and to_char(JYRQ, ''YYYYMMDD'') >=''' +
FormatDateTime('YYYYMMDD', DateEdit2.Date) + ''' and to_char(JYRQ, ''YYYYMMDD'') <=''' +
FormatDateTime('YYYYMMDD', DateEdit3.Date) + ''' ';
V_SM := '從' + DateEdit2.Text + '到' + DateEdit3.Text + '產生的交易匯總';
end
else if RadioButton3.Checked then
begin
if (trim(Edit5.Text) = '') or (trim(Edit6.Text) = '') then
begin
CHQMsgBox('請確定查詢條件!');
exit;
end;
v_s_sql := v_s_sql + ' and lsh>=''' + Edit5.Text + ''' and lsh<=''' + Edit6.Text + ''' ';
V_SM := '收據號從' + Edit5.Text + '到' + Edit6.Text + '的交易匯總';
end;
if CB_ygdm.ItemIndex <> 0 then
v_s_sql := ' and YGDM=''' + P_DM(CB_ygdm.Items.Objects[CB_ygdm.ItemIndex])^.dm + ''' ' + v_s_sql;
V_aCXTJ := v_s_sql;
AssignSQLstr(Query1, format(LBSQL, [SE_year.Text, v_s_ydlx]) + v_s_sql + ' order by LSH ');
Query1.Open;
Label6.Caption := '交易數目:' + inttostr(Query1.RecordCount);
AssignSQLstr(data.qrytmp, ZJJESQL + v_s_sql);
data.qrytmp.Open;
Edit1.Value := data.qrytmp.FieldByName('HJ').AsFloat / 100;
AssignSQLstr(data.qrytmp, ZJJESQL + v_s_sql + 'and YDLX=''' + v_s_ydlx + '''');
data.qrytmp.Open;
Edit2.Value := data.qrytmp.FieldByName('HJ').AsFloat / 100;
Edt_hs.Value := data.qrytmp.FieldByName('HS').AsFloat;
Edt_ydsl.Value := data.qrytmp.FieldByName('YDSL').AsFloat;
BitBtn3.Enabled := true;
except
CHQMsgBox('請重新確定查詢條件!');
BitBtn3.Enabled := false;
end; {024-7827717 13009221175}
end;
procedure TFrm_YDMXCX.Query1YDGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
begin
CurrGetText(Sender, Text, DisplayText);
end;
procedure TFrm_YDMXCX.BitBtn2Click(Sender: TObject);
begin
Close;
end;
procedure TFrm_YDMXCX.BitBtn3Click(Sender: TObject);
begin
if CB_ygdm.ItemIndex = 0 then
begin
CHQMsgBox('請先選擇一個營業員!');
exit;
end;
RQry_pnt.Close;
RQry_pnt.MacroByName('TJ').AsString := copy(V_aCXTJ, 5, length(V_aCXTJ));
RQry_pnt.MacroByName('NF').AsString := SE_year.Text;
RQry_pnt.Open;
Frm_YDMXDY := TFrm_YDMXDY.Create(nil);
with Frm_YDMXDY do
try
QRLabel25.Caption := VG_UnitName;
QRLabel1.Caption := SE_year.Text + '年前臺營業員預訂情況查詢';
QRLabel4.Caption := FormatDateTime('yyyy"年"mm"月"d"日" ', GetsysDate);
QRLabel2.Caption := V_SM;
QRLabel21.Caption := CB_ygdm.Text;
DetailLines := 1;
Prepare;
try
QRLabel29.Caption := IntToStr(QRPrinter.PageCount);
finally
QRPrinter.Free;
QRPrinter := nil;
end;
preview;
finally
Frm_YDMXDY.Free;
end;
end;
procedure TFrm_YDMXCX.SE_yearChange(Sender: TObject);
begin
SetYDLXLB;
end;
procedure TFrm_YDMXCX.Query1AfterOpen(DataSet: TDataSet);
begin
TNumericField(Query1.FieldByName('YFK')).DisplayFormat := '#,##0.00';
TNumericField(Query1.FieldByName('BZJ')).DisplayFormat := '#,##0.00';
TNumericField(Query1.FieldByName('GBF')).DisplayFormat := '#,##0.00';
TNumericField(Query1.FieldByName('QTFY')).DisplayFormat := '#,##0.00';
TNumericField(Query1.FieldByName('FYHJ')).DisplayFormat := '#,##0.00';
TNumericField(Query1.FieldByName('SL')).DisplayFormat := '#,##';
end;
procedure TFrm_YDMXCX.FormCreate(Sender: TObject);
begin
GetAllColWidth(self);
end;
procedure TFrm_YDMXCX.FormClose(Sender: TObject; var Action: TCloseAction);
begin
SaveAllColWidth(self);
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -