65 lines
4.6 KiB
Transact-SQL
65 lines
4.6 KiB
Transact-SQL
/****** Object: Trigger [dbo].[t_wxzd_sbztxx_U] Script Date: 2017/9/28 星期四 14:55:59 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
ALTER TRIGGER [dbo].[t_wxzd_sbztxx_U] ON [dbo].[wxzd_sbztxx]
|
||
FOR UPDATE
|
||
AS
|
||
/**
|
||
* 堆垛机设备出现故障或者恢复时,对相应操作库位上锁或解锁
|
||
* Created by jzx 2012-4-7 12.50
|
||
* Modified by jzx on 2014-12-5 给库位上锁的条件中将sfsd=0改成sfsd>=0,即自动上锁的库位也要强制设定-2锁
|
||
* Modified by jzx on 2017-9-28 堆垛机识别ID可以是中文
|
||
*/
|
||
IF UPDATE(sbzt)
|
||
BEGIN
|
||
DECLARE @v_sbzt TINYINT, @v_sbid VARCHAR(50), @v_cs1 varchar(20), @v_cs2 varchar(20)
|
||
|
||
SELECT @v_sbzt = sbzt, @v_sbid = sbid, @v_cs1 = sbcs1, @v_cs2 = sbcs2 FROM inserted
|
||
IF (@v_sbid LIKE 'DDJ.%' OR @v_sbid LIKE '%堆垛机' OR @v_sbid LIKE '[1-9][#号]机')
|
||
BEGIN
|
||
|
||
IF @v_sbzt = 0
|
||
UPDATE kwjbxx SET sfsd=-2 WHERE pai BETWEEN CAST(@v_cs1 AS INT) AND CAST(@v_cs2 AS INT);
|
||
ELSE IF @v_sbzt = 2
|
||
UPDATE kwjbxx SET sfsd=0 WHERE sfsd=-2 AND pai BETWEEN CAST(@v_cs1 AS INT) AND CAST(@v_cs2 AS INT);
|
||
END
|
||
END
|
||
go
|
||
ALTER VIEW [dbo].[kwWzmx_v]
|
||
-- WITH ENCRYPTION
|
||
AS
|
||
/**
|
||
* 库位物资明细视图
|
||
* Created by 蒋智湘 AT 2004-10-11
|
||
* Used by 库位状态图中的点击库位提取库位物资数据功能点;入库库位安排界面上,可入库位表格的双击功能实现
|
||
* Modified by jzx on 2009-8-22 关联库位信息表,增加kzjrks字段输出
|
||
* Modified by jzx on 2010-8-26 关联库位信息表时使用LEFT而不是INNER。
|
||
如果外部不需要显示kzjrks字段值时,数据库就不会操作kwjbxx表
|
||
* Modified by jzx on 2014-7-30 增加件数字段输出
|
||
* Modified by jzx on 2015-9-14 删除ybh,yph,jhcks输出字段
|
||
* Modified by jzx on 2017-3-19 left join 改成 full join;增加where字句
|
||
* Modified by jzx on 2017-4-9 增加三个输出字段:最近取托盘指令号, 最近托盘取走时间, 检测设备状态
|
||
*/
|
||
SELECT A.jlh
|
||
, ISNULL(A.ckmc, K.ckmc) ckmc, ISNULL(A.kwbh, k.kwbh) kwbh
|
||
, ISNULL(A.cpbh, CASE WHEN sfwzzl='T' then '空盘' else '未知' end) cpbh
|
||
, ISNULL(A.zlzt, '-') zlzt,A.lpxx
|
||
, ISNULL(A.sl, k.托盘个数) sl
|
||
, A.sl AS ykcs,A.jhj,A.dj,A.je
|
||
, ISNULL(A.rksj, k.最近托盘放入时间) rksj
|
||
, A.bz,A.pmh
|
||
, ISNULL(A.cpmc, CASE WHEN sfwzzl='T' then '空盘' else '未知' end) cpmc
|
||
, A.cpgg1,A.cpgg2,A.cpgg3,A.jldw,A.wzlb,A.gydw
|
||
, K.kzjrks, CAST(sl/jzl AS NUMERIC(18,1)) js
|
||
, a.预约出库时间, ISNULL(k.锁定备注, CAST(NULLIF(sfsd, 0) AS VARCHAR)) AS 锁定备注, k.锁定人
|
||
, ISNULL(a.bz, '最近入库指令' + CAST(k.最近放托盘指令号 as varchar)) kcbz
|
||
, ISNULL(a.tpbh, CASE WHEN zsl=0 THEN NULL ELSE k.tpbh END) tpbh
|
||
, 最近取托盘指令号, 最近托盘取走时间
|
||
, 检测设备状态
|
||
|
||
FROM cpKcxx A FULL JOIN kwjbxx K ON A.ckmc=K.ckmc AND A.kwbh = K.kwbh
|
||
--WHERE k.托盘个数 > 0 or k.zsl>0
|
||
GO
|