随着经济的发展,企业正向着大型化、规模化发展,而对于大中型企业,员工、职称等跟工资管理有关的信息随之急剧增加。在这种情况下单靠人工来处理员工的工资不但显得力不从心,而且极容易出错。如何设计一个小型企业工资的数据库管理系统,由计算机代替人工执行一系列诸如增加新员工,删除旧员工,工资查询,统计等 *** 作。这样就使办公人员可以轻松快捷地完成工资管理的任务。 人机界面设计的关键是使人与计算机之间能够准确地交流信息。一方面,人向计算机输入信息时应当尽量采取自然的方式;另一方面,计算机向人传递的信息必须准确,不致引起误解或混乱。另外,不要把内部的处理、加工与人机界面混在一起,以免互相干扰,影响速度。
设计MIS时,针对每一个功能,都要按照“I-P-O”的模块化思想,使输入、处理与输出“泾渭分明”,充分体现人机界面的通信功能。这样设计出来的程序不易出错,而且易于维护。 统一的人机界面不致于会增加用户的负担,让用户始终用同一种方式思考与 *** 作。最忌讳的是每换一个屏幕用户就要换一套 *** 作命令与 *** 作方法。
例如在整个系统可以以问号图标表示帮助,以磁盘图标表示存盘,以打印机图标表示打印等。 一个优秀的MIS软件应该提供在线求助功能,甚至提供使用向导,这将给用户带来极大的方便。在多媒体环境下,以语音提示作为 *** 作向导,不会干扰屏幕信息,是一个极佳的选择。
企业工资标准的制定,应该是由财务经理进行统一规划,或者是财务总监进行规划,而规划完毕后交给财会部门的相关人员其实这么说吧,工资这块的业务不是具体到某一个人负责管,而是工资这块属于独立的一个项目是由财务经理直接分配到某个人来管理企业的工资业务就是由总账会计来进行核算的而总账会计应该有的职责里并没有这一块有的单位工资这一块是由出纳来算的这都不一样。
所列出的基本工资奖金津贴福利费等等这些都是由一个人负责的公司的出勤情况和事病假都有管理层的人负责每月都有专人负责送数据所以财会人员只需要把数据算成工资就可以了当然,节假日上班按300%工资算这是财会人员负责的,应用工资管理系统,就可以节省大量人力财力与时间。
using System;
using SystemCollectionsGeneric;
using SystemText;
namespace ConsoleApplication1
{
//员工类
public class Employee
{
private string userinfo;
private string username;
protected static double salary;//薪水
//构造函数
public Employee(string username,string userinfo)
{
thisusername = username;
thisuserinfo = userinfo;
salary = 1000;
}
private Employee()
{ }
//获取用户名
public string GetUserName()
{
return username;
}
//打印用户名
public void PrintUserName()
{
ConsoleWriteLine("姓名:" + username);
}
//打印用户基本信息
public void PrintUserInfo()
{
ConsoleWriteLine("基本信息:" + userinfo);
}
//打印用户详细信息
public void PrintEmployeeInfo()
{
PrintUserName();
PrintUserInfo();
}
//虚方法,多态的关键,使不同的员工工资不一样
//我没有打印员工的类别,如果需要打印, 方法和这个类似
public virtual double GetSalary()
{
return salary;
}
//打印薪水
public void PrintSalary()
{
ConsoleWriteLine("薪水:" + GetSalary());
}
//输入薪水
static public void InputSalary(double newsalary)
{
salary = newsalary;
}
//以下是 *** 作符重载
//重载=号
public static bool operator==(Employee e1, Employee e2)
{
if (stringCompare(e1GetUserName(), e2GetUserName()) == 0)
return true;
else
return false;
}
//重载!=号
public static bool operator !=(Employee e1, Employee e2)
{
if (stringCompare(e1GetUserName(), e2GetUserName()) != 0)
return true;
else
return false;
}
//重载>号
public static bool operator >(Employee e1, Employee e2)
{
if (stringCompare(e1GetUserName(), e2GetUserName()) == 1)
return true;
else
return false;
}
//重载<号
public static bool operator <(Employee e1, Employee e2)
{
if (stringCompare(e1GetUserName(), e2GetUserName()) == -1)
return true;
else
return false;
}
}
//正式工
public class Regularstaff:Employee
{
public Regularstaff(string username,string userinfo)
: base(username,userinfo)
{
}
//重写父类的方法
public override double GetSalary()
{
return salary;
}
}
//行政人员
public class Administrationstaff : Employee
{
public Administrationstaff(string username, string userinfo)
: base(username, userinfo)
{ }
//重写父类的方法
public override double GetSalary()
{
return salary15;
}
}
//销售人员
public class Salesman : Employee
{
public Salesman(string username,string userinfo)
: base(username,userinfo)
{
}
//重写父类的方法
public override double GetSalary()
{
return salary18;
}
}
class Program
{
static void Main(string[] args)
{
ConsoleKeyInfo cki= new ConsoleKeyInfo();
List<Employee> emp = new List<Employee>();
string userinfo = stringEmpty;
string username = stringEmpty;
while (true)
{
//显示选择菜单
ConsoleWriteLine("1员工录入");
ConsoleWriteLine("2员工查询");
ConsoleWriteLine("3薪水录入");
ConsoleWriteLine("4工资查询");
ConsoleWriteLine("5工资平均值");
ConsoleWriteLine("6退出系统");
ConsoleWriteLine("请输入您的选择:");
cki = ConsoleReadKey();
ConsoleWriteLine();
switch (ckiKeyChar)
{
case '1':
int employeetype=0;
ConsoleWriteLine("请输入员工的姓名:");
username = ConsoleReadLine();
ConsoleWriteLine("请输入员工的基本信息:");
userinfo = ConsoleReadLine();
ConsoleWriteLine("请输入员工的类别:1、正式工 2、行政人员 3、销售人员");
employeetype = intParse(ConsoleReadLine());
Employee newemp;
//根据不同的选项实例化不同的对象
switch (employeetype)
{
case 1: newemp = new Regularstaff(username, userinfo); break;
case 2: newemp = new Administrationstaff(username, userinfo); break;
case 3: newemp = new Salesman(username, userinfo); break;
default:
//默认为正式工
newemp = new Regularstaff(username, userinfo);
break;
}
empAdd(newemp);
break;
case '2':
for (int i = 0; i < empCount; i++)
{
emp[i]PrintEmployeeInfo();
}
break;
case '3':
double newsalary = 0;
ConsoleWriteLine("请输入基本薪水:");
newsalary = doubleParse(ConsoleReadLine());
EmployeeInputSalary(newsalary);
break;
case '4':
for (int i = 0; i < empCount; i++)
{
emp[i]PrintUserName();
emp[i]PrintSalary();
}
break;
case '5':
double salaryCount = 0;
for (int i = 0; i < empCount; i++)
{
salaryCount = salaryCount +emp[i]GetSalary();
}
if (empCount != 0)
ConsoleWriteLine("平均薪水为:"+ salaryCount/empCount);
else
ConsoleWriteLine("平均薪水为:0");
break;
case '6': return;
default:
ConsoleWriteLine("输入错误,请重新输入!");
break;
}
}
}
}
}
这个系统最终实现的主要功能如下:
员工基本信息部分:主要完成对员工基本信息的添加、修改、删除、查询等管理。
员工档案信息部分:主要完成对员工档案信息的添加、修改、删除、查询等管理。
员工部门信息部分:主要完成对对员工所属部门的添加、修改、删除、查询等管理。
员工工资信息部分:主要完成对员工工资信息的添加、修改、删除、查询等管理。
员工保险信息部分:主要完成对员工保障信息的添加、修改、删除、查询等管理。
员工合同信息部分:主要完成员工与企业签订合同的一系列信息的添加、修改、删除、查询管理。
员工配偶信息(工号,配偶姓名, 出生年月,工作单位,电话)的工号参照员工基本信息的工号。
员工学历信息(工号,员工姓名,学历,毕业学校,专业,毕业时间,外语情况)的工号参照员工基本信息的工号。
企业工作岗位信息(工号,学历,部门,职位)的工号参照员工基本信息的工号,部门参照企业部门信息的部门
员工基本信息与员工配偶信息建立关于工号的父子关系。
员工基本信息与员工学历信息建立关于工号的父子关系。
员工基本信息与企业工作岗位信息建立关于工号的父子关系
。 企业工作岗位信息与员工基本信息建立关于工号的父子关系。
企业工作岗位信息与企业部门信息建立关于部门的父子关系。
采纳吧
选择开始菜单中→程序→Management SQL Server 2008→SQL Server Management Studio命令,打开SQL Server Management Studio窗口,并使用Windows或 SQL Server身份验证建立连接。
在对象资源管理器窗口中展开服务器,然后选择数据库节点
右键单击数据库节点,从d出来的快捷菜单中选择新建数据库命令。
执行上述 *** 作后,会d出新建数据库对话框。在对话框、左侧有3个选项,分别是常规、选项和文件组。完成这三个选项中的设置会后,就完成了数据库的创建工作,
在数据库名称文本框中输入要新建数据库的名称。例如,这里以“新建的数据库”。
在所有者文本框中输入新建数据库的所有者,如sa。根据数据库的使用情况,选择启用或者禁用使用全文索引复选框。
在数据库文件列表中包括两行,一行是数据库文件,而另一行是日记文件。通过单击下面的添加、删除按钮添加或删除数据库文件。
切换到选项页、在这里可以设置数据库的排序规则、恢复模式、兼容级别和其他属性。
切换到文件组页,在这里可以添加或删除文件组。
完成以上 *** 作后,单击确定按钮关闭新建数据库对话框。至此“新建的数据”数据库创建成功。新建的数据库可以再对象资源管理器窗口看到。
部门信息表tb_department:
ID 部门编号 自动编号 主键
部门名称de_name 文本
部门员工数de_num 数字
职工表tb_employee:
ID 员工编号 自动编号 主键
员工姓名em_name 文本
员工性别em_sex 文本
部门编号de_id 数字
员工出生日期em_data 日期/时间
员工身份z号em_virify 文本
员工职称em_call 文本
基本工资表tb_pay:
ID 工资编号 自动编号 主键
员工编号em_id 数字
工资结算日期pa_data 日期/时间
工资数pa_num 数字
注意事项:
1、每一个表都要有一个ID自动编号的自动增长列,作为主键。
2、有一些字段的类型,例如货币等,尽量能用文本和数字就用文本和数字。
3、注意表和字段的命名。
4、字段可能不全,自行添加。
5、员工表的部门编号和部门表的部门编号,员工表的员工编号和工资表的员工编号,虽然可以形成外键关系,但是一般不建议用外键关联,否则插入数据的一致性会受影响。
你说的那个选择题,不明白你是什么意思。。。。
以上就是关于工资管理系统的工资管理系统应用意义全部的内容,包括:工资管理系统的工资管理系统应用意义、基于C#语言的公司工资管理系统设计、某公司需要做一个SQL人事管理系统,请做一份数据库的设计等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)