#
vincentlu
2026-01-10 1bc33546a044cbc84dd9595c19dbcd9a4e309fc9
zy-acs-manager/src/main/resources/mapper/manager/StaMapper.xml
@@ -9,19 +9,120 @@
        WHERE id = #{staId}
          AND deleted = 0
          AND status = 1
          AND (capacity - occ_cnt - rsv_in_cnt) >= #{qty}
          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 id="releaseReserveIn">
        UPDATE man_sta
        SET rsv_in_cnt = rsv_in_cnt - #{qty},
            update_time = NOW()
        WHERE id = #{staId}
          AND deleted = 0
          AND status = 1
          AND rsv_in_cnt > #{qty}
        AND deleted = 0
        AND status = 1
        AND rsv_in_cnt >= #{qty}
    </update>
    <update id="confirmReserveIn">
        UPDATE man_sta
        SET rsv_in_cnt = rsv_in_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
        SET rsv_out_cnt = rsv_out_cnt + #{qty},
            update_time = NOW()
        WHERE id = #{staId}
        AND deleted = 0
        AND status = 1
        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
        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 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}-->
    <select id="selectAvailableOutSta" resultType="com.zy.acs.manager.manager.entity.Sta">
        SELECT *
        FROM man_sta
        WHERE 1=1
        AND deleted = 0
        AND status = 1
        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 *
        FROM man_sta
        WHERE 1=1
        AND deleted = 0
        AND status = 1
        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">
        SELECT a.*