|
@@ -89,24 +89,45 @@ public class SceneService implements ISceneService {
|
|
|
return listAll;
|
|
|
}
|
|
|
|
|
|
+ @Autowired
|
|
|
+ ITmUserRoleService tmUserRoleService;
|
|
|
+ @Autowired
|
|
|
+ ITmRoleService tmRoleService;
|
|
|
+
|
|
|
@Override
|
|
|
public PageInfo pageList(ScenePram param) {
|
|
|
if (param.getType() == null) {
|
|
|
throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
|
|
|
}
|
|
|
- if (StringUtils.isBlank(param.getShare()) && StringUtils.isNotBlank(StpUtil.getTokenValue())) {
|
|
|
+ Boolean hasSon = false;
|
|
|
+ if (StringUtils.isBlank(param.getShare()) && StringUtils.isNotBlank(StpUtil.getTokenValue()) && StringUtils.isBlank(param.getDeptId())) {
|
|
|
+ TmUser loginUser = tmUserService.getLoginUser();
|
|
|
+ TmRole byUserId = tmRoleService.getByUserId(loginUser.getId());
|
|
|
+ if(!byUserId.getRoleKey().equals("admin-ordinary")){
|
|
|
+ hasSon = true;
|
|
|
+ }
|
|
|
param.setDeptId(tmUserService.getLoginUser().getDeptId());
|
|
|
}
|
|
|
if (param.getCaseId() != null) {
|
|
|
+ hasSon = false;
|
|
|
String deptId = caseService.getDeptId(param.getCaseId());
|
|
|
param.setDeptId(deptId);
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(param.getDeptId())) {
|
|
|
- List<TmDepartment> sonByDeptId = tmDepartmentService.getSonByDeptId(param.getDeptId());
|
|
|
- List<String> deptIds = sonByDeptId.stream().map(TmDepartment::getId).collect(Collectors.toList());
|
|
|
+ List<String> deptIds = new ArrayList<>();
|
|
|
+ if(hasSon){
|
|
|
+ List<TmDepartment> sonByDeptId = tmDepartmentService.getSonByDeptId(param.getDeptId());
|
|
|
+ deptIds = sonByDeptId.stream().map(TmDepartment::getId).collect(Collectors.toList());
|
|
|
+ }
|
|
|
deptIds.add(param.getDeptId());
|
|
|
List<TmUser> byDeptIds = tmUserService.getByDeptIds(deptIds);
|
|
|
+ if(byDeptIds.isEmpty()){
|
|
|
+ return PageInfo.PageInfo(new Page<>(param.getPageNum(),param.getPageSize()));
|
|
|
+ }
|
|
|
List<String> userNames = byDeptIds.stream().map(TmUser::getUserName).collect(Collectors.toList());
|
|
|
+ if(userNames.isEmpty()){
|
|
|
+ return PageInfo.PageInfo(new Page<>(param.getPageNum(),param.getPageSize()));
|
|
|
+ }
|
|
|
param.setUserNames(userNames);
|
|
|
}
|
|
|
if((param.getType() == 2 || param.getType() == 5) && StringUtils.isNotBlank(param.getSceneName())){
|
|
@@ -148,7 +169,13 @@ public class SceneService implements ISceneService {
|
|
|
|
|
|
List<String> userNameList = sceneVoPage.getRecords().stream().map(Model::getUserName).collect(Collectors.toList());
|
|
|
HashMap<String, TmDepartment> map = tmUserService.getMapByUserNames(userNameList);
|
|
|
+ HashMap<String, TmUser> mapUser = tmUserService.getUserMapByUserNames(userNameList);
|
|
|
for (SceneVo sceneVo : sceneVoPage.getRecords()) {
|
|
|
+ TmUser tmUser = mapUser.get(sceneVo.getUserName());
|
|
|
+ if(tmUser != null){
|
|
|
+ sceneVo.setNickName(tmUser.getNickName());
|
|
|
+ }
|
|
|
+
|
|
|
TmDepartment tmDepartment = map.get(sceneVo.getUserName());
|
|
|
if (tmDepartment != null) {
|
|
|
sceneVo.setDeptId(tmDepartment.getId());
|
|
@@ -283,7 +310,7 @@ public class SceneService implements ISceneService {
|
|
|
}
|
|
|
fdService.deleteNum(num);
|
|
|
}
|
|
|
- if(StringUtils.isBlank(num) && uploadId != null){
|
|
|
+ if( uploadId != null){
|
|
|
UploadChunk uploadChunk = uploadChunkService.getById(uploadId);
|
|
|
if(uploadChunk != null){
|
|
|
uploadChunkService.removeById(uploadId);
|
|
@@ -306,8 +333,17 @@ public class SceneService implements ISceneService {
|
|
|
if(StringUtils.isEmpty(param.getNum())){
|
|
|
throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
|
|
|
}
|
|
|
+ ScenePlus byNum = scenePlusService.getByNum(param.getNum());
|
|
|
+ Integer sourceId = null;
|
|
|
+ if(byNum.getSourceId() != null){
|
|
|
+ UploadChunk uploadChunk = uploadChunkService.getById(byNum.getSourceId());
|
|
|
+ uploadChunk.setId(null);
|
|
|
+ uploadChunk.setTitle(uploadChunk.getTitle() +"(copy)");
|
|
|
+ uploadChunkService.save(uploadChunk);
|
|
|
+ sourceId = uploadChunk.getId();
|
|
|
+ }
|
|
|
|
|
|
- fdService.copyScene(param.getNum());
|
|
|
+ fdService.copyScene(param.getNum(),sourceId);
|
|
|
}
|
|
|
|
|
|
}
|