|
|
<?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">
<!-- namespace = 接口的全限定符 --><mapper namespace="com.xujie.sys.modules.pms.mapper.EamProjectMapper"> <insert id="saveNeweamProject"> 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,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},#{projectCreationDate},GetDATE(),#{createBy}) </insert> <insert id="saveProductionValidationDocument"> INSERT INTO plm_project_document_confirm_file_list (site,Order_Ref1,Order_Ref2,Item_No,document_type,document_id,Order_Ref3) VALUES (#{site},#{orderRef1},#{orderRef2},#{itemNo},#{documentType},#{documentId},#{orderRef3}) </insert> <insert id="saveProductionValidationDocumentConfirmator"> INSERT INTO plm_project_document_confirm (site,Order_Ref1,Order_Ref2,Item_No,document_type,userid,wanted_confirm_date,confirm_flag,confirmed_by,confirmed_date,create_date,create_by) VALUES (#{site},#{orderRef1},#{orderRef2},#{itemNo},'产品文档',#{userid},#{wantedConfirmDate},'N',#{confirmedBy},#{confirmedDate},GETDATE(),#{createBy}) </insert> <update id="eamProjectEdit"> UPDATE plm_project_info SET project_category = #{projectCategory},project_name = #{projectName},project_desc = #{projectDesc},status = #{status},project_source = #{projectSource},customer_no = #{customerNo},priority = #{priority},remark = #{remark},need_date = #{needDate},c_project_region = #{cProjectRegion},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},update_date = GETDATE(),update_by = #{updateBy},project_creation_date = #{projectCreationDate} ,project_close_date = CASE WHEN #{projectCloseDate} IS NOT NULL THEN CONVERT(date, #{projectCloseDate}) ELSE project_close_date END WHERE site = #{site} and id = #{projectId} </update> <update id="saveFormalPartNo"> UPDATE plm_project_part SET final_part_no = #{finalPartNo} ,remark = #{finalPartDesc} WHERE site = #{site} and project_id = #{projectId} and id = #{projectPartId} </update> <update id="updateProjectDocumentConfirm"> UPDATE plm_project_document_confirm SET confirm_flag = 'Y',confirmed_by = #{confirmedBy},confirmed_date = #{confirmedDate},remark = #{remark} WHERE site = #{site} and Order_Ref1 = #{orderRef1} and Order_Ref2 = #{orderRef2} and document_type = '产品文档' and Item_No = #{itemNo} and userid = #{userid} </update> <delete id="eamProjectDelete"> DELETE FROM plm_project_info WHERE id = #{projectId} </delete> <delete id="eamProjectPartDelete"> DELETE FROM plm_project_part WHERE site = #{site} and project_id = #{projectId} and test_part_no = #{testPartNo} </delete> <delete id="deleteDocumentInformation"> DELETE FROM plm_project_document_confirm_file_list WHERE site = #{site} and Order_Ref1 = #{orderRef1} and Order_Ref2 = #{orderRef2} </delete> <delete id="deleteConfirmationRecord"> DELETE FROM plm_project_document_confirm WHERE site = #{site} and Order_Ref1 = #{orderRef1} and document_type = '产品文档' and Order_Ref2 = #{orderRef2} </delete> <delete id="deleteSysoss"> delete from CKT_MES_II_REAL.dbo.sys_oss where order_ref1 = #{orderRef1} and order_ref2 = #{orderRef2} and order_ref4 = #{orderRef4} and order_ref5 = #{orderRef5} </delete> <delete id="eamProjectPartInfoDelete"> DELETE FROM plm_project_part WHERE id = #{projectPartId} </delete> <delete id="deleteConfirmatory"> DELETE FROM plm_document_toconfirm_user WHERE site = #{site} and BU = #{buNo} and document_type = '产品文档' and userid = #{userid} </delete> <select id="eamProjectSearch" parameterType="com.xujie.sys.modules.pms.data.EamProjectInfoData" resultType="com.xujie.sys.modules.pms.data.EamProjectInfoData"> 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.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 <where> a.site in (select site from eam_access_site where username = #{query.userName}) and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{query.userName})) <if test="query.projectId != null and query.projectId != ''"> AND ( a.id = #{query.projectId} OR a.id IN ( SELECT Value FROM CKT_MES_II_REAL.dbo.SplitString(#{query.projectId}, ',') ) ) </if> <if test="query.projectNo != null and query.projectNo != ''"> AND ( a.project_no = #{query.projectNo} OR a.project_no IN ( SELECT Value FROM CKT_MES_II_REAL.dbo.SplitString(#{query.projectNo}, ',') ) ) </if> <if test="query.projectDesc != null and query.projectDesc != ''"> and a.project_desc like #{query.projectDesc} </if> <if test="query.customerNo != null and query.customerNo != ''"> and a.customer_no like #{query.customerNo} </if> <if test="query.customerDesc != null and query.customerDesc != ''"> and c.customer_desc like #{query.customerDesc} </if> <if test="query.buDesc != null and query.buDesc != ''"> AND dbo.get_bu_desc ( a.site, a.bu_no ) = #{query.buDesc} </if> <if test="query.projectCategory != null and query.projectCategory != ''"> and a.project_category = #{query.projectCategory} </if> <if test="query.status != null and query.status != ''"> and a.status = #{query.status} </if> <if test="query.projectManager != null and query.projectManager != ''"> and a.project_manager = #{query.projectManager} </if> <if test="query.projectOwner != null and query.projectOwner != ''"> and a.project_owner = #{query.projectOwner} </if> <if test="query.engineer != null and query.engineer != ''"> and a.engineer = #{query.engineer} </if> <if test="query.cProjectRegion != null and query.cProjectRegion != ''"> and a.c_project_region = #{query.cProjectRegion} </if> <if test="query.startDate != null "> AND a.project_creation_date >= #{query.startDate} </if> <if test="query.endDate != null "> AND #{query.endDate} >= a.project_creation_date </if> </where> order by a.id desc </select> <select id="queryEamProjectInfo" parameterType="com.xujie.sys.modules.pms.data.EamProjectInfoData" resultType="com.xujie.sys.modules.pms.data.EamProjectInfoData"> 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.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 <where> a.site in (select site from eam_access_site where username = #{params.userName}) and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{params.userName})) <if test="params.sql != null and params.sql != ''"> ${params.sql} </if> </where> order by a.id desc </select> <select id="checkeamProject" resultType="com.xujie.sys.modules.pms.data.EamProjectInfoData"> 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.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} </select> <select id="getCustomerNo" resultType="com.xujie.sys.modules.pms.data.EamProjectInfoData"> SELECT customer_no, customer_desc, active FROM plm_customer_information AS a where site = #{site} and active = 'Y' ORDER BY customer_no DESC </select> <insert id="saveNewCustomer"> INSERT INTO plm_customer_information (site,customer_no,customer_desc,create_date,create_by,active) VALUES (#{site},#{customerNo},#{customerDesc},GETDATE(),#{createBy},'Y') </insert> <select id="checkProjectDelete" resultType="com.xujie.sys.modules.pms.data.ProofingInformationData"> SELECT a.project_id, a.id as project_part_id, a.test_part_no FROM plm_project_part as a LEFT JOIN plm_project_info as b ON a.project_id = b.id WHERE a.project_id = #{projectId} </select> <select id="searchConfirmatorList" resultType="com.xujie.sys.modules.pms.data.EamProjectInfoData"> SELECT a.userid, b.username, b.user_display FROM plm_document_toconfirm_user as a LEFT JOIN CKT_MES_II_REAL.dbo.sys_user as b ON a.userid = b.user_id WHERE a.BU = #{query.buNo} and a.Site = #{query.site} and a.document_type = '产品文档' </select> <select id="searchNotConfirmatorList" resultType="com.xujie.sys.modules.pms.data.EamProjectInfoData"> SELECT a.site, a.bu_no, a.username, s.user_id, s.user_display FROM AccessBu a LEFT JOIN sys_user s ON a.username = s.username AND a.site = s.site LEFT JOIN plm_document_toconfirm_user b ON s.user_id = b.userid AND b.Site = s.site AND b.BU = a.bu_no AND b.document_type = '产品文档' <where> a.site = #{query.site} AND a.bu_no = #{query.buNo} AND s.user_id IS NOT NULL AND b.userid IS NULL <if test="query.username != null and query.username != ''"> AND s.username like #{query.username} </if> <if test="query.userDisplay != null and query.userDisplay != ''"> AND s.user_display like #{query.userDisplay} </if> </where> </select>
<select id="checkProductionValidationDocument" resultType="com.xujie.sys.modules.pms.data.ProjectProductionValidationDocumentData"> SELECT * FROM plm_project_document_confirm_file_list WHERE site = #{site} and Order_Ref1 = #{orderRef1} and Order_Ref2 = #{orderRef2} </select> <select id="checkProductionValidationDocumentAll" resultType="com.xujie.sys.modules.pms.data.ProjectProductionValidationDocumentData"> SELECT * FROM plm_project_document_confirm_file_list WHERE site = #{site} and Order_Ref1 = #{orderRef1} and Order_Ref2 = #{orderRef2} </select> <select id="checkProductionValidationDocumentConfirmator" resultType="com.xujie.sys.modules.pms.data.ProjectProductionValidationDocumentData"> SELECT * FROM plm_project_document_confirm WHERE site = #{site} and Order_Ref1 = #{orderRef1} and Order_Ref2 = #{orderRef2} and document_type = '产品文档' and Item_No = #{itemNo} and userid = #{userid} </select> <select id="searchConfirmProgressDocumentList" resultType="com.xujie.sys.modules.pms.data.ProjectProductionValidationDocumentData"> SELECT a.Item_No, a.document_type, (case when a.order_ref3 = '-2' then c.sop_name ELSE b.file_name END) as file_name, a.document_id, a.site, a.Order_Ref1 AS project_id, a.order_ref3 AS document_definition_list_id, b.created_by FROM plm_project_document_confirm_file_list AS a LEFT JOIN sys_oss AS b ON a.document_id = b.id LEFT JOIN part_sop AS c ON a.document_id = c.id WHERE a.Site = #{query.site} and a.Order_Ref1 = #{query.orderRef1} and a.Order_Ref2 = #{query.orderRef2} ORDER BY a.Item_No </select> <select id="searchConfirmProgressPusherList" resultType="com.xujie.sys.modules.pms.data.ProjectProductionValidationDocumentData"> SELECT a.*,b.user_display,b.username FROM plm_project_document_confirm as a LEFT JOIN sys_user as b ON a.userid = b.user_id WHERE a.site = #{query.site} and a.Order_Ref1 = #{query.orderRef1} and a.document_type = '产品文档' and a.Order_Ref2 = #{query.orderRef2} </select> <select id="searchProjectConfirmatorFileList" resultType="com.xujie.sys.modules.oss.entity.SysOssEntity"> SELECT a.* FROM sys_oss as a <where> <if test="query.id != null and query.id != ''"> a.id = CAST(#{query.id} AS INT) </if> <if test="query.id == null or query.id == ''"> a.order_ref1 = #{query.orderRef1} and a.order_ref4 = #{query.orderRef4} and a.order_ref2 = #{query.orderRef2} and a.order_ref3 = #{query.orderRef3} and a.order_ref5 = #{query.orderRef5} <if test="query.createdBy != null and query.createdBy != ''"> and a.created_by = #{query.createdBy} </if> <if test="query.cAdditionalInfo != null and query.cAdditionalInfo != ''"> and a.c_additional_info = #{query.cAdditionalInfo} </if> <if test="query.fileName != null and query.fileName != ''"> and a.file_name = #{query.fileName} </if> </if> </where> </select> <select id="getMaxItemNo2" resultType="java.lang.Integer"> SELECT COALESCE(MAX(Item_No), 0) AS maxItemNo FROM plm_project_document_confirm_file_list WHERE site = #{site} AND Order_Ref1 = #{orderRef1} and Order_Ref2 = #{orderRef2} </select> <select id="checkConfirmationRecord" resultType="com.xujie.sys.modules.pms.data.ProjectProductionValidationDocumentData"> SELECT a.* FROM plm_project_document_confirm as a WHERE a.site = #{site} and a.Order_Ref1 = #{orderRef1} and a.document_type = '产品文档' and a.Order_Ref2 = #{orderRef2} </select><!-- SELECT--><!-- (SELECT TOP 1 proofing_no FROM plm_proofing_information WHERE project_id = ppi.project_id and test_part_id = ppi.id) AS proofing_no,--><!-- ppi.id AS project_part_id,--><!-- ppi.project_id,--><!-- STUFF(--><!-- COALESCE(--><!-- CASE WHEN pu1.email IS NOT NULL AND pu1.email != '' THEN ';' + pu1.email ELSE '' END +--><!-- CASE WHEN pu2.email IS NOT NULL AND pu2.email != '' THEN ';' + pu2.email ELSE '' END +--><!-- CASE WHEN pu3.email IS NOT NULL AND pu3.email != '' THEN ';' + pu3.email ELSE '' END +--><!-- CASE WHEN pu4.email IS NOT NULL AND pu4.email != '' THEN ';' + pu4.email ELSE '' END +--><!-- CASE WHEN pu5.email IS NOT NULL AND pu5.email != '' THEN ';' + pu5.email ELSE '' END +--><!-- CASE WHEN pu6.email IS NOT NULL AND pu6.email != '' THEN ';' + pu6.email ELSE '' END,--><!-- ''--><!-- ),--><!-- 1, 1, ''--><!-- ) AS email--><!-- FROM--><!-- plm_project_part ppi--><!-- LEFT JOIN sys_user pu1 ON LEFT ( ppi.c_quality_engineer1, CHARINDEX( '-', ppi.c_quality_engineer1 ) - 1 ) = pu1.username--><!-- LEFT JOIN sys_user pu2 ON LEFT ( ppi.c_quality_engineer2, CHARINDEX( '-', ppi.c_quality_engineer2 ) - 1 ) = pu2.username--><!-- LEFT JOIN sys_user pu3 ON LEFT ( ppi.c_quality_engineer3, CHARINDEX( '-', ppi.c_quality_engineer3 ) - 1 ) = pu3.username--><!-- LEFT JOIN sys_user pu7 ON LEFT ( ppi.c_quality_engineer4, CHARINDEX( '-', ppi.c_quality_engineer4 ) - 1 ) = pu7.username--><!-- LEFT JOIN sys_user pu4 ON LEFT ( ppi.c_manufacture_engineer, CHARINDEX( '-', ppi.c_manufacture_engineer ) - 1 ) = pu4.username--><!-- LEFT JOIN sys_user pu5 ON LEFT ( ppi.engineer, CHARINDEX( '-', ppi.engineer ) - 1 ) = pu5.username--><!-- LEFT JOIN sys_user pu6 ON LEFT ( ppi.doc_engineer, CHARINDEX( '-', ppi.doc_engineer ) - 1 ) = pu6.username--><!-- WHERE--><!-- ppi.id = #{projectPartId}--> <select id="getSendMailAddress" statementType="CALLABLE" resultType="com.xujie.sys.modules.pms.data.ProofingInformationData"> {call plm_get_to_email_list_proofing( #{site, mode=IN, jdbcType=VARCHAR}, #{projectId, mode=IN, jdbcType=INTEGER}, #{projectPartId, mode=IN, jdbcType=INTEGER}, #{proofingId, mode=IN, jdbcType=INTEGER})} </select> <select id="getSendMassProductionMailAddress" statementType="CALLABLE" resultType="com.xujie.sys.modules.pms.data.ProofingInformationData"> {call plm_get_to_email_list_MassProd( #{site, mode=IN, jdbcType=VARCHAR}, #{projectId, mode=IN, jdbcType=INTEGER}, #{projectPartId, mode=IN, jdbcType=INTEGER})} </select> <select id="getAutoSendMailAddress" statementType="CALLABLE" resultType="com.xujie.sys.modules.pms.data.ProofDocumentData"> {call plm_get_to_email_list_AlertMessage( #{site, mode=IN, jdbcType=VARCHAR})} </select>
<select id="getRoleDescByNo" resultType="com.xujie.sys.modules.factory.entity.vo.BusinessRoleVo"> SELECT role_desc FROM business_role WHERE role_no = #{roleNo} </select> <select id="getWarnSendMailAddress" parameterType="map" resultType="com.xujie.sys.modules.pms.data.EamProjectPartInfoData"> SELECT ppp.project_id, ppp.test_part_no, pu.email FROM plm_project_part ppp LEFT JOIN sys_user pu ON LEFT ( ppp.${type}, CHARINDEX( '-', ppp.${type} ) - 1 ) = pu.username WHERE ppp.project_id = #{query.projectId} and ppp.site = #{query.site} and ppp.id = #{query.projectPartId} </select> <select id="getConfirmatorSendMailAddress" resultType="com.xujie.sys.modules.pms.data.EamProjectPartInfoData"> SELECT DISTINCT a.Order_Ref1 as project_id, a.Order_Ref2 as project_part_id, STUFF((SELECT DISTINCT '; ' + b.email FROM plm_project_document_confirm as c LEFT JOIN sys_user as b ON c.userid = b.user_id WHERE c.Site = #{site} and c.Order_Ref1 = #{projectId} and c.Order_Ref2 = #{projectPartId} FOR XML PATH('')), 1, 2, '') as email FROM plm_project_document_confirm as a WHERE a.Site = #{site} and a.Order_Ref1 = #{projectId} and a.Order_Ref2 = #{projectPartId} </select> <select id="searchProjectAllDocumentTask" parameterType="map" statementType="CALLABLE" resultType="com.xujie.sys.modules.pms.data.ProofDocumentData"> {call plm_getdocumentlist(#{site, mode=IN}, #{projectId, mode=IN}, #{projectPartId,mode=IN}, #{proofingId, mode=IN})} </select> <select id="queryEmailByCreateUser" resultType="com.xujie.sys.modules.pms.data.EamProjectPartInfoData"> SELECT a.project_id, a.proofing_no, a.create_by, b.email FROM plm_proofing_information as a LEFT JOIN sys_user as b ON a.create_by = b.username WHERE a.site = #{site} and a.project_id = #{projectId} and a.id = #{proofingId} and a.test_part_id = #{projectPartId} </select> <select id="checkProjectPartInfo" resultType="com.xujie.sys.modules.pms.data.ProofingInformationData"> SELECT * from plm_project_part WHERE project_id = #{projectId} </select> <select id="checkeamProjectId" resultType="com.xujie.sys.modules.pms.data.EamProjectInfoData"> SELECT a.project_no FROM plm_project_info as a WHERE a.id = #{projectId} </select> <select id="eamProjectPartSearch" resultType="com.xujie.sys.modules.pms.data.EamProjectPartInfoData"> SELECT a.*, a.id as projectPartId, b.project_no, b.project_desc, b.bu_no, b.c_project_region, c.customer_desc, d.bu_desc FROM plm_project_part as a LEFT JOIN plm_project_info as b ON a.project_id = b.id 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 b.site = d.site and b.bu_no = d.bu_no <where> <if test="query.projectId != null and query.projectId != ''"> AND ( a.project_id = #{query.projectId} OR a.project_id IN ( SELECT Value FROM CKT_MES_II_REAL.dbo.SplitString(#{query.projectId}, ',') ) ) </if> <if test="query.projectNo != null and query.projectNo != ''"> AND (b.project_no = #{query.projectNo} OR b.project_no IN (SELECT Value FROM CKT_MES_II_REAL.dbo.SplitString(#{query.projectNo}, ','))) </if> <if test="query.projectDesc != null and query.projectDesc != ''"> and b.project_desc like #{query.projectDesc} </if> <if test="query.projectPartId != null and query.projectPartId != ''"> and a.id = #{query.projectPartId} </if> <if test="query.testPartNo != null and query.testPartNo != ''"> AND ( a.test_part_no like #{query.testPartNo} OR a.test_part_no IN ( SELECT Value FROM CKT_MES_II_REAL.dbo.SplitString(#{query.testPartNo}, ',') ) ) </if> <if test="query.partDesc != null and query.partDesc != ''"> and a.part_desc like #{query.partDesc} </if> <if test="query.customerNo != null and query.customerNo != ''"> and a.customer_no = like #{query.customerNo} </if> <if test="query.customerDesc != null and query.customerDesc != ''"> and c.customer_desc = like #{query.customerDesc} </if> <if test="query.buDesc != null and query.buDesc != ''"> AND dbo.get_bu_desc ( b.site, b.bu_no ) = #{query.buDesc} </if> <if test="query.projectCategory != null and query.projectCategory != ''"> and a.project_category = #{query.projectCategory} </if> <if test="query.status != null and query.status != ''"> and a.status = #{query.status} </if> <if test="query.projectManager != null and query.projectManager != ''"> and a.project_manager = #{query.projectManager} </if> <if test="query.projectOwner != null and query.projectOwner != ''"> and a.project_owner = #{query.projectOwner} </if> <if test="query.engineer != null and query.engineer != ''"> and a.engineer = #{query.engineer} </if> <if test="query.cProjectRegion != null and query.cProjectRegion != ''"> and b.c_project_region = #{query.cProjectRegion} </if> <if test="query.finalPartNo != null and query.finalPartNo != ''"> and a.final_part_no = #{query.finalPartNo} </if> <if test="query.startDate != null "> AND a.build_date >= #{query.startDate} </if> <if test="query.endDate != null "> AND #{query.endDate} >= a.build_date </if> <if test="query.massProductionStartDate != null "> AND a.close_date >= #{query.massProductionStartDate} </if> <if test="query.massProductionEndDate != null "> AND #{query.massProductionEndDate} >= a.close_date </if> </where> order by a.id desc </select> <select id="queryEamProjectPart" resultType="com.xujie.sys.modules.pms.data.EamProjectPartInfoData"> SELECT a.*, a.id as projectPartId, b.project_no, b.project_desc, b.bu_no, a.customer_no, b.c_project_region, c.customer_desc, d.bu_desc FROM plm_project_part as a LEFT JOIN plm_project_info as b ON a.project_id = b.id LEFT JOIN plm_customer_information as c ON a.customer_no = c.customer_no and b.site = c.site left join CKT_MES_II_REAL.dbo.BU as d on b.site = d.site and b.bu_no = d.bu_no <where> 1=1 <if test="params.sql != null and params.sql != ''"> ${params.sql} </if> </where> order by a.id desc </select> <select id="checkProjectPartNo" resultType="com.xujie.sys.modules.pms.data.EamProjectPartInfoData"> SELECT a.test_part_no FROM plm_project_part as a WHERE a.site = #{site} and a.project_id = #{projectId} and a.test_part_no = #{testPartNo} and a.id != (case when #{projectPartId} is null then '' else #{projectPartId} end) </select> <select id="checkProjectPartProofing" resultType="com.xujie.sys.modules.pms.data.ProofingInformationData"> SELECT * from plm_proofing_information WHERE project_id = #{projectId} and test_part_id = #{projectPartId} </select> <select id="getFinalPartDesc" resultType="com.xujie.sys.modules.pms.data.EamProjectPartInfoData"> SELECT part_no as final_part_no, part_desc as final_part_desc FROM part WHERE site = #{site} and part_no = #{finalPartNo} </select> <select id="getEmailAddressByUsername" resultType="string"> SELECT email FROM sys_user WHERE username = #{username} </select> <select id="checkConfirmatory" resultType="com.xujie.sys.modules.pms.data.EamProjectInfoData"> SELECT * FROM plm_document_toconfirm_user as a WHERE a.BU = #{buNo} and a.Site = #{site} and a.document_type = '产品文档' and a.userid = #{userid} </select> <select id="searchSopFileList" resultType="com.xujie.sys.modules.oss.entity.SysOssEntity"> SELECT a.sop_name + '.' + SUBSTRING(sop_url, CHARINDEX('.', sop_url) + 1, LEN(sop_url)) as file_name, a.creation_date as create_date, a.created_by as created_by, a.sop_url as url, a.id, '-2' as order_ref3, SUBSTRING(a.sop_url, CHARINDEX('.', a.sop_url) + 1, LEN(a.sop_url)) as file_type FROM part_sop as a <where> <if test="query.id != null and query.id != ''"> a.id = CAST(#{query.id} AS INT) </if> <if test="query.id == null or query.id == ''"> a.order_ref1 = #{query.orderRef1} and a.order_ref4 = #{query.orderRef4} and a.order_ref2 = #{query.orderRef2} and a.order_ref3 = #{query.orderRef3} and a.order_ref5 = #{query.orderRef5} <if test="query.createdBy != null and query.createdBy != ''"> and a.created_by = #{query.createdBy} </if> <if test="query.cAdditionalInfo != null and query.cAdditionalInfo != ''"> and a.c_additional_info = #{query.cAdditionalInfo} </if> <if test="query.fileName != null and query.fileName != ''"> and a.file_name = #{query.fileName} </if> </if> </where> </select> <select id="getEmailsByUsernames" resultType="com.xujie.sys.modules.pms.data.ProofingInformationData"> SELECT email FROM sys_user WHERE site = #{site} AND username IN <foreach item="username" collection="usernames" open="(" separator="," close=")"> #{username} </foreach>
</select> <insert id="saveNewProjectPart" useGeneratedKeys="true" keyProperty="projectPartId"> INSERT INTO plm_project_part ( site, project_id, test_part_no, part_desc, create_date, create_by, final_part_no, project_manager, project_owner, build_date, c_quality_engineer1, c_quality_engineer2, c_quality_engineer3, c_quality_engineer4, c_quality_engineer5, c_quality_engineer6, c_manufacture_engineer, doc_engineer, engineer, status, part_type, priority, project_category, need_date, customer_no ) VALUES ( #{site}, #{projectId}, #{testPartNo}, #{partDesc}, getdate(), #{createBy}, #{finalPartNo}, #{projectManager}, #{projectOwner}, #{buildDate}, #{cQualityEngineer1}, #{cQualityEngineer2}, #{cQualityEngineer3}, #{cQualityEngineer4}, #{cQualityEngineer5}, #{cQualityEngineer6}, #{cManufactureEngineer}, #{docEngineer}, #{engineer}, #{status}, #{partType}, #{priority}, #{projectCategory}, #{needDate}, #{customerNo} ); </insert> <insert id="addConfirmatory"> INSERT INTO plm_document_toconfirm_user (site,BU,document_type,userid,create_date,create_by) VALUES (#{site},#{buNo},'产品文档',#{userid},GETDATE(),#{createBy}) </insert> <update id="eamProjectPartInfoEdit"> UPDATE plm_project_part 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}, 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 WHEN #{closeDate} IS NULL THEN ISNULL(close_date, NULL) ELSE CONVERT(DATE, #{closeDate}) END) WHERE id = #{projectPartId} </update></mapper>
|