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

📄 search.pas

📁 省级集邮品管理ERP
💻 PAS
📖 第 1 页 / 共 3 页
字号:
{*******************************************************}
{                                                       }
{                 模型查询                              }
{                                                       }
{            中软金马公司版权所有。2002.12前            }
{                                                       }
{            编制:中软金马邮资票品项目开发组           }
{                                                       }
{                                                       }
{*******************************************************}
(*
省级集邮票,省级集邮品,省级零枚票,省级市场购入票,省级综合查询,省级系统管理
地市集邮票,地市集邮品,地市市场购入票

*)

unit Search;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, DBGrids, ComCtrls, ExtCtrls, ActnList, Db, DBTables, StdCtrls,
  DBCtrls, RxLookup, Buttons, RXCtrls, ImgList, MyDBImage, Spin, ToolWin,
  RXDBCtrl, FieldComboBox, Menus;

type
  TFRM_Search = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    BottomPanel: TPanel;
    ActionList1: TActionList;
    Qry_Tao: TQuery;
    Qry_Bao: TQuery;
    Qry_Ban: TQuery;
    Ds_PPLB: TDataSource;
    Qry_PPLB: TQuery;
    Ds_Tao: TDataSource;
    Ds_Bao: TDataSource;
    Ds_Ban: TDataSource;
    TopPanel: TPanel;
    Act_DBGEnter: TAction;
    Btn_Exit: TBitBtn;
    StatusBar1: TStatusBar;
    Bevel1: TBevel;
    Qry_TuJb: TQuery;
    Ds_TuJb: TDataSource;
    Qry_send: TQuery;
    Panel1: TPanel;
    Splitter1: TSplitter;
    Panel3: TPanel;
    Panel6: TPanel;
    Panel4: TPanel;
    DG_TuJb: TRxDBGrid;
    Panel8: TPanel;
    Splitter3: TSplitter;
    Panel9: TPanel;
    Panel10: TPanel;
    DG_TaoGy: TRxDBGrid;
    Splitter4: TSplitter;
    Panel12: TPanel;
    DG_BaoGy: TRxDBGrid;
    Panel14: TPanel;
    Splitter5: TSplitter;
    Panel15: TPanel;
    DG_BanGy: TRxDBGrid;
    DG_TuGy: TRxDBGrid;
    RxLabel14: TRxLabel;
    RxLabel6: TRxLabel;
    RLa_tao: TRxLabel;
    RLa_bao: TRxLabel;
    RLa_ban: TRxLabel;
    RLa_tu: TRxLabel;
    XttxTitle: TRxLabel;
    Qry_TaoTDM: TStringField;
    Qry_TaoTMC: TStringField;
    Qry_TaoTJC: TStringField;
    Qry_TaoTJCJP: TStringField;
    Qry_TaoPPLB: TStringField;
    Qry_TaoLBM: TStringField;
    Qry_TaoZH: TStringField;
    Qry_TaoND: TStringField;
    Qry_TaoXH: TStringField;
    Qry_TaoTPMS: TFloatField;
    Qry_TaoTPMZ: TFloatField;
    Qry_TaoXLMC: TStringField;
    Qry_TaoXLBH: TStringField;
    Qry_TaoZLPED: TFloatField;
    Qry_TaoSJZ: TStringField;
    Qry_TaoYZCJ: TStringField;
    Qry_TaoFXRQ: TDateTimeField;
    Qry_TaoFXJZRQ: TDateTimeField;
    Qry_TaoTFXL: TFloatField;
    Qry_TaoBZ: TStringField;
    Qry_TaoJHH: TStringField;
    Qry_TaoYZDWBJ: TStringField;
    Qry_TaoTPSJ: TFloatField;
    Qry_TaoTSJYL: TFloatField;
    Qry_TaoBZFS: TStringField;
    Qry_TaoBTGX: TStringField;
    Qry_TaoSDATE: TDateTimeField;
    Qry_BaoBZLSH: TFloatField;
    Qry_BaoTDM: TStringField;
    Qry_BaoBJC: TStringField;
    Qry_BaoEDBS: TFloatField;
    Qry_BaoMBMS: TFloatField;
    Qry_BaoZXBB: TFloatField;
    Qry_BaoZXTS: TFloatField;
    Qry_BaoBZGG: TFloatField;
    Qry_BaoDYBZBDM: TFloatField;
    Qry_BaoQXDW: TStringField;
    Qry_BaoSDATE: TDateTimeField;
    Qry_BanTDM: TStringField;
    Qry_BanBLSH: TFloatField;
    Qry_BanBJC: TStringField;
    Qry_BanBB: TStringField;
    Qry_BanGG: TStringField;
    Qry_BanWXGG: TStringField;
    Qry_BanBMZ: TFloatField;
    Qry_BanJSM: TStringField;
    Qry_BanMBMS: TFloatField;
    Qry_BanFBBJ: TStringField;
    Qry_BanSDATE: TDateTimeField;
    Qry_TuJbTUDM: TStringField;
    Qry_TuJbTDM: TStringField;
    Qry_TuJbTXH: TFloatField;
    Qry_TuJbZH: TStringField;
    Qry_TuJbTZ: TStringField;
    Qry_TuJbYZBB: TStringField;
    Qry_TuJbTMC: TStringField;
    Qry_TuJbTUJC: TStringField;
    Qry_TuJbTUJCJP: TStringField;
    Qry_TuJbGG: TStringField;
    Qry_TuJbWXGG: TStringField;
    Qry_TuJbMZ: TFloatField;
    Qry_TuJbSJ: TFloatField;
    Qry_TuJbCKDS: TStringField;
    Qry_TuJbYPGG: TStringField;
    Qry_TuJbYZCJ: TStringField;
    Qry_TuJbFXL: TFloatField;
    Qry_TuJbYZZ: TStringField;
    Qry_TuJbSYR: TStringField;
    Qry_TuJbBZ: TStringField;
    Qry_TuJbSDATE: TDateTimeField;
    Qry_TuJbFXRQ: TDateTimeField;
    Qry_TuJbLBM: TStringField;
    Qry_BaoBZBBJ: TStringField;
    Qry_TaoTZ: TStringField;
    Qry_TaoCJBSX: TFloatField;
    Qry_TaoCJBXX: TFloatField;
    ImageList1: TImageList;
    Act_img: TAction;
    Qry_Static: TQuery;
    Panel2: TPanel;
    Panel7: TPanel;
    Image1: TImage;
    ColorDialog1: TColorDialog;
    Panel5: TPanel;
    DBNavigator1: TDBNavigator;
    BitBtn3: TBitBtn;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn4: TBitBtn;
    Panel11: TPanel;
    GroupBox2: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    fcb_pplb: TFieldComboBox;
    fcb_PPDL: TFieldComboBox;
    E_ZH: TEdit;
    fcb_TZ: TFieldComboBox;
    BBt_Find: TBitBtn;
    ckb_zh: TCheckBox;
    GroupBox1: TGroupBox;
    CBo_xx: TCheckBox;
    CBo_ta: TCheckBox;
    DG_TaoJb: TRxDBGrid;
    BBt_Send: TBitBtn;
    Qry_AcceptTU: TQuery;
    Qry_AcceptTA: TQuery;
    CB_ND: TSpinEdit;
    DWMC: TLabel;

    procedure Qry_TaoAfterOpen(DataSet: TDataSet);
    procedure Qry_BaoAfterOpen(DataSet: TDataSet);
    procedure Qry_BanAfterOpen(DataSet: TDataSet);
    procedure Qry_TuJbAfterOpen(DataSet: TDataSet);

    procedure CBo_taClick(Sender: TObject);
    procedure CBo_xxClick(Sender: TObject);

    procedure Act_DBGEnterExecute(Sender: TObject);
    procedure Qry_BaoAfterScroll(DataSet: TDataSet);
    procedure Qry_BanAfterScroll(DataSet: TDataSet);
    procedure Qry_TuJbAfterScroll(DataSet: TDataSet);
    procedure DG_TaoJbTitleClick(Column: TColumn);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);

    procedure Qry_TaoTPMZGetText(Sender: TField; var Text: string;
      DisplayText: Boolean);
    procedure Qry_TaoTFXLGetText(Sender: TField; var Text: string;
      DisplayText: Boolean);
    procedure fcb_PPDLChange(Sender: TObject);
    procedure BBt_FindClick(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BBt_SendClick(Sender: TObject);
    procedure Qry_BaoEDBSGetText(Sender: TField; var Text: string;
      DisplayText: Boolean);
    procedure Qry_BaoMBMSGetText(Sender: TField; var Text: string;
      DisplayText: Boolean);
  private
    FDatabase: TDatabase;
    FCurrDBGrid: TDBGrid;

    vlp_ai_tao: array of boolean;
    vlp_ai_bao: array of boolean;
    vlp_ai_ban: array of boolean;
    vlp_ai_tu: array of boolean;
    vlpu_i_imgH: Integer;

    procedure SetColumnView(showcol: boolean);
    procedure InitNdList;
    function GetBanNum: integer;
    function GetBaoNum: integer;
    function GetTaoNum: integer;
    function GetTuNum: integer;
    procedure SetBanNum(const Value: integer);
    procedure SetBaoNum(const Value: integer);
    procedure SetTaoNum(const Value: integer);
    procedure SetTuNum(const Value: integer);
    function GetStatusString: string;
    procedure SetStatusString(const Value: string);
    procedure SetCurrDBGrid(const Value: TDBGrid);
    procedure SetImgView(blobField_ta: TBlobField);

  public

    procedure ReSearch;
    function Execute(const ADB: TDatabase): boolean;

    property CurrDBGrid: TDBGrid read FCurrDBGrid write SetCurrDBGrid;
    property TaoNum: integer read GetTaoNum write SetTaoNum;
    property BaoNum: integer read GetBaoNum write SetBaoNum;
    property BanNum: integer read GetBanNum write SetBanNum;
    property TuNum: integer read GetTuNum write SetTuNum;
    property StatusString: string read GetStatusString write SetStatusString;
    procedure WriteBlobField(DWDM: string);

  end;

var
  FRM_Search: TFRM_Search;

implementation

uses
  datas, pub, PostCommon, GF_pub, GF_img;

{$R *.DFM}

{ TForm1 }

//初始化年度列表
procedure TFRM_Search.InitNdList;
const
  ListItemNum = 20;
var
  Year, tmp: word;
begin
  DecodeDate(Now, Year, tmp, tmp);
  with CB_ND do
  begin
    {    Items.Clear;
        for i := Year - ListItemNum div 2 to Year + ListItemNum div 2 do
          Items.Add(IntToStr(i));   }
    Text := IntToStr(Year);
  end;
end;

procedure TFRM_Search.ReSearch;
var
  vl_sql: string;
begin
  with Qry_Tao do
  try
    {    if not ckb_zh.Checked then
        if (fcb_pplb.Text = '') AND (CB_ND.Text = '') AND (fcb_TZ.Text = '' ) then
        begin
          ShowMsg('查询套信息', '请输入正确的年度,票品类别及特征!', MB_ICONWARNING);
          exit;
        end; }
    StatusString := Format('年度:%s, 票品类别:%s', [CB_ND.Text, fcb_pplb.Text]);
    Close;
    Sql.Clear;
    vl_sql := 'select a.TDM, b.MC as TZ, a.PPLB, a.TMC, a.TJC, a.TJCJP, a.PPLB, a.LBM, ' +
      'a.ZH, a.ND, a.XH, a.TPMS, a.TPMZ,a.TPSJ, a.XLMC, a.XLBH, a.CJBSX, a.CJBXX, ' +
      'a.ZLPED, a.SJZ, a.YZCJ, a.FXRQ, a.FXJZRQ, a.TFXL, a.BZ, a.JHH, a.YZDWBJ, ' +
      'a.TPSJ, a.TSJYL, a.BZFS, a.BTGX, a.SDATE ' +
      'from TB_YZPPTXXB a, TG_YZPPTZDM b where a.TZ=b.TZDM ';
    if not ckb_zh.Checked then
    begin
      if (CB_ND.Text <> '') then
        vl_sql := vl_sql + ' and a.ND = ''' + CB_ND.Text + '''';
      if (fcb_pplb.Text <> '') then
        vl_sql := vl_sql + ' and a.PPLB = ''' + fcb_pplb.FieldString + ''''
      else if fcb_PPDL.Text <> '' then
      begin
        if fcb_PPDL.Text = '普通邮票' then
          vl_sql := vl_sql + ' and a.PPLB = ''101'' '
        else if fcb_PPDL.Text = '集邮邮票' then
          vl_sql := vl_sql + ' and a.PPLB <> ''101'' and a.PPLB like ''1%'' '
        else
          vl_sql := vl_sql + ' and a.PPLB <> ''101'' and a.PPLB like ''' + fcb_PPDL.FieldString + '%'' ';
      end;
      if (fcb_TZ.Text <> '') then
        vl_sql := vl_sql + ' and a.TZ = ''' + fcb_TZ.FieldString + '''';
    end
    else
      vl_sql := vl_sql + ' and upper(a.ZH) LIKE ''' + UpperCase(E_ZH.Text) + '%' + '''';

    vl_sql := vl_sql + ' order by a.TDM';
    Sql.Add(vl_sql);
    Open;
  except
    ShowMsg('查询套信息', '没找到对应的套信息!', MB_ICONWARNING);
  end;
end;

procedure TFRM_Search.Qry_TaoAfterOpen(DataSet: TDataSet);
begin
  TaoNum := GetTaoNum;
  with Qry_Bao do
  try
    Open;
  except
    ShowMsg('查询包信息', '没找到对应的包信息!', MB_ICONWARNING);
  end;

  with Qry_Ban do
  try
    Open;
  except
    ShowMsg('查询版信息', '没找到对应的版信息!', MB_ICONWARNING);
  end;

  with Qry_TuJb do
  try
    Open;
  except
    ShowMsg('查询图信息', '没找到对应的图信息!', MB_ICONWARNING);
  end;
end;

procedure TFRM_Search.Qry_BaoAfterOpen(DataSet: TDataSet);
begin
  BaoNum := GetBaoNum;

⌨️ 快捷键说明

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