|
|
|
@ -159,10 +159,11 @@ |
|
|
|
</select> |
|
|
|
|
|
|
|
<!-- 获取栈板明细 - AI制作 --> |
|
|
|
<!-- 优化:添加 WITH (NOLOCK) 避免死锁 - rqrq --> |
|
|
|
<select id="getPalletDetails" resultType="java.util.Map"> |
|
|
|
SELECT a.site, a.pallet_id as palletId, a.position, a.layer, a.serial_no as serialNo, a.part_no as partNo, |
|
|
|
a.create_date as createDate, a.create_by as createBy |
|
|
|
FROM pallet_detail a |
|
|
|
FROM pallet_detail a WITH (NOLOCK) |
|
|
|
WHERE a.site = #{site} AND a.pallet_id = #{palletId} |
|
|
|
<if test="position != null and position != ''"> |
|
|
|
AND a.position = #{position} |
|
|
|
@ -181,17 +182,20 @@ |
|
|
|
WHERE a.site = #{site} AND a.pallet_id = #{palletId} |
|
|
|
|
|
|
|
</select> |
|
|
|
<!-- 优化:添加 WITH (NOLOCK) 避免死锁 - rqrq --> |
|
|
|
<select id="getPalletTypeInfoByPallet" resultType="PalletType"> |
|
|
|
select b.site,b.pallet_type,b.type_desc,b.active,b.remark,b.pallet_family,b.wcs_pallet_type,b.wcs_base_pallet_type,b.wcs_auto_sort, |
|
|
|
b.wcs_sore_type,b.max_layer |
|
|
|
from pallet a left join pallet_type b on a.pallet_type=b.pallet_type and a.site=b.site |
|
|
|
where a.pallet_id=#{palletId} and a.site=#{site} |
|
|
|
SELECT b.site, b.pallet_type, b.type_desc, b.active, b.remark, b.pallet_family, b.wcs_pallet_type, b.wcs_base_pallet_type, b.wcs_auto_sort, |
|
|
|
b.wcs_sore_type, b.max_layer |
|
|
|
FROM pallet a WITH (NOLOCK) |
|
|
|
LEFT JOIN pallet_type b WITH (NOLOCK) ON a.pallet_type = b.pallet_type AND a.site = b.site |
|
|
|
WHERE a.pallet_id = #{palletId} AND a.site = #{site} |
|
|
|
</select> |
|
|
|
|
|
|
|
<!-- 根据位置获取层数 - AI制作 --> |
|
|
|
<!-- 优化:添加 WITH (NOLOCK) 避免死锁 - rqrq --> |
|
|
|
<select id="getLayersByPosition" resultType="java.lang.Integer"> |
|
|
|
SELECT DISTINCT layer |
|
|
|
FROM pallet_detail |
|
|
|
FROM pallet_detail WITH (NOLOCK) |
|
|
|
WHERE site = #{site} AND pallet_id = #{palletId} AND position = #{position} |
|
|
|
ORDER BY layer |
|
|
|
</select> |
|
|
|
@ -214,9 +218,10 @@ |
|
|
|
</select> |
|
|
|
|
|
|
|
<!-- 获取栈板指定层的明细统计 - AI制作 --> |
|
|
|
<!-- 优化:添加 WITH (NOLOCK) 避免死锁 - rqrq --> |
|
|
|
<select id="getPalletLayerStatistics" resultType="java.util.Map"> |
|
|
|
SELECT position, COUNT(1) as count |
|
|
|
FROM pallet_detail |
|
|
|
FROM pallet_detail WITH (NOLOCK) |
|
|
|
WHERE site = #{site} AND pallet_id = #{palletId} AND layer = #{layer} |
|
|
|
GROUP BY position |
|
|
|
</select> |
|
|
|
@ -250,10 +255,11 @@ |
|
|
|
</if> |
|
|
|
</select> |
|
|
|
|
|
|
|
<!-- 优化:添加 WITH (NOLOCK) 避免死锁 - rqrq --> |
|
|
|
<select id="getNowStation" resultType="AgvStation"> |
|
|
|
SELECT TOP 1 b.station_code, b.location_code, b.warehouse_code |
|
|
|
FROM pallet a |
|
|
|
LEFT JOIN agv_station b ON a.location_code = b.station_code |
|
|
|
FROM pallet a WITH (NOLOCK) |
|
|
|
LEFT JOIN agv_station b WITH (NOLOCK) ON a.location_code = b.station_code |
|
|
|
WHERE a.site = #{site} AND a.pallet_id = #{palletId} AND a.is_deleted = '0' |
|
|
|
</select> |
|
|
|
|
|
|
|
@ -324,9 +330,10 @@ |
|
|
|
</insert> |
|
|
|
|
|
|
|
<!-- 获取指定位置已占用的层数(排除指定标签) - AI制作 --> |
|
|
|
<!-- 优化:添加 WITH (NOLOCK) 避免死锁 - rqrq --> |
|
|
|
<select id="getOccupiedLayersExcludeSerial" resultType="java.lang.Integer"> |
|
|
|
SELECT DISTINCT layer |
|
|
|
FROM pallet_detail |
|
|
|
FROM pallet_detail WITH (NOLOCK) |
|
|
|
WHERE site = #{site} |
|
|
|
AND pallet_id = #{palletId} |
|
|
|
AND position = #{position} |
|
|
|
@ -370,9 +377,10 @@ |
|
|
|
</update> |
|
|
|
|
|
|
|
<!-- 检查栈板是否正在被调用 - AI制作 --> |
|
|
|
<!-- 优化:添加 WITH (NOLOCK) 避免死锁 - rqrq --> |
|
|
|
<select id="checkPalletCallingFlag" resultType="java.lang.String"> |
|
|
|
SELECT calling_flag |
|
|
|
FROM pallet |
|
|
|
FROM pallet WITH (NOLOCK) |
|
|
|
WHERE site = #{site} AND pallet_id = #{palletId} AND is_deleted = '0' |
|
|
|
</select> |
|
|
|
|
|
|
|
@ -419,9 +427,10 @@ |
|
|
|
</select> |
|
|
|
|
|
|
|
<!-- 统计栈板明细数量 - AI制作 --> |
|
|
|
<!-- 优化:添加 WITH (NOLOCK) 避免死锁 - rqrq --> |
|
|
|
<select id="countPalletDetails" resultType="java.lang.Integer"> |
|
|
|
SELECT COUNT(1) |
|
|
|
FROM pallet_detail |
|
|
|
FROM pallet_detail WITH (NOLOCK) |
|
|
|
WHERE site = #{site} AND pallet_id = #{palletId} |
|
|
|
</select> |
|
|
|
|
|
|
|
@ -523,28 +532,29 @@ |
|
|
|
</insert> |
|
|
|
|
|
|
|
<!-- 检查站点是否有栈板 - AI制作 --> |
|
|
|
<!-- 优化:添加 WITH (NOLOCK) 避免死锁 - rqrq --> |
|
|
|
<select id="checkStationHasPallet" resultType="java.lang.Integer"> |
|
|
|
SELECT COUNT(1) |
|
|
|
FROM pallet |
|
|
|
FROM pallet WITH (NOLOCK) |
|
|
|
WHERE site = #{site} |
|
|
|
AND location_code = #{stationCode} |
|
|
|
AND is_deleted = '0' |
|
|
|
</select> |
|
|
|
<!-- 优化:添加 WITH (NOLOCK) 避免死锁 - rqrq --> |
|
|
|
<select id="getPalletDataByStation" resultType="PalletData"> |
|
|
|
SELECT TOP 1 pallet_id, location_code, status,pallet_family, pallet_type |
|
|
|
FROM pallet |
|
|
|
SELECT TOP 1 pallet_id, location_code, status, pallet_family, pallet_type |
|
|
|
FROM pallet WITH (NOLOCK) |
|
|
|
WHERE site = #{site} |
|
|
|
AND location_code = #{stationCode} |
|
|
|
|
|
|
|
</select> |
|
|
|
<!-- 获取站点的栈板ID - AI制作 --> |
|
|
|
<!-- 优化:添加 WITH (NOLOCK) 避免死锁 - rqrq --> |
|
|
|
<select id="getPalletIdByStation" resultType="java.lang.String"> |
|
|
|
SELECT TOP 1 pallet_id |
|
|
|
FROM pallet |
|
|
|
FROM pallet WITH (NOLOCK) |
|
|
|
WHERE site = #{site} |
|
|
|
AND location_code = #{stationCode} |
|
|
|
AND is_deleted = '0' |
|
|
|
|
|
|
|
</select> |
|
|
|
|
|
|
|
<!-- 根据ID查询运输任务 - AI制作 --> |
|
|
|
@ -655,16 +665,17 @@ |
|
|
|
AND wcs_flag = 0 |
|
|
|
</update> |
|
|
|
|
|
|
|
<!-- 优化:添加 WITH (NOLOCK) 避免死锁 - rqrq --> |
|
|
|
<select id="getPalletDetailsNewDetail" resultType="PalletDetailData"> |
|
|
|
select a.site,a.pallet_id,a.[position],a.layer,a.serial_no,a.part_no,a.create_date,a.create_by,a.wcs_flag, |
|
|
|
b.part_desc,b.qty,b.batch_no,b.wdr,c.weight,b.length,b.width,c.height,c.is_robot_pick,um_id,b.height as realHeight |
|
|
|
,c.is_commonly_used, CONVERT(varchar(10),isnull( isnull(b.manufacture_date,b.receive_date),getdate()), 23) manufactureDateStr |
|
|
|
,b.reserve_flag |
|
|
|
from pallet_detail a |
|
|
|
left join handling_unit b on a.site=b.site and a.serial_no=b.unit_id |
|
|
|
left join part_attribute c on a.site=c.site and a.part_no=c.part_no |
|
|
|
where a.site=#{site} and a.pallet_id=#{palletId} |
|
|
|
and a.wcs_flag = 1 |
|
|
|
SELECT a.site, a.pallet_id, a.[position], a.layer, a.serial_no, a.part_no, a.create_date, a.create_by, a.wcs_flag, |
|
|
|
b.part_desc, b.qty, b.batch_no, b.wdr, c.weight, b.length, b.width, c.height, c.is_robot_pick, um_id, b.height as realHeight, |
|
|
|
c.is_commonly_used, CONVERT(varchar(10), ISNULL(ISNULL(b.manufacture_date, b.receive_date), GETDATE()), 23) manufactureDateStr, |
|
|
|
b.reserve_flag |
|
|
|
FROM pallet_detail a WITH (NOLOCK) |
|
|
|
LEFT JOIN handling_unit b WITH (NOLOCK) ON a.site = b.site AND a.serial_no = b.unit_id |
|
|
|
LEFT JOIN part_attribute c WITH (NOLOCK) ON a.site = c.site AND a.part_no = c.part_no |
|
|
|
WHERE a.site = #{site} AND a.pallet_id = #{palletId} |
|
|
|
AND a.wcs_flag = 1 |
|
|
|
</select> |
|
|
|
<update id="updateSOIssueNotifyOrderMaterialListDetailOutWcsFlag"> |
|
|
|
WITH RankedRecords AS ( |
|
|
|
@ -1031,9 +1042,13 @@ |
|
|
|
AND status = #{oldStatus} |
|
|
|
</update> |
|
|
|
|
|
|
|
<!-- 优化:添加 WITH (ROWLOCK) 避免锁升级导致死锁 - rqrq --> |
|
|
|
<update id="updatePalletWcsLocation" > |
|
|
|
update pallet set wcs_location = #{location},updated_by='wms_sys',updated_time=getdate() |
|
|
|
where site = #{site} and pallet_id = #{palletId} |
|
|
|
UPDATE pallet WITH (ROWLOCK) |
|
|
|
SET wcs_location = #{location}, |
|
|
|
updated_by = 'wms_sys', |
|
|
|
updated_time = GETDATE() |
|
|
|
WHERE site = #{site} AND pallet_id = #{palletId} |
|
|
|
</update> |
|
|
|
|
|
|
|
<!-- 更新WCS回调任务重试次数 - AI制作 --> |
|
|
|
@ -1229,9 +1244,10 @@ |
|
|
|
</update> |
|
|
|
|
|
|
|
<!-- 获取指定层已占用的位置列表 - rqrq --> |
|
|
|
<!-- 优化:添加 WITH (NOLOCK) 避免死锁 - rqrq --> |
|
|
|
<select id="getOccupiedPositionsByLayer" resultType="java.lang.String"> |
|
|
|
SELECT DISTINCT position |
|
|
|
FROM pallet_detail |
|
|
|
FROM pallet_detail WITH (NOLOCK) |
|
|
|
WHERE site = #{site} |
|
|
|
AND pallet_id = #{palletId} |
|
|
|
AND layer = #{layer} |
|
|
|
@ -1267,13 +1283,14 @@ |
|
|
|
<!-- ==================== 栈板换站相关SQL - rqrq ==================== --> |
|
|
|
|
|
|
|
<!-- rqrq - 检查栈板calling_flag并获取当前站点信息 --> |
|
|
|
<!-- 优化:添加 WITH (NOLOCK) 避免死锁 - rqrq --> |
|
|
|
<select id="checkPalletForChangeStation" resultType="CheckPalletResult"> |
|
|
|
SELECT |
|
|
|
p.calling_flag AS callingFlag, |
|
|
|
s.station_id AS currentStationId, |
|
|
|
s.station_code AS currentStationCode |
|
|
|
FROM pallet p |
|
|
|
LEFT JOIN agv_station s ON p.location_code = s.station_code |
|
|
|
FROM pallet p WITH (NOLOCK) |
|
|
|
LEFT JOIN agv_station s WITH (NOLOCK) ON p.location_code = s.station_code |
|
|
|
WHERE p.site = #{site} |
|
|
|
AND p.pallet_id = #{palletId} |
|
|
|
AND p.is_deleted = '0' |
|
|
|
@ -1322,20 +1339,20 @@ |
|
|
|
<!-- ==================== 手工移动托盘相关SQL - rqrq ==================== --> |
|
|
|
|
|
|
|
<!-- rqrq - 检查托盘是否可以手工移动 --> |
|
|
|
<!-- 优化:添加 WITH (NOLOCK) 避免死锁 - rqrq --> |
|
|
|
<select id="checkPalletForManualMove" resultType="CheckPalletResult"> |
|
|
|
SELECT |
|
|
|
p.calling_flag AS callingFlag, |
|
|
|
p.location_code AS currentStationCode, |
|
|
|
s.station_type AS stationType, |
|
|
|
s.station_id as currentStationId, |
|
|
|
p.empty_flag as isEmpty , |
|
|
|
s.station_id AS currentStationId, |
|
|
|
p.empty_flag AS isEmpty, |
|
|
|
CASE |
|
|
|
WHEN p.location_code IS NULL THEN 'Y' |
|
|
|
|
|
|
|
ELSE 'N' |
|
|
|
END AS canOperate |
|
|
|
FROM pallet p |
|
|
|
LEFT JOIN agv_station s ON p.location_code = s.station_code |
|
|
|
FROM pallet p WITH (NOLOCK) |
|
|
|
LEFT JOIN agv_station s WITH (NOLOCK) ON p.location_code = s.station_code |
|
|
|
WHERE p.site = #{site} |
|
|
|
AND p.pallet_id = #{palletId} |
|
|
|
AND p.is_deleted = '0' |
|
|
|
@ -1384,6 +1401,7 @@ |
|
|
|
<!-- ==================== 空托盘组盘相关SQL - rqrq ==================== --> |
|
|
|
|
|
|
|
<!-- rqrq - 检查托盘是否为空托盘 --> |
|
|
|
<!-- 优化:添加 WITH (NOLOCK) 避免死锁 - rqrq --> |
|
|
|
<select id="checkEmptyPallet" resultType="CheckPalletResult"> |
|
|
|
SELECT |
|
|
|
p.pallet_id AS palletId, |
|
|
|
@ -1393,16 +1411,15 @@ |
|
|
|
s.station_id AS currentStationId, |
|
|
|
CASE |
|
|
|
WHEN EXISTS ( |
|
|
|
SELECT 1 FROM pallet_detail pd |
|
|
|
SELECT 1 FROM pallet_detail pd WITH (NOLOCK) |
|
|
|
WHERE pd.site = p.site |
|
|
|
AND pd.pallet_id = p.pallet_id |
|
|
|
|
|
|
|
) |
|
|
|
THEN 'N' |
|
|
|
ELSE 'Y' |
|
|
|
END AS isEmpty |
|
|
|
FROM pallet p |
|
|
|
LEFT JOIN agv_station s ON p.location_code = s.station_code |
|
|
|
FROM pallet p WITH (NOLOCK) |
|
|
|
LEFT JOIN agv_station s WITH (NOLOCK) ON p.location_code = s.station_code |
|
|
|
WHERE p.site = #{site} |
|
|
|
AND p.pallet_id = #{palletId} |
|
|
|
AND p.is_deleted = '0' |
|
|
|
@ -1453,37 +1470,40 @@ |
|
|
|
<!-- ==================== 取消WCS组盘相关SQL - rqrq ==================== --> |
|
|
|
|
|
|
|
<!-- rqrq - 检查栈板WCS组盘状态 --> |
|
|
|
<!-- 优化:添加 WITH (NOLOCK) 避免死锁 - rqrq --> |
|
|
|
<select id="checkPalletWcsStatus" resultType="CheckPalletResult"> |
|
|
|
SELECT |
|
|
|
p.pallet_id AS palletId, |
|
|
|
p.calling_flag AS callingFlag, |
|
|
|
CASE |
|
|
|
WHEN EXISTS ( |
|
|
|
SELECT 1 FROM pallet_detail pd |
|
|
|
SELECT 1 FROM pallet_detail pd WITH (NOLOCK) |
|
|
|
WHERE pd.site = #{site} AND pd.pallet_id = #{palletId} AND pd.wcs_flag = 0 |
|
|
|
) THEN 'Y' |
|
|
|
ELSE 'N' |
|
|
|
END AS canOperate, -- 借用canOperate字段存储hasSentWcsTask |
|
|
|
CASE |
|
|
|
WHEN EXISTS ( |
|
|
|
SELECT 1 FROM pallet_detail pd |
|
|
|
SELECT 1 FROM pallet_detail pd WITH (NOLOCK) |
|
|
|
WHERE pd.site = #{site} AND pd.pallet_id = #{palletId} |
|
|
|
) THEN 'Y' |
|
|
|
ELSE 'N' |
|
|
|
END AS isEmpty -- 借用isEmpty字段存储hasDetail |
|
|
|
FROM pallet p |
|
|
|
FROM pallet p WITH (NOLOCK) |
|
|
|
WHERE p.site = #{site} AND p.pallet_id = #{palletId} AND p.is_deleted = '0' |
|
|
|
</select> |
|
|
|
|
|
|
|
<!-- rqrq - 检查栈板是否有wcs_flag=0的明细 --> |
|
|
|
<!-- 优化:添加 WITH (NOLOCK) 避免死锁 - rqrq --> |
|
|
|
<select id="countPalletDetailWithWcsFlagZero" resultType="int"> |
|
|
|
SELECT COUNT(1) |
|
|
|
FROM pallet_detail |
|
|
|
FROM pallet_detail WITH (NOLOCK) |
|
|
|
WHERE site = #{site} AND pallet_id = #{palletId} AND wcs_flag = 0 |
|
|
|
</select> |
|
|
|
<!-- 优化:添加 WITH (NOLOCK) 避免死锁 - rqrq --> |
|
|
|
<select id="countPalletDetailWithWcsFlagOne" resultType="int"> |
|
|
|
SELECT COUNT(1) |
|
|
|
FROM pallet_detail |
|
|
|
FROM pallet_detail WITH (NOLOCK) |
|
|
|
WHERE site = #{site} AND pallet_id = #{palletId} AND wcs_flag = 1 |
|
|
|
</select> |
|
|
|
|
|
|
|
@ -1518,6 +1538,7 @@ |
|
|
|
<!-- ==================== 预约取托盘相关SQL - rqrq ==================== --> |
|
|
|
|
|
|
|
<!-- rqrq - 查询空托盘区可用的空托盘 --> |
|
|
|
<!-- 优化:添加 WITH (NOLOCK) 避免死锁 - rqrq --> |
|
|
|
<select id="findAvailableEmptyPallet" resultType="Pallet"> |
|
|
|
SELECT TOP 1 |
|
|
|
p.id, |
|
|
|
@ -1540,9 +1561,9 @@ |
|
|
|
p.sore_type AS soreType, |
|
|
|
p.auto_sort AS autoSort, |
|
|
|
p.empty_flag AS emptyFlag |
|
|
|
FROM pallet p |
|
|
|
INNER JOIN agv_station s ON p.location_code = s.station_code |
|
|
|
left join pallet_detail c on p.pallet_id=c.pallet_id and p.site=c.site |
|
|
|
FROM pallet p WITH (NOLOCK) |
|
|
|
INNER JOIN agv_station s WITH (NOLOCK) ON p.location_code = s.station_code |
|
|
|
LEFT JOIN pallet_detail c WITH (NOLOCK) ON p.pallet_id = c.pallet_id AND p.site = c.site |
|
|
|
WHERE p.site = #{site} |
|
|
|
AND p.pallet_type = #{palletType} |
|
|
|
AND p.calling_flag = 'N' |
|
|
|
@ -1550,11 +1571,12 @@ |
|
|
|
AND s.area_type = 'Z101' |
|
|
|
AND s.status_db = 1 |
|
|
|
AND s.active = 'Y' |
|
|
|
and c.id IS NULL |
|
|
|
AND c.id IS NULL |
|
|
|
ORDER BY p.created_time ASC |
|
|
|
</select> |
|
|
|
|
|
|
|
<!-- rqrq - 检查指定托盘是否就绪 --> |
|
|
|
<!-- 优化:添加 WITH (NOLOCK) 避免死锁 - rqrq --> |
|
|
|
<select id="checkPalletReady" resultType="Pallet"> |
|
|
|
SELECT |
|
|
|
p.id, |
|
|
|
@ -1577,10 +1599,10 @@ |
|
|
|
p.sore_type AS soreType, |
|
|
|
p.auto_sort AS autoSort, |
|
|
|
p.empty_flag AS emptyFlag, |
|
|
|
s.status_db as statusDb, |
|
|
|
s.area_type as areaId |
|
|
|
FROM pallet p |
|
|
|
INNER JOIN agv_station s ON p.location_code = s.station_code |
|
|
|
s.status_db AS statusDb, |
|
|
|
s.area_type AS areaId |
|
|
|
FROM pallet p WITH (NOLOCK) |
|
|
|
INNER JOIN agv_station s WITH (NOLOCK) ON p.location_code = s.station_code |
|
|
|
WHERE p.site = #{site} |
|
|
|
AND p.pallet_id = #{palletId} |
|
|
|
AND p.calling_flag = 'N' |
|
|
|
@ -1718,9 +1740,10 @@ |
|
|
|
</select> |
|
|
|
|
|
|
|
<!-- rqrq - 根据序列号列表查询栈板ID列表(去重) --> |
|
|
|
<!-- 优化:添加 WITH (NOLOCK) 避免死锁 - rqrq --> |
|
|
|
<select id="getPalletIdsBySerialNos" resultType="String"> |
|
|
|
SELECT DISTINCT pallet_id |
|
|
|
FROM pallet_detail |
|
|
|
FROM pallet_detail WITH (NOLOCK) |
|
|
|
WHERE site = #{site} |
|
|
|
<if test="serialNoList != null and serialNoList.size() > 0"> |
|
|
|
AND serial_no IN |
|
|
|
@ -1746,30 +1769,30 @@ |
|
|
|
FROM wms_transport_task |
|
|
|
WHERE site = #{site} |
|
|
|
AND pallet_id = #{palletId} |
|
|
|
AND status != '已完成' |
|
|
|
AND status != '已取消' |
|
|
|
AND status IN ('已创建', '已下达', '执行中', '已预约') |
|
|
|
ORDER BY created_time DESC |
|
|
|
</select> |
|
|
|
|
|
|
|
<!-- rqrq - 检查栈板是否放满(根据pallet_type_area的点位数和max_layer判断) --> |
|
|
|
<!-- 优化:添加 WITH (NOLOCK) 避免死锁 - rqrq --> |
|
|
|
<select id="checkPalletIsFull" resultType="int"> |
|
|
|
WITH PalletInfo AS ( |
|
|
|
-- 获取栈板类型和最大层数 - rqrq |
|
|
|
SELECT p.pallet_type, pt.max_layer |
|
|
|
FROM pallet p |
|
|
|
INNER JOIN pallet_type pt ON p.site = pt.site AND p.pallet_type = pt.pallet_type |
|
|
|
FROM pallet p WITH (NOLOCK) |
|
|
|
INNER JOIN pallet_type pt WITH (NOLOCK) ON p.site = pt.site AND p.pallet_type = pt.pallet_type |
|
|
|
WHERE p.site = #{site} AND p.pallet_id = #{palletId} |
|
|
|
), |
|
|
|
PositionCount AS ( |
|
|
|
-- 获取该类型栈板的点位数 - rqrq |
|
|
|
SELECT COUNT(1) AS position_count |
|
|
|
FROM pallet_type_area pta |
|
|
|
FROM pallet_type_area pta WITH (NOLOCK) |
|
|
|
INNER JOIN PalletInfo pi ON pta.site = #{site} AND pta.pallet_type = pi.pallet_type |
|
|
|
), |
|
|
|
DetailCount AS ( |
|
|
|
-- 获取栈板已使用的明细数量 - rqrq |
|
|
|
SELECT COUNT(1) AS detail_count |
|
|
|
FROM pallet_detail |
|
|
|
FROM pallet_detail WITH (NOLOCK) |
|
|
|
WHERE site = #{site} AND pallet_id = #{palletId} |
|
|
|
), |
|
|
|
MaxCapacity AS ( |
|
|
|
|