Browse Source

2026-07-22

Lab Test优化
master
fengyuan_yang 6 days ago
parent
commit
c2206df66b
  1. 2
      src/main/java/com/spring/modules/lab/service/impl/LabServiceImpl.java
  2. 170
      src/main/resources/mapper/lab/LabMapper.xml
  3. 390
      src/main/resources/mapper/rohs/RohsMapper.xml

2
src/main/java/com/spring/modules/lab/service/impl/LabServiceImpl.java

@ -101,7 +101,7 @@ public class LabServiceImpl extends ServiceImpl<LabMapper, LabEntity> implements
params.put("currentApprover", trimToNull((String) params.get("currentApprover"))); params.put("currentApprover", trimToNull((String) params.get("currentApprover")));
IPage<LabEntity> page = this.baseMapper.queryPageWithNames( IPage<LabEntity> page = this.baseMapper.queryPageWithNames(
new Query<LabEntity>().getPage(params),
new Query<LabEntity>().getPage(params, "reference_no", false),
params params
); );
return new PageUtils(page); return new PageUtils(page);

170
src/main/resources/mapper/lab/LabMapper.xml

@ -68,19 +68,63 @@
<include refid="Base_Column_List"/>, <include refid="Base_Column_List"/>,
d.node_id as nodeId, d.node_id as nodeId,
d.node_name as nodeName, d.node_name as nodeName,
dbo.get_plm_Approval_username(a.site, prh.workflow_id, d.node_id, a.reference_no) as currentApprover,
dbo.get_userDisPlay(a.applicant) as applicantName,
dbo.plm_get_customer_desc(a.site, a.customer_id) as customerName,
dbo.plm_get_project_name(a.site, a.project_id) as projectName,
dbo.get_userDisPlay(a.tester) as testerName,
dbo.get_userDisPlay(a.lab_approver) as labApproverName,
isnull(approverData.currentApprover, '') as currentApprover,
isnull(customerData.customerName, '') as customerName,
isnull(projectData.projectName, '') as projectName,
isnull(testerData.testerName, '') as testerName,
isnull(labApproverData.labApproverName, '') as labApproverName,
case case
when isnull(dbo.plm_get_dictDataLabel('lab_test_lab', a.test_lab, '41'), '') = '' then a.test_lab
else dbo.plm_get_dictDataLabel('lab_test_lab', a.test_lab, '41')
when isnull(testLabData.testLabName, '') = '' then isnull(a.test_lab, '')
else testLabData.testLabName
end as testLabName end as testLabName
from plm_lab a from plm_lab a
left join plm_request_header prh on a.site = prh.site and prh.menu_id = #{params.menuId} and prh.status = 'Y' left join plm_request_header prh on a.site = prh.site and prh.menu_id = #{params.menuId} and prh.status = 'Y'
left join plm_request_node 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 left join plm_request_node 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
outer apply (
select top 1 customer_desc as customerName
from plm_customer_information pci
where pci.customer_no = a.customer_id
) customerData
outer apply (
select top 1 project_name as projectName
from plm_project_info ppi
where ppi.site = a.site
and ppi.project_id = a.project_id
) projectData
outer apply (
select top 1 user_display as testerName
from sys_user su
where su.username = a.tester
) testerData
outer apply (
select top 1 user_display as labApproverName
from sys_user su
where su.username = a.lab_approver
) labApproverData
outer apply (
select top 1 dict_label as testLabName
from sys_dict_data sdd
where sdd.dict_type = 'lab_test_lab'
and sdd.site = '41'
and sdd.dict_value = a.test_lab
) testLabData
outer apply (
select
stuff((
select ';' + vals.value
from (
select distinct isnull(pf.update_by, su.username) as value
from plm_process_form pf
left join sys_user su on pf.domain_control_account = su.domain_control_account
where pf.site = a.site
and pf.workflow_id = prh.workflow_id
and pf.node_id = d.node_id
and pf.document_no = a.reference_no
and pf.is_remark = '0'
) vals
for xml path(''), type
).value('.', 'nvarchar(max)'), 1, 1, '') as currentApprover
) approverData
where 1 = 1 where 1 = 1
<if test="params.site != null and params.site != ''"> <if test="params.site != null and params.site != ''">
and a.site = #{params.site} and a.site = #{params.site}
@ -95,12 +139,11 @@
and d.node_id = #{params.nodeId} and d.node_id = #{params.nodeId}
</if> </if>
<if test="params.currentApprover != null and params.currentApprover != ''"> <if test="params.currentApprover != null and params.currentApprover != ''">
and dbo.get_plm_Approval_username(a.site, prh.workflow_id, d.node_id, a.reference_no) like #{params.currentApprover}
and isnull(approverData.currentApprover, '') like #{params.currentApprover}
</if> </if>
<if test="params.applicant != null and params.applicant != ''"> <if test="params.applicant != null and params.applicant != ''">
and a.applicant like #{params.applicant} and a.applicant like #{params.applicant}
</if> </if>
order by a.reference_no desc
</select> </select>
<select id="queryPageWithNamesAny" resultMap="BaseResultMap"> <select id="queryPageWithNamesAny" resultMap="BaseResultMap">
@ -108,19 +151,63 @@
<include refid="Base_Column_List"/>, <include refid="Base_Column_List"/>,
d.node_id as nodeId, d.node_id as nodeId,
d.node_name as nodeName, d.node_name as nodeName,
dbo.get_plm_Approval_username(a.site, prh.workflow_id, d.node_id, a.reference_no) as currentApprover,
dbo.get_userDisPlay(a.applicant) as applicantName,
dbo.plm_get_customer_desc(a.site, a.customer_id) as customerName,
dbo.plm_get_project_name(a.site, a.project_id) as projectName,
dbo.get_userDisPlay(a.tester) as testerName,
dbo.get_userDisPlay(a.lab_approver) as labApproverName,
isnull(approverData.currentApprover, '') as currentApprover,
isnull(customerData.customerName, '') as customerName,
isnull(projectData.projectName, '') as projectName,
isnull(testerData.testerName, '') as testerName,
isnull(labApproverData.labApproverName, '') as labApproverName,
case case
when isnull(dbo.plm_get_dictDataLabel('lab_test_lab', a.test_lab, '41'), '') = '' then a.test_lab
else dbo.plm_get_dictDataLabel('lab_test_lab', a.test_lab, '41')
when isnull(testLabData.testLabName, '') = '' then isnull(a.test_lab, '')
else testLabData.testLabName
end as testLabName end as testLabName
from plm_lab a from plm_lab a
left join plm_request_header prh on a.site = prh.site and prh.menu_id = #{params.menuId} and prh.status = 'Y' left join plm_request_header prh on a.site = prh.site and prh.menu_id = #{params.menuId} and prh.status = 'Y'
left join plm_request_node 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 left join plm_request_node 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
outer apply (
select top 1 customer_desc as customerName
from plm_customer_information pci
where pci.customer_no = a.customer_id
) customerData
outer apply (
select top 1 project_name as projectName
from plm_project_info ppi
where ppi.site = a.site
and ppi.project_id = a.project_id
) projectData
outer apply (
select top 1 user_display as testerName
from sys_user su
where su.username = a.tester
) testerData
outer apply (
select top 1 user_display as labApproverName
from sys_user su
where su.username = a.lab_approver
) labApproverData
outer apply (
select top 1 dict_label as testLabName
from sys_dict_data sdd
where sdd.dict_type = 'lab_test_lab'
and sdd.site = '41'
and sdd.dict_value = a.test_lab
) testLabData
outer apply (
select
stuff((
select ';' + vals.value
from (
select distinct isnull(pf.update_by, su.username) as value
from plm_process_form pf
left join sys_user su on pf.domain_control_account = su.domain_control_account
where pf.site = a.site
and pf.workflow_id = prh.workflow_id
and pf.node_id = d.node_id
and pf.document_no = a.reference_no
and pf.is_remark = '0'
) vals
for xml path(''), type
).value('.', 'nvarchar(max)'), 1, 1, '') as currentApprover
) approverData
<if test="params.whereClause != null and params.whereClause != ''"> <if test="params.whereClause != null and params.whereClause != ''">
where ${params.whereClause} where ${params.whereClause}
</if> </if>
@ -135,16 +222,49 @@
<select id="getDetailWithNames" resultMap="BaseResultMap"> <select id="getDetailWithNames" resultMap="BaseResultMap">
select select
<include refid="Base_Column_List"/>, <include refid="Base_Column_List"/>,
dbo.get_userDisPlay(a.applicant) as applicantName,
dbo.plm_get_customer_desc(a.site, a.customer_id) as customerName,
dbo.plm_get_project_name(a.site, a.project_id) as projectName,
dbo.get_userDisPlay(a.tester) as testerName,
dbo.get_userDisPlay(a.lab_approver) as labApproverName,
isnull(applicantData.applicantName, '') as applicantName,
isnull(customerData.customerName, '') as customerName,
isnull(projectData.projectName, '') as projectName,
isnull(testerData.testerName, '') as testerName,
isnull(labApproverData.labApproverName, '') as labApproverName,
case case
when isnull(dbo.plm_get_dictDataLabel('lab_test_lab', a.test_lab, '41'), '') = '' then a.test_lab
else dbo.plm_get_dictDataLabel('lab_test_lab', a.test_lab, '41')
when isnull(testLabData.testLabName, '') = '' then isnull(a.test_lab, '')
else testLabData.testLabName
end as testLabName end as testLabName
from plm_lab a from plm_lab a
outer apply (
select top 1 user_display as applicantName
from sys_user su
where su.username = a.applicant
) applicantData
outer apply (
select top 1 customer_desc as customerName
from plm_customer_information pci
where pci.customer_no = a.customer_id
) customerData
outer apply (
select top 1 project_name as projectName
from plm_project_info ppi
where ppi.site = a.site
and ppi.project_id = a.project_id
) projectData
outer apply (
select top 1 user_display as testerName
from sys_user su
where su.username = a.tester
) testerData
outer apply (
select top 1 user_display as labApproverName
from sys_user su
where su.username = a.lab_approver
) labApproverData
outer apply (
select top 1 dict_label as testLabName
from sys_dict_data sdd
where sdd.dict_type = 'lab_test_lab'
and sdd.site = '41'
and sdd.dict_value = a.test_lab
) testLabData
where a.site = #{site} where a.site = #{site}
and a.reference_no = #{referenceNo} and a.reference_no = #{referenceNo}
</select> </select>

390
src/main/resources/mapper/rohs/RohsMapper.xml

@ -107,17 +107,17 @@
<include refid="Base_Column_List"/>, <include refid="Base_Column_List"/>,
d.node_id as nodeId, d.node_id as nodeId,
d.node_name as nodeName, d.node_name as nodeName,
dbo.get_plm_Approval_username(a.site, prh.workflow_id, d.node_id, a.reference_no) as currentApprover,
dbo.get_userDisPlay(a.applicant) as applicantName,
dbo.get_userDisPlay(a.pm) as pmName,
dbo.get_userDisPlay(a.npd_engineer) as npdEngineerName,
dbo.get_userDisPlay(a.technical_plan) as technicalPlanName,
dbo.get_userDisPlay(a.buyer) as buyerName,
dbo.plm_get_customer_desc(a.site, a.end_customer) as endCustomerName,
dbo.plm_get_project_name(a.site, a.project_id) as projectName,
dbo.get_product_group_name(a.site, a.comm_group1, '1') as commGroup1Desc,
dbo.get_product_group_name(a.site, a.comm_group2, '2') as commGroup2Desc,
dbo.get_product_group_name(a.site, a.comm_group3, '5') as commGroup3Desc,
isnull(approverData.currentApprover, '') as currentApprover,
isnull(applicantData.applicantName, '') as applicantName,
isnull(pmData.pmName, '') as pmName,
isnull(npdEngineerData.npdEngineerName, '') as npdEngineerName,
isnull(technicalPlanData.technicalPlanName, '') as technicalPlanName,
isnull(buyerData.buyerName, '') as buyerName,
isnull(endCustomerData.endCustomerName, '') as endCustomerName,
isnull(projectData.projectName, '') as projectName,
isnull(commGroup1Data.commGroup1Desc, '') as commGroup1Desc,
isnull(commGroup2Data.commGroup2Desc, '') as commGroup2Desc,
isnull(commGroup3Data.commGroup3Desc, '') as commGroup3Desc,
isnull(firstMaterial.final_part_no, '') as mainIfsPartNo, isnull(firstMaterial.final_part_no, '') as mainIfsPartNo,
isnull(firstMaterial.part_desc, '') as mainPartDesc isnull(firstMaterial.part_desc, '') as mainPartDesc
from plm_rohs a from plm_rohs a
@ -144,6 +144,80 @@
and m3.line_no = m.line_no and m3.line_no = m.line_no
) )
) firstMaterial ) firstMaterial
outer apply (
select top 1 user_display as applicantName
from sys_user su
where su.username = a.applicant
) applicantData
outer apply (
select top 1 user_display as pmName
from sys_user su
where su.username = a.pm
) pmData
outer apply (
select top 1 user_display as npdEngineerName
from sys_user su
where su.username = a.npd_engineer
) npdEngineerData
outer apply (
select top 1 user_display as technicalPlanName
from sys_user su
where su.username = a.technical_plan
) technicalPlanData
outer apply (
select top 1 user_display as buyerName
from sys_user su
where su.username = a.buyer
) buyerData
outer apply (
select top 1 customer_desc as endCustomerName
from plm_customer_information pci
where pci.customer_no = a.end_customer
) endCustomerData
outer apply (
select top 1 project_name as projectName
from plm_project_info ppi
where ppi.site = a.site
and ppi.project_id = a.project_id
) projectData
outer apply (
select top 1 product_group_name as commGroup1Desc
from product_group pg
where pg.site = a.site
and pg.product_group_id = a.comm_group1
and pg.type = '1'
) commGroup1Data
outer apply (
select top 1 product_group_name as commGroup2Desc
from product_group pg
where pg.site = a.site
and pg.product_group_id = a.comm_group2
and pg.type = '2'
) commGroup2Data
outer apply (
select top 1 product_group_name as commGroup3Desc
from product_group pg
where pg.site = a.site
and pg.product_group_id = a.comm_group3
and pg.type = '5'
) commGroup3Data
outer apply (
select
stuff((
select ';' + vals.value
from (
select distinct isnull(pf.update_by, su.username) as value
from plm_process_form pf
left join sys_user su on pf.domain_control_account = su.domain_control_account
where pf.site = a.site
and pf.workflow_id = prh.workflow_id
and pf.node_id = d.node_id
and pf.document_no = a.reference_no
and pf.is_remark = '0'
) vals
for xml path(''), type
).value('.', 'nvarchar(max)'), 1, 1, '') as currentApprover
) approverData
where 1 = 1 where 1 = 1
<if test="params.site != null and params.site != ''"> <if test="params.site != null and params.site != ''">
and a.site = #{params.site} and a.site = #{params.site}
@ -164,7 +238,7 @@
and d.node_id = #{params.nodeId} and d.node_id = #{params.nodeId}
</if> </if>
<if test="params.currentApprover != null and params.currentApprover != ''"> <if test="params.currentApprover != null and params.currentApprover != ''">
and dbo.get_plm_Approval_username(a.site, prh.workflow_id, d.node_id, a.reference_no) like #{params.currentApprover}
and isnull(approverData.currentApprover, '') like #{params.currentApprover}
</if> </if>
<if test="params.ifsPartNo != null and params.ifsPartNo != ''"> <if test="params.ifsPartNo != null and params.ifsPartNo != ''">
and isnull(firstMaterial.final_part_no, '') like #{params.ifsPartNo} and isnull(firstMaterial.final_part_no, '') like #{params.ifsPartNo}
@ -203,6 +277,25 @@
and m3.line_no = m.line_no and m3.line_no = m.line_no
) )
) firstMaterial ) firstMaterial
<if test="params.currentApprover != null and params.currentApprover != ''">
outer apply (
select
stuff((
select ';' + vals.value
from (
select distinct isnull(pf.update_by, su.username) as value
from plm_process_form pf
left join sys_user su on pf.domain_control_account = su.domain_control_account
where pf.site = a.site
and pf.workflow_id = prh.workflow_id
and pf.node_id = d.node_id
and pf.document_no = a.reference_no
and pf.is_remark = '0'
) vals
for xml path(''), type
).value('.', 'nvarchar(max)'), 1, 1, '') as currentApprover
) approverData
</if>
where 1 = 1 where 1 = 1
<if test="params.site != null and params.site != ''"> <if test="params.site != null and params.site != ''">
and a.site = #{params.site} and a.site = #{params.site}
@ -223,7 +316,7 @@
and d.node_id = #{params.nodeId} and d.node_id = #{params.nodeId}
</if> </if>
<if test="params.currentApprover != null and params.currentApprover != ''"> <if test="params.currentApprover != null and params.currentApprover != ''">
and dbo.get_plm_Approval_username(a.site, prh.workflow_id, d.node_id, a.reference_no) like #{params.currentApprover}
and isnull(approverData.currentApprover, '') like #{params.currentApprover}
</if> </if>
<if test="params.ifsPartNo != null and params.ifsPartNo != ''"> <if test="params.ifsPartNo != null and params.ifsPartNo != ''">
and isnull(firstMaterial.final_part_no, '') like #{params.ifsPartNo} and isnull(firstMaterial.final_part_no, '') like #{params.ifsPartNo}
@ -241,17 +334,17 @@
<include refid="Base_Column_List"/>, <include refid="Base_Column_List"/>,
d.node_id as nodeId, d.node_id as nodeId,
d.node_name as nodeName, d.node_name as nodeName,
dbo.get_plm_Approval_username(a.site, prh.workflow_id, d.node_id, a.reference_no) as currentApprover,
dbo.get_userDisPlay(a.applicant) as applicantName,
dbo.get_userDisPlay(a.pm) as pmName,
dbo.get_userDisPlay(a.npd_engineer) as npdEngineerName,
dbo.get_userDisPlay(a.technical_plan) as technicalPlanName,
dbo.get_userDisPlay(a.buyer) as buyerName,
dbo.plm_get_customer_desc(a.site, a.end_customer) as endCustomerName,
dbo.plm_get_project_name(a.site, a.project_id) as projectName,
dbo.get_product_group_name(a.site, a.comm_group1, '1') as commGroup1Desc,
dbo.get_product_group_name(a.site, a.comm_group2, '2') as commGroup2Desc,
dbo.get_product_group_name(a.site, a.comm_group3, '5') as commGroup3Desc,
isnull(approverData.currentApprover, '') as currentApprover,
isnull(applicantData.applicantName, '') as applicantName,
isnull(pmData.pmName, '') as pmName,
isnull(npdEngineerData.npdEngineerName, '') as npdEngineerName,
isnull(technicalPlanData.technicalPlanName, '') as technicalPlanName,
isnull(buyerData.buyerName, '') as buyerName,
isnull(endCustomerData.endCustomerName, '') as endCustomerName,
isnull(projectData.projectName, '') as projectName,
isnull(commGroup1Data.commGroup1Desc, '') as commGroup1Desc,
isnull(commGroup2Data.commGroup2Desc, '') as commGroup2Desc,
isnull(commGroup3Data.commGroup3Desc, '') as commGroup3Desc,
isnull(firstMaterial.final_part_no, '') as mainIfsPartNo, isnull(firstMaterial.final_part_no, '') as mainIfsPartNo,
isnull(firstMaterial.part_desc, '') as mainPartDesc isnull(firstMaterial.part_desc, '') as mainPartDesc
from plm_rohs a from plm_rohs a
@ -278,6 +371,80 @@
and m3.line_no = m.line_no and m3.line_no = m.line_no
) )
) firstMaterial ) firstMaterial
outer apply (
select top 1 user_display as applicantName
from sys_user su
where su.username = a.applicant
) applicantData
outer apply (
select top 1 user_display as pmName
from sys_user su
where su.username = a.pm
) pmData
outer apply (
select top 1 user_display as npdEngineerName
from sys_user su
where su.username = a.npd_engineer
) npdEngineerData
outer apply (
select top 1 user_display as technicalPlanName
from sys_user su
where su.username = a.technical_plan
) technicalPlanData
outer apply (
select top 1 user_display as buyerName
from sys_user su
where su.username = a.buyer
) buyerData
outer apply (
select top 1 customer_desc as endCustomerName
from plm_customer_information pci
where pci.customer_no = a.end_customer
) endCustomerData
outer apply (
select top 1 project_name as projectName
from plm_project_info ppi
where ppi.site = a.site
and ppi.project_id = a.project_id
) projectData
outer apply (
select top 1 product_group_name as commGroup1Desc
from product_group pg
where pg.site = a.site
and pg.product_group_id = a.comm_group1
and pg.type = '1'
) commGroup1Data
outer apply (
select top 1 product_group_name as commGroup2Desc
from product_group pg
where pg.site = a.site
and pg.product_group_id = a.comm_group2
and pg.type = '2'
) commGroup2Data
outer apply (
select top 1 product_group_name as commGroup3Desc
from product_group pg
where pg.site = a.site
and pg.product_group_id = a.comm_group3
and pg.type = '5'
) commGroup3Data
outer apply (
select
stuff((
select ';' + vals.value
from (
select distinct isnull(pf.update_by, su.username) as value
from plm_process_form pf
left join sys_user su on pf.domain_control_account = su.domain_control_account
where pf.site = a.site
and pf.workflow_id = prh.workflow_id
and pf.node_id = d.node_id
and pf.document_no = a.reference_no
and pf.is_remark = '0'
) vals
for xml path(''), type
).value('.', 'nvarchar(max)'), 1, 1, '') as currentApprover
) approverData
where 1 = 1 where 1 = 1
<if test="params.site != null and params.site != ''"> <if test="params.site != null and params.site != ''">
and a.site = #{params.site} and a.site = #{params.site}
@ -298,7 +465,7 @@
and d.node_id = #{params.nodeId} and d.node_id = #{params.nodeId}
</if> </if>
<if test="params.currentApprover != null and params.currentApprover != ''"> <if test="params.currentApprover != null and params.currentApprover != ''">
and dbo.get_plm_Approval_username(a.site, prh.workflow_id, d.node_id, a.reference_no) like #{params.currentApprover}
and isnull(approverData.currentApprover, '') like #{params.currentApprover}
</if> </if>
<if test="params.ifsPartNo != null and params.ifsPartNo != ''"> <if test="params.ifsPartNo != null and params.ifsPartNo != ''">
and isnull(firstMaterial.final_part_no, '') like #{params.ifsPartNo} and isnull(firstMaterial.final_part_no, '') like #{params.ifsPartNo}
@ -320,17 +487,17 @@
<include refid="Base_Column_List"/>, <include refid="Base_Column_List"/>,
d.node_id as nodeId, d.node_id as nodeId,
d.node_name as nodeName, d.node_name as nodeName,
dbo.get_plm_Approval_username(a.site, prh.workflow_id, d.node_id, a.reference_no) as currentApprover,
dbo.get_userDisPlay(a.applicant) as applicantName,
dbo.get_userDisPlay(a.pm) as pmName,
dbo.get_userDisPlay(a.npd_engineer) as npdEngineerName,
dbo.get_userDisPlay(a.technical_plan) as technicalPlanName,
dbo.get_userDisPlay(a.buyer) as buyerName,
dbo.plm_get_customer_desc(a.site, a.end_customer) as endCustomerName,
dbo.plm_get_project_name(a.site, a.project_id) as projectName,
dbo.get_product_group_name(a.site, a.comm_group1, '1') as commGroup1Desc,
dbo.get_product_group_name(a.site, a.comm_group2, '2') as commGroup2Desc,
dbo.get_product_group_name(a.site, a.comm_group3, '5') as commGroup3Desc,
isnull(approverData.currentApprover, '') as currentApprover,
isnull(applicantData.applicantName, '') as applicantName,
isnull(pmData.pmName, '') as pmName,
isnull(npdEngineerData.npdEngineerName, '') as npdEngineerName,
isnull(technicalPlanData.technicalPlanName, '') as technicalPlanName,
isnull(buyerData.buyerName, '') as buyerName,
isnull(endCustomerData.endCustomerName, '') as endCustomerName,
isnull(projectData.projectName, '') as projectName,
isnull(commGroup1Data.commGroup1Desc, '') as commGroup1Desc,
isnull(commGroup2Data.commGroup2Desc, '') as commGroup2Desc,
isnull(commGroup3Data.commGroup3Desc, '') as commGroup3Desc,
isnull(firstMaterial.final_part_no, '') as mainIfsPartNo, isnull(firstMaterial.final_part_no, '') as mainIfsPartNo,
isnull(firstMaterial.part_desc, '') as mainPartDesc isnull(firstMaterial.part_desc, '') as mainPartDesc
from plm_rohs a from plm_rohs a
@ -357,6 +524,80 @@
and m3.line_no = m.line_no and m3.line_no = m.line_no
) )
) firstMaterial ) firstMaterial
outer apply (
select top 1 user_display as applicantName
from sys_user su
where su.username = a.applicant
) applicantData
outer apply (
select top 1 user_display as pmName
from sys_user su
where su.username = a.pm
) pmData
outer apply (
select top 1 user_display as npdEngineerName
from sys_user su
where su.username = a.npd_engineer
) npdEngineerData
outer apply (
select top 1 user_display as technicalPlanName
from sys_user su
where su.username = a.technical_plan
) technicalPlanData
outer apply (
select top 1 user_display as buyerName
from sys_user su
where su.username = a.buyer
) buyerData
outer apply (
select top 1 customer_desc as endCustomerName
from plm_customer_information pci
where pci.customer_no = a.end_customer
) endCustomerData
outer apply (
select top 1 project_name as projectName
from plm_project_info ppi
where ppi.site = a.site
and ppi.project_id = a.project_id
) projectData
outer apply (
select top 1 product_group_name as commGroup1Desc
from product_group pg
where pg.site = a.site
and pg.product_group_id = a.comm_group1
and pg.type = '1'
) commGroup1Data
outer apply (
select top 1 product_group_name as commGroup2Desc
from product_group pg
where pg.site = a.site
and pg.product_group_id = a.comm_group2
and pg.type = '2'
) commGroup2Data
outer apply (
select top 1 product_group_name as commGroup3Desc
from product_group pg
where pg.site = a.site
and pg.product_group_id = a.comm_group3
and pg.type = '5'
) commGroup3Data
outer apply (
select
stuff((
select ';' + vals.value
from (
select distinct isnull(pf.update_by, su.username) as value
from plm_process_form pf
left join sys_user su on pf.domain_control_account = su.domain_control_account
where pf.site = a.site
and pf.workflow_id = prh.workflow_id
and pf.node_id = d.node_id
and pf.document_no = a.reference_no
and pf.is_remark = '0'
) vals
for xml path(''), type
).value('.', 'nvarchar(max)'), 1, 1, '') as currentApprover
) approverData
<if test="params.whereClause != null and params.whereClause != ''"> <if test="params.whereClause != null and params.whereClause != ''">
where ${params.whereClause} where ${params.whereClause}
</if> </if>
@ -365,16 +606,16 @@
<select id="getDetailWithNames" resultMap="BaseResultMap"> <select id="getDetailWithNames" resultMap="BaseResultMap">
select select
<include refid="Base_Column_List"/>, <include refid="Base_Column_List"/>,
dbo.get_userDisPlay(a.applicant) as applicantName,
dbo.get_userDisPlay(a.pm) as pmName,
dbo.get_userDisPlay(a.npd_engineer) as npdEngineerName,
dbo.get_userDisPlay(a.technical_plan) as technicalPlanName,
dbo.get_userDisPlay(a.buyer) as buyerName,
dbo.plm_get_customer_desc(a.site, a.end_customer) as endCustomerName,
dbo.plm_get_project_name(a.site, a.project_id) as projectName,
dbo.get_product_group_name(a.site, a.comm_group1, '1') as commGroup1Desc,
dbo.get_product_group_name(a.site, a.comm_group2, '2') as commGroup2Desc,
dbo.get_product_group_name(a.site, a.comm_group3, '5') as commGroup3Desc,
isnull(applicantData.applicantName, '') as applicantName,
isnull(pmData.pmName, '') as pmName,
isnull(npdEngineerData.npdEngineerName, '') as npdEngineerName,
isnull(technicalPlanData.technicalPlanName, '') as technicalPlanName,
isnull(buyerData.buyerName, '') as buyerName,
isnull(endCustomerData.endCustomerName, '') as endCustomerName,
isnull(projectData.projectName, '') as projectName,
isnull(commGroup1Data.commGroup1Desc, '') as commGroup1Desc,
isnull(commGroup2Data.commGroup2Desc, '') as commGroup2Desc,
isnull(commGroup3Data.commGroup3Desc, '') as commGroup3Desc,
isnull(firstMaterial.final_part_no, '') as mainIfsPartNo, isnull(firstMaterial.final_part_no, '') as mainIfsPartNo,
isnull(firstMaterial.part_desc, '') as mainPartDesc isnull(firstMaterial.part_desc, '') as mainPartDesc
from plm_rohs a from plm_rohs a
@ -399,6 +640,63 @@
and m3.line_no = m.line_no and m3.line_no = m.line_no
) )
) firstMaterial ) firstMaterial
outer apply (
select top 1 user_display as applicantName
from sys_user su
where su.username = a.applicant
) applicantData
outer apply (
select top 1 user_display as pmName
from sys_user su
where su.username = a.pm
) pmData
outer apply (
select top 1 user_display as npdEngineerName
from sys_user su
where su.username = a.npd_engineer
) npdEngineerData
outer apply (
select top 1 user_display as technicalPlanName
from sys_user su
where su.username = a.technical_plan
) technicalPlanData
outer apply (
select top 1 user_display as buyerName
from sys_user su
where su.username = a.buyer
) buyerData
outer apply (
select top 1 customer_desc as endCustomerName
from plm_customer_information pci
where pci.customer_no = a.end_customer
) endCustomerData
outer apply (
select top 1 project_name as projectName
from plm_project_info ppi
where ppi.site = a.site
and ppi.project_id = a.project_id
) projectData
outer apply (
select top 1 product_group_name as commGroup1Desc
from product_group pg
where pg.site = a.site
and pg.product_group_id = a.comm_group1
and pg.type = '1'
) commGroup1Data
outer apply (
select top 1 product_group_name as commGroup2Desc
from product_group pg
where pg.site = a.site
and pg.product_group_id = a.comm_group2
and pg.type = '2'
) commGroup2Data
outer apply (
select top 1 product_group_name as commGroup3Desc
from product_group pg
where pg.site = a.site
and pg.product_group_id = a.comm_group3
and pg.type = '5'
) commGroup3Data
where a.site = #{site} where a.site = #{site}
and a.reference_no = #{referenceNo} and a.reference_no = #{referenceNo}
</select> </select>

Loading…
Cancel
Save