制造业,进销存,先进先出的问题!

chang110cn 2004-07-28 09:41:49
我在做成品存时,遇到这样的问题,看看大家有什么好的办法解决。
一批成品是同一个施工号,施工号不同,所生产的产品可能相同,但单价确不一样。
入库是按施工号入的,但同一施工号的产品,可能要几次才能完全入库。
出库时,可能要按施工号出,也可能要直接按产品出,如果按产品出库,就要按入库的顺序,先进先出。反正出库是要能记录下施工号的。

入库表:
*入库单编号 施工号 入库日期 生产单位 产品代码 数量 单价 金额

库库表:
1. *施工号 库存日期 生产单位 产品代码 数量 单价 金额
2. 施工号 库存日期 生产单位 *产品代码 数量 单价 金额

出库表:
*出库单编号 施工号(可能有多个) 出库日期 产品代码 数量 单价(因为可能有多个施工号,单价不定,所以可自己填写) 金额

*表示主键

问题:
1.库存表(1)和(2)我应该用哪种表结构设计。
2.如果选(1),若是按产品出库,我怎么把库存中的数量按先进先出的顺序走呢?又怎么去记录这个顺序?
3.如果选(2),若是按施工号出库,又怎样去记录它的施工号走的顺序?

请大家帮忙给看看!谢谢!


...全文
367 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
张新林 2004-07-28
  • 打赏
  • 举报
回复
不然你计算产库存还是要经过运算的。。

入库表:
*入库单编号 施工号 入库日期 生产单位 产品代码 数量 (剩下量) 单价 金额

库库表:
1. 产品代码(PK) 数量 单价 金额
// 2. 施工号 库存日期 生产单位 *产品代码 数量 单价 金额
这两张表设计得有问题。
张新林 2004-07-28
  • 打赏
  • 举报
回复
记录性的数据不能放库存表里,

入库表:
*入库单编号 施工号 入库日期 生产单位 产品代码 数量 单价 金额

设计得有问题。
要加一个字段(剩下量)的字段。
当你出库时,要计算 产品的入库时的价格来出库,
chang110cn 2004-07-28
  • 打赏
  • 举报
回复
to:coldljy(凤舞N天)

当然是每次都要计算了。

现在我想了一个笨得很的办法,就是库存表选(1),出库时,你自己选施工号(我可以按入库顺序给你排),如果这个施工号中的数量不够,那么你就选完这个,再开一张出库单选下一个,只到选够为至,那么这几张出库单合起来就是你这次的总出库了,办法真是笨的可以呀,但也没招了!

coldljy 2004-07-28
  • 打赏
  • 举报
回复
是每月进行一次结算还是说每次出库时都要计算
chang110cn 2004-07-28
  • 打赏
  • 举报
回复
to: thinkingforever(盼星星)
入库单编号作为外键的话,也就是说得在入库单表中得再加一个出库数量的字段了,不然怎么知道此入库单的产品是否已出库了呢?

3.如果选(2),若是按施工号出库,又怎样去记录它的施工号走的顺序?
如果按产品代码为主键,出库时又要按施工号出库,我就没法在库存表中得到施工号,只能通过产品代码到入库单中找,而这又需要在入库单中先进先出,所以我现在不知道该怎么处理了?请大家给个思路。

还有,一个施工号,一定只是一种产品。

谢谢!
thinkingforever 2004-07-28
  • 打赏
  • 举报
回复
两个任何一个都不能做主键.可以选择联合主键.在库存表中加上入库单编号作为外键.
如果按产品出库,你可以从入库表中查最早入库的产品信息.然后在库存表中可以找到施工号.
"按施工号出库,又怎样去记录它的施工号走的顺序?"这个不太明白,如果是要看施工号的出库顺序,不是在出库表中就可以看到吗?
bestfuture 2004-07-28
  • 打赏
  • 举报
回复
只能帮up
yanwl 2004-07-28
  • 打赏
  • 举报
回复
1)我觉得应该用联合主键,将二者联合作为主键
2)按施工号和入库日期排序
3)按产品代码分组,入库日期排序
winxieddd 2004-07-28
  • 打赏
  • 举报
回复
up
chang110cn 2004-07-28
  • 打赏
  • 举报
回复
to: zzcwhq(zzcwhq)
可能是我没写清楚,入库表和出库表是一个,库存表是两个了(一个是以施工号保存的,另一个是以产品保存的。)当有入库和出库操作的时候,只好把两个库存表中的数量都改了。

感谢大家,这个问题还有很多现实的情况,还是我自己再好好考虑一下吧。
chang110cn 2004-07-28
  • 打赏
  • 举报
回复
to: ddggggdd() ( )
对,这个完全正确,正因为这样我才提出库存表的两种方案,不知该选哪儿一种了。
zzcwhq 2004-07-28
  • 打赏
  • 举报
回复
续。。。

入库表还是1个表呀,
我只是加了一个基本信息表(产品信息表),为什么还要库存表,
我看入库表、出库表、产品信息表就已经可以了,库存表和入库表有什么区别?感觉累赘。

如果非要体现产品的数量的话,那就在产品信息表中加入总入库数、总出库数、当前库存数量。
ddggggdd 2004-07-28
  • 打赏
  • 举报
回复
虽然一个施工号是一种产品,但一种产品不一定是一个施工号,
作类批次管理这种问题太常见了
chang110cn 2004-07-28
  • 打赏
  • 举报
回复
to: zzcwhq(zzcwhq)
如果把库存分开,是不是就要有两张库存表,入库出库两张表都要修改。

好象应该是在入库表中加入一个出库数量的字段吧,因为入库的时候也不是一定每次都能一次入完的。
同样,一次出库可能是几次入库的和,也可能一次入库的数量,几次都出不完。


mywebcom 2004-07-28
  • 打赏
  • 举报
回复
从设计数据库结构的角度考虑:库存表是存储产品。
除了主键用库存编号外,另一个重要的就是外键产品编号了;
至于从库存表里到出库表里的体现(先进先出):即使有相同的产品编号,你可以判断时间最早的数量(剩下量)不为零的那个记录,就是你下次要出库的记录了。
chang110cn 2004-07-28
  • 打赏
  • 举报
回复
to: ddggggdd() ( )
因为一个施工号只可能是一种产品,作联合主键好象没意义。
zzcwhq 2004-07-28
  • 打赏
  • 举报
回复
建议把库存表分开,
分成产品基本信息表和库存表,然后进行关联,
这样的话库存表主键选(1),

库存表是否需要加入已出库数量字段?难道每次都能把一次入库的产品全出库?
如果加入出库数量字段后,那么可根据出库数量和入库时间来处理按产品出库的先进先出(同时要考虑一次出库数量可能等于多次入库数量的和)


关于先进先出处理还要分几种情况,出库数量和入库数量的关系
ddggggdd 2004-07-28
  • 打赏
  • 举报
回复
为什么不能用施工号和产品号作联合主键?楼主给理由
chang110cn 2004-07-28
  • 打赏
  • 举报
回复
to: huangkc(糊涂虫)
我的入库单号,就可以从小到大排顺序呀!实际上施工号本身也就有批次的意思了。
huangkc 2004-07-28
  • 打赏
  • 举报
回复
表中增加"批次"字段

入库时记录批次
出库时按批次从小到大顺序
加载更多回复(2)

111,119

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧