客户是做纸类生贸易的,想了解产品的库存,现有一类纸叫圆筒纸,有品牌之分,有克重之分,有宽度之分,每个圆筒纸的重量都各异,销售的时候不是一整个圆筒的卖,而是把一个圆筒切部分长度销售,重量减轻。现要了解仓库内的各规格的圆筒个数有多少,每个圆筒的重量是多少,每个圆筒进仓的重量是多少,我的库存表设计如下: Brand int 品牌
Gram int 克重
Width int 宽
StoreID int 仓库编号
PValue money 原始重量
NValue money 当前重量
Po varchar(10) 批号
AutoID int 自动编号不知这样设计各位兄弟觉得怎样,现在感觉在考虑单据处理时很不好处理,如修改一张单时要将仓库的库存返回制单前的状态,各位发表一下意见,谢谢。
Gram int 克重
Width int 宽
StoreID int 仓库编号
PValue money 原始重量
NValue money 当前重量
Po varchar(10) 批号
AutoID int 自动编号不知这样设计各位兄弟觉得怎样,现在感觉在考虑单据处理时很不好处理,如修改一张单时要将仓库的库存返回制单前的状态,各位发表一下意见,谢谢。
Gram int 克重
Width int 宽
StoreID int 仓库编号
PValue money 原始重量
NValue money 当前重量
Po varchar(10) 批号
AutoID int 自动编号存量表
ID 产品编号
Number 数量
Price 单价
number可以理解为纸筒的长度或者重量,在销售一部分时可以在这个基础上减,
price可以是每单位长度/重量的价格
如果有次来货时一次进了2个同品牌,同克重,同宽度,同重的怎么表示?
在存量表中增加一个当前长度(或重量,依你客户要求)
把第一个表中的库号移到存量表
形成两个表
一个为基础资料表,存储纸的原始规格
包含 Brand int 品牌
Gram int 克重
Width int 宽
PValue money 原始重量
Po varchar(10) 批号
AutoID int 自动编号 存量 ID 产品编号
Number 数量
当前重量(长度)
Price 单价
storeID 存那个仓库中 这样,某种规格的纸做剪载,好处理,只需根据裁完后的长度或数量更新数据库即可
品种库只在增加新品种时更新
而NUMBER 用来存放个数,比如一号库有两个50米的,3个裁完后40米的,一个5米的 品种ID5
二号库中有 一个22米的品种ID4的
则记录分别为
ID number Nlong StoreID
5 2 50 1
5 3 40 1
5 1 5 1
4 1 22 2
如果这时把1个50米的拿去裁,剩10米结果是不是要变成
ID number Nlong StoreID
5 1 50 1
5 3 40 1
5 1 10 1
5 1 5 1
4 1 22 2
然后发现这个单错了,我怎么把它弄回刚才的状态?
ID number Nlong StoreID
5 2 50 1
5 3 40 1
5 1 5 1
4 1 22 2
不过我建议你干脆采用一物一码,存放的时候数量都为1,即使是批号等都相同也这样存。
库存查询的时候则可以根据需要进行sum就可以了。
我现在想法也是这样,所以在我的表设计内就没有个数,但是想着在新开出、入库单据时好处理,但一旦有单据要修改感觉就有点晕,不知要怎么处理,你能不能说个简要的流程。
我觉得楼主的结构没有问题,主表就记录当前的信息就可以,在加一个子表,记录一些变更的信息,
如重量、宽度,这些可变更的参数,其实,就有一点象药品中的液体试剂一样,一次只出库一部分,
这些楼主应该都想到了,我觉得按这个结构走下去,没有什么不好啊,就是在做出入库单的时候不太好实现,例如:
入库单:比较容易,因为都是整个的产品
大宝牌 200克重 1.2米宽 10个 每个原重1.5吨 //<--保存后会产生10条记录。
小宝牌 100克重 2.2米宽 20个 每个原重0.5吨 //<--保存后会产生20条记录。
出库单:
大宝牌 200克重 1.2米宽 2个 每个原重1.5吨 1.2米宽 1.5吨 //<--整个出库
大宝牌 200克重 1.2米宽 1个 每个原重1.5吨 0.2米宽 XXX吨 //<--部分出库
小宝牌 100克重 2.2米宽 1个 每个原重0.5吨 1.1米宽 XXX吨 //<--部分出库
把握好原则,整个出库的,可以录数量,部分出库的,不可以录数量,确保数量只能为1,这样会好处理一些,不知道我的意思楼主明白否?
再次谢谢。