




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章 小区物业管理系统 本章对数据库的连接主要采用Windows自带的ODBC来完成,在应用程序中使用了TDatabase控件。6.1 摘要与关键字6.1.1 摘要 小区物业管理系统主要是针对生活小区的物业管理公司作为使用对象而开发的,作为一个典型的信息管理系统(MIS),其系统开发任务主要包括数据库的设计与维护、客户端应用程序的开发等两个方面。对于前者要求建立起的数据库具有完整性和一致性,且具有一定的数据安全性如用户需要密码才能使用等,而对于后者则要求程序界面友好、功能完备等特点。经过详细的分析,选用Borland公司的Delphi作为前端开发工具,利用其提供的集成开发环境及各种控件,尤其是对数据库的支持完成对数据库的各种操作,达到对图书资料管理的目的。首先建立系统应用原型,然后对原型系统进行需求迭代,不断修正和改进,直到形成用户满意的实际可行系统。6.1.2 关键词 物业、管理、设计、实现、Access。6.2 引言 生活小区的物业管理是物业管理公司都必须切实面对的工作,但一直以来人们使用传统的人工方式管理,这种管理方式存在着许多缺点,如:效率低且较为烦琐,另外随着物业管理项目的增加,其工作量也将大大增加,这必然增加物业管理者的工作量和劳动强度,这将给物业管理信息的查找、更新和维护都带来了很多困难。 经过我们详细的调查,目前我国有相当一部分物业管理公司还停留在人工管理的基础上,这样的管理机制已经不能适应时代的发展,其管理方法将浪费许多人力和物力。随着科学技术的不断提高,这种传统的手工管理方法必然被以计算机为基础的信息管理方法所取代。 物业管理系统作为计算机应用的一个分支,有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高物业管理的效率。因此,开发一套能够为用户提供规范化的事务管理、充足的信息和快捷的查询手段的物业管理系统,将是非常必要的,也是十分及时的。因此可以把物业管理作为毕业设计的题目,正好可以充分利用几年在校所学的各种专业知识开发一个小区物业管理系统来帮助相关部门进行有效的管理。6.3 需求分析6.3.1 功能需求 典型的小区物业管理系统主要应具有以下功能:l 系统用户管理:管理使用该系统的用户信息,包括系统用户的添加、修改、删除。l 楼盘信息管理:管理小区中各幢楼盘的各种信息,包括楼盘信息的添加、修改、删除、查询。l 住户信息管理:管理小区住户的各种信息,包括住户信息的添加、修改、删除、查询。l 停车场管理:管理停车场的各种信息,包括停车场信息的添加、修改、删除、查询。l 物业收费管理:管理小区的各种收费项目,包括收费项目的添加、修改、删除、查询。l 住户报修管理:管理住户报修信息,包括住户报修信息的添加、修改、删除、查询。l 住户投诉管理:管理住户投诉信息,包括住户投诉信息的添加、修改、删除、查询。 再进行详细调查,绘制出数据流图,如图6-1所示。图6-1 系统数据流图6.3.2 开发与运行环境 本例的小区物业管理系统开发与运行环境如下: 开发环境:Windows XP 开发工具:Delphi 8 数据库管理系统:Microsoft Access 2000 运行环境:Windows 98/ME/2000/XP6.3.3 系统实现过程分析 首先根据系统功能分析设计出数据库,包括各个数据表和数据表关系图的详细结构。 实现功能模块时,采用先模块化,后集成的方式。即对系统各个功能模块分别独立设计和调试,在创建系统主窗体时再将各个功能模块通过主窗体的菜单系统集成到一起,最后进行系统整体设计调试。 在访问数据库时,采用公用数据模块存放访问数据库需要的对象。该模块在各个功能模块中被直接调用,避免对数据库的反复连接,并可减少代码编写,从而提高系统开发效率。6.4 系统设计6.4.1 系统模块设计 根据系统功能分析,得到如图6-2所示的系统功能模块结构图。图6-2 系统功能模块图6.4.2 数据库设计1. 数据字典 根据系统功能模块结构图和管理流程,以及一般小区物业管理系统的需求,总结出如下的数据字典:l 系统用户数据:包含的数据项有系统用户名、登录口令、身份。l 楼盘数据:包含的数据项有门牌号、户型、出售否、出租否、户主姓名、产权证编号、土地使用证编号、面积等。l 住户数据:包含的数据项有门牌号、户主姓名、常住人口、联系电话、备注等。l 停车场数据:包含的数据项有车位编号、用户名、类型、单价、入场时间、离场时间等。l 收费项目数据:包含的数据项有门牌号、水、电、气、物管、时间等。l 报修项目数据:包含的数据项有项目编号、内容、时间、维修否、维修人、备注等。l 投诉项目数据:包含的数据项有项目编号、内容、时间、投诉人、负责人、备注等。2. 数据库结构设计 根据系统需求,分析出实体关系图,如图6-3所示。图6-3 实体关系图 根据实体关系图和数据字典设计出各个数据表。根据系统用户使用要求得到系统用户数据表,根据楼盘、停车场、住户实体得到楼盘数据表、住户数据表、停车场数据表,根据投诉、收费、报修关系得到收费项目数据表、投诉项目数据表、报修项目数据表。数据表名称与结构如下: 系统用户数据表:表名“user”,结构见表6-1。表6-1 user表结构列名数据类型长度索引Name文本15是Passwd文本10 用户权限表:表名“qxb”,结构见表6-2。表6-2 qxb表结构列名数据类型长度索引Name文本15CDX文本3 系统菜单功能表:表名“cdx”,结构见表6-3。表6-3 cdx表结构列名数据类型长度索引CDX文本3是CDM文本20 楼盘数据表:表名“lpb”,结构见表6-4。表6-4 lpb表结构字段名类型大小索引说明Mph文本15是门牌号Hz文本10户主Hx文本30户型Cz是/否出租否Cs是/否出售否Cqh文本30产权证号Tdh文本30土地证号Mj数字双精度型面积 住户数据表:表名“zhb”,结构见表6-5。表6-5 zhb表结构字段名类型大小索引说明Mph文本15是门牌号Hz文本10户主Hx文本30户型Czr文本50常住人口Dh文本20电话Bz文本100备注 停车场数据表:表名“tcb”,结构见表6-6。表6-6 tcb表结构字段名类型大小索引说明Id文本3是车位编号Zt文本1状态Je数字双精度型金额Rcsj日期/时间入场时间Lcsj日期/时间离场时间 收费项目数据表:表名“sfb”,结构见表6-7。表6-7 sfb表结构字段名类型大小索引说明Id自动编号3是Bh文本6编号Mph文本15门牌号Sf数字双精度型水费Df数字双精度型电费Qf数字双精度型气费Wgf数字双精度型物管费Qtf数字双精度型其它费Sfsj日期/时间收费时间 报修项目数据表:表名“bxb”,结构见表6-8。表6-8 bxb表结构字段名类型大小索引说明Id自动编号3是Name文本15姓名Rq日期/时间60日期Wxr文本15维修人Wxf是/否维修否Bz文本100备注 投诉项目数据表:表名“tsb”,结构见表6-9。表6-9 tsb表结构字段名类型大小索引说明Id自动编号3是Name文本15姓名Rq日期/时间60日期Fzr文本15负责人Bz文本100备注6.5 系统实现 实现功能模块时,采用先模块化,后集成的方式。即对系统各个功能模块分别独立设计和调试,在创建系统主窗体时再将各个功能模块通过主窗体的菜单系统集成到一起,最后进行系统整体设计调试。 在访问数据库时,采用公用数据模块存放访问数据库需要的对象。该模块在各个功能模块中被直接调用,避免对数据库的反复连接,并可减少代码编写,从而提高系统开发效率。6.5.1 建立数据库 本例数据库的类型采用Microsoft Access,数据库名为xqwy.mdb,建立各数据表的过程,在这里不作介绍,有关内容参阅Microsoft Access相关书籍。6.5.2 建立连接 本例使用ODBC数据源连接数据库,数据源名为xqwy。建立过程可参阅第四章内容。6.5.3 程序设计1. 主窗体 主窗体保存为main.pas,主窗体包含一个Database组件、一个MainMenu组件、一个StatusBar组件和一个ToolBar组件,界面及菜单项如图6-4所示。 图6-4 主窗体及菜单 窗体主要组件属性设置见表6-10。表6-10 主窗体组件属性设置组件属性值Form1Name=MainForm FormStyle=fsMDIForm Caption=小区物业管理系统MainMenu1ToolBar1ToolButton1 Caption=系统登录ToolButton2 Caption=关闭系统Database1DatabaseName=xqwy LoginPrompt=FalseStatusBar12. 用户登录窗体 用户登录功能是在启动系统后,要求用户登录,只有输入合法的用户名和密码,系统才分配具体的功能模块。 用户登录窗体保存为login.pas。界面如图6-5所示,包含一个Panel组件、两个Label组件、两个Edit组件和两个Button组件。图6-5 用户登录窗体 窗体主要组件属性设置见表6-11。表6-11 用户登录窗体主要组件属性组件属性值Form2FormStyle=fsMDIChild BorderStyle=bsSingle BorderIcons=biSystemMenuName=LoginForm Caption=用户登录窗口Panel1Caption= BevelOuter=bvLoweredLabel1(Panel1)Caption=用户名Label2(Panel1)Caption=密 码Edit1(Panel1)Text= Name=Name_EditEdit2(Panel1)PasswordChar=* Text= Name=Password_EditButton1Caption=确定Button2Caption=取消 主要代码如下:uses main;/ 确定按钮单击事件procedure TLoginForm.Button1Click(Sender: TObject);var aname,apassword,sqlstr:string; a, b:integer;begin / 有输入时,从数据库中检验用户信息 if (Length(Trim(Name_Edit.Text) 0) or (Length(Trim(Password_Edit.Text) 0) then begin aname:=Trim(Name_Edit.Text); apassword:=Trim(Password_Edit.Text); sqlstr:=select * from user a, qxb b where (=+aname+); sqlstr:=sqlstr+ and (a.passwd=+apassword+) and (=); sqlstr:=sqlstr+ order by b.cdx; with TQuery.Create(nil) do try Close; SessionName:=MainForm.Database1.SessionName; DatabaseName:=MainForm.Database1.DatabaseName; SQL.Clear; SQL.Add(sqlstr); Open; / 验证通过,根据权限设置菜单项的可访问性 if RecordCount 0 then begin First; while not Eof do begin a:=StrToInt(copy(FieldByName(cdx).AsString,1,1); b:=StrToInt(copy(FieldByName(cdx).AsString,2,2); MainForm.MainMenu1.Items.Itemsa.Visible:=true; MainForm.MainMenu1.Items.Itemsa.Itemsb.Visible:=true; Next; end; / 关闭登录窗口 LoginForm.Close; / 主窗体状态栏显示登录用户名 MainForm.StatusBar1.Panels0.Text:=aname; end else / 验证不通过,提示错误信息 begin ShowMessage(请确认登录的用户名和密码是否正确!); Name_Edit.SetFocus; Name_Edit.SelectAll; end; finally Free; end; end else / 无输入,提示错误信息 begin ShowMessage(请输入登录用户名和密码!); Name_Edit.SelectAll; end;end;3. 用户管理窗体 用户管理包括用户数据(包括编号、密码和权限)的添加、删除和浏览等操作。高级管理员可以管理系统中所以的用户数据,而普通用户则只能修改自己的密码。 用户管理窗体保存为usergl.pas,界面设计如图6-6所示,包含一个PopupMenu组件、一个Query组件、一个DataSource组件和一个DBGrid组件。图6-6 用户管理窗体设计 窗体的主要组件属性设置见表6-3。表6-12 用户管理窗体主要组件属性组件属性值Form3FormStyle=fsMDIChild Name=usergl_Form Caption=用户管理PopupMenu1MenuItem1 Name=N11 Caption=添加用户MenuItem2 Name=N12 Caption=修改用户MenuItem3 Name=N13 Caption=删除用户Query1DataSource1DataSet=Query1DBGrid1DataSource=DataSource1 PopupMenu=PopupMenu1 用户管理窗体主要代码如下: public modi:Boolean;/ 用于标识添加/修改用户 xx:string;/ 用于设置添加/修改用户窗体标题栏procedure Tusergl_Form.FormCreate(Sender: TObject);begin Query1.SessionName:=MainForm.Database1.SessionName; Query1.DatabaseName:=MainForm.Database1.DatabaseName; modi:=False;end;/ 数据网格双击事件procedure Tusergl_Form.DBGrid1DblClick(Sender: TObject);begin / 相当于修改用户操作 N12.Click;end;procedure Tusergl_Form.FormShow(Sender: TObject);var sqlstr:string;begin sqlstr:=select * from user order by yhm; Query1.SQL.Clear; Query1.SQL.Add(sqlstr); Query1.Open; / 根据数据查询结果,设置弹出菜单项的可访问性 if Query1.RecordCount 0 then begin N12.Enabled:=True; N13.Enabled:=True; end else begin N12.Enabled:=False; N13.Enabled:=False; end;end;/ “添加用户”弹出菜单单击事件procedure Tusergl_Form.N11Click(Sender: TObject);begin / 设置标识 modi:=False; xx:=添加用户; / 打开添加/修改用户窗体 Application.CreateForm(Tmodiuser_Form, modiuser_Form); modiuser_Form.ShowModal;end;/ “修改用户”弹出菜单单击事件procedure Tusergl_Form.N12Click(Sender: TObject);begin / 设置标识 modi:=True; xx:=修改用户; Application.CreateForm(Tmodiuser_Form, modiuser_Form); modiuser_Form.ShowModal;end;/ “删除用户”弹出菜单单击事件procedure Tusergl_Form.N13Click(Sender: TObject);var name,id:string;begin try name:=Query1.FieldByName(name).AsString; if MessageDlg(确认要删除选中的记录码?,mtConfirmation, mbYes, mbNo, 0) = mrYes then begin id:=Query1.FieldByName(id).AsString; with TQuery.Create(nil) do begin try Close; SessionName:=MainForm.Database1.SessionName; DatabaseName:=MainForm.Database1.DatabaseName; SQL.Clear; / 删除用户表数据 SQL.Add(delete from user where id=+id+); ExecSQL; SQL.Clear; / 删除权限表数据 SQL.Add(delete from qxb where yhm=+name+); ExecSQL; finally Free; end; end; end; except end;end;4. 添加/修改用户窗体 添加/修改用户窗体设计如图6-7所示,包含两个LabeledEdit组件、一个CheckListBox组件、一个Query组件、一个Panel组件、一个GroupBox组件和两个SpeedButton组件。图6-7 添加/修改用户窗体 窗体的主要组件属性设置见表6-13。表6-13 添加/修改用户窗体主要组件属性组件属性值Form4FormStyle=fsMDIChild Name=usergl_Form Caption=添加/修改用户信息Panel1Caption= Align=alTopLabeledEdit1(Panel1)Name=yhm_LEdit EditLabel.Caption=用户名LabeledEdit2(Panel1)Name=mm_LEdit EditLabel.Caption=密码SpeedButton1(Panel1)Caption=确定SpeedButton2(Panel1)Caption=取消GroupBox1Caption=功能权限列表 Align=alClientCheckListBox1(GroupBox1)Align=alClientQuery1 添加/修改用户窗体主要代码如下:uses usergl, main;/ 窗体创建事件,将系统的所有功能模块列表procedure Tmodiuser_Form.FormCreate(Sender: TObject);var yhm, cdbh, cdmc, sqlstr:string;begin / 设置窗体标题栏 Caption:=usergl_Form.xx; Query1.SessionName:=MainForm.Database1.SessionName; Query1.DatabaseName:=MainForm.Database1.DatabaseName; with TQuery.Create(nil) do begin try Close; SessionName:=MainForm.Database1.SessionName; DatabaseName:=MainForm.Database1.DatabaseName; sqlstr:=select * from cdx order by cdx; SQL.Clear; SQL.Add(sqlstr); Open; First; while not Eof do begin cdbh:=FieldByName(cdx).AsString; cdmc:=FieldByName(cdm).AsString; / 复选列表框添加菜单项的列表 CheckListBox1.Items.Add(cdbh+&+cdmc); /根据用户权限设置复选列表 if usergl_Form.modi then begin yhm:=usergl_Form.Query1.FieldByName(name).AsString; sqlstr:=select * from qxb where (name=+yhm+) and (cdx=+cdbh+); Query1.Close; Query1.SQL.Clear; Query1.SQL.Add(sqlstr); Query1.Open; if Query1.RecordCount 0 then CheckListBox1.CheckedCheckListBox1.Count-1:=True; end; Next; end; finally Free; end; end;end;/ 确定按钮单击事件,根据用户需求,分配具体权限给用户procedure Tmodiuser_Form.SpeedButton1Click(Sender: TObject);var id,sqlstr1,sqlstr,cdbh,yhm,mm:string; i:integer;begin /先验证用户密码 if usergl_Form.modi then id:=usergl_Form.Query1.FieldByName(id).AsString; yhm:=Trim(yhm_LEdit.Text); if (Length(yhm)20) then begin ShowMessage(用户名由3-20个字符组成!); exit; end; mm:=Trim(mm_LEdit.Text); if (Length(mm)20) then begin ShowMessage(密码由3-20个字符组成!); exit; end; sqlstr1:=select * from user where (name=+yhm+) and (id+id+); if usergl_Form.modi then sqlstr:=update user set name=+yhm+,passwd=+mm+ where (id=+id+) else sqlstr:=insert into user(name,passwd) values(+yhm+,+mm+); with TQuery.Create(nil) do begin try SessionName:=MainForm.Database1.SessionName; DatabaseName:=MainForm.Database1.DatabaseName; SQL.Clear; SQL.Add(sqlstr1); Open; / 根据用户存在与否,执行不同操作 if RecordCount 0 then begin ShowMessage(该用户名已经存在,请改用其他用户名!); exit; end; SQL.Clear; SQL.Add(sqlstr); ExecSQL; for i:=0 to CheckListBox1.Count-1 do begin if usergl_Form.modi then begin cdbh:=Copy(CheckListBox1.Items.Stringsi,0,3); if CheckListBox1.Checkedi then begin sqlstr:=select * from qxb where (name=+yhm+) and (cdx=+cdbh+) order by cdx; SQL.Clear; SQL.Add(sqlstr); Open; if RecordCount = 0 then begin sqlstr1:=insert into qxb (name,cdx) values (+yhm+,+cdbh+); SQL.Clear; SQL.Add(sqlstr1); ExecSQL; end; end else begin sqlstr:=delete from qxb where (name=+yhm+) and (cdx=+cdbh+); SQL.Clear; SQL.Add(sqlstr); ExecSQL; end; end else begin cdbh:=Copy(CheckListBox1.Items.Stringsi,0,3); if CheckListBox1.Checkedi then begin sqlstr1:=insert into qxb (name,cdx) values (+yhm+,+cdbh+); SQL.Clear; SQL.Add(sqlstr1); ExecSQL; end; end; end; finally Free; end; end; Close;end;procedure Tmodiuser_Form.FormShow(Sender: TObject);begin if usergl_Form.modi then / 如果为修改用户,初始化显示组件 begin yhm_LEdit.Text:=usergl_Form.Query1.FieldByName(name).AsString; mm_LEdit.Text:=usergl_Form.Query1.FieldByName(passwd).AsString; end;end;5. 修改密码窗体 用户登录后可以自己修改密码,这样既能保证系统的安全性,同时又减少了系统管理员的工作量。 修改密码窗体保存为password.pas,界面设计如图6-8所示,包含三个LabeledEdit组件和两个Button组件。图6-8 修改密码窗体 窗体主要组件属性设置见表6-14。表6-14 修改密码窗体主要组件属性组件属性值Form5FormStyle=fsMDIChild BorderStyle=bsSingle BorderIcons=biSystemMenuName=Password_Form Caption=修改密码LabeledEdit1Text= PasswordChar=* Name=omm_LEditLabeledEdit2Text= PasswordChar=* Name=nmm_LEditLabeledEdit3Text= PasswordChar=* Name=qmm_LEdit 修改密码窗体主要代码如下:uses main;/ 确定按钮单击事件procedure TPassword_Form.cmdOKClick(Sender: TObject);var yhm,oldpass,newpass,qrpass,sqlstr:string;begin yhm:=Trim(MainForm.StatusBar1.Panels0.Text); oldpass:=Trim(omm_LEdit.Text); newpass:=Trim(nmm_LEdit.Text); / 数据合法性检验 if Length(newpass)3 then begin ShowMessage(密码由3-20个字符组成!); exit; end; qrpass:=Trim(qmm_LEdit.Text); if Length(qrpass)3 then begin ShowMessage(密码由3-20个字符组成!); exit; end; if (newpass qrpass) then begin ShowMessage(确认密码不相同,请确认!); exit; end; sqlstr:=select * from user where (name=+yhm+) and (passwd=+oldpass+); with TQuery.Create(nil) do begin try SQL.Clear; SQL.Add(sqlstr); Open; / 判断原密码是否正确 if RecordCount 1 then begin ShowMessage(原密码错误,你不能修改-+yhm+-用户的密码!); exit; end; /生成修改密码的SQL语句 sqlstr:=update user set passwd=+newpass+ where (name=+yhm+); SQL.Clear; SQL.Add(sqlstr); ExecSQL; finally Free; end; end; ShowMessage(密码修改成功!); Close;end;procedure TPassword_Form.cmdcloseClick(Sender: TObject);begin Close; MainForm.N12.Enabled:=True;end;6. 楼盘信息管理窗体 楼盘信息管理主要包括楼盘信息添加、删除、修改和查询等功能。 楼盘信息管理窗体保存为lpgl.pas。界面如图6-9所示,包含一个Panel组件、一个LabeledEdit组件、一个Query组件、一个DataSource组件、一个DBGrid组件、一个PopupMenu组件和两个Button组件。图6-9 楼盘信息管理窗体 窗体主要组件属性设置见表6-15。表6-15 楼盘信息管理窗体主要组件属性组件属性值Form6FormStyle=fsMDIChild Name=lpgl_Form Caption=楼盘信息管理Panel1Caption= Align=alTopLabeledEdit1(Panel1)EditLabel.Caption=输入门牌号模糊查询 Name=sm_LEditButton1(Panel1)Name=cmdok Caption=确定Button2(Panel1)Name=cmdclose Caption=取消PopupMenu1MenuItem1 Name=N1 Caption=添加MenuItem2 Name=N2 Caption=修改MenuItem3 Name=N3 Caption=删除Query1DataSource1DataSet=Query1DBGrid1DataSource=DataSource1 PopupMenu=PopupMenu1 Align=alClient 主要代码如下: public modi:boolean; xcaption:string;uses modilp, main;procedure Tlpgl_Form.FormCreate(Sender: TObject);begin Query1.SessionName:=MainForm.Database1.SessionName; Query1.DatabaseName:=MainForm.Database1.DatabaseName;end;/ 确定按钮单击事件procedure Tlpgl_Form.cmdokClick(Sender: TObject);var sqlstr,mph:string;begin mph:=Trim(mph_LEdit.Text); / 无输入,检索所有信息 if Length(mph)1 then begin sqlstr:=select * from lpb order by mph; end else / 有输入,模糊查询 begin mph:=%+mph+%; sqlstr:=select * from lpb where (mph like +mph+)order by mph; end; Query1.Close; Query1.SQL.Clear; Query1.SQL.Add(sqlstr); Query1.Open;end;/ “添加”弹出菜单单击事件procedure Tlpgl_Form.N1Click(Sender: TObject);begin / 设置标识 modi:=false; xcaption:=添加楼盘信息; / 打开添加/修改楼盘信息窗体 Application.CreateForm(Tmodilp_Form, modilp_Form); modilp_Form.Show;end;/ “修改”弹出菜单单击事件procedure Tlpgl_Form.N2Click(Sender: TObject);begin / 设置标识 modi:=true; xcaption:=修改楼盘信息; / 打开添加/修改楼盘信息窗体 Application.CreateForm(Tmodilp_Form, modilp_Form); modilp_Form.Show;end;/ “删除”弹出菜单单击事件procedure Tlpgl_Form.N3Click(Sender: TObject);var mph:string;begin mph:=Query1.FieldByName(mph).AsString; if MessageDlg(确认要删除选中的记录码?,mtConfirmation, mbYes, mbNo, 0) = mrYes then begin with TQuery.Create(nil) do
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 喷涂设备项目可行性研究报告申请报告
- 空间suits及其材料特性研究-洞察阐释
- 区块链技术在石油储运行业安全管理体系中的应用研究-洞察阐释
- 中国液晶显示套件项目投资可行性研究报告
- 无纺服装行业深度研究分析报告(2024-2030版)
- 生物技术产品安全检测-洞察阐释
- 2024-2030全球重型多头刺绣机行业调研及趋势分析报告
- 中国滚能部件行业市场运营现状及投资方向研究报告
- 红色基DB-60项目投资可行性研究分析报告(2024-2030版)
- 上海市重点建设项目社会稳定风险评估报告编制指南2025
- 民用爆炸物品概述
- 求职心理调适专家讲座
- GB/T 6344-2008软质泡沫聚合材料拉伸强度和断裂伸长率的测定
- GB/T 3532-1995日用瓷器
- 学术论文写作规范与技巧课件
- 生物高中-基于大数据分析的精准教学课件
- 工程结算审计实施方案(共8篇)
- 乐东221气田投产专家验收汇报
- 信任五环(用友营销技巧)课件
- 2022年广东省深圳市中考化学真题试卷
- 危险货物道路运输安全生产管理制度
评论
0/150
提交评论