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

📄 ufkxxgz.~pas

📁 行业应急系统 包括: 应急系统(待遇核发) 发放系统 开发环境:Delphi5 (sp1)+ Oracle 8.05 MultiExport是一个可以将数据按指定字段倒出
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
begin
  Close;
end;

procedure TfrmFKXXGZ.qryRYXXAfterPost(DataSet: TDataSet);
begin
  TQuery(DataSet).ApplyUpdates;
  TQuery(DataSet).CommitUpdates;
end;

procedure TfrmFKXXGZ.qryDQXXAfterPost(DataSet: TDataSet);
begin
  TQuery(DataSet).ApplyUpdates;
  TQuery(DataSet).CommitUpdates;
end;

procedure TfrmFKXXGZ.qryRYXXBeforePost(DataSet: TDataSet);
begin
  //检查重复项目是否一致
end;

procedure TfrmFKXXGZ.Button1Click(Sender: TObject);
var
  NewString: string;
  ClickedOK: Boolean;
begin
  if qryRYXX.Active then
  begin

    NewString := qryRYXX.FieldByName('BZJE').AsString;
    ClickedOK := InputQuery('金额更正', '输入下月发放金额', NewString);
    if ClickedOK then
    begin
      //判断录入金额是否正确
      try
        StrToCurr(NewString);
      except
        gfShowError('错误的发放金额录入');
        Exit;
      end;

      qryRYXX.Edit;
      qryRYXX.FieldByName('LJFFJE').AsCurrency :=
        StrToCurr(NewString) - qryRYXX.FieldByName('BZJE').AsCurrency;
      qryRYXX.Post;
    end;
  end;
end;

procedure TfrmFKXXGZ.qryRYXXCalcFields(DataSet: TDataSet);
begin
  TQuery(DataSet).FieldByName('XYFFJE').AsCurrency :=
    TQuery(DataSet).FieldByName('LJFFJE').AsCurrency +
    TQuery(DataSet).FieldByName('BZJE').AsCurrency;

end;

procedure TfrmFKXXGZ.souRYXXDataChange(Sender: TObject; Field: TField);
begin
  if Field = nil then
  begin
    if qryRYXX.FieldByName('LJFFJE').AsCurrency <> 0 then
      DBEdit7.Color := clRed
    else
      DBEdit7.Color := clBtnFace;

    if qryRYXX.Active and qryRYFKXX.Active then
    begin
      if qryRYXX.FieldByName('XM').Value <> qryRYFKXX.FieldByName('XM').Value
        then
        DBEdit4.Color := clLime
      else
        DBEdit4.Color := clWindow;

      if qryRYXX.FieldByName('SFZH').Value <> qryRYFKXX.FieldByName('SFZH').Value
        then
        edtSFZH.Color := clLime
      else
        edtSFZH.Color := clWindow;

      if qryRYXX.FieldByName('ZH').Value <> qryRYFKXX.FieldByName('ZH').Value
        then
        edtZH.Color := clLime
      else
        edtZH.Color := clWindow;

      if qryRYXX.FieldByName('KHH').Value <> qryRYFKXX.FieldByName('KHH').Value
        then
        DBEdit8.Color := clLime
      else
        DBEdit8.Color := clWindow;

      if qryRYXX.FieldByName('YZBM').Value <> qryRYFKXX.FieldByName('YZBM').Value
        then
        DBEdit12.Color := clLime
      else
        DBEdit12.Color := clWindow;

      if qryRYXX.FieldByName('DZ').Value <> qryRYFKXX.FieldByName('DZ').Value
        then
        DBEdit13.Color := clLime
      else
        DBEdit13.Color := clWindow;
    end;
  end
end;

procedure TfrmFKXXGZ.Button4Click(Sender: TObject);
begin
  edtXX.Text := '';
  edtXX.SetFocus;
end;

procedure TfrmFKXXGZ.btnFindClick(Sender: TObject);
begin
  if qryRYFKXX.Active then
  begin
    if cmbXX.ItemIndex = 0 then //人员标识
      qryRYFKXX.Locate('RYID_FF', edtXX.Text, [loPartialKey]);
    if cmbXX.ItemIndex = 1 then //姓名
      qryRYFKXX.Locate('XM', edtXX.Text, [loPartialKey]);
    if cmbXX.ItemIndex = 2 then //身份证号
      qryRYFKXX.Locate('SFZH', edtXX.Text, [loPartialKey]);
  end;
end;

procedure TfrmFKXXGZ.Button5Click(Sender: TObject);
var
  bookmark: TBookmark;
  cantgo: boolean;
begin
  cantgo := false;

  qryRYFKXX.DisableControls;
  bookmark := qryRYFKXX.GetBookmark;
  qryRYFKXX.First;
  while not qryRYFKXX.Eof do
  begin
    if qryRYFKXX.FieldByName('xgbz').AsString = '未改' then
    begin
      cantgo := true;
      break;
    end;
    qryRYFKXX.Next;
  end;
  qryRYFKXX.GotoBookmark(bookmark);
  qryRYFKXX.FreeBookmark(bookmark);
  qryRYFKXX.EnableControls;

  if cantgo then
  begin
    gfShowError('还有未改信息,不能进行全部确认.');
    Abort;
  end;


  if gfShowQuestion('是否删除所有的反馈记录信息?') <> ID_OK then
    Abort;

  with TQuery.Create(Self) do
  try
    DataBaseName := dfmMain.dbsMain.DataBaseName;
    SQL.Add('update tff_ryfkxx set ffbz=3 where ffbz=1');
    dfmMain.dbsMain.StartTransaction;
    try
      ExecSQL;
      dfmMain.dbsMain.Commit;
      qryRYFKXX.Close;
      qryRYFKXX.Open;
      gfShowOK('已经清除了相关的反馈记录信息');
    except
      dfmMain.dbsMain.Rollback;
    end;
  finally
    Free;
  end;
end;

procedure TfrmFKXXGZ.qryRYFKXXCalcFields(DataSet: TDataSet);
begin
  //修改标志
  //未修改未确认  1
  //已修改未确认  2
  //未修改已确认  3
  //已修改已确认  4

  Query2.SQL.Clear;
  Query2.SQL.Add('select xm,sfzh,zh,khh,yzbm,dz from tff_ryxx where ');
  Query2.SQL.Add('ryid_ff=''' + qryRYFKXX.FieldByName('ryid_ff').AsString +
    '''');
  Query2.Open;
  //判断是否修改了索要的字段
  if (Query2.FieldByName('xm').AsString <>
    qryRYFKXX.FieldByName('xm').AsString)
    or
    (Query2.FieldByName('SFZH').AsString <>
    qryRYFKXX.FieldByName('SFZH').AsString)
    or
    (Query2.FieldByName('khh').AsString <>
    qryRYFKXX.FieldByName('khh').AsString)
    or
    (Query2.FieldByName('zh').AsString <>
    qryRYFKXX.FieldByName('zh').AsString)
    or
    (Query2.FieldByName('yzbm').AsString <>
    qryRYFKXX.FieldByName('yzbm').AsString)
    or
    (Query2.FieldByName('dz').AsString <>
    qryRYFKXX.FieldByName('dz').AsString)
    then
  begin
    //还需要判断修改时间
    Query1.SQL.Clear;
    //判断确实在反馈日期后做了修改操作
    Query1.SQL.Add('Select count(*) from tff_ryxx_1 where xgrq>=to_date(''' +
      DateToStr(qryRYFKXX.FieldByName('fkrq').AsDateTime) +
      ''',''' + ShortDateFormat + ''') and ');
    Query1.SQL.Add('ryid_ff=''' + qryRYFKXX.FieldByName('ryid_ff').AsString +
      '''');
    Query1.Open;
    //没有的话
    if Query1.Fields[0].AsInteger = 0 then
    begin
      if qryRYFKXX.FieldByName('ffbz').AsInteger = 1 then
        qryRYFKXX.FieldByName('xgbz').AsString := '未知'
      else
        qryRYFKXX.FieldByName('xgbz').AsString := '未知';
    end
    else //做了修改,接着判断是否修改了字段内容
      if qryRYFKXX.FieldByName('ffbz').AsInteger = 1 then
        qryRYFKXX.FieldByName('xgbz').AsString := '已改'
      else
        qryRYFKXX.FieldByName('xgbz').AsString := '已改';
  end
  else
  begin
    if qryRYFKXX.FieldByName('ffbz').AsInteger = 1 then
      qryRYFKXX.FieldByName('xgbz').AsString := '未改'
    else
      qryRYFKXX.FieldByName('xgbz').AsString := '未改'
  end;
  Query2.Close;

end;

procedure TfrmFKXXGZ.wwDBGrid1CalcCellColors(Sender: TObject;
  Field: TField; State: TGridDrawState; Highlight: Boolean; AFont: TFont;
  ABrush: TBrush);
begin
  if Field.FieldName = 'xgbz' then
  begin
    ABrush.color := clBtnFace;
    if Field.AsString = '未改' then
      ABrush.color := clRed;
    if Field.AsString = '已改' then
      ABrush.Color := clLime;

    if highlight then Afont.color := clblack;
  end;
end;

procedure TfrmFKXXGZ.wwDBGrid1TopRowChanged(Sender: TObject);
begin
  wwDBGrid1.invalidate;
end;

procedure TfrmFKXXGZ.Button6Click(Sender: TObject);
begin
  if qryDQXX.State in [dsEdit, dsInsert] then
    qryDQXX.Post;

  if qryRYXX.State in [dsEdit] then
  begin
    qryRYXX.Post;
    Button2.Click;
  end;
end;

procedure TfrmFKXXGZ.Button7Click(Sender: TObject);
var
  outFile: TextFile;
begin
  //如果没有在Grid中选择记录,则不响应.
  if not qryRYXX.FieldByName('XM').isNULL then
  begin
    //本目录中写入当前补发信息
    AssignFile(outFile, ExtractFilePath(Application.ExeName) + '\补发.txt');
    if FileExists(ExtractFilePath(Application.ExeName) + '\补发.txt') then
    begin
      Append(outFile);
    end
    else
    begin
      Rewrite(outFile);
      WriteLn(outFile,
        '"姓名","身份证号","帐号","开户行","汇入地点","发放金额","汇入地点","发放金额","地区代码",""地区名称","单位代码","单位名称","人员标识","所属月份"');
    end;

    WriteLn(outFile,
      '"', qryRYXX.FieldByName('XM').AsString, '",',
      '"', qryRYXX.FieldByName('SFZH').AsString, '",',
      '"', qryRYXX.FieldByName('ZH').AsString, '",',
      '"', qryRYXX.FieldByName('KHH').AsString, '",',
      '"', qryRYXX.FieldByName('HRDD').AsString, '",',
      '"', qryRYXX.FieldByName('ffje').AsString, '",',
      '"', qryDQXX.FieldByName('DM').AsString, '",',
      '"', qryDQXX.FieldByName('MC').AsString, '",',
      '"', qryRYFKXX.FieldByName('XM').AsString, '",',
      '"', FormatDateTime('yyyymm',qryRYFKXX.FieldByName('fkrq').AsDateTime), '"'
      );
  CloseFile(outFile);
  end;
end;


end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -