📄 uffdy.pas
字号:
{
*
* 添加一个单位对应表,将发放系统中的单位与应急系统单位进行对应
*
DROP TABLE TFF_DWDY CASCADE CONSTRAINTS ;
CREATE TABLE TFF_DWDY (
FFDWID CHAR (10) NOT NULL,
YJDWID CHAR (10) NOT NULL,
CONSTRAINT PK_TFF_DWDY
PRIMARY KEY ( YJDWID, FFDWID )
)
*
*
*
}
unit uFFDY;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
uSimpleTemp, DBTables, Db, Wwquery, Wwdatsrc, ExtCtrls, ImgList,
ActnList, ComCtrls, StdCtrls, Buttons, Grids, Wwdbigrd, Wwdbgrid;
type
TfrmFFDY = class(TfrmSimpleTemp)
pnlLeft: TPanel;
wwDBGrid1: TwwDBGrid;
Panel3: TPanel;
pnlRight: TPanel;
Panel6: TPanel;
wwDBGrid2: TwwDBGrid;
Label1: TLabel;
Label2: TLabel;
souRight: TwwDataSource;
qryRight: TwwQuery;
Panel2: TPanel;
Panel5: TPanel;
Label3: TLabel;
Label4: TLabel;
Button1: TButton;
Panel7: TPanel;
btnLink: TSpeedButton;
btnUnlink: TSpeedButton;
cmbSelect: TComboBox;
CheckBox1: TCheckBox;
Button2: TButton;
edtFFDW: TEdit;
edtYJDW: TEdit;
btnYJDW_Select: TSpeedButton;
btnFFDY_Select: TSpeedButton;
procedure FormResize(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure souDetailDataChange(Sender: TObject; Field: TField);
procedure wwDBGrid1CalcCellColors(Sender: TObject; Field: TField;
State: TGridDrawState; Highlight: Boolean; AFont: TFont;
ABrush: TBrush);
procedure btnLinkClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure btnFFDY_SelectClick(Sender: TObject);
procedure btnYJDW_SelectClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmFFDY: TfrmFFDY;
ffdwid: string; //发放单位ID
yjdwdm: string; //应急系统代码
implementation
uses dMain, uCommon;
{$R *.DFM}
procedure TfrmFFDY.FormResize(Sender: TObject);
begin
inherited;
{
pnlLeft.Width := Round(pagTemp.Width / 2);
pnlRight.Width := pagTemp.Width - pnlLeft.Width;
}
end;
procedure TfrmFFDY.FormCreate(Sender: TObject);
begin
inherited;
sTitleName := '调整发放/应急系统的人员对应关系';
btnCheck.Visible := False;
btnInsert.Visible := False;
btnSave.Visible := False;
btnDelete.Visible := False;
btnUndo.Visible := False;
cmbSelect.ItemIndex := 0;
end;
procedure TfrmFFDY.Button1Click(Sender: TObject);
begin
inherited;
//显示发放单位信息
with qryDetail do
begin
close;
SQL.Clear;
Sql.Add('SELECT *');
Sql.Add(' FROM tff_ryxx');
Sql.Add(' WHERE dwid_ff = ''1000000027''');
SQL.Add('ORDER BY XM');
Open;
end;
Label1.Caption := '发放系统:' + IntToStr(qryDetail.RecordCount) + '人';
with qryRight do
begin
close;
SQL.Clear;
Sql.Add('SELECT *');
Sql.Add(' FROM tryjbxx');
Sql.Add(' WHERE dwid = ''1000000102'' and ryzt=2');
SQL.Add('ORDER BY XM');
Open;
end;
Label2.Caption := '应急系统:' + IntToStr(qryDetail.RecordCount) + '人';
end;
procedure TfrmFFDY.souDetailDataChange(Sender: TObject; Field: TField);
begin
inherited;
if Field = nil then
begin
//查找状态 查找对应的应急系统中人员
if qryRight.active then
//显示对应
btnLink.Enabled := qryRight.Locate('xm;sfzh',
VarArrayOf([qryDetail.FieldByName('xm').AsString,
qryDetail.FieldByName('sfzh').AsString]), []);
btnUnLink.Enabled := not btnLink.Enabled;
begin
end;
end;
end;
procedure TfrmFFDY.wwDBGrid1CalcCellColors(Sender: TObject; Field: TField;
State: TGridDrawState; Highlight: Boolean; AFont: TFont; ABrush: TBrush);
begin
inherited;
//如果关联了数据,则显示黄色
//未关联的数据,显示白色
if Trim(qryDetail.FieldByName('Ryid').AsString) = '' then
ABrush.color := clWhite
else
ABrush.Color := $00C0FFFF;
if highlight then
begin
Afont.color := clWhite;
ABrush.Color := clBlue;
end;
end;
procedure TfrmFFDY.btnLinkClick(Sender: TObject);
var
bookmark: TBookmark;
begin
inherited;
//修改发放信息前保留Bookmark
{
qryDetail.DisableControls;
qryRight.DisableControls;
}
bookmark := qryDetail.GetBookmark;
dfmMain.dbsMain.StartTransaction;
with TQuery.Create(Self) do
try
DatabaseName := dfmMain.dbsMain.DatabaseName;
SQL.Add('update tff_ryxx set ryid=''' + qryRight.FieldByName('RYID').AsString
+ ''' where ryid_ff=''' + qryDetail.FieldByName('RYID_FF').AsString +
'''');
ExecSQL;
finally
Free;
end;
dfmMain.dbsMain.Commit;
qryDetail.Close;
qryDetail.Open;
qryDetail.GotoBookmark(bookmark);
qryDetail.FreeBookmark(bookmark);
{
qryDetail.EnableControls;
qryRight.EnableControls;
}
end;
procedure TfrmFFDY.Button2Click(Sender: TObject);
begin
inherited;
//对应操作
with TQuery.create(Self) do
begin
Databasename := dfmMain.dbsMain.DatabaseName;
SQL.Add('update tff_ryxx');
end;
end;
procedure TfrmFFDY.btnFFDY_SelectClick(Sender: TObject);
begin
inherited;
if Trim(edtFFDW.Text) = '' then
begin
gfShowError('请输入单位在发放系统中的单位代码');
Abort;
end;
//取得发放单位ID
with TQuery.Create(Self) do
try
DatabaseName := dfmMain.dbsMain.DataBaseName;
SQL.Add('SELECT dwid_ff FROM tff_dwxx WHERE dwdm =''' + trim(edtFFDW.Text) +
'''');
Open;
ffdwid := Fields[0].AsString;
finally
Free;
end;
end;
procedure TfrmFFDY.btnYJDW_SelectClick(Sender: TObject);
begin
inherited;
if Trim(edtYJDW.Text) = '' then
begin
gfShowError('请输入单位在应急系统中的单位代码');
Abort;
end;
YJDWDM := Trim(edtYJDW.Text);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -