数据库系统课程设计企业考勤管理系统设计



《数据库系统课程设计企业考勤管理系统设计》由会员分享,可在线阅读,更多相关《数据库系统课程设计企业考勤管理系统设计(36页珍藏版)》请在装配图网上搜索。
1、华科学院数据库系统课程设计 第一章 系统概述 1.1系统开发的背景与意义 1.1.1系统开发背景 现在不论哪个企业,都要进行考勤,一些企业在考勤管理方面用了大量的人力和财力,不说准确度和可信度如何,其效率很低,而且容易出错,不利于管理。所以人工考勤已经很难再满足企业规范化管理的要求,随着数据库技术的发展和企业信息化建设的进行,使用计算机管理考勤成为一种主流趋势,它不仅为企业减少了人力财力的付出,而且也大大减轻了考勤工作人员的工作量。 本文系统的阐述了企业考勤管理设计开发的全过程。包括系统需求调查分析,概念结构设计,逻辑结构设计等部分。 1.1.2 系统开发意义 开发本系统的目的,
2、就是要解决目前企业中关于员工出勤管理中所面临的一系列问题。开发出企业考勤管理系统能有效地提高企业办事效率,解决目前员工出勤管理问题,实现员工请出勤信息和缺勤信息对企业领导透明,使管理人员及时把握员工的情况,及时与员工沟通,提高生产质量。 第二章 系统需求分析 2.1系统功能要求 (1)记录每个员工每天所有进入公司的时刻和离开公司的时刻。 (2)每天结束时自动统计当天的工作时间 (3)每天结束时自动统计当天迟到或早退的次数。 (4)对于弹性工作制,每天结束时自动统计当月的工时,并自动算出当月欠缺或富余的时间 (5)每个月末统计该月的工作时间判
3、断是否足够 (6)每个月末统计该月的工作天数并判断是否足够 (7)管理人员查询并修改工作时间(特殊情况下修改) (8)管理人员账户管理(如设置密码等) (9)管理人员设定早退及迟到的条件,每个月的工作时间 (10)管理人员设定每个月的工作日期及放假日期 2.2 需求分析概述 实际的管理和记录工作非常需要快速获知各个部门员工的每日出勤情况,以便于及时向高层管理者反映员工的出勤,缺勤情况。目前,由于负责考勤的员工,工作任务比较多,而且还都是重复数据,让工作者没有办法及时的向上报告。工作问题不能及时处理。 针对以上的情况,我们提出企业考勤管理系统,实现网上考勤任务,以减轻考勤人员的工
4、作量。我公司准备开发员工考勤管理系统,完成员工基本信息维护、企业的部门信息维护、企业基本考勤类型的维护、员工考勤的管理、员工考勤的查询与分析。实现人事考勤的需要,包括员工迟到、早退的情况的记录,在每个月底计算工资对员工和对员工进行绩效评估的时候,对员工整个月的考勤记录进行查询和统计。 2.3系统层次划分 设定工作放假日期 统计工作时间 记录时刻 统计迟到早退次数 统计工时 设置密码 设定迟到早退条件 判断工作天数足够 判断工作时间足够 查询修改工作时间 考勤系统管理 管理系统 整合系统 考勤系统
5、 图2.1 系统层次图 员工 刷卡 2.4 系统数据流图 产生数据 进出时间信息 录入进出情况 进出记录 分析数据 传送 统 数据统计
6、 录入迟到情况 迟到记录 统 计 录入早退情况 计 进 早退记录 统 迟 出 录入 准备数据 录入工作时间情况 计 到 记 考勤管理系统
7、 时间记录 早 记 录 退 录 统计信息 工作日期 放假日期 统计工作时间记录 评 估 参照
8、 已统计信息 职称表 完整的考勤数据 月度考勤统计 图2.2系统数据流程图
9、 登陆 员工 考勤管理系统 帐号和 核对密码 查询考勤统计 月度考勤统计 密码 查询日期情况
10、 工作日期 放假日期 图2.3 系统查询数据流程图 2.5 数据字典 (1),数据项描述 数据项 别名 类型 长度 取值范围 取值含义 含义说明 员工编号 yno bigint 0000000至 9999999 前三位为部门编号,后四位为顺序编号 唯一标识每个员工 员工姓名 yname char 3 规范化 唯一标识每个员工 员工性别 ysex char “男”或“女” 规范化 性别是区分员工的一个大致范围 职位 yzhi bigint 标识员工工
11、作性质 入职时间 ytime bigint 2000至 2050 日期 进入职位时间 员工年龄 yage int 20至70 员工年龄的允许范围 唯一标识员工年龄 密码 ysecret int 000000至999999 6位登陆密码 唯一标识每个人的信息 表2-1 数据项描述表 (2)数据结构描述 数据结构 说明 组成 员工信息 是考勤管理子系统的主体数据结构,定义了一个员工的有关信息 员工编号,员工姓名,员工性别,出生日期,职位,密码 部门信息 是考勤管理子系统的主体数据结构,定义了一个部门的有关信息 部门编号,部门名
12、称 表2-2数据结构描述 (3)数据流描述 数据流 说明 数据流来源 数据流去向 组成 平均流量 高峰期流量 核对密码 根据不同人员相应的权限 登录时的信息 考勤管理系统 管理员的帐号密码与普通员工的帐号密码 每天传输1000次 1500次 完整的考勤数据 员工的考勤数据 月度考勤统计 工资评估 月度考勤编号、员工编号、日期、累计正常工作时间迟到次数、早退次数、旷工次数 每月传输1500次 1500次 表3-3数据流描述 (4)数据存储 数据存储 说明 流入数据流 流出数据流 组成 数据量 存取方式 月度考勤统计 记录员工每月
13、的考勤情况 一个月的信息统计 统计好的考勤数据 月度考勤编号、员工编号、日期、正常工作时间、迟到次数、早退次数、旷工次数 每月1500次 更新,顺序检索 表3-4数据存储 (5)处理过程 处理过程 说明 输入数据流 输出数据流 处理 登录 用正确的账号登录 账号和密码 核对密码 要求密码正确,并且根据账户名来区分管理员和普通员工 录入数据 将准备的数据依次录入 准备的出差,请假,加班,出勤的数据 录入正常工作,迟到早退,出勤的情况 要求数据根据其内容分别编入不同的记录中
14、 修改数据 根据相应的评估方法来修改数据 完整的考勤数据 修改数据单 把错误数据修改成正确数据 表3-5处理过程 第三章 系统总体设计 3.1 系统总体设计目标 经过调查、信息流程分析、数据收集,并结合需求分析,明确了该子系统的功能: (1)给员工编号,登记其基本信息。 (2)给员工配置信息,天下班时间,每天工作时间 (3)对员工的考勤数据进行登记,并进行每日和月度考勤统计。 (4)对员工的月度考勤统计的结果来核算员工工资和工作放假日期。 3.2 系统概念设计 3.2.1 概念模型(E-R图) 员 工 员工号 员工姓名 职 位 密 码
15、 员工年龄 员工性别 图3.1 员工属性图 刷 卡 机 规 格 刷卡机名称 刷卡机号 图3.2刷卡机属性图 管理员号 性 别 管理员 姓 名 年 龄 图3.3管理员属性图 员工姓名 员工号 密 码 员 工 职 位 员工性别 员工年龄 上班的时 间 m 每天工作时间 记录 早退的次数 迟到的次数 下班的时 间 管理员号 剩余的时间 姓 名 刷卡机号 统计
16、 n 管理员 刷卡机 m n 工作天数 性 别 年 龄 规 格 刷卡机名称 图4.4 系统E-R图 3.2.2 关系模式 员工(员工号,姓名,性别,年龄,职位,密码,入职时间) 记录数据(员工号,刷卡机号,上班的时间,下班的时间,每天工作时间) 刷卡机(刷卡机号,刷卡机名称,规格) 统计数据(员工号,刷卡机号,剩余的时间,迟到的次数,早退的次数,工作天数) 管理员(管理员号,姓名,性别,年龄) 员工
17、表(employee) 列名 别名 类型 长度 备注 员工号 yno bigint 6 设为主码 员工姓名 yname char 20 员工性别 ysex char 2 年龄 ygage int 3 职位 ygzhw char 6 密码 secret int 6 入职时间 ygrzh time 8 表3-1 员工表 记录数据表(data_record): 列名 别名 类型 长度 备注 员工号 yno bigint 6 设为主码 刷卡机号 skno bigint 1
18、5 设为主码 上班的时间 ondutytime datatime 4 下班的时间 offdutytime datatime 4 每天工作时间 worktime char 4 表3-2记录数据表 刷卡机表(skj): 列名 别名 类型 长度 备注 刷卡机号 skno bigint 15 设为主码 刷卡机名称 skname char 8 规格 skgg char 10 表3-3刷卡机表 统计数据表(statistics_data): 列名 别名 类型 长度 备注 员工号 yno
19、 bigint 6 设为主码 刷卡机号 skno bigint 15 设为主码 剩余的时间 ljworktime char 10 迟到的次数 latetimes int 2 早退的次数 leavetimes int 2 工作天数 workday bigint 2 表3-4统计数据表 管理员表(Administrator) 列名 别名 类型 长度 备注 管理员号 ano bigint 6 设为主码 姓名 aname char 20 性别 asex char 2 年龄 aage
20、 int 3 表3-5管理员表 第四章 数据库系统实现 4.1 系统实现工具简介 4.1.1 PowerDesigner 建模工具简介 提高软件质量,开发周期, 并且使软件更能够适应业务需求的变化,以提高投资回报率,是每个企业所面临的、需要解决的关键问题。软件建模为是提高与有效控制软件质量的解决之道。近些年来为大家关注的主要是数据设计模型、对象模型、和业务流程模型。由于历史原因,面向数据架构,开发以及业务分析的建模工作总是被单独购买,彼此之间没有集成或共享信息。但是,企业不断需要更集成的建模套件,即集
21、成化企业级建模工具,来支持在共享环境下,企业整个架构的不同方面的全面建模。 目前各主要的建模工具厂商如Sybase PowerDesigner, IBM Rational Rose, Computer Associates的ERWin等都在加强各自建模工具的融合与集成。PowerDesigner经过近20年的发展,已经在原有的数据建模上,形成一套完整的集成化企业级建模解决方案。 PowerDesigner系列产品提供了一个完整的建模解决方案,业务或系统分析人员,设计人员,数据库管理员BA和开发人员可以对其裁剪以满足他们的特定的需要;而其模块化的结构为购买和扩展提供了极大的灵活性,
22、从而使开发单位可以根据其项目的规模和范围来使用他们所需要的工具。PowerDesigner灵活的分析和设计特性允许使用一种结构化的方法有效地创建数据库或数据仓库,而不要求严格遵循一个特定的方法学。PowerDesigner提供了直观的符号表示使数据库的创建更加容易,并使项目组内的交流和通讯标准化,同时能更加简单地向非技术人员展示数据库和应用的设计。 PowerDesigner不仅加速了开发的过程,也向最终用户提供了管理和访问项目的信息的一个有效的结构。它允许设计人员不仅创建和管理数据的结构,而且开发和利用数据的结构针对领先的开发工具环境快速地生成应用对象和数据敏感的组件。开发人员可以使
23、用同样的物理数据模型查看数据库的结构和整理文档,以及生成应用对象和在开发过程中使用的组件。应用对象生成有助于在整个开发生命周期提供更多的控制和更高的生产率。 PowerDesigner是一个功能强大而使用简单工具集,提供了一个复杂的交互环境,支持开发生命周期的所有阶段,从处理流程建模到对象和组件的生成。PowerDesigner产生的模型和应用可以不断地增长,适应并随着你的组织的变化而变化。 PowerDesigner包含六个紧密集成的模块,允许个人和开发组的成员以合算的方式最好地满足他们的需要。这六个模块是: PowerDesigner ProcessAnalyst,
24、用于数据发现。 PowerDesigner DataArchitect,用于双层,交互式的数据库设计和构造。 PowerDesigner AppModeler,用于物理建模和应用对象及数据敏感组件的生成。 PowerDesigner MetaWorks,用于高级的团队开发,信息的共享和模型的管理。 PowerDesigner WarehouseArchitect,用于数据仓库的设计和实现。 PowerDesigner Viewer,用于以只读的、图形化方式访问整个企业的模型信息。 PowerDesigner 主要包括以下几个功能部分 (1) Dat
25、aArchitect 这是一个强大的数据库设计工具,使用DataArchitect 可利用实体-关系图为一个信息系统 创建"概念数据模型"-CDM(Conceptual Data Model)。并且可根据CDM 产生基于某一特定 数据库管理系统(例如:Sybase System 11)的"物理数据模型"-PDM(Physical Data Model)。 还可优化PDM,产生为特定DBMS 创建数据库的SQL 语句并可以文件形式存储以便在其他时 刻运行这些SQL 语句创建数据库。另外,DataArchitect还可根据已存在的数据库反向生成 PDM,C
26、DM 及创建数据库的SQL脚本。 (2) ProcessAnalyst 这部分用于创建功能模型和数据流图,创建"处理层次关系"。 (3) AppModeler 为客户/服务器应用程序创建应用模型。 (4) ODBC Administrator 此部分用来管理系统的各种数据源。 (5)XML文件 可以使用工具生成相应的XML文件,或者用XML文件生成相关模型 4.1.2 SQL Server 2000简介 SQL Server 是一个关系数据库管理系统,它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同
27、开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了。Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本;Sybase 则较专注于SQL Server在UNIX 操作系统上的应用。在本书中介绍的是Microsoft SQL Server 以后简称为SQL Server SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的一个版本。该版本继承了SQ
28、L Server 7.0 版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。 SQL Server 2000 的特性Microsoft® SQL Server? 2000 的特性包括: (1).Internet 集成。SQL Server 2000 数据库引擎提供完整的XML 支持。它还具有构成最大的Web 站点的数据存储组件所需的可伸缩性、可用性和安全功能。 (2).可伸缩性
29、和可用性。同一个数据库引擎可以在不同的平台上使用,从运行 Microsoft Windows® 98 的便携式电脑,到运行 Microsoft Windows 2000 数据中心版的大型多处理器服务器。 (3).企业级数据库功能。SQL Server 2000 关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。 (4).易于安装、部署和使用。 SQL Server 2000 中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用 SQL Server 的过程。SQL Ser
30、ver 2000 还支持基于标准的、与 Windows DNA 集成的程序设计模型,使 SQL Server 数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付 SQL Server 应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。
4.1.2企业考勤管理系统的实现
#include
31、loyee { int id; char name[20]; char department[20]; }; struct date / { int year; int month; int day; }; struct attendance { int id; int late; int early; char
32、 name[20]; struct date dat; }; struct statistic { int id; int late_count; int early_count; char name[20]; }; int COUNT=0; int FLAG_pause=1; system(“pause”) struct employee person[MAX_COUNT]; struct data B
33、ASE_DATA={2010,3,1}; void input_employee() { system("cls"); FILE *fp1,*fp2; struct employee temp; fp1=fopen("information1.txt","w"); fp2=fopen("information2.txt","w"); printf("\t\t\t\t 员工信息\n"); printf("\n\t\t\t\tID\t姓名\t部门\n\t\t\t\t"); f
34、printf(fp1,"\t\t\t\t 输入员工信息\n"); fprintf(fp1,"\n\t\t\t\tID\t姓名\t部门\n"); scanf("%d%s%s",&temp.id,temp.name,temp.department); while(temp.id!=0) { person[COUNT]=temp; printf("%d",temp.id); COUNT++; fprintf(fp1,"\t\t\t\t%d\t%s\t%s\
35、n",temp.id,temp.name,temp.department); fprintf(fp2,"%d\t%s\t%s\n",temp.id,temp.name,temp.department); printf("\t\t\t\t"); scanf("%d%s%s",&temp.id,temp.name,temp.department); } fclose(fp1); fclose(fp2); } void read_file() { FILE *fp;
36、 COUNT=0; if((fp=fopen("information2.txt","r"))==NULL) { printf("cant not open file\n"); exit(1); } while(!feof(fp)) { fscanf(fp,"%d%s%s",&person[COUNT].id,person[COUNT].name, person[COUNT].department);
37、 COUNT++; } COUNT--; fclose(fp); } void write_file() { int i; FILE *fp1,*fp2; fp1=fopen("information1.txt","w+"); fp2=fopen("information2.txt","w+"); if(fp1==NULL || fp2==NULL) { printf("cant not open file\n");
38、 exit(1);
}
fprintf(fp1,"\t\t\t\t 输入员工信息\n");
printf(fp1,"\n\t\t\t\tID\t姓名\t部门\n");
for(i=0;i 39、on[i].department);
}
fclose(fp1);
fclose(fp2);
}
void output_employee()
{
int i;
int id;
int choice;
char temp[20];
system("cls");
read_file();
printf("\n\t\t\t\t\t输出员工信息\n");
printf("\n\t1.输出全体员工信息\t");
printf("2.按姓名输出员工信息\t" 40、);
printf("3.按ID输出员工信息\t");
printf("4.按部门员工信息\t");
printf("5.返回主菜单\n");
printf("\n\t请选择(1~5):\t");
start:
scanf("%d",&choice);
if(choice<1 || choice>5)
{
printf("\t输入错误,请重输:\t");
goto start;
}
switch(choice)
{
case(1): 41、
{
printf("\t\t\tID\t姓名\t部门\n");
for(i=0;i 42、canf("%s",temp);
printf("\t\t\tID\t姓名\t部门\n");
for(i=0;i 43、}
case(3):
{
printf("\t\t\t输入ID:");
scanf("%d",&id);
printf("\t\t\tID\t姓名\t部门\n");
for(i=0;i 44、,person[i].id,person[i].name,
person[i].department);
break;
}
}
break;
}
case(4):
{
printf("\t\t\t输入部门:");
scanf("%s",temp);
printf("\t\t\tID\t姓名\t部门\n 45、");
for(i=0;i 46、(5):
break;
}
system("pause");
}
void insert_employee(struct employee new_person)
{
int i;
system("cls");
read_file();
i=COUNT;
while(person[i].id>new_person.id)
{
person[i]=person[i-1];
i--;
}
47、 person[i]=new_person;
COUNT++;
write_file();
if(FLAG_pause==0)
system("pause");
}
void delete_employee(int id)
{
int i;
int j;
read_file();
system("cls");
for(i=0;i 48、 break;
for(j=i;j 49、 printf("\t请输入新的员工信息:\n\t\t\tID\t姓名\t部门\n\t\t\t");
scanf("%d%s%s",&someone.id,someone.name,someone.department);
insert_employee(someone);
write_file();
FLAG_pause=0;
system("pause");
}
void management_employee()
{
int choice;
int id;
struct 50、employee someone;
printf("\n\t\t\t\t\t员工信息管理\n");
printf("\n\t1.输入员工信息\t");
printf("2.输出员工信息\t");
printf("3.插入员工信息\t");
printf("4.修改员工信息\t");
printf("5.删除员工\t");
printf("6.返回主菜单\n");
printf("\n\t请选择(1~6):\t");
start:
scanf("%d",&choice);
if(choi 51、ce<1 || choice>6)
{
printf("\t输入错误,请重输:\t");
goto start;
}
switch(choice)
{
case(1):
{
input_employee();
break;
}
case(2):
{
output_employee();
break;
}
52、 case(3):
{
printf("\t\t\t插入新员工信息\n");
printf("\t\t\t请输入员工的:\n\t\t\tID\t姓名\t部门\n");
printf("\t\t\t");
scanf("%d%s%s",&someone.id,someone.name,someone.department);
insert_employee(someone);
break;
}
53、
case(4):
{
printf("\t\t\t修改员工信息\n");
printf("\t请输入要修改的员工ID:\t");
scanf("%d",&id);
edit_employee(id);
break;
}
case(5):
{
printf("\t\t\t删除员工信息\n");
printf("\t 54、请输入要删除的员工ID:\t");
scanf("%d",&id);
delete_employee(id);
break;
}
case(6):
break;
}
}
int computer(struct data someday)
{
int i;
int days=0;
if(someday.month==BASE_DATA.month)
days=someda 55、y.day-BASE_DATA.day+1;
else
{
for(i=BASE_DATA.month+1;i 56、 days=days+30;
case 5:
days=days+31;
case 6:
days=days+30;
case 7:
days=days+31;
case 8:
days=days+31;
57、 case 9:
days=days+30;
case 10:
days=days+31;
case 11:
days=days+30;
}
days=days+someday.day;
}
return days;
}
void recorder() 58、
{
int i;
int late;
int early;
int id;
int days;
char name[20];
char filename[40];
FILE *fp;
struct date current_date;
system("cls");
read_file(); 59、
printf("\n\t\t\t\t考勤记录\n");
printf("\n\t\t日期:");
scanf("%d%d%d",¤t_date.year,¤t_date.month,¤t_date.day);
days=computer(current_date);
itoa(days,filename, 10);
strcat(filename,".txt");
fp=fopen(filename,"w");
fprintf(fp," 60、%d\t%d\t%d\n",current_data.year,current_data.month,current_data.day);
printf("\n\t\tID\t姓名\t迟到\t早退\n");
fprintf(fp,"ID\t姓名\t迟到\t早退\n");
for(i=0;i 61、me);
scanf("%d%d",&late,&early);
fprintf(fp,"%d\t%s\t%d\t%d\n",id,name,late,early);
}
fprintf(fp,"\n");
fclose(fp);
system("pause");
}
void statistic()
{
int i;
int j;
int k=0;
int status=0; 62、 / int begin_page;
int end_page;
char save;
char filename[40];
int year;
int month;
int day;
char ID[20];
char name[20];
char late[20];
c 63、har early[20];
FILE *fp;
struct date begin;
struct date end;
struct statistic temp;
struct statistic stat[30];
for(i=0;i<30;i++)
{
stat[i].early_count=0;
stat[i].late_count=0;
}
system( 64、"cls");
printf("\t\t\t统计员工考勤\n");
printf("\n\t请输入起止日期\n");
printf("\n\t\t起始日期:");
scanf("%d%d%d",&begin.year,&begin.month,&begin.day);
printf("\n\t\t终止日期:");
scanf("%d%d%d",&end.year,&end.month,&end.day);
begin_page=computer(begin);
end_page=computer(e 65、nd);
for(i=begin_page;i<=end_page;i++)
{
itoa(i,filename, 10);
strcat(filename,".txt");
fp=fopen(filename,"r");
fscanf(fp,"%d%d%d%s%s%s%s",&year,&month,&day,ID,name,late,early);
if(i==begin_page)
{
wh 66、ile(!feof(fp))
{
fscanf(fp,"%d%s%d%d",&stat[k].id,stat[k].name,&stat[k].late_count,&stat[k].early_count);
k++;
}
k--;
}
else
{
while(!feof(fp))
{
fscanf(fp,"%d%s%d%d",&temp.id,temp.name,
&temp.late_count,&temp.early_count);
for(j=0;j
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 专题党课讲稿:以高质量党建保障国有企业高质量发展
- 廉政党课讲稿材料:坚决打好反腐败斗争攻坚战持久战总体战涵养风清气正的政治生态
- 在新录用选调生公务员座谈会上和基层单位调研座谈会上的发言材料
- 总工会关于2025年维护劳动领域政治安全的工作汇报材料
- 基层党建工作交流研讨会上的讲话发言材料
- 粮食和物资储备学习教育工作部署会上的讲话发言材料
- 市工业园区、市直机关单位、市纪委监委2025年工作计划
- 检察院政治部关于2025年工作计划
- 办公室主任2025年现实表现材料
- 2025年~村农村保洁员规范管理工作方案
- 在深入贯彻中央8项规定精神学习教育工作部署会议上的讲话发言材料4篇
- 开展深入贯彻规定精神学习教育动员部署会上的讲话发言材料3篇
- 在司法党组中心学习组学习会上的发言材料
- 国企党委关于推动基层党建与生产经营深度融合工作情况的报告材料
- 副书记在2025年工作务虚会上的发言材料2篇