库位分布看板(库位管理)

一:看板效果

二:客户需求


1、客户需求:XX是一家汽车零部件(胶管,硅胶管等)的生产厂家,因此对原料,半成品的有效期有严格的要求。
    多次调研得知厂长对看板需要展示的内容需求如下:
①、体现每个库位的现在放置何种料,库存多少,入库时间(精确到小时)
②、要有颜色标识:白色表示空库位;白色表示入库时间不满8小时,严格禁止领用;绿色表示正常可以领用;橙色表示即将达到有效期;红色表示必须经过经理的审批才能够领用。(通过CHECK或者扫描时的提示来实现这些限制)

 

三:系统实现


1、提前在系统中维护好库位信息,并打印出条码:

我们是通过制作自定义业务“库位登记”然后EXCLE整理好库位通过EDI导入最后打印标签。(这里需自行制作自定义单据【库位登记】,EDI【库位信息导入】,打印样式【库位打印】

2.   入库通过扫描入库:

半成品管胚入库通过扫描管制卡号,扫描库位号进行入库,同时将管制卡号当成批次号。

①、系统局限:我们需要取BCIbt表(批次余额表)中的InDate字段作为入库时间,但是客户要求精确到小时,然而由于我们系统这个时间只会写进日期型不会写进去日期时间型,通过扫描直接取GetDate()写进InDate也不行,最后通过CHECK来实现。

3.   看板制作

需要考虑两种空库位的情况:

①、从系统使用库位开始,一直没有用过的库位

②、正常入库,领料导致的空库位

考虑到以上两个问题就可以写查询,在系统中制作看板了,详细制作步骤不再说明。

-------------分------------------------割-----------------------线-------------

【查询语句】

SELECT S.*
FROM ( --库位存在物料--

      SELECT DISTINCT (LEFT(TM.LcnID,3) + '货架  ' + SUBSTRING(TM.LcnID,5,1) + '层  ' + SUBSTRING(TM.LcnID,7,2)+' 库位') AS Tag,TM.LcnID, TM.ItmID,(SUM(TM.InQty)-sUM(TM.OutQty))onHand,
                                                                                                                                                                            Cast(DATEDIFF(HH,TM.InDate,GETDATE()) AS int)Tag5,(Cast(DATEDIFF(HH,TM.InDate,GETDATE())/24 AS Nvarchar(10))+' 天'+ Cast((DATEDIFF(HH,TM.InDate,GETDATE())-(DATEDIFF(HH,TM.InDate,GETDATE())/24)*24)AS Nvarchar(10)) +' 小时') RKXH
      FROM BCIbt TM
      WHERE TM.WhsID='6'
        AND LEFT(TM.LcnID,3) IN ('006',
                                 '007',
                                 '008',
                                 '009',
                                 '010')
      GROUP BY TM.LcnID,
               TM.ItmID,
               TM.InDate HAVING (SUM(TM.InQty)-sUM(TM.OutQty))>0
      UNION ALL --入库,领料导致的空库位--

      SELECT DISTINCT LEFT(TM.LcnID,3) + '货架  ' + SUBSTRING(TM.LcnID,5,1) + '层  ' + SUBSTRING(TM.LcnID,7,2)+' 库位') AS Tag,
     TM.LcnID,
     NULLItmID,
     NULL AS onHand ,
     -1 AS Tag5,
     NULL RKXH
FROM BCIbt TM
WHERE TM.WhsID='6'
  AND LEFT(TM.LcnID,3) IN ('006',
                           '007',
                           '008',
                           '009',
                           '010')
GROUP BY TM.LcnID ,
         TM.InDate HAVING (SUM(TM.InQty)-sUM(TM.OutQty))=0
UNION ALL --期初空库位--

SELECT DISTINCT (LEFT(TD.LcnID,3) + '货架  ' + SUBSTRING(TD.LcnID,5,1) + '层  ' + SUBSTRING(TD.LcnID,7,2)+' 库位')AS Tag,
                TD.LcnID,
                NULLItmID,
                NULL AS onHand ,
                -1 AS Tag5,
                NULL RKXH
FROM ZZKEHA TD
LEFT JOIN BCIbt TM ON TD.LcnID=TM.LcnID
WHERE LEFT(TD.LcnID,3) IN ('006',
                           '007',
                           '008',
                           '009',
                           '010')
  AND TM.BatchNum IS NULL ) S
ORDER BY S.LcnID

 

转载于:https://my.oschina.net/2811752349/blog/687563

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值