From c2206df66bffef96e521e7901631e1b00605d412 Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Wed, 22 Jul 2026 14:08:53 +0800 Subject: [PATCH] =?UTF-8?q?2026-07-22=20Lab=20Test=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lab/service/impl/LabServiceImpl.java | 2 +- src/main/resources/mapper/lab/LabMapper.xml | 170 ++++++-- src/main/resources/mapper/rohs/RohsMapper.xml | 390 +++++++++++++++--- 3 files changed, 490 insertions(+), 72 deletions(-) diff --git a/src/main/java/com/spring/modules/lab/service/impl/LabServiceImpl.java b/src/main/java/com/spring/modules/lab/service/impl/LabServiceImpl.java index 7587b538..a88d20ab 100644 --- a/src/main/java/com/spring/modules/lab/service/impl/LabServiceImpl.java +++ b/src/main/java/com/spring/modules/lab/service/impl/LabServiceImpl.java @@ -101,7 +101,7 @@ public class LabServiceImpl extends ServiceImpl implements params.put("currentApprover", trimToNull((String) params.get("currentApprover"))); IPage page = this.baseMapper.queryPageWithNames( - new Query().getPage(params), + new Query().getPage(params, "reference_no", false), params ); return new PageUtils(page); diff --git a/src/main/resources/mapper/lab/LabMapper.xml b/src/main/resources/mapper/lab/LabMapper.xml index cfe55c31..dc5430b6 100644 --- a/src/main/resources/mapper/lab/LabMapper.xml +++ b/src/main/resources/mapper/lab/LabMapper.xml @@ -68,19 +68,63 @@ , d.node_id as nodeId, 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 - 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 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_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 and a.site = #{params.site} @@ -95,12 +139,11 @@ and d.node_id = #{params.nodeId} - 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} and a.applicant like #{params.applicant} - order by a.reference_no desc select , - 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 - 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 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} and a.reference_no = #{referenceNo} diff --git a/src/main/resources/mapper/rohs/RohsMapper.xml b/src/main/resources/mapper/rohs/RohsMapper.xml index d2a25021..d5adc7a4 100644 --- a/src/main/resources/mapper/rohs/RohsMapper.xml +++ b/src/main/resources/mapper/rohs/RohsMapper.xml @@ -107,17 +107,17 @@ , d.node_id as nodeId, 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.part_desc, '') as mainPartDesc from plm_rohs a @@ -144,6 +144,80 @@ and m3.line_no = m.line_no ) ) 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 and a.site = #{params.site} @@ -164,7 +238,7 @@ and d.node_id = #{params.nodeId} - 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} and isnull(firstMaterial.final_part_no, '') like #{params.ifsPartNo} @@ -203,6 +277,25 @@ and m3.line_no = m.line_no ) ) firstMaterial + + 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 and a.site = #{params.site} @@ -223,7 +316,7 @@ and d.node_id = #{params.nodeId} - 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} and isnull(firstMaterial.final_part_no, '') like #{params.ifsPartNo} @@ -241,17 +334,17 @@ , d.node_id as nodeId, 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.part_desc, '') as mainPartDesc from plm_rohs a @@ -278,6 +371,80 @@ and m3.line_no = m.line_no ) ) 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 and a.site = #{params.site} @@ -298,7 +465,7 @@ and d.node_id = #{params.nodeId} - 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} and isnull(firstMaterial.final_part_no, '') like #{params.ifsPartNo} @@ -320,17 +487,17 @@ , d.node_id as nodeId, 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.part_desc, '') as mainPartDesc from plm_rohs a @@ -357,6 +524,80 @@ and m3.line_no = m.line_no ) ) 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 ${params.whereClause} @@ -365,16 +606,16 @@