From df9eebbc8e34781e267f9aab421ed5dfc8d6e954 Mon Sep 17 00:00:00 2001 From: "han\\hanst" Date: Fri, 24 Jul 2026 08:48:34 +0800 Subject: [PATCH] SQE-ME SQE-EE --- .../modules/pms/data/EamProjectInfoData.java | 24 ++++++++++++++ .../service/Impl/EamProjectServiceImpl.java | 31 +++++++++++++++++-- .../resources/mapper/factory/SiteMapper.xml | 18 +++++------ .../resources/mapper/pms/EamProjectMapper.xml | 24 +++++++++----- 4 files changed, 79 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/xujie/sys/modules/pms/data/EamProjectInfoData.java b/src/main/java/com/xujie/sys/modules/pms/data/EamProjectInfoData.java index 7d57abeb..a808ca59 100644 --- a/src/main/java/com/xujie/sys/modules/pms/data/EamProjectInfoData.java +++ b/src/main/java/com/xujie/sys/modules/pms/data/EamProjectInfoData.java @@ -263,6 +263,14 @@ public class EamProjectInfoData extends QueryPage { * EE */ private String eeEngineer; + /** + * SQE-ME + */ + private String sqemeEngineer; + /** + * SQE-EE + */ + private String sqeeeEngineer; /** * 项目结案日期 @@ -697,6 +705,22 @@ public class EamProjectInfoData extends QueryPage { this.eeEngineer = eeEngineer; } + public String getSqemeEngineer() { + return sqemeEngineer; + } + + public void setSqemeEngineer(String sqemeEngineer) { + this.sqemeEngineer = sqemeEngineer; + } + + public String getSqeeeEngineer() { + return sqeeeEngineer; + } + + public void setSqeeeEngineer(String sqeeeEngineer) { + this.sqeeeEngineer = sqeeeEngineer; + } + public String getDocEngineer2() { return docEngineer2; } diff --git a/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamProjectServiceImpl.java b/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamProjectServiceImpl.java index 4b99aee7..006efc65 100644 --- a/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamProjectServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamProjectServiceImpl.java @@ -758,7 +758,7 @@ public class EamProjectServiceImpl implements EamProjectService { Map paramMap = new HashMap<>(); if (inData.getResponsibleDepartment().equals("PM/Sales") || inData.getResponsibleDepartment().equals("R001")) { type = "project_Manager"; - stringBuilder.append("SELECT project_Manager"); + stringBuilder.append("SELECT project_Manager "); } else if (inData.getResponsibleDepartment().equals("PjM") || inData.getResponsibleDepartment().equals("R002")) { type = "project_owner"; stringBuilder.append("SELECT project_owner "); @@ -799,8 +799,35 @@ public class EamProjectServiceImpl implements EamProjectService { } else if (inData.getResponsibleDepartment().equals("DocEngineer2") || inData.getResponsibleDepartment().equals("R017")) { type = "doc_engineer2"; stringBuilder.append("SELECT doc_engineer2 "); + } else if (inData.getResponsibleDepartment().equals("QC") + || inData.getResponsibleDepartment().equals("RQC") + || inData.getResponsibleDepartment().equals("R018")) { + type = "qc_engineer"; + stringBuilder.append("SELECT qc_engineer "); + } else if (inData.getResponsibleDepartment().equals("PE") + || inData.getResponsibleDepartment().equals("RPE") + || inData.getResponsibleDepartment().equals("R019")) { + type = "pe_engineer"; + stringBuilder.append("SELECT pe_engineer "); + } else if (inData.getResponsibleDepartment().equals("EE") + || inData.getResponsibleDepartment().equals("REE") + || inData.getResponsibleDepartment().equals("R020")) { + type = "ee_engineer"; + stringBuilder.append("SELECT ee_engineer "); + } else if (inData.getResponsibleDepartment().equals("SQE-EE") + || inData.getResponsibleDepartment().equals("RSQEEE")) { + type = "sqeee_engineer"; + stringBuilder.append("SELECT sqeee_engineer "); + } else if (inData.getResponsibleDepartment().equals("SQE-ME") + || inData.getResponsibleDepartment().equals("RSQEME")) { + type = "sqeme_engineer"; + stringBuilder.append("SELECT sqeme_engineer "); } - stringBuilder.append("FROM plm_project_info WHERE id = :projectId"); + if (StringUtils.isBlank(type)) { + logger.warn("未匹配到责任部门字段映射, responsibleDepartment={}", inData.getResponsibleDepartment()); + return; + } + stringBuilder.append("FROM plm_project_info WHERE id = :projectId"); paramMap.put("projectId", inData.getProjectId()); // 获取数据库设置的邮件接收地址 List usernameAndDisplay = parameterJdbcTemplate.query(stringBuilder.toString(), paramMap, new BeanPropertyRowMapper<>(EamProjectPartInfoData.class)); diff --git a/src/main/resources/mapper/factory/SiteMapper.xml b/src/main/resources/mapper/factory/SiteMapper.xml index b8190802..f6458ef6 100644 --- a/src/main/resources/mapper/factory/SiteMapper.xml +++ b/src/main/resources/mapper/factory/SiteMapper.xml @@ -291,7 +291,7 @@ SELECT B.role_no, U.username,U.user_display,B.active FROM business_role B JOIN access_role A ON B.site = A.site AND B.role_no = A.role_no - JOIN sys_user U ON A.username = U.username AND B.site = U.site + JOIN sys_user U ON A.username = U.username a.site = #{site} and B.active = 'Y' @@ -308,7 +308,7 @@ SELECT B.role_no, U.username,U.user_display,B.active FROM business_role B JOIN access_role A ON B.site = A.site AND B.role_no = A.role_no - JOIN sys_user U ON A.username = U.username AND B.site = U.site + JOIN sys_user U ON A.username = U.username a.site = #{site} and B.active = 'Y' @@ -325,7 +325,7 @@ SELECT B.role_no, U.username,U.user_display,B.active FROM business_role B JOIN access_role A ON B.site = A.site AND B.role_no = A.role_no - JOIN sys_user U ON A.username = U.username AND B.site = U.site + JOIN sys_user U ON A.username = U.username a.site = #{site} and B.active = 'Y' @@ -342,7 +342,7 @@ SELECT B.role_no, U.username,U.user_display,B.active FROM business_role B JOIN access_role A ON B.site = A.site AND B.role_no = A.role_no - JOIN sys_user U ON A.username = U.username AND B.site = U.site + JOIN sys_user U ON A.username = U.username a.site = #{site} and B.active = 'Y' @@ -359,7 +359,7 @@ SELECT B.role_no, U.username,U.user_display,B.active FROM business_role B JOIN access_role A ON B.site = A.site AND B.role_no = A.role_no - JOIN sys_user U ON A.username = U.username AND B.site = U.site + JOIN sys_user U ON A.username = U.username a.site = #{site} and B.active = 'Y' @@ -376,7 +376,7 @@ SELECT B.role_no, U.username,U.user_display,B.active FROM business_role B JOIN access_role A ON B.site = A.site AND B.role_no = A.role_no - JOIN sys_user U ON A.username = U.username AND B.site = U.site + JOIN sys_user U ON A.username = U.username a.site = #{site} and B.active = 'Y' @@ -393,7 +393,7 @@ SELECT B.role_no, U.username,U.user_display,B.active FROM business_role B JOIN access_role A ON B.site = A.site AND B.role_no = A.role_no - JOIN sys_user U ON A.username = U.username AND B.site = U.site + JOIN sys_user U ON A.username = U.username a.site = #{site} and B.active = 'Y' @@ -410,7 +410,7 @@ SELECT B.role_no, U.username,U.user_display,B.active FROM business_role B JOIN access_role A ON B.site = A.site AND B.role_no = A.role_no - JOIN sys_user U ON A.username = U.username AND B.site = U.site + JOIN sys_user U ON A.username = U.username a.site = #{site} and B.active = 'Y' @@ -427,7 +427,7 @@ SELECT B.role_no, U.username,U.user_display,B.active FROM business_role B JOIN access_role A ON B.site = A.site AND B.role_no = A.role_no - JOIN sys_user U ON A.username = U.username AND B.site = U.site + JOIN sys_user U ON A.username = U.username a.site = #{site} and B.active = 'Y' diff --git a/src/main/resources/mapper/pms/EamProjectMapper.xml b/src/main/resources/mapper/pms/EamProjectMapper.xml index 7918ef23..05a43afc 100644 --- a/src/main/resources/mapper/pms/EamProjectMapper.xml +++ b/src/main/resources/mapper/pms/EamProjectMapper.xml @@ -5,9 +5,9 @@ INSERT INTO plm_project_info - (site,bu_no,project_no,ori_project_id,project_category,project_name,project_desc,status,project_source,customer_no,final_customer_id,priority,remark,need_date,c_project_region,project_manager,project_owner,engineer,c_quality_engineer1,c_quality_engineer2,c_quality_engineer3,c_quality_engineer4,c_quality_engineer5,c_quality_engineer6,c_manufacture_engineer,doc_engineer,ipqc_hard_tag,c_quality_engineer7,qc_engineer,pe_engineer,ee_engineer,doc_engineer2,project_creation_date,create_date,create_by) + (site,bu_no,project_no,ori_project_id,project_category,project_name,project_desc,status,project_source,customer_no,final_customer_id,priority,remark,need_date,c_project_region,project_manager,project_owner,engineer,c_quality_engineer1,c_quality_engineer2,c_quality_engineer3,c_quality_engineer4,c_quality_engineer5,c_quality_engineer6,c_manufacture_engineer,doc_engineer,ipqc_hard_tag,c_quality_engineer7,qc_engineer,pe_engineer,ee_engineer,sqeme_engineer,sqeee_engineer,doc_engineer2,project_creation_date,create_date,create_by) VALUES - (#{site},#{buNo},#{projectNo},#{oriProjectId},#{projectCategory},#{projectName},#{projectDesc},#{status},#{projectSource},#{customerNo},#{finalCustomerId},#{priority},#{remark},#{needDate},#{cProjectRegion},#{projectManager},#{projectOwner},#{engineer},#{cQualityEngineer1},#{cQualityEngineer2},#{cQualityEngineer3},#{cQualityEngineer4},#{cQualityEngineer5},#{cQualityEngineer6},#{cManufactureEngineer},#{docEngineer},#{ipqcHardTag},#{cQualityEngineer7},#{qcEngineer},#{peEngineer},#{eeEngineer},#{docEngineer2},#{projectCreationDate},GetDATE(),#{createBy}) + (#{site},#{buNo},#{projectNo},#{oriProjectId},#{projectCategory},#{projectName},#{projectDesc},#{status},#{projectSource},#{customerNo},#{finalCustomerId},#{priority},#{remark},#{needDate},#{cProjectRegion},#{projectManager},#{projectOwner},#{engineer},#{cQualityEngineer1},#{cQualityEngineer2},#{cQualityEngineer3},#{cQualityEngineer4},#{cQualityEngineer5},#{cQualityEngineer6},#{cManufactureEngineer},#{docEngineer},#{ipqcHardTag},#{cQualityEngineer7},#{qcEngineer},#{peEngineer},#{eeEngineer},#{sqemeEngineer},#{sqeeeEngineer},#{docEngineer2},#{projectCreationDate},GetDATE(),#{createBy}) INSERT INTO plm_project_document_confirm_file_list @@ -31,7 +31,7 @@ #{cQualityEngineer2},c_quality_engineer3 = #{cQualityEngineer3},c_quality_engineer4 = #{cQualityEngineer4},c_quality_engineer5 = #{cQualityEngineer5},c_quality_engineer6 = #{cQualityEngineer6},c_manufacture_engineer = #{cManufactureEngineer},doc_engineer = - #{docEngineer},ipqc_hard_tag = #{ipqcHardTag},c_quality_engineer7 = #{cQualityEngineer7},qc_engineer = #{qcEngineer},pe_engineer = #{peEngineer},ee_engineer = #{eeEngineer},update_date = + #{docEngineer},ipqc_hard_tag = #{ipqcHardTag},c_quality_engineer7 = #{cQualityEngineer7},qc_engineer = #{qcEngineer},pe_engineer = #{peEngineer},ee_engineer = #{eeEngineer},sqeme_engineer = #{sqemeEngineer},sqeee_engineer = #{sqeeeEngineer},update_date = GETDATE(),update_by = #{updateBy},project_creation_date = #{projectCreationDate},doc_engineer2 = #{docEngineer2} ,project_close_date = CASE @@ -99,7 +99,7 @@ SELECT a.id as project_id,a.site,a.bu_no,d.bu_desc,a.project_no,a.project_category,a.project_name, a.project_desc,a.status, a.project_source, a.customer_no, a.final_customer_id, a.priority,a.engineer, a.remark,a.need_date,a.c_project_region,a.project_manager,a.project_owner,a.c_project_build_date,a.c_quality_engineer1,a.c_quality_engineer2,a.c_quality_engineer3,a.c_quality_engineer4,a.c_quality_engineer5,a.c_quality_engineer6, - a.c_manufacture_engineer,a.doc_engineer,a.doc_engineer2,a.ipqc_hard_tag,A.c_quality_engineer7,a.qc_engineer,a.pe_engineer,a.ee_engineer,a.project_close_date,a.project_creation_date,a.create_date,a.create_by,a.update_date,a.update_by,c.customer_desc, CKT_MES_II_REAL.dbo.plm_get_customer_desc(a.site,a.final_customer_id) as final_customer_name + a.c_manufacture_engineer,a.doc_engineer,a.doc_engineer2,a.ipqc_hard_tag,A.c_quality_engineer7,a.qc_engineer,a.pe_engineer,a.ee_engineer,a.sqeme_engineer,a.sqeee_engineer,a.project_close_date,a.project_creation_date,a.create_date,a.create_by,a.update_date,a.update_by,c.customer_desc, CKT_MES_II_REAL.dbo.plm_get_customer_desc(a.site,a.final_customer_id) as final_customer_name FROM plm_project_info as a LEFT JOIN plm_customer_information as c ON a.customer_no = c.customer_no and a.site = c.site left join CKT_MES_II_REAL.dbo.BU as d on a.site = d.site and a.bu_no = d.bu_no @@ -165,7 +165,7 @@ SELECT a.id as project_id,a.site,a.bu_no,d.bu_desc,a.project_no,a.project_category,a.project_name, a.project_desc,a.status, a.project_source, a.customer_no, a.final_customer_id, a.priority,a.engineer, a.remark,a.need_date,a.c_project_region,a.project_manager,a.project_owner,a.c_project_build_date,a.c_quality_engineer1,a.c_quality_engineer2,a.c_quality_engineer3,a.c_quality_engineer4,a.c_quality_engineer5,a.c_quality_engineer6, - a.c_manufacture_engineer,a.doc_engineer,a.doc_engineer2,a.ipqc_hard_tag,a.c_quality_engineer7,a.qc_engineer,a.pe_engineer,a.ee_engineer,a.project_close_date,a.project_creation_date,a.create_date,a.create_by,a.update_date,a.update_by,c.customer_desc, CKT_MES_II_REAL.dbo.plm_get_customer_desc(a.site,a.final_customer_id) as final_customer_name + a.c_manufacture_engineer,a.doc_engineer,a.doc_engineer2,a.ipqc_hard_tag,a.c_quality_engineer7,a.qc_engineer,a.pe_engineer,a.ee_engineer,a.sqeme_engineer,a.sqeee_engineer,a.project_close_date,a.project_creation_date,a.create_date,a.create_by,a.update_date,a.update_by,c.customer_desc, CKT_MES_II_REAL.dbo.plm_get_customer_desc(a.site,a.final_customer_id) as final_customer_name FROM plm_project_info as a LEFT JOIN plm_customer_information as c ON a.customer_no = c.customer_no and a.site = c.site left join CKT_MES_II_REAL.dbo.BU as d on a.site = d.site and a.bu_no = d.bu_no @@ -182,7 +182,7 @@ SELECT a.site,a.bu_no,a.id as project_id,a.project_category, a.project_name, a.project_desc,a.status, a.project_source, a.customer_no, a.priority, a.remark,a.need_date,a.c_project_region,a.project_manager,a.project_owner,a.c_project_build_date,a.c_quality_engineer1,a.c_quality_engineer2,a.c_quality_engineer3,a.c_quality_engineer4,a.c_quality_engineer5,a.c_quality_engineer6, - a.c_manufacture_engineer,a.doc_engineer,a.doc_engineer2,a.ipqc_hard_tag,a.c_quality_engineer7,a.qc_engineer,a.pe_engineer,a.ee_engineer,a.project_close_date,a.project_creation_date,a.create_date,a.create_by,a.update_date,a.update_by,b.test_part_no,b.part_desc + a.c_manufacture_engineer,a.doc_engineer,a.doc_engineer2,a.ipqc_hard_tag,a.c_quality_engineer7,a.qc_engineer,a.pe_engineer,a.ee_engineer,a.sqeme_engineer,a.sqeee_engineer,a.project_close_date,a.project_creation_date,a.create_date,a.create_by,a.update_date,a.update_by,b.test_part_no,b.part_desc FROM plm_project_info as a LEFT JOIN plm_project_part as b ON a.id = b.project_id WHERE a.project_no = #{projectNo} and a.site = #{site} and a.bu_no = #{buNo} @@ -425,6 +425,8 @@ SELECT a.*, + isnull(a.sqeme_engineer, b.sqeme_engineer) as sqeme_engineer, + isnull(a.sqeee_engineer, b.sqeee_engineer) as sqeee_engineer, a.id as projectPartId, b.project_no, b.project_desc, @@ -662,6 +666,8 @@ qc_engineer, pe_engineer, ee_engineer, + sqeme_engineer, + sqeee_engineer, status, part_type, priority, @@ -695,6 +701,8 @@ #{qcEngineer}, #{peEngineer}, #{eeEngineer}, + #{sqemeEngineer}, + #{sqeeeEngineer}, #{status}, #{partType}, #{priority}, @@ -715,7 +723,9 @@ SET test_part_no = #{testPartNo},part_desc = #{partDesc},update_date = GETDATE(),update_by = #{updateBy}, build_date = #{buildDate}, priority = #{priority}, project_category = #{projectCategory}, need_date = #{needDate}, project_manager = #{projectManager}, project_owner = #{projectOwner}, engineer = #{engineer}, c_quality_engineer1 = #{cQualityEngineer1}, c_quality_engineer2 = #{cQualityEngineer2}, c_quality_engineer3 = #{cQualityEngineer3}, c_quality_engineer4 = #{cQualityEngineer4}, c_quality_engineer5 = #{cQualityEngineer5}, c_quality_engineer6 = #{cQualityEngineer6}, c_manufacture_engineer = #{cManufactureEngineer},doc_engineer = #{docEngineer},doc_engineer2 = #{docEngineer2},ipqc_hard_tag = #{ipqcHardTag}, - c_quality_engineer7 = #{cQualityEngineer7},qc_engineer = #{qcEngineer},pe_engineer = #{peEngineer},ee_engineer = #{eeEngineer},remark = #{remark}, + c_quality_engineer7 = #{cQualityEngineer7},qc_engineer = #{qcEngineer},pe_engineer = #{peEngineer},ee_engineer = #{eeEngineer}, + sqeme_engineer = CASE WHEN #{sqemeEngineer} IS NOT NULL THEN #{sqemeEngineer} ELSE sqeme_engineer END, + sqeee_engineer = CASE WHEN #{sqeeeEngineer} IS NOT NULL THEN #{sqeeeEngineer} ELSE sqeee_engineer END,remark = #{remark}, status = CASE WHEN #{status} IS NOT NULL THEN #{status} ELSE status END,customer_no = #{customerNo}, part_type = CASE WHEN #{partType} IS NOT NULL THEN #{partType} ELSE part_type END, close_date = (CASE