|
|
<?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.ProofingInformationMapper"> <insert id="proofingInformationSave"> INSERT INTO plm_proofing_information (site,proofing_no,project_id,test_part_no,customer_no,tracker,engineer,priority_level,proofing_number,plan_start_date,required_delivery_date,remark,technical_considerations,is_need_to_send_samples,send_samples_address,consignee,consignee_contact,proofing_result_information,actuality_send_samples_date,send_samples_method,deliver_goods_information,deliver_goods_remark,actuality_reply_date,confirm_results,confirm_by,confirm_information,proofing_status,proofing_result_status,next_to_do,create_date,create_by,update_date,update_by,approver,step_id,reject_flag,reject_step_id,c_project_type_db,project_phase) VALUES (#{site},#{proofingNo},#{projectId},#{testPartNo},#{customerNo},#{tracker},#{engineer},#{priorityLevel},#{proofingNumber},#{planStartDate},#{requiredDeliveryDate},#{remark},#{technicalConsiderations},#{isNeedToSendSamples},#{sendSamplesAddress},#{consignee},#{consigneeContact},#{proofingResultInformation},#{actualitySendSamplesDate},#{sendSamplesMethod},#{deliverGoodsInformation},#{deliverGoodsRemark},#{actualityReplyDate},#{confirmResults},#{confirmBy},#{confirmInformation},#{proofingStatus},#{proofingResultStatus},#{nextToDo},getDate(),#{createBy},getDate(),#{updateBy},#{approver},#{stepId},#{rejectFlag},#{rejectStepId},#{cProjectTypeDb},#{projectPhase}) </insert>
<update id="updateProofingInfoById"> UPDATE plm_proofing_information SET proofing_number = #{proofingNumber}, plan_start_date = #{planStartDate}, required_delivery_date = #{requiredDeliveryDate}, actuality_delivery_date = #{actualityDeliveryDate}, update_date = getDate(), update_by = #{updateBy}, c_project_type_db = #{cProjectTypeDb}, project_phase = #{projectPhase} WHERE id = #{id} </update> <update id="updateProofingInfoById1"> UPDATE plm_proofing_information SET proofing_number = #{proofingNumber}, plan_start_date = #{planStartDate}, required_delivery_date = #{requiredDeliveryDate}, update_date = getDate(), update_by = #{updateBy}, c_project_type_db = #{cProjectTypeDb}, project_phase = #{projectPhase} WHERE id = #{id} </update> <update id="updateDocumentListUploadedFlag"> UPDATE plm_document_list_definition SET uploaded_flag = 'N' WHERE site = #{site} AND proofing_id = #{proofingId} AND project_id = #{projectId} </update>
<select id="proofingInformationSearch" resultType="com.xujie.sys.modules.pms.data.ProofingInformationData"> SELECT a.id, a.site, a.proofing_no, a.project_id, a.test_part_no, a.customer_no, a.tracker, a.engineer, a.priority_level, a.proofing_number, a.plan_start_date, a.required_delivery_date, a.remark, a.technical_considerations, a.is_need_to_send_samples, a.send_samples_address, a.consignee, a.consignee_contact, a.actuality_delivery_date, a.proofing_result_information, a.actuality_send_samples_date, a.send_samples_method, a.deliver_goods_information, a.deliver_goods_remark, a.actuality_reply_date, a.confirm_results, a.confirm_by, a.confirm_information, a.proofing_status, a.proofing_result_status, a.next_to_do, a.create_date, a.create_by, a.update_date, a.update_by, a.approver, a.step_id, a.reject_flag, a.reject_step_id, a.c_project_type_db, a.project_phase, b.project_category, b.bu_no, b.project_desc, c.customer_desc, d.part_desc FROM plm_proofing_information as a LEFT JOIN plm_project_info as b ON a.project_id = b.project_id and a.site = b.site LEFT JOIN plm_customer_information AS c ON c.customer_no = b.customer_no and c.site = b.site LEFT JOIN plm_project_part AS d ON d.project_id = b.project_id <where> <if test="query.projectId != null and query.projectId != ''"> and a.project_id = #{query.projectId} </if> </where> order by a.create_date desc </select> <select id="getProofDocument" parameterType="map" statementType="CALLABLE" resultType="com.xujie.sys.modules.pms.data.ProofDocumentData"> {call plm_getdocumentlist(#{site, mode=IN}, #{projectId, mode=IN}, #{testPartNo,mode=IN}, #{proofingNo, mode=IN})} </select> <delete id="deleteDocumentType"> DELETE FROM plm_document_list_definition WHERE id = #{documentDefinitionListId} </delete> <delete id="deleteProofingDocument"> DELETE a FROM plm_document_list_definition as a INNER join bu_document_list_definition as b on a.document_type_id = b.document_type_id and a.site = b.site WHERE a.proofing_id = #{proofingNo} and b.project_category = #{cProjectTypeDb} </delete> <delete id="deleteProofingDocument1"> DELETE FROM CKT_MES_II_REAL.dbo.sys_oss WHERE id = #{documentId} </delete> <delete id="deleteProjectDocument"> DELETE a FROM plm_document_list_definition as a INNER join bu_document_list_definition as b on a.document_type_id = b.document_type_id and a.site = b.site WHERE a.proofing_id = '*' and b.project_category = #{projectCategory} and project_id = #{projectId} </delete> <delete id="proofingInformationDelete"> DELETE FROM plm_proofing_information WHERE proofing_no = #{proofingNo} and site = #{site} and project_id = #{projectId} </delete> <delete id="deleteDocumentDefinitionById"> DELETE FROM plm_document_list_definition WHERE id = #{documentDefinitionListId} </delete> <select id="selecProofingOne" resultType="com.xujie.sys.modules.pms.data.ProofingInformationData"> SELECT * FROM plm_proofing_information WHERE id = #{id} </select>
<!-- 查询documentTypeId列表 --> <select id="getDocumentTypeIds" resultType="string" parameterType="com.xujie.sys.modules.pms.data.ProofingInformationData"> SELECT document_type_id FROM bu_document_list_definition WHERE site = #{site} AND bu_no = #{buNo} AND project_category = #{cProjectTypeDb} AND project_phase = 'Sample' </select>
<!-- 查询documentTypeId列表 --> <select id="getProjectDocumentTypeIds" resultType="string" parameterType="com.xujie.sys.modules.pms.data.ProofingInformationData"> SELECT document_type_id FROM bu_document_list_definition WHERE site = #{site} AND bu_no = #{buNo} AND project_category = #{projectCategory} AND project_phase = 'Mass production' </select>
<!-- 检查文档是否存在 --> <select id="documentExists" resultType="boolean" parameterType="map"> SELECT CASE WHEN COUNT(1) > 0 THEN CAST(1 AS BIT) ELSE CAST(0 AS BIT) END FROM plm_document_list_definition WHERE site = #{data.site} AND proofing_id = #{data.proofingNo} AND project_id = #{data.projectId} AND document_type_id = #{documentTypeId} </select>
<!-- 检查文档是否存在 --> <select id="projectDocumentExists" resultType="boolean" parameterType="map"> SELECT CASE WHEN COUNT(1) > 0 THEN CAST(1 AS BIT) ELSE CAST(0 AS BIT) END FROM plm_document_list_definition WHERE site = #{data.site} AND proofing_id = #{data.proofingNo} AND project_id = #{data.projectId} AND document_type_id = #{documentTypeId} </select> <select id="getExtraDocumentList" resultType="com.xujie.sys.modules.pms.data.EamBuDocumentListDefinitionVo"> SELECT a.document_type_id, a.document_type, (SELECT role_desc FROM business_role WHERE role_no = a.responsible_department) AS responsible_department, a.estimated_completion_days FROM document_type_definition as a where a.site = #{query.site} AND a.document_type_id NOT IN ( SELECT document_type_id FROM plm_document_list_definition WHERE site = #{query.site} AND proofing_id = #{query.proofingNo} AND project_id = #{query.projectId} ) <if test="query.documentTypeId != null and query.documentTypeId != ''"> AND a.document_type_id like '%' + #{query.documentTypeId} + '%' </if> <if test="query.documentType != null and query.documentType != ''"> AND a.document_type like '%' + #{query.documentType} + '%' </if> <if test="query.responsibleDepartment != null and query.responsibleDepartment != ''"> AND a.responsible_department like '%' + #{query.responsibleDepartment} + '%' </if> </select> <select id="documentExists1" resultType="java.lang.Boolean"> SELECT CASE WHEN COUNT(1) > 0 THEN CAST(1 AS BIT) ELSE CAST(0 AS BIT) END FROM plm_document_list_definition WHERE site = #{data.site} AND proofing_id = #{data.proofingNo} AND project_id = #{data.projectId} AND document_type_id = #{documentTypeId} </select> <select id="selectProjectList" resultType="com.xujie.sys.modules.pms.data.ProofingInformationData"> SELECT a.*,b.project_category FROM plm_document_list_definition as a left join plm_project_info as b on a.project_id = b.project_id left join bu_document_list_definition as c on a.document_type_id = c.document_type_id WHERE a.project_id = #{projectId} and a.proofing_id = '*' and c.project_phase = 'Mass Production' </select> <select id="searchProjectAllDocument" parameterType="map" statementType="CALLABLE" resultType="com.xujie.sys.modules.pms.data.ProofingInformationData"> {call plm_getdocumentlist(#{site, mode=IN}, #{projectId, mode=IN}, #{testPartNo,mode=IN}, #{proofingNo, mode=IN})} </select> <select id="queryProofingNo" resultType="com.xujie.sys.modules.pms.data.ProofingInformationData"> SELECT * FROM plm_proofing_information WHERE site = #{site} and project_id = #{projectId} and proofing_no = #{proofingNo} </select> <select id="selectProofingDocument" resultType="com.xujie.sys.modules.pms.data.ProofingInformationData"> SELECT c.id FROM sys_oss AS a LEFT JOIN plm_document_list_definition AS b ON CAST ( b.id AS VARCHAR ) = a.order_ref3 LEFT JOIN bu_document_list_definition AS c ON b.document_type_id = c.document_type_id WHERE b.proofing_id = #{proofingNo} and c.project_category = #{cProjectTypeDb} and c.project_phase = 'Sample' </select> <select id="checkProductionConfirmationDocument" resultType="boolean"> SELECT CASE WHEN EXISTS ( SELECT 1 FROM plm_project_document_confirm_file_list AS a WHERE Site = #{site} AND document_type = #{documentType} AND Order_Ref1 = #{OrderRef1} AND document_id = #{documentId} ) THEN 1 ELSE 0 END AS exists_flag </select> <select id="getPendingUploads" resultType="com.xujie.sys.modules.pms.data.ProofDocumentData"> SELECT * FROM view_plm_toupload_list_byUser WHERE status != '草稿' AND uploaded_flag = 'N' AND RelatedPerson = #{userId} order by project_id </select> <select id="getOverdueUploads" resultType="com.xujie.sys.modules.pms.data.ProofDocumentData"> <![CDATA[ SELECT * FROM view_plm_toupload_list_byUser WHERE status != '草稿' AND uploaded_flag = 'N' AND Request_date < GETDATE() AND RelatedPerson = #{userId} order by project_id ]]> </select> <select id="getPendingConfirmations" resultType="com.xujie.sys.modules.pms.data.ProjectProductionValidationDocumentData"> SELECT * FROM view_plm_toproconfirm_list_byUser WHERE status != '草稿' AND confirm_flag = 'N' AND RelatedPerson = #{userId} order by project_id </select> <select id="getOverdueConfirmations" resultType="com.xujie.sys.modules.pms.data.ProjectProductionValidationDocumentData"> <![CDATA[ SELECT * FROM view_plm_toproconfirm_list_byUser WHERE status != '草稿' AND confirm_flag = 'N' AND wanted_confirm_date < GETDATE() AND RelatedPerson = #{userId} order by project_id ]]> </select>
<!-- 插入文档 --> <insert id="insertDocument" parameterType="map"> INSERT INTO plm_document_list_definition (site, proofing_id, project_id, created_by, manual_flag, uploaded_flag, create_date, document_type_id) VALUES (#{data.site}, #{data.proofingNo}, #{data.projectId}, #{data.createBy}, 'N', 'N', getDate(), #{documentTypeId}) </insert>
<!-- 插入文档 --> <insert id="insertProjectDocument" parameterType="map"> INSERT INTO plm_document_list_definition (site, proofing_id, project_id, created_by, manual_flag, uploaded_flag, create_date, document_type_id) VALUES (#{data.site}, #{data.proofingNo}, #{data.projectId}, #{data.createBy}, 'N', 'N', getDate(), #{documentTypeId}) </insert> <insert id="proofingDocumentNEWSave"> INSERT INTO plm_document_list_definition (site,proofing_id,project_id,document_type_id,created_by,manual_flag,uploaded_flag,create_date) VALUES (#{site},#{proofingNo},#{projectId},#{documentTypeId},#{createBy},'Y','N',GETDATE()) </insert></mapper>
|