Browse Source

2025-03-26

master
qiezi 10 months ago
parent
commit
b5fa95a42b
  1. 6
      src/main/java/com/spring/modules/project/dao/ProjectDao.java
  2. 12
      src/main/java/com/spring/modules/project/service/impl/ProjectServiceImpl.java
  3. 52
      src/main/resources/mapper/project/ProjectDao.xml

6
src/main/java/com/spring/modules/project/dao/ProjectDao.java

@ -247,4 +247,10 @@ public interface ProjectDao extends BaseMapper<PlmProjectInfo> {
CustomerInformationVo queryProjectCustomer(PlmProjectInfo project);
CustomerInformationEntity queryProjectFinalCustomer(PlmProjectInfo project);
List<PlmProjectInfoData> selectProjectInfoListSys( @Param("site")String site,
@Param("projectId")String projectId,
@Param("projectName")String projectName,
@Param("username")String username,
@Param("customerId")String customerId);
}

12
src/main/java/com/spring/modules/project/service/impl/ProjectServiceImpl.java

@ -47,7 +47,7 @@ public class ProjectServiceImpl implements ProjectService {
@Override
public PageUtils projectInfoSearch(PlmProjectInfoData inData){
List<Long> list = sysRoleService.findRoleIdByUsername(inData.getUsername(),1);
List<Long> list = sysRoleService.findRoleIdByUsername(inData.getUserName(),1);
// 超级管理员角色 ID 1
// 判断用户是否是超级管理员
if (!list.isEmpty()){
@ -65,7 +65,15 @@ public class ProjectServiceImpl implements ProjectService {
String projectId,
String projectName,
String customerId){
return projectDao.selectProjectInfoList(site,projectId,projectName,customerId);
SysUserEntity user = (SysUserEntity)SecurityUtils.getSubject().getPrincipal();
List<Long> list = sysRoleService.findRoleIdByUsername(user.getUsername(),1);
// 超级管理员角色 ID 1
// 判断用户是否是超级管理员
if (!list.isEmpty()){
return projectDao.selectProjectInfoList(site,projectId,projectName,customerId);
}
return projectDao.selectProjectInfoListSys(site,projectId,projectName,user.getUsername(),customerId);
}
@Override

52
src/main/resources/mapper/project/ProjectDao.xml

@ -104,7 +104,7 @@
<if test="query.projectOwnerName != null and query.projectOwnerName != ''">
AND dbo.get_projectTeamName(site,project_id,'owner') like #{query.projectOwnerName}
</if>
<if test="query.userName != null and query.userName != '' and (query.userName != 'admin' or query.roleId == null) ">
<if test="query.roleId != 1">
AND project_id in ( select project_id from AccessProject where site=#{query.site} and username=#{query.userName} and searchFlag='Y' )
</if>
<if test="query.priority != null and query.priority != ''">
@ -708,4 +708,54 @@ update_by,update_date,priority,site,id,project_desc,customer_remark,remark,need_
left join dbo.plm_customer_information pci on ppi.final_customer_id = pci.customer_no
where ppi.project_id = #{projectId} and ppi.site = #{site}
</select>
<select id="selectProjectInfoListSys" resultType="com.spring.modules.project.data.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,
parent_project_no,
final_customer_id,
dbo.plm_get_dictDataLabel('finalCustomer', final_customer_id, site) finalCustomerName,
productSet
FROM plm_project_info
<where>
AND project_id in ( select project_id from AccessProject where site=#{site} and username=#{username} and searchFlag='Y' )
<if test="site != null and site != ''">
AND site = #{site}
</if>
<if test="projectId != null and projectId != ''">
AND project_id like #{projectId}
</if>
<if test="projectName != null and projectName != ''">
AND project_name like #{projectName}
</if>
<if test="customerId != null and customerId != ''">
AND customer_id like #{customerId}
</if>
</where>
order by LEFT(project_id, CHARINDEX('-', project_id + '-') - 1) desc
</select>
</mapper>
Loading…
Cancel
Save