|
|
<?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.QuotationInformationMapper">
<resultMap id="getQuotation" type="com.spring.modules.quotation.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="projectName" property="projectName"/> <result column="tracker" property="tracker"/> <result column="trackerName" property="trackerName"/> <result column="quoter" property="quoter"/> <result column="quoterName" property="quoterName"/> <result column="quotation_status" property="quotationStatus"/> <result column="test_part_no" property="testPartNo"/> <result column="partName" property="partName"/> <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.spring.modules.quotation.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.spring.modules.quotation.vo.QuotationInformationVo"> SELECT a.site, a.quotation_no, customer_no, dbo.plm_get_customer_desc(a.site, customer_no) as customerDesc, dbo.plm_get_customer_currency(a.site, customer_no) as customerCurrency, project_id, dbo.plm_get_project_name(a.site, project_id) as projectName, dbo.plm_get_project_final_customer_id(a.site, project_id) as finalCustomerId, dbo.plm_get_customer_desc(a.site, dbo.plm_get_project_final_customer_id(a.site, project_id)) as finalCustomerName, tracker, dbo.plm_get_user_display(a.site, tracker) as trackerName, quoter, dbo.plm_get_user_display(a.site, quoter) as quoterName, quotation_status, test_part_no, dbo.plm_get_test_part_desc(a.site, test_part_no) as partName, priority_level, required_completion_date, a.remark, technical_considerations, customer_responsible_person, customer_responsible_person_phone, a.create_date, a.create_by, a.update_date, a.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, delivery_terms, quote_type, dbo.plm_get_dictDataLabel('quote_type', quote_type, a.site) as quoteTypeLabel, dbo.plm_get_dictDataLabel('delivery_terms', delivery_terms, a.site) as deliveryTermsLabel, quotation_amount, customer_quote_no, sourcing, a.step_id, a.reject_flag, a.reject_step_id, d.is_reject, d.node_id, d.node_name FROM plm_quotation_information as a left join plm_request_header as prh on a.site = prh.site and prh.menu_id = #{query.menuId} left join plm_request_node as d on a.site = d.site and prh.classification_no = d.classification_no and prh.workflow_id = d.workflow_id and a.step_id = d.step_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 quotation_batch_no like #{query.quotationBatchNo} </if> <if test="query.quotationItemNo != null and query.quotationItemNo != ''"> AND quotation_item_no = #{query.quotationItemNo} </if> <if test="query.customerNo != null and query.customerNo != ''"> AND customer_no like #{query.customerNo} </if> <if test="query.customerDesc != null and query.customerDesc != ''"> AND dbo.plm_get_customer_desc(a.site, customer_no) like #{query.customerDesc} </if> <if test="query.projectId != null and query.projectId != ''"> AND project_id like #{query.projectId} </if> <if test="query.projectName != null and query.projectName != ''"> AND dbo.plm_get_project_name(a.site, project_id) like #{query.projectName} </if> <if test="query.trackerName != null and query.trackerName != ''"> AND dbo.plm_get_user_display(a.site, tracker) like #{query.trackerName} </if> <if test="query.quoterName != null and query.quoterName != ''"> AND dbo.plm_get_user_display(a.site, quoter) like #{query.quoterName} </if> <if test="query.testPartNo != null and query.testPartNo != ''"> AND test_part_no like #{query.testPartNo} </if> <if test="query.partName != null and query.partName != ''"> AND dbo.plm_get_test_part_desc(a.site, test_part_no) like #{query.partName} </if> <if test="query.quotationStatus != null and query.quotationStatus != ''"> AND quotation_status = #{query.quotationStatus} </if> <if test="query.priorityLevel != null and query.priorityLevel != ''"> AND priority_level = #{query.priorityLevel} </if> <if test="query.startDate != null"> AND required_completion_date >= #{query.startDate} </if> <if test="query.endDate != null"> AND #{query.endDate} >= required_completion_date </if> <if test="query.quotationResultStatus != null and query.quotationResultStatus != ''"> AND quotation_result_status = #{query.quotationResultStatus} </if> order by quotation_batch_no desc, quotation_item_no </where> </select>
<!--按照orderRef1查询文件文件参数--> <select id="getFileContentList" resultType="SysOssEntity" parameterType="SysOssEntity"> SELECT id, url, create_date, file_name, new_file_name, create_by, order_ref1, order_ref2, order_ref3, file_type, file_suffix, file_type_code, file_remark 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_quotation_information WHERE site = #{site} </select>
<!-- 获取产品列表 --> <select id="getProjectPartList" parameterType="PlmProjectPartData" resultType="PlmProjectPartData"> SELECT ppp.site, ppp.test_part_no, ppp.part_desc, ppp.part_spec, ppp.material_number, ppp.part_type, ppp.project_id, ppi.project_name, ppp.final_part_no, ppi.customer_id as customerNo, dbo.plm_get_customer_desc(ppi.site, ppi.customer_id) as customerDesc, dbo.get_family_name(ppp.site, ppp.part_type) as partTypeDesc, ppp.final_part_no, ppp.code_no, dbo.get_code_desc(ppp.site, ppp.code_no, 'IP') as codeDesc, ppp.group_id, dbo.get_group_name(ppp.site, ppp.group_id) as groupName, ppp.product_group_id1, dbo.get_product_group_name(ppp.site, ppp.product_group_id1, '1') as productGroupName1, ppp.product_group_id2, dbo.get_product_group_name(ppp.site, ppp.product_group_id2, '2') as productGroupName2, ppp.um_id, ppp.type, ppp.bu_no FROM view_Project_Part as ppp LEFT JOIN plm_project_info as ppi on ppp.site = ppi.site and ppp.project_id = ppi.project_id <where> ppp.site = #{site} <if test="projectId != null and projectId != ''"> AND ppp.project_id = #{projectId} </if> <if test="testPartNo != null and testPartNo != ''"> AND ppp.test_part_no LIKE '%' + #{testPartNo} + '%' </if> <if test="partName != null and partName != ''"> AND ppp.part_desc LIKE '%' + #{partName} + '%' </if> </where> </select>
<!-- 获取项目信息 --> <select id="getProjectInformation" parameterType="PlmProjectInfoData" resultType="PlmProjectInfoData"> SELECT project_id, ori_project_id, project_type_db, project_name, status, project_source, customer_id, create_by, create_date, update_by, update_date, priority, site, id, project_desc, customer_remark, remark, dbo.get_projectTeamName(site, project_id, 'owner') projectOwnerName, dbo.get_projectTeamName(site, project_id, 'manager') ProjectManagerName, dbo.plm_get_dictDataLabel('project_info_type_db',project_type_db,site) projectType, dbo.plm_get_projectBaseDesc(status,'project_status') projectStatusDesc, dbo.plm_get_dictDataLabel('project_info_source',project_source,site) projectSourceDesc, dbo.plm_get_customer_desc(site,customer_id) customerName, dbo.plm_get_dictDataLabel('project_info_priority',priority,site) priorityDesc, need_date, dbo.get_projectUserRoleName(site,project_id) userRoleName FROM plm_project_info where site = #{site} and project_id = #{projectId} </select>
<!-- 获取客户信息 --> <select id="getCustomerInformation" parameterType="com.spring.modules.customer.vo.CustomerInformationVo" resultType="com.spring.modules.customer.vo.CustomerInformationVo"> SELECT a.site, a.customer_no, a.customer_desc, a.customer_currency, a.turnover_of_year, a.potential_revenue_of_year, a.important_customer, a.customer_status, a.customer_description, a.customer_industry, a.create_date, a.create_by, a.update_date, a.update_by, b.company_name AS companyName, b.address_type AS addressType, dbo.plm_get_contactName ( a.site, a.customer_no, 'Y' ) AS contactName, dbo.plm_get_contactPhoneNumber ( a.site, a.customer_no, 'Y' ) AS contactPhoneNumber1, dbo.plm_get_addressName ( a.site, a.customer_no ) AS addressName, dbo.plm_get_position ( a.site, a.customer_no, 'Y' ) AS POSITION FROM plm_customer_information a LEFT JOIN plm_customer_address b ON a.site = b.site AND a.customer_no = b.customer_no where a.site = #{site} and a.customer_no = #{customerNo} </select>
<!-- 批量删除文件--> <delete id="batchDeleteQuotationFile" parameterType="com.spring.modules.quotation.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.spring.modules.quotation.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_name(site, project_id) as projectName, tracker, dbo.plm_get_user_display(site, tracker) as trackerName, quoter, dbo.plm_get_user_display(site, quoter) as quoterName, quotation_status, test_part_no, dbo.plm_get_test_part_desc(site, test_part_no) as partName, 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_quotation_information <where> site = #{site} <if test = "quotationNo != null and quotationNo != ''"> AND quotation_no like #{quotationNo} </if> </where> </select>
<select id="searchQuotationByQuotationNoList" resultType="com.spring.modules.quotation.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_name(site, project_id) as projectName, dbo.plm_get_project_final_customer_id(site, project_id) as finalCustomerId, dbo.plm_get_customer_desc(site, dbo.plm_get_project_final_customer_id(site, 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_no, dbo.plm_get_test_part_desc(site, test_part_no) as partName, 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_quotation_information <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_no like #{testPartNo} </if> <if test = "partName != null and partName != ''"> AND dbo.plm_get_test_part_desc(site, test_part_no) like #{partName} </if> <if test="quotationStatus != null and quotationStatus != ''"> and quotation_status = #{quotationStatus} </if> order by quotation_batch_no desc,quotation_item_no </where> </select>
<resultMap id="getTestPropertiesVo" type="com.spring.modules.quotation.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.spring.modules.base.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 = #{codeNo} 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.spring.modules.quotation.entity.PriceCheckProperties"> SELECT a.site, a.function_type, a.properties_item_no as itemNo, a.seq_no, b.ItemDesc, b.DefaultValue, b.ValueType, b.ValueType_DB, b.ValueChooseFlag, b.MaxValue, b.MinValue FROM plm_properties_model_detail a left join plm_properties_item b on a.function_type = b.itemType and a.properties_item_no = b.itemNo 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.spring.modules.quotation.entity.PriceCheckProperties"> select site, ItemType as functionType, ItemNo, ItemDesc, DefaultValue, ValueType, ValueType_DB, ValueChooseFlag, MaxValue, MinValue from plm_properties_item where itemType = #{type} and site = #{site} <if test="itemNo != null and itemNo != ''"> AND ItemNo = #{itemNo} </if> <if test="itemDesc != null and itemDesc != ''"> AND ItemDesc like #{itemDesc} </if> <if test="list != null and list.size() != 0"> and ItemNo not in ( <foreach collection="list" item="item" separator=","> #{item} </foreach> ) </if> </select></mapper>
|