<?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.ruoyi.stock.mapper.ProductBorrowMapper">
|
|
<resultMap id="ProductBorrowDtoMap" type="com.ruoyi.stock.dto.ProductBorrowDto">
|
<id column="id" property="id"/>
|
<result column="borrow_no" property="borrowNo"/>
|
<result column="product_model_id" property="productModelId"/>
|
<result column="batch_no" property="batchNo"/>
|
<result column="borrow_quantity" property="borrowQuantity"/>
|
<result column="returned_quantity" property="returnedQuantity"/>
|
<result column="borrower_id" property="borrowerId"/>
|
<result column="borrower_name" property="borrowerName"/>
|
<result column="borrow_time" property="borrowTime"/>
|
<result column="expected_return_time" property="expectedReturnTime"/>
|
<result column="approval_status" property="approvalStatus"/>
|
<result column="status" property="status"/>
|
<result column="remark" property="remark"/>
|
<result column="tenant_id" property="tenantId"/>
|
<result column="dept_id" property="deptId"/>
|
<result column="create_user" property="createUser"/>
|
<result column="create_time" property="createTime"/>
|
<result column="update_user" property="updateUser"/>
|
<result column="update_time" property="updateTime"/>
|
<result column="product_name" property="productName"/>
|
<result column="model" property="model"/>
|
<result column="product_code" property="productCode"/>
|
<result column="unit" property="unit"/>
|
</resultMap>
|
|
<select id="listPage" resultMap="ProductBorrowDtoMap">
|
WITH RECURSIVE product_tree AS (
|
SELECT id
|
FROM product
|
WHERE id = #{ew.topParentProductId}
|
UNION ALL
|
SELECT p.id
|
FROM product p
|
INNER JOIN product_tree pt ON p.parent_id = pt.id
|
)
|
SELECT
|
pb.*,
|
p.product_name,
|
pm.model,
|
pm.product_code,
|
pm.unit
|
FROM product_borrow pb
|
LEFT JOIN product_model pm ON pb.product_model_id = pm.id
|
LEFT JOIN product p ON pm.product_id = p.id
|
<where>
|
<if test="ew.borrowNo != null and ew.borrowNo != ''">
|
AND pb.borrow_no LIKE CONCAT('%', #{ew.borrowNo}, '%')
|
</if>
|
<if test="ew.productModelId != null">
|
AND pb.product_model_id = #{ew.productModelId}
|
</if>
|
<if test="ew.borrowerId != null">
|
AND pb.borrower_id = #{ew.borrowerId}
|
</if>
|
<if test="ew.borrowerName != null and ew.borrowerName != ''">
|
AND pb.borrower_name LIKE CONCAT('%', #{ew.borrowerName}, '%')
|
</if>
|
<if test="ew.approvalStatus != null">
|
AND pb.approval_status = #{ew.approvalStatus}
|
</if>
|
<if test="ew.status != null">
|
AND pb.status = #{ew.status}
|
</if>
|
<if test="ew.deptId != null">
|
AND pb.dept_id = #{ew.deptId}
|
</if>
|
<if test="ew.topParentProductId != null and ew.topParentProductId > 0">
|
AND p.id IN (SELECT id FROM product_tree)
|
</if>
|
<if test="ew.model != null and ew.model != ''">
|
AND pm.model LIKE CONCAT('%', #{ew.model}, '%')
|
</if>
|
</where>
|
ORDER BY pb.create_time DESC
|
</select>
|
|
<select id="selectDetailById" resultMap="ProductBorrowDtoMap">
|
SELECT
|
pb.*,
|
p.product_name,
|
pm.model,
|
pm.product_code,
|
pm.unit
|
FROM product_borrow pb
|
LEFT JOIN product_model pm ON pb.product_model_id = pm.id
|
LEFT JOIN product p ON pm.product_id = p.id
|
WHERE pb.id = #{id}
|
</select>
|
|
</mapper>
|