|
|
<?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.spring.modules.quotation.mapper.QuotationDetailMapper">
<resultMap id="quotationDetailVo" type="com.spring.modules.quotation.vo.QuotationDetailVo"> <id column="quotation_detail_id" jdbcType="INTEGER" property="quotationDetailId" /> <result column="quotation_header_id" jdbcType="INTEGER" property="quotationHeaderId" /> <result column="quotation_no" jdbcType="VARCHAR" property="quotationNo" /> <result column="site" jdbcType="VARCHAR" property="site" /> <result column="product_no" jdbcType="VARCHAR" property="productNo" /> <result column="product_desc" jdbcType="VARCHAR" property="productDesc" /> <result column="internal_inquiry_no" jdbcType="VARCHAR" property="internalInquiryNo" /> <result column="quotation_detail_quantity" jdbcType="DECIMAL" property="quotationDetailQuantity" /> <result column="quotation_detail_count" jdbcType="INTEGER" property="quotationDetailCount" /> <result column="quotation_detail_status" jdbcType="VARCHAR" property="quotationDetailStatus" /> <result column="compute_part_cost" jdbcType="DECIMAL" property="computePartCost" /> <result column="compute_labour_cost" jdbcType="DECIMAL" property="computeLabourCost" /> <result column="compute_fabricate_cost" jdbcType="DECIMAL" property="computeFabricateCost" /> <result column="compute_tool_cost" jdbcType="DECIMAL" property="computeToolCost" /> <result column="adjust_part_cost" jdbcType="DECIMAL" property="adjustPartCost" /> <result column="adjust_labour_cost" jdbcType="DECIMAL" property="adjustLabourCost" /> <result column="adjust_fabricate_cost" jdbcType="DECIMAL" property="adjustFabricateCost" /> <result column="adjust_tool_cost" jdbcType="DECIMAL" property="adjustToolCost" /> <result column="detail_other_cost" jdbcType="DECIMAL" property="detailOtherCost" /> <result column="detail_manage_cost" jdbcType="DECIMAL" property="detailManageCost" /> <result column="detail_total_cost" jdbcType="DECIMAL" property="detailTotalCost" /> <result column="detail_profit_rate" jdbcType="DECIMAL" property="detailProfitRate" /> <result column="detail_profit_amount" jdbcType="DECIMAL" property="detailProfitAmount" /> <result column="system_compute_amount" jdbcType="DECIMAL" property="systemComputeAmount" /> <result column="system_compute_price" jdbcType="DECIMAL" property="systemComputePrice" /> <result column="final_untaxed_price" jdbcType="DECIMAL" property="finalUntaxedPrice" /> <result column="final_taxed_price" jdbcType="DECIMAL" property="finalTaxedPrice" /> <result column="remark" jdbcType="VARCHAR" property="remark" /> <result column="compute_machine_cost" jdbcType="DECIMAL" property="computeMachineCost" /> <result column="adjust_machine_cost" jdbcType="DECIMAL" property="adjustMachineCost" /> <result column="tax_rate" jdbcType="DECIMAL" property="taxRate" /> <collection property="quotationPartList" column="quotation_detail_id" select="com.spring.modules.quotation.mapper.QuotationPartMapper.getQuotationPart" ofType="com.spring.modules.quotation.entity.QuotationPart" >
</collection> <collection property="quotationRoutingVoList" column="quotation_detail_id" select="com.spring.modules.quotation.mapper.QuotationRoutingMapper.searchQuotationRoutingByDetailId" ofType="com.spring.modules.quotation.vo.QuotationRoutingVo">
</collection> <collection property="quotationToolList" column="quotation_detail_id" select="com.spring.modules.quotation.mapper.QuotationToolMapper.getQuotationTool" ofType="com.spring.modules.quotation.entity.QuotationTool">
</collection> </resultMap> <resultMap id="quotationDetail" type="com.spring.modules.quotation.vo.QuotationDetailVo"> <id column="quotation_detail_id" jdbcType="INTEGER" property="quotationDetailId" /> <result column="quotation_header_id" jdbcType="INTEGER" property="quotationHeaderId" /> <result column="site" jdbcType="VARCHAR" property="site" /> <result column="product_no" jdbcType="VARCHAR" property="productNo" /> <result column="product_desc" jdbcType="VARCHAR" property="productDesc" /> <result column="internal_inquiry_no" jdbcType="VARCHAR" property="internalInquiryNo" /> <result column="quotation_detail_quantity" jdbcType="DECIMAL" property="quotationDetailQuantity" /> <result column="quotation_detail_count" jdbcType="INTEGER" property="quotationDetailCount" /> <result column="quotation_detail_status" jdbcType="VARCHAR" property="quotationDetailStatus" /> <result column="compute_part_cost" jdbcType="DECIMAL" property="computePartCost" /> <result column="compute_labour_cost" jdbcType="DECIMAL" property="computeLabourCost" /> <result column="compute_fabricate_cost" jdbcType="DECIMAL" property="computeFabricateCost" /> <result column="compute_tool_cost" jdbcType="DECIMAL" property="computeToolCost" /> <result column="adjust_part_cost" jdbcType="DECIMAL" property="adjustPartCost" /> <result column="adjust_labour_cost" jdbcType="DECIMAL" property="adjustLabourCost" /> <result column="adjust_fabricate_cost" jdbcType="DECIMAL" property="adjustFabricateCost" /> <result column="adjust_tool_cost" jdbcType="DECIMAL" property="adjustToolCost" /> <result column="detail_other_cost" jdbcType="DECIMAL" property="detailOtherCost" /> <result column="detail_manage_cost" jdbcType="DECIMAL" property="detailManageCost" /> <result column="detail_total_cost" jdbcType="DECIMAL" property="detailTotalCost" /> <result column="detail_profit_rate" jdbcType="DECIMAL" property="detailProfitRate" /> <result column="detail_profit_amount" jdbcType="DECIMAL" property="detailProfitAmount" /> <result column="system_compute_amount" jdbcType="DECIMAL" property="systemComputeAmount" /> <result column="system_compute_price" jdbcType="DECIMAL" property="systemComputePrice" /> <result column="final_untaxed_price" jdbcType="DECIMAL" property="finalUntaxedPrice" /> <result column="final_taxed_price" jdbcType="DECIMAL" property="finalTaxedPrice" /> <result column="remark" jdbcType="VARCHAR" property="remark" /> <result column="compute_machine_cost" jdbcType="DECIMAL" property="computeMachineCost" /> <result column="adjust_machine_cost" jdbcType="DECIMAL" property="adjustMachineCost" /> <result column="tax_rate" jdbcType="DECIMAL" property="taxRate" /> <result column="active" property="active" /> </resultMap>
<select id="getQuotationDetailVoList" resultMap="quotationDetailVo"> select qd.quotation_detail_id, qd.quotation_header_id, qh.quotation_no, qd.site, qd.product_no, qd.product_desc, qd.internal_inquiry_no, qd.quotation_detail_quantity, qd.quotation_detail_count, qd.quotation_detail_status, qd.compute_part_cost, qd.compute_labour_cost, qd.compute_fabricate_cost, qd.compute_tool_cost, qd.adjust_part_cost, qd.adjust_labour_cost, qd.adjust_fabricate_cost, qd.adjust_tool_cost, qd.detail_other_cost, qd.detail_manage_cost, qd.detail_total_cost, qd.detail_profit_rate, qd.detail_profit_amount, qd.system_compute_amount, qd.system_compute_price, qd.final_untaxed_price, qd.final_taxed_price, qd.remark, qd.compute_machine_cost, qd.adjust_machine_cost, qd.tax_rate from dbo.quotation_detail qd left join dbo.quotation_header qh on qd.quotation_header_id = qh.quotation_header_id left join dbo.view_Project_Part ppp on qd.product_no = ppp.test_part_no and qd.site = ppp.site <where> qd.site = #{site} and qd.active = 'Y' and qh.active = 'Y' <if test="quotationDetailId != null"> and qd.quotation_detail_id <> #{quotationDetailId} </if> <if test="quotationHeaderId != null"> and qd.quotation_header_id <> #{quotationHeaderId} </if> <if test="quotationNo != null and quotationNo != ''"> and qh.quotation_no like #{quotationNo} </if> <if test="productNo != null and productNo != ''"> and qd.product_no like #{productNo} </if> <if test="internalInquiryNo != null and internalInquiryNo != ''"> and qd.internal_inquiry_no like #{internalInquiryNo} </if> <if test="productDesc != null and productDesc != ''"> and qd.product_desc like #{productDesc} </if> order by qh.quotation_no desc </where> </select>
<select id="getQuotationDetailVoListByInternalInquiryNo" resultMap="quotationDetailVo"> select qd.quotation_detail_id, qd.quotation_header_id, qh.quotation_no, qd.site, qd.product_no, qd.product_desc, qd.internal_inquiry_no, qd.quotation_detail_quantity, qd.quotation_detail_count, qd.quotation_detail_status, qd.compute_part_cost, qd.compute_labour_cost, qd.compute_fabricate_cost, qd.compute_tool_cost, qd.adjust_part_cost, qd.adjust_labour_cost, qd.adjust_fabricate_cost, qd.adjust_tool_cost, qd.detail_other_cost, qd.detail_manage_cost, qd.detail_total_cost, qd.detail_profit_rate, qd.detail_profit_amount, qd.system_compute_amount, qd.system_compute_price, qd.final_untaxed_price, qd.final_taxed_price, qd.remark, qd.compute_machine_cost, qd.adjust_machine_cost, qd.tax_rate from dbo.quotation_detail qd left join dbo.quotation_header qh on qd.quotation_header_id = qh.quotation_header_id left join dbo.view_Project_Part ppp on qd.product_no = ppp.test_part_no and qd.site = ppp.site where qd.internal_inquiry_no <> '' and qd.site = #{site} and qd.active = 'Y' and qh.active = 'Y' <if test="quotationNo != null and quotationNo != ''"> and qh.quotation_no like #{quotationNo} </if> <if test="productNo != null and productNo != ''"> and qd.product_no like #{productNo} </if> <if test="internalInquiryNo != null and internalInquiryNo != ''"> and qd.internal_inquiry_no like #{internalInquiryNo} </if> <if test="productDesc != null and productDesc != ''"> and qd.product_desc like #{productDesc} </if> order by qh.quotation_no desc </select>
<select id="getQuotationDetailVoListByPage" resultMap="quotationDetail"> select quotation_detail_id, quotation_header_id, site, product_no, dbo.get_part_name(site, product_no) as product_desc, internal_inquiry_no, quotation_detail_quantity, quotation_detail_count, quotation_detail_status, compute_part_cost, compute_labour_cost, compute_fabricate_cost, compute_tool_cost, adjust_part_cost, adjust_labour_cost, adjust_fabricate_cost, adjust_tool_cost, detail_other_cost, detail_manage_cost, detail_total_cost, detail_profit_rate, detail_profit_amount, system_compute_amount, system_compute_price, final_untaxed_price, final_taxed_price, remark, compute_machine_cost, adjust_machine_cost, tax_rate, active from quotation_detail qd <where> and active = 'Y' <if test="quotationHeaderId != null"> and quotation_header_id = #{quotationHeaderId} </if> </where> order by quotation_detail_id </select>
<insert id="handleSavePropertiesHeader"> INSERT INTO PartSubPropertiesValueHeader (PartNo, Site, CodeNo, SubCodeSeqNo, SubCodeDesc, RecordType) SELECT concat('BJ',#{quotationDetailId}), site, code_no, 1, code_desc, function_type FROM plm_properties_model_header WHERE function_type = 'BJ' AND code_no = 'BJ001' AND site = #{site} </insert>
<insert id="handleSavePropertiesDetail"> INSERT INTO PartSubPropertiesValue (PartNo, Site, CodeNo, SubCodeSeqNo, SubCodeDesc, ItemNo, PropertiesItemNo, TextValue, NumValue, RecordType) select concat('BJ',#{quotationDetailId}),ppmd.site,ppmd.code_no,1,ppmh.code_desc,seq_no,properties_item_no,'','',ppmd.function_type from plm_properties_model_detail ppmd left join plm_properties_model_header ppmh on ppmh.function_type = ppmd.function_type and ppmh.code_no = ppmd.code_no and ppmh.site = ppmd.site WHERE ppmd.function_type = 'BJ' AND ppmd.code_no = 'BJ001' AND ppmd.site = #{site} </insert>
<delete id="removePropertiesHeader"> delete from PartSubPropertiesValueHeader where PartNo = concat('BJ',#{quotationDetailId}) </delete>
<delete id="removePropertiesDetail"> delete from PartSubPropertiesValue where PartNo = concat('BJ',#{quotationDetailId}) </delete></mapper>
|