|
|
@@ -116,7 +116,7 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap
|
|
|
page.getRecords().forEach(vo -> {
|
|
|
List<CoreSafetyTask> v = list.stream()
|
|
|
.filter(i -> ObjectUtil.equal(i.getPlanId(), vo.getPlanId()) && ObjectUtil.equal(vo.getCount(), i.getCount())
|
|
|
- && ObjectUtil.equal(i.getPlanStartTime(),vo.getPlanStartTime()) && ObjectUtil.equal(i.getPlanEndTime(),vo.getPlanEndTime()))
|
|
|
+ && ObjectUtil.equal(i.getPlanStartTime(), vo.getPlanStartTime()) && ObjectUtil.equal(i.getPlanEndTime(), vo.getPlanEndTime()))
|
|
|
.collect(Collectors.toList());
|
|
|
List<Long> roleIds = planToRoles.stream().filter(p -> ObjectUtil.equal(p.getPlanId(), vo.getPlanId()))
|
|
|
.map(p -> p.getRoleId()).collect(Collectors.toList());
|
|
|
@@ -213,6 +213,7 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap
|
|
|
if (ObjectUtil.isNull(plan)) {
|
|
|
throw new ServiceException("计划不存在");
|
|
|
}
|
|
|
+
|
|
|
List<Long> roleIds = coreSafecheckPlanToRoleMapper.selectList(new LambdaQueryWrapper<CoreSafecheckPlanToRole>()
|
|
|
.eq(CoreSafecheckPlanToRole::getPlanId, plan.getId())
|
|
|
.select(CoreSafecheckPlanToRole::getRoleId))
|
|
|
@@ -235,6 +236,7 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap
|
|
|
|
|
|
List<TaskRegisterNfcVo> nfcs = baseMapper.selectNfc(plan.getId(), id, task.getOrgId());
|
|
|
TaskRegisterVo<AppTaskRegisterPointVo> vo = TaskRegisterVo.of(task, plan.getCheckOrgType().toString(), roleNames);
|
|
|
+ vo.setPlanType(plan.getCheckType().intValue());
|
|
|
Set<Long> usedNfcId = new HashSet<>();
|
|
|
for (AppTaskRegisterPointVo point : points) {
|
|
|
List<CoreSafetyTaskDataRemarkimg> dataImgs = taskImgs.get(point.getPointDataId());
|
|
|
@@ -325,7 +327,7 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap
|
|
|
}
|
|
|
|
|
|
removeExistData(data.getId());
|
|
|
- LoginUser user=SecurityUtils.getLoginUser();
|
|
|
+ LoginUser user = SecurityUtils.getLoginUser();
|
|
|
List<CoreSafetyTaskData> points = new ArrayList();
|
|
|
List<CoreSafetyTaskDataNfc> nfcs = new ArrayList<>();
|
|
|
List<CoreSafetyTaskDataRemarkimg> remarkimgs = new ArrayList<>();
|
|
|
@@ -347,8 +349,8 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (ObjectUtil.equal(data.getIsSubmit(),1) && ObjectUtil.equal(point.getValue(), 1)) {
|
|
|
- Question question = dataVoToQuestion(data, org, point, pointVo,user);
|
|
|
+ if (ObjectUtil.equal(data.getIsSubmit(), 1) && ObjectUtil.equal(point.getValue(), 1)) {
|
|
|
+ Question question = dataVoToQuestion(data, org, point, pointVo, user);
|
|
|
questions.add(question);
|
|
|
}
|
|
|
}
|
|
|
@@ -361,7 +363,7 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap
|
|
|
questionService.insertQuestion(question);
|
|
|
}
|
|
|
}
|
|
|
- updateTask(data, questions.size());
|
|
|
+ updateTask(data, questions.size(), data.getIsSubmit());
|
|
|
|
|
|
return true;
|
|
|
}
|
|
|
@@ -417,7 +419,7 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap
|
|
|
return img;
|
|
|
}
|
|
|
|
|
|
- private Question dataVoToQuestion(TaskRegisterVo task, SysOrg org, CoreSafetyTaskData point, AppTaskRegisterPointVo pointVo,LoginUser user) {
|
|
|
+ private Question dataVoToQuestion(TaskRegisterVo task, SysOrg org, CoreSafetyTaskData point, AppTaskRegisterPointVo pointVo, LoginUser user) {
|
|
|
Question question = Question.builder()
|
|
|
.srcTaskId(task.getId())
|
|
|
.orgId(task.getBeCheckedOrgId())
|
|
|
@@ -430,8 +432,8 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap
|
|
|
.checkItem(pointVo.getItemName())
|
|
|
.checkContent(pointVo.getPointName())
|
|
|
.questionDesc(point.getRemark())
|
|
|
- .submitorId(ObjectUtil.isNull(point.getSubmitBy())?user.getUserid():point.getSubmitBy())
|
|
|
- .submitorName(ObjectUtil.isNull(point.getSubmitName())?user.getName():point.getSubmitName())
|
|
|
+ .submitorId(ObjectUtil.isNull(point.getSubmitBy()) ? user.getUserid() : point.getSubmitBy())
|
|
|
+ .submitorName(ObjectUtil.isNull(point.getSubmitName()) ? user.getName() : point.getSubmitName())
|
|
|
.submitTime(point.getSubmitTime())
|
|
|
.reformDeadline(DateUtil.endOfDay(DateUtil.offsetDay(new Date(), Integer.parseInt(point.getRectificationDeadline()))))
|
|
|
.build();
|
|
|
@@ -439,7 +441,7 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap
|
|
|
return question;
|
|
|
}
|
|
|
|
|
|
- private boolean updateTask(TaskRegisterVo data, Integer exceptionCount) {
|
|
|
+ private boolean updateTask(TaskRegisterVo data, Integer exceptionCount, Integer isSubmit) {
|
|
|
LambdaUpdateWrapper<CoreSafetyTask> taskUpdateWraper = new LambdaUpdateWrapper();
|
|
|
taskUpdateWraper.eq(CoreSafetyTask::getId, data.getId())
|
|
|
// .set(CoreSafetyTask::getStatus, ObjectUtil.equal(data.getIsSubmit(), 0) ? SafetyCheckTaskStatus.UnderWay.getValue() : SafetyCheckTaskStatus.Completed.getValue())
|
|
|
@@ -449,6 +451,10 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap
|
|
|
.set(CoreSafetyTask::getSubmitBy, SecurityUtils.getLoginUser().getName())
|
|
|
.set(CoreSafetyTask::getExceptionCount, exceptionCount)
|
|
|
.set(CoreSafetyTask::getCheckTeam, data.getCheckTeam());
|
|
|
+ if (ObjectUtil.equal(isSubmit, 1) && ObjectUtil.notEqual(SecurityUtils.getUserId(), data.getGrantUserId())) {
|
|
|
+ //不是被授权人完成的该任务,则清空被授权人信息
|
|
|
+ taskUpdateWraper.set(CoreSafetyTask::getGrantUserId, null);
|
|
|
+ }
|
|
|
return baseMapper.update(null, taskUpdateWraper) > 0;
|
|
|
}
|
|
|
|
|
|
@@ -474,13 +480,18 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap
|
|
|
.eq(CoreSafetyTask::getYmdDate, dto.getYmdDate());
|
|
|
List<CoreSafetyTask> tasks = baseMapper.selectList(wrapper);
|
|
|
Optional<CoreSafetyTask> taskOptional = tasks.stream().filter(t -> ObjectUtil.equal(t.getId(), dto.getTaskId())).findFirst();
|
|
|
+
|
|
|
if (!taskOptional.isPresent()) {
|
|
|
throw new ServiceException("任务不存在");
|
|
|
}
|
|
|
-
|
|
|
- if (ObjectUtil.equal(taskOptional.get().getStatus(), SafetyCheckTaskStatus.Completed.getValue())) {
|
|
|
+ CoreSafetyTask task = taskOptional.get();
|
|
|
+ if (ObjectUtil.equal(task.getStatus(), SafetyCheckTaskStatus.Completed.getValue())) {
|
|
|
throw new ServiceException("任务已完成,不能授权");
|
|
|
}
|
|
|
+ if (ObjectUtil.equal(task.getGrantUserId(), dto.getUserId())) {
|
|
|
+ throw new ServiceException("任务已授权给该用户,无须授权");
|
|
|
+ }
|
|
|
+
|
|
|
Long loginUserId = SecurityUtils.getUserId();
|
|
|
if (ObjectUtil.isNotNull(dto.getUserId())) {
|
|
|
List<IdNameVo> roles = remoteUserService.getRoleInfoOfUser(dto.getUserId(), SecurityConstants.INNER);
|
|
|
@@ -498,14 +509,16 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- Long uncompletedCount = tasks.stream()
|
|
|
- .filter(t -> !ObjectUtil.equal(t.getStatus(), SafetyCheckTaskStatus.Completed.getValue()) && ObjectUtil.isNull(t.getGrantUserId()))
|
|
|
- .count();
|
|
|
- Long selfCompletedCount = tasks.stream()
|
|
|
- .filter(t -> ObjectUtil.equal(t.getStatus(), SafetyCheckTaskStatus.Completed.getValue()) && ObjectUtil.equal(t.getSubmitorId(), loginUserId))
|
|
|
- .count();
|
|
|
- if (uncompletedCount <= 1 && selfCompletedCount == 0) {
|
|
|
- throw new ServiceException("至少完成一次任务");
|
|
|
+ if (ObjectUtil.isNull(task.getGrantUserId())) {
|
|
|
+ Long uncompletedCount = tasks.stream()
|
|
|
+ .filter(t -> !ObjectUtil.equal(t.getStatus(), SafetyCheckTaskStatus.Completed.getValue()) && ObjectUtil.isNull(t.getGrantUserId()))
|
|
|
+ .count();
|
|
|
+ Long selfCompletedCount = tasks.stream()
|
|
|
+ .filter(t -> ObjectUtil.equal(t.getStatus(), SafetyCheckTaskStatus.Completed.getValue()) && ObjectUtil.equal(t.getSubmitorId(), loginUserId))
|
|
|
+ .count();
|
|
|
+ if (uncompletedCount <= 1 && selfCompletedCount == 0) {
|
|
|
+ throw new ServiceException("每月亲自检查不少于1次");
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
LambdaUpdateWrapper<CoreSafetyTask> updateWrapper = new LambdaUpdateWrapper<>();
|