⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jm_msfhzcx.pas

📁 省级集邮品管理ERP
💻 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 SED_YearChange(Sender: TObject);
    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 + -