<?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.zy.acs.manager.manager.mapper.StaMapper">
|
|
<update id="tryReserveIn">
|
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 - 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}
|
</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.*
|
FROM man_sta a
|
<where>
|
AND a.deleted = 0
|
<if test="param.id != null">
|
AND a.id = #{param.id}
|
</if>
|
<if test="param.uuid != null">
|
AND a.uuid = #{param.uuid}
|
</if>
|
<if test="param.staNo != null">
|
AND a.sta_no = #{param.staNo}
|
</if>
|
<if test="param.staType != null">
|
AND a.sta_type = #{param.staType}
|
</if>
|
<if test="param.staSts != null">
|
AND a.sta_sts = #{param.staSts}
|
</if>
|
<if test="param.status != null">
|
AND a.status = #{param.status}
|
</if>
|
<if test="param.keywords != null">
|
AND (
|
a.memo LIKE CONCAT('%', #{param.keywords}, '%')
|
OR a.memo LIKE CONCAT('%', #{param.keywords}, '%')
|
)
|
</if>
|
</where>
|
</sql>
|
|
</mapper>
|