Files
erp-next/ruoyi-system/src/main/resources/mapper/bid/BizQuotationItemMapper.xml
王文昊 a75589018f feat(bid): 完成甲方报价模块全量功能开发
1.  新增甲方报价业务实体,继承基础实体类
2.  新增供应商报价明细查询接口,支持按供应商ID展开物料明细
3.  重构甲方报价关联逻辑,通过material_id精确关联物料表
4.  新增甲方报价历史统计、月度趋势、快速新建等服务功能
5.  完善菜单配置,修正甲方报价菜单结构,添加完整权限控制
6.  新增物料搜索自动补全功能,优化报价单详情页面
7.  在供应商详情页新增报价历史Tab页签,展示该供应商的所有报价物料明细
8.  在物料详情页新增甲方报价记录Tab页签,展示该物料的所有甲方报价历史
9.  新增数据库优化脚本,添加索引并修复历史数据关联
2026-06-01 19:05:04 +08:00

46 lines
2.3 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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.system.mapper.bid.BizQuotationItemMapper">
<resultMap id="BaseRM" type="com.ruoyi.system.domain.bid.BizQuotationItem">
<id property="itemId" column="item_id"/>
<result property="quotationId" column="quotation_id"/>
<result property="rfqItemId" column="rfq_item_id"/>
<result property="materialName" column="material_name"/>
<result property="spec" column="spec"/>
<result property="unit" column="unit"/>
<result property="quantity" column="quantity"/>
<result property="unitPrice" column="unit_price"/>
<result property="totalPrice" column="total_price"/>
<result property="deliveryDays" column="delivery_days"/>
<result property="remark" column="remark"/>
</resultMap>
<select id="selectItemsByQuotationId" resultMap="BaseRM">
SELECT * FROM biz_quotation_item WHERE quotation_id=#{quotationId}
</select>
<!-- 按供应商ID查询报价明细展开为每行一条物料 -->
<select id="selectItemsBySupplierId" resultType="java.util.Map">
SELECT qi.item_id AS itemId, qi.quotation_id AS quotationId,
qi.material_name AS materialName, qi.spec, qi.unit,
qi.quantity, qi.unit_price AS unitPrice, qi.total_price AS totalPrice,
qi.delivery_days AS deliveryDays,
ri.material_id AS materialId,
q.quote_no AS quoteNo, q.submit_time AS submitTime,
q.status AS quoteStatus, q.total_amount AS totalAmount,
q.valid_days AS validDays
FROM biz_quotation_item qi
JOIN biz_quotation q ON qi.quotation_id = q.quotation_id
LEFT JOIN biz_rfq_item ri ON qi.rfq_item_id = ri.item_id
WHERE q.supplier_id = #{supplierId}
ORDER BY q.submit_time DESC, qi.item_id
</select>
<insert id="insertBizQuotationItem" useGeneratedKeys="true" keyProperty="itemId">
INSERT INTO biz_quotation_item(quotation_id,rfq_item_id,material_name,spec,unit,quantity,unit_price,total_price,delivery_days,remark)
VALUES(#{quotationId},#{rfqItemId},#{materialName},#{spec},#{unit},#{quantity},#{unitPrice},#{totalPrice},#{deliveryDays},#{remark})
</insert>
<delete id="deleteByQuotationId">DELETE FROM biz_quotation_item WHERE quotation_id=#{quotationId}</delete>
</mapper>