1. 程式人生 > >簡易人事管理系統(pyqt5+mysql)

簡易人事管理系統(pyqt5+mysql)

前言

最近和同學合作完成了資料庫實習,資料庫題目是人事管理系統。我們做的功能比較簡單,還有很多未能完善的。不過這也算是一次創新,之前做的都是網頁,這一次嘗試用python做GUI介面。之前沒有做過GUI介面,並且這一次選用的是pyqt5庫,網上資料不多,所以製作過程比較坎坷。不過磕磕絆絆還是完成了這個專案。一下是對該專案的總結

1 系統概述

     人事管理系統,屬於ERP的一個部分。它單指彙集成功企業先進的人力資源管理理念、人力資源管理實踐、人力資源資訊化系統建設的經驗,以資訊科技實現對企業人力資源資訊的高度整合化管理,為中國企業使用的人力資源管理解決方案。核心價值在於將人力資源工作者從繁重的日常瑣碎事務中解放出來,將更多地精力用於企業的人力資源職能管理和管理決策,保持企業的持續高效運營。 集中記錄、監測和分析所有勞動力的技能和資格,提供決策分析。提高企業整體的科技含量與管理效率,加快企業的資訊化建設。

2 相關技術

1.mysql

2.python

3.pyqt5

3 系統分析

3.1需求分析  

人事管理系統需要滿足的基本功能如下:

1.員工管理:新增員工資訊、修改員工共資訊、刪除員工資訊、查詢員工資訊

2.部門管理:新增部門資訊、修改部門資訊、刪除部門資訊、查詢部門資訊

3.薪資管理:薪資分配、薪資歷史查詢

4.人事管理:人員調動,調動歷史查詢

5.考核管理:人員考核,考核歷史查詢

3.2資料庫設計   

3.2.1資料庫概念模型

3.2.2資料庫邏輯模型

staff(s_no,s_name,s_sex,s_birth,s_id,s_num,s_email,is_married,s_address)

department(d_no,d_name,manager)

professional(p_no,p_name)

education(s_no,xl,major,school,graduate_date)

sp(s_no,p_no,d_no,sj)

checking(s_no,c_date, c_tdays,c_ldays,c_odays,c_adays)

salary(s_no,leastpays,prize,doublingpays,dkannuity,dkinsurance,deduct,real_salary,s_date)

current_salary(s_no,salary,prize,deduct)

注:

staff

員工表

s_no員工編號,s_name姓名,s_sex性別,s_birth出生日期,s_id身份證號,s_num電話,s_email郵箱,is_married婚否,s_address住址

department

部門表

d_no部門編號,d_name部門名稱,manager部門經理

professional

職位表

p_no職位編號,p_name職位名稱

education

學歷表

s_no員工編號,xl學歷,major專業,school畢業院校,graduate_date畢業日期

sp

崗位表

s_no員工編號,p_no職位編號,d_no部門編號,sj入職時間

checking

考勤表

s_no員工編號,c_date本月日期, c_tdays出勤日,c_ldays請假日,c_odays加班日,c_adays曠工日

salary

薪資表

s_no員工編號,leastpays底薪,prize獎金,doublingpays加班費,dkannuity養老金,dkinsurance醫療保險,deduct應扣工資,real_salary實際薪資,s_date發薪日期

current_salary

當前薪資表

s_no員工編號,salary底薪,prize獎金,deduct應扣工資

 3.2.3 資料庫物理模型

管理員資訊表

    記錄了管理員的賬號資訊(工號和密碼)。

列名

資料型別

允許空值

s_no(主鍵)

char(6)

非空

pwd

char(20)

非空

員工資訊表

    該表記錄了員工的部分資訊,如員工的姓名,性別,生日等。

列名

資料型別

允許空值

s_no(主鍵)

char(6)

非空

s_name

char(8)

非空

s_sex

char(2)

非空

s_birth

date

非空

s_id

Char(20)

非空

s_num

char(11)

非空

s_email

char(20)

非空

is_married

char(3)

非空

s_address

varchar(50)

非空

部門資訊表

    該表記錄了所有部門的資訊(部門編號,名稱和經理)

列名

資料型別

允許空值

d_no(主鍵)

char(6)

非空

d_name

varchar(20)

s_no

char(6)

職位資訊表  

該表記錄了所有職位的資訊(職位編號和名稱)

列名

資料型別

允許空值

p_no(主鍵)

char(6)

非空

p_name

char(30)

非空

就職表

   該表記錄了員工所在的部門,擔任的職位和入職時間。

列名

資料型別

允許空值

s_no(主鍵)

char(6)

非空

p_no

char(6)

非空

d_no

char(6)

非空

entry_time

date

非空

教學資訊表

該表記錄了員工的教育資訊,包括學歷,專業,學校等。

列名

資料型別

允許空值

s_no(主鍵)

char(6)

非空

xl

varchar(20)

非空

major

varchar(20)

school

varchar(20)

graduate_date

date

當前薪資表

   記錄了員工當前的底薪,獎金和應扣工資。

列名

資料型別

允許空值

s_no(主鍵)

char(6)

非空

salary

float(11)

非空

prize

float(11)

deduct

float(11)

歷史發薪表

    該表記錄了員工以往工資的詳情資訊(如:獎金,養老金等)。

列名

資料型別

允許空值

sa_no(主鍵)

char(6)

非空

s_no

char(6)

非空

leastpays

float(11)

非空

prize

float(11)

doublingpays

float(11)

dkannuity

                float(11)

dkinsurrance

float(11)

s_date

date

deduct

float(11)

real_salary

float(11)

人事調動表

   該表記錄了員工的歷史調動資訊(如:調前部門,職位和調後部門,職位等)。

列名

資料型別

允許空值

p_no(主鍵)

char(6)

非空

s_no

varchar(20)

非空

predept

varchar(20)

非空

aftdept

varchar(20)

非空

prepost

varchar(20)

非空

aftpost

varchar(20)

非空

p_date

date

非空

考勤表

   該表記錄了員工的歷史考勤資訊(如:曠工天數,請假天數,出勤天數,加班天數)。

列名

資料型別

允許空值

s_no(主鍵)

char(6)

非空

c_date(主鍵)

char(10)

非空

c_tdays

int(2)

非空

c_ldays

int(2)

非空

s_odays

int(2)

非空

s_adays

int(2)

非空

4 系統功能設計

5 系統主介面  

填寫資訊錯誤,會提示: