📄 ufkxxgz.~pas
字号:
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 + -