#
vincentlu
2025-12-30 b781dc511b21b80b14befe87d42eced1cce59d1f
zy-acs-manager/src/main/resources/mapper/manager/StaMapper.xml
@@ -7,10 +7,17 @@
        SET rsv_in_cnt = rsv_in_cnt + #{qty},
            update_time = NOW()
        WHERE id = #{staId}
          AND deleted = 0
          AND status = 1
          AND (capacity - rsv_in_cnt) >= #{qty}
    </update>
<!--      UPDATE man_sta
        SET rsv_in_cnt = rsv_in_cnt + #{qty},
            update_time = NOW()
        WHERE id = #{staId}
        AND deleted = 0
        AND status = 1
        AND (capacity - occ_cnt - rsv_in_cnt) >= #{qty}
    </update>
        AND (capacity - occ_cnt - rsv_in_cnt) >= #{qty}-->
    <update id="releaseReserveIn">
        UPDATE man_sta
@@ -25,13 +32,20 @@
    <update id="confirmReserveIn">
        UPDATE man_sta
        SET rsv_in_cnt = rsv_in_cnt - #{qty},
            occ_cnt = occ_cnt + #{qty},
            update_time = NOW()
        WHERE id = #{staId}
        AND deleted = 0
        AND status = 1
        AND rsv_in_cnt >= #{qty}
    </update>
<!--     UPDATE man_sta
        SET rsv_in_cnt = rsv_in_cnt - #{qty},
            occ_cnt = occ_cnt + #{qty},
            update_time = NOW()
        WHERE id = #{staId}
        AND deleted = 0
        AND status = 1
        AND rsv_in_cnt >= #{qty}-->
    <update id="tryReserveOut">
        UPDATE man_sta
@@ -40,8 +54,15 @@
        WHERE id = #{staId}
        AND deleted = 0
        AND status = 1
        AND (occ_cnt - rsv_out_cnt) >= #{qty}
        AND (capacity - rsv_out_cnt) >= #{qty}
    </update>
<!--      UPDATE man_sta
        SET rsv_out_cnt = rsv_out_cnt + #{qty},
            update_time = NOW()
        WHERE id = #{staId}
        AND deleted = 0
        AND status = 1
        AND (occ_cnt - rsv_out_cnt) >= #{qty}-->
    <update id="releaseReserveOut">
        UPDATE man_sta
@@ -56,14 +77,21 @@
    <update id="confirmReserveOut">
        UPDATE man_sta
        SET rsv_out_cnt = rsv_out_cnt - #{qty},
            update_time = NOW()
        WHERE id = #{staId}
        AND deleted = 0
        AND status = 1
        AND rsv_out_cnt >= #{qty}
    </update>
<!--     UPDATE man_sta
        SET rsv_out_cnt = rsv_out_cnt - #{qty},
            occ_cnt = occ_cnt - #{qty},
            update_time = NOW()
        WHERE id = #{staId}
        AND deleted = 0
        AND status = 1
        AND rsv_out_cnt >= #{qty}
        AND occ_cnt >= #{qty}
    </update>
        AND occ_cnt >= #{qty}-->
    <select id="selectAvailableOutSta" resultType="com.zy.acs.manager.manager.entity.Sta">
        SELECT *
@@ -71,8 +99,14 @@
        WHERE 1=1
        AND deleted = 0
        AND status = 1
        AND (IFNULL(occ_cnt, 0) - IFNULL(rsv_out_cnt, 0)) >= #{minAvailableQty}
        AND (IFNULL(capacity, 0) - IFNULL(rsv_out_cnt, 0)) >= #{minAvailableQty}
    </select>
<!--            SELECT *
        FROM man_sta
        WHERE 1=1
        AND deleted = 0
        AND status = 1
        AND (IFNULL(occ_cnt, 0) - IFNULL(rsv_out_cnt, 0)) >= #{minAvailableQty}-->
    <select id="selectAvailableInSta" resultType="com.zy.acs.manager.manager.entity.Sta">
        SELECT *
@@ -80,8 +114,14 @@
        WHERE 1=1
        AND deleted = 0
        AND status = 1
        AND (IFNULL(capacity, 0) - IFNULL(occ_cnt, 0) - IFNULL(rsv_in_cnt, 0)) >= #{minAvailableQty}
        AND (IFNULL(capacity, 0) - IFNULL(rsv_in_cnt, 0)) >= #{minAvailableQty}
    </select>
<!--         SELECT *
        FROM man_sta
        WHERE 1=1
        AND deleted = 0
        AND status = 1
        AND (IFNULL(capacity, 0) - IFNULL(occ_cnt, 0) - IFNULL(rsv_in_cnt, 0)) >= #{minAvailableQty}-->
    <!-- 关联查询sql -->
    <sql id="selectSql">