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