|
@@ -305,47 +305,6 @@ public class ProjectLiftRelevanceService extends ServiceImpl<ProjectLiftRelevanc
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public RestResponse batchModify(ProjectRequest request) {
|
|
|
Long newWorkerId = request.getWorkerId();
|
|
|
- //获取前端传过来的所有项目id
|
|
|
- List<Long> projectIds = request.getList().stream().
|
|
|
- map(ProjectLiftRelevance::getProjectId).
|
|
|
- distinct().
|
|
|
- collect(Collectors.toList());
|
|
|
- //查询公司项目下的成员
|
|
|
- List<ProjectUser> projectUsers = projectUserService.list(Wrappers.<ProjectUser>query().
|
|
|
- select("mt_company_id", "user_id", "project_id").
|
|
|
- eq("mt_company_id", request.getMtCompanyId()).
|
|
|
- in("project_id", projectIds));
|
|
|
- //创建待插入的项目成员列表
|
|
|
- ArrayList<ProjectUser> insertProjectUsers = new ArrayList<>();
|
|
|
- //循环前端传过来的项目电梯信息
|
|
|
- request.getList().forEach(projectLiftRelevance -> {
|
|
|
- //查询项目用户关联表中是否有这个关联
|
|
|
- boolean hasUser = false;
|
|
|
- for (ProjectUser projectUser : projectUsers) {
|
|
|
- if (projectLiftRelevance.getProjectId().equals(projectUser.getProjectId()) &&
|
|
|
- projectLiftRelevance.getMtCompanyId().equals(projectUser.getMtCompanyId()) &&
|
|
|
- projectUser.getUserId().equals(projectLiftRelevance.getWorkerId())) {
|
|
|
- hasUser = true;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- //如果项目用户关联表中没有这个用户
|
|
|
- if (!hasUser) {
|
|
|
- ProjectUser projectUser = new ProjectUser();
|
|
|
- projectUser.setProjectId(projectLiftRelevance.getProjectId());
|
|
|
- projectUser.setUserId(newWorkerId);
|
|
|
- projectUser.setMtCompanyId(projectLiftRelevance.getMtCompanyId());
|
|
|
- projectUser.setUserRole(CommonEnum.DefaultRole.MTWORK.getCode());
|
|
|
- projectUser.setCreatorId(10000L);
|
|
|
- projectUser.setUpdateId(10000L);
|
|
|
- insertProjectUsers.add(projectUser);
|
|
|
- }
|
|
|
- });
|
|
|
- //批量保存项目用户关联信息
|
|
|
- if (!projectUserService.saveBatch(projectUsers)) {
|
|
|
- throw new BusinessBasicException("数据库保存失败");
|
|
|
- }
|
|
|
-
|
|
|
//获取项目电梯关联信息
|
|
|
List<ProjectLiftRelevance> projectLiftRelevances = request.getList();
|
|
|
projectLiftRelevances.forEach(entry -> entry.setWorkerId(request.getWorkerId()));
|
|
@@ -360,10 +319,12 @@ public class ProjectLiftRelevanceService extends ServiceImpl<ProjectLiftRelevanc
|
|
|
List<MaintenancePlan> planList = maintenancePlanService.getPlanList(request.getMtCompanyId(), liftIdList);
|
|
|
//修改未完成的维保计划为新的维保负责人
|
|
|
planList.forEach(entry -> entry.setWorkerId(newWorkerId));
|
|
|
- boolean planResult = maintenancePlanService.updateBatchById(planList);
|
|
|
- if (!planResult) {
|
|
|
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
- return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
|
|
|
+ if (planList.size() > 0) {
|
|
|
+ boolean planResult = maintenancePlanService.updateBatchById(planList);
|
|
|
+ if (!planResult) {
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
+ return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
return RestResponse.success(null, MessageUtils.get("msg.modify.success"));
|