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

📄 jm_tjfh.pas

📁 省级集邮品管理ERP
💻 PAS
字号:
{*******************************************************}
{                                                       }
{                     退缴复核                          }
{                                                       }
{            中软金马公司版权所有。2002.12前            }
{                                                       }
{            编制:中软金马邮资票品项目开发组           }
{                                                       }
{                                                       }
{*******************************************************}
(*
本模块在地市集邮票管理,地市集邮品管理,地市市场购入票里面调用。

*)
unit JM_TJFH;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Grids, DBGrids, ExtCtrls, ComCtrls, RXSpin, Mask, ToolEdit,
  RXCtrls, Db, DBTables, DBCtrls, JM_data, RXDBCtrl, SqlStrings;

type
  Pkfxx = ^Tkfxx;
  Tkfxx = record
    kfdm: string;
    kfmc: string;
  end;
  Tfrm_tjfh = class(TForm)
    Panel2: TPanel;
    XttxTitle: TRxLabel;
    Label11: TLabel;
    Panel1: TPanel;
    DataSource1: TDataSource;
    Qry_tpd: TQuery;
    UpdateSQL1: TUpdateSQL;
    Qry_tpdFPDH: TStringField;
    Qry_tpdYGDM: TStringField;
    Qry_tpdCKXZ: TStringField;
    Qry_tpdQXDW: TStringField;
    Qry_tpdKDRQ: TDateTimeField;
    Qry_tpdGHRQ: TDateTimeField;
    Panel4: TPanel;
    btnSave: TButton;
    btnPrint: TButton;
    btnExit: TButton;
    Panel5: TPanel;
    DataSource2: TDataSource;
    Qry_tjpp: TQuery;
    Query1: TQuery;
    Qry_tpdYGMC: TStringField;
    Panel6: TPanel;
    DBGrid1: TDBGrid;
    Panel7: TPanel;
    DBGrid2: TDBGrid;
    DBEdit1: TDBEdit;
    DBDateEdit1: TDBDateEdit;
    DBDateEdit2: TDBDateEdit;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    DateEdit1: TDateEdit;
    Panel3: TPanel;
    CheckBox1: TCheckBox;
    Panel8: TPanel;
    Rgp_ppfl: TRadioGroup;
    Label1: TLabel;
    Cmb_kfdm: TComboBox;
    Qry_kfdm: TQuery;
    UpdateSQL2: TUpdateSQL;
    Qry_tjppFPDH: TStringField;
    Qry_tjppKFDM: TStringField;
    Qry_tjppPPDM: TStringField;
    Qry_tjppJJ: TFloatField;
    Qry_tjppLB: TStringField;
    Qry_tjppZH: TStringField;
    Qry_tjppPPMC: TStringField;
    Qry_tjppSJ: TFloatField;
    Qry_tjppSL: TFloatField;
    Qry_tjppBZ: TStringField;
    Qry_pplb: TQuery;
    Qry_tjppLBMC: TStringField;
    procedure CheckBox1Click(Sender: TObject);
    procedure btnSaveClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Qry_tpdAfterOpen(DataSet: TDataSet);
    procedure Qry_tjppSJGetText(Sender: TField; var Text: string;
      DisplayText: Boolean);
    procedure Qry_tjppSJSetText(Sender: TField; const Text: string);
    procedure btnPrintClick(Sender: TObject);
    procedure Rgp_ppflClick(Sender: TObject);
    procedure Qry_tjppBeforeInsert(DataSet: TDataSet);
    procedure Qry_tjppJJGetText(Sender: TField; var Text: string;
      DisplayText: Boolean);
    procedure Qry_tjppJJSetText(Sender: TField; const Text: string);
    procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
  private
    L_type: TIO_Type;
    LB_type: string;
  public
    function Execute(const DB: TDataBase): Boolean;
    procedure StateChange;
  end;

var
  frm_tjfh: Tfrm_tjfh;
function Show_MS_YYYTJFH(FType: TIO_TYPE): Boolean; //(后)营业员退缴复核

implementation

uses pub,JM_RPT_QTTJ;

{$R *.DFM}

{ Tfrm_qtrk }

function Show_MS_YYYTJFH(FType: TIO_TYPE): Boolean; //(后)营业员退缴复核
begin
  frm_tjfh := Tfrm_tjfh.Create(Application);
  with frm_tjfh do
  try
    Caption := Application.Title;
    L_type := FType;
    case L_type of
      IO_JYP:
        begin
          Rgp_ppfl.ItemIndex := 0;
          LB_type := '0';
        end;
      IO_YP:
        begin
          Rgp_ppfl.ItemIndex := 1;
          LB_type := '1';
        end;
      IO_GRP:
        begin
          Rgp_ppfl.ItemIndex := 2;
          LB_type := '2';
        end;
    end;
    CheckBox1click(nil);
    ShowModal;
  finally
    Destroy;
  end;
end;

function Tfrm_tjfh.Execute(const DB: TDataBase): Boolean;
begin
  Result := false;
  if not Assigned(DB) then
    exit;
  try
    Qry_tpd.Close;
    Qry_tpd.DatabaseName := DB.DatabaseName;
    Qry_tpd.Open;
    Result := true;
  except
    CHQMsgBox('不能打开 <集邮门市信息> 表!');
    exit;
  end;
  Result := True;
end;


procedure Tfrm_tjfh.CheckBox1Click(Sender: TObject);
begin
  StateChange;
end;

procedure Tfrm_tjfh.btnSaveClick(Sender: TObject);
var
  TJDH: string;
begin
  if Qry_tpd.IsEmpty then
  begin
    CHQMsgBox('没有缴款单可复核!');
    Exit;
  end;

  if not CheckBox1.Checked then
  begin
    CHQMsgBox('该缴款单已经复核!');
    Exit;
  end;

  with Qry_tjpp do
    while not eof do
    begin
      Edit;
      FieldByName('kfdm').AsString := Pkfxx(Cmb_kfdm.Items.Objects[Cmb_kfdm.Items.IndexOf(Cmb_kfdm.Text)])^.kfdm;
      Post;
      Next;
    end;

  TJDH := Qry_tpd.FieldByName('FPDH').AsString;
  Qry_tpd.Edit;
  Qry_tpd.FieldByName('GHRQ').AsDateTime := StrToDateTime(VarToStr(VG_year) + '-' + VarToStr(VG_month) + '-' + VarToStr(VG_day));

  Qry_tpd.Database.StartTransaction;
  try
    Qry_tpd.ApplyUpdates;
    Qry_tjpp.ApplyUpdates;
    Qry_tpd.Database.Commit;
  except
    Qry_tpd.Database.Rollback;
    Qry_tpd.CommitUpdates;
    Qry_tjpp.CommitUpdates;
  end;
  if DOJZ(2, TJDH) then
    CHQMsgBox('复核成功!');
  CheckBox1Click(nil);
end;

procedure Tfrm_tjfh.FormCreate(Sender: TObject);
begin
  DateEdit1.DateTime := StrToDateTime(VarToStr(VG_year) + '-' + VarToStr(VG_month) + '-' + VarToStr(VG_day));
  Label11.Caption := ' 操作员:' + VG_UserNAME;
end;

procedure Tfrm_tjfh.Qry_tpdAfterOpen(DataSet: TDataSet);
var
  i: Integer;
begin
  with Qry_tjpp do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT FPDH, KFDM, PPDM, JJ, lb, ZH, PPMC, SJ, SL, BZ FROM TM_QTTJPPMX WHERE FPDH=''' + Qry_tpd.FieldByName('FPDH').AsString + '''');
    Open;
  end;
  if Cmb_kfdm.Items.Count > 0 then
    for i := 0 to Cmb_kfdm.Items.Count - 1 do
    begin
      if Qry_tjpp.FieldByName('kfdm').AsString = Pkfxx(Cmb_kfdm.Items.Objects[i])^.kfdm then
      begin
        Cmb_kfdm.ItemIndex := i;
        Exit;
      end;
    end;
end;

procedure Tfrm_tjfh.Qry_tjppSJGetText(Sender: TField; var Text: string;
  DisplayText: Boolean);
begin
  CurrGetText(Sender, Text, DisplayText)
end;

procedure Tfrm_tjfh.Qry_tjppSJSetText(Sender: TField; const Text: string);
begin
  CurrSetText(Sender, Text);
end;

procedure Tfrm_tjfh.btnPrintClick(Sender: TObject);
begin
{   if Qry_tpd.IsEmpty  then begin
     CHQMsgBox('没有退缴信息可打印!');
     exit;
   end;
   if not assigned(Frm_rptqttj) then
   Frm_rptqttj:=TFrm_rptqttj.Create(nil);
   with  frm_rptqttj do
   try
   begin
     Query1.Close;
     Query1.SQL.Clear;
     Query1.SQL.Add('select * from tm_qttjd where fpdh= '''+Qry_tpd.FieldByName('fpdh').AsString+'''');
     Query1.Open;
     Preview;
   end;
   finally
     Free;
     Frm_rptqttj:=nil;
   end;  }



  if Qry_tpd.IsEmpty then
  begin
    CHQMsgBox('没有退缴信息可打印!');
    exit;
  end;
  Frm_rptqttj := TFrm_rptqttj.Create(nil);
  with frm_rptqttj do
  try
    Qry_qttjd.Close;
    Qry_qttjd.SQL.Clear;
    Qry_qttjd.SQL.Add('select * from tm_qttjd where fpdh= ''' + Qry_tpd.FieldByName('fpdh').AsString + '''');
    Qry_qttjd.Open;
          {设置表头信息}
    qrl_tjdw.Caption := VG_USERNAME;
    qrl_kdrq.Caption := DBDateEdit1.EditText;
    qrl_dh.Caption := Qry_tpd.FieldByName('fpdh').AsString;

    Prepare;
    qrl_page.Caption := '共 ' + IntToStr(QRPrinter.PageCount) + ' 页';
          {由于PREPARE方法的影响,必须再次的初始化下列的变量}
    Qry_qttjpp.first;
    line_count := 0;
          {设置是否套打标记}
    if MessageBox(self.handle, '是否采用套打?', '询问', MB_YESNO + MB_ICONQUESTION) = IDYES then
      taoda_flag := True
    else
      taoda_flag := false;

    Preview;
  finally
    Free;
    frm_rptqttj := nil;
  end;

end;

procedure Tfrm_tjfh.Rgp_ppflClick(Sender: TObject);
begin
  case Rgp_ppfl.ItemIndex of
    0:
      begin
        L_type := io_jyp;
        lb_type := '0';
      end;
    1:
      begin
        L_type := io_YP;
        lb_type := '1';
      end;
    2:
      begin
        L_type := io_grp;
        lb_type := '2';
      end;
  end;
  StateChange;
end;

procedure Tfrm_tjfh.StateChange;
var
  strsql: string;
  iffchecked: string;
  fkfxx: Pkfxx;
begin
  Cmb_kfdm.Items.Clear;
  with Qry_kfdm do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select a.kfdm,a.kfmc from tgs_kfb a,tgs_kfrydzb b where b.kfdm=a.kfdm and b.ygdm=''' + VG_USERID + '''');
    Open;
    First;
    while not eof do
    begin
      new(fkfxx);
      fkfxx^.kfdm := FieldByName('kfdm').AsString;
      fkfxx^.kfmc := FieldByName('kfmc').AsString;
      Cmb_kfdm.Items.AddObject(FieldByName('kfmc').AsString, TObject(fkfxx));
      next;
    end;
  end;
  if Cmb_kfdm.Items.Count > 0 then
  begin
    Cmb_kfdm.ItemIndex := 0;
    if CheckBox1.Checked then
      iffchecked := ' and ghrq is  null '
    else
      iffchecked := ' ';
    with Qry_tpd do
    begin
      Close;
      SQL.Clear;
      strsql := 'select FPDH, YGDM, CKXZ, QXDW, KDRQ, GHRQ from tm_QTTJD where fpdh in ';
      strsql := strsql + '(select distinct fpdh from tm_QTTJPPMX where lb=''' + lb_type + ''')' + iffchecked + ' order by fpdh desc';
      SQL.Add(strsql);
      Open;
    end;
  end;
end;

procedure Tfrm_tjfh.Qry_tjppBeforeInsert(DataSet: TDataSet);
begin
  Abort;
end;

procedure Tfrm_tjfh.Qry_tjppJJGetText(Sender: TField; var Text: string;
  DisplayText: Boolean);
begin
  CurrGetText(Sender, Text, DisplayText);
end;

procedure Tfrm_tjfh.Qry_tjppJJSetText(Sender: TField; const Text: string);
begin
  CurrSetText(Sender, Text);
end;

procedure Tfrm_tjfh.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  if Qry_tpd.FieldByName('GHRQ').AsString = '' then
    DBGrid1.Canvas.Font.Color := clblue
  else
    DBGrid1.Canvas.Font.Color := clred;
  if gdSelected in State then
  begin
    DBGrid1.Canvas.Brush.Color := clNavy;
    DBGrid1.Canvas.Font.Color := clWhite;
  end;
  DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;

end.

⌨️ 快捷键说明

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