📄 sy_rkdsc.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 + -