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

📄 gf_ffxjh.pas

📁 省级集邮品管理ERP
💻 PAS
📖 第 1 页 / 共 5 页
字号:
      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 + -