ahdevicemgt/bonus-modules/bonus-purchase/src/main/resources/mapper/PurchaseAcceptMapper.xml

85 lines
3.3 KiB
XML

<?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.bonus.purchase.mapper.PurchaseAcceptMapper">
<select id="selectAll" resultType="com.bonus.purchase.vo.PurchaseVo">
SELECT
bt.id AS id,
bt.arrival_time AS arrivalTime,
bt.`code` AS purchaseCode,
GROUP_CONCAT( mt.`name` ) AS purchaseMaterial,
SUM( bp.purchase_num ) AS purchaseNum,
SUM( bp.purchase_price ) AS purchasePrice,
SUM( bp.notax_price ) AS notaxPrice,
bp.tax_rate AS taxRate,
bt.creator AS createBy,
bt.create_time AS createTime,
bt.`status` AS STATUS,
sda.dict_label AS statusName,
bt.remark AS remark
FROM
bpm_purchase_info bp
LEFT JOIN bpm_task bt ON bp.task_id = bt.id
LEFT JOIN ma_type mt ON bp.type_id = mt.id
LEFT JOIN sys_dict_data sda ON sda.dict_code = bt.`status`
WHERE
bp.is_acvtive = '1'
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND bt.arrival_time BETWEEN #{startTime} AND #{endTime}
</if>
<if test="keyWord != null and keyWord != ''">
AND (
bt.`code` LIKE CONCAT('%',#{keyWord},'%')
OR mt1.`name` LIKE CONCAT('%',#{keyWord},'%')
OR bp.tax_rate = #{keyWord}
OR bt.creator LIKE CONCAT('%',#{keyWord},'%')
OR bt.remark LIKE CONCAT('%',#{keyWord},'%')
)
</if>
<if test="status != null and status != ''">
AND bt.`status` = #{status}
</if>
GROUP BY
bp.task_id
ORDER BY
bt.arrival_time DESC
</select>
<select id="getDetails" resultType="com.bonus.purchase.vo.PurchaseVo">
SELECT
bp.id AS id,
mt1.`name` AS materialName,
mt.`name` AS specificationCode,
sda.dict_label AS unitName,
bp.purchase_price AS purchasePrice,
bp.notax_price AS notaxPrice,
bp.purchase_num AS purchaseNum,
bs.`name` AS supplierName,
bp.product_date AS productDate,
bp.`status` AS STATUS,
sda1.dict_label AS statusName
FROM
bpm_purchase_info bp
LEFT JOIN bpm_task bt ON bp.task_id = bt.id
LEFT JOIN ma_type mt ON bp.type_id = mt.id
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.id
LEFT JOIN sys_dict_data sda ON mt.unit_id = sda.dict_code
LEFT JOIN bm_supplier bs ON bp.supplier_id = bs.id
LEFT JOIN sys_dict_data sda1 ON sda1.dict_code = bp.`status`
WHERE
bp.is_acvtive = '1'
<if test="typeId != null and typeId != ''">
AND (
mt1.id = #{typeId}
OR mt.id = #{typeId}
)
</if>
<if test="supplierId != null and supplierId != ''">
AND bs.id = #{supplierId}
</if>
<if test="productDate != null and productDate != ''">
AND bp.product_date = #{productDate}
</if>
</select>
</mapper>