新增图片模块
This commit is contained in:
@@ -484,4 +484,59 @@
|
||||
AND ri.update_time <![CDATA[<]]> #{endTs})
|
||||
)
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 外层聚合到 SceneAvailableVO,并级联 positions(PcdeDetailSimpleVO 列表) -->
|
||||
<resultMap id="SceneAvailableMap"
|
||||
type="com.zg.project.wisdom.domain.vo.SceneAvailableVO">
|
||||
<result property="sceneCode" column="sceneCode"/>
|
||||
<result property="sceneName" column="sceneName"/>
|
||||
<result property="availableCount" column="availableCount"/>
|
||||
<!-- 把外层 select 的 warehouseCode、sceneCode 作为参数传给内层查询 -->
|
||||
<collection property="positions"
|
||||
ofType="com.zg.project.wisdom.domain.vo.PcdeDetailSimpleVO"
|
||||
select="selectAvailablePositionsByWarehouseAndScene"
|
||||
column="{warehouseCode=warehouseCode,sceneCode=sceneCode}"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 外层:按场景统计可用数量(并输出 warehouseCode、sceneCode 提供给内层) -->
|
||||
<select id="selectAvailableByWarehouse" parameterType="string"
|
||||
resultMap="SceneAvailableMap">
|
||||
SELECT
|
||||
#{warehouseCode} AS warehouseCode, -- 传给内层用
|
||||
p.scene AS sceneCode,
|
||||
sm.scene_name AS sceneName,
|
||||
COUNT(*) AS availableCount
|
||||
FROM pcde_detail p
|
||||
LEFT JOIN scene_mapping sm
|
||||
ON sm.scene_code = p.scene
|
||||
LEFT JOIN rk_info ri
|
||||
ON ri.pcode = p.pcode
|
||||
AND ri.is_delete = 0
|
||||
AND (ri.is_chuku = 0 OR ri.is_chuku IS NULL) -- 未出库 => 占用
|
||||
WHERE p.is_delete = '0'
|
||||
AND p.warehouse = #{warehouseCode}
|
||||
AND ri.id IS NULL -- 无占用 => 可用
|
||||
GROUP BY p.scene, sm.scene_name
|
||||
ORDER BY p.scene
|
||||
</select>
|
||||
|
||||
<!-- 内层:指定仓库 + 场景,查询该场景的可用库位明细 -->
|
||||
<select id="selectAvailablePositionsByWarehouseAndScene"
|
||||
resultType="com.zg.project.wisdom.domain.vo.PcdeDetailSimpleVO">
|
||||
SELECT
|
||||
p.pcode,
|
||||
p.tag,
|
||||
p.encoded_id AS encodedId
|
||||
FROM pcde_detail p
|
||||
LEFT JOIN rk_info ri
|
||||
ON ri.pcode = p.pcode
|
||||
AND ri.is_delete = 0
|
||||
AND (ri.is_chuku = 0 OR ri.is_chuku IS NULL)
|
||||
WHERE p.is_delete = '0'
|
||||
AND p.warehouse = #{warehouseCode}
|
||||
AND p.scene = #{sceneCode}
|
||||
AND ri.id IS NULL
|
||||
ORDER BY p.pcode
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user