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

📄 sj_kccx.pas

📁 省级集邮品管理ERP
💻 PAS
字号:

{*******************************************************}
{                                                       }
{                     库存查询                          }
{                                                       }
{            中软金马公司版权所有。2002.12前            }
{                                                       }
{               编制:中软金马项目开发组                }
{                                                       }
{                                                       }
{*******************************************************}
(*
本模块在省级库房管理模块 集邮票、零枚票、集邮品、市场购入票四部分的库存查询菜单 调用。
*)

unit sj_kccx;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, DBGrids, Buttons, ExtCtrls, StdCtrls, ActnList, Db, DBTables,
  ComCtrls, ImgList, Spin, RXCtrls, SqlStrings, RxQuery, DBGridExport,
  Menus, clipbrd;

type
  TFrm_kccx = class(TForm)
    GroupBox1: TGroupBox;
    DBGid_kc: TDBGrid;
    CBo_kfmc: TComboBox;
    Label1: TLabel;
    Label2: TLabel;
    CBo_ppmc: TComboBox;
    BitBtn1: TBitBtn;
    ActionList1: TActionList;
    Act_sel: TAction;
    Act_rtn: TAction;
    DS_kc: TDataSource;
    BitBtn2: TBitBtn;
    Label3: TLabel;
    Edit1: TEdit;
    Panel2: TPanel;
    XttxTitle: TRxLabel;
    DWMC: TLabel;
    Label4: TLabel;
    Panel3: TPanel;
    RxQry: TRxQuery;
    SqlStrings1: TSqlStrings;
    SqlStrings2: TSqlStrings;
    RxQuery1: TRxQuery;
    PM_Exp: TPopupMenu;
    MI_Exc: TMenuItem;
    N2: TMenuItem;
    MI_txt: TMenuItem;
    DBGE_rkd: TDBGridExport;
    procedure Act_selExecute(Sender: TObject);
    procedure Act_rtnExecute(Sender: TObject);
    procedure CBo_kfmcChange(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure RxQryAfterOpen(DataSet: TDataSet);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure MI_ExcClick(Sender: TObject);
    procedure MI_txtClick(Sender: TObject);
  private
    { Private declarations }
    vlp_sl_kfdm: TStringList;
    vlp_sl_ppdm: TStringList;
    Fio_Type: TIO_TYPE;
  public
    { Public declarations }
  end;

function Execute(io_typ: TIO_TYPE; const DB: TDatabase): boolean;

var
  Frm_kccx: TFrm_kccx;

implementation
uses datas,Pub;

{$R *.DFM}

function Execute(io_typ: TIO_TYPE; const DB: TDatabase): boolean;
begin
  Result := false;
  if not Assigned(DB) then
    exit;

  Application.CreateForm(TFrm_kccx, Frm_kccx);
  with Frm_kccx do
  try
    FIO_type := io_typ;
    Caption := '邮资票品管理信息系统——库房管理';
    XttxTitle.Caption := pCaption[integer(FIO_type)] + '库存查询';
    DWMC.Caption := '使用单位:' + VG_UnitName;
    rxQry.SQL := SqlStrings1.FSqlText[FIO_type];

    CBo_kfmc.Items.Clear;
    CBo_kfmc.Items.Add('全部');
    if Assigned(vlp_sl_kfdm) then
      vlp_sl_kfdm.Destroy;
    vlp_sl_kfdm := TStringList.Create;
    vlp_sl_kfdm.Add('a.KFDM');
    CBo_kfmc.ItemIndex := 0;

    try
      rxQry.Close;
      rxQry.DatabaseName := DB.DatabaseName;
      with rxQuery1 do
      begin
        Close;
        DatabaseName := DB.DatabaseName;
        SQL.Clear;
        SQL.Add('select a.KFDM,b.KFMC from TGS_KFRYDZB a, TGS_KFB b where a.KFDM=b.KFDM and a.YGDM=''' + VG_USERID + ''' order by a.KFDM');
        Open;

        while not Eof do
        begin
          CBo_kfmc.Items.Add(FieldByName('KFMC').AsString);
          vlp_sl_kfdm.Add('''' + FieldByName('KFDM').AsString + '''');
          Next;
        end;
        CBo_kfmc.ItemIndex := 0;
        CBo_kfmcChange(nil);
      end;
    except
      CHQMsgBox('不能打开 <库存信息表>');
      exit;
    end;
    result := ShowModal = MB_OK;
  finally
    free;
  end;
end;


procedure TFrm_kccx.Act_selExecute(Sender: TObject);
begin
  if cbo_kfmc.Items.Count = 1 then
  begin
    CHQMsgBox('对不起,您没有任何库房的权限');
    exit;
  end;

  with rxQry do
  begin
    Close;
    MacroByName('KFDM').AsString := vlp_sl_kfdm[CBo_kfmc.ItemIndex];
    MacroByName('PPDM').AsString := vlp_sl_ppdm[CBo_ppmc.ItemIndex];
    ParamByName('YGDM').AsString := VG_USERID;
    clipboard.astext := sql.text;
    Open;
  end;
  DBGid_kc.Columns[1].Visible := (CBo_kfmc.ItemIndex = 0);
  DBGid_kc.Columns[3].Visible := (CBo_ppmc.ItemIndex = 0);
end;

procedure TFrm_kccx.Act_rtnExecute(Sender: TObject);
begin
  rxQuery1.Close;
  Close;
end;

procedure TFrm_kccx.CBo_kfmcChange(Sender: TObject);
begin
  CBo_ppmc.Items.Clear;
  CBo_ppmc.Items.Add('全部' + pCaption[integer(FIO_type)]);
  if Assigned(vlp_sl_ppdm) then
    vlp_sl_ppdm.Destroy;
  vlp_sl_ppdm := TStringList.Create;
  case Fio_TYPE of
    io_txp:
      vlp_sl_ppdm.Add('a.PPDM');
  else
    vlp_sl_ppdm.Add('a.PPDM');
  end;

  with rxQuery1 do
  begin
    Close;
{    SQL.Clear;
    SQL.Add('select distinct a.PPDM, b.TMC,c.mc from TKS_JYPPKC a, TB_YZPPTXXB b, TG_YZPPTZDM c ' +
            'where b.TDM=a.PPDM and b.tz=c.tzdm and a.KFDM=' + vlp_sl_kfdm[CBo_kfmc.ItemIndex]);
}
    SQL := SqlStrings2.FSqlText[FIO_type];
    MacroByName('KFDM').AsString := vlp_sl_kfdm[CBo_kfmc.ItemIndex];
    Open;
    while not Eof do
    begin
      case Fio_TYPE of
        io_txp, io_yp:
          CBo_ppmc.Items.Add(FieldByName('TMC').AsString);
      else
        CBo_ppmc.Items.Add(FieldByName('TMC').AsString + '(' + FieldByName('TZMC').AsString + ')');
      end;

      vlp_sl_ppdm.Add('''' + FieldByName('PPDM').AsString + '''');
      Next;
    end;
  end;
  CBo_ppmc.ItemIndex := 0;
end;

procedure TFrm_kccx.Edit1Change(Sender: TObject);
begin
  if not RxQry.Active then
    exit;
  if Edit1.Text <> '' then
    RxQry.Locate('ZH', Edit1.Text, [loCaseInsensitive, loPartialKey]);
end;

procedure TFrm_kccx.RxQryAfterOpen(DataSet: TDataSet);
begin
  TNumericField(DataSet.FieldByName('TS')).DisPlayFormat := '#,##';
end;

procedure TFrm_kccx.FormCreate(Sender: TObject);
begin
  GetAllColWidth(Self);
end;

procedure TFrm_kccx.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  SaveAllColWidth(Self);
end;

procedure TFrm_kccx.MI_ExcClick(Sender: TObject);
begin
  DBGE_rkd.Export_To_Excel(DBGid_kc);
end;

procedure TFrm_kccx.MI_txtClick(Sender: TObject);
begin
  DBGE_rkd.Export_To_Txt(DBGid_kc);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -