家具城进销存管理系统.doc
《家具城进销存管理系统.doc》由会员分享,可在线阅读,更多相关《家具城进销存管理系统.doc(13页珍藏版)》请在冰豆网上搜索。
(12)某家具城进销存管理系统
l实现家具类型、供应商信息的管理;
l实现客户信息、家具信息的管理;
l实现家具入库管理;
l实现家具的销售管理;
l实现收款管理;
l创建触发器,实现家具入库和销售时自动修改库存;
l创建存储过程统计某段时间内各种商品的入库数量和销售数量;
建立数据库相关表之间的参照完整性约束
数据库设计
一、需求分析
家具有买有卖,涉及到买家(客户)、店家、家具库。
需求如下:
买家:
向店家买家具
卖家:
卖家具给买家
家具库:
为买家发货
家具信息:
家具、家具名称、规格、单位、有效期、进价、数量、当前库存
二、系统功能划分:
1.系统构图:
2.功能图
三、处理对象
商品资料:
货号,条形码,品名,类型,生产商,类别,进货价,销售价
供应商资料:
供货商号,简称,名称,地址,邮编,区号,地区,类型,电话,传真,电报,开户行,开户行邮编,银行帐号,税号,库房地址,库房电话,业务员,业务部门等。
客户资料:
客户编号,简称,名称,联系人,地址,邮编,去好,地区,
电话,传真,电报,开户行,开户行邮编,银行帐号,税号,性别,业务员,业务部门,授信额度等。
业务员信息 :
业务员号,姓名,性别,电话,手机,地址,邮编,身
份证号,类别等
仓库信息:
仓库号,仓库名,类别,备注等。
订货单信息:
订货单编号,日期,用户代码,用户名称,用户地址,用
户姓名,电话,开户行,银行帐号,商品货号,品名,规格,类别,订货数量等。
发货单信息:
发货单编号,日期,客户代码,客户名称,客户地址,客
户姓名,电话,开户行,银行帐号,商品货号,品名,规格,类别,发货数量等。
采购合同:
供货商号,货号,进价,付款方式,帐期,签定日期,合同期限等。
销售合同:
客户编号,货号,售价,付款方式,帐期,签定日期,合同
期限等
四、概念设计:
1.局部E-R图
(1)、店长业务流程
(2)供应部业务流程(3)销售部业务流程:
(4)财务部销售流程:
(5)、服务部业务流程(6)、后勤部业务流程
E-R图:
、
五、创建存储过程:
创建存储过程统计某段时间内,购买家具人数和输入情况;
createproc某时间段购买家具情况
@购买日期datetime
AS
select部门编号,买家信息表,信息,购买时间from部门信息表,发单,where购买时间=@购买时间
go
execute某时间段购买情况
六、创建视图过程
创建视图查询各种药品的库存总数
createviewv库存
asselect家具信息表.家具编号,家具名称,数量,当前库存,库存from家具信息表,家具信息表where家具信息表.药品编号=家具信息表.家具编号
5
5,典型SQL语句
--数据库的创建 create database JSC on primary
( name = JSC_data,
filename ='D:
\JSC_Data.MDF', size = 10, maxsize = 500, filegrowth = 5) log on
( name = JSC_log,
filename ='D:
\JSC_Log.LDF', size = 10, maxsize = 200
filegrowth = 5); --建供货商表 create table GHS (
供货商编号nvarchar(20) Not null primary key, 供货商名称nvarchar(20)null, 供货商地址nvarchar(60)null, 供货商电话nvarchar(20)null, 供货商简介nvarchar(80)null, )
--添加顾客信息
create procedure pro_addgk (@顾客编号 nvarchar(20), @顾客姓名 nvarchar(10),
6
@顾客地址 nvarchar(10), @顾客电话 nvarchar(20)) as
insert into gk
values(@顾客编号 ,@顾客姓名, @顾客地址,@顾客电话) --修改顾客信息
create procedure pro_upgk (@顾客编号 nvarchar(20),
@顾客姓名 nvarchar(10),@顾客地址 nvarchar(10),@顾客电话 nvarchar(20)) as
update GK
set 顾客姓名=@顾客姓名,顾客地址 =@顾客地址,顾客电话=@顾客电话 where 顾客编号=@顾客编号 --删除顾客信息
create procedure pro_delgk @顾客编号 nvarchar(20) as
delete from gk
where 顾客编号=@顾客编号 --建采购表 create table CG (
采购单号int
IDENTITY
(500001, 1)Not null,
供应商编号nvarchar(20)Not null, 供应商电话nvarchar(20)null, 管理员编号nvarchar(20)Not null, 家具编号nvarchar(20)Not null, 家具名称 nvarchar(30)null, 单价money null, 采购数量 int Not null,
金额 AS
单价*采购数量 persisted, 备注 nvarchar
(100) null,
入库日期 datetime Not null, primary key(采购单号,
供应商编号,管理员编号,家具编号) )
create procedure pro_CG (@供货商编号 nvarchar(20), @供应商电话 nvarchar(20), @管理员编号 nvarchar(20), @家具编号 nvarchar(20), @家具名称 nvarchar(30),@单价 money,@采购数量 int, @备注 nvarchar(100)) as
declare @入库日期 datetime set @入库日期 = getdate() declare @金额 money set @金额=@单价*@采购数量 insert into CG values(@供货商编号, @供应商电话,@管理员编号, @家具编号,@家具名称
@单价,@采购数量,@备注,@入库日期 --采购触发器
create trigger tri_CGGL on CG instead of insert as begin
if(exists (select 家具编号 from KC where 家具编号 = (select 家具编号 from inserted))) begin print '仓库中已有此样式家具的信息' update KC
set 仓库数量 = 仓库数量 + (select 采购数量 from inserted ) where 家具编号 = (select 家具编号 from inserted)
insert into CG
select 供应商编号,供应商电话,
管理员编号,家具编号,
家具名称,单价,采购数量,备注,入库日期
from inserted end
if(not exists (select 家具编号 from KC where 家具编号 = (select
家具编号 from inserted)))
begin
print '仓库里没有该类家具的信息, 已把新信息加入库存表中' insert into KC
select 家具编号,家具名称,采购数量 from inserted insert into JJ
select 家具编号,NULL,家具名称, NULL,NULL,NULL,NULL,单价 from inserted insert into CG
select 供应商编号,供应商电话, 管理员编号,家具编号,,家具名称, 单价,采购数量,备注,入库日期 from inserted end
End
--修改采购单,进而修改库存, 防止非法修改信息 create trigger tri_upcg on cg after update as
if UPDATE(采购单号) or
UPDATE(家具编号) or UPDATE(家具名称) begin
print '错误操作' rollback transaction end
if exists(select 采购单号 from
deleted where 采购单号=(select 采购单号 from inserted)
and 家具编号=(select 家具编号 from inserted) and 采购数量>(select 采购数量 from inserted)) update KC
set 仓库数量 = 仓库数量+(select 采购数量 from inserted)-(select 采购数量 from deleted) else if exists(select 采购单号 from deleted where 采购单号=(select 采购单号 from inserted) and 家具编号=(select 家具编号 from inserted) and 采购数量<=(select 采购数量 from inserted)) update KC
set 仓库数量 = 仓库数量+(select
采购数量 from inserted)-(select 采购数量 from deleted) else begin
print '请重新输入'
end
7
家具编号 from inserted))) begin
print '仓库里没有该类家具的信息, 已把新信息加入库存表中' insert into KC
select 家具编号,家具名称,采购数量 from inserted insert into JJ
select 家具编号,NULL,家具名称, NULL,NULL,NULL,NULL,单价 from inserted insert into CG
select 供应商编号,供应商电话, 管理员编号,家具编号,,家具名称, 单价,采购数量,备注,入库日期 from inserted