|
|
|
@ -74,6 +74,17 @@ |
|
|
|
qd.type, |
|
|
|
qd.quote_group_detail_id, |
|
|
|
qd.cost_model, |
|
|
|
CASE |
|
|
|
WHEN ((qd.currency1 = 'USD' AND qd.exchange_rate1 > 0) OR |
|
|
|
(qd.currency2 = 'USD' AND qd.exchange_rate2 > 0)) |
|
|
|
THEN |
|
|
|
(qd.total_cost / |
|
|
|
CASE |
|
|
|
WHEN qd.currency1 = 'USD' THEN qd.exchange_rate1 |
|
|
|
ELSE qd.exchange_rate2 |
|
|
|
END) |
|
|
|
ELSE NULL |
|
|
|
END AS totalCostUSD, |
|
|
|
CASE |
|
|
|
WHEN qd.qty >= 250000 AND |
|
|
|
((qd.currency1 = 'USD' AND qd.exchange_rate1 > 0) OR |
|
|
|
@ -477,109 +488,120 @@ |
|
|
|
</select> |
|
|
|
|
|
|
|
<select id="queryQuoteDetailReportTP" resultType="com.xujie.sys.modules.quote.entity.QuoteDetail"> |
|
|
|
<!-- <select id="queryQuoteDetailReportTP" resultType="java.util.LinkedHashMap">--> |
|
|
|
<!-- exec dbo.plm_calculate_quote_detail_TP #{id}--> |
|
|
|
<!-- <select id="queryQuoteDetailReportTP" resultType="java.util.LinkedHashMap">--> |
|
|
|
<!-- exec dbo.plm_calculate_quote_detail_TP #{id}--> |
|
|
|
select qd.id, |
|
|
|
qd.quote_id, |
|
|
|
qd.site, |
|
|
|
qd.bu_no, |
|
|
|
qd.quote_no, |
|
|
|
qd.version_no, |
|
|
|
qd.item_no, |
|
|
|
qd.part_id, |
|
|
|
pp.part_no, |
|
|
|
pp.part_desc, |
|
|
|
qd.internal_inquiry_no, |
|
|
|
qd.qty, |
|
|
|
qd.quote_count, |
|
|
|
qd.status, |
|
|
|
qd.part_cost, |
|
|
|
qd.adjust_part_cost, |
|
|
|
qd.labour_cost, |
|
|
|
qd.adjust_labour_cost, |
|
|
|
qd.fabricate_cost, |
|
|
|
qd.adjust_fabricate_cost, |
|
|
|
qd.tool_cost, |
|
|
|
qd.adjust_tool_cost, |
|
|
|
qd.machine_cost, |
|
|
|
qd.adjust_machine_cost, |
|
|
|
qd.other_cost, |
|
|
|
qd.manage_cost, |
|
|
|
qd.total_cost, |
|
|
|
qd.profit_rate, |
|
|
|
qd.profit_amount, |
|
|
|
qd.total_price, |
|
|
|
qd.unit_price, |
|
|
|
qd.tax_rate, |
|
|
|
qd.tax_total_price, |
|
|
|
qd.tax_unit_price, |
|
|
|
qd.remark, |
|
|
|
qd.active, |
|
|
|
qd.create_by, |
|
|
|
qd.create_date, |
|
|
|
qd.update_by, |
|
|
|
qd.update_date, |
|
|
|
qd.pack_cost, |
|
|
|
qd.shipping_cost, |
|
|
|
qd.process_time, |
|
|
|
qd.yield, |
|
|
|
qd.bom_un_yield, |
|
|
|
qd.bom_yield, |
|
|
|
qd.parent_attrition_rate, |
|
|
|
qd.child_attrition_rate, |
|
|
|
qd.adjust_bom_un_yield, |
|
|
|
qd.quote_cost, |
|
|
|
qd.adjust_quote_cost, |
|
|
|
qd.quote_total_cost, |
|
|
|
qd.quote_profit_rate, |
|
|
|
qd.quote_profit_amount, |
|
|
|
qd.quote_total_price, |
|
|
|
qd.quote_unit_price, |
|
|
|
qd.quote_tax_rate, |
|
|
|
qd.quote_tax_total_price, |
|
|
|
qd.quote_tax_unit_price, |
|
|
|
qd.currency1, |
|
|
|
qd.exchange_rate1, |
|
|
|
qd.currency2, |
|
|
|
qd.exchange_rate2, |
|
|
|
qd.moq, |
|
|
|
qd.currency_total_cost1, |
|
|
|
qd.currency_total_cost2, |
|
|
|
qd.quote_currency_total_cost1, |
|
|
|
qd.quote_currency_total_cost2, |
|
|
|
qd.type, |
|
|
|
qd.quote_group_detail_id, |
|
|
|
qd.cost_model, |
|
|
|
CASE |
|
|
|
WHEN qd.qty >= 250000 AND |
|
|
|
((qd.currency1 = 'USD' AND qd.exchange_rate1 > 0) OR |
|
|
|
(qd.currency2 = 'USD' AND qd.exchange_rate2 > 0)) |
|
|
|
THEN |
|
|
|
((qd.adjust_bom_un_yield + qd.adjust_labour_cost + qd.adjust_fabricate_cost + |
|
|
|
qd.adjust_machine_cost) / |
|
|
|
CASE |
|
|
|
WHEN qd.currency1 = 'USD' THEN qd.exchange_rate1 |
|
|
|
ELSE qd.exchange_rate2 |
|
|
|
END) * qd.quote_profit_rate / 100 |
|
|
|
ELSE NULL |
|
|
|
END AS weighted, |
|
|
|
CASE |
|
|
|
WHEN qd.qty >= 5000000 AND |
|
|
|
((qd.currency1 = 'USD' AND qd.exchange_rate1 > 0) OR |
|
|
|
(qd.currency2 = 'USD' AND qd.exchange_rate2 > 0)) |
|
|
|
THEN |
|
|
|
((qd.adjust_bom_un_yield + qd.adjust_labour_cost + qd.adjust_fabricate_cost + |
|
|
|
qd.adjust_machine_cost) / |
|
|
|
CASE |
|
|
|
WHEN qd.currency1 = 'USD' THEN qd.exchange_rate1 |
|
|
|
ELSE qd.exchange_rate2 |
|
|
|
END) * qd.quote_profit_rate / 100 - 1.5 |
|
|
|
ELSE NULL |
|
|
|
END AS weighted2, |
|
|
|
bdp.decimal_place |
|
|
|
qd.quote_id, |
|
|
|
qd.site, |
|
|
|
qd.bu_no, |
|
|
|
qd.quote_no, |
|
|
|
qd.version_no, |
|
|
|
qd.item_no, |
|
|
|
qd.part_id, |
|
|
|
pp.part_no, |
|
|
|
pp.part_desc, |
|
|
|
qd.internal_inquiry_no, |
|
|
|
qd.qty, |
|
|
|
qd.quote_count, |
|
|
|
qd.status, |
|
|
|
qd.part_cost, |
|
|
|
qd.adjust_part_cost, |
|
|
|
qd.labour_cost, |
|
|
|
qd.adjust_labour_cost, |
|
|
|
qd.fabricate_cost, |
|
|
|
qd.adjust_fabricate_cost, |
|
|
|
qd.tool_cost, |
|
|
|
qd.adjust_tool_cost, |
|
|
|
qd.machine_cost, |
|
|
|
qd.adjust_machine_cost, |
|
|
|
qd.other_cost, |
|
|
|
qd.manage_cost, |
|
|
|
qd.total_cost, |
|
|
|
qd.profit_rate, |
|
|
|
qd.profit_amount, |
|
|
|
qd.total_price, |
|
|
|
qd.unit_price, |
|
|
|
qd.tax_rate, |
|
|
|
qd.tax_total_price, |
|
|
|
qd.tax_unit_price, |
|
|
|
qd.remark, |
|
|
|
qd.active, |
|
|
|
qd.create_by, |
|
|
|
qd.create_date, |
|
|
|
qd.update_by, |
|
|
|
qd.update_date, |
|
|
|
qd.pack_cost, |
|
|
|
qd.shipping_cost, |
|
|
|
qd.process_time, |
|
|
|
qd.yield, |
|
|
|
qd.bom_un_yield, |
|
|
|
qd.bom_yield, |
|
|
|
qd.parent_attrition_rate, |
|
|
|
qd.child_attrition_rate, |
|
|
|
qd.adjust_bom_un_yield, |
|
|
|
qd.quote_cost, |
|
|
|
qd.adjust_quote_cost, |
|
|
|
qd.quote_total_cost, |
|
|
|
qd.quote_profit_rate, |
|
|
|
qd.quote_profit_amount, |
|
|
|
qd.quote_total_price, |
|
|
|
qd.quote_unit_price, |
|
|
|
qd.quote_tax_rate, |
|
|
|
qd.quote_tax_total_price, |
|
|
|
qd.quote_tax_unit_price, |
|
|
|
qd.currency1, |
|
|
|
qd.exchange_rate1, |
|
|
|
qd.currency2, |
|
|
|
qd.exchange_rate2, |
|
|
|
qd.moq, |
|
|
|
qd.currency_total_cost1, |
|
|
|
qd.currency_total_cost2, |
|
|
|
qd.quote_currency_total_cost1, |
|
|
|
qd.quote_currency_total_cost2, |
|
|
|
qd.type, |
|
|
|
qd.quote_group_detail_id, |
|
|
|
qd.cost_model, |
|
|
|
CASE |
|
|
|
WHEN ((qd.currency1 = 'USD' AND qd.exchange_rate1 > 0) OR |
|
|
|
(qd.currency2 = 'USD' AND qd.exchange_rate2 > 0)) |
|
|
|
THEN |
|
|
|
(qd.total_cost / |
|
|
|
CASE |
|
|
|
WHEN qd.currency1 = 'USD' THEN qd.exchange_rate1 |
|
|
|
ELSE qd.exchange_rate2 |
|
|
|
END) |
|
|
|
ELSE NULL |
|
|
|
END AS totalCostUSD, |
|
|
|
CASE |
|
|
|
WHEN qd.qty >= 250000 AND |
|
|
|
((qd.currency1 = 'USD' AND qd.exchange_rate1 > 0) OR |
|
|
|
(qd.currency2 = 'USD' AND qd.exchange_rate2 > 0)) |
|
|
|
THEN |
|
|
|
((qd.adjust_bom_un_yield + qd.adjust_labour_cost + qd.adjust_fabricate_cost + |
|
|
|
qd.adjust_machine_cost) / |
|
|
|
CASE |
|
|
|
WHEN qd.currency1 = 'USD' THEN qd.exchange_rate1 |
|
|
|
ELSE qd.exchange_rate2 |
|
|
|
END) * qd.quote_profit_rate / 100 |
|
|
|
ELSE NULL |
|
|
|
END AS weighted, |
|
|
|
CASE |
|
|
|
WHEN qd.qty >= 5000000 AND |
|
|
|
((qd.currency1 = 'USD' AND qd.exchange_rate1 > 0) OR |
|
|
|
(qd.currency2 = 'USD' AND qd.exchange_rate2 > 0)) |
|
|
|
THEN |
|
|
|
((qd.adjust_bom_un_yield + qd.adjust_labour_cost + qd.adjust_fabricate_cost + |
|
|
|
qd.adjust_machine_cost) / |
|
|
|
CASE |
|
|
|
WHEN qd.currency1 = 'USD' THEN qd.exchange_rate1 |
|
|
|
ELSE qd.exchange_rate2 |
|
|
|
END) * qd.quote_profit_rate / 100 - 1.5 |
|
|
|
ELSE NULL |
|
|
|
END AS weighted2, |
|
|
|
bdp.decimal_place |
|
|
|
from plm_quote_detail qd |
|
|
|
left join part pp on qd.part_id = pp.id |
|
|
|
left join bu_decimal_place bdp on bdp.site = qd.site and bdp.bu_no = qd.bu_no |
|
|
|
left join part pp on qd.part_id = pp.id |
|
|
|
left join bu_decimal_place bdp on bdp.site = qd.site and bdp.bu_no = qd.bu_no |
|
|
|
<where> |
|
|
|
<if test="id != null"> |
|
|
|
and qd.id = #{id} |
|
|
|
|