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

📄 gf_pfxjh.pas

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