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

📄 sy_rkdsc.pas

📁 省级集邮品管理ERP
💻 PAS
字号:
{*******************************************************}
{                                                       }
{                     入库单生成                        }
{                                                       }
{            中软金马公司版权所有。2002.12前            }
{                                                       }
{            编制:中软金马邮资票品项目开发组           }
{                                                       }
{                                                       }
{*******************************************************}
(*
省级集邮票管理,省级零枚票管理
地市集邮票管理
修改记录
1。将入库调整为常用打印纸大小——打印边界 by jhshao 2003.05.07
*)

unit SY_RKDSC;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  FORMBASE, ExtCtrls, StdCtrls, Mask, DBCtrls, Grids, DBGrids,
  ToolEdit, RXDBCtrl, Db, DBTables, ModiPanel, RXCtrls, Spin, SqlStrings;

type
  TfrmSY_RKD = class(TFFormBase)
    ModiPanel1: TModiPanel;
    Panel2: TPanel;
    DBGrid3: TDBGrid;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    DBEdit2: TDBEdit;
    DBEdit4: TDBEdit;
    StoredProc1: TStoredProc;
    Qry_RKPP: TQuery;
    DS_RKPP: TDataSource;
    Qry_RKD: TQuery;
    DS_RKD: TDataSource;
    Label6: TLabel;
    Label8: TLabel;
    ComboBox1: TComboBox;
    Panel1: TPanel;
    XttxTitle: TRxLabel;
    DWMC: TLabel;
    Label1: TLabel;
    Label7: TLabel;
    SEd_Y: TSpinEdit;
    Label9: TLabel;
    SEd_M: TSpinEdit;
    Qry_TMP: TQuery;
    Qry_tmp1: TQuery;
    USQL_JYRKD: TUpdateSQL;
    USQL_JYRKPP: TUpdateSQL;
    DBEdit1: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit5: TDBEdit;
    Qry_RKPPRKDH: TStringField;
    Qry_RKPPPPDM: TStringField;
    Qry_RKPPKFDM: TStringField;
    Qry_RKPPZH: TStringField;
    Qry_RKPPTMC: TStringField;
    Qry_RKPPSL: TFloatField;
    Qry_RKPPTPMZ: TFloatField;
    Qry_RKPPXJ: TFloatField;
    Qry_RKPPZK: TFloatField;
    Qry_RKPPJJ: TFloatField;
    Qry_RKPPJSJ: TFloatField;
    Qry_RKPPJSJE: TFloatField;
    Qry_RKPPBZ: TStringField;
    Sqls_RKD: TSqlStrings;
    Sqls_RKPP: TSqlStrings;
    USQL_TXRKD: TUpdateSQL;
    USQL_TXRKPP: TUpdateSQL;
    procedure ModiPanel1BtnClick(Index: TBtnVisible);
    procedure FormCreate(Sender: TObject);
    procedure ComboBox1Click(Sender: TObject);
    procedure SEd_YChange(Sender: TObject);
    procedure Qry_RKPPTPMZGetText(Sender: TField; var Text: string;
      DisplayText: Boolean);
  private
    { Private declarations }
    Fio_Type: TIO_TYPE;
    FDtState: TDataState;
    procedure SetState(Value: TdataState);
    function Save: Boolean;
//    function DoAPPRKD: boolean;
  public
    { Public declarations }
    queding: boolean;
    queding1: boolean;
    ckdh: string;
    kfmc: string;
    kfdm: string;
    rkxz: string;
    yjdh: string;
    lydw: string;
    BYorXY: integer; //本月入库单(0)or下月(1)
  end;

function ExeSJ_RKDSC(io_typ: TIO_TYPE; ATag: Integer): Boolean;
var
  frmSY_RKD: TfrmSY_RKD;

implementation

{$R *.DFM}

uses datas, pub, Choose_FHD, SJ_RKDDY, SJ_RichEdit;

function ExeSJ_RKDSC(io_typ: TIO_TYPE; ATag: Integer): Boolean;
  procedure SetIOType;
  begin
    with frmSY_RKD do
    begin
      Qry_RKD.SQL := Sqls_RKD.FSqlText[io_typ];
      Qry_RKPP.SQL := Sqls_RKPP.FSqlText[io_typ];
      case io_typ of
        io_jyp:
          begin
            Qry_RKD.UpdateObject := USQL_JYRKD;
            Qry_RKPP.UpdateObject := USQL_JYRKPP;
          end;
        io_txp:
          begin
            Qry_RKD.UpdateObject := USQL_TXRKD;
            Qry_RKPP.UpdateObject := USQL_TXRKPP;
          end;
      end;
//      DBGrid3.Columns[4].Visible := io_typ = io_jyp;
    end;
  end;
begin
  Application.CreateForm(TfrmSY_RKD, frmSY_RKD);
  with frmSY_RKD do
  try
    Caption := '邮资票品管理信息系统——' + pCaption[integer(io_Typ)] + '业务';
    Tag := ATag;
    if CheckRight(frmSY_RKD, [Modipanel1]) then
    begin
      FIO_type := io_typ;
      SetIOType;
      SEd_Y.OnChange := nil;
      SEd_M.OnChange := nil;
      SEd_Y.Value := VG_Year;
      SEd_M.Value := VG_Month;
      SEd_Y.OnChange := SEd_YChange;
      SEd_M.OnChange := SEd_YChange;
      SEd_YChange(nil);
      result := ShowModal = MB_OK;
    end;
  finally
    Free;
  end;
end;

procedure TfrmSY_RKD.SetState(Value: TdataState);
begin
  FDtState := Value;
  ModiPanel1.ChangeMode(FDtState = dtBrowse);
end;

function TfrmSY_RKD.Save: Boolean;
begin

end;

procedure TfrmSY_RKD.ModiPanel1BtnClick(Index: TBtnVisible);
var
  jycx: string;
begin
  inherited;
  case index of
    bnAdd:
      begin
        queding := false;
        ExeSJ_FHD(Fio_type);
        if queding then
        begin
          if SEd_M.Value = VG_Month then
          begin
            SEd_YChange(nil);
            ComboBox1.ItemIndex := ComboBox1.Items.IndexOf(yjdh);
            ComboBox1Click(nil);
          end;
        end;
      end;
    bnDelete:
      ;
    bnPrint: {print}
      begin
        if ComboBox1.text = '' then
          exit;
        Frm_RichEdit := TFrm_richedit.Create(nil);
        FrmK_JYRKDDY := TFrmK_JYRKDDY.Create(nil);
        with FrmK_JYRKDDY, Frm_RichEdit do
        try
          QRLabel1.Caption := pCaption[integer(FIo_type)] + ' 入库通知单';
          QRLabel1.Left := round((ColumnHeaderBand1.Width - QRLabel1.Width) / 2);
          QRLabel25.Caption := DBEdit5.Text;
          QRLabel8.Caption := DBEdit1.Text;
          case FIO_Type of
            io_jyp: jycx := 'select a.zh,a.tmc,''套''as dw,c.kfmc,b.xj/100 xj,b.sl,b.xj*b.sl/100 zjje,Decode(b.zk,0,b.jsj/100,b.zk) zk,b.SL*(b.xj*nvl(b.zk/100, 0)+nvl(b.jsj,0))/100 jsje from tb_yzpptxxb a ,tks_jyrkpp b,tgs_kfb c where b.kfdm= c.kfdm and a.tdm(+)=b.ppdm and b.rkdh=''' + DBEdit1.text + '''';
            io_txp: jycx := 'select a.zh,a.tmc,''枚''as dw,c.kfmc,b.xj/100 xj,b.sl,b.xj*b.sl/100 zjje,decode(b.zk,0,b.jsj/100,b.zk) zk,b.JSJ,B.SL*(nvl(B.JSJ,0)/100+B.XJ*nvl(B.ZK,0)/10000) jsje from tb_yzppxxb a ,tks_txrkpp b ,tgs_kfb c where a.tdm=b.tudm and  b.kfdm=c.kfdm and b.rkdh=''' + VarToStr(DBEdit1.text) + '''';
            io_yp: jycx := 'select a.zh,a.mc tmc,''套''as dw, c.kfmc,b.xj/100 xj,b.sl,b.xj*b.sl/100 zjje,b.zk, b.JSJ/100 JSJ, b.SL * (b.xj * nvl(b.zk, 0) / 100 + nvl(b.jsj, 0))/100 jsje from TB_JYPTXXB a ,tks_yprkpp b,tgs_kfb c where a.tdm(+)=b.ppdm and b.kfdm=c.kfdm and b.rkdh=''' + DBEdit1.text + '''';
            io_grp: jycx := 'select a.zh,a.tmc,b.dw,c.kfmc,b.xj/100 xj,b.sl,b.xj*b.sl/100 zjje,b.zk,b.SL*(b.xj*nvl(b.zk,0)/100+nvl(b.jsj,0))/100 jsje, b.BZ from tb_yzppxxb a ,tks_grprkpp b,tgs_kfb c where a.tdm(+)=b.ppdm and b.kfdm=c.kfdm and b.rkdh=''' + DBEdit1.text + '''';
          end;

          Qry_ckdayin.close;
          Qry_ckdayin.sql.clear;
          Qry_ckdayin.sql.add(jycx);
          Qry_ckdayin.open;
          QRLabel11.Caption := FormatDateTime('yyyy"年"mm"月"d"日" ', StrToDateTime(dbedit2.Text));
          sumzj := 0;
          sumjsj := 0;

          DetailLines := 0;

          if CHQMsgBox('是否采用套打?', 2) = IDYES then
            Tao_Print_Flag := True
          else
            Tao_Print_Flag := False;

{将入库调整为常用打印纸大小——打印边界 by jhshao 2003.05.07}
          Page.LeftMargin := 28;
          Page.TopMargin := 19;
          Page.RightMargin := 28;
          Page.Length := 139.7;
          Page.Width := 241.3;
          Page.BottomMargin := 11;

          Prepare;
          try
            QRLabel29.Caption := IntToStr(QRPrinter.PageCount);
          finally
            QRPrinter.Free;
          end;
          QRPrinter := nil;
          preview;
        finally
          FrmK_JYRKDDY.Free;
          Frm_RichEdit.Free;
          FrmK_JYRKDDY := nil;
          Frm_RichEdit := nil;
        end;
      end;
    bnClose:
      Close;
  end;
end;

procedure TfrmSY_RKD.FormCreate(Sender: TObject);
begin
  inherited;
  DWMC.Caption := '使用单位:' + VG_UnitName;
  SetState(dtBrowse);
end;

procedure TfrmSY_RKD.ComboBox1Click(Sender: TObject);
var
  rkdh: string;
begin
  inherited;
  Qry_rkd.Close;
  Qry_rkd.Params[0].AsString := combobox1.Text;
  Qry_rkd.Open;
  Qry_rkpp.Close;
  Qry_rkpp.Params[0].AsString := Qry_RKD.fieldbyname('RKDH').asstring;
  Qry_rkpp.Open;
end;

procedure TfrmSY_RKD.SEd_YChange(Sender: TObject);
var
  yjdh: string;
  function Get2Mon(const AMon: string): string;
  begin
    result := AMon;
    if Length(result) = 1 then
      result := '0' + result;
  end;
begin
  inherited;
  case Fio_type of
    io_jyp:
      yjdh := 'select distinct yjdh from tks_jyrkd where to_char(KDRQ,''YYYYMM'')=''' + SEd_Y.Text + Get2Mon(SEd_M.Text) + '''';
    io_txp:
      yjdh := 'select distinct yjdh from tks_txrkd where to_char(KDRQ,''YYYYMM'')=''' + SEd_Y.Text + Get2Mon(SEd_M.Text) + '''';
  end;
  InitList(combobox1.items, yjdh);
  combobox1.ItemIndex := 0;
  ComboBox1Click(self);
end;

procedure TfrmSY_RKD.Qry_RKPPTPMZGetText(Sender: TField; var Text: string;
  DisplayText: Boolean);
begin
  inherited;
  CurrGetText(Sender, Text, DisplayText);
end;

end.

⌨️ 快捷键说明

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