?? jm_msfhzcx.pas
字號:
{*******************************************************}
{ }
{ 營業員分戶帳查詢 }
{ }
{ 中軟金馬公司版權所有。2002.12前 }
{ }
{ 編制:中軟金馬郵資票品項目開發組 }
{ }
{ }
{*******************************************************}
(*
本模塊在地市pub營業員分戶帳查詢模塊,地市集郵票管理,地市集郵品管理,地市市場購入票管理里面調用。
*)
unit JM_MSFHZCX;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables, Grids, DBGrids, StdCtrls, Buttons, ExtCtrls,SY_searchbase,
ComCtrls, Spin, DBCtrls, RXCtrls, SqlStrings, RxQuery, Qrctrls, QuickRpt,
Menus, DBGridExport;
type
//關系單位
PGXDW = ^TGXDW;
TGXDW = Record
DWDM,DWMC:string;
End;
//查看狀態
TSearchState = (ssFHZ,ssFHZMX);
Tfrm_MSFHZCX = class(TfrmY_SearchBase)
Label4: TLabel;
Label5: TLabel;
Dso_Detail: TDataSource;
cBo_GXDW: TComboBox;
DBG_Detail: TDBGrid;
bbt_Switch: TBitBtn;
Qry_Detail: TQuery;
Label1: TLabel;
SED_Year: TSpinEdit;
SqlStrings1: TSqlStrings;
QRe_jypfhz: TQuickRep;
QRBand2: TQRBand;
QRLabel38: TQRLabel;
QRShape49: TQRShape;
QRShape50: TQRShape;
QRShape51: TQRShape;
QRShape52: TQRShape;
QRShape53: TQRShape;
QRShape54: TQRShape;
QRLabel39: TQRLabel;
QRShape56: TQRShape;
QRShape57: TQRShape;
QRLabel40: TQRLabel;
QRLabel41: TQRLabel;
QRLabel42: TQRLabel;
QRLabel43: TQRLabel;
QRLabel44: TQRLabel;
QRLabel45: TQRLabel;
QRLabel46: TQRLabel;
QRLabel47: TQRLabel;
QRLabel51: TQRLabel;
QRL_fh_wlhm: TQRLabel;
QRL_fh_nd: TQRLabel;
QRSysData2: TQRSysData;
QRBand3: TQRBand;
QRShape58: TQRShape;
QRShape59: TQRShape;
QRShape60: TQRShape;
QRShape61: TQRShape;
QRShape62: TQRShape;
QRShape63: TQRShape;
QRDBText18: TQRDBText;
QRDBText19: TQRDBText;
QRDBText20: TQRDBText;
QRDBText21: TQRDBText;
QRDBText22: TQRDBText;
QRDBText23: TQRDBText;
QRDBText24: TQRDBText;
QRShape64: TQRShape;
QRLabel1: TQRLabel;
Qry_SearchND: TStringField;
Qry_SearchYF: TStringField;
Qry_SearchDWDM: TStringField;
Qry_SearchCRKDH: TStringField;
Qry_SearchZI: TStringField;
Qry_SearchZY: TStringField;
Qry_SearchZJJE: TFloatField;
Qry_SearchTJJE: TFloatField;
Qry_SearchHKJE: TFloatField;
Qry_SearchYE: TFloatField;
Qry_SearchZBR: TStringField;
Qry_SearchZXJE: TFloatField;
Qry_DetailND: TStringField;
Qry_DetailYF: TStringField;
Qry_DetailDWDM: TStringField;
Qry_DetailCRKDH: TStringField;
Qry_DetailZI: TStringField;
Qry_DetailPPDM: TStringField;
Qry_DetailJJ: TFloatField;
Qry_DetailYJ: TFloatField;
Qry_DetailXJ: TFloatField;
Qry_DetailSL: TFloatField;
Qry_DetailJZSJ: TDateTimeField;
Qry_DetailZBR: TStringField;
Qry_DetailSDATE: TDateTimeField;
Qry_DetailRQ: TStringField;
Qry_SearchRQ: TStringField;
Qry_ryb: TQuery;
Qry_DetailZH: TStringField;
Qry_SearchLB: TStringField;
Rgp_ppfl: TRadioGroup;
Qry_DetailPPMC: TStringField;
procedure bbt_SwitchClick(Sender: TObject);
procedure BBt_PrintClick(Sender: TObject);
procedure Qry_SearchZJJEGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure Qry_SearchZJJESetText(Sender: TField; const Text: String);
procedure Qry_SearchTJJEGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure Qry_SearchTJJESetText(Sender: TField; const Text: String);
procedure Qry_SearchHKJEGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure Qry_SearchHKJESetText(Sender: TField; const Text: String);
procedure Qry_SearchZXJEGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure Qry_SearchZXJESetText(Sender: TField; const Text: String);
procedure Qry_DetailJJGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure Qry_DetailJJSetText(Sender: TField; const Text: String);
procedure Qry_DetailXJGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure Qry_DetailXJSetText(Sender: TField; const Text: String);
procedure Qry_SearchYEGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure Qry_SearchYESetText(Sender: TField; const Text: String);
procedure Rgp_ppflClick(Sender: TObject);
procedure BBt_FindClick(Sender: TObject);
procedure cBo_GXDWChange(Sender: TObject);
private
{ Private declarations }
FSearchState:TSearchState;
//獲取關系單位信息
procedure YP_GetGxdwXX;
procedure Set_SearchState(Value:TSearchState);
protected
property SearchState:TSearchState Read FSearchState Write Set_SearchState Default ssFHZ;
procedure Init;override;
procedure Search;override;
public
LB_type,QH_Flag:string;
SQLTextStr:string;
{ Public declarations }
end;
function ShowMSZFHZCX(lbtype,QHflag:string): Boolean;
var
frm_MSFHZCX: Tfrm_MSFHZCX;
implementation
uses pub;
{$R *.DFM}
var l_typ: TIO_TYPE;
function ShowMSZFHZCX(lbtype,QHflag:string): Boolean;
begin
Application.CreateForm(Tfrm_MSFHZCX, frm_MSFHZCX);
with frm_MSFHZCX do
begin
lb_type:=lbtype;
if lb_type='0' then
Rgp_ppfl.ItemIndex:=0;
if lb_type='1' then
Rgp_ppfl.ItemIndex:=1;
if lb_type='2' then
Rgp_ppfl.ItemIndex:=2;
QH_Flag:=QHFlag;
SQLTextStr:='Select a.LB,a.ND,a.YF,a.DWDM,a.CRKDH,a.ZI,a.PPDM ,a.JJ,TO_CHAR(a.RQ,''MM-DD'') RQ ,a.YJ, a.XJ,a.SL,a.JZSJ,a.ZBR,a.SDATE,b.zh,B.TMC PPMC '+
'from TM_MSFHZMXB a,TB_YZPPXXB b '+
'where a.PPDM =b.TDM AND a.DWDM=:DWDM and a.LB =:LB '+
' and to_number(a.YF)>=:YF1 AND TO_NUMBER(a.YF)<=:YF2 AND a.ND=:ND order by A.ND,A.RQ,A.CRKDH ';
panel1.Caption := '營業員分戶帳查詢';
Caption := Application.Title ;
QRe_jypfhz.Visible := False;
result := ShowModal = MB_OK;
Free;
end;
end;
procedure Tfrm_MSFHZCX.YP_GetGxdwXX;
var
Vl_GXDW:PGXDW;
begin
cBo_GXDW.Items.Clear;
With Qry_Any do
begin
Close;
Sql.Clear;
if QH_Flag='qt' then
Sql.Add('Select YGDM,YGMC from TGS_RYB where ygdm='''+vg_userid+''' order by ygdm')
else Sql.Add('select ygdm,ygmc from tgs_ryb order by ygdm');
Open;
While Not Eof do
begin
New(vl_GXDW);
vl_GXDW^.DWDM:=FieldByName('YGDM').AsString;
vl_GXDW^.DWMC:=FieldByName('YGMC').AsString;
cBo_GXDW.Items.AddObject(vl_GXDW^.DWMC,TObject(vl_GXDW));
Next;
end;
Close;
end;
if cBo_GXDW.Items.Count > 0 then cBo_GXDW.ItemIndex := 0;
end;
procedure Tfrm_MSFHZCX.Init;
begin
Inherited Init;
SED_Year.Value:=CurYear;
YP_GetGxdwXX;
// cBo_GXDW.ItemIndex:=0;
SearchState:=ssFHZ;
end;
procedure Tfrm_MSFHZCX.Set_SearchState(Value:TSearchState);
begin
FSearchState:=Value;
Case Value of
ssFHZ: //總分戶帳
begin
bbt_Switch.Caption:='明細';
DBG_Detail.Visible:=False;
DBG_Result.Align:=alClient;
DBG_Result.Visible:=True;
end;
ssFHZMX://總分戶帳明細
begin
bbt_Switch.Caption:='分戶';
DBG_Result.Visible:=False;
DBG_Detail.Align:=alClient;
DBG_Detail.Visible:=True;
end;
end;
end;
procedure Tfrm_MSFHZCX.SED_YearChange(Sender: TObject);
begin
inherited;
CurYear:=SED_Year.Value;
CMB_End.ItemIndex := CurMonth -1;
end;
procedure Tfrm_MSFHZCX.bbt_SwitchClick(Sender: TObject);
begin
inherited;
Case SearchState of
ssFHZ: SearchState:=ssFHZMX;
ssFHZMX: SearchState:=ssFHZ;
end;
end;
procedure Tfrm_MSFHZCX.Search;
var
s:string;
begin
With Qry_Search do
begin
Close;
S:='Select 1 ORD,0 ORD1, RQ ORD2,LB , ND, YF, DWDM ,ZI,CRKDH, TO_CHAR(RQ,''MM-DD'') RQ, ZY,'+
' YJZJJE ZJJE, YJTJJE TJJE, YJHKJE HKJE,YJZXJE ZXJE, YJYE YE,'+
' JJZJJE, JJTJJE, JJHKJE, JJZXJE, JJYE, XJZJJE, XJTJJE,'+
' XJHKJE, XJZXJE, XJYE,ZBR,'''' SDATE From TM_MSFHZB'+
' Where DWDM=:DWDM and LB=:LB and to_number(YF)>=:YF1 AND TO_NUMBER(YF)<=:YF2 AND ND=:ND '+
' Union all '+
'Select 0 ORD, 0 ORD1 ,SYSDATE ORD2,'''' , '''' , '''' ,'''' , '''' ZI , '''' , '''', ''期初余額'' ZY,'+
' 0 ZJJE, 0 TJJE, 0 HKJE,0 ZXJE, YJYE YE,'+
' 0 JJZJJE,0 JJTJJE, 0 JJHKJE, 0 JJZXJE, 0 JJYE, 0 XJZJJE, 0 XJTJJE,'
+' 0 XJHKJE, 0 XJZXJE,0 XJYE,'''' ZBR,'''' SDATE '
+' From TM_MSFHZYEB Where DWDM=:DWDM AND LB=:LB AND ND= :QCND and TO_NUMBER(YF)= :QCYF '
+' union all (Select 1 ORD,0 ORD1, SYSDATE ORD1, LB,ND,YF, DWDM, '''' ZI, '''' , '''' ,YF||''月小計'' ZY,'
+ ' SUM(YJZJJE) ZJJE, SUM(YJTJJE) TJJE,SUM(YJHKJE) HKJE,SUM(YJZXJE) ZXJE ,0 YE, '+
' 0 JJZJJE, 0 JJTJJE, 0 JJHKJE,0 JJZXJE, 0 JJYE, 0 XJZJJE, 0 XJTJJE,'+
' 0 XJHKJE,0 XJZXJE,0 XJYE,'''' ZBR,'''' SDATE '+
' From TM_MSFHZB '+
' Where DWDM=:DWDM and LB=:LB and to_number(YF)>=:YF1 AND to_number(YF)<=:YF2 AND ND=:ND '+
' GROUP BY LB,ND,YF,DWDM )'+
' UNION all '+
' SELECT 1 ORD, 1 ORD1, SYSDATE ORD2,LB,ND,YF, DWDM, '''' ZI , '''', '''', YF||''月本年累計'' ZY,'+
' YJZJJE ZJJE, YJTJJE TJJE,YJHKJE HKJE,YJZXJE ZXJE ,0 YE,'+
' 0 JJZJJE, 0 JJTJJE, 0 JJHKJE,0 JJZXJE, 0 JJYE, 0 XJZJJE, 0 XJTJJE, '+
' 0 XJHKJE,0 XJZXJE,0 XJYE,'''' ZBR,'''' SDATE From TM_MSFHZYEB'+
' Where DWDM=:DWDM and LB=:LB and ND=:ND AND to_number(YF)>=:YF1 AND to_number(YF)<=:YF2 '+
' ORDER BY 1,5,6,3,10,9,2 ';
Sql.Clear;
Sql.Add(s);
Prepare;
Params.ParamByName('DWDM').AsString:=PGXDW(cBo_GXDW.Items.Objects[cBo_GXDW.ItemIndex])^.DWDM;
Params.ParamByName('YF1').AsInteger:=StrToInt(cmb_From.Text);
Params.ParamByName('YF2').AsInteger:=StrToint(cmb_End.Text);
Params.ParamByName('ND').AsString:=SED_year.Text;
Params.ParamByName('LB').AsString:=lb_type;
if cmb_from.text='01' then
begin
Params.ParamByName('QCND').AsString:=IntToStr(StrToInt(SED_year.Text)-1);
Params.ParamByName('QCYF').AsInteger:=12;
end
else begin
Params.ParamByName('QCND').AsString:=SED_year.Text;
Params.ParamByName('QCYF').AsInteger:=StrToInt(Cmb_From.text)-1;
end;
Open;
end;
With Qry_Detail do
begin
Close;
SQL.Text:=SQLTextStr;
Params.ParamByName('DWDM').AsString:=PGXDW(cBo_GXDW.Items.Objects[cBo_GXDW.ItemIndex])^.DWDM;
Params.ParamByName('YF1').AsInteger:=StrToInt(cmb_From.Text);
Params.ParamByName('YF2').AsInteger:=StrToint(cmb_End.Text);
Params.ParamByName('ND').AsString:=SED_year.Text;
Params.ParamByName('LB').AsString:=Lb_type;
Open;
end;
end;
procedure Tfrm_MSFHZCX.BBt_PrintClick(Sender: TObject);
begin
if not Qry_Search.Active then exit;
if SearchState = ssFHZMX then
PrintDBGrid(DBG_Detail, '營業員分戶帳明細')
else
begin
QRL_fh_wlhm.Caption := cBo_GXDW.Text;
QRL_fh_nd.Caption := SED_Year.Text;
QRe_jypfhz.Prepare;
QRLabel1.Caption := '總 '+intTostr(QRe_jypfhz.printer.PageCount);
QRe_jypfhz.Preview;
end;
end;
procedure Tfrm_MSFHZCX.Qry_SearchZJJEGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
inherited;
CurrGetText(Sender,Text,DisplayText);
end;
procedure Tfrm_MSFHZCX.Qry_SearchZJJESetText(Sender: TField;
const Text: String);
begin
inherited;
CurrSetText(Sender,Text);
end;
procedure Tfrm_MSFHZCX.Qry_SearchTJJEGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
inherited;
CurrGetText(Sender,Text,DisplayText);
end;
procedure Tfrm_MSFHZCX.Qry_SearchTJJESetText(Sender: TField;
const Text: String);
begin
inherited;
CurrSetText(Sender,Text);
end;
procedure Tfrm_MSFHZCX.Qry_SearchHKJEGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
inherited;
CurrGetText(Sender,Text,DisplaytExt);
end;
procedure Tfrm_MSFHZCX.Qry_SearchHKJESetText(Sender: TField;
const Text: String);
begin
inherited;
CurrSetText(Sender,Text);
end;
procedure Tfrm_MSFHZCX.Qry_SearchZXJEGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
inherited;
CurrGetText(Sender,Text,DisplayText);
end;
procedure Tfrm_MSFHZCX.Qry_SearchZXJESetText(Sender: TField;
const Text: String);
begin
inherited;
CurrSetText(Sender,Text);
end;
procedure Tfrm_MSFHZCX.Qry_DetailJJGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
inherited;
CurrGetText(Sender,Text,DisplayText);
end;
procedure Tfrm_MSFHZCX.Qry_DetailJJSetText(Sender: TField;
const Text: String);
begin
inherited;
CurrSetText(Sender,Text);
end;
procedure Tfrm_MSFHZCX.Qry_DetailXJGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
inherited;
CurrGetText(Sender,Text,DisplayText);
end;
procedure Tfrm_MSFHZCX.Qry_DetailXJSetText(Sender: TField;
const Text: String);
begin
inherited;
CurrSetText(Sender,Text);
end;
procedure Tfrm_MSFHZCX.Qry_SearchYEGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
inherited;
CurrGetText(Sender,Text,DisplayText);
end;
procedure Tfrm_MSFHZCX.Qry_SearchYESetText(Sender: TField;
const Text: String);
begin
inherited;
CurrSetText(Sender,Text);
end;
procedure Tfrm_MSFHZCX.Rgp_ppflClick(Sender: TObject);
begin
Case Rgp_ppfl.ItemIndex of
0: lb_type:='0';
1: lb_type:='1';
2: lb_type:='2';
end;
end;
procedure Tfrm_MSFHZCX.BBt_FindClick(Sender: TObject);
begin
begin
end;
inherited;
end;
procedure Tfrm_MSFHZCX.cBo_GXDWChange(Sender: TObject);
begin
inherited;
Search;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -