|
|
<?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.xujie.sys.modules.quote.mapper.QuoteGroupDetailMapper">
<select id="queryQuoteGroupDetail" resultType="com.xujie.sys.modules.quote.entity.QuoteGroupDetail"> 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.current_quote_detail_item_no, 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_group_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 <where> <if test="id != null"> and qd.id = #{id} </if> <if test="quoteId != null"> and qd.quote_id = #{quoteId} </if> <if test="quoteNo != null and quoteNo != ''"> and qd.quote_no = #{quoteNo} </if> <if test="site != null and site != ''"> and qd.site = #{site} </if> <if test="buNo != null and buNo != ''"> and qd.bu_no = #{buNo} </if> <if test="versionNo != null and versionNo != ''"> and qd.version_no = #{versionNo} </if> </where> order by qd.id desc </select>
<select id="queryQuoteGroupDetailByPage" resultType="com.xujie.sys.modules.quote.entity.QuoteGroupDetail"> 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.current_quote_detail_item_no, 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 from plm_quote_group_detail qd left join part pp on qd.part_id = pp.id <where> <if test="params.quoteId != null"> and qd.quote_id = #{params.quoteId} </if> <if test="params.quoteNo != null and params.quoteNo != ''"> and qd.quote_no = #{params.quoteNo} </if> <if test="params.site != null and params.site != ''"> and qd.site = #{params.site} </if> <if test="params.buNo != null and params.buNo != ''"> and qd.bu_no = #{params.buNo} </if> <if test="params.versionNo != null and params.versionNo != ''"> and qd.version_no = #{params.versionNo} </if> </where> order by qd.id desc </select>
<select id="queryItemNo" resultType="java.lang.Integer"> select ISNULL(max(item_no),0)+1 from plm_quote_group_detail where quote_id = #{quoteId} </select>
<select id="getPartYield" resultType="java.math.BigDecimal"> select dbo.get_part_yield(#{site},#{partNo}) </select></mapper>
|