You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

539 lines
24 KiB

<?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>