?? gf_ffxjh.pas
字號:
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_ffxjhtu 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_ffxjh.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_ffxjh''');
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_FFXJHTAO_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_FFXJHTAO WHERE JHH IN (' + vl_s_jhh + ')');
ExecSQL;
Close;
SQL.Clear;//tu_caco
SQL.Add('INSERT INTO TF_FFXJHTU_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_FFXJHTU 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_ffxjh.Act_fxl_allExecute(Sender: TObject);
begin
vlp_b_isfxl := true;
Act_fs_allExecute(nil);
end;
procedure TFrmf_ffxjh.Act_fxl_anyExecute(Sender: TObject);
begin
vlp_b_isfxl := true;
Act_fs_anyExecute(nil);
end;
procedure TFrmf_ffxjh.Act_fx_allExecute(Sender: TObject);
begin
vlp_b_isfxl := false;
Act_fs_allExecute(nil);
end;
procedure TFrmf_ffxjh.Act_fx_anyExecute(Sender: TObject);
begin
// vlp_b_isfxl := false;
if DBGid_tao.DataSource.DataSet.RecordCount = 0 then
begin
CHQMsgBox('當前沒有可發送的記錄!');
exit;
end;
vlp_b_isfxl := false;
Act_fs_anyExecute(nil);
end;
procedure TFrmf_ffxjh.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
CanClose := CheckChanged;
end;
procedure TFrmf_ffxjh.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_FFXJHTAO 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;
end;
procedure TFrmf_ffxjh.Qry_pfxjhtuFXLGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
if Sender.IsNull then
exit;
Text := floattostr(Sender.AsFloat/10000);
end;
procedure TFrmf_ffxjh.Qry_pfxjhtuFXLSetText(Sender: TField;
const Text: String);
begin
Sender.AsString := floattostr(strtofloat(Text) * 10000);
end;
procedure TFrmf_ffxjh.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_ffxjh.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_ffxjh.Qry_pfxjhtaoTPSJGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
if Sender.IsNull then
exit;
Text := floattostr(Sender.AsFloat/100);
end;
procedure TFrmf_ffxjh.Qry_pfxjhtaoTPSJSetText(Sender: TField;
const Text: String);
begin
Sender.AsString := floattostr(strtofloat(Text) * 100);
end;
procedure TFrmf_ffxjh.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_ffxjh.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_ffxjh.Qry_pfxjhtuSJGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
if Sender.IsNull then
exit;
Text := floattostr(Sender.AsFloat/100);
end;
procedure TFrmf_ffxjh.Qry_pfxjhtuSJSetText(Sender: TField;
const Text: String);
begin
Sender.AsString := floattostr(strtofloat(Text) * 100);
end;
procedure TFrmf_ffxjh.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_ffxjh.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;
if not Eof then
SetImgView(TBlobField(Fields[0]));
end;
end;
procedure TFrmf_ffxjh.DBGid_taoTitleClick(Column: TColumn);
begin
// DBGridTitleOrder(Column, [4]);
end;
procedure TFrmf_ffxjh.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if Frmf_img <> nil then
Frmf_img.Close;
SaveAllColWidth(Self);
end;
procedure TFrmf_ffxjh.CBo_taClick(Sender: TObject);
begin
if not CBo_ta.Checked then
Frmf_img.Visible := False;
if CBo_ta.Checked then
begin
// Frmf_img.Visible := True;
// DBGid_tu.Columns[4].Visible := True;
with Qry_pfxjhtu do
begin
Close;
SQL.Text := ' select d.TUDM,d.ZH,a.JHH,a.BBH,a.TZDM,a.TX,a.TBBH,a.QXBZ,a.PPLB,a.TUMC,'
+' a.MZ,a.SJ,a.GG,a.WXGG,a.FXL,a.FXRQ,a.XGZT,a.BZ,a.YZBB,'
+' DECODE(a.XGZT,''0'',''未改動'',''1'',''修改'',''2'',''新增'',''3'',''刪除'') as ZT from'
+' TF_FFXJHTU a,'
+' (select b.jhh jhh1,c.zh,c.txh,c.tudm from TB_YZPPTXXB b, TB_YZPPTUXXB c where b.tdm=c.tdm ) d'
+' where (a.JHH=d.JHH1(+)) and (a.TX=d.TXH(+)) and (a.JHH=:JHH) and (a.XGZT <> ''3'') order by a.TX';
Open;
end;
end
else
begin
// Frmf_img.Visible := False;
// DBGid_tu.Columns[4].Visible := Fa
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -