一:看板效果
二:客户需求
1、客户需求:XX是一家汽车零部件(胶管,硅胶管等)的生产厂家,因此对原料,半成品的有效期有严格的要求。
多次调研得知厂长对看板需要展示的内容需求如下:
①、体现每个库位的现在放置何种料,库存多少,入库时间(精确到小时)
②、要有颜色标识:白色表示空库位;白色表示入库时间不满8小时,严格禁止领用;绿色表示正常可以领用;橙色表示即将达到有效期;红色表示必须经过经理的审批才能够领用。(通过CHECK或者扫描时的提示来实现这些限制)
三:系统实现
1、提前在系统中维护好库位信息,并打印出条码:
我们是通过制作自定以业务“库位登记”然后EXCLE整理好库位通过EDI导入最后打印标签。(这里需自行制作自定义单据【库位登记】,EDI【库位信息导入】,打印样式【库位打印】)
2. 入库通过扫描入库:
半成品管胚入库通过扫描管制卡号,扫描库位号进行入库,同时将管制卡号当成批次号。
①、系统局限:我们需要取BCIbt表(批次余额表)中的InDate字段作为入库时间,但是客户要求精确到小时,然而由于我们系统这个时间只会写进日期型不会写进去日期时间型,通过扫描直接取GetDate()写进InDate也不行,最后通过CHECK来实现。
3. 看板制作
需要考虑两种空库位的情况:
①、从系统使用库位开始,一直没有用过的库位
②、正常入库,领料导致的空库位
考虑到以上两个问题就可以写查询,在系统中制作看板了,详细制作步骤不再说明。
-------------分------------------------割-----------------------线-------------
【查询语句】
</pre><pre name="code" class="sql">
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