📄 u_employ.pas
字号:
if Uppercase(LOGIN_CODE) <> 'SYSTEM' then //是否是系统管理员
if not Is_INSERT then
begin
MessageDlg('你没有新增记录的权限,请与管理员联系!', mtError, [mbOK], 0);
Abort;
end; //
//if not (Q_main.State in [Dsedit, Dsinsert]) then Q_main.Edit;
Activequery.APPEND;
SQL_S := 'INSERT INTO TB_SYS_LOG (UCODE,Computer,Dotime,TITLE,Havedo) VALUES(''' + LOGIN_CODE + ''',''' + computer_name + ''',Convert(varchar(20),Getdate(),20),''' + CAPTION + ''',''增加记录'')';
Insert_log(sql_s);
pagecontrol2.ActivePageIndex := 0;
wwdbedit2.SetFocus;
end;
procedure TF_employ.Btn_EditClick(Sender: TObject);
begin
inherited;
pagecontrol2.ActivePageIndex := 0;
wwdbedit2.SetFocus;
end;
procedure TF_employ.wwDBComboDlg1CustomDlg(Sender: TObject);
begin
inherited;
if not (Q_main.State in [dsinsert, dsedit]) then abort;
application.CreateForm(TF_departselect, F_departselect);
if F_departselect.ShowModal = mrok then
begin
Q_main.FieldByName('Emp_bmcode').AsString := F_departselect.SDep_id;
Q_main.FieldByName('Emp_bmname').AsString := F_departselect.SDep_name;
end;
end;
procedure TF_employ.Btn_DeleteClick(Sender: TObject);
begin
if Activequery.RecordCount = 0 then exit; //无记录则退出
if Uppercase(LOGIN_CODE) <> 'SYSTEM' then //
if not Is_DELETE then
begin
MessageDlg('你没有删除的权限,请与管理员联系!', mtError, [mbOK], 0);
Abort;
end;
if APPLICATION.MessageBox('你真的要删除这个记录吗?', '系统提示', MB_YESNO + MB_DEFBUTTON2) = IDNO then EXIT;
try
Activequery.Delete;
except
raise;
end;
Activequery.UpdateBatch(ARALL);
end;
procedure TF_employ.PageControl2Change(Sender: TObject);
begin
inherited;
case pagecontrol2.ActivePageIndex of
0: activequery := Q_main;
1: activequery := Q_JL_JL;
2: activequery := Q_FAM;
3: activequery := Q_LEARN;
4: activequery := Q_JNTC;
5: activequery := Q_jl;
6: activequery := Q_cf;
7: activequery := Q_move;
8: activequery := Q_cc;
9: activequery := Q_qj;
10: activequery := Q_SALARY;
end;
//Activequery.Close;
//Activequery.Open;
end;
procedure TF_employ.Btn_SaveClick(Sender: TObject);
begin
inherited;
Activequery.UpdateBatch(arall);
end;
procedure TF_employ.GRID_FAMExit(Sender: TObject);
begin
inherited;
Q_Fam.UpdateBatch(arall);
end;
procedure TF_employ.GRID_JLExit(Sender: TObject);
begin
inherited;
Q_JL_JL.UpdateBatch(arall);
end;
procedure TF_employ.GRID_JNTCExit(Sender: TObject);
begin
inherited;
Q_JNTC.UpdateBatch(arall);
end;
procedure TF_employ.DBGridEh4Exit(Sender: TObject);
begin
inherited;
Q_JL.UpdateBatch(arall);
end;
procedure TF_employ.DBGridEh5Exit(Sender: TObject);
begin
inherited;
Q_CF.UpdateBatch(arall);
end;
procedure TF_employ.DBGridEh3Exit(Sender: TObject);
begin
inherited;
Q_move.UpdateBatch(arall);
end;
procedure TF_employ.DBGridEh1Exit(Sender: TObject);
begin
inherited;
Q_QJ.UpdateBatch(arall);
end;
procedure TF_employ.Grid_SALARYExit(Sender: TObject);
begin
inherited;
Q_Salary.UpdateBatch(arall);
end;
procedure TF_employ.grid_learnExit(Sender: TObject);
begin
inherited;
Q_learn.UpdateBatch(arall);
end;
procedure TF_employ.DBGridEh2Exit(Sender: TObject);
begin
inherited;
Q_CC.UpdateBatch(arall);
end;
procedure TF_employ.Q_JL_JLBeforeInsert(DataSet: TDataSet);
begin
inherited;
if Q_main.RecordCount = 0 then exit;
Old_orderno := Activequery.fieldbyname('orderno').AsInteger;
end;
procedure TF_employ.Q_JL_JLAfterInsert(DataSet: TDataSet);
begin
inherited;
CREATEGUID(NID);
Activequery.FieldByName('sid').AsString := GUIDTOSTRING(NID);
Activequery.FieldByName('CNID').AsString := Q_main.Fieldbyname('sid').AsString;
Activequery.Fieldbyname('orderno').AsInteger := Old_orderno + 1;
end;
procedure TF_employ.Q_mainEmp_CardValidate(Sender: TField); //从身份证中得到其他信息
begin
inherited;
//Q_MAIN.FIELDBYNAME('PROV').ASSTRING := sql_RESULT('select MC from xzqh WHERE DM=''' + COPY(SENDER.ASSTRING, 1, 2) + '''');
//Q_MAIN.FIELDBYNAME('CITY').ASSTRING := sql_RESULT('select MC from xzqh WHERE DM=''' + COPY(SENDER.ASSTRING, 1, 6) + '''');
try
if length(sender.asstring) = 15 then
begin
SQL_S := SENDER.ASSTRING;
Q_MAIN.FIELDBYNAME('Emp_born').ASSTRING := '19' + COPY(SQL_S, 7, 2) + '-' + COPY(SQL_S, 9, 2) + '-' + COPY(SQL_S, 11, 2);
if (STRTOINT(COPY(SENDER.ASSTRING, 15, 1)) mod 2) = 0 then
Q_MAIN.FIELDBYNAME('Emp_sex').ASSTRING := '女'
else
Q_MAIN.FIELDBYNAME('Emp_sex').ASSTRING := '男';
end
else
if length(sender.asstring) = 18 then
begin
SQL_S := SENDER.ASSTRING;
Q_MAIN.FIELDBYNAME('Emp_born').ASSTRING := COPY(SQL_S, 7, 4) + '-' + COPY(SQL_S, 11, 2) + '-' + COPY(SQL_S, 13, 2);
if (STRTOINT(COPY(SENDER.ASSTRING, 17, 2)) mod 2) = 0 then
Q_MAIN.FIELDBYNAME('Emp_sex').ASSTRING := '男'
else
Q_MAIN.FIELDBYNAME('Emp_sex').ASSTRING := '女';
end;
except
MessageDlg('身份证号码有错,出生日期有错!', mtWarning, [mbOK], 0);
end;
end;
procedure TF_employ.wwDBEdit3Exit(Sender: TObject);
begin
inherited;
if not (Q_main.State in [dsedit, dsinsert]) then exit;
if LENGTH(wwDBEdit3.TEXT) = 0 then EXIT;
if (LENGTH(wwDBEdit3.TEXT) = 18) or ((LENGTH(wwDBEdit3.TEXT) = 15)) then EXIT;
begin
MessageDlg('身份证号码位数错误,位数不是15或18位!', mtWarning, [mbOK], 0);
wwDBEdit3.SetFocus;
end;
end;
procedure TF_employ.Q_mainEmp_testdayValidate(Sender: TField);
begin
inherited;
Q_MAIN.FIELDBYNAME('EMp_Reallydate').ASDATETIME := Q_MAIN.FIELDBYNAME('Emp_COMEDATE').ASDATETIME + SENDER.ASINTEGER;
end;
procedure TF_employ.TreeChange(Sender: TObject; Node: TTreeNode);
var Tnode: TTreenode;
begin
inherited;
if not (node.HasChildren) then
if node.ImageIndex <> 2 then
begin
Sql_s := 'Select EMP_id,EMP_name,Emp_bmcode,EMP_bmname from TB_employ where emp_bmcode=''' + Copy(node.Text, 1, pos('@', node.Text) - 1) + '''';
Sql_change(Q_Temp2, Sql_s);
while not Q_temp2.Eof do
begin
Tnode := Tree.Items.AddChild(node, Q_temp2.fieldbyname('Emp_name').AsString);
Tnode.ImageIndex := 2;
Q_temp2.Next;
end;
end
else
begin
Sql_s := 'Select * from TB_Employ where Emp_name=''' + node.text + '''';
Sql_change(q_main, Sql_s);
end;
end;
procedure TF_employ.Edit1Change(Sender: TObject);
begin
inherited;
Q_main.Locate('Emp_id', edit1.Text, []);
end;
procedure TF_employ.Edit2Change(Sender: TObject);
begin
inherited;
Q_main.Locate('Emp_name', edit2.Text, []);
end;
procedure TF_employ.N1Click(Sender: TObject);
var
P: Tmemorystream;
g: Tjpegimage;
begin
if not (Q_main.State in [dsedit, dsinsert]) then exit;
Screen.Cursor := crHourGlass;
if openimage.Execute then
image1.Picture.LoadFromFile(openimage.FileName);
with Q_main do
begin
try
p := Tmemorystream.Create;
g := Tjpegimage.Create;
g.Assign(Image1.Picture.Graphic);
g.SaveToStream(p);
p.Position := 0;
TBlobField(FieldByName('Emp_image')).LoadFromStream(p);
finally
p.Free;
g.Free;
end;
end;
Screen.Cursor := crdefault;
end;
function TF_employ.IsPicture(A_FileName: TFileName): Boolean;
begin
with TPicture.Create do
try
LoadFromFile(A_FileName);
Result := (Graphic is TJPEGImage) or (Graphic is TBitmap);
finally
Free;
end;
end;
procedure TF_employ.Q_mainAfterScroll(DataSet: TDataSet);
var
Jpg: TJPEGImage;
Buf: TMemoryStream;
begin
inherited;
try
if (Q_main.RecordCount > 0) and not (Q_main.FieldByName('Emp_image').IsNull) then
begin
Jpg := TJPEGImage.Create;
Buf := TMemoryStream.Create;
TBlobField(Q_main.FieldByName('Emp_image')).SaveToStream(Buf);
Buf.Position := 0;
Image1.Visible := false;
if BUF.Size = 0 then
else
begin
Jpg.LoadFromStream(Buf);
Image1.Picture.Assign(jpg);
Image1.Visible := true;
end;
Buf.Free;
Jpg.Free;
end
else
Image1.Picture := nil;
except;
end;
end;
procedure TF_employ.Image1DblClick(Sender: TObject);
begin
inherited;
n1.Click;
end;
procedure TF_employ.N4Click(Sender: TObject);
begin
if not (Q_main.State in [dsedit, dsinsert]) then exit;
if MessageDlg('确认要清除此人员相片吗?', mtConfirmation, [mbOK, mbCancel], 0) = mrOk then
begin
Screen.Cursor := crHourGlass;
// if openimage.Execute then
// image1.Picture.LoadFromFile(openimage.FileName);
Image1.Picture := nil;
with Q_main do
begin
try
TBlobField(FieldByName('Emp_image')).Clear;
except
raise;
end;
end;
Screen.Cursor := crdefault;
end;
end;
procedure TF_employ.BitBtn1Click(Sender: TObject);
begin
inherited;
Close;
end;
initialization
RegisterClass(TF_employ);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -