📄 gf_pfxjh.pas
字号:
vl_s_insql := vl_s_insql + ',' + vl_s_edinsql
else
vl_s_insql := vl_s_edinsql;
for i:= 0 to vl_sl_jsdw.Count-1 do
begin
Close;
SQL.Clear;//tao_caco
SQL.Add('INSERT INTO TF_PFXJHTAO_CACO ' +
'(JHH,BBH,QXBZ,ND,XH,PPLB,TZDM,TMC,TJC,QTMS,QTMZ,TPSJ,FXRQ,FXL,PZR,ZBR,ZBRQ,BZ,COMM_DEPT,XGZT) ' +
'SELECT JHH,BBH,''H'',ND,XH,PPLB,TZDM,TMC,TJC,QTMS,QTMZ,TPSJ,FXRQ,' +
vl_s_fxl + ',PZR,ZBR,ZBRQ,BZ,''' + vl_sl_jsdw.Strings[i] +
''',XGZT FROM TF_PFXJHTAO WHERE JHH IN (' + vl_s_insql + ')');
ExecSQL;
Close;
SQL.Clear;//tu_caco
SQL.Add('INSERT INTO TF_PFXJHTU_CACO ' +
'(JHH,BBH,TZDM,TX,TBBH,QXBZ,PPLB,TUMC,TUJC,MZ,SJ,GG,WXGG,FXL,FXRQ,BZ,COMM_DEPT,XGZT) ' +
'SELECT JHH,BBH,TZDM,TX,TBBH,QXBZ,PPLB,TUMC,TUJC,MZ,SJ,GG,WXGG,' +
vl_s_fxl + ',FXRQ,BZ,''' + vl_sl_jsdw.Strings[i] +
''',XGZT FROM TF_PFXJHTU WHERE JHH IN (' + vl_s_insql + ')');
ExecSQL;
end;
Close;
SQL.Clear;//taols
SQL.Add('INSERT INTO TF_PFXJHTAOLS ' +
'(JHH,BBH,QXBZ,ND,XH,PPLB,TZDM,TMC,TJC,QTMS,QTMZ,TPSJ,FXRQ,FXL,PZR,ZBR,ZBRQ,BZ,XGZT,SDATEFX,SDATEFXL) ' +
'Select JHH,BBH,''H'',ND,XH,PPLB,TZDM,TMC,TJC,QTMS,QTMZ,TPSJ,FXRQ,' +
vl_s_fxl + ',PZR,ZBR,ZBRQ,BZ,XGZT,');
if vlp_b_isfxl then
SQL.Add('SDATEFX, sysdate')
else
SQL.Add('sysdate, SDATEFXL');//SDATEFX ' +
SQL.Add('from tf_pfxjhtao WHERE JHH IN (' + vl_s_insql + ')');
ExecSQL;
Close;
SQL.Clear;//tuls
SQL.Add('INSERT INTO TF_PFXJHTULS(JHH,BBH,TZDM,TX,TBBH,QXBZ,PPLB,TUMC,TUJC,MZ,SJ,GG,WXGG,FXL,FXRQ,BZ,XGZT) ' +
'select JHH,BBH,TZDM,TX,TBBH,QXBZ,PPLB,TUMC,TUJC,MZ,SJ,GG,WXGG,' +
vl_s_fxl + ',FXRQ,BZ,XGZT from tf_pfxjhtu WHERE JHH IN (' + vl_s_insql + ')');
ExecSQL;
Close;
SQL.Clear;//***清除已删除的图信息
SQL.Add('delete from tf_pfxjhtu where jhh in (' + vl_s_insql + ') and xgzt=''3''');
ExecSQL;
Close;
SQL.Clear;//********** set tao.bbh、tao.sdatefx/fxl、tao.xgzt
SQL.Add('update tf_pfxjhtao set bbh=bbh+1, ');
if vlp_b_isfxl then
SQL.Add('sdatefxl')
else
SQL.Add('sdatefx');
SQL.Add(' = (select sysdate from dual), xgzt = ''0'', qxbz=''H'' where JHH in(' + vl_s_insql + ')');
ExecSQL;
Close;
SQL.Clear;//*********** set tu.bbh,tu.xgzt
SQL.Add('update tf_pfxjhtu set bbh=bbh+1, xgzt = ''0'' ' +
'where JHH in(' + vl_s_insql + ')');
ExecSQL;
end;
data.DM.Commit;
CHQMsgBox('邮票发行计划发送成功!');
except
data.DM.RollBack;
raise exception.Create('发送失败:数据访问错误!');
end;
vl_sl_jsdw.Destroy;
DBGid_tao.DataSource.DataSet.Close;
DBGid_tao.DataSource.DataSet.Open;
DBGid_tao.DataSource.DataSet.Locate('JHH', vlp_stao_jhh, [loPartialKey]);
end;
procedure TFrmf_pfxjh.Act_fs_anyExecute(Sender: TObject);
var
i: integer;
vl_b_ed: boolean;
vl_s_fxl: string;
vl_s_jhh: string;
vl_s_jsdw: string;//接收单位
vl_sl_jsdw: TStringList;//接收单位List
begin
if (DBGid_tao.DataSource.DataSet.IsEmpty) then
begin
CHQMsgBox('当前没有可发送的记录!');
exit;
end;
if DBGid_tao.SelectedRows.Count = 0 then
begin
DBGid_tao.SelectedRows.CurrentRowSelected := true;
end;
vl_b_ed := false;
//set insql、edinsql str
for i:=0 to DBGid_tao.SelectedRows.Count -1 do
begin
DBGid_tao.DataSource.DataSet.GotoBookmark(pointer(DBGid_tao.SelectedRows.Items[i]));
vl_s_jhh := vl_s_jhh + '''' + DBGid_tao.DataSource.DataSet.FieldByName('JHH').AsString + ''', '
end;
vl_s_jhh := copy(vl_s_jhh, 1, length(vl_s_jhh) -2);
//******************************************************************************
if not vl_b_ed then
if CHQMsgBox('确实要发送这些邮票的发行计划吗?', 2)=IDNo then
exit;
vl_sl_jsdw:= TStringList.Create;
vlp_stao_jhh := DBGid_tao.DataSource.DataSet.fieldbyname('JHH').AsString;
with query1 do
begin
Close;
SQL.Clear;
SQL.Add('select jsdwdm from tg_xttxfsgnb where csdm=''sf_pfxjh''');
Open;
vl_s_jsdw := trim(Fields[0].AsString);
vl_sl_jsdw.Clear;
//**************************设置接收单位列表************************************
while pos(',', vl_s_jsdw) >0 do
begin
vl_sl_jsdw.Add(copy(vl_s_jsdw, 1, pos(',', vl_s_jsdw) -1));
vl_s_jsdw := copy(vl_s_jsdw, pos(',', vl_s_jsdw)+1, length(vl_s_jsdw));
end;
vl_sl_jsdw.Add(vl_s_jsdw);
if (length(vl_s_jsdw) = 0) then//((length(vl_s_bdjsdw) = 0) and )
begin
CHQMsgBox('请确定接收单位设置无误再发送!');
exit;
end;
end;
if (vlp_b_isfxl) then
vl_s_fxl := 'FXL'
else
vl_s_fxl := '0';
data.dm.StartTransaction;
with data.Qry_send do
try
//*********
for i:= 0 to vl_sl_jsdw.Count-1 do
begin
Close;
SQL.Clear;//tao_caco
SQL.Add('INSERT INTO TF_PFXJHTAO_CACO ' +
'(JHH,BBH,QXBZ,ND,XH,PPLB,TZDM,TMC,TJC,QTMS,QTMZ,TPSJ,FXRQ,FXL,PZR,ZBR,ZBRQ,BZ,COMM_DEPT,XGZT) ' +
'SELECT JHH,BBH,QXBZ,ND,XH,PPLB,TZDM,TMC,TJC,QTMS,QTMZ,TPSJ,FXRQ,' +
vl_s_fxl +',PZR,ZBR,ZBRQ,BZ,''' + vl_sl_jsdw.Strings[i] +
''',XGZT FROM TF_PFXJHTAO WHERE JHH IN (' + vl_s_jhh + ')');
ExecSQL;
Close;
SQL.Clear;//tu_caco
SQL.Add('INSERT INTO TF_PFXJHTU_CACO ' +
'(JHH,BBH,TZDM,TX,TBBH,QXBZ,PPLB,TUMC,TUJC,MZ,SJ,GG,WXGG,FXL,FXRQ,BZ,COMM_DEPT,XGZT) ' +
'SELECT JHH,BBH,TZDM,TX,TBBH,QXBZ,PPLB,TUMC,TUJC,MZ,SJ,GG,WXGG,' +
vl_s_fxl +',FXRQ,BZ,''' + vl_sl_jsdw.Strings[i] +
''',XGZT FROM TF_PFXJHTU WHERE JHH IN (' + vl_s_jhh + ')');
ExecSQL;
end;
data.dm.Commit;
CHQMsgBox('邮票发行计划发送成功!');
except
data.dm.RollBack;
raise exception.Create('发送失败:数据访问错误!');
end;
vl_sl_jsdw.Destroy;
DBGid_tao.DataSource.DataSet.Close;
DBGid_tao.DataSource.DataSet.Open;
DBGid_tao.DataSource.DataSet.Locate('JHH', vlp_stao_jhh, [loPartialKey]);
end;
procedure TFrmf_pfxjh.Act_fxl_allExecute(Sender: TObject);
begin
vlp_b_isfxl := true;
Act_fs_allExecute(nil);
end;
procedure TFrmf_pfxjh.Act_fxl_anyExecute(Sender: TObject);
begin
vlp_b_isfxl := true;
Act_fs_anyExecute(nil);
end;
procedure TFrmf_pfxjh.Act_fx_allExecute(Sender: TObject);
begin
vlp_b_isfxl := false;
Act_fs_allExecute(nil);
end;
procedure TFrmf_pfxjh.Act_fx_anyExecute(Sender: TObject);
begin
vlp_b_isfxl := false;
Act_fs_anyExecute(nil);
end;
procedure TFrmf_pfxjh.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
CanClose := CheckChanged;
end;
procedure TFrmf_pfxjh.SpinEdit1Change(Sender: TObject);
begin
Qry_pfxjhtu.Close ;
with Qry_pfxjhtao do
begin
Close;
SQL.Text :=' SELECT d.zh,a.JHH,a.BBH,a.QXBZ,a.ND,a.XH,a.PPLB,a.TZDM,a.TMC,a.QTMS,a.QTMZ,a.TPSJ,a.FXRQ,a.FXL,a.PZR,a.ZBR,a.ZBRQ,a.BZ,'
+' a.SDATEFX,a.SDATEFXL,a.XGZT,DECODE(a.XGZT,''0'',''未改动'',''1'',''修改'',''2'',''新增'',''3'',''删除'') as zt,b.MC AS PPLBMC, c.MC AS TZDMMC'
+' FROM TF_PFXJHTAO a, TG_YZPPLDMB b, TG_YZPPTZDM c, TB_YZPPTXXB d'
+' WHERE (a.JHH=d.JHH(+)) and (a.PPLB=b.YZLDM) AND (a.TZDM=c.TZDM(+)) AND (a.XGZT<>''3'')';
if SpinEdit1.Text<>'' then
SQL.Text :=SQL.Text +' and (a.ND='''+SpinEdit1.Text+''')';
SQL.Text :=SQL.Text +' order by to_number(a.nd),to_number(a.xh)';
Open;
end;
{ with Qry_pfxjhtao do
begin
Close;
ParamByName('ND').AsString := SpinEdit1.Text;
Open;
end;}
end;
procedure TFrmf_pfxjh.Qry_pfxjhtuFXLGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
if Sender.IsNull then
exit;
Text := floattostr(Sender.AsFloat/10000);
end;
procedure TFrmf_pfxjh.Qry_pfxjhtuFXLSetText(Sender: TField;
const Text: String);
begin
Sender.AsString := floattostr(strtofloat(Text) * 10000);
end;
procedure TFrmf_pfxjh.Qry_pfxjhtaoQTMZGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
if Sender.IsNull then
exit;
if Sender.AsFloat>=100 then
Text := floattostr(Sender.AsFloat/100)
else
Text := Sender.AsString;
if (VLp_status = 1) or (VLp_status = 3) then
if Sender.AsFloat>=100 then
CBo_mzdwtao.ItemIndex := 1
else
CBo_mzdwtao.ItemIndex := 0;
end;
procedure TFrmf_pfxjh.Qry_pfxjhtaoQTMZSetText(Sender: TField;
const Text: String);
begin
case CBo_mzdwtao.ItemIndex of
0://分
begin
Sender.AsString := Text;
end;
1:
begin
Sender.AsString := floattostr(strtofloat(Text) * 100);
end;
end;
end;
procedure TFrmf_pfxjh.Qry_pfxjhtaoTPSJGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
if Sender.IsNull then
exit;
Text := floattostr(Sender.AsFloat/100);
end;
procedure TFrmf_pfxjh.Qry_pfxjhtaoTPSJSetText(Sender: TField;
const Text: String);
begin
Sender.AsString := floattostr(strtofloat(Text) * 100);
end;
procedure TFrmf_pfxjh.Qry_pfxjhtuMZGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
if Sender.IsNull then
exit;
if Sender.AsFloat>=100 then
Text := floattostr(Sender.AsFloat/100)
else
Text := Sender.AsString;
if (VLp_status = 1) or (VLp_status = 3) then
if Sender.AsFloat>=100 then
CBo_mzdwtu.ItemIndex := 1
else
CBo_mzdwtu.ItemIndex := 0;
end;
procedure TFrmf_pfxjh.Qry_pfxjhtuMZSetText(Sender: TField;
const Text: String);
begin
case CBo_mzdwtu.ItemIndex of
0://分
begin
Sender.AsString := Text;
end;
1:
begin
Sender.AsString := floattostr(strtofloat(Text) * 100);
end;
end;
end;
procedure TFrmf_pfxjh.Qry_pfxjhtuSJGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
if Sender.IsNull then
exit;
Text := floattostr(Sender.AsFloat/100);
end;
procedure TFrmf_pfxjh.Qry_pfxjhtuSJSetText(Sender: TField;
const Text: String);
begin
Sender.AsString := floattostr(strtofloat(Text) * 100);
end;
procedure TFrmf_pfxjh.Qry_pfxjhtaoAfterScroll(DataSet: TDataSet);
begin
try
if DBGid_tao.DataSource.DataSet.FieldByName('QTMZ').AsFloat>=100 then
CBo_mzdwtao.ItemIndex := 1
else
CBo_mzdwtao.ItemIndex := 0;
finally
end;
with Qry_pfxjhtu do
begin
Close;
ParamByName('JHH').AsString := Qry_pfxjhtao.FieldByName('JHH').AsString;
Open;
end;
end;
procedure TFrmf_pfxjh.Qry_pfxjhtuAfterScroll(DataSet: TDataSet);
begin
if DBGid_tu.DataSource.DataSet.fieldByName('MZ').AsFloat>=100 then
CBo_mzdwtu.ItemIndex := 1
else
CBo_mzdwtu.ItemIndex := 0;
if not CBo_ta.Checked then Exit;
if (Length(DBGid_tu.DataSource.DataSet.FieldByName('ZH').AsString) = 0) then
begin
Frmf_img.Image1.Picture.Assign(nil);
Frmf_img.ScrollBox1.Width := 20;
Frmf_img.ScrollBox1.Height := 20;
Frmf_img.ClientWidth := Frmf_img.ScrollBox1.Width;
Frmf_img.ClientHeight := Frmf_img.ScrollBox1.Height;
exit;
end;
Frmf_img.Caption := Qry_pfxjhtu.FieldByName('TUMC').AsString+'('+Qry_pfxjhtu.FieldByName('ZH').AsString+')';
with query1 do
begin
Close;
SQL.CLear;
SQL.Add('select TA from TB_YZPPTAXXB where not TA is null and TUDM = '''+Qry_pfxjhtu.FieldByName('TUDM').AsString + '''');
Open;
SetImgView(TBlobField(Fields[0]));
end;
end;
procedure TFrmf_pfxjh.DBGid_taoTitleClick(Column: TColumn);
begin
// DBGridTitleOrder(Column, [4]);
end;
procedure TFrmf_pfxjh.FormClose(Sender: TObject; var Action: TCloseAction);
begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -