参数收集清单、未符合项viewer角色下查找数据
This commit is contained in:
+3
@@ -301,4 +301,7 @@ public interface ISysUserService extends IService<SysUser> {
|
|||||||
boolean isRegulationOwner(LoginUser currentUser);
|
boolean isRegulationOwner(LoginUser currentUser);
|
||||||
|
|
||||||
void setBrandAndDutyTerritory(String roles, String dutyTerritories, String brands, List<ProjectUserBrand> projectUserBrandList, List<ProjectUserDutyTerritory> projectUserDutyTerritoryList, String userId);
|
void setBrandAndDutyTerritory(String roles, String dutyTerritories, String brands, List<ProjectUserBrand> projectUserBrandList, List<ProjectUserDutyTerritory> projectUserDutyTerritoryList, String userId);
|
||||||
|
|
||||||
|
boolean isViewer(String userId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+13
@@ -749,4 +749,17 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isViewer(String userId) {
|
||||||
|
boolean boo = false;
|
||||||
|
List<SysRole> roles = sysRoleMapper.getRoleByUserId(userId);
|
||||||
|
if (ObjectUtils.isNotEmpty(roles)) {
|
||||||
|
List<String> roleCodes = roles.stream().map(SysRole::getRoleCode).collect(Collectors.toList());
|
||||||
|
if (ObjectUtils.isNotEmpty(roleCodes) && roleCodes.contains(ProjectRoleEnum.VIEWER.getCode())) {
|
||||||
|
boo = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return boo;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-1
@@ -15,7 +15,8 @@ public enum CollectManifestUserTypeEnum {
|
|||||||
STUDIO("R&H Studio","R&H Studio","studio"),
|
STUDIO("R&H Studio","R&H Studio","studio"),
|
||||||
MANAGER("R&H Manager","R&H Manager","manager"),
|
MANAGER("R&H Manager","R&H Manager","manager"),
|
||||||
ADMIN("系统","Administrator","admin"),
|
ADMIN("系统","Administrator","admin"),
|
||||||
GUEST("游客", "Guest","guest");
|
GUEST("游客", "Guest","guest"),
|
||||||
|
VIEWER("Viewer", "Viewer","viewer");
|
||||||
|
|
||||||
String name;
|
String name;
|
||||||
String enName;
|
String enName;
|
||||||
|
|||||||
+27
-5
@@ -60,10 +60,7 @@ import com.jero.modules.system.entity.SysAnnouncement;
|
|||||||
import com.jero.modules.system.entity.SysDictItem;
|
import com.jero.modules.system.entity.SysDictItem;
|
||||||
import com.jero.modules.system.entity.SysUser;
|
import com.jero.modules.system.entity.SysUser;
|
||||||
import com.jero.modules.system.entity.SysUserRole;
|
import com.jero.modules.system.entity.SysUserRole;
|
||||||
import com.jero.modules.system.service.ISysAnnouncementService;
|
import com.jero.modules.system.service.*;
|
||||||
import com.jero.modules.system.service.ISysDictItemService;
|
|
||||||
import com.jero.modules.system.service.ISysUserRoleService;
|
|
||||||
import com.jero.modules.system.service.ISysUserService;
|
|
||||||
import org.apache.commons.io.FileUtils;
|
import org.apache.commons.io.FileUtils;
|
||||||
import org.apache.commons.lang3.ObjectUtils;
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
@@ -165,6 +162,9 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
|||||||
@Value(value = "${jero.backUrl}")
|
@Value(value = "${jero.backUrl}")
|
||||||
private String backUrl;
|
private String backUrl;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IProjectUserDutyTerritoryService projectUserDutyTerritoryService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存
|
* 保存
|
||||||
*
|
*
|
||||||
@@ -362,7 +362,16 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
|||||||
paramsCollectManifestEO.setDreForAuth(loginUser.getUsername());
|
paramsCollectManifestEO.setDreForAuth(loginUser.getUsername());
|
||||||
}*/ else if ("guest".equals(userTypes)) {
|
}*/ else if ("guest".equals(userTypes)) {
|
||||||
return page;
|
return page;
|
||||||
}
|
} else if (CollectManifestUserTypeEnum.VIEWER.getValue().equals(userTypes)) {
|
||||||
|
List<String> dutyTerritoryList = projectUserDutyTerritoryService.queryDutyTerritoryByUserId(loginUser.getId());
|
||||||
|
queryWrapper.and(q -> {
|
||||||
|
q.eq("sdt", loginUser.getUsername());
|
||||||
|
q.or().eq("dre", loginUser.getUsername());
|
||||||
|
if (ObjectUtils.isNotEmpty(dutyTerritoryList)) {
|
||||||
|
q.or().in("duty_territory", dutyTerritoryList);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
// IPage pageInfo = paramsCollectManifestEOMapper.pageInfo(page, paramsCollectManifestEO); // 查询固定列
|
// IPage pageInfo = paramsCollectManifestEOMapper.pageInfo(page, paramsCollectManifestEO); // 查询固定列
|
||||||
IPage pageInfo = page(page, queryWrapper); // 查询固定列
|
IPage pageInfo = page(page, queryWrapper); // 查询固定列
|
||||||
List<ParamsCollectManifestEO> list = pageInfo.getRecords(); // 查询固定列
|
List<ParamsCollectManifestEO> list = pageInfo.getRecords(); // 查询固定列
|
||||||
@@ -1215,6 +1224,19 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//判断当前用户是否是viewer
|
||||||
|
boolean viewer = sysUserService.isViewer(loginUser.getId());
|
||||||
|
if (viewer) {
|
||||||
|
Map<String, String> map = new HashMap<>();
|
||||||
|
if (CutEnum.CN.getValue().equals(cut)) {
|
||||||
|
map.put("label", CollectManifestUserTypeEnum.VIEWER.getName());
|
||||||
|
} else {
|
||||||
|
map.put("label", CollectManifestUserTypeEnum.VIEWER.getEnName());
|
||||||
|
}
|
||||||
|
map.put("value", CollectManifestUserTypeEnum.VIEWER.getValue());
|
||||||
|
userTypeList.add(map);
|
||||||
|
}
|
||||||
|
|
||||||
return userTypeList;
|
return userTypeList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+3
@@ -14,4 +14,7 @@ import java.util.List;
|
|||||||
public interface NcrTrackMapper extends BaseMapper<NcrTrackVO> {
|
public interface NcrTrackMapper extends BaseMapper<NcrTrackVO> {
|
||||||
|
|
||||||
List<NcrTrackVO> getInfoList(@Param("ncrTrackVO") NcrTrackVO ncrTrackVO);
|
List<NcrTrackVO> getInfoList(@Param("ncrTrackVO") NcrTrackVO ncrTrackVO);
|
||||||
|
|
||||||
|
List<NcrTrackVO> getViewerInfoList(@Param("ncrTrackVO") NcrTrackVO ncrTrackVO,@Param("list") List<String> list);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+52
@@ -93,4 +93,56 @@
|
|||||||
order by pli.create_time desc
|
order by pli.create_time desc
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getViewerInfoList" resultMap="NcrTrackVOResultMap">
|
||||||
|
SELECT
|
||||||
|
pni.project_name,plb.target_market,
|
||||||
|
pli.serial_number,pli.title,pli.duty_territory,pli.create_time,pli.project_library_id,
|
||||||
|
pti.design_flow_task_status,pti.prehomo_flow_task_status,pti.verify_flow_task_status,pti.design_p_id,pti.prehomo_p_id,pti.verify_p_id,pti.id,pti.project_laws_inventory_id,
|
||||||
|
pli.design_initiator_id,pli.design_duty_id,pli.prehomo_initiator_id,pli.prehomo_duty_id,pli.verify_initiator_id,pli.verify_duty_id
|
||||||
|
|
||||||
|
FROM project_task_inventory pti
|
||||||
|
left join project_laws_inventory pli on pti.project_laws_inventory_id = pli.id
|
||||||
|
left join project_library_base plb on plb.id = pli.project_library_id
|
||||||
|
left join project_name_info pni on pni.id = plb.project_name_id
|
||||||
|
left join project_task_inventory_detail ptid on ptid.project_task_inventory_id = pti.project_laws_inventory_id
|
||||||
|
|
||||||
|
where
|
||||||
|
<if test="ncrTrackVO.projectLibraryId != null and ncrTrackVO.projectLibraryId != ''">
|
||||||
|
plb.id =#{ncrTrackVO.projectLibraryId}
|
||||||
|
and
|
||||||
|
</if>
|
||||||
|
<if test="ncrTrackVO.serialNumber != null and ncrTrackVO.serialNumber != ''">
|
||||||
|
pli.serial_number like concat(concat('%',#{ncrTrackVO.serialNumber}),'%')
|
||||||
|
and
|
||||||
|
</if>
|
||||||
|
<if test="ncrTrackVO.title != null and ncrTrackVO.title != ''">
|
||||||
|
pli.title like concat(concat('%',#{ncrTrackVO.title}),'%')
|
||||||
|
and
|
||||||
|
</if>
|
||||||
|
<if test="ncrTrackVO.projectName != null and ncrTrackVO.projectName != ''">
|
||||||
|
pni.project_name =#{ncrTrackVO.projectName}
|
||||||
|
and
|
||||||
|
</if>
|
||||||
|
<if test="ncrTrackVO.initiator != null and ncrTrackVO.initiator != ''">
|
||||||
|
(pli.design_initiator_id =#{ncrTrackVO.initiator} or pli.prehomo_initiator_id =#{ncrTrackVO.initiator} or pli.verify_initiator_id =#{ncrTrackVO.initiator})
|
||||||
|
and
|
||||||
|
</if>
|
||||||
|
<if test="ncrTrackVO.duty != null and ncrTrackVO.duty != ''">
|
||||||
|
(pli.design_duty_id =#{ncrTrackVO.duty} or pli.prehomo_duty_id =#{ncrTrackVO.duty} or pli.verify_duty_id =#{ncrTrackVO.duty})
|
||||||
|
and
|
||||||
|
</if>
|
||||||
|
(
|
||||||
|
design_flow_task_status =#{ncrTrackVO.inconformity} or design_flow_task_status =#{ncrTrackVO.track}
|
||||||
|
or prehomo_flow_task_status =#{ncrTrackVO.inconformity} or prehomo_flow_task_status =#{ncrTrackVO.track}
|
||||||
|
or verify_flow_task_status =#{ncrTrackVO.inconformity} or verify_flow_task_status =#{ncrTrackVO.track}
|
||||||
|
)
|
||||||
|
and pli.duty_territory in
|
||||||
|
<foreach collection="list" index="index" item="item" open="(" close=")" separator=",">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
order by pli.create_time desc
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
+14
-1
@@ -15,6 +15,7 @@ import com.jero.modules.project.vo.NcrTrackInfoVO;
|
|||||||
import com.jero.modules.project.vo.NcrTrackVO;
|
import com.jero.modules.project.vo.NcrTrackVO;
|
||||||
import com.jero.modules.system.entity.SysDictItem;
|
import com.jero.modules.system.entity.SysDictItem;
|
||||||
import com.jero.modules.system.entity.SysUser;
|
import com.jero.modules.system.entity.SysUser;
|
||||||
|
import com.jero.modules.system.service.IProjectUserDutyTerritoryService;
|
||||||
import com.jero.modules.system.service.ISysUserService;
|
import com.jero.modules.system.service.ISysUserService;
|
||||||
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
|
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
|
||||||
import com.jero.modules.wkflow.enums.FlowTypeEnum;
|
import com.jero.modules.wkflow.enums.FlowTypeEnum;
|
||||||
@@ -58,6 +59,8 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
|
|||||||
private ProjectTaskInventoryDetailEOServiceImpl projectTaskInventoryDetailEOService;
|
private ProjectTaskInventoryDetailEOServiceImpl projectTaskInventoryDetailEOService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SysDictItemServiceImpl sysDictItemServiceImpl;
|
private SysDictItemServiceImpl sysDictItemServiceImpl;
|
||||||
|
@Autowired
|
||||||
|
private IProjectUserDutyTerritoryService projectUserDutyTerritoryService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<NcrTrackVO> getPageInfo(NcrTrackVO ncrTrackVO) {
|
public List<NcrTrackVO> getPageInfo(NcrTrackVO ncrTrackVO) {
|
||||||
@@ -84,8 +87,18 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
|
|||||||
//如果当前登录用户是系统管理员角色,可以查看所有的数据
|
//如果当前登录用户是系统管理员角色,可以查看所有的数据
|
||||||
boolean administrator = this.sysUserService.isAdministrator();
|
boolean administrator = this.sysUserService.isAdministrator();
|
||||||
ncrTrackVO.setAdministrator(administrator ? "true":"false");
|
ncrTrackVO.setAdministrator(administrator ? "true":"false");
|
||||||
|
|
||||||
List<NcrTrackVO> infoList = ncrTrackMapper.getInfoList(ncrTrackVO);
|
List<NcrTrackVO> infoList = ncrTrackMapper.getInfoList(ncrTrackVO);
|
||||||
|
//判断是否是viewer
|
||||||
|
boolean viewer = sysUserService.isViewer(loginUser.getId());
|
||||||
|
List<NcrTrackVO> viewerList = null;
|
||||||
|
if (viewer) {
|
||||||
|
List<String> dutyTerritoryList = projectUserDutyTerritoryService.queryDutyTerritoryByUserId(loginUser.getId());
|
||||||
|
viewerList = ObjectUtils.isNotEmpty(dutyTerritoryList) ? ncrTrackMapper.getViewerInfoList(ncrTrackVO, dutyTerritoryList) : new ArrayList<>();
|
||||||
|
}
|
||||||
|
//如果当前登录用户是viewer,查看属于自己责任领域或者自己参与的数据
|
||||||
|
if (!administrator && viewer) {
|
||||||
|
infoList.addAll(viewerList);
|
||||||
|
}
|
||||||
infoList = infoList.stream().distinct().collect(Collectors.toList());
|
infoList = infoList.stream().distinct().collect(Collectors.toList());
|
||||||
List<NcrTrackVO> trackVOList = new ArrayList<>();
|
List<NcrTrackVO> trackVOList = new ArrayList<>();
|
||||||
String designName = "";
|
String designName = "";
|
||||||
|
|||||||
Reference in New Issue
Block a user