欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOC文档下载
 

毕业设计(论文)-基于数据库的商品库存管理系统

  • 资源ID:56962656       资源大小:439KB        全文页数:58页
  • 资源格式: DOC        下载积分:30积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要30积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

毕业设计(论文)-基于数据库的商品库存管理系统

基于数据库的商品库存管理系统【摘要】:本文讨论了基于MySQL Server、 JAVA、Tomcat的B/S结构的数据库应用程序开发。在微软Windows 10操作系统环境下,服务器端安装MySql Server 5.6、 Tomcat 8.0,客户端安装MyEclipse 2015、HeidiSQL 9.1.0开发的数据库应用程序,实现了简单的收货、发货商品库存管理等功能。【关键词】: MySQL, HeidiSQL, JAVA, MyEclipse, 库存管理目 录0 引言31 应用系统运行环境31.1 服务器端软件环境31.2 客户端软件环境(含开发工具)32 数据库设计32.1 创建数据库42.2 创建数据库用户43 关于表之间的联系64 定义数据库备份策略65 应用程序设计65.1 需求分析65.1.1访谈用户65.1.2需求说明书75.2 软件设计75.2.1 概览75.2.2 环境搭建85.2.3 用户管理功能,用户的增,删,改,查185.2.4 仓库及物料管理285.2.5 收货445.2.6 发货525.2.7 更新前面删除功能,保持数据一致性525.2.8 库存报表54【参考文献】 570 引言随着计算机技术的发展,数据越来越重要,并且逐渐从程序中分离出来,至今已经形成了各种成熟的关系型数据库系统。在这个过程中,数据库的应用也越来越广泛,特别是在企业管理领域,从早期的MIS系统到现在的ERP软件和电子商务软件,都离不开数据库。数据库应用程序的开发工具也由早期的dbase、Foxbase发展到今天基于Web的面向对象的java、.Net等开发平台。业界领先的ERP软件如SAP、Oracle等更是功能强大、庞大复杂,初始安装就需要上百GB的磁盘空间。然而,有许多原理是相通的,在这里我以MySQL Server数据库管理系统,Tomcat WEB服务器和MyEclipse 、HeidiSQL开发工具创建一个库存管理的简单应用,以说明数据库应用的基本框架。1 应用系统运行环境1.1 服务器端软件环境操作系统可安装Ubuntu 14 LTS(LTS为长期支持版本)或CentOS 6.2(为了避免不必要的麻烦不建议安装最新版本,最好安装最新版的前1-2个稳定版)。数据库系统安装可MySQL 5.6及以上版本或mariadb 10.0以上版本(MySQL被Oracle收购后原MySQL创始人开发的新的基于MySQL的开源分支,全面兼容MySQL,性能更优秀些),Tcomcat7.0以上版本。1.2 客户端软件环境(含开发工具)操作系统可安装Windows 7,8.1或10,再安装Eclipse4.3 或MyEclipse 2014或2015开发工具,HeidiSQL或MySQL WorkBench for community客户端软件。2 数据库设计2.1 创建数据库通过HeidiSQL创建一个名为inventoryManage的数据库,设置默认字符集为utf-8(很重要,不同运行环境不同的字符集容易导致乱码,所以数据库,开发环境会统一utf-8解决多语言乱码问题),表的引擎为InnoDB(为了支持事务),下面所建的所有有引擎均为InnoDB。2.2 创建数据库用户通过HeidiSQL创建用户imUser,授予在inventoryManag数据库下的所有操作权限,不限制访问地址,并设置该用户的密码。CREATE USER 'imUser''%' IDENTIFIED BY '123456'GRANT USAGE ON *.* TO 'imUser''%'GRANT SELECT, EXECUTE, SHOW VIEW, ALTER, ALTER ROUTINE, CREATE, CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, DROP, INDEX, INSERT, REFERENCES, UPDATE, LOCK TABLES ON inventorymanage.* TO 'imUser''%' WITH GRANT OPTION;FLUSH PRIVILEGES;创建表和索引创建用户表user,id设置为主键,INT类型并自增,由数据库自己维护,username字段唯一约束。CREATE TABLE user (id INT NOT NULL AUTO_INCREMENT,-id; 主键 自增username VARCHAR(30) NOT NULL,-用户名 唯一维束password VARCHAR(30) NOT NULL,-密码PRIMARY KEY (id),UNIQUE INDEX username (username)COLLATE='utf8_general_ci'ENGINE=InnoDB;在user表中先增加一条记录,用于管理员登录:insert into user(username,password) values('admin','123456');创建仓库代码表warehouse,并将仓库id设为主键,ID长度为38是因为需要手动维护,手动创建的UUID长度为37。:CREATE TABLE warehouse (id VARCHAR(38) NOT NULL,-仓库ID,手动维护,主键name VARCHAR(50) NOT NULL,-仓库名address VARCHAR(50) NOT NULL,-仓库地址PRIMARY KEY (id)COLLATE='utf8_general_ci'ENGINE=InnoDB;创建物料代码表material:CREATE TABLE material (id VARCHAR(38) NOT NULL,-物料ID,手动维护,主键name VARCHAR(50) NOT NULL,-物料名unit VARCHAR(10) NOT NULL,-计量单位PRIMARY KEY (id)COLLATE='utf8_general_ci'ENGINE=InnoDB;创建收发货记录表logisticsManage,并将单据号码设为主键。因为收货单与发货单的结构非常相似,在这里用一张表来进行存储,增加一个单据类型字段,用以区分是收货单还是发货单。这里还假设计量单位都与物料代码表中的一致,所以不保存计量单位。为了简单起见,在这里用系统自动产生的流水号来表示单据号。CREATE TABLE logisticsManage (id VARCHAR(38) NOT NULL,-ID,主键type TINYINT NULL,-1,发货。 2,收货optTime DATETIME NULL,-操作时间warehouseID VARCHAR(50) NULL,-仓库IDmaterialID VARCHAR(50) NULL,-物料IDamount FLOAT NULL,-数量userID INT NULL,-用户IDPRIMARY KEY (id)COLLATE='utf8_general_ci'ENGINE=InnoDB;3 关于表之间的联系早期开发软件时使用的数据库多为关系型数据库,包括本文使用的MySQL也属于关系型数据库。在开发软件时,也强调各个表(即软件中的实体映射)之间的关系联系。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。虽然很多软件依然使用传统的关系型数据库做为产品,但是己经不再像以前那样在数据库库来强调表与表之间的联系,转而将联系放在程序层处理,来提高性能和效率,所以本文中的表不再使用传统的外键来维护表之间的联系。4 定义数据库备份策略通常根据业务需求等分析出来的备份时间在0点以后,如果是大型的应用,用本身的数据库产品管理工具还不足以做出支持自身备份与恢复的策略,这时就需要与开发分析需求,开发出半自定义备份恢复工具。本文只是一个简单的例子,放在3:00点自动做一次全备即可。5 应用程序设计5.1 需求分析需求分析是软件设计中非常重要的一个环节,没有经过详细的需求分析就匆匆忙忙进行软件开发是注定要失败的。所以一定要花时间与用户进行沟通交流,详细了解客户到底需要软件做到什么。在沟通交流过程中也可以大致告诉用户软件可以做到些什么、是怎样做的。对用户提出的一些不切实际的需求一定要以合理的方式明确地拒绝。经双方讨论并明确的需求要以书面的形式签字确认。5.1.1访谈用户 访谈用户是了解用户需求的重要方式。需要跟公司不同层面的用户访谈,了解公司的业务流程和各个环节的不同需求。对忙碌的管理人员和销售员要提前预约,以合理安排客户的时间。每次访谈后要进行访谈内容整理,以文档的形式记录下来。5.1.2需求说明书 经过详细的需求调研,最终形成需求说明书。需求说明书包含项目背景、项目目标任务、需求规定等内容,其中需求规定是重点。下面简单列出本文的需求:(1) 仓库按代码进行管理,避免每次输入仓库名称增加额外工作量和多次输入相同仓库但名称不一致。(2) 物料按代码进行管理,避免每次输入物料名称增加额外工作量和多次输入相同物料但名称不一致。(3) 每次收货、发货都进行登记,以便统计库存。(4) 每次发货时,都要检查库存,避免出现客户拿了提单到仓库却提不到货。(5) 不同的操作人员有不同的登录帐户和密码,普通用户只能修改自己的密码,管理员可以修改任何人的密码。管理员可以创建、删除、修改普通用户。(6) 对进货、发货进行创建、更改操作后,保存时把操作员代码保存到该记录中,以便明确责任。5.2 软件设计 5.2.1 概览根据需求说明书进行软件设计,把软件的功能用面向对象的方式进行分层处理,采用SpringMVC+Spring+Mybatis架构进行开发:视图层:提供给用户的操作界面。控制层:转发和处理各种请求,将用户的请求转交给业务层进行处理,将处理完的结果又转交给视图层展示给用户。业务层:处理后台业务逻辑,与数据库交互时需调用持久层进行处理,执行完成后将后果又返回给控制层。持久层:数据库访问层,实现数据库的增,删,改,查操作。5.2.2 环境搭建考虑到JAVA开发有太多的JAR包依赖管理,手动处理非常繁琐,这里使用MAVEN创建项目。maven的配置文件pom.xml:<project xmlns="http:/maven.apache.org/POM/4.0.0" xmlns:xsi="http:/www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:/maven.apache.org/POM/4.0.0 http:/maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>inventoryManage</groupId> <artifactId>inventoryManage</artifactId> <packaging>war</packaging> <version>0.0.1</version> <name>inventoryManage</name> <url>http:/maven.apache.org</url> <properties><!- spring版本号 -><spring.version>4.0.2.RELEASE</spring.version><!- mybatis版本号 -><mybatis.version>3.2.6</mybatis.version><!- log4j日志文件管理包版本 -><slf4j.version>1.7.7</slf4j.version><log4j.version>1.2.17</log4j.version> </properties> <dependencies> <!- spring依赖 -><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.8.7</version></dependency><!- spring核心包 -><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>$spring.version</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>$spring.version</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-oxm</artifactId><version>$spring.version</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>$spring.version</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>$spring.version</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>$spring.version</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>$spring.version</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>$spring.version</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>$spring.version</version></dependency><!- mybatis核心包 -><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>$mybatis.version</version></dependency><!- mybatis/spring包 -><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.2.2</version></dependency><!- 导入java ee jar 包 -><dependency><groupId>javax</groupId><artifactId>javaee-api</artifactId><version>7.0</version></dependency><!- 导入Mysql数据库链接jar包 -><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.30</version></dependency><!- 导入dbcp的jar包,用来在applicationContext.xml中配置数据库 -><dependency><groupId>commons-dbcp</groupId><artifactId>commons-dbcp</artifactId><version>1.2.2</version></dependency><!- JSTL标签类 -><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><!- 日志文件管理包 -><!- log start -><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>$log4j.version</version></dependency><!- 格式化对象,方便输出日志 -><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.1.41</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>$slf4j.version</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>$slf4j.version</version></dependency><!- log end -> </dependencies> <build> <finalName>inventoryManage</finalName> </build></project>数据源配置信息jdbc.properties:driver=com.mysql.jdbc.Driverurl=jdbc:mysql:/localhost/inventorymanage?characterEncoding=utf-8username=imUserpassword=123456#定义初始连接数initialSize=1#定义最大连接数maxActive=20#定义最大空闲maxIdle=20#定义最小空闲minIdle=1#定义最长等待时间maxWait=60000spring与mybatis的整合 spring-mybatis.xml:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http:/www.springframework.org/schema/beans"xmlns:xsi="http:/www.w3.org/2001/XMLSchema-instance"xmlns:p="http:/www.springframework.org/schema/p"xmlns:aop="http:/www.springframework.org/schema/aop" xmlns:tx="http:/www.springframework.org/schema/tx"xmlns:context="http:/www.springframework.org/schema/context"xsi:schemaLocation="http:/www.springframework.org/schema/beans http:/www.springframework.org/schema/beans/spring-beans-4.0.xsd http:/www.springframework.org/schema/context http:/www.springframework.org/schema/context/spring-context-4.0.xsd http:/www.springframework.org/schema/tx http:/www.springframework.org/schema/tx/spring-tx-4.0.xsd http:/www.springframework.org/schema/aop http:/www.springframework.org/schema/aop/spring-aop-4.0.xsd"> <!- 自动扫描 -><context:component-scan base-package="com.inventoryManage.service.impl"/><!- 引入配置文件 -><bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="location" value="classpath:jdbc.properties"/></bean><!- 数据源 -><bean id="dataSource" class="mons.dbcp.BasicDataSource" destroy-method="close"><property name="driverClassName" value="$driver" /><property name="url" value="$url" /><property name="username" value="$username" /><property name="password" value="$password" /><!- 初始化连接大小 -><property name="initialSize" value="$initialSize"></property><!- 连接池最大数量 -><property name="maxActive" value="$maxActive"></property><!- 连接池最大空闲 -><property name="maxIdle" value="$maxIdle"></property><!- 连接池最小空闲 -><property name="minIdle" value="$minIdle"></property><!- 获取连接最大等待时间 -><property name="maxWait" value="$maxWait"></property></bean><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource"/><property name="mapperLocations" value="classpath:com/inventoryManage/mappers/*.xml" /></bean><!- 扫描指定位置下的DAO接口自动生成实现类 -><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.inventoryManage.dao" /></bean><!- 事务管理 -><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource" /></bean><!- 注解式事务 -><tx:annotation-driven transaction-manager="transactionManager" /></beans>Spring-mvc的配置 spring-mvc.xml:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http:/www.springframework.org/schema/beans"xmlns:xsi="http:/www.w3.org/2001/XMLSchema-instance" xmlns:p="http:/www.springframework.org/schema/p"xmlns:context="http:/www.springframework.org/schema/context"xmlns:mvc="http:/www.springframework.org/schema/mvc"xsi:schemaLocation="http:/www.springframework.org/schema/beans http:/www.springframework.org/schema/beans/spring-beans-4.0.xsd http:/www.springframework.org/schema/context http:/www.springframework.org/schema/context/spring-context-4.0.xsd http:/www.springframework.org/schema/mvc http:/www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"><!- 注解驱动 -><mvc:annotation-driven/><!- 自动扫描该包,使SpringMVC认为包下用了controller注解的类是控制器 -><context:component-scan base-package="com.inventoryManage.controller"/><!-避免IE执行AJAX时,返回JSON出现下载文件 -><bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"><property name="supportedMediaTypes"><list><value>text/html;charset=UTF-8</value></list></property></bean><!- 启动SpringMVC的注解功能,完成请求和注解POJO的映射 -><bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"><property name="messageConverters"><list><ref bean="mappingJacksonHttpMessageConverter" /><!- JSON转换器 -></list></property></bean><!- 视图-><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><!- 这里的配置我的理解是自动给后面action的方法return的字符串加上前缀和后缀,变成一个 可用的url地址 -><property name="prefix" value="/WEB-INF/jsps/" /><property name="suffix" value=".jsp" /></bean><!-拦截器 没有登陆禁止访问 -><mvc:interceptors><mvc:interceptor><mvc:mapping path="/*"/><mvc:mapping path="/*/*"/><mvc:mapping path="/*/*/*"/><mvc:mapping path="/*/*/*/*"/><mvc:exclude-mapping path="/index"/><bean class="com.inventoryMmon.MyInterceptor"/></mvc:interceptor></mvc:interceptors></beans>web.xml的配置:<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http:/www.w3.org/2001/XMLSchema-instance"xmlns="xsi:schemaLocation=" version="3.0" id="WebApp_1451443344519"><display-name>inventoryManage</display-name><!- Spring和mybatis的配置文件 -><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-mybatis.xml</param-value></context-param><!- 编码过滤器 -><filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><async-supported>true</async-supported><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!- Spring监听器 -><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!- 防止Spring内存溢出监听器 -><listener><listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class></listener><!- Spring MVC servlet -><servlet><servlet-name>SpringMVC</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-mvc.xml</param-value></init-param><load-on-startup>1</load-on-startup><async-supported>true</async-supported></servlet><servlet-mapping><servlet-name>SpringMVC</servlet-name><url-pattern>/</url-pattern></servlet-mapping><welcome-file-list><welcome-file>/index.jsp</welcome-file></welcome-file-list></web-app>程序结构5.2.3 用户管理功能,用户的增,删,改,查定义登陆页:index.jsp<% page language="java" pageEncoding="utf-8"%><!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN"><html> <body> <form action="$pageContext.request.contextPath/login" method="post"> <br>用户登陆<br><br> 用户名:<input type="text" name="username"><br> 密码:<input type="password" name="password"><br> <input type="submit" value="登陆"> </form> </body></html>创建全局拦截器,未登陆的请求一律转发到登陆页indexpackage com.inventoryMmon;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.HandlerInterceptor;import org.springframework.web.servlet.ModelAndView;import com.inventoryManage.domain.User;public class MyInterceptor implements HandlerInterceptorpublic void afterCompletion(HttpServletRequest request,HttpServletResponse response, Object arg2, Exception arg3)throws Exception public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,Object arg2, ModelAndView arg3) throws Exception public boolean preHandle(HttpServletRequest request, HttpServletResponse response,Object arg2) throws Exception User user= (User)request.getSession().getAttribute("user");if(user=null)response.sendRedirect("index");return false;else return true;创建用户实体类package com.inventoryManage.domain;public class User private Integer id;private String username;private String password;public Integer getId() return id;public void setId(Integer id) this.id = id;public String getUsername() return username;public void setUsername(String username) this.username = username;public String getPassword() return password;public void setPassword(String password) this.password = password;public User(String username, String password) this.username = username;this.password = password;public User() 创建用户持久层接口package com.inventoryManage.dao;import com.inventoryManage.domain.User;public interface IUserDao User getUser(User user);List<User> getUsers(User user);Integer updateUser(User user);Integer delUser(String uid);Integer addUser(User user);创建用户类数据库映射文件。实现增,删,改,查功能(配置文件中的ID与IUserDao方法相对应,可由mybatis自动生成接口的实现类,无须自己实现)<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapperPUBLIC "-/mybatis.org/DTD Mapper 3.0/EN""http:/mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.inventoryManage.dao.IUserDao"><select id="getUser" parameterType="com.inventoryManage.domain.User" resultType="com.inventoryManage.domain.User">select id,username from user<where><if test="username!=null">username= #username</if><if test="password!=null">password=#password</if><if test="id!=null">id!= #id</if></where></select><insert id="addUser" parameterType="com.inventoryManage.domain.User">insert into user(username,password) values(#username,#password);</insert><update id="updateUser" parameterType="com.inventoryManage.domain.User">update user<set><if test="username!=null">username= #username</if><if test="password!=null">password=#password</if>

注意事项

本文(毕业设计(论文)-基于数据库的商品库存管理系统)为本站会员(na****u)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!