|
|
@@ -20,6 +20,7 @@ import com.xunmei.common.core.domain.panel.dto.PanelListDto;
|
|
|
import com.xunmei.common.core.domain.panel.enums.PanelTypeEnums;
|
|
|
import com.xunmei.common.core.domain.panel.vo.PanelListVo;
|
|
|
import com.xunmei.common.core.domain.panel.vo.WebPanelResult;
|
|
|
+import com.xunmei.common.core.enums.OrgTypeEnum;
|
|
|
import com.xunmei.common.core.util.BeanHelper;
|
|
|
import com.xunmei.common.core.utils.DateUtils;
|
|
|
import com.xunmei.common.core.web.page.TableDataInfo;
|
|
|
@@ -349,7 +350,7 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
|
|
|
*/
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public void insertCoreIntroduceLetter(CoreIntroduceLetterAddDto coreIntroduceLetter) {
|
|
|
+ public Long insertCoreIntroduceLetter(CoreIntroduceLetterAddDto coreIntroduceLetter) {
|
|
|
|
|
|
Map<String, Object> map = this.buildEditLetterMap(coreIntroduceLetter);
|
|
|
CoreIntroduceLetter introduceLetter = (CoreIntroduceLetter) map.get("introduceLetter");
|
|
|
@@ -360,6 +361,7 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
|
|
|
coreIntroduceLetterMapper.saveUserList(userList);
|
|
|
coreIntroduceLetterMapper.saveToOrgList(toOrgList);
|
|
|
// coreIntroduceLetterMapper.saveCheckLogs(checkLogs);
|
|
|
+ return introduceLetter.getId();
|
|
|
}
|
|
|
|
|
|
private Map<String, Object> buildEditLetterMap(CoreIntroduceLetterAddDto coreIntroduceLetter) {
|
|
|
@@ -404,6 +406,11 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
|
|
|
user.setCreateTime(date);
|
|
|
user.setCreateBy(username);
|
|
|
}
|
|
|
+ else{
|
|
|
+ user.setLetterId(introduceLetter.getId());
|
|
|
+ user.setCreateTime(date);
|
|
|
+ user.setCreateBy(username);
|
|
|
+ }
|
|
|
userList.add(user);
|
|
|
});
|
|
|
//封装接待机构
|
|
|
@@ -438,42 +445,74 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
|
|
|
.taskType(PanelTypeEnums.VISIT_APPROVE.ordinal()).taskTypeText(PanelTypeEnums.VISIT_APPROVE.getName())
|
|
|
.nums(0).build();
|
|
|
|
|
|
- final List<Long> menu = userService.selectUserRoleMenu(req.getUserId(), SecurityConstants.INNER);
|
|
|
+// final List<Long> menu = userService.selectUserRoleMenu(req.getUserId(), SecurityConstants.INNER);
|
|
|
//web端出入审批按钮权限id
|
|
|
- if (!menu.contains(1722551208603836417L)) {
|
|
|
+// if (!menu.contains(1722551208603836417L)) {
|
|
|
+// result.setNums(0);
|
|
|
+// return result;
|
|
|
+// }
|
|
|
+
|
|
|
+ // 登记出入记录的权限标识
|
|
|
+ String outInRequestEditPermission = "core:outinrequest:edit";
|
|
|
+ // 出入申请审批的权限标识
|
|
|
+ String outInRequestApprovePermission = "core:outinrequest:approve";
|
|
|
+ // 出入状态 :0待审批 1 待登记 2 已完成 3 已拒绝 4 已过期 5已补登
|
|
|
+ List<Integer> outInRequestStatusList = new ArrayList<>();
|
|
|
+ // 有登记出入记录权限
|
|
|
+ if (req.getPermissions().stream().anyMatch(x -> ObjectUtil.equal(x, outInRequestEditPermission))) {
|
|
|
+ outInRequestStatusList.add(1);
|
|
|
+ outInRequestStatusList.add(4);
|
|
|
+ }
|
|
|
+ // 有审核出入申请权限
|
|
|
+ if (req.getPermissions().stream().anyMatch(x -> ObjectUtil.equal(x, outInRequestApprovePermission))) {
|
|
|
+ outInRequestStatusList.add(0);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 没有权限
|
|
|
+ if(outInRequestStatusList.size()==0)
|
|
|
+ {
|
|
|
result.setNums(0);
|
|
|
return result;
|
|
|
}
|
|
|
- final int count = coreIntroduceLetterMapper.selectWebIndexNums(req.getOrgId());
|
|
|
+
|
|
|
+ final int count = coreIntroduceLetterMapper.selectWebIndexNums(req.getOrgId(),outInRequestStatusList);
|
|
|
result.setNums(count);
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<PanelListVo> selectToDoApproveListForAPP(PanelListDto panelListDto) {
|
|
|
+ public List<PanelListVo> selectToDoListForAPP(PanelListDto panelListDto) {
|
|
|
List<PanelListVo> resultList = new ArrayList<>();
|
|
|
- SysRole tempRole =null;
|
|
|
- List<SysRole> cacheRoleList = RedisUtils.getCacheList(CacheConstants.ROLE_CACHE_LIST_KEY);
|
|
|
- if(ObjectUtil.isNotEmpty(cacheRoleList) && cacheRoleList.stream().anyMatch(x->"网点负责人".equals(x.getRoleName())))
|
|
|
- {
|
|
|
- tempRole= cacheRoleList.stream().filter(x->"网点负责人".equals(x.getRoleName())).findFirst().get();
|
|
|
- }
|
|
|
- else {
|
|
|
- tempRole = roleService.getRoleByName("网点负责人", SecurityConstants.INNER);
|
|
|
- }
|
|
|
+ // 登记出入记录的权限标识
|
|
|
+ String outInRequestEditPermission = "core:outinrequest:edit";
|
|
|
+ // 出入申请审批的权限标识
|
|
|
+ String outInRequestApprovePermission = "core:outinrequest:approve";
|
|
|
|
|
|
- SysRole role =tempRole;
|
|
|
// 没有角色
|
|
|
if (ObjectUtil.isEmpty(panelListDto.getRoleIdList())) {
|
|
|
return resultList;
|
|
|
}
|
|
|
- // 没有网点负责人角色
|
|
|
- if (!panelListDto.getRoleIdList().stream().anyMatch(x -> ObjectUtil.equal(x, role.getId()))) {
|
|
|
- return resultList;
|
|
|
- }
|
|
|
CoreIntroduceLetterApproveRequestDto requestDto = new CoreIntroduceLetterApproveRequestDto();
|
|
|
requestDto.setOrgId(panelListDto.getOrgId());
|
|
|
- resultList = coreIntroduceLetterMapper.selectToDoApproveListForAPP(requestDto);
|
|
|
+ // 出入状态 :0待审批 1 待登记 2 已完成 3 已拒绝 4 已过期 5已补登
|
|
|
+ List<Integer> outInRequestStatusList = new ArrayList<>();
|
|
|
+ // 有登记出入记录权限
|
|
|
+ if (panelListDto.getPermissions().stream().anyMatch(x -> ObjectUtil.equal(x, outInRequestEditPermission))) {
|
|
|
+ outInRequestStatusList.add(1);
|
|
|
+ outInRequestStatusList.add(4);
|
|
|
+ }
|
|
|
+ // 有审核出入申请权限
|
|
|
+ if (panelListDto.getPermissions().stream().anyMatch(x -> ObjectUtil.equal(x, outInRequestApprovePermission))) {
|
|
|
+ outInRequestStatusList.add(0);
|
|
|
+ }
|
|
|
+
|
|
|
+ if(outInRequestStatusList.size()==0)
|
|
|
+ {
|
|
|
+ return resultList;
|
|
|
+ }
|
|
|
+ requestDto.setOutInRequestStatusList(outInRequestStatusList);
|
|
|
+ resultList = coreIntroduceLetterMapper.selectToDoListForAPP(requestDto);
|
|
|
+
|
|
|
resultList.forEach(item -> {
|
|
|
item.setType(PanelTypeEnums.VISIT_APPROVE.getCode());
|
|
|
});
|
|
|
@@ -734,26 +773,35 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
|
|
|
if(outInRequestDto.getType()==2) {
|
|
|
//回写介绍信人员
|
|
|
List<CoreIntroduceLetterUserAddDto> fromLetterUserList = outInRequestDto.getUserInfos().stream().filter(x -> x.getLetterUserId() != null).collect(Collectors.toList());
|
|
|
- CoreIntroduceLetterInfoVo coreIntroduceLetterVo = coreIntroduceLetterMapper.selectOneById(outInRequestDto.getLetterId());
|
|
|
- List<CoreIntroduceLetterInfoVo> list = new ArrayList<>();
|
|
|
- list.add(coreIntroduceLetterVo);
|
|
|
- List<CoreIntroduceLetterUserAddDto> letterUserList = coreIntroduceLetterMapper.findUserList(list);
|
|
|
-
|
|
|
- letterUserList.stream().forEach(l -> {
|
|
|
- fromLetterUserList.stream().filter(x -> ObjectUtil.equal(x.getId(), l.getId())).findFirst().ifPresent(x -> {
|
|
|
- l.setUserName(x.getUserName());
|
|
|
- l.setCompanyName(x.getCompanyName());
|
|
|
- l.setIdType(x.getIdType());
|
|
|
- l.setIdCard(x.getIdCard());
|
|
|
+ if(fromLetterUserList.size()>0)
|
|
|
+ {
|
|
|
+ CoreIntroduceLetterInfoVo coreIntroduceLetterVo = coreIntroduceLetterMapper.selectOneById(outInRequestDto.getLetterId());
|
|
|
+ List<CoreIntroduceLetterInfoVo> list = new ArrayList<>();
|
|
|
+ list.add(coreIntroduceLetterVo);
|
|
|
+ List<CoreIntroduceLetterUserAddDto> letterUserList = coreIntroduceLetterMapper.findUserList(list);
|
|
|
+ List<CoreIntroduceLetterUserAddDto> updateLetterUserList = new ArrayList<>();
|
|
|
+ fromLetterUserList.forEach(x->{
|
|
|
+ Optional<CoreIntroduceLetterUserAddDto> first = letterUserList.stream().filter(l -> ObjectUtil.equal(l.getId(), x.getLetterUserId())).findFirst();
|
|
|
+ if(first.isPresent())
|
|
|
+ {
|
|
|
+ //回写历史人员时需要图片,从介绍信人员信息中获取图片,提交登记信息时未从前端传图片信息,此处获取图片
|
|
|
+ x.setImgFile(first.get().getImgFile());
|
|
|
+
|
|
|
+ first.get().setUserName(x.getUserName());
|
|
|
+ first.get().setCompanyName(x.getCompanyName());
|
|
|
+ first.get().setIdType(x.getIdType());
|
|
|
+ first.get().setIdCard(x.getIdCard());
|
|
|
+ updateLetterUserList.add(first.get());
|
|
|
+ }
|
|
|
});
|
|
|
- });
|
|
|
- coreIntroduceLetterMapper.batchUpdateLetterUserList(letterUserList);
|
|
|
+ coreIntroduceLetterMapper.batchUpdateLetterUserList(updateLetterUserList);
|
|
|
+ }
|
|
|
//回写历史人员库
|
|
|
outInHistoryUserService.batchInboundOutInHistory(outInRequestDto.getUserInfos(),outInRequest.getOrgId(),outInRequest.getId());
|
|
|
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
- log.error("同步人员信息到人员历史表、介绍信人员信息 失败{0},{1}",e.getMessage(),e.getStackTrace());
|
|
|
+ log.error("同步人员信息到人员历史表、介绍信人员信息 失败{},{}",e.getMessage(),e.getStackTrace());
|
|
|
}
|
|
|
}
|
|
|
|