Các thực thể.

Một phần của tài liệu Phân tích thiết kế hệ thống thông tin quản lý hồ sơ cán bộ công nhân viên của cục Cục Doanh nghiệp nhỏ và vừa (Trang 43 - 73)

Quản lý nhân sự Bộ phận quản lý nhân viên

2.4.2. Các thực thể.

- Bảng hồ sơ nhân viên.

Name Type Width Giải thích Ghi chú

Manv C 10 Mã nhân viên Khoá chính

Hodem C 30 Hộ đệm

Ten C 15 Tên

Bidanh C 30 Bí danh

Ngaysinh D 8 Ngày sinh

Gioitinh C 3 Giới tính

Madt C 4 Mã dân tộc Khoá ngoại lai

Maqg C 4 Mã quốc gia Khoá ngoại lai

Matg C 4 Mã tôn giáo Khoá ngoại lai

Scmt C 10 Số chứng minh th

Noicap C 30 Nơi cấp

Sodthoai C 10 Số điện thoại

Diachi C 50 Địa chỉ

Email C 20 Email

Hokhthchu C 50 Hộ khẩu thờng trú

Quequan C 50 Quê quán

Ngaybatdaulam D 8 Ngày bắt đầu làm

Mapb C 4 Mã phòng ban Khoá ngoại lai

Matdvh C 4 Mã trình độ văn hoá Khoá ngoại lai

Macmon C 4 Mã chuyên môn Khoá ngoại lai

Matdcmon C 4 Mã trình độ chuyên

môn

Khoá ngoại lai

Mahttuyen C 2 Mã hình thức tuyển Khoá ngoại lai

Macv C 4 Mã chức vụ Khoá ngoại lai

Macdanh C 4 Mã chức danh Khoá ngoại lai

Ngaylenbacluong D 8 Ngày lên bậc lơng

Bacluonghientai N 10 Bậc lơng hiện tại

Hesoluong N 10 Hệ số lơng

Nangkhieu C 30 Năng khiếu

Tinhtrsukhoe C 20 Tình trạng sức khoẻ

Hinhthuchopdong C 30 Hình thức hợp đồng

Ngaycohieuluc D 8 Ngày có hiệu lực

Ngayhethieuluc D 8 Ngày hết hiệu lực

Manngu C 4 Mã ngoại ngữ Khoá ngoại lai

Matdnngu C 4 Mã trình độ ngoại

ngữ

Matdth C 4 Mã trình độ tin học Khoá ngoại lai

Quatrinhdaotao M 4 Quá trình đào tạo

Quatrinhcongtac M 4 Quá trình công tác

Quanhegiadinh M 4 Quan hệ gia đình

Quatrinhluong M 4 Quá trình lơng

Kyluat M 4 Kỷ luật

Tinhtrangcv M 4 Tình trạng công việc

Anhnv G 4 ảnh nhân viên

Khenthuong M 4 Khen thởng

-Bảng chức danh.

Name Type Width Giải thích Ghi chú

Macdanh C 4 Mã chức danh Khoá chính

Tencdanh C 30 Tên chức danh

-Danh mục chuyên môn.

Name Type Width Giải thích Ghi chú

Macmon C 4 Mã chuyên môn Khoá chính

Tencmon C 30 Tên chuyên môn

-Danh mục chc vụ.

Name Type Width Giải thích Ghi chú

Macv C 4 Mã chức vụ Khoá chính

-Danh mục dân tộc.

Name Type Width Giải thích Ghi chú

Madt C 4 Mã dân tộc Khoá chính

Tendt C 30 Tên dân tộc

-Danh mục đơn vị.

Name Type Width Giải thích Ghi chú

Madv C 4 Mã đơn vị Khoá chính

-Danh mục hình thức tuyển.

Name Type Width Giải thích Ghi chú

Mahttuyen C 4 Mã hình thức tuyển Khoá chính

Tenhttuyen C 30 Tên hình thức tuyển

*Danh mục ngạch.

Name Type Width Giải thích Ghi chú

Mangach C 4 Mã ngạch Khoá chính

Tenngach C 30 Tên ngạch

Bac N 2 Bậc

-Danh mục ngoại ngữ.

Name Type Width Giải thích Ghi chú

Manngu C 4 Mã ngoại ngữ Khoá chính

Tenngu C 30 Tên ngoại ngữ

-Danh mục quốc gia.

Name Type Width Giải thích Ghi chú

Maqg C 4 Mã quốc gia Khoá chính

-danh mục trình độ chuyên môn

Name Type Width Giải thích Ghi chú

Matdcmon C 4 Mã trình độ chuyên

môn

Khoá chính

Tentdcmon Tên trình độ chuyên

môn -Danh mục trình độ ngoại ngữ.

Name Type Width Giải thích Ghi chú

Matdnngu C 4 Mã trình độ ngoại ngữ Khoá chính

Tentdnngu Tên trình độ ngoại ngữ

-danh mục trình độ tin học.

Name Type Width Giải thích Ghi chú

Matdth C 4 Mã trình độ tin học Khoá chính

Tentdth Tên trình độ tin học

-Danh mục trình độ văn hoá.

Name Type Width Giải thích Ghi chú

Matdvh C 4 Mã trình độ văn hoá Khoá chính

- Danh mục tôn giáo.

Name Type Width Giải thích Ghi chú

Matongiao C 4 Mã tôn giáo Khoá chính

Tentongiao C 30 Tên tôn giáo

-Danh mục tình trạng công việc.

Name Type Width Giải thích Ghi chú

Mattrcv C 4 Mã tình trạnh công

việc

Khoá chính

Tenttrcv C 30 Tên tình trạng công

việc

3.MỘT SỐ GIAO DIỆN CH NH TRONG CHÍ ƯƠNG TRèNH 3.1 Giao dien chớnh của chương trỡnh

3.3 Màn hỡnh cấp quyết định

3.5 Màn hỡnh danh mục chức vụ

3.7 Màn hinh danh mục hỡnh thức kỉ luật

3.9 Màn hỡnh danh mục bằng cấp

3.10 Màn hỡnh danh mục kết quả đào tạo

3.11 Màn hỡnh danh mục lớ do thay đổi cụng tỏc

3.13 Màn hỡnh danh mục nhúm chức danh

3.15 Màn hỡnh danh mục trỡnh độ chuyờn mụn

3.17 Màn hỡnh danh mục trỡnh độ tin học

3.19 Màn hỡnh danh mục trỡnh độ văn hoỏ

ầ 3.20 Màn hỡnh danh mục tỉnh

3.21 Màn hỡnh danh mục loại hợp đồng

3.23 Màn hỡnh danh mục phụ cấp

KẾT LUẬN

Trong thời đại cụng nghệ thụng tin đang phỏt triển như vũ bóo hiờn nay thỡ những sản phẩm cụng nghệ thụng tin đó tạo ra cho con người một năng suất lao động rất cao cho quỏ trỡnh phỏt triển của thế giới.Chớnh vỡ vậy mà nú vừa là cơ hội vừa là thỏch thức đối với cỏc doanh nghiệp khi đưa ra sự lựa chọn ứng dụng cụng nghệ thụng tin trong việc phỏt triển doanh nghiệp.Việc một doanh nghiệp ứng dụng và xõy dựng cỏc phần mềm quản ls là một lợi thế khụng thể chối cói, nú mang lại cho doanh nghiệp một bộ mặt khỏc hẳn với việc trước khi chưa sử dụng cụng nghệ thụng tin.Trong thời đại hiện nay một doanh nghiệp phải cú một bộ mỏy hoạt động gọn nhẹ và như vậy mới cú thẻ tiết kiệm tối đa cỏc khoản chi phớ và đưa ra cỏc phương hướng phỏt triển của bộ mỏy doanh nghiệp một cỏch hài hoà với tỡnh hỡnh thực tế của doanh nghiệp hiện nay. Nhận thức đựoc tầm quan trong đú nờn đó cú rất nhiốu lĩnh vực đó khụng ngừng phỏt triển phần mềm quản lý nhõn sự để cú thể đỏp ứng đươcj yờu cầu phỏt triển của cụng ty.

Tuy nhiờn do thời gian thực tập và trỡnh độ cú hạn nờn phạm vi đề tài cũn hạn chế,trong thời gian tới em sẽ khắc phục những hạn chế này.

Trong thời gian học tập tại trường với long biết ơn sõu sắc e xin chõn thành cỏm ơn cỏc thầy cụ giỏo trưũng Đại Hoạc Kinh tế Quốc Dõn núi chung và cỏc thày cụ giỏo khoa tin học kinh tế núi riờng đó tận tỡnh giảng dạy và tạo điều kiện cho chỳng em trong suốt thời gian học tập tại trường.

Em xin chõn thành cỏm ơn thầy giỏo PHÙNG TIẾN HẢI đó tận tỡnh hướng dẫn chỳng em hoàn thành tốt chuyờn đề thực tập tốt nghiệp này.

MỘT SỐ MÃ NGUỒN CHÍNH CỦA CHƯƠNG TRèNH

*************************Startup********************************* ENDPRO

* ... FUNCTION QuickGet... * Tim nhanh theo ten

FUNCTION QuickGet

PARAMETER _Nguon, _Ten, _Ma, _Dich, _Mess * _Nguon : File co chua truong ten can tim * _Ten : Truong de tim theo ten

* _Ma : Bien tra ve Ma cua Ten tim duoc

* _Dich : Ten file chua cac ban ghi thoa man dieu kien ve Ten tim duoc * _Mess : Message cua man hinh brow

PRIVATE M.Ma, M.Ten, _Inselect, _Order _InSelect = SELECT()

_Order = ORDER()

STORE "" TO M.Ma, M.Ten M.Opt = 1

M.Nhan_Huy1=1 SELE &_Nguon PUSH KEY CLEAR

DO FORM (K_Screen + "SMQuickget") IF M.Nhan_Huy1 # 1 SELECT (_InSelect) POP KEY RETURN ENDIF M.Ten = ALLTRIM(UPPER(M.Ten)) IF EMPTY(M.Ten) SELECT (_InSelect) POP KEY RETURN

ENDIF _Key_F5 = ".T." IF !EMPTY(M.Ten) IF M.Opt # 1 IF !("%" $ M.Ten) OR !("_" $ M.Ten) M.Ten = M.Ten + "%" ENDIF

_Key_F5 = _Key_F5 + ".AND." + "(UPPER(" + _Ten + ") LIKE M.Ten)"

ELSE

_Key_F5 = _Key_F5 + ".AND." + "(M.Ten $ UPPER(" + _Ten + "))"

ENDIF ENDIF

SELECT * FROM &_Nguon WHERE &_Key_F5 INTO TABLE (K_Tmp + _Dich)

ON KEY LABEL ENTER DO Quick_Get_Chon WITH _Nguon, _Ma SELE (_Dich)

BROWSE ;

FONT M_Font_Name, M_Font_Size;

NOAPPEND NOMODIFY NODELETE WINDOW M_WinBrw ; TITLE IIF(m_Lan = 'V', "Loc ", ECode2String('SMLIB0045')) + STUFF(_Mess, 1, 1, LOWER(LEFT(_Mess,1))) +IIF(m_Lan = 'V', ". Enter-Chon, Esc-Quay ra", ECode2String('SMLIB0046'))

USE IN (_Dich)

ON KEY LABEL ENTER SELECT (_InSelect)

SET ORDER TO &_Order POP KEY

RETURN

* ... PROCEDURE Quick_Get_Chon ... * SubProcedure of Quick_Get

PARAMETER _Nguon, _Ma PRIVATE M.Ma, oldOrder oldOrder = SET("ORDER")

M.Ma = &_Ma SELE &_Nguon

SET ORDER TO &_Ma SEEK(M.Ma)

IF USED("K_PhTmp")

KEYBOARD CHR(23) &&Ctrl+W ENDIF

KEYBOARD CHR(23) SET ORDER TO &oldOrder RETURN &_Ma

* ... PROCEDURE PgUpDn_Ct ... * Chuyen len , xuong, ve dau, ve cuoi file chung tu.

PROCEDURE PgUpDn_Ct PARAMETER _Step

* _Step: 1: Chuyen xuong 1 chung tu * -1: Chuyen len 1 chung tu

* TOP: Chuyen ve chung tu dau tien

* BOTTOM: Chuyen den chung tu cuoi cung

PRIVATE Arr, i, nPro, _Value

*Visible=0,Order=96,Caption=Sl td3,English=Free,Width=60,Carry=0,Post=0 nPro = ALINES(Arr, StrPro, ",")

FOR i = 1 TO nPro

_pro = ALLTRIM(LEFT(Arr[i], AT('=', Arr[i]) - 1)) IF UPPER(_Pro) == UPPER(Cpro)

_value = ALLTRIM(RIGHT(Arr[i], LEN(Arr[i]) - AT('=', Arr[i]))) RETURN _Value ENDIF ENDFOR RETURN '' *--- Procedure I_Lookup --- PROCEDURE I_Lookup

PARAMETER _Obj, _Alias, _Field PRIVATE _Len, S

IF INLIST(LASTKEY(), 7, 127, 32) && Del va BackSpace RETURN ENDIF IF NOT USED('&_Alias') RETURN ENDIF s = UPPER(ALLTRIM(_Obj.Value)) _Len = LEN(s) SELECT (_ALias)

LOCATE FOR LEFT(&_Field, _Len) == s IF FOUND()

_Obj.Value = &_Field _Obj.selstart = _Len

_Obj.sellength = LEN(ALLTRIM(_Obj.Value)) - _Obj.selstart ENDIF

RETURN

*--- Procedure I_History --- PROCEDURE I_History

PARAMETERS _Form, _Obj

PRIVATE _Len, S,_StrForm, _StrSeek s = ALLTRIM(_Obj.Value) _Len = LEN(s)

IF INLIST(LASTKEY(), 7, 127, 32) &&OR _Len < 1 && Del va BackSpace

RETURN ENDIF

_strform = UPPER(JUSTFNAME(SYS(1271, _Form))) _strform = LEFT(_strform, AT('.', _strform) - 1)

_strSeek = PADR(_strform, FSIZE('Form', 'M_History')) SELECT M_History

SEEK _StrSeek

LOCATE REST WHILE Form = _StrSeek FOR LEFT(Value, _Len) == s IF FOUND()

_Obj.Value = Value _Obj.selstart = _Len

_Obj.sellength = LEN(ALLTRIM(_Obj.Value)) - _Obj.selstart ENDIF

RETURN

*--- Procedure U_History --- PROCEDURE U_History

PARAMETERS _Form, _Obj

s = ALLTRIM(_Obj.Value) _Len = LEN(s)

_strform = UPPER(JUSTFNAME(SYS(1271, _Form))) _strform = LEFT(_strform, AT('.', _strform) - 1)

_strSeek = PADR(_strform, FSIZE('Form', 'M_History')) SELECT M_History

SEEK _StrSeek

LOCATE REST WHILE Form = _StrSeek FOR LEFT(Value, _Len) == s IF FOUND()

RETURN ENDIF

APPEND BLANK

REPLACE Form WITH _StrForm, Value WITH s RETURN

*--- Procedure D_History --- PROCEDURE D_History

PARAMETERS _Form, _Obj

PRIVATE _Len, S,_StrForm, _StrSeek s = ALLTRIM(_Obj.Value) _Len = LEN(s)

_strform = UPPER(JUSTFNAME(SYS(1271, _Form))) _strform = LEFT(_strform, AT('.', _strform) - 1)

_strSeek = PADR(_strform, FSIZE('Form', 'M_History')) SELECT M_History

SEEK _StrSeek

LOCATE REST WHILE Form = _StrSeek FOR LEFT(Value, _Len) == s IF FOUND() DELETE ENDIF RETURN *--- Procedure Dien_giai_Key --- PROCEDURE Dien_Giai_key

PARAMETERS _Form, _Obj, nKeyCode, nShiftAltCtrl DO CASE

CASE nKeyCode = 85 and nShiftAltCtrl = 1 &&Shift F2 DO U_History WITH _Form, _Obj

CASE nKeyCode = 91 and nShiftAltCtrl = 1 &&Shift F8 DO D_History WITH _Form, _Obj

ENDCASE RETURN

*--- Function Num2Word2 --- FUNCTION Num2Words

LOCAL ix, cDecimals, cResult, cBuffer LOCAL cDigits, cTens, cScale

LOCAL nScale, nInteger, nHundreds, nTens, nDigit

m.cDigits = 'Zero One Two Three Four Five Six Seven Eight Nine Ten Eleven Twelve Thirteen Fourteen Fifteen Sixteen

SeventeenEighteen NineTeen '

m.cTens = 'Ten Twenty Thirty Forty Fifty Sixty Seventy Eighty Ninety '

m.cScale = ' Thousand Million Billion Trillion *********' m.nInteger = INT(m.nNumber)

m.cDecimals = ' and '+PADL(LTRIM(STR(ROUND(MOD(m.nNumber, 1), 2)*100)), 2, '0')+'/100' m.cResult = '' m.ix = 0 DO WHILE m.nInteger>0 m.nScale = MOD(m.nInteger, 1000) m.nInteger = INT(m.nInteger/1000) m.nHundreds = INT(m.nScale/100) m.nTens = MOD(m.nScale, 100) m.cBuffer = '' IF m.nHundreds>0

m.cBuffer = TRIM(SUBSTR(m.cDigits, m.nHundreds*9+1, 9))+' Hundred '

ENDIF DO CASE

CASE m.nTens=0 CASE m.nTens<20

m.cBuffer = m.cBuffer+TRIM(SUBSTR(m.cDigits, m.nTens*9+1, 9)) OTHERWISE

m.nDigit = MOD(m.nTens, 10) m.nTens = INT(m.nTens/10)-1

m.cBuffer = m.cBuffer+TRIM(SUBSTR(m.cTens, m.nTens*9+1, 9)) IF m.nDigit>0

m.cBuffer = m.cBuffer+' '+TRIM(SUBSTR(m.cDigits, m.nDigit*9+1, 9))

ENDIF ENDCASE IF m.ix>0

m.cResult = TRIM(TRIM(m.cBuffer)+' '+TRIM(SUBSTR(m.cScale, m.ix*9+1, 9))+' '+m.cResult)

ELSE

m.cResult = TRIM(m.cBuffer) ENDIF

m.ix = m.ix+1 ENDDO IF EMPTY(m.cResult) m.cResult = TRIM(LEFT(m.cDigits, 9)) ENDIF RETURN m.cResult+m.cDecimals ENDFUNC *--- Function ChkRights --- PROCEDURE ChkRights PARAMETERS _Status PRIVATE Kq Kq = .T. DO CASE CASE _Status = [M] IF !(M_Menu_id $ M_R_Add) Kq = .F.

_Mess = IIF(M_Lan =[V], "Không đợc thêm mới trong mục này !",;

"Can not add new, you may have not permission") Msgbox(_Mess, 64)

ENDIF CASE _Status = [S]

IF !(M_Menu_id $ M_R_Edit) Kq = .F.

_Mess = IIF(M_Lan =[V], "Không đợc thêm mới trong mục này !",;

"Can not add new, you may have not permission") Msgbox(_Mess, 64)

ENDIF CASE _Status = [X]

IF !(M_Menu_id $ M_R_Del) Kq = .F.

_Mess = IIF(M_Lan =[V], "Không đợc thêm mới trong mục này !",;

"Can not add new, you may have not permission") Msgbox(_Mess, 64) ENDIF ENDCASE RETURN Kq FUNCTION ECode2String PARAMETERS _ID _OldAlias = SELECT()

SELECT Tranlan IF SEEK(_Id) _string = ALLTRIM(Tranlan.EsTring) ELSE _string = [] ENDIF USE IN Tranlan SELECT(_OldAlias) RETURN _string PROCEDURE SetItemhead M.Ma_vv = M.Ma_vv_i M.Ma_Phi = M.Ma_Phi_i M.Ma_Ku = M.Ma_Ku_i M.Ma_Ctr = M.Ma_Ctr_i M.Ma_Hm = M.Ma_Hm_i M.Ma_Dsx = M.Ma_Dsx_I M.Ma_Bpht = M.Ma_Bpht_i M.Ma_Hd = M.Ma_Hd_i M.Ma_SP = M.Ma_SP_i *+ M.Ma_Td = M.Ma_Td_i M.Ma_Td2 = M.Ma_Td2_i M.Ma_Td3 = M.Ma_Td3_i M.Ma_Td4 = M.Ma_Td4_I M.Ma_Td5 = M.Ma_Td5_i M.SL_Td = M.SL_Td_i M.Sl_Td2 = M.SL_Td2_i M.Sl_Td3 = M.SL_Td3_i M.Sl_Td4 = M.SL_Td4_I M.Sl_Td5 = M.SL_Td_i M.Ngay_Td = M.Ngay_Td_i M.Ngay_Td2 = M.Ngay_Td2_i M.Ngay_Td3 = M.Ngay_Td3_i M.Ngay_Td4 = M.Ngay_Td4_i M.Ngay_Td5 = M.Ngay_Td5_i M.GC_Td = M.GC_TD_i M.GC_Td2 = M.GC_TD2_i M.GC_Td3 = M.GC_TD3_i M.GC_Td4 = M.GC_TD4_i M.GC_Td5 = M.GC_TD5_i

RETURN *!* --- *!* FUNCTION FHe_so_luong *!* --- FUNCTION FHe_so_luong PARAMETERS _ngay_ct

PRIVATE _use_dm, _inselect, _He_so _inselect = SELECT()

_use_dm = .F.

IF !USED("M_Dmhsluong")

USE (K_cod + [Dmhsluong]) ORDER Ngay_hl ALIAS M_Dmhsluong IN 0

_use_dm = .T. ENDIF

SELECT M_Dmhsluong

SET ORDER TO Ngay_hl DESC SEEK DTOS(_ngay_ct) _He_so = M_Dmhsluong.He_so IF _use_dm USE IN M_Dmhsluong ENDIF SELECT(_inselect) RETURN _He_so

Một phần của tài liệu Phân tích thiết kế hệ thống thông tin quản lý hồ sơ cán bộ công nhân viên của cục Cục Doanh nghiệp nhỏ và vừa (Trang 43 - 73)

Tải bản đầy đủ (DOCX)

(73 trang)
w