#
zhou zhou
2026-01-05 b4a8d50e3d97fc9e893b554a60134e4eceb012eb
src/main/resources/mapper/OutStockMapper.xml
@@ -13,11 +13,13 @@
        <result column="FAuxPrice" property="FAuxPrice"/>
        <result column="FDate" property="FDate"/>
        <result column="FNote" property="FNote"/>
        <result column="Fnumber" property="FNumber"/>
        <result column="Fnumber" property="Fnumber"/>
        <result column="FSourceBillNo" property="FSourceBillNo"/>
        <result column="FBillNo" property="FBillNo"/>
        <result column="FAdd" property="FAdd"/>
        <result column="workRecord" property="workRecord"/>
        <result column="Fname" property="Fname" />
        <result column="Fmodel" property="Fmodel" />
        <result column="Fflag_finish" property="FflagFinish" />
    </resultMap>
    <!-- asr_loc_detl映射结果 -->
@@ -43,6 +45,8 @@
        <result column="mat_status" property="matStatus" />
    </resultMap>
    <sql id="stockOutCondition">
        <if test="FBillNo!=null and FBillNo!='' ">
            and b.FBillNo like '%' + #{FBillNo} + '%'
@@ -54,14 +58,17 @@
        (
        select ROW_NUMBER() over (order by a.FInterID,a.FEntryID) as row,a.FBrNo,a.FInterID,a.FEntryID,
        a.FOrderInterID,a.FAuxQty,a.FCommitQty,a.FAuxPrice,a.FDate,a.FNote, a.Fnumber, a.FSourceBillNo, b.FBillNo,
        b.FAdd,
        ((select COUNT(*) from asr_wrk_detl where warehouse = b.FBillNo and matnr = a.Fnumber) + (select COUNT(*) from asr_wrk_detl_log where warehouse = b.FBillNo and matnr = a.Fnumber)) as workRecord
        b.FAdd,b.Fflag_finish, a.Fname, a.Fmodel
        from OutStockBillEntry a left join OutStockBill b on a.FInterID = b.FInterID
        where 1=1
        <if test="FBillNo!=null and FBillNo!='' ">
        and b.Fflag_finish != 1 and a.FQty > a.FAmount
        <if test="FSourceBillNo!=null and FSourceBillNo!='' ">
            and a.FSourceBillNo = #{FSourceBillNo}
        </if>
        <if test="FBillNo != null and FBillNo != ''">
            and b.FBillNo = #{FBillNo}
        </if>
        ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) and workRecord = 0
        ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
    </select>
    <select id="queryOutStockCount" parameterType="java.util.Map" resultType="java.lang.Integer">
@@ -70,15 +77,21 @@
        from OutStockBillEntry a
        left join OutStockBill b on a.FInterID = b.FInterID
        where 1=1
        and b.Fflag_finish != 1 and a.FQty > a.FAmount
        <if test="FSourceBillNo!=null and FSourceBillNo!='' ">
            and a.FSourceBillNo = #{FSourceBillNo}
        </if>
        <if test="FBillNo != null and FBillNo != ''">
            and b.FBillNo = #{FBillNo}
        </if>
    </select>
    <select id="queryMatnrWithBillNo" resultMap="OutStockResultMap">
        select * from (select ROW_NUMBER() over (order by a.FInterID,a.FEntryID) as row,a.FBrNo,a.FInterID,a.FEntryID,
        a.FOrderInterID,a.FAuxQty,a.FCommitQty,a.FAuxPrice,a.FDate,a.FNote, a.Fnumber, a.FSourceBillNo, b.FBillNo,
        b.FAdd,
        ((select COUNT(*) from asr_wrk_detl where warehouse = b.FBillNo and matnr = a.Fnumber) + (select COUNT(*) from asr_wrk_detl_log where warehouse = b.FBillNo and matnr = a.Fnumber)) as workRecord
        b.FAdd
        from OutStockBillEntry a left join OutStockBill b on a.FInterID = b.FInterID
        where b.FBillNo = #{FBillNo}) t where t.workRecord = 0
        where b.FBillNo = #{FBillNo} and b.Fflag_finish != 1 and a.FQty > a.FAmount) t where 1 = 1
    </select>
    <select id="queryMatWithLoc" resultMap="BaseResultMap">
@@ -87,8 +100,8 @@
        and b.loc_sts = 'F'
        and a.matnr = #{matnr}
        order by
        DATEPART(yyyy,a.modi_time),DATEPART(mm,a.modi_time),DATEPART(dd,a.modi_time)
        desc,
        DATEPART(yyyy,a.appe_time),DATEPART(mm,a.appe_time),DATEPART(dd,a.appe_time)
        ASC,
        case
        when (left(a.loc_no, 2) = '01') then 0
        when (left(a.loc_no, 2) = '02') then 1
@@ -106,4 +119,8 @@
        end
        desc
    </select>
    <select id="queryOutStockFInterID" resultType="integer">
        select FInterID from OutStockBill where FBillNo = #{supplier}
    </select>
</mapper>