|
|
<?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.QuotationInformationMapper">
<resultMap id="getQuotation" type="com.xujie.sys.modules.quote.entity.vo.QuotationInformationVo"> <result column="site" property="site"/> <result column="quotation_no" property="quotationNo"/> <result column="customer_no" property="customerNo"/> <result column="customerDesc" property="customerDesc"/> <result column="customerCurrency" property="customerCurrency"/> <result column="project_id" property="projectId"/> <result column="project_no" property="projectNo"/> <result column="project_desc" property="projectDesc"/> <result column="tracker" property="tracker"/> <result column="quoter" property="quoter"/> <result column="quoterName" property="quoterName"/> <result column="quotation_status" property="quotationStatus"/> <result column="projectPartId" property="projectPartId"/> <result column="test_part_no" property="testPartNo"/> <result column="part_desc" property="partDesc"/> <result column="priority_level" property="priorityLevel"/> <result column="required_completion_date" property="requiredCompletionDate"/> <result column="remark" property="remark"/> <result column="technical_considerations" property="technicalConsiderations"/> <result column="customer_responsible_person" property="customerResponsiblePerson"/> <result column="customer_responsible_person_phone" property="customerResponsiblePersonPhone"/> <result column="create_date" property="createDate"/> <result column="create_by" property="createBy"/> <result column="update_date" property="updateDate"/> <result column="update_by" property="updateBy"/> <result column="next_to_do" property="nextToDo"/> <result column="actuality_quotation_date" property="actualityQuotationDate"/> <result column="quotation_result_information" property="quotationResultInformation"/> <result column="actuality_submission_date" property="actualitySubmissionDate"/> <result column="submission_method" property="submissionMethod"/> <result column="submission_remark" property="submissionRemark"/> <result column="actuality_reply_date" property="actualityReplyDate"/> <result column="confirm_results" property="confirmResults"/> <result column="confirm_by" property="confirmBy"/> <result column="confirm_information" property="confirmInformation"/> <result column="quotation_result_status" property="quotationResultStatus"/> <result column="quotation_batch_no" property="quotationBatchNo"/> <result column="quotation_item_no" property="quotationItemNo"/> <result column="delivery_terms" property="deliveryTerms"/> <result column="quote_type" property="quoteType"/> <result column="quoteTypeLabel" property="quoteTypeLabel"/> <result column="deliveryTermsLabel" property="deliveryTermsLabel"/> <result column="finalCustomerId" property="finalCustomerId"/> <result column="sourcing" property="sourcing"/> <result column="finalCustomerName" property="finalCustomerName"/> <result column="quotation_amount" property="quotationAmount"/> <result column="customer_quote_no" property="customerQuoteNo"/> <result column="is_reject" property="isReject"/> <result column="node_id" property="nodeId"/> <result column="node_name" property="nodeName"/><!-- <association property="priceCheckDetail" javaType="com.xujie.sys.modules.quote.entity.PriceCheckDetail">--><!-- <result column="site" property="site"/>--><!-- <result column="quotation_no" property="quotationNo"/>--><!-- <result column="associated_part_no" property="associatedPartNo"/>--><!-- <result column="material_required" property="materialRequired"/>--><!-- <result column="yearly_or_monthly_required" property="yearlyOrMonthlyRequirement"/>--><!-- <result column="running_width" property="runningWidth"/>--><!-- </association>--> </resultMap> <!-- 报价信息列表 --> <select id="quotationInformationSearch" resultMap="getQuotation" parameterType="com.xujie.sys.modules.quote.entity.vo.QuotationInformationVo"> SELECT a.site, a.quotation_no, a.customer_no, dbo.plm_get_customer_desc(a.site, a.customer_no) as customerDesc, dbo.plm_get_customer_currency(a.site, a.customer_no) as customerCurrency, a.project_id, b.project_no, b.project_desc, b.project_manager, b.project_owner, dbo.plm_get_project_final_customer_id(a.project_id) as finalCustomerId, dbo.plm_get_customer_desc(a.site, dbo.plm_get_project_final_customer_id(a.project_id)) as finalCustomerName, a.quoter, dbo.plm_get_user_display(a.site, quoter) as quoterName, a.quotation_status, a.test_part_id as projectPartId, c.test_part_no, c.part_desc, a.priority_level, a.required_completion_date, a.remark, a.technical_considerations, a.customer_responsible_person, a.customer_responsible_person_phone, a.create_date, a.create_by, a.update_date, a.update_by, a.next_to_do, a.actuality_quotation_date, a.quotation_result_information, a.actuality_submission_date, a.submission_method, a.submission_remark, a.actuality_reply_date, a.confirm_results, a.confirm_by, a.confirm_information, a.quotation_result_status, a.quotation_batch_no, a.quotation_item_no, a.delivery_terms, a.quote_type, dbo.plm_get_dictDataLabel('quote_type', a.quote_type, a.site) as quoteTypeLabel, dbo.plm_get_dictDataLabel('delivery_terms', a.delivery_terms, a.site) as deliveryTermsLabel, a.quotation_amount, a.customer_quote_no, a.sourcing, a.step_id, a.reject_flag, a.reject_step_id FROM plm_request_for_quotation as a left join plm_project_info as b on a.project_id = b.id left join plm_project_part as c on a.test_part_id = c.id <where> a.site = #{query.site} <if test="query.quotationNo != null and query.quotationNo != ''"> AND a.quotation_no = #{query.quotationNo} </if> <if test="query.quotationBatchNo != null and query.quotationBatchNo != ''"> AND a.quotation_batch_no like #{query.quotationBatchNo} </if> <if test="query.quotationItemNo != null and query.quotationItemNo != ''"> AND a.quotation_item_no = #{query.quotationItemNo} </if> <if test="query.customerNo != null and query.customerNo != ''"> AND a.customer_no like #{query.customerNo} </if> <if test="query.customerDesc != null and query.customerDesc != ''"> AND dbo.plm_get_customer_desc(a.site, a.customer_no) like #{query.customerDesc} </if> <if test="query.projectNo != null and query.projectNo != ''"> AND b.project_no like #{query.projectNo} </if> <if test="query.projectDesc != null and query.projectDesc != ''"> AND b.projectDesc like #{query.projectDesc} </if> <if test="query.quoterName != null and query.quoterName != ''"> AND dbo.plm_get_user_display(a.site, a.quoter) like #{query.quoterName} </if> <if test="query.testPartNo != null and query.testPartNo != ''"> AND test_part_id like #{query.testPartNo} </if> <if test="query.partDesc != null and query.partDesc != ''"> AND dbo.plm_get_part_desc(a.test_part_id) like #{query.partDesc} </if> <if test="query.quotationStatus != null and query.quotationStatus != ''"> AND a.quotation_status = #{query.quotationStatus} </if> <if test="query.priorityLevel != null and query.priorityLevel != ''"> AND a.priority_level = #{query.priorityLevel} </if> <if test="query.startDate != null"> AND a.required_completion_date >= #{query.startDate} </if> <if test="query.endDate != null"> AND #{query.endDate} >= a.required_completion_date </if> <if test="query.quotationResultStatus != null and query.quotationResultStatus != ''"> AND a.quotation_result_status = #{query.quotationResultStatus} </if> order by a.quotation_batch_no desc, a.quotation_item_no </where> </select>
<!--按照orderRef1查询文件文件参数--> <select id="getFileContentList" resultType="SysOssEntity" parameterType="SysOssEntity"> SELECT id, url, create_date, file_name, new_file_name, created_by, order_ref1, order_ref2, order_ref3, file_type, file_suffix, file_type_code, FROM sys_oss <where> <if test="orderRef1 != '' and orderRef1 != null "> and order_ref1 = #{orderRef1} </if> <if test="orderRef2 != '' and orderRef2 != null "> and order_ref2 = #{orderRef2} </if><!-- <if test="orderRef2 != '' and orderRef2 != null ">--><!-- and order_ref2 in--><!-- <foreach collection="refArr" item="item" open="(" separator="," close=")">--><!-- #{item}--><!-- </foreach>--><!-- </if>--> <if test="orderRef3 != '' and orderRef3 != null "> and order_ref3 = #{orderRef3} </if> </where> </select>
<!-- 获得报价单号 --> <select id="getQuotationNo" resultType="string" parameterType="QuotationInformationEntity"> SELECT Right('0000000000' + convert(VARCHAR(10), isnull(max(convert(INT, SUBSTRING(quotation_batch_no, 3, 10))), 0) + 1), 8) FROM plm_request_for_quotation WHERE site = #{site} </select>
<!-- 批量删除文件--> <delete id="batchDeleteQuotationFile" parameterType="com.xujie.sys.modules.quote.entity.vo.SysOssVo"> DELETE FROM sys_oss <where> order_ref1 = #{orderRef1} and order_ref2 = #{orderRef2} <if test = "fileName != null and fileName != ''"> AND file_name = #{fileName} </if> </where> </delete>
<select id="searchQuotationByQuotationNo" resultType="com.xujie.sys.modules.quote.entity.vo.QuotationInformationVo"> SELECT site, quotation_no, customer_no, dbo.plm_get_customer_desc(site, customer_no) as customerDesc, dbo.plm_get_customer_currency(site, customer_no) as customerCurrency, project_id, dbo.plm_get_project_desc(project_id) as projectDesc, tracker, dbo.plm_get_user_display(site, tracker) as trackerName, quoter, dbo.plm_get_user_display(site, quoter) as quoterName, quotation_status, test_part_id, dbo.plm_get_part_desc(test_part_id) as partDesc, priority_level, required_completion_date, remark, technical_considerations, customer_responsible_person, customer_responsible_person_phone, create_date, create_by, update_date, update_by, next_to_do, actuality_quotation_date, quotation_result_information, actuality_submission_date, submission_method, submission_remark, actuality_reply_date, confirm_results, confirm_by, confirm_information, quotation_result_status, quotation_batch_no, quotation_item_no FROM plm_request_for_quotation <where> site = #{site} <if test = "quotationNo != null and quotationNo != ''"> AND quotation_no like #{quotationNo} </if> </where> </select>
<select id="searchQuotationByQuotationNoList" resultType="com.xujie.sys.modules.quote.entity.vo.QuotationInformationVo"> SELECT site, quotation_no, customer_no, dbo.plm_get_customer_desc(site, customer_no) as customerDesc, dbo.plm_get_customer_currency(site, customer_no) as customerCurrency, project_id, dbo.plm_get_project_desc(project_id) as projectDesc, dbo.plm_get_project_final_customer_id(project_id) as finalCustomerId, dbo.plm_get_customer_desc(site, dbo.plm_get_project_final_customer_id(project_id)) as finalCustomerName, tracker, dbo.plm_get_user_display(site, tracker) as trackerName, quoter, dbo.plm_get_user_display(site, quoter) as quoterName, quotation_status, test_part_id, dbo.plm_get_part_desc(test_part_id) as partDesc, priority_level, required_completion_date, remark, technical_considerations, customer_responsible_person, customer_responsible_person_phone, create_date, create_by, update_date, update_by, next_to_do, actuality_quotation_date, quotation_result_information, actuality_submission_date, submission_method, submission_remark, actuality_reply_date, confirm_results, confirm_by, confirm_information, quotation_result_status, quotation_batch_no, quotation_item_no, quotation_amount FROM plm_request_for_quotation <where> site = #{site} <if test = "quotationNo != null and quotationNo != ''"> AND quotation_no like #{quotationNo} </if> <if test = "quotationBatchNo != null and quotationBatchNo != ''"> AND quotation_batch_no like #{quotationBatchNo} </if> <if test = "quotationItemNo != null"> AND quotation_item_no = #{quotationItemNo} </if> <if test = "testPartNo != null and testPartNo != ''"> AND test_part_id like #{testPartNo} </if> <if test = "partDesc != null and partDesc != ''"> AND dbo.plm_get_part_desc(test_part_id) like #{partDesc} </if> order by quotation_batch_no desc,quotation_item_no </where> </select>
<resultMap id="getTestPropertiesVo" type="com.xujie.sys.modules.quote.entity.vo.PriceCheckPropertiesVo"> <result column="site" property="site"/> <result column="quotation_no" property="quotationNo"/> <result column="function_type" property="functionType"/> <result column="item_no" property="itemNo"/> <result column="seq_no" property="seqNo"/> <result column="item_desc" property="itemDesc"/> <result column="default_value" property="defaultValue"/> <result column="value_type" property="valueType"/> <result column="value_type_db" property="valueTypeDb"/> <result column="value_choose_flag" property="valueChooseFlag"/> <result column="max_value" property="maxValue"/> <result column="min_value" property="minValue"/> <result column="text_value" property="textValue"/> <result column="num_value" property="numValue"/><!-- <collection select="com.spring.modules.test.mapper.TestInformationMapper.selectAvailBleValue" column="{site=site,itemNo=item_no,functionType=function_type}" property="list" ofType="com.xujie.sys.modules.part.entity.PlmPropertiesItemAvailable">-->
<!-- </collection>--> </resultMap> <select id="searchPriceCheckPropertiesVo" resultMap="getTestPropertiesVo"> SELECT a.site, a.function_type, a.item_no, a.seq_no, a.item_desc, a.default_value, a.value_type, a.value_type_db, a.value_choose_flag, a.max_value, a.min_value, a.text_value, a.num_value, a.quotation_no FROM plm_price_check_properties a left join plm_properties_model_detail b on a.site = b.site and a.function_type = b.function_type and b.code_no = 'XJ001' and a.item_no = b.properties_item_no where quotation_no = #{quotationNo} and a.site = #{site} order by b.order_id </select>
<select id="searchPriceCheckProperties" resultType="com.xujie.sys.modules.quote.entity.PriceCheckProperties"> SELECT a.site, a.function_type, a.properties_item_no as itemNo, a.seq_no, b.item_desc, b.default_value, b.value_type, b.value_type_db, b.value_choose_flag, b.max_value, b.min_value FROM plm_properties_model_detail a left join plm_properties_item b on a.function_type = b.item_type and a.properties_item_no = b.item_no and a.site = b.site where a.function_type = #{type} and a.code_no = #{code} and a.site = #{site} order by a.order_id </select>
<select id="searchPriceCheckPropertiesItemList" resultType="com.xujie.sys.modules.quote.entity.PriceCheckProperties"> select site, item_type as functionType, item_no, item_desc, default_value, value_type, value_type_db, value_choose_flag, max_value, min_value from plm_properties_item where item_type = #{type} and site = #{site} <if test="itemNo != null and itemNo != ''"> AND item_no = #{itemNo} </if> <if test="itemDesc != null and itemDesc != ''"> AND item_desc like #{itemDesc} </if> <if test="list != null and list.size() != 0"> and item_no not in ( <foreach collection="list" item="item" separator=","> #{item} </foreach> ) </if> </select> <select id="getProjectIdByNo" resultType="integer"> select id as projectId from plm_project_info where project_no = #{projectNo} and site = #{site} </select> <select id="getQuoterByName" resultType="java.lang.String"> select username from CKT_MES_II_REAL.dbo.sys_user where user_display = #{userDisplay} and site = #{site} </select> <select id="getProjectPartIdByNo" resultType="java.lang.Integer"> select id as projectPartId from plm_project_part where test_part_no = #{testPartNo} and site = #{site} and project_id = #{projectId} </select> <select id="queryQuotationInformationByPage" resultType="com.xujie.sys.modules.quote.entity.vo.QuotationInformationVo"> SELECT a.site, a.quotation_no, a.customer_no, dbo.plm_get_customer_desc(a.site, a.customer_no) as customerDesc, dbo.plm_get_customer_currency(a.site, a.customer_no) as customerCurrency, a.project_id, b.project_no, b.project_desc, b.project_manager, b.project_owner, dbo.plm_get_project_final_customer_id(a.project_id) as finalCustomerId, dbo.plm_get_customer_desc(a.site, dbo.plm_get_project_final_customer_id(a.project_id)) as finalCustomerName, a.quoter, dbo.plm_get_user_display(a.site, quoter) as quoterName, a.quotation_status, a.test_part_id as projectPartId, c.test_part_no, c.part_desc, a.priority_level, a.required_completion_date, a.remark, a.technical_considerations, a.customer_responsible_person, a.customer_responsible_person_phone, a.create_date, a.create_by, a.update_date, a.update_by, a.next_to_do, a.actuality_quotation_date, a.quotation_result_information, a.actuality_submission_date, a.submission_method, a.submission_remark, a.actuality_reply_date, a.confirm_results, a.confirm_by, a.confirm_information, a.quotation_result_status, a.quotation_batch_no, a.quotation_item_no, a.delivery_terms, a.quote_type, dbo.plm_get_dictDataLabel('quote_type', a.quote_type, a.site) as quoteTypeLabel, dbo.plm_get_dictDataLabel('delivery_terms', a.delivery_terms, a.site) as deliveryTermsLabel, a.quotation_amount, a.customer_quote_no, a.sourcing, a.step_id, a.reject_flag, a.reject_step_id, bu.id as buId FROM plm_request_for_quotation as a left join plm_project_info as b on a.project_id = b.id left join plm_project_part as c on a.test_part_id = c.id left join BU as bu on b.site = bu.site and b.bu_no = bu.bu_no <where> a.site in (select site from eam_access_site where username = #{params.createBy}) <if test="params.quotationNo != null and params.quotationNo != ''"> AND a.quotation_no = #{params.quotationNo} </if> <if test="params.quotationBatchNo != null and params.quotationBatchNo != ''"> AND a.quotation_batch_no like #{params.quotationBatchNo} </if> <if test="params.quotationItemNo != null and params.quotationItemNo != ''"> AND a.quotation_item_no = #{params.quotationItemNo} </if> <if test="params.customerNo != null and params.customerNo != ''"> AND a.customer_no like #{params.customerNo} </if> <if test="params.customerDesc != null and params.customerDesc != ''"> AND dbo.plm_get_customer_desc(a.site, a.customer_no) like #{params.customerDesc} </if> <if test="params.projectNo != null and params.projectNo != ''"> AND b.project_no like #{params.projectNo} </if> <if test="params.projectDesc != null and params.projectDesc != ''"> AND b.project_desc like #{params.projectDesc} </if> <if test="params.quoterName != null and params.quoterName != ''"> AND dbo.plm_get_user_display(a.site, a.quoter) like #{params.quoterName} </if> <if test="params.testPartNo != null and params.testPartNo != ''"> AND test_part_id like #{params.testPartNo} </if> <if test="params.partDesc != null and params.partDesc != ''"> AND dbo.plm_get_part_desc(a.test_part_id) like #{params.partDesc} </if> <if test="params.quotationStatus != null and params.quotationStatus != ''"> AND a.quotation_status = #{params.quotationStatus} </if> <if test="params.priorityLevel != null and params.priorityLevel != ''"> AND a.priority_level = #{params.priorityLevel} </if> <if test="params.startDate != null"> AND a.required_completion_date >= #{params.startDate} </if> <if test="params.endDate != null"> AND #{params.endDate} >= a.required_completion_date </if> <if test="params.quotationResultStatus != null and params.quotationResultStatus != ''"> AND a.quotation_result_status = #{params.quotationResultStatus} </if> order by a.quotation_batch_no desc, a.quotation_item_no </where> </select></mapper>
|