




免费预览已结束,剩余13页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
设备台帐管理系统摘 要:本文阐述了WEB方式下的一个设备管理系统中的设备台帐子系统的分析与实现。关键词:设备管理 设备台帐 功能实现1、 引言设备管理是施工企业十分重要的管理事项之一,但是目前主要的设备管理工作还是手工或者简单的计算机编辑操作,对信息的管理者极为不便,同时由于软件工具本身的限制,对网络的支持程度不强,不利于设备信息的共享,使设备管理工作经常产生许多重复复杂的工作。因此有必要开发一个基于WEB的设备管理系统,能在网络环境下管理全局包括各分公司所有大型设备(主要是设备)的详细信息,包括:设备类型、使用状态、运行时长、生产厂家、购买时间等,并根据这些信息对设备及设备供应商进行管理和星级评定等工作,为企业管理者提供及时可靠的设备信息。而管理者得到的信息来自于设备管理台帐。设备台帐管理系统是中港二航局开发的网络办公系统的设备管理模块中的子系统之一,是设备管理信息的集中地,开发模式是现在流行的JAVABEAN+JSP方式,开发软件为JAVA、DREAMWEAVRE,使用的是SQLserver数据库系统。2、 系统功能的分析、规划与实现(1) 系统功能的分析设备管理系统根据设备管理的要求进行开发,实现对局设备包括局购置和拥有的各种施工和生产用设备、机械的管理,利用这些信息对设备及设备供应商进行管理和星级评定等工作,并根据评定结果进行采购招标。设备船机设备的管理工作遵循“技术领先,优质高效,保证安全”的指导方针,管理对象包括局购置和拥有的各种施工和生产用船舶、机械和设备的管理,管理范围包括从规划研究、设计制造、选型购置、安装调试、使用维护、检修改造甚至报废更新实施全过程管理,为投标、资审、资源优化配置提供依据,船机设备管理功能包括设备资产管理、设备台帐管理、设备维修管理、船机动态管理、设备租赁管理、设备供方管理、设备星级管理及船机设备统计八个子系统,如图所示管理范围包括从规划研究、设计制造、选型购置、安装调试、使用维护、检修改造甚至报废更新实施全过程管理,为投标、资审、资源优化配置提供依据。同时,为了信息的保密与安全,系统还要提供一定的安全机制,并根据所在单位的不同设置相应的操作权限,。(2) 系统功能的规划与实现根据以上系统功能的分析,设备管理功能包括设备资产管理、设备台帐管理、设备维修管理、设备动态管理、设备租赁管理、设备供方管理、设备星级管理及设备统计八个子系统。如图a所示。图a 设备管理功能结构图其中设备台帐管理是全局范围内的设备固定资产台帐,掌握局大型设备保有量及分布状态,登记设备的折旧、转让、报废信息,发布设备信息供业主网上查询,有关的统计报表为中港二航局设备固定资产登记表。该系统下设设备台帐登记、设备信息维护、设备折旧、设备并值分割、船机信息发布和设备信息查询六个功能模块,如图所示。设备台帐管理功能框图a) 设备台帐登记公司或局管项目部设备管理员通过远程登录局业务系统,登记设备基本信息到设备固定资产台帐,所有设备的编号,包括中港编号、来源号等,都由局设备处统一进行编号,各公司没有维护这些字段的权限。Rose:UseCase:Rose|1.2|UseCase(D:sjdongnewrequire需求报告sneb_doc.mdl,0,3F0E6CD0019B)b) 设备信息维护各公司只能维护自己单位保有的设备信息,局设备处可以维护所有的设备信息,设备信息维护包括:A.设备报废-公司设备管理员录入所管设备的报废信息,建立设备报废台帐,设置设备状态为“报废”并输入报废日期,同时将“固定资产报废申请单”以附件的形式上传保存到“设备资产台帐”中;B.设备转让-包括内部调拨(局范围内)和外部出售,由于设备资产编号规则中,第三位代表所属公司代码,因此一旦发生内部调拨,资产编号需要修改。公司或局设备物资处设备管理员通过登录局业务系统选择需要调出的设备,指定设备调入单位,所选设备以新的资产编号自动添加到调入单位的设备资产台帐中(购入方式自动设为“调入”),同时转出单位的设备资产台帐中该设备的状态自动设为“调出”,可以将“设备转让申请单”以附件形式上传保存到“设备资产台帐”中;C.船机信息导出-将船机资产台帐以EXCEL文件格式导出;D.信息变更记录-每一次对设备信息的修改记录都会被保存下来以供变更记录查询; Rose:UseCase:Rose|1.2|UseCase(D:sjdongnewrequire需求报告sneb_doc.mdl,0,3F0E6CBF0219)c) 设备折旧公司设备管理员每季度录入所管设备的折旧信息或通过导入财务系统导出的设备折旧文件来批量进行设备折旧信息录入,每季的折旧率=(原值-残值)/(4*使用年限)/原值*100%。Rose:UseCase:Rose|1.2|UseCase(D:sjdongnewrequire需求报告sneb_doc.mdl,0,3F0E6CBF0219)d) 设备并值分割公司设备管理员登记设备的并值或分割记录,同时自动计算主体设备并值或分割后最新的原值和净值。F:Class:Rose:CClass:Documentation:SAAA:用于记录设备的并值与分割信息,该表的记录会自动更新“设备信息表中”的“原值”和“净值”字段,例如,一台主体设备的原值是50万,净值是30万,并值一个设备,并值的原值是10万,则并值后该主体设备的原值为60万,净值是40万,分割一个设备,分割的原值是20万,净值是8万,则分割后该主体设备的原值为40万,净值为32万;一台设备如果有多条并值分割记录,则只有最后一次的并值分割记录才能修改删除,其它并值分割记录为只读。Rose:UseCase:Rose|1.2|UseCase(D:sjdongnewrequire需求报告sneb_doc.mdl,0,3F0E6CBF0219)e) 设备信息发布局设备处登录局业务系统,选择并发布设备信息到外部网站供企业宣传。Rose:UseCase:Rose|1.2|UseCase(D:sjdongnewrequire需求报告sneb_doc.mdl,0,3F0E6CBF0219)f) 设备信息查询根据设备编号、设备类型、所属单位、ABC分类、原值、净值、购入日期、能力等查询设备资产台帐,掌握全局设备的保有量、分布状况及当前动态等,其中对于ABC分类提供复合查询功能,即用户可以同时查ABC三类中的一类、两类或三类。设备编号提供通配符查询功能,查询结果能自动对数值型数据项自动汇总,例如原值,净值等,同时查询结果能导出为EXCEL格式。在查询设备基本信息的同时,能提供超链接查询设备的维修保养信息、部件更换信息、并值分割信息、施工动态信息、单船单机核算信息、机损事故信息等,各公司可以相互之间查询设备信息。3、 关键问题的解决(1) 安全机制问题在进入系统之前,要进行身份确认,只有用户名和用户密码都相符的用户方可进入本系统。为了防止不合法用户对数据的察看和修改,本系统把用户分为三个级别:超级、可修改和只读用户,即一二三级用户。超级(一级)用户不仅拥有对数据的查询、修改权限,还对用户的使用权限进行控制,可以设定用户名、密码和其权限,还可以对纪录进行增加、删除、修改等操作。可修改(二级)用户对数据可以查询、打印,还可以对其管理范围内的纪录进行增加、删除、修改等操作。只读(三级)用户只拥有对纪录的浏览、查询和打印权限。当用户要进入系统是必须先输入用户名和密码,按确认按钮后,系统辨别用户身份,对合法用户根据用户的权限级别赋予相应的使用功能。(2)JAVABEAN+JSP的实现 JavaBean是描述Java的软件组件模型,有点类似于Microsoft的COM组件概念。在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速的生成新的应用程序。对于程序员来说,最好的一点就是JavaBean可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。 JavaBean通过Java虚拟机(Java Virtual Machine)可以得到正确的执行,运行JavaBean最小的需求是JDK1.1或者以上的版本。 JavaBean传统的应用在于可视化的领域,如AWT下的应用。自从Jsp诞生后,JavaBean更多的应用在了非可视化领域,在服务器端应用方面表现出来了越来越强的生命力。 非可视化的JavaBean,顾名思义就是没有GUI界面的JavaBean。在Jsp程序中常用来封装事务逻辑、数据库操作等等,可以很好地实现业务逻辑和前台程序(如jsp文件)的分离,使得系统具有更好的健壮性和灵活性。一个简单的例子,比如说一个购物车程序,要实现购物车中添加一件商品这样的功能,就可以写一个购物车操作的JavaBean,建立一个public的AddItem成员方法,前台Jsp文件里面直接调用这个方法来实现。如果后来又考虑添加商品的时候需要判断库存是否有货物,没有货物不得购买,在这个时候我们就可以直接修改JavaBean的AddItem方法,加入处理语句来实现,这样就完全不用修改前台jsp程序了。当然,也可以把这些处理操作完全写在jsp程序中,不过这样的jsp页面可能就有成百上千行,光看代码就是一个头疼的事情,更不用说修改了。如果您使用过asp开发过程序的话,相信对这就深有体会 ASP+COM组件完全可以实现同jsp+javabean同样的架构,但不知道某种原因网上常见的都是全部写在asp页面中,所以使得维护修改等极为不方便,。由此可见,通过JavaBean可以很好地实现逻辑的封装、程序的易于维护等等。在本系统的开发中,JavaBean主要是实现了对数据库表的增加、修改、删除、浏览等等的一些对数据库的操作。而且为了以后维护的方便,采用了S类和M类的方法。S类主要是负责对数据库字段值的读和取。见下面S类的源代码。package com.km.navigation2.db;public class S_Eq_ShDyna /数据库表tb_eq_shdynaprivate String f_dynaid;private String f_eqid;private String f_eqcode;private String f_eqsort;private String f_eqtype;private String f_eqname;private String f_year;private String f_quarter;private String f_usedyna;private String f_owncorp;private String f_usecorp;private String f_rentcorp;private String f_prjname;private String f_dynaprof;private String f_planinven;private String f_accoinven;private String f_impnum;private String f_date1;private String f_date2;private String f_date3;private String f_colcorp;private String f_colletor;private String f_coltime;private String f_remark;public S_Eq_ShDyna()setf_dynaid(动态序号);setf_eqid(设备序号);setf_eqcode(设备编号);setf_eqsort(设备种类);setf_eqtype(设备类型);setf_eqname(设备名称);setf_year(年度);setf_quarter(季度);setf_usedyna(使用动态);setf_owncorp(所属单位);setf_usecorp(使用单位);setf_rentcorp(外租单位);setf_prjname(项目名称);setf_dynaprof(动态描述);setf_planinven(单船计划工程量);setf_accoinven(已完单船工程量);setf_impnum(施工台班数);setf_date1(进场日期);setf_date2(计划退场时间);setf_date3(实际退场时间);setf_colcorp(填报单位);setf_colletor(填报人);setf_coltime(填报日期);setf_remark(备注);public void setf_dynaid(String S_f_dynaid)f_dynaid=S_f_dynaid;public void setf_eqid(String S_f_eqid)f_eqid=S_f_eqid;public void setf_eqcode(String S_f_eqcode)f_eqcode=S_f_eqcode;public void setf_eqsort(String S_f_eqsort)f_eqsort=S_f_eqsort;public void setf_eqtype(String S_f_eqtype)f_eqtype=S_f_eqtype;public void setf_eqname(String S_f_eqname)f_eqname=S_f_eqname;public void setf_year(String S_f_year)f_year=S_f_year;public void setf_quarter(String S_f_quarter)f_quarter=S_f_quarter;public void setf_usedyna(String S_f_usedyna)f_usedyna=S_f_usedyna;public void setf_owncorp(String S_f_owncorp)f_owncorp=S_f_owncorp;public void setf_usecorp(String S_f_usecorp)f_usecorp=S_f_usecorp;public void setf_rentcorp(String S_f_rentcorp)f_rentcorp=S_f_rentcorp;public void setf_prjname(String S_f_prjname)f_prjname=S_f_prjname;public void setf_dynaprof(String S_f_dynaprof)f_dynaprof=S_f_dynaprof;public void setf_planinven(String S_f_planinven)f_planinven=S_f_planinven;public void setf_accoinven(String S_f_accoinven)f_accoinven=S_f_accoinven;public void setf_impnum(String S_f_impnum)f_impnum=S_f_impnum;public void setf_date1(String S_f_date1)f_date1=S_f_date1;public void setf_date2(String S_f_date2)f_date2=S_f_date2;public void setf_date3(String S_f_date3)f_date3=S_f_date3;public void setf_colcorp(String S_f_colcorp)f_colcorp=S_f_colcorp;public void setf_colletor(String S_f_colletor)f_colletor=S_f_colletor;public void setf_coltime(String S_f_coltime)f_coltime=S_f_coltime;public void setf_remark(String S_f_remark)f_remark=S_f_remark;public String getf_dynaid()return f_dynaid;public String getf_eqid()return f_eqid;public String getf_eqcode()return f_eqcode;public String getf_eqsort()return f_eqsort;public String getf_eqtype()return f_eqtype;public String getf_eqname()return f_eqname;public String getf_year()return f_year;public String getf_quarter()return f_quarter;public String getf_usedyna()return f_usedyna;public String getf_owncorp()return f_owncorp;public String getf_usecorp()return f_usecorp;public String getf_rentcorp()return f_rentcorp;public String getf_prjname()return f_prjname;public String getf_dynaprof()return f_dynaprof;public String getf_planinven()return f_planinven;public String getf_accoinven()return f_accoinven;public String getf_impnum()return f_impnum;public String getf_date1()return f_date1;public String getf_date2()return f_date2;public String getf_date3()return f_date3;public String getf_colcorp()return f_colcorp;public String getf_colletor()return f_colletor;public String getf_coltime()return f_coltime;public String getf_remark()return f_remark;以上源代码就是从数据库表中获取表字段名和字段的值。然后M类就调用S类的方法,对数据库表进行插入、删除、修改和查询的功能。详见M类源代码package com.km.navigation2.db;import java.util.*;import java.sql.*;import java.lang.*;public class M_Eq_ShDyna PreparedStatement sql_sta = null; Statement sta = null; ResultSet sql_res = null; connFactory factory=new connFactory(); private DBConnect dbconn = factory.createConnect(); Connection conn = null; public M_Eq_ShDyna() /* * MacketInfo_Browse * param maxPageNum * param pagenum 当前页面数 * param NumPerPage 一个页面最大的显示记录条数 * param orderbyName * return */数据库表的查询。 public result_Page Eq_ShDyna_Browse(int maxPageNum,int pagenum,int NumPerPage,String orderbyName,String eqsort)throws SQLException int maxnum=0; int thisPageNum=0;/ new add result_Page rp=new result_Page(); /result_Page()? ArrayList list=new ArrayList(); / set orderby / String orderbyNameStr=; if(!orderbyName.equals()orderbyNameStr=order by +orderbyName; /set where/ String wherestr=; if(wherestr.equals() wherestr= where f_eqsort=+eqsort+; / set sql String / String SQLStr=select * from tb_sh_dyna +wherestr+orderbyNameStr; / get result /try conn=dbconn.setconnect();sta = conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY); sql_res = sta.executeQuery(SQLStr); /获取记录总数 if(maxPageNum=-1) sql_res.last(); maxnum = sql_res.getRow(); /得到总记录条数 if(maxnum) % NumPerPage=0) / 取模为零(可以整除NumPerPage) rp.maxPageNum = (int)(maxnum) / NumPerPage; /总页数 else rp.maxPageNum = (int)(maxnum) / NumPerPage+1;/ 得到页数的最大值 sql_res.absolute(pagenum-1) * NumPerPage + 1);/absolute()?(总是指在当前页的第一条记录) int i=0; / new add / if(maxnum % NumPerPage!=0) if(maxPageNum=pagenum) /最大页数等于当前页数即最后一页 thisPageNum=maxnum % NumPerPage; /最后一页记录的条数 else thisPageNum=NumPerPage;/非最后一页记录的条数else thisPageNum=NumPerPage;/一页记录的条数 / while(ithisPageNum) / changed S_Eq_ShDyna s=new S_Eq_ShDyna(); s.setf_dynaid(sql_res.getString(f_dynaid); s.setf_eqid(sql_res.getString(f_eqid); s.setf_eqcode(sql_res.getString(f_eqcode); s.setf_eqsort(sql_res.getString(f_eqsort); s.setf_eqtype(sql_res.getString(f_eqtype); s.setf_eqname(sql_res.getString(f_eqname); s.setf_year(sql_res.getString(f_year); s.setf_quarter(sql_res.getString(f_quarter); s.setf_usedyna(sql_res.getString(f_usedyna); s.setf_owncorp(sql_res.getString(f_owncorp); s.setf_usecorp(sql_res.getString(f_usecorp); s.setf_rentcorp(sql_res.getString(f_rentcorp); s.setf_prjname(sql_res.getString(f_prjname); s.setf_dynaprof(sql_res.getString(f_dynaprof); s.setf_planinven(sql_res.getString(f_planinven); s.setf_accoinven(sql_res.getString(f_accoinven); s.setf_impnum(sql_res.getString(f_impnum); s.setf_date1(sql_res.getString(f_date1); s.setf_date2(sql_res.getString(f_date2); s.setf_date3(sql_res.getString(f_date3); s.setf_colcorp(sql_res.getString(f_colcorp); s.setf_colletor(sql_res.getString(f_colletor); s.setf_coltime(sql_res.getString(f_coltime); s.setf_remark(sql_res.getString(f_remark); rp.list.add(s); i+; sql_res.next(); catch(Exception e) System.out.println(e.getMessage(); finally if(conn!=null)conn.close(); return rp; /不同条件的数据库表查询 public result_Page Eq_ShDyna_Browse(String wherestr,String eqsort)throws SQLException result_Page rp=new result_Page(); ArrayList list=new ArrayList(); if(!wherestr.equals() wherestr=where f_dynaid=+wherestr+ and f_eqsort=+eqsort+; String SQLStr=select * from tb_sh_dyna +wherestr; try conn=dbconn.setconnect(); sta = conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY); sql_res = sta.executeQuery(SQLStr); while(sql_res.next() S_Eq_ShDyna s=new S_Eq_ShDyna(); s.setf_dynaid(sql_res.getString(f_dynaid); s.setf_eqid(sql_res.getString(f_eqid); s.setf_eqcode(sql_res.getString(f_eqcode); s.setf_eqsort(sql_res.getString(f_eqsort); s.setf_eqtype(sql_res.getString(f_eqtype); s.setf_eqname(sql_res.getString(f_eqname); s.setf_year(sql_res.getString(f_year); s.setf_quarter(sql_res.getString(f_quarter); s.setf_usedyna(sql_res.getString(f_usedyna); s.setf_owncorp(sql_res.getString(f_owncorp); s.setf_usecorp(sql_res.getString(f_usecorp); s.setf_rentcorp(sql_res.getString(f_rentcorp); s.setf_prjname(sql_res.getString(f_prjname); s.setf_dynaprof(sql_res.getString(f_dynaprof); s.setf_planinven(sql_res.getString(f_planinven); s.setf_accoinven(sql_res.getString(f_accoinven); s.setf_impnum(sql_res.getString(f_impnum); s.setf_date1(sql_res.getString(f_date1); s.setf_date2(sql_res.getString(f_date2); s.setf_date3(sql_res.getString(f_date3); s.setf_colcorp(sql_res.getString(f_colcorp); s.setf_colletor(sql_res.getString(f_colletor); s.setf_coltime(sql_res.getString(f_coltime); s.setf_remark(sql_res.getString(f_remark); rp.list.add(s); catch(Exception e) System.out.println(e.getMessage(); finally if(conn!=null)conn.close(); return rp; /* * param s * return */对数据库表的修改操作public boolean Eq_ShDyna_update(S_Eq_ShDyna s)throws SQLException String SQLStr=update tb_sh_dyna set f_usecorp=+s.getf_usecorp() /f_eqid=+ s.getf_eqid() /+,f_eqcode=+s.getf_eqcode() /+,f_eqsort=+s.getf_eqsort() /+,f_eqtype=+s.getf_eqtype() /+,f_eqname=+s.getf_eqname() /+,f_year=+s.getf_year() /+,f_quarter=+s.getf_quarter() /+,f_usedyna=+s.getf_usedyna() /+,f_owncorp=+s.getf_owncorp() +,f_rentcorp=+s.getf_rentcorp() +,f_prjname=+s.getf_prjname() +,f_dynaprof=+s.getf_dynaprof() +,f_planinven=+s.getf_planinven() +,f_accoinven=+s.getf_accoinven() +,f_impnum=+s.getf_impnum() +,f_date1=+s.getf_date1() +,f_date2=+s.getf_date2() +,f_date3=+s.getf_date3() +,f_colcorp=+s.getf_colcorp() +,f_colletor=+s.getf_colletor() +,f_coltime=+s.getf_coltime() +,f_remark=+s.getf_remark() + where f_dynaid=+s.getf_dynaid(); System.out.println(SQLStr); try conn=dbconn.setconnect(); sql_sta=conn.prepareStatement(SQLStr); int i =sql_sta.executeUpdate(); sql_sta.close(); catch(Exception e) return false; finally if(conn!=null)conn.close(); return true;/对数据库表的插入操作public boolean Eq_ShDyna_insert(S_Eq_ShDyna s)throws SQLExceptionString SQLStr=insert into tb_sh_dyna (f_eqid,f_eqcode,f_eqsort,f_eqtype,f_eqname,f_year,f_quarter,f_usedyna,f_owncorp,f_usecorp,f_rentcorp,f_prjname,f_dynaprof,f_planinven,f_accoinven,f_impnum,f_date1,f_date2,f_date3,f_colcorp,f_colletor,f_coltime,f_remark); SQLStr=SQLStr+ values(+s.getf_eqid()+,+s.getf_eqcode()+,+s.getf_eqsort()+,+s.getf_eqtype()+,+s.getf_eqname()+,+s.getf_year()+,+s.getf_quarter()+,+s.getf_usedyna()+,+s.getf_owncorp()+,+s.getf_usecorp()+,+s.getf_rentcorp()+,+s.getf_prjname()+,+s.getf_dynaprof()+,; SQLStr=SQLStr+s.getf_planinven()+,+s.getf_accoinven()+,+s.getf_impnum()+,+s.getf_date1()+,+s.getf_date2()+,+s.getf_date3()+,+s.getf_colcorp()+,+s.getf_colletor()+,+s.getf_coltime()+,+s.getf_remark()+); System.out.println(SQLStr); try conn=dbconn.setconnect(); sql_sta=conn.prepareStatement(SQLStr); int i = sql_sta.executeUpdate(); sql_sta.close(); return true; catch(Exception e) System.out.println(e.getMessage(); return false; finally if(conn!=null)conn.close(); /对数据表的删除操作public boolean Eq_ShDyna_delete(String f_dynaid)throws SQLException String SQLStr=delet
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年骨科疾病影像学诊断能力评估试卷答案及解析
- 高速公路路基施工安全管理措施
- 心理咨询师职业资格考试模拟试题
- 农业生产技术指导和培训服务合同
- 2025年妇科检查技巧模拟测试试卷答案及解析
- 年度工作总结与未来计划规划
- 计算机基础课程在线测验全套题目
- 2025年康复医学截瘫患者康复锻炼操作演练答案及解析
- 2025年妇产科常见疾病护理实践考察答案及解析
- 2025年病理生理学肾脏功能评估测验答案及解析
- 建设工程停工承包人费用计算标准T-YJXB-0001-2023知识解读
- 赵子龙课件教学课件
- 软件工程概论第三版课件
- 残损币兑换管理办法
- 2025北京顺义初三一模化学试卷
- 甲状腺癌的护理查房课件
- 毕业设计(论文)-三辊卷板机设计
- 广东春季高考2024年数学试卷
- 肿瘤药物外渗护理
- 具身智能行业深度:技术路线、市场机遇、产业链及相关公司深度梳理
- 江西省防雷减灾白皮书 (2024年)
评论
0/150
提交评论