版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-.z.摘要随着信息技术的发展,计算机已被广泛的应用于社会的各个领域,成为推动社会发展的技术动力。而在计算机应用中,软件的作用十分突出,软件已经发展成为信息技术的核心,主导着信息产品的开发和信息技术市场的进一步的开拓。项目管理系统,就是项目的管理者应用专门管理项目的系统软件,在有限的资源约束下,运用系统的观点、方法和理论,对项目涉及的全部工作进行有效地管理。它从项目的投资决策开始到项目结束的全过程进行计划、组织、指挥、协调、控制和评价,以实现项目的目标。本文阐述了一个基于JavaWeb设计的项目管理系统,采用MVC的三层设计模式Jsp-Servlet-JavaBean.即前端由Jsp网页实现逻辑,后台通过对数据库的操作实现数据逻辑。结合传统的管理,为了解决企业项目管理过程中的工作任务管理问题,本系统实现了对项目的增加、删除、修改、查询,进一步对项目进行按任务分配和追踪,实现了中小型企业对项目的管理。关键词:项目管理MVC任务分配目录TOC\o"1-3"\h\u5256摘要III16201目录IV131731需求分析1221.1问题描述1193191.2系统需求139562概要设计2254242.1系统总体结构245302.2管理员信息管理功能模块2113573详细设计4163473.1数据库设计471893.1.1E-R图设计:4163133.1.2数据字典5303403.2界面设计6196943.3公共类设计11311053.3.1工具框架层.cqust.Util11173493.3.2实体模型层.cqust.Bean1158093.3.3数据接口层.cqust.Dao13255203.4登陆模块设计20231963.5修改密码模块设计2137234系统测试22208235总结2813081参考文献2932145致30-.z.1需求分析1.1问题描述在网络飞速发展的今天,网络给人们带来了很多便利,越来越来的管理网络化。基于传统管理系统许多不方便,公司项目的管理系统希望得到改善,不再局限于传统项目管理,因此希望经过项目的在线分配后能方便更好的管理与分配,在线项目管理对将每个项目的管理划分为无数个小任务,能更好的对任务的分配,同时对任务的进度的了解。1.2系统需求在该中,用户类型分为:管理员、普通员工,本系统以及功能设计都根据传统的项目管理,进行了以下需求分析: 管理员登陆后能够对系统的所有信息进行管理,如项目管理,任务管理,人员管理以及个人信息的维护。项目管理主要功能为:(1)新增项目:新增项目编号、名称、项目进度、负责人、(申请时间)、(审核状态)(2)删除项目:对已经完成的项目和停止的项目进行删除,以免对系统的冗余(3)修改项目:修改项目名称、修改项目负责人、修改项目进度,对项目进度的更新是依赖于各个任务的进度。人员管理主要功能:(1)新增员工:员工编号、员工名、性别、联系方式(2)删除:删除没有任务的员工(3)修改员工:修改指定员工各信息。任务管理的主要功能为:(1)分配任务:根据新添加的任务对其分配,如任务编号、项目名、员工、任务、进度(2)修改任务:对任务的各项信息进行维护,如任务的权值。查询的主要功能为:对项目信息及分配情况的查询,能更好的把握项目的进度情况。(1)查询员工:查询员工各项信息(2)查询项目:查询项目各项信息(3)查询任务:查询任务各项信息员工登陆后能够查询个人参与的任务以及进度,方便自己对工时的管理,随着员工进度的更新,整个项目的进度会进行更新,也可以对个人的信息的维护。2概要设计2.1系统总体结构图2.1系统结构图2.2管理员信息管理功能模块管理员信息功能模块设计如下图2.2所示:图2.2管理员功能图3详细设计3.1数据库设计3.1.1E-R图设计:数据库采用PowerDesigner设计,包括概念模型、物理模型以及数据字典,E-R图如下图3.1所示:图3.1数据库E-R图3.1.2数据字典表3.1实体T01管理员信息表的属性的清单名称代码数据类型长度管理员编号anoVARCHAR2(50)50管理员密码apassVARCHAR2(50)50管理员名字anameVARCHAR2(50)50表3.2实体T02项目表的属性的清单名称代码数据类型长度项目编号pidVARCHAR2(30)30管理员编号anoVARCHAR2(50)50项目名称pnameVARCHAR2(30)30项目负责人pleaderVARCHAR2(30)30项目申请时间ptimeDATE项目进度progressINTEGERreviewerVARCHAR2(30)30表3.3实体T03员工信息表的属性的清单名称代码数据类型长度员工编号snoVARCHAR2(50)50密码spassVARCHAR2(50)50员工snameVARCHAR2(50)50员工性别se*VARCHAR2(10)10手机phoneVARCHAR2(20)20表3.4实体T04任务表的属性的清单名称代码数据类型长度任务编号tnoVARCHAR2(50)50员工编号snoVARCHAR2(50)50项目编号pidVARCHAR2(30)30任务名dutyVARCHAR2(50)50任务进度tprogressINTEGER分配权值ratioINTEGER3.2界面设计 本主要页面为管理员主页、项目信息界面、任务信息界面、人员管理界面以及个人主页,分别对应页面为inde*.jsp、project.jsp、task.jsp、staff.jsp、staffinde*.jsp、userpage.jsp.以下为管理里员主界面inde*.jsp部分代码:<%pagelanguage="java"contentType="te*t/html;charset=utf-8"pageEncoding="utf-8"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""./TR/html4/loose.dtd"><html><head><metahttp-equiv="Content-Type"content="te*t/html;charset=utf-8"><linkrel="stylesheet"href="css/bootstrap.css"><linkrel="stylesheet"href="css/font-awesome.css"><linkrel="stylesheet"href="css/inde*.css"><!--修改自Bootstrap官方Demon,你可以按自己的喜好制定CSS样式--><linkrel="stylesheet"href="css/font-change.css"><!--将默认字体从宋体换成微软雅黑(个人比较喜欢微软雅黑,移动端和桌面端显示效果比较接近)--><scripttype="te*t/javascript"src="js/jquery-1.12.3.min.js"></script><scripttype="te*t/javascript"src="js/bootstrap.min.js"></script><title>主页面</title><scripttype="te*t/javascript">functioncheck(){if(confirm("您确定要退出吗"")){window.location.href="leave.jsp"}}/* *对选中的标签激活active状态,对先前处于active状态但之后未被选中的标签取消active *(实现左侧菜单中的标签点击后变色的效果) */ $(document).ready(function(){ $('ul.nav>li').click(function(e){//e.preventDefault(); 加上这句则导航的<a>标签会失效 $('ul.nav>li').removeClass('active'); $(this).addClass('active'); }); });/* *解决aja*返回的页面中含有javascript的办法: *把*mlHttp.responseTe*t中的脚本都抽取出来,不管AJA*加载的HTML包含多少个脚本块,我们对找出来的脚本块都调用eval方法执行它即可 */functione*ecuteScript(html) {varreg=/<script[^>]*>([^\*00]+)$/i;//对整段HTML片段按<\/script>拆分varhtmlBlock=html.split("<\/script>");for(variinhtmlBlock) {varblocks;//匹配正则表达式的容数组,blocks[1]就是真正的一段脚本容,因为前面reg定义我们用了括号进行了捕获分组if(blocks=htmlBlock[i].match(reg)) {//清除可能存在的注释标记,对于注释结尾-->可以忽略处理,eval一样能正常工作varcode=blocks[1].replace(/<!--/,'');try { eval(code)//执行脚本 }catch(e) { } } } }functionshowAtRight(url){var*mlHttp;if(window.*MLHttpRequest){//codeforIE7+,Firefo*,Chrome,Opera,Safari *mlHttp=new*MLHttpRequest(); //创建*MLHttpRequest对象 }else{//codeforIE6,IE5 *mlHttp=newActive*Object("Microsoft.*MLHTTP"); } *mlHttp.onreadystatechange=function(){ //onreadystatechange—当readystate变化时调用后面的方法if(*mlHttp.readyState==4){//*mlHttp.readyState==4 —— finisheddownloadingresponseif(*mlHttp.status==200){//*mlHttp.status==200 —— 服务器反馈正常 document.getElementById("content").innerHTML=*mlHttp.responseTe*t; //重设页面中id="content"的div里的容 e*ecuteScript(*mlHttp.responseTe*t); //执行从服务器返回的页面容里包含的JavaScript函数 }//错误状态处理elseif(*mlHttp.status==404){ alert("出错了☹(错误代码:404NotFound),……!");/*对404的处理*/return; }elseif(*mlHttp.status==403){ alert("出错了☹(错误代码:403Forbidden),……");/*对403的处理*/return; }else{ alert("出错了☹(错误代码:"+request.status+"),……");/*对出现了其他错误代码所示错误的处理*/return; } } }//把请求发送到服务器上的指定文件(url指向的文件)进行处理 *mlHttp.open("GET",url,true); //true表示异步处理 *mlHttp.send(); } </script></head><body><!--顶部菜单====================================--><navclass="navbarnavbar-inversenavbar-fi*ed-top"><divclass="container"><divclass="navbar-header"><buttontype="button"class="navbar-togglecollapsed"data-toggle="collapse"data-target="*navbar"><spanclass="sr-only">Togglenavigation</span><spanclass="icon-bar"></span><spanclass="icon-bar"></span><spanclass="icon-bar"></span></button><aclass="navbar-brand"href="inde*.jsp">项目管理系统</a><center><fontcolor="red">管理员:<%=session.getAttribute("username1")%></font></center></div><divid="navbar"class="navbar-collapsecollapse"><ulclass="navnavbar-navnavbar-right"><li><ahref="***"onclick="showAtRight('addproject.jsp')"><iclass="fafa-users"></i> 添加新项目<spanclass="sr-only">(current)</span></a></li><li><ahref="***"onclick="showAtRight('arrangeTask.jsp')"><iclass="fafa-globe"></i> 任务分配<spanclass="sr-only">(current)</span></a></li><li><ahref="***"onclick="showAtRight('addstaff.jsp')"><iclass="fafa-users"></i> 增加员工<spanclass="sr-only">(current)</span></a></li></ul></div></div></nav><!--左侧菜单选项=========================================--><divclass="container-fluid"><divclass="row-fluie"><divclass="col-sm-3col-md-2sidebar"><ulclass="navnav-sidebar"><!--一级菜单--><liclass="active"><ahref="***"> 系统主菜单<spanclass="sr-only">(current)</span></a></li><li><ahref="***"onclick="showAtRight('project.jsp')"><iclass="fafa-globe"></i> 项目信息<spanclass="sr-only">(current)</span></a></li><li><ahref="***"onclick="showAtRight('task.jsp')"><iclass="fafa-globe"></i> 任务维护<spanclass="sr-only">(current)</span></a></li><li><ahref="***"onclick="showAtRight('staff.jsp')"><iclass="fafa-user"></i> 员工信息维护<spanclass="sr-only">(current)</span></a></li><li><ahref="***"onclick="showAtRight('updatepass.jsp')"><iclass="fafa-file-te*t"></i> 修改密码<spanclass="sr-only">(current)</span></a></li><li><ahref="***"onclick="check()"><iclass="fafa-file-te*t"></i> 退出系统<spanclass="sr-only">(current)</span></a></li></ul></div></div></div><divclass="col-sm-9col-sm-offset-3col-md-10col-md-offset-2main"><h1class="header">控制台<small> 欢迎使用项目后台管理系统</small></h1><divid="content"></div></div></body></html>3.3公共类设计本主要分为四层,分别是Util、Model、Dao以及Control.其中前四层为公共类,其中Util包封装了所有的工具类,Model包封装了实体类,Dao包封装了一些对实体类实例化以及从数据库读写数据等类,是对所有实体以及对实体操作方法的封装,Control为对页面控制的Servlet类。3.3.1工具框架层.cqust.Util该层里仅有一个判断是否输入为空的类,代码如下:package.cqust.util;publicclassStringUtil{publicstaticbooleanisEmpty(Stringstr){if("".equals(str)||str==null){returntrue; }else{returnfalse; } }publicstaticbooleanisNotEmpty(Stringstr){if(!"".equals(str)&&str!=null){returntrue; }else{returnfalse; } }}3.3.2实体模型层.cqust.Bean 在该层下有四个类,为Admin.java、Staff.java、Project.java、Task.java分别对应数据库的四个表,例如主要的项目类Project.java代码如下:publicclassProjectimplementsSerializable{privateStringpid;privateStringpname;privateStringano;privateStringpleader;privateDateptime;privateintprogress;publicProject(){super();//TODOAuto-generatedconstructorstub}publicProject(Stringpid,Stringpname,Stringano,Stringpleader,Dateptime,intprogress){super();this.pid=pid;this.pname=pname;this.ano=ano;this.pleader=pleader;this.ptime=ptime;gress=progress;}publicStringgetPid(){returnpid;}publicvoidsetPid(Stringpid){this.pid=pid;}publicStringgetPname(){returnpname;}publicvoidsetPname(Stringpname){this.pname=pname;}publicStringgetAno(){returnano;}publicvoidsetAno(Stringano){this.ano=ano;}publicStringgetPleader(){returnpleader;}publicvoidsetPleader(Stringpleader){this.pleader=pleader;}publicDategetPtime(){returnptime;}publicvoidsetPtime(Dateptime){this.ptime=ptime;}publicintgetProgress(){returnprogress;}publicvoidsetProgress(intprogress){gress=progress;}}3.3.3数据接口层.cqust.Dao 该层同样也有四个类,为AdminDao.java、StaffDao.java、ProjectDao.java、taskDao.java分别对应实体类包的四个类,用于对实体类的实例化,从数据库读写数据。例如对任务的管理taskDao.java,代码如下:主要实现的为任务的操作,任务分页显示在界面上,任务的增修改以及对进度的更新。publicclasstaskDaoe*tendsBaseDao{/** *查询任务信息分页显示 **returnlist */publicList<Task>getTaskByPage(intpageSize,intpageNow){ List<Task>list=newArrayList<Task>(); Connectionconn;try{conn=getConnection(); Stringsql="selecttop"+pageSize+"*fromdbo.taskwheretnonotin(selecttop(("-1)*")tnofromdbo.task)"; PreparedStatementpstatement=conn.prepareStatement(sql);pstatement.setInt(1,pageNow);pstatement.setInt(2,pageSize); ResultSetrs=pstatement.e*ecuteQuery();while(rs.ne*t()){ Tasktask=newTask(); Stringtno=rs.getString("tno"); Stringsno=rs.getString("sno"); Stringpid=rs.getString("pid"); Stringtname=rs.getString("tname");inttprogress=rs.getInt("tprogress");intratio=rs.getInt("ratio");task=newTask(tno,sno,pid,tname,tprogress,ratio);list.add(task); } }catch(E*ceptione){//TODOAuto-generatedcatchblocke.printStackTrace(); }returnlist; }/** *获取任务表记录分页的总数 * *returnt2 */publicintPageCount(){intrecordCount=0,t1=0,t2=0; Connectioncon=null; PreparedStatementpsta=null; ResultSetrs=null; Stringsql="select*fromdbo.task";try{con=getConnection();psta=con.prepareStatement(sql);rs=psta.e*ecuteQuery();while(rs.ne*t()){recordCount++; }t1=recordCount%3;t2=recordCount/3; }catch(E*ceptione){e.printStackTrace(); }if(t1!=0){t2=t2+1;} System.out.println(t2);returnt2; }/** *通过编号查询任务信息 * *returntask */publicTaskfindTaskByid(Stringid){ Connectionconn=null; Tasktask=null;try{conn=getConnection(); Stringsql="select*fromdbo.taskwheretno=""; PreparedStatementpsmt=conn.prepareStatement(sql);psmt.setString(1,id); ResultSetrs=psmt.e*ecuteQuery();while(rs.ne*t()){ Stringtno=rs.getString("tno"); Stringsno=rs.getString("sno"); Stringpid=rs.getString("pid"); Stringtname=rs.getString("tname");inttprogress=rs.getInt("tprogress");intratio=rs.getInt("ratio");task=newTask(tno,sno,pid,tname,tprogress,ratio); } }catch(E*ceptione){//TODOAuto-generatedcatchblocke.printStackTrace(); }returntask; }//通过编号查询任务信息publicTaskfindSnoByid(Stringsid){ Connectionconn=null; Tasktask=null;try{conn=getConnection(); Stringsql="select*fromdbo.taskwheresno=""; PreparedStatementpsmt=conn.prepareStatement(sql);psmt.setString(1,sid); ResultSetrs=psmt.e*ecuteQuery();while(rs.ne*t()){ Stringtno=rs.getString("tno"); Stringsno=rs.getString("sno"); Stringpid=rs.getString("pid"); Stringtname=rs.getString("tname");inttprogress=rs.getInt("tprogress");intratio=rs.getInt("ratio");task=newTask(tno,sno,pid,tname,tprogress,ratio); } }catch(E*ceptione){//TODOAuto-generatedcatchblocke.printStackTrace(); }returntask; }//通过项目编号查询任务信息publicbooleanfindPidByid(Stringpid){ Connectionconn=null;booleanflag=false;try{conn=getConnection(); Stringsql="select*fromdbo.taskwherepid=""; PreparedStatementpsmt=conn.prepareStatement(sql);psmt.setString(1,pid); ResultSetrs=psmt.e*ecuteQuery();if(rs.ne*t()){flag=true; }else{flag=false; } }catch(E*ceptione){//TODOAuto-generatedcatchblocke.printStackTrace(); }returnflag; }publicList<Task>getTaskBySno(Stringsid){ List<Task>list=newArrayList<Task>(); Connectionconn;try{conn=getConnection(); Stringsql="select*fromdbo.taskwheresno=""; PreparedStatementpstatement=conn.prepareStatement(sql);pstatement.setString(1,sid); ResultSetrs=pstatement.e*ecuteQuery();while(rs.ne*t()){ Tasktask=newTask(); Stringtno=rs.getString("tno"); Stringsno=rs.getString("sno"); Stringpid=rs.getString("pid"); Stringtname=rs.getString("tname");inttprogress=rs.getInt("tprogress");intratio=rs.getInt("ratio");task=newTask(tno,sno,pid,tname,tprogress,ratio);list.add(task); } }catch(E*ceptione){//TODOAuto-generatedcatchblocke.printStackTrace(); }returnlist; }/** *更新任务进度 * *paramtask *returnflag */publicbooleanupdateTask(Tasktask){booleanflag=false; Connectionconn=null;try{conn=getConnection(); Stringsql="updatedbo.tasksettno=",sno=",pid=",tname=",tprogress=",ratio="wheretno=""; PreparedStatementpsmt=conn.prepareStatement(sql);psmt.setString(1,task.getTno());psmt.setString(2,task.getSno());psmt.setString(3,task.getPid());psmt.setString(4,task.getTname());psmt.setInt(5,task.getTprogress());psmt.setInt(6,task.getRatio());psmt.setString(7,task.getTno());inti=psmt.e*ecuteUpdate();if(i==1){flag=true; System.out.println("修改成功!!!"); } }catch(E*ceptione){//TODOAuto-generatedcatchblocke.printStackTrace(); }returnflag; }/** *分配任务信息 * *paramtask *returnflag */publicbooleanaddTaskInfo(Tasktask){ Connectionconn=null;booleanflag=false;try{conn=getConnection(); Stringsql="insertintodbo.task(tno,sno,pid,tname,tprogress,ratio)values(",",",",",")"; PreparedStatementpsmt=conn.prepareStatement(sql);psmt.setString(1,task.getTno());psmt.setString(2,task.getSno());psmt.setString(3,task.getPid());psmt.setString(4,task.getTname());psmt.setInt(5,task.getTprogress());psmt.setInt(6,task.getRatio());inti=psmt.e*ecuteUpdate();if(i==1){flag=true; System.out.println("添加成功!!!"); } }catch(E*ceptione){//TODOAuto-generatedcatchblocke.printStackTrace(); }returnflag; }/** *更新任务进度 * *param *return */publicvoidmodifyProgress(Stringpid,Stringsno,intprogress){ Connectionconn=null;try{conn=getConnection(); Stringsql="updatedbo.tasksettprogress="wherepid="andsno=""; PreparedStatementpsmt=conn.prepareStatement(sql);psmt.setInt(1,progress);psmt.setString(2,pid);psmt.setString(3,sno);inti=psmt.e*ecuteUpdate();if(i==1){ System.out.println("更新任务进度成功!!!"); }else{ System.out.println("更新任务进度失败!!!!!"); } }catch(E*ceptione){//TODOAuto-generatedcatchblocke.printStackTrace(); } }/** *获取同项目中所有员工进度的总和 * *param *return */publicintsumTotalProgress(Stringproid){inttempValue=0,temp=0;intcount=0; Connectionconn;try{conn=getConnection(); Stringsql="select*fromdbo.taskwherepid=""; PreparedStatementpstatement=conn.prepareStatement(sql);pstatement.setString(1,proid); ResultSetrs=pstatement.e*ecuteQuery();while(rs.ne*t()){count++;inttprogress=rs.getInt("tprogress");intratio=rs.getInt("ratio");temp+=tprogress*ratio; System.out.println("tprogress="+tprogress); }tempValue=temp/100; System.out.println(count); System.out.println("tempValue="+tempValue); }catch(E*ceptione){//TODOAuto-generatedcatchblocke.printStackTrace(); }returntempValue; }}3.4登陆模块设计登录的校验loginServlet,其中根据下拉框不同的选择的用户,进入不同的主界面。利于系统的管理:protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletE*ception,IOE*ception{//TODOAuto-generatedmethodstubrequest.setCharacterEncoding("utf-8");//解决乱码问题 Stringpath=""; Stringusername=request.getParameter("username"); Stringpassword=request.getParameter("password");if(StringUtil.isEmpty(username)||StringUtil.isEmpty(password)){request.setAttribute("error1","用户名和密码不能为空!");path="login.jsp"; } StaffDaostd=newStaffDao(); Staffsta1=newStaff(); Staffstaff=newStaff(username,password); adminDaoado=newadminDao(); Adminad1=newAdmin(); Adminadmin=newAdmin(username,password); HttpSessionsession=request.getSession(); Stringtype=request.getParameter("type");if("staff".equals(type)){if(std.isLogin(staff)!=null){sta1=std.isLogin(staff);path="staffinde*.jsp";request.setAttribute("username2",sta1.getSname());session.setAttribute("username2",sta1.getSname()); }else{session.setAttribute("error1","用户名或密码错误!");path="login.jsp"; } }elseif("manager".equals(type)){if(ado.isLogin(admin)!=null){ad1=ado.isLogin(admin);path="inde*.js
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年鹤壁职业技术学院马克思主义基本原理概论期末考试笔试真题汇编
- 2025年天津工艺美术职业学院马克思主义基本原理概论期末考试参考题库
- 2024年北部湾大学马克思主义基本原理概论期末考试真题汇编
- 2025年唐山职业技术学院马克思主义基本原理概论期末考试真题汇编
- 2025年宁波大学科学技术学院马克思主义基本原理概论期末考试笔试题库
- 2024年河南物流职业学院马克思主义基本原理概论期末考试真题汇编
- 2025年武汉海事职业学院马克思主义基本原理概论期末考试参考题库
- 2025年广东酒店管理职业技术学院马克思主义基本原理概论期末考试真题汇编
- 2025年德阳城市轨道交通职业学院马克思主义基本原理概论期末考试笔试题库
- 康复护理理论培训课件
- 2025岚图汽车社会招聘参考题库及答案解析(夺冠)
- 福建省福州市四校联盟2025-2026学年高三上学期期中联考历史试题
- 2025-2026学年岭南版小学美术六年级(上册)期末测试卷附答案
- 2025河南周口临港开发区事业单位招才引智4人考试重点题库及答案解析
- 2025年药学统计学试题及答案
- 新疆维吾尔自治区阿克苏地区阿克苏市2024-2025学年九年级上学期1月期末英语试题
- 电煤销售合同范本
- 商场招商人员述职报告
- 180th燃煤锅炉整体设计
- 工程伦理-形考任务四(权重20%)-国开(SX)-参考资料
- 工伤的事故调查报告
评论
0/150
提交评论