You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

96 lines
4.9 KiB

<?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_level,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_projectBaseDesc(project_type_db,'project_type') projectType,
dbo.plm_get_projectBaseDesc(status,'project_status') projectStatusDesc,dbo.plm_get_projectBaseDesc(project_source,'project_source') projectSourceDesc,
dbo.plm_get_customer_desc(site,customer_id) customerName,dbo.plm_get_projectBaseDesc(priority,'project_priority') priorityDesc,need_date,
dbo.get_projectUserRoleName(site,project_id) userRoleName
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 dbo.plm_get_projectBaseDesc(project_type_db,'project_type') like #{query.projectType}
</if>
<if test="query.projectOwnerName != null and query.projectOwnerName != ''">
AND dbo.get_projectTeamName(site,project_id,'ProjectOwner') like '%' + #{query.projectOwnerName} +'%'
</if>
</where>
</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 plm_user_role 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_level,project_type_db,project_name,status,project_source,customer_id,create_by,
create_date,priority,site,project_desc,customer_remark,remark,need_date) values
(#{projectId},#{projectId},#{projectLevel},#{projectTypeDb},#{projectName},#{status},#{projectSource},#{customerId},
#{createBy},GetDate(),#{priority},#{site},#{projectDesc},#{customerRemark},#{remark},#{needDate})
</insert>
<update id="updateProjectInfo">
update plm_project_info set project_level=#{projectLevel}, 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()
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 plm_user_role 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 plm_user_role(site,project_id,username,searchFlag,updateFlag,downFlag,deleteFlag) values
(#{site},#{projectId},#{username},#{searchFlag},#{updateFlag},#{downFlag},#{deleteFlag})
</insert>
</mapper>