feat: add fail-open shadow planning boundary

This commit is contained in:
zgw
2026-08-11 18:39:15 +08:00
parent 86fc240b84
commit 01333cbf03
13 changed files with 734 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.algorithm.shadow.mapper.ShadowInputMapper">
<select id="selectInboundInput" resultType="com.ruoyi.algorithm.shadow.ShadowInboundReference">
select top (1)
job.job_id as requestId,
job.tray_code as trayNo,
coalesce(nullif(ltrim(rtrim(detail.spare4)), ''),
nullif(ltrim(rtrim(stock.spare4)), '')) as projectNo,
jobDetail.product_id as productId,
jobDetail.lot_no as lotNo
from mydo_job job
left join mydo_job_detail jobDetail on jobDetail.job_id = job.job_id
left join in_stockin_detail detail on detail.stockin_detail_id = jobDetail.stockin_detail_id
left join bas_stock stock on stock.stock_id = jobDetail.stock_id
where job.task_no = #{taskNo}
and job.tray_code = #{trayNo}
order by jobDetail.job_detail_id
</select>
<select id="selectProjectOutboundReference" resultType="com.ruoyi.algorithm.shadow.ShadowStockReference">
select detail.stockout_detail_id as requestId,
detail.warehouse_id as warehouseId,
nullif(ltrim(rtrim(detail.spare4)), '') as projectNo,
detail.product_id as productId
from out_stockout_detail detail
where detail.stockout_detail_id = #{stockoutDetailId}
</select>
<select id="selectStockReference" resultType="com.ruoyi.algorithm.shadow.ShadowStockReference">
select top (1)
stock.stock_id as stockId,
stock.tray_code as trayNo,
stock.cargo_space_id as spaceId,
stock.warehouse_id as warehouseId,
nullif(ltrim(rtrim(stock.spare4)), '') as projectNo,
stock.product_id as productId
from bas_stock stock
where stock.stock_id = #{stockId}
and stock.stock_status = '1'
and stock.product_status = '1'
and stock.quantity &gt; stock.out_quantity
</select>
<insert id="insertComparison">
insert into alg.decision_log (
decision_id, warehouse_id, decision_type, input_version, result_code, reason)
values (
try_convert(uniqueidentifier, #{decisionId}), #{warehouseId}, #{decisionType},
null, #{resultCode}, #{reason})
</insert>
</mapper>