/****** 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