use ASRS_WXZD_JYMH_CPK go -- 记录设备巷道号,用于关联kwjbxx表,获取此巷道设备剩余空位情况 ALTER TABLE wxzd_sbztxx ADD hdh TINYINT; go -- 当前设备上有货标记。0无货、1有货。 -- 仅针对需要和堆垛机直接对接的巷道升降台和固定货台,且出库到此设备的托盘不会被人工取走的情况下, -- WCS才会调用WMS服务,及时记录设备有货状态标记。 ALTER TABLE wxzd_sbztxx ADD flagYouHuo BIT; go UPDATE wxzd_sbztxx SET hdh=1 WHERE sbid IN('GDHT1', 'GDHT2', 'TSJ1', 'TSJ2') UPDATE wxzd_sbztxx SET hdh=2 WHERE sbid IN('GDHT3', 'GDHT4', 'TSJ3', 'TSJ4') go -- select * from sys_SQL_statements -- 修改实盘入库空位查询语句。每个巷道需要预留的空库位数大于巷道输送设备上待回库托盘个数 update sys_SQL_statements set SQL_string= 'SELECT TOP 1 kwbh,zsl,nckw,kws,wckw,r.hdh FROM kwjbxx r LEFT JOIN (SELECT hdh,availablePairs,kws FROM TF_待入库产品各巷道库位分配数(?)) b ON r.hdh=b.hdh JOIN (SELECT hdh hdid,COUNT(*) 空库位数 FROM kwjbxx WHERE zsl=0 AND 托盘个数=0 AND sfsd=0 AND xnkw=0 AND sfyx=1 GROUP BY hdh) c ON r.hdh=c.hdid LEFT JOIN (SELECT hdh hdid,COUNT(*) 有货库位数 FROM wxzd_sbztxx WHERE hdh IS NOT NULL AND flagYouHuo=1 AND sbid!=? GROUP BY hdh) d ON r.hdh=d.hdid WHERE zsl=0 AND 托盘个数=0 AND sfsd=0 AND xnkw=0 AND sfyx=1 AND NOT EXISTS(SELECT 2 FROM v_未完成指令 w WHERE w.kwbh=r.kwbh) AND 空库位数>ISNULL(有货库位数,0) AND ckmc=? AND pai BETWEEN ? AND ?' where ID='可入库位搜索语句'; update sys_SQL_statements set SQL_string= 'SELECT kwbh FROM kwjbxx r JOIN (SELECT hdh hdid,COUNT(*) 空库位数 FROM kwjbxx WHERE zsl=0 AND 托盘个数=0 AND sfsd=0 AND xnkw=0 AND sfyx=1 GROUP BY hdh) c ON r.hdh=c.hdid LEFT JOIN (SELECT hdh hdid,COUNT(*) 有货库位数 FROM wxzd_sbztxx WHERE hdh IS NOT NULL AND flagYouHuo=1 GROUP BY hdh) d ON r.hdh=d.hdid WHERE zsl=0 AND 托盘个数=0 AND sfsd=0 AND xnkw=0 AND sfyx=1 AND ckmc=? AND 空库位数>ISNULL(有货库位数,0) ORDER BY emptyPalletDist,ceng DESC,nckw,wckw' where ID='可入空托盘库位的提取语句(自动)'; go