|
|
<?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">
<mapper namespace="com.spring.modules.project.dao.ProjectDao">
<select id="projectInfoSearch" parameterType="PlmProjectInfoData" resultType="PlmProjectInfoData"> SELECT project_id,ori_project_id,project_type_db,project_name,status,project_source,customer_id,create_by, create_date,update_by,update_date,priority,site,id,project_desc,customer_remark,remark,dbo.get_projectTeamName(site,project_id,'owner') projectOwnerName ,dbo.get_projectTeamName(site,project_id,'manager') ProjectManagerName,dbo.plm_get_dictDataLabel('project_info_type_db',project_type_db,site) projectType, dbo.plm_get_projectBaseDesc(status,'project_status') projectStatusDesc,dbo.plm_get_dictDataLabel('project_info_source',project_source,site) projectSourceDesc, dbo.plm_get_customer_desc(site,customer_id) customerName,dbo.plm_get_dictDataLabel('project_info_priority',priority,site) priorityDesc,need_date, dbo.get_projectUserRoleName(site,project_id) userRoleName,bu_no,dbo.plm_get_bu_desc(site,bu_no) buDesc,parent_project_no, final_customer_id,dbo.plm_get_customer_desc(site,final_customer_id) finalCustomerName FROM plm_project_info <where> <if test="query.id != null"> AND id = #{query.id} </if> <if test="query.site != null and query.site != ''"> AND site = #{query.site} </if> <if test="query.projectId != null and query.projectId != ''"> AND project_id like #{query.projectId} </if> <if test="query.projectType != null and query.projectType != ''"> AND plm_project_info.project_type_db like #{query.projectType} </if> <if test="query.projectOwnerName != null and query.projectOwnerName != ''"> AND dbo.get_projectTeamName(site,project_id,'ProjectOwner') like '%' + #{query.projectOwnerName} +'%' </if> <if test="query.userName != null and query.userName != '' and query.userName != 'admin'"> AND project_id in ( select project_id from AccessProject where site=#{query.site} and username=#{query.userName} and searchFlag='Y' ) AND bu_no in ( select bu_no from AccessBu where site=#{query.site} and username=#{query.userName}) </if> </where> order by LEFT(project_id, CHARINDEX('-', project_id + '-') - 1) desc</select><select id="checkPlmProjectInfoData" resultType="PlmProjectInfoData"> SELECT project_id,ori_project_id,project_type_db,project_name,status,project_source,customer_id,create_by, create_date,update_by,update_date,priority,site,id,project_desc,customer_remark,remark,dbo.get_projectTeamName(site,project_id,'owner') projectOwnerName ,dbo.get_projectTeamName(site,project_id,'manager') ProjectManagerName,dbo.plm_get_dictDataLabel('project_info_type_db',project_type_db,site) projectType, dbo.plm_get_projectBaseDesc(status,'project_status') projectStatusDesc,dbo.plm_get_dictDataLabel('project_info_source',project_source,site) projectSourceDesc, dbo.plm_get_customer_desc(site,customer_id) customerName,dbo.plm_get_dictDataLabel('project_info_priority',priority,site) priorityDesc,need_date, dbo.get_projectUserRoleName(site,project_id) userRoleName,bu_no,dbo.plm_get_bu_desc(site,bu_no) buDesc,parent_project_no FROM plm_project_info where id=#{id}</select>
<select id="searchOperatorWithSite" resultType="com.spring.modules.project.data.PlmOperatorData"> select operator_id,operator_name from plm_operator <where> and site=#{site} <if test="operatorId != null and operatorId != ''"> AND operator_id like #{operatorId} </if> </where></select>
<select id="searchProjectTeam" resultType="PlmOperatorData"> select b.operator_id,b.operator_name from plm_project_team a left join plm_operator b on a.site=b.site and a.operator_id=b.operator_id where a.site=#{site} AND a.project_id=#{projectId} and b.operator_id is not null and type=#{type}</select><select id="searchProjectTeamStr" resultType="String"> select b.operator_id from plm_project_team a left join plm_operator b on a.site=b.site and a.operator_id=b.operator_id where a.site=#{site} AND a.project_id=#{projectId} and b.operator_id is not null and type=#{type}</select>
<select id="searchUserRoll" resultType="PlmUserRoleData"> select a.username,a.user_display,c.site,c.project_id,isnull(c.searchFlag,'N') searchFlag ,isnull(c.updateFlag,'N') updateFlag,isnull(c.downFlag,'N') downFlag,isnull(c.deleteFlag,'N') deleteFlag from sys_user a left join AccessSite b on a.username=b.UserID left join AccessProject c on a.username=c.username and c.project_id=#{projectId} and c.site=#{site} <where> and b.site=#{site}
</where></select>
<insert id="saveProjectInfo"> insert into plm_project_info (project_id,ori_project_id,project_type_db,project_name,status,project_source,customer_id,create_by, create_date,priority,site,project_desc,customer_remark,remark,need_date,bu_no,parent_project_no,final_customer_id) values (#{projectId},#{projectId},#{projectTypeDb},#{projectName},#{status},#{projectSource},#{customerId}, #{createBy},GetDate(),#{priority},#{site},#{projectDesc},#{customerRemark},#{remark},#{needDate},#{buNo},#{parentProjectNo} ,#{finalCustomerId})
</insert><update id="updateProjectInfo"> update plm_project_info set project_type_db=#{projectTypeDb},project_name=#{projectName},project_source=#{projectSource},status=#{status}, customer_id=#{customerId},priority=#{priority},project_desc=#{projectDesc},customer_remark=#{customerRemark},remark=#{remark},need_date=#{needDate}, update_by=#{updateBy},update_date=GetDate(),bu_no=#{buNo},parent_project_no = #{parentProjectNo},final_customer_id=#{finalCustomerId} where id=#{id}</update><delete id="deletePlmProjectTeam"> delete from plm_project_team where site=${site} and project_id=#{projectId}</delete>
<delete id="deleteUserRoleList"> delete from AccessProject where site=${site} and project_id=#{projectId}</delete>
<insert id="saveProjectTeams"> insert into plm_project_team (site,project_id,operator_id,type) values (#{site},#{projectId},#{operatorId},#{type})</insert>
<insert id="savePlmUserRoleData"> insert into AccessProject(site,project_id,username,searchFlag,updateFlag,downFlag,deleteFlag) values (#{site},#{projectId},#{username},#{searchFlag},#{updateFlag},#{downFlag},#{deleteFlag})</insert>
<select id="getCustomerContactData" resultType="PlmProjectContactData"> select b.site,b.customer_no,b.contact_name,b.contact_landline_number,b.contact_phone_number1,b.contact_phone_number2, b.contact_phone_number3,b.position,b.mailbox,b.primary_contact,b.contact_status,b.remark,b.create_date,b.create_by, b.update_date,b.update_by,b.contact_id,a.customer_id from plm_project_contact a left join plm_customer_contact b on a.site=b.site and a.customer_id=b.customer_no and a.contact_id=b.contact_id where a.site=#{site} and a.project_id=#{projectId} and a.customer_id=#{customerId} and b.contact_status='启用'</select>
<select id="getPlmProjectContactString" resultType="String"> select b.contact_id from plm_project_contact a left join plm_customer_contact b on a.site=b.site and a.customer_id=b.customer_no and a.contact_id=b.contact_id where a.site=#{site} and a.project_id=#{projectId} and a.customer_id=#{customerId} and b.contact_status='启用'</select>
<select id="getCustomerContactString" resultType="PlmProjectContactData"> select contact_id,contact_name from plm_customer_contact where site=#{site} and customer_no=#{customerId} and contact_status='启用'</select>
<!-- <select id="getPlmProjectContactString2" resultType="PlmProjectContactData">--><!-- select--><!-- a.contact_id,--><!-- b.contact_name--><!-- from plm_project_contact a--><!-- left join plm_customer_contact b on a.site = b.site and a.customer_id = b.customer_no and a.contact_id = b.contact_id--><!-- <where>--><!-- a.site = #{site} and a.customer_id = #{customerId} AND b.contact_id is null--><!-- </where>--><!-- </select>-->
<select id="getPlmProjectContactString2" resultType="PlmProjectContactData" parameterType="PlmProjectInfoData"> select a.site, a.contact_id, a.contact_name from plm_customer_contact a left join plm_project_contact b on a.site = b.site and a.customer_no = b.customer_id and a.contact_id = b.contact_id and b.project_id = #{projectId} <where> a.site = #{site} and a.customer_no = #{customerId} AND b.project_id is null <if test = "contactName != null and contactName != ''"> AND a.contact_name LIKE #{contactName} </if> </where> </select>
<select id="getCustomerContactString2" resultType="PlmProjectContactData" parameterType="PlmProjectInfoData"> select b.site, b.contact_id, b.contact_name from plm_project_contact as a left join plm_customer_contact as b on a.site = b.site and a.customer_id = b.customer_no and a.contact_id = b.contact_id where a.project_id = #{projectId} and a.site = #{site} </select>
<select id="checkProjectContact" resultType="PlmProjectContactData" parameterType="ProjectContactData"> select site, project_id, customer_id, contact_id from plm_project_contact where site = #{site} and project_id = #{projectId} and customer_id = #{customerId} and contact_id = #{contactId} </select>
<select id="checkCustomerContact" resultType="PlmProjectContactData" parameterType="ProjectContactData"> SELECT site, customer_no as customerId, contact_id FROM plm_customer_contact where site = #{site} and customer_no = #{customerId} and contact_id = #{contactId} </select>
<insert id="addContact" parameterType="ProjectContactData"> insert into plm_project_contact (site, project_id, customer_id, contact_id) values (#{site}, #{projectId}, #{customerId}, #{contactId}) </insert>
<delete id="deleteContact" parameterType="ProjectContactData"> delete from plm_project_contact where site = #{site} and project_id = #{projectId} and customer_id = #{customerId} and contact_id = #{contactId} </delete>
<delete id="deleteProjectContact"> delete from plm_project_contact where site=#{site} and project_id=#{projectId}</delete>
<insert id="saveProjectContactList"> insert into plm_project_contact (site,project_id,contact_id,customer_id) values (#{site},#{projectId},#{contactId},#{customerId})</insert><delete id="deleteProjectInfo"> delete from plm_project_info where site=#{site} and project_id=#{projectId}</delete><delete id="deleteProjectPart"> delete from plm_project_part where site=#{site} and project_id=#{projectId}</delete><select id="getProjectInfoPartList" resultType="PlmProjectPartData"> select a.id, a.site, a.project_id, a.test_part_no, b.family_id as part_type, b.part_desc, b.remark, b.create_date, b.create_by, b.update_date, b.update_by, dbo.get_family_name(a.site, b.family_id) as partTypeDesc, b.code_no, dbo.get_code_desc(a.site, b.code_no, 'IP') as codeDesc, b.group_id, dbo.get_group_name(a.site, b.group_id) as groupName, b.product_group_id1, dbo.get_product_group_name(a.site, b.product_group_id1, '1') as productGroupName1, b.product_group_id2, dbo.get_product_group_name(a.site, b.product_group_id2, '2') as productGroupName2 from view_Project_Part as a LEFT JOIN part as b on a.site = b.site and a.test_part_no = b.part_no where a.site = #{site} and a.project_id = #{projectId}</select>
<select id="checkProjectInfoPartList" resultType="PlmProjectPartData"> select top 1 id, site, project_id, test_part_no, part_type, part_desc, part_spec, material_number, remark, create_date, create_by, update_date, part_name, update_by, dbo.get_family_name(site, part_type) as partTypeDesc, final_part_no, code_no, dbo.get_code_desc(site, code_no, 'IP') as codeDesc, group_id, dbo.get_group_name(site, group_id) as groupName, product_group_id1, dbo.get_product_group_name(site, product_group_id1, '1') as productGroupName1, product_group_id2, dbo.get_product_group_name(site, product_group_id2, '2') as productGroupName2 from view_Project_Part where site=#{site} and test_part_no=#{testPartNo}</select><select id="getTestPartNo" resultType="String"> select top 1 #{projectId}+'-'+ Right( '0000'+ convert(VARCHAR(10), isnull(max(convert(INT,RIGHT(test_part_no, 4))),0)+1) ,4) from view_Project_Part where site=#{site} and project_id=#{projectId}</select><insert id="saveProjectPart"> insert into plm_project_part (site,project_id, test_part_no, part_type, part_desc, part_spec, material_number, remark, create_date, create_by, part_name, code_no, group_id, product_group_id1, product_group_id2) values (#{site}, #{projectId}, #{testPartNo}, #{partType}, #{partDesc}, #{partSpec}, #{materialNumber}, #{remark}, GetDate(), #{username}, #{partName}, #{codeNo}, #{groupId}, #{productGroupId1}, #{productGroupId2})</insert><update id="updateProjectPart"> update plm_project_part set part_type=#{partType}, part_desc=#{partDesc}, part_spec=#{partSpec}, material_number=#{materialNumber}, remark=#{remark}, update_date=GetDate(), update_by=#{username}, part_name=#{partName}, code_no=#{codeNo}, group_id = #{groupId}, product_group_id1 = #{productGroupId1}, product_group_id2 = #{productGroupId2} where id=#{id}</update>
<delete id="deleteProjectPartWithId"> delete from plm_project_part where id=#{id}</delete>
<select id="getPlmToolPurchaseRequestDataByProject" resultType="PlmToolPurchaseRequestData"> select id,site,order_no,test_part_no,project_id,tool_id,type,reason,tool_offset,qty,party_a,supplier_id,price,tool_cost, all_cost,IFS_PR_No,po_number,remark,create_by,create_date,update_by,update_date,planner,applicant,dbo.get_userDisPlay(applicant) applicantName, dbo.get_userDisPlay(planner) plannerName,dbo.plm_get_test_part_name(site,test_part_no) partName ,status ,dbo.plm_get_projectBaseDesc(status,'purchaseRequest_status') statusDesc from plm_tool_purchase_request where site=${site} and project_id=#{projectId}</select>
<insert id="savePlmToolPurchaseRequestData"> insert into plm_tool_purchase_request (site,order_no,test_part_no,project_id,tool_id,type,status,reason,tool_offset,qty,party_a,supplier_id,price,tool_cost, all_cost,IFS_PR_No,po_number,remark,create_by,create_date,planner,applicant) values (#{site},#{orderNo},#{testPartNo},#{projectId},#{toolId},#{type},#{status},#{reason},#{toolOffset},#{qty},#{partyA},#{supplierId},${price},#{toolCost}, #{allCost},#{ifsPrNo},#{poNumber},#{remark},#{username},GetDate(),#{planner},#{applicant})</insert>
<select id="searchBIAddress" resultType="BiAddress"> select top 1 menu_id ,address from BI_Address where menu_id=#{menuId}</select>
<select id="getProjectUserRole" resultType="PlmUserRoleData"> select site,project_id,username,searchFlag,updateFlag,downFlag,deleteFlag from AccessProject where site=#{site} and project_id=#{projectId} and username=#{username}
</select>
<select id="getProjectPartList" resultType="com.spring.modules.project.data.PlmProjectPartData"> select id, site, project_id, test_part_no, part_type, part_desc, part_spec, material_number, remark, create_date, create_by, update_date, part_name, update_by, dbo.get_family_name(site, part_type) as partTypeDesc, final_part_no, code_no, dbo.get_code_desc(site, code_no, 'IP') as codeDesc, group_id, dbo.get_group_name(site, group_id) as groupName, product_group_id1, dbo.get_product_group_name(site, product_group_id1, '1') as productGroupName1, product_group_id2, dbo.get_product_group_name(site, product_group_id2, '2') as productGroupName2, um_id,type from view_Project_Part where site=#{site} <if test="testPartNo != null and testPartNo != ''"> and test_part_no like #{testPartNo} </if> <if test="partDesc != null and partDesc != ''"> and part_desc like #{partDesc} </if> <if test="projectId != null and projectId != ''"> and project_id = #{projectId} and view_Project_Part.project_id = #{projectId} </if></select> <select id="getProjectPart" resultType="com.spring.modules.project.data.PlmProjectPartData"> select id, site, project_id, test_part_no, part_type, part_desc, part_spec, material_number, remark, create_date, create_by, update_date, part_name, update_by, dbo.get_family_name(site, part_type) as partTypeDesc, final_part_no, code_no, dbo.get_code_desc(site, code_no, 'IP') as codeDesc, group_id, dbo.get_group_name(site, group_id) as groupName, product_group_id1, dbo.get_product_group_name(site, product_group_id1, '1') as productGroupName1, product_group_id2, dbo.get_product_group_name(site, product_group_id2, '2') as productGroupName2 from view_Project_Part where site=#{site} <if test="testPartNo != null and testPartNo != ''"> and test_part_no = #{testPartNo} </if> </select>
<select id="getProjectData" resultType="com.spring.modules.project.entity.PlmProjectInfo"> select project_id,ori_project_id,project_type_db,project_name,status,project_source,customer_id,create_by,create_date,update_by,update_date,priority,site,id,project_desc,customer_remark,remark,need_date,bu_no,parent_project_no,final_customer_id from plm_project_info where site=#{site} and project_id=#{projectId} </select></mapper>
|