<?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.nanometer.smartlab.dao.OpeWarehouseReserveDao">
|
<resultMap id="OpeWarehouseReserve" type="com.nanometer.smartlab.entity.OpeWarehouseReserve">
|
<id property="id" column="id"/>
|
<result property="articleNumber" column="article_number"></result>
|
<result property="reserve" column="reserve"></result>
|
<result property="updateTime" column="update_time"></result>
|
<result property="warehouseId" column="warehouseId"></result>
|
<result property="containerId" column="container_id"></result>
|
<result property="warehouseName" column="warehouseName"></result>
|
<result property="validFlag" column="valid_flag" typeHandler="com.nanometer.smartlab.entity.handler.ValidFlagHandler"></result>
|
|
<result property="reagentId" column="reagent_id"></result>
|
<result property="userId" column="user_id"></result>
|
<association property="reagent" javaType="com.nanometer.smartlab.entity.SysReagent">
|
<id property="id" column="reagentId"/>
|
<result property="name" column="name"></result>
|
<result property="cas" column="cas"></result>
|
<result property="reagentType" column="reagent_type"></result>
|
<result property="reagentCharacter" column="reagent_character"></result>
|
<result property="supplierId" column="supplier_id"></result>
|
<result property="reagentFormat" column="reagent_format"></result>
|
<result property="mainMetering" column="main_metering"></result>
|
<result property="reagentUnit" column="reagent_unit"></result>
|
<result property="price" column="price"></result>
|
<result property="perBox" column="per_box"></result>
|
<result property="memo" column="memo"></result>
|
<result property="validFlag" column="valid_flag" typeHandler="com.nanometer.smartlab.entity.handler.ValidFlagHandler"></result>
|
<result property="createTime" column="create_time"></result>
|
<result property="updateTime" column="update_time"></result>
|
<result property="supplierName" column="supplierName"></result>
|
<result property="productHome" column="product_home"></result>
|
<result property="productHomeName" column="productHomeName"></result>
|
<result property="productSn" column="product_sn"/>
|
</association>
|
</resultMap>
|
|
<sql id="queryWhereSql">
|
<if test="reagentId != null and reagentId != ''">
|
and oa.reagent_id = #{reagentId}
|
</if>
|
<if test="articleNumber != null and articleNumber != ''">
|
and oa.article_number = #{articleNumber}
|
</if>
|
<if test="supplierId != null and supplierId != ''">
|
and ss.id = #{supplierId}
|
</if>
|
<if test="editId != null and editId != ''">
|
and oa.id != #{editId}
|
</if>
|
<if test="reagentName != null and reagentName != ''">
|
and sr.name like concat('%',#{reagentName},'%')
|
</if>
|
<if test="warehouseId != null and warehouseId != ''">
|
and oa.warehouseId=#{warehouseId}
|
</if>
|
<if test="productSn != null and productSn != ''">
|
and sr.product_sn like concat('%',#{productSn},'%')
|
</if>
|
<if test="warehouseName != null and warehouseName != ''">
|
and sw.name like concat('%',#{warehouseName},'%')
|
</if>
|
</sql>
|
|
<sql id="queryColumns">
|
select oa.*,
|
sr.*,
|
sr.id as reagentId,
|
ss.name as supplierName,
|
bm.meta_value as productHomeName,
|
sw.name warehouseName
|
</sql>
|
|
<sql id="queryJoins">
|
left join sys_reagent sr on oa.reagent_id = sr.id
|
left join sys_supplier as ss on sr.supplier_id = ss.id
|
left join base_meta as bm on sr.product_home = bm.id
|
left join sys_warehouse sw on sw.id=oa.warehouseId
|
</sql>
|
|
|
|
<select id="getOpeWarehouseReserveList" parameterType="java.util.Map" resultMap="OpeWarehouseReserve">
|
<include refid="queryColumns"/>
|
from ope_warehouse_reserve as oa
|
<include refid="queryJoins"/>
|
where oa.valid_flag = 1 and oa.reserve > 0
|
<include refid="queryWhereSql"/>
|
|
order by oa.update_time desc,oa.reserve desc
|
<if test="first != null and pageSize != null">
|
limit #{first}, #{pageSize}
|
</if>
|
</select>
|
|
<select id="getOpeWarehouseReserve" parameterType="com.nanometer.smartlab.entity.OpeWarehouseReserve" resultMap="OpeWarehouseReserve">
|
select * from ope_warehouse_reserve where reagent_id=#{reagentId} and article_number=#{articleNumber} and valid_flag=1
|
</select>
|
|
<select id="getOpeWarehouseReserveTotalCount" parameterType="java.util.Map" resultType="int">
|
select count(1)
|
from ope_warehouse_reserve as oa
|
<include refid="queryJoins"/>
|
where oa.valid_flag = 1 and oa.reserve > 0
|
<include refid="queryWhereSql"/>
|
</select>
|
|
<insert id="insertOpeWarehouseReserve" parameterType="com.nanometer.smartlab.entity.OpeWarehouseReserve" useGeneratedKeys = "true" keyProperty = "id">
|
insert into ope_warehouse_reserve(reagent_id, article_number, reserve, valid_flag, update_time,warehouseId,container_id,user_id)
|
values (#{reagentId}, #{articleNumber}, #{reserve}, 1, now(),#{warehouseId},#{containerId},#{userId})
|
</insert>
|
<insert id="insertOpeWarehouseReserve2" parameterType="com.nanometer.smartlab.entity.OpeWarehouseReserve" useGeneratedKeys = "true" keyProperty = "id">
|
insert into ope_warehouse_reserve(reagent_id, article_number, reserve, valid_flag, update_time,warehouseId,apply_code,order_code,container_id,user_id)
|
values ( #{reagentId}, #{articleNumber}, #{reserve}, 1, now(),#{warehouseId},#{applyCode},#{orderCode},#{containerId},#{userId})
|
</insert>
|
|
<update id="updateOpeWarehouseReserve" parameterType="com.nanometer.smartlab.entity.OpeWarehouseReserve">
|
update ope_warehouse_reserve
|
<set>
|
reagent_id=#{reagentId},
|
reserve=#{reserve},
|
update_time=now(),
|
<if test="articleNumber != null and articleNumber !=''">
|
article_number=#{articleNumber},
|
</if>
|
<if test="warehouseId != null and warehouseId !=''">
|
warehouseId=#{warehouseId},
|
</if>
|
<if test="containerId != null and containerId !=''">
|
container_id=#{containerId},
|
</if>
|
<if test="userId != null and userId !=''">
|
user_id=#{userId},
|
</if>
|
</set>
|
where id=#{id}
|
</update>
|
|
<update id="updateOpeWarehouseReserve2" parameterType="com.nanometer.smartlab.entity.OpeWarehouseReserve">
|
update ope_warehouse_reserve
|
set reserve=#{reserve}
|
where id=#{id}
|
</update>
|
|
<select id="selectByReId" resultMap="OpeWarehouseReserve">
|
select * from ope_warehouse_reserve where reagent_id=#{id}
|
</select>
|
<select id="selectWarehouseByReagentIdAndArticleNumber" resultMap="OpeWarehouseReserve" parameterType="java.util.Map">
|
SELECT
|
owr.id,
|
owr.reagent_id,
|
owr.warehouseId,
|
sw.NAME warehouseName,
|
sum( owr.reserve ) reserve
|
FROM
|
ope_warehouse_reserve owr
|
LEFT JOIN sys_warehouse sw ON sw.id = owr.warehouseId
|
WHERE
|
sw.valid_flag = 1
|
AND owr.valid_flag = 1
|
and owr.reserve > 0
|
and owr.reagent_id = #{reagentId}
|
<if test="articleNumber != null and articleNumber != ''">
|
and owr.article_number = #{articleNumber}
|
</if>
|
GROUP BY
|
reagent_id,
|
warehouseId
|
HAVING
|
reserve > 0
|
</select>
|
|
<select id="selectWarehouseByRidAndArtiNumberAndWid" resultMap="OpeWarehouseReserve" parameterType="java.util.Map">
|
SELECT
|
owr.id,
|
owr.reagent_id,
|
owr.warehouseId,
|
sw.NAME warehouseName,
|
owr.reserve,
|
owr.article_number,
|
owr.container_id,
|
owr.user_id,
|
owr.update_time
|
FROM
|
ope_warehouse_reserve owr
|
LEFT JOIN sys_warehouse sw ON sw.id = owr.warehouseId
|
WHERE
|
sw.valid_flag = 1
|
AND owr.valid_flag = 1
|
and owr.reserve > 0
|
and owr.reagent_id = #{reagentId}
|
<if test="articleNumber != null and articleNumber != ''">
|
and owr.article_number = #{articleNumber}
|
</if>
|
<if test="warehouseId != null and warehouseId != ''">
|
and owr.warehouseId = #{warehouseId}
|
</if>
|
</select>
|
|
<select id="getOpeWarehouseReserveList2" resultMap="OpeWarehouseReserve" parameterType="java.util.Map">
|
|
<include refid="queryColumns"/>
|
from ope_warehouse_reserve as oa
|
<include refid="queryJoins"/>
|
where oa.valid_flag = 1 and oa.reserve > 0
|
<include refid="queryWhereSql"/>
|
|
order by oa.update_time,oa.reserve
|
</select>
|
<select id="countByReagentId" resultType="java.lang.Integer">
|
select ifnull(sum(owr.reserve),0)
|
from ope_warehouse_reserve as owr
|
where owr.reserve > 0
|
and owr.reagent_id = #{id}
|
and owr.valid_flag = 1
|
group by owr.reagent_id
|
</select>
|
<select id="getRowData" resultMap="OpeWarehouseReserve">
|
|
<include refid="queryColumns"/>
|
from ope_warehouse_reserve as oa
|
<include refid="queryJoins"/>
|
where oa.id = #{id}
|
</select>
|
|
<update id="updateByReId" parameterType="java.util.Map">
|
update ope_warehouse_reserve set reagent_id=#{newReId} where reagent_id=#{oldReId}
|
</update>
|
|
|
<update id="updateCount" parameterType="java.util.Map">
|
update ope_warehouse_reserve set reserve=reserve+1 where reagent_id=#{reagentId} and article_number=#{articleNumber}
|
and valid_flag = 1
|
</update>
|
<update id="updateBtReserve">
|
UPDATE ope_warehouse_reserve
|
set reserve = reserve - #{1}
|
where id = #{0}
|
</update>
|
|
|
</mapper>
|