




已阅读5页,还剩85页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
医 药 管 理 系 统医药管理系统结构设计需求分析论文绪论 计划1.开发背景XX医药超市为XX小区提供药品,多年来本着经济、实惠、高质量服务的宗旨,赢得了小区居民的信赖。由于经营有方,该超市的供应量非常大。面对每天庞大的信息量,经常出现统计失误、药量供应不足的情况。于是,医药超市经理决定使用一套合理、有效、实用的管理系统,对医药超市进行统一管理。笔者受医药超市经理委托,开发一个医药管理系统,其开发宗旨是实现医药超市管理的系统化、规范化、实用化,对药品进行统一管理。2.编写目的编写本系统的成员有三人,在校期间通过学校的培养,具有了初级编写代码的能力,通过老师的指导,着手进行编写本系统,此系统的素材是在网上找到的,通过结合教材上的知识,完成需求分析、详细设计等环节。通过此次编写项目的经历,我们学到了很多项目开发方面的知识,这对我们以后在实际工作中将会有极大的帮助。3.计划任务一 工作任务分解第一阶段:文档设计(2011-10-252011-11-8)1、需求分析、数据库设计文档(2011-10-252011-11-1)2、详细设计文档(2011-11-22011-11-8)备注:人员分配:需求分析、详细文档设计由李超负责; 数据库设计文档由贾磊负责。第二阶段:代码设计(2011-11-92011-11-22)1、 前台界面设计(2011-11-92011-11-14)2、 后台功能代码设计(2011-11-152011-11-22)备注:人员分配:药品管理、进货管理管理模块由贾磊负责;基本信息管理、进货/需求管理模块由李超负责; 前台界面设计、系统管理模块由于世聪负责。人员分配:第三阶段:软件测试(2011-11-232011-11-29)备注:人员分配:软件测试由李超负责。二 甘特图第一章、可行性分析1.1、技术可行性分析在医药超市的管理中经常出现以下情况:1由于信息量较大,经常出现售出药品统计结果与金额不匹配的情况。2完全以传统的手工方式管理,浪费大量的纸张,切不能对药品进行快速查询。3只能通过现场清点药品了解库存信息。4很难对销售信息、销售排行等信息进行统计。因此,在医药超市的管理中,无论是从消费者的角度还是从经营者的角度来看,采用计算机管理系统都具有一定的必要性,以少量的人力资源、高效的工作效率、最低的误差进行管理,将使医药超市的经营更上一层楼。1.2、环境可行性分析(硬件、软件)1.2.1、硬件环境此系统需要的最低硬件配置为:CPU:P4 3.2GHz。内存:2GB以上。硬盘空间:160GB. 此外能支持Windows XP Professional、win 7运行时基本配置的硬件设备都能满足医药超市办公管理系统的正常运行。1.2.2、软件环境操作系统:Windows 2003、Windows XP Professional、win 7等系统。数据库:MySQL5.0 数据库1.2.3、开发环境操作系统:win 7系统。开发工具:Tomcat 6.0服务器、MySQL5.0数据库、Myplise9.1及IE,谷歌,火狐等浏览器。1.3、经济可行性分析医药进销存管理是医药管理工作中不可缺少的一部分,面对众多的药品和众多不同需求的顾客,每天都会产生大量的数据信息,以传统的手工方式来处理这些信息,操作比较繁琐,且效率地下。而一个成功的医药管理系统应提供快递的药品查询功能,能够快速的统计药品信息、销量信息等,从而对药品进行高效的管理以满足消费者的需求。这样既可以大大减少人员的浪费,也从管理方面减轻了工作人员的工作难度。第二章、需求分析2.1、系统任务和功能分析我们通过对医药超市的简单的实地考察和对医药超市工作人员的沟通,从经营者和消费者的角度出发,以高效管理、快速满足消费者为原则,总结出,要求本系统具有以下的特点:1具有良好的系统性能、友好的用户界面。2较高的处理效率,便于使用和维护。3采用成熟的技术开发,全系统具有较高的技术水平和较长的生命周期。4对销售信息进行统计排行。5系统尽可能地简化药品管理员的重复工作,提高工作效率。2.2、E-R图设计2.2.1 实体属性图1、药品(medicine)图2-2-1-12、药品类别(category)图2-2-1-23、销售明细(selldetail)图2-2-1-34、用户(user)图2-2-1-42.2.2 实体关系图图2-2-22.3、数据流图2.3.2 顶层数据流图图2-3-22.3.2 第一层数据流图1 药品管理数据流图图2-3-2-12 系统管理数据流图图2-3-2-22.3.3 第二层数据流图1 销售员数据流图图2-3-3-12 销售管理数据流图图2-3-3-23 系统管理数据流图图2-3-3-34 销售员管理数据流图图2-3-3-42.4、用例图2.4.1、销售员用例图图2-4-1 销售员用例图2.4.2、管理员用例图图2-4-2 管理员用例图第三章 总体设计3.1 系统总体结构图图3-1 系统整体结构图3.2 逻辑分层结构设计(系统设计模式)医药管理系统由四层结构组成,并遵循MVC结构进行设计。4层结构分别为表示层、业务逻辑层、持久层与数据层。图3-2-1逻辑分层其中表示层与业务逻辑层均由Struts框架组成,表示层用于提供程序与用户之间交互的页面,项目中主要通过JSP、ActionForm及Struts标签库进行展现:业务逻辑层用于处理程序中的各种业务逻辑,项目中通过Struts框架的中央控制器及Action对象对业务请求进行处理;持久层由Hibernate框架组成,它负责应用程序与关系型数据库之间的操作;数据库层为应用程序所使用的数据库,本实例中为MySQL数据库。对于四层结构的具体实现如下图:图3-2-2 逻辑分层具体表现3.3 数据库设计3.3.1 数据表结构1、用户信息表(tb_user)字段名中文类型长度主键外键是否空默认值约束备 注id用户编号int4是否用户编username用户名称varchar50用户名称Password密码Varchar50密码CreatTime创建时间datetime0创建时间表3-3-3-1 用户信息表2、药品信息表(tb_medicine)字段名中文类型长度主键外键是否空默认值约束备 注id编号int4是否用户编号medNo药品编码varchar50用户名称name药品名称varchar50密码factoryAdd出厂地址varchar50出厂地址description描述信息varchar50描述信息price单价int20单价medCount库存数量int20库存数量reqCount需求数量int20需求数量photoPath图片varchar50图片categoryId所属类别int20是所属类别表3-3-3-2 药品信息表3、药品类别信息表(tb_category)字段名中文类型长度主键外键是否空默认值约束备 注id编号int4是否编号name类别名称varchar50类别名称description描述信息Varchar50描述信息creatTime创建时间datetime0创建时间表3-3-3-3 药品类别信息表4、销售明细信息表(tb_selldetail)字段名中文类型长度主键外键是否空默认值约束备 注id编号int4是否用户编号sellName药品名称varchar50用户名称sellPrice价格varchar50密码sellCount数量int20数量userId操作人员int20是操作人员medId药品int20是药品sellTime时间datetime0时间count总额int20总额表3-3-3-4 销售明细信息表3.3.2 数据表的关系图图3-3-2 数据表关系图3.3.3 连接数据的方式本系统采用Hibernate框架连接数据库MySQL5.5。通过Hibernate的框架完成了项目的DAO文件,并且运用了Struts控制操作数据库数据。3.4 系统整体状态图(画面迁移图)图3-4-1 系统状态图图3-4-2 系统整体状态图3.5 系统顺序图(时序图)图3-5-1 系统顺序图(1)图3-5-2 系统顺序图(2)第四章 详细设计4.1 总体类图图4-1-1 总体类图图4-1-2 系统属性类图4.2药品管理类图4.2.1药品管理类图图4.2.1 药品管理类图4.2.1药品管理属性类图图4.2.2 药品管理属性类图4.2.3药品类属性列表类属性属性名说明编号idint类型药品名称nameString 类型药品编码medNoint类型出场地址factoryAddString 类型描述descriptionString 类型价格priceint类型药品数量medCountint类型需求数量reqCountint类型图片photoString 类型时间createTimeDate类型药品类别categoryIdint 类型表4-2-14.2.4药品类方法列表类方法返回值类型说明setId()void设置IdgetId()int获取IdsetName()void设置namegetName()String获取namesetMedNo()void设置medNogetMedNo()String获取medNosetFactoryAdd()void设置FactoryAddgetFactoryAdd()String获取FactoryAddsetDescription()void设置descriptiongetDescription()String获取descriptionsetPrice()void设置pricegetPrice()int获取pricesetMedCount()void设置medCountgetMedCount()int获取medCountsetReqCount()void设置reqCountgetReqCount()int获取reqCountsetPhoto()Void设置photogetPhoto()String获取photosetCreateTime()Void设置createTimegetCreateTime()Date获取createTimesetCategoryId()Void设置categoryIdgetCategoryId()Int获取categoryId表4-2-24.2.5药品批量删除图4-2-3 药品实现批量删除实现原理图4.2.6药品管理类方法列表(MedicineAction)类方法返回值类型说明add()ActionForward添加药品update()ActionForward修改药品findMedicineByMedId()ActionForward根据medId查询药品paging()ActionForward分页查询药品信息view()ActionForward查看药品详细信息edit()ActionForward编辑药品信息query()ActionForward多条件查询,分页显示查询结果blurQuery()ActionForward模糊查询canSellMeds()ActionForward浏览可以购买的药品QueryMedCount()ActionForward查询库存表4-2-34.3药品类别管理类图4.3.1药品类别管理类图图4-3-1 药品类别管理类图4.3.2药品类别管理属性类图图4-3-2 药品类别属性类图4.3.3药品类别属性列表类属性属性名说明编号Idint类型药品类别名称nameString 类型描述descriptionint类型出场地址createTimeString 类型表 4-3-1 药品类别属性列表4.3.4药品类别类方法列表类方法返回值类型说明setId()void设置IdgetId()int获取IdsetName()void设置namegetName()String获取namesetDescription()void设置DescriptiongetDescription()String获取DescriptionsetCreateTime()void设置CreateTimegetCreateTime()String获取CreateTime表 4-3-2 药品类别方法列表4.3.5药品类别管理类方法列表(CategoryAction)类方法返回值类型说明add()ActionForward添加或修改类别findAll()ActionForward查询所有类别edit()ActionForward编辑类别delete()ActionForward删除类别paging()ActionForward分页显示类别findCategoryAndCound()ActionForward统计药品类别数量表 4-3-2 药品类别管理类方法列表4.4药品进货/需求管理类图4.4.1药品进货、需求管理类图图4-4-1 药品进货、需求管理类图4.4.2药品进货、需求管理属性类图图4-4-2 药品进货、需求属性类图4.4.3药品销售类属性列表类属性属性名说明编号Idint类型名称sellNameString 类型单价sellPriceint类型数量sellCountint类型厂家FactoryAddString 类型总额Totalint类型日期sellTimeDate类型药品idmedIdint类型表 4-4-1 药品销售类属性列表4.4.4药品销售类方法列表类方法返回值类型说明setId()Void设置IdgetId()Int获取IdsetSellName()Void设置sellNamegetSellName()String获取sellNamesetSellPrice()Void设置sellPricegetSellPrice()Int获取sellPricesetSellCount()Void设置SellCountgetSellCount()Int获取SellCountsetFactoryAdd()Void设置factoryAddgetFactoryAdd()String获取factoryAddsetTotal()Void设置totalgetTotal()Int获取totalsetSellTime()Void设置sellTimegetSellTime()Date获取sellTimesetMedId()Void设置medIdgetMedId()int获取medId表 4-4-3 药品销售类方法列表4.4.5药品需求类方法列表(RequireAction)类方法返回值类型说明edit()ActionForward编辑需求药品add()ActionForward添加需求药品update()ActionForward更新需求药品findMedcineByMedNo()ActionForward根据MedNo查询paging()ActionForward分页查询meded()ActionForward更新药品进货完成blurQuery()ActionForward模糊查询,分页显示表 4-4-4 药品需求类方法列表4.5药品销售管理类图4.5.1药品销售管理类图图4.5.1 药品销售管理类图4.5.2药品销售类属性类图图4.5.2 药品销售属性类图4.5.3药品销售管理类方法列表(SellAction)类方法返回值类型说明order()ActionForward向购物车中添加药品add()ActionForward选购药品buy()ActionForward结账购物车中的药品paging()ActionForward分页查询销售明细deleteOrder()ActionForward删除指定的药品blurQuery()ActionForward模糊查询,分页显示clear()ActionForward清空订单today()ActionForward查询指定销售明细sequence()ActionForward销售排行findByMeId()ActionForward根据销售药品ID查询销售信息表4.5.1 药品销售管理类方法列表4.6系统管理类图4.6.1系统用户管理类图图4-6-1 系统用户管理类图4.6.2系统管理类图图4-6-2 系统用户管理属性类图图4-6-3 系统用户属性类图4.6.3系统用户类属性列表(UserForm)类属性属性名说明编号Idint类型用户名usernameString 类型密码passwordString类型原密码oldPasswordString类型确认密码rePasswordString 类型创建时间createTimeDate类型表4-6-1 系统用户属性列表4.6.4系统用户管理方法列表(SystemAction)类方法返回值类型说明unspecified()ActionForward如果没有传递参数,默认调用此方法userExit()ActionForward用户退出userAdd()ActionForward添加用户userFind()ActionForward查找所有用户userDelete()ActionForward删除用户userEdit()ActionForward编辑用户modifyPassword()ActionForward修改密码Initialization()ActionForward系统初始化表4-6-2 系统用户管理方法列表4.7存储过程设计4.7.1. 存储过程列表描述 过程方法名称数据类型说明unspecified()ActionForward如果没有传递参数,默认调用此方法userExit()ActionForward用户退出userAdd()ActionForward添加用户userFind()ActionForward查找所有用户userDelete()ActionForward删除用户userEdit()ActionForward编辑用户modifyPassword()ActionForward修改密码Initialization()ActionForward系统初始化表4-7-1 存储过程列表4.7.2.存储过程具体算法描述存储过程只能将 cursor 数据类型用于 OUTPUT 参数。如果为某个参数指定了 cursor 数据类型,也必须指定 VARYING 和 OUTPUT 参数。如果为某个参数指定了 VARYING 关键字,则数据类型必须是 cursor,并且必须指定 OUTPUT 关键字。 说明 cursor 数据类型不能通过数据库 API(例如 OLE DB、ODBC、ADO 和 DB-Library)绑定到应用程序变量上。因为必须先绑定 OUTPUT 参数,应用程序才可以执行存储过程,所以带有 cursor OUTPUT 参数的存储过程不能通过数据库 API 调用。只有将 cursor OUTPUT 变量赋值给 Transact-SQL 局部 cursor 变量时,才可以通过 Transact-SQL 批处理、存储过程或触发器调用这些过程。对于只进游标,如果存储过程完成后,游标位于第一行的前面,则整个结果集将返回给调用批处理、存储过程或触发器。返回时,游标将位于第一行的前面。 对于只进游标,如果存储过程完成后,游标的位置超出最后一行的结尾,则为调用批处理、存储过程或触发器返回空结果集。 说明 空结果集与空值不同。对于可滚动游标,在存储过程执行结束时,结果集中的所有行均会返回给调用批处理、存储过程或触发器。返回时,游标保留在过程中最后一次执行提取时的位置。 对于任意类型的游标,如果游标关闭,则将空值传递回调用批处理、存储过程或触发器。如果将游标指派给一个参数,但该游标从未打开过,也会出现这种情况。 说明 关闭状态只有在返回时才有影响。例如,可以在过程中关闭游标,稍后再打开游标,然后将该游标的结果集返回给调用批处理、存储过程或触发器。 MySQL 启动时可以自动执行一个或多个存储过程。这些存储过程必须由系统管理员创建,并在 sysadmin 固定服务器角色下作为后台过程执行。这些过程不能有任何输入参数。 对启动过程的数目没有限制,但是要注意,每个启动过程在执行时都会占用一个连接。如果必须在启动时执行多个过程,但不需要并行执行,则可以指定一个过程作为启动过程,让该过程调用其它过程。这样就只占用一个连接。在启动时恢复了最后一个数据库后,即开始执行存储过程。若要跳过这些存储过程的执行,请将启动参数指定为跟踪标记 4022。如果以最低配置启动 MySQL(使用 -f 标记),则启动存储过程也不会执行。有关更多信息,请参见跟踪标记。 若要创建启动存储过程,必须作为 sysadmin 固定服务器角色的成员登录,并在 master 数据库中创建存储过程。第五章 测试5.1 功能测试概述在MyEclipse 9.1 环境下搭建项目,将项目MedicineManager项目导入,单击鼠标右键,选择“运行方式”/MyEclopse Server Application命令,此时MyEclipse将项目自动部署并运行。在Web服务器启动成功后,MyEclipse将通过内置的浏览器(MyEclipse Web Browser)打开项目中的主页面,登录成功将进入系统,这样就开始了系统的测试,5.2 功能测试目的验证功能测试范围内的系统功能是否满足业务的需求。应用系统是否实现了经过各方确认过的约定的功能和性能指标要求。用户对应用系统的使用方式满意,确实方便了用户,提高了用户的效率,达到了系统的设计目标。应用系统经过功能测试,能稳定的运行,达到上线正式运行的各项要求5.3 功能测试范围1.具有良好的系统性能、友好的用户界面。2.较高的处理效率,便于用户的使用和维护。3.采用成熟的开发技术,全系统具有较高的技术水品和较长的生命周期。4.对销售信息进行统计排行。5.系统尽可能的简化药品管理员的重复工作,提高工作效率。5.4功能测试工作流程:1.测试人员分功能、分模块测试发现的问题,并提出修改建议。2.测试人员记录整理安监业务人员提出的问题。3.测试人员针对案件业务人员提出的问题进行交流沟通。4.测试人员对已理解的问题进行汇总,并区分优先级。提交产品组分析讨论和处理。5.问题修改完成后,提交给测试人员进行验证测试。6.测试人员对验证通过的问题提交给安监业务人员。7.安监业务人员针对测出的问题进行确认测试。5.5功能测试工作流程图:图 5-5 功能测试工作流程图附录1:package com.lyq.dao;import java.util.List;import com.lyq.persistence.Category;import com.lyq.util.HibernateFilter;/* * 药品类别数据库操作类 * author Li Yong Qiang */public class CategoryDao extends SupperDao /* * 根据id查询类别 * param id * return Category */public Category loadCategory(int id)Category c = null;trysession = HibernateFilter.getSession();/获取Session对象session.beginTransaction();/开启事物/加载类别信息c = (Category)session.load(Category.class, new Integer(id);session.getTransaction().commit();/提交事物catch(Exception e)e.printStackTrace();/打印异常信息session.getTransaction().rollback();/回滚事物return c;/* * 查询所有类别 * return List */public List findAllCategory()List list = null;trysession = HibernateFilter.getSession();/获取Session对象session.beginTransaction();/开启事物list = session.createQuery(from Category c)/创建Query对象 .list();/获取结果集session.getTransaction().commit();/提交事物catch(Exception e)e.printStackTrace();/打印异常信息session.getTransaction().rollback();/回滚事物return list;/* * 统计药品类别及数量 * return */public List findCategoryAndCount()List list = null;trysession = HibernateFilter.getSession();/获取Session对象session.beginTransaction();/开启事物/ 内连接查询语句String hql = select ,count(*) from Medicine m join m.category c group by c;list = session.createQuery(hql)/创建Query对象 .list();/获取结果集session.getTransaction().commit();/提交事物catch(Exception e)e.printStackTrace();/打印异常信息session.getTransaction().rollback();/回滚事物return list;package com.lyq.dao;import com.lyq.persistence.Medicine;import com.lyq.util.HibernateFilter;/* * 药品数据库操作类 * * author Li Yong Qiang */public class MedicineDao extends SupperDao /* * 查询药品信息 * * param id * return Medicine */public Medicine loadMedicine(int id) Medicine med = null;try session = HibernateFilter.getSession(); / 获取Session对象session.beginTransaction(); / 开启事物/ 加载药品信息med = (Medicine) session.load(Medicine.class, new Integer(id);session.getTransaction().commit(); / 提交事物 catch (Exception e) e.printStackTrace(); / 打印异常信息session.getTransaction().rollback(); / 回滚事物return med;/* * 通过fetch同时抓取药品和类别 * * param id * return Medicine */public Medicine loadMedicineAndCategory(int id) Medicine med = null;try session = HibernateFilter.getSession(); / 获取Session对象session.beginTransaction(); / 开启事物/ HQL查询语句String hql = select a from Medicine a join fetch a.category b where a.id = + id;med = (Medicine) session.createQuery(hql) / 创建Query对象.uniqueResult(); / 单值检索session.getTransaction().commit(); / 提交事物 catch (Exception e) e.printStackTrace(); / 打印异常信息session.getTransaction().rollback(); / 回滚事物return med;/* * 根据medNo查询 * * param medNo * return Medicine */public Medicine findMedicineByMedNo(String medNo) Medicine med = null;try session = HibernateFilter.getSession(); / 获取Session对象session.beginTransaction(); / 开启事物/ HQL查询语句String hql = from Medicine d where d.medNo = ?;med = (Medicine) session.createQuery(hql) / 创建Query对象.setParameter(0, medNo) / 对HQL动态赋值.uniqueResult(); / 返回单个对象session.getTransaction().commit(); / 提交事物 catch (Exception e) e.printStackTrace(); / 打印异常信息session.getTransaction().rollback(); / 回滚事物return med;package com.lyq.dao;import java.util.ArrayList;import java.util.List;import com.lyq.persistence.SellDetail;import com.lyq.persistence.SellSeq;import com.lyq.util.HibernateFilter;/* * 药品销售数据库操作类 * author Li Yong Qiang */public class SellDao extends SupperDao/* * 保存销售明细 * param sd SellDetail对象 */public void saveSellDetail(SellDetail sd)try session = HibernateFilter.getSession();/获取Session对象session.beginTransaction();/开启事物session.save(sd);/保存销售信息session.getTransaction().commit();/提交事物 catch (Exception e) e.printStackTrace();/打印异常信息session.getTransaction().rollback();/回滚事物/* * 查询销售排行 * return List */public List sellSeq()List list = null;try session = HibernateFilter.getSession();/获取Session对象session.beginTransaction();/开启事物/HQL查询语句String hql = select s.sellName,sum(s.sellPrice),sum(s.sellCount), +m.id from SellDetail s join s.med m +group by m order by sum(s.sellCount) desc;List temp = session.createQuery(hql)/创建Query对象 .setFirstResult(0)/起始位置 .setMaxResults(10)/偏移量 .list();/获取结果集if(temp != null & temp.size() 0)list = new ArrayList();for (int i = 0; i temp.size(); i+) Object obj = (Object)temp.get(i);SellSeq s = new SellSeq();s.setName(obj0.toString();s.setTotalPrice(Double)obj1);s.setTotalCount(Long)obj2);s.setMedId(Integer)obj3);list.add(s);session.getTransaction().commit();/提交事物 catch (Exception e) e.printStackTrace();/打印异常信息session.getTransaction().rollback();/回滚事物return list;package com.lyq.dao;import java.util.List;import org.hibernate.Query;import org.hibernate.Session;import com.lyq.util.HibernateFilter;/* * 基本数据库操作类,放置操作数据库的常用方法 * 主要用于继承 * author Li Yong Qiang */pu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商砼销售合同范本
- 土方订金合同范本
- 校园维修劳务合同范本
- 健身中心托管合同范本
- 卖房佣金结算合同范本
- 外国阀门销售合同范本
- 大米坚果采购合同范本
- 货物抵租金合同范本
- 农场转让 出租合同范本
- 酒类采购合同范本
- 2025-2026秋季中小学第一学期升旗仪式22周校长演讲稿:第1周 烽火记忆照前路秋风为序启新程
- 2025秋人教部编版二年级上册语文教学计划
- 2025年山东省菏泽市中考英语真题(无答案)
- 2025劳动合同书示范文本下载
- 急性阑尾炎病人护理课件
- 水利水电工程单元工程施工质量验收标准第8部分:安全监测工程
- 2026年高考政治一轮复习:高考政治主观题背诵提纲汇编
- 骨科手术切口感染的预防与控制
- 电商数据分析报告顾问合同
- 电子信息类专业导论(第3版)课件全套 张有光 00 课程简介 - 12 中国大学教育:理念与实践
- 馕小屋管理办法
评论
0/150
提交评论