|
|
@@ -30,6 +30,7 @@ import com.xunmei.core.letter.mapper.CoreIntroduceLetterOutInRequestMapper;
|
|
|
import com.xunmei.core.letter.mapper.CoreIntroduceLetterMapper;
|
|
|
import com.xunmei.core.letter.mapper.CoreIntroduceLetterOutInRequestUserMapper;
|
|
|
import com.xunmei.core.letter.mapper.CoreOutInRecordMapper;
|
|
|
+import com.xunmei.core.letter.service.ICoreIntroduceLetterOutInRequestUserService;
|
|
|
import com.xunmei.core.letter.service.ICoreIntroduceLetterService;
|
|
|
import com.xunmei.system.api.RemoteOrgService;
|
|
|
import com.xunmei.system.api.RemoteRoleService;
|
|
|
@@ -66,6 +67,9 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
|
|
|
@Autowired
|
|
|
private CoreIntroduceLetterOutInRequestUserMapper outInRequestUserMapper;
|
|
|
|
|
|
+ @Resource
|
|
|
+ ICoreIntroduceLetterOutInRequestUserService outInRequestUserService;
|
|
|
+
|
|
|
@Autowired
|
|
|
private RemoteRoleService roleService;
|
|
|
@Autowired
|
|
|
@@ -86,18 +90,52 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
|
|
|
// if (ObjectUtil.isNotNull(request.getRequestFromWeb()) && request.getRequestFromWeb() ) {
|
|
|
// request.setType(1);
|
|
|
// }
|
|
|
- if (ObjectUtil.equal(request.getRequestFromWeb(), true)) {
|
|
|
+ // Web 端查詢
|
|
|
+ if (ObjectUtil.equal(request.getRequestFromWeb(), true)) {
|
|
|
//获取数据
|
|
|
page = coreIntroduceLetterMapper.selectPageList(page, request);
|
|
|
- } else {
|
|
|
- page = coreIntroduceLetterMapper.selectPageListForApp(page, request);
|
|
|
- }
|
|
|
+ if (CollectionUtils.isNotEmpty(page.getRecords())) {
|
|
|
+ List<SysOrg> orgList = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.findAllOrg(SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
|
|
|
|
|
|
+ page = this.buildPageVo(page, orgList);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // APP 端查詢
|
|
|
+ else {
|
|
|
+ page = coreIntroduceLetterMapper.selectPageListForApp(page, request);
|
|
|
+ if(CollectionUtils.isNotEmpty(page.getRecords())){
|
|
|
+ List<Long> letterIds = page.getRecords().stream().map(CoreIntroduceLetterVo::getId).collect(Collectors.toList());
|
|
|
+ List<CoreIntroduceLetterUserVo> coreIntroduceLetterUserVos = coreIntroduceLetterMapper.selectLetterUsers(letterIds);
|
|
|
+
|
|
|
+ // 获取最近3条出入记录
|
|
|
+ List<CoreIntroduceLetterOutInRequestVo> coreIntroduceLetterOutInRequestVos = coreIntroduceLetterMapper.selectOutInRequestByLetterIds(page.getRecords().stream().map(CoreIntroduceLetterVo::getId).collect(Collectors.toList()), request.getOutInRequestStatus(),request.getOrgId());
|
|
|
+ if(CollectionUtils.isNotEmpty(coreIntroduceLetterOutInRequestVos)){
|
|
|
+ coreIntroduceLetterOutInRequestVos.forEach(x-> {
|
|
|
+ List<String> names = x.getUserInfos().stream().map(CoreIntroduceLetterOutInRequestUser::getUserName).filter(name -> name != null && !name.trim().isEmpty()).collect(Collectors.toList());
|
|
|
+ if(names.size()>0)
|
|
|
+ {
|
|
|
+ if(names.size() ==x.getUserInfos().size())
|
|
|
+ {
|
|
|
+ x.setUserNames(names.stream().collect(Collectors.joining(",")));
|
|
|
+ }
|
|
|
+ else if (names.size()>0 && names.size()<x.getUserInfos().size()){
|
|
|
+ x.setUserNames(names.stream().collect(Collectors.joining(",")) + " 等"+x.getUserInfos().size()+"人");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ x.setUserNames("待登记后显示");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
|
|
|
- if (CollectionUtils.isNotEmpty(page.getRecords())) {
|
|
|
- List<SysOrg> orgList = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.findAllOrg(SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
|
|
|
- page = this.buildPageVo(page, orgList);
|
|
|
+ page.getRecords().forEach(x-> {
|
|
|
+ x.setRecentOutInRequestRecords(coreIntroduceLetterOutInRequestVos.stream().filter(y -> ObjectUtil.equal(y.getLetterId(), x.getId())).collect(Collectors.toList()));
|
|
|
+ x.setUserInfos(coreIntroduceLetterUserVos.stream().filter(y -> ObjectUtil.equal(y.getLetterId(), x.getId())).collect(Collectors.toList()));
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
//抓换为TableDataInfo适配前端
|
|
|
return TableDataInfo.build(page);
|
|
|
|
|
|
@@ -131,6 +169,56 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public TableDataInfo<CoreIntroduceLetterOutInRequestVo> selectOntInRequestListPage(CoreIntroduceLetterApproveRequestDto requestDto) {
|
|
|
+
|
|
|
+ Page<CoreIntroduceLetterOutInRequestVo> page;
|
|
|
+ //分页
|
|
|
+ if (requestDto.getPageNum() != null && requestDto.getPageSize() != null) {
|
|
|
+ page = new Page<>(requestDto.getPageNum(), requestDto.getPageSize());
|
|
|
+ } else {
|
|
|
+ page = new Page<>();
|
|
|
+ }
|
|
|
+ //获取数据
|
|
|
+ page = coreIntroduceLetterMapper.selectOntInRequestListPage(page, requestDto);
|
|
|
+ if (CollectionUtils.isNotEmpty(page.getRecords())) {
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ //获取人员信息
|
|
|
+ final LambdaQueryWrapper<CoreIntroduceLetterOutInRequestUser> oqw = new LambdaQueryWrapper<CoreIntroduceLetterOutInRequestUser>();
|
|
|
+ oqw.in(CoreIntroduceLetterOutInRequestUser::getOutInRequestId, page.getRecords().stream().map(x->x.getId()).collect(Collectors.toList()));
|
|
|
+ List<CoreIntroduceLetterOutInRequestUser> userList = outInRequestUserMapper.selectList(oqw);
|
|
|
+ Map<Long, List<CoreIntroduceLetterOutInRequestUser>> userListMap = userList.stream().collect(Collectors.groupingBy(CoreIntroduceLetterOutInRequestUser::getOutInRequestId));
|
|
|
+
|
|
|
+
|
|
|
+ page.getRecords().stream().forEach(vo -> {
|
|
|
+ vo.setLetterFile(ObjectUtil.isNotEmpty(vo.getLetterFileStr()) ? JSON.parseArray(vo.getLetterFileStr(), String.class) : null);
|
|
|
+ if (CollectionUtils.isNotEmpty(userListMap) && userListMap.containsKey(vo.getId())) {
|
|
|
+ vo.setUserInfos(userListMap.get(vo.getId()));
|
|
|
+
|
|
|
+ List<String> names = userListMap.get(vo.getId()).stream().map(CoreIntroduceLetterOutInRequestUser::getUserName).filter(name -> name != null && !name.trim().isEmpty()).collect(Collectors.toList());
|
|
|
+ if(names.size()>0)
|
|
|
+ {
|
|
|
+ if(names.size() ==vo.getUserInfos().size())
|
|
|
+ {
|
|
|
+ vo.setUserNames(names.stream().collect(Collectors.joining(",")));
|
|
|
+ }
|
|
|
+ else if (names.size()>0 && names.size()<vo.getUserInfos().size()){
|
|
|
+ vo.setUserNames(names.stream().collect(Collectors.joining(",")) + " 等"+vo.getUserInfos().size()+"人");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ vo.setUserNames("待登记后显示");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ //抓换为TableDataInfo适配前端
|
|
|
+ return TableDataInfo.build(page);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public List<CoreIntroduceLetterCheckLogVo> auditAllList(Long id) {
|
|
|
return coreIntroduceLetterMapper.auditAllList(id);
|
|
|
}
|
|
|
@@ -153,8 +241,18 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
|
|
|
outInRequest.setApproveTime(new Date());
|
|
|
outInRequest.setApproveUser(SecurityUtils.getUsername());
|
|
|
outInRequest.setApproveUserId(SecurityUtils.getUserId());
|
|
|
+ if(outInRequest.getApproveStatus() ==1)
|
|
|
+ {
|
|
|
+ outInRequest.setStatus(1);
|
|
|
+ }
|
|
|
+ else if(outInRequest.getApproveStatus() ==2)
|
|
|
+ {
|
|
|
+ outInRequest.setStatus(3);
|
|
|
+ }
|
|
|
coreIntroduceLetterMapper.approveLetter(outInRequest);
|
|
|
- coreOutInRecordMapper.updateCoreOutInRecordStatus(outInRequest.getApproveStatus(),outInRequest.getId());
|
|
|
+
|
|
|
+ // 出入记录表已废弃
|
|
|
+ //coreOutInRecordMapper.updateCoreOutInRecordStatus(outInRequest.getApproveStatus(),outInRequest.getId());
|
|
|
|
|
|
}
|
|
|
|
|
|
@@ -303,7 +401,7 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
|
|
|
});
|
|
|
//封装接待机构
|
|
|
List<CoreIntroduceLetterToOrg> toOrgList = new ArrayList<>();
|
|
|
- List<CoreIntroduceLetterOutInRequest> checkLogs = new ArrayList<>();
|
|
|
+// List<CoreIntroduceLetterOutInRequest> checkLogs = new ArrayList<>();
|
|
|
List<Long> orgIds = coreIntroduceLetter.getReceptionOrgIds();
|
|
|
orgIds.forEach(r -> {
|
|
|
CoreIntroduceLetterToOrg toOrg = new CoreIntroduceLetterToOrg();
|
|
|
@@ -311,18 +409,18 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
|
|
|
toOrg.setOrgId(r);
|
|
|
toOrgList.add(toOrg);
|
|
|
|
|
|
- CoreIntroduceLetterOutInRequest checkLog = new CoreIntroduceLetterOutInRequest();
|
|
|
- checkLog.setId(IdWorker.getId());
|
|
|
- checkLog.setOrgId(r);
|
|
|
- checkLog.setLetterId(introduceLetter.getId());
|
|
|
- checkLog.setApproveStatus(0);
|
|
|
- checkLogs.add(checkLog);
|
|
|
+// CoreIntroduceLetterOutInRequest checkLog = new CoreIntroduceLetterOutInRequest();
|
|
|
+// checkLog.setId(IdWorker.getId());
|
|
|
+// checkLog.setOrgId(r);
|
|
|
+// checkLog.setLetterId(introduceLetter.getId());
|
|
|
+// checkLog.setApproveStatus(0);
|
|
|
+// checkLogs.add(checkLog);
|
|
|
});
|
|
|
|
|
|
objectMap.put("introduceLetter", introduceLetter);
|
|
|
objectMap.put("userList", userList);
|
|
|
objectMap.put("toOrgList", toOrgList);
|
|
|
- objectMap.put("checkLogs", checkLogs);
|
|
|
+// objectMap.put("checkLogs", checkLogs);
|
|
|
return objectMap;
|
|
|
}
|
|
|
|
|
|
@@ -518,7 +616,8 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
|
|
|
outInRequest.setEndTime(coreIntroduceLetterVo.getEndTime());
|
|
|
outInRequest.setEffectiveDays(coreIntroduceLetterVo.getEffectiveDays());
|
|
|
|
|
|
-
|
|
|
+ outInRequest.setStatus(0);
|
|
|
+ outInRequest.setCheckSign(outInRequestDto.getCheckSign());
|
|
|
outInRequest.setDeleted(0);
|
|
|
outInRequest.setApproveStatus(0);
|
|
|
outInRequest.setCreateTime(date);
|
|
|
@@ -528,7 +627,7 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
|
|
|
//封装人员信息
|
|
|
// List<CoreIntroduceLetterUserAddDto> userAddVoList = outInRequestDto.getUserInfos();
|
|
|
List<CoreIntroduceLetterOutInRequestUser> outInRequestUserList = new ArrayList<>();
|
|
|
- List<CoreOutInRecord> outInRecordList = new ArrayList<>();
|
|
|
+// List<CoreOutInRecord> outInRecordList = new ArrayList<>();
|
|
|
outInRequestDto.getUserInfos().forEach(r -> {
|
|
|
CoreIntroduceLetterOutInRequestUser user = new CoreIntroduceLetterOutInRequestUser();
|
|
|
final Optional<CoreIntroduceLetterUserAddDto> first = letterUserList.stream().filter(x -> ObjectUtil.equal(x.getId(), r.getId())).findFirst();
|
|
|
@@ -542,28 +641,105 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
|
|
|
}
|
|
|
|
|
|
user.setId(IdWorker.getId());
|
|
|
+ // 用于回写人员信息到介绍信
|
|
|
+ user.setLetterUserId(r.getId());
|
|
|
user.setOutInRequestId(outInRequest.getId());
|
|
|
user.setCreateTime(date);
|
|
|
user.setCreateBy(SecurityUtils.getUsername());
|
|
|
outInRequestUserList.add(user);
|
|
|
|
|
|
- CoreOutInRecord coreOutInRecord=new CoreOutInRecord();
|
|
|
- coreOutInRecord.setId(IdWorker.getId());
|
|
|
- coreOutInRecord.setOutInRequestId(outInRequest.getId());
|
|
|
- coreOutInRecord.setOutInRequestUserId(user.getId());
|
|
|
- coreOutInRecord.setOrgId(SecurityUtils.getLoginUser().getOrgId());
|
|
|
- coreOutInRecord.setStatus(0);
|
|
|
- coreOutInRecord.setOutInRequestEffectiveStartTime(date);
|
|
|
- coreOutInRecord.setOutInRequestEffectiveEndTime(DateUtil.endOfDay(date));
|
|
|
- coreOutInRecord.setCreateTime(DateUtils.getNowDate());
|
|
|
- coreOutInRecord.setCreateBy(SecurityUtils.getUsername());
|
|
|
-
|
|
|
- outInRecordList.add(coreOutInRecord);
|
|
|
+// CoreOutInRecord coreOutInRecord=new CoreOutInRecord();
|
|
|
+// coreOutInRecord.setId(IdWorker.getId());
|
|
|
+// coreOutInRecord.setOutInRequestId(outInRequest.getId());
|
|
|
+// coreOutInRecord.setOutInRequestUserId(user.getId());
|
|
|
+// coreOutInRecord.setOrgId(SecurityUtils.getLoginUser().getOrgId());
|
|
|
+// coreOutInRecord.setStatus(0);
|
|
|
+// coreOutInRecord.setOutInRequestEffectiveStartTime(date);
|
|
|
+// coreOutInRecord.setOutInRequestEffectiveEndTime(DateUtil.endOfDay(date));
|
|
|
+// coreOutInRecord.setCreateTime(DateUtils.getNowDate());
|
|
|
+// coreOutInRecord.setCreateBy(SecurityUtils.getUsername());
|
|
|
+
|
|
|
+// outInRecordList.add(coreOutInRecord);
|
|
|
});
|
|
|
|
|
|
outInRequestMapper.insert(outInRequest);
|
|
|
coreIntroduceLetterMapper.saveOutInRequestUserList(outInRequestUserList);
|
|
|
- coreOutInRecordMapper.saveOutInRecordList(outInRecordList);
|
|
|
+// coreOutInRecordMapper.saveOutInRecordList(outInRecordList);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void deleteOutInRequest(Long outInRequestId) {
|
|
|
+ CoreIntroduceLetterOutInRequest outInRequest = outInRequestMapper.selectById(outInRequestId);
|
|
|
+ outInRequest.setDeleted(1);
|
|
|
+ outInRequestMapper.updateById(outInRequest);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void updateOutInRequest(CoreIntroduceLetterUpdateOutInRequestDto outInRequestDto) {
|
|
|
+ // 更新出入申请信息
|
|
|
+ CoreIntroduceLetterOutInRequest outInRequest = outInRequestMapper.selectById(outInRequestDto.getId());
|
|
|
+ if(outInRequest.getStatus()==2)
|
|
|
+ {
|
|
|
+ throw new RuntimeException("更新失败,当前出入记录已登记,请勿重复操作");
|
|
|
+ }
|
|
|
+
|
|
|
+ outInRequest.setLetterReasons(outInRequestDto.getLetterReasons());
|
|
|
+ outInRequest.setAccompanyingPerson(outInRequestDto.getAccompanyingPerson());
|
|
|
+ outInRequest.setRemark(outInRequestDto.getRemark());
|
|
|
+ outInRequest.setRemarkImage(outInRequestDto.getRemarkImage());
|
|
|
+ outInRequest.setUpdateTime(new Date());
|
|
|
+ outInRequest.setUpdateBy(SecurityUtils.getUsername());
|
|
|
+
|
|
|
+ if(outInRequestDto.getType()==2)
|
|
|
+ {
|
|
|
+ outInRequest.setStatus(2);
|
|
|
+ }
|
|
|
+
|
|
|
+ outInRequestMapper.updateById(outInRequest);
|
|
|
+
|
|
|
+ // 更新介绍信信息
|
|
|
+ CoreIntroduceLetter letter = coreIntroduceLetterMapper.selectById(outInRequestDto.getLetterId());
|
|
|
+ letter.setReasons(outInRequestDto.getLetterReasons());
|
|
|
+ coreIntroduceLetterMapper.updateById(letter);
|
|
|
+
|
|
|
+ // 更新人员信息
|
|
|
+ List<CoreIntroduceLetterOutInRequestUser> users = outInRequestUserService.listByIds(outInRequestDto.getUserInfos().stream().map(x -> x.getId()).collect(Collectors.toList()));
|
|
|
+// List<CoreIntroduceLetterOutInRequestUser> outInRequestUserList = new ArrayList<>();
|
|
|
+ outInRequestDto.getUserInfos().forEach(r -> {
|
|
|
+ users.stream().filter(x -> ObjectUtil.equal(x.getId(), r.getId())).findFirst().ifPresent(x -> {
|
|
|
+ x.setUserName(r.getUserName());
|
|
|
+ x.setCompanyName(r.getCompanyName());
|
|
|
+ x.setIdType(r.getIdType());
|
|
|
+ x.setIdCard(r.getIdCard());
|
|
|
+ x.setArrivalTime(r.getArrivalTime());
|
|
|
+ x.setDepartureTime(r.getDepartureTime());
|
|
|
+ });
|
|
|
+ });
|
|
|
+ outInRequestUserService.updateBatchById(users);
|
|
|
+ // TODO 回写介绍信人员,回写历史人员库
|
|
|
+ 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());
|
|
|
+ });
|
|
|
+ });
|
|
|
+ coreIntroduceLetterMapper.batchUpdateLetterUserList(letterUserList);
|
|
|
+ //回写历史人员库
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|