feat(bid): 新增历史报价参考功能并修复多租户与数据库约束问题
1. 为比价功能新增历史报价查询逻辑,当物料无当前RFQ报价时补充同物料其他RFQ的最近报价 2. 修复BizComparisonController的多租户ID获取逻辑,兼容无租户场景 3. 扩展报价单状态范围,将draft状态纳入有效报价统计 4. 新增发货单相关数据库表与修复脚本,修正biz_delivery_order的非空约束问题 5. 优化前端比价页面布局,移除旧的卡片式报价展示,统一使用表格展示 6. 修复类型转换与空指针风险,完善工具类方法的兼容性处理 7. 优化评分排序与徽章标记逻辑,避免覆盖自定义徽章
This commit is contained in:
@@ -25,7 +25,7 @@
|
||||
FROM biz_rfq_item ri
|
||||
LEFT JOIN biz_quotation_item qi ON qi.rfq_item_id = ri.item_id
|
||||
LEFT JOIN biz_quotation q ON q.quotation_id = qi.quotation_id
|
||||
AND q.status IN ('submitted','accepted')
|
||||
AND q.status IN ('draft','submitted','accepted')
|
||||
LEFT JOIN biz_supplier s ON s.supplier_id = q.supplier_id
|
||||
LEFT JOIN (
|
||||
SELECT supplier_id,
|
||||
@@ -45,4 +45,37 @@
|
||||
FROM biz_rfq WHERE rfq_id = #{rfqId}
|
||||
</select>
|
||||
|
||||
<!-- 历史报价参考:当前RFQ无报价时,查询同物料在其他RFQ中的最近报价 -->
|
||||
<select id="selectHistoricalPrices" resultType="java.util.HashMap">
|
||||
SELECT
|
||||
qi.unit_price AS unitPrice,
|
||||
qi.total_price AS totalPrice,
|
||||
qi.delivery_days AS deliveryDays,
|
||||
q.quotation_id AS quotationId,
|
||||
q.quote_no AS quoteNo,
|
||||
q.supplier_id AS supplierId,
|
||||
s.supplier_name AS supplierName,
|
||||
r.rfq_no AS rfqNo,
|
||||
COALESCE(ev.avg_quality, 3.0) AS avgQuality,
|
||||
COALESCE(ev.avg_service, 3.0) AS avgService,
|
||||
COALESCE(ev.eval_count, 0) AS historyCount
|
||||
FROM biz_quotation_item qi
|
||||
JOIN biz_quotation q ON qi.quotation_id = q.quotation_id
|
||||
AND q.status IN ('submitted','accepted')
|
||||
JOIN biz_supplier s ON s.supplier_id = q.supplier_id
|
||||
LEFT JOIN (
|
||||
SELECT supplier_id,
|
||||
AVG(quality_score) AS avg_quality,
|
||||
AVG(service_score) AS avg_service,
|
||||
COUNT(*) AS eval_count
|
||||
FROM biz_supplier_evaluation
|
||||
GROUP BY supplier_id
|
||||
) ev ON ev.supplier_id = q.supplier_id
|
||||
LEFT JOIN biz_rfq r ON q.rfq_id = r.rfq_id
|
||||
WHERE qi.material_name = #{materialName}
|
||||
AND q.rfq_id != #{excludeRfqId}
|
||||
ORDER BY q.create_time DESC
|
||||
LIMIT #{limit}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user