|
@@ -53,6 +53,7 @@ import javax.annotation.Resource;
|
|
|
import java.lang.reflect.Array;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.temporal.ChronoUnit;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.Calendar;
|
|
|
import java.util.List;
|
|
@@ -213,14 +214,20 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
|
|
|
RepairApplicationForm form = super.saveModelHaveCreateInfo(model);
|
|
|
|
|
|
List<SysUser> users = sysUserService.getRepairUser(new SysUserDTO());
|
|
|
- List<String> userIds = users.stream().filter(item -> item.getWorkFlag()).map(item -> item.getUserId()).collect(Collectors.toList());
|
|
|
- if (CollectionUtil.isEmpty(userIds)) {
|
|
|
- userIds = users.stream().filter(item -> item.getIdentityType().equals(SysUserIdentityType.WXZG.getValue())).map(item -> item.getUserId()).collect(Collectors.toList());
|
|
|
+ List<SysUser> filterUsers = users.stream().filter(item -> item.getWorkFlag()).collect(Collectors.toList());
|
|
|
+ if (CollectionUtil.isEmpty(filterUsers)) {
|
|
|
+ filterUsers = users.stream().filter(item -> item.getIdentityType().equals(SysUserIdentityType.WXZG.getValue())).collect(Collectors.toList());
|
|
|
}
|
|
|
+ List<String> userIds = new ArrayList<>();
|
|
|
+ List<String> mails = new ArrayList<>();
|
|
|
+ filterUsers.forEach(item -> {
|
|
|
+ userIds.add(item.getUserId());
|
|
|
+ mails.add(item.getEmail());
|
|
|
+ });
|
|
|
// 通过给当天值班维修人员
|
|
|
SpringContextHolder.publishEvent(new WorkplaceBacklogEvent(WorkplaceBacklogTypeEnum.REPAIR.getValue(), WorkplaceBacklogDetailTypeEnum.REPAIR_APPLICATION.getValue(),
|
|
|
model.getId(), MessageTemplateUtil.getRepairApplicationForReceive(model.getId()),
|
|
|
- model.getId(), userIds));
|
|
|
+ model.getId(), userIds, mails));
|
|
|
return form;
|
|
|
}
|
|
|
|
|
@@ -329,9 +336,10 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
|
|
|
applicationForm.setUpdateTime(LocalDateTime.now());
|
|
|
super.modModelByPrimaryKey(applicationForm);
|
|
|
|
|
|
+ SysUser repairUser = userMapper.selectByPrimaryKey(model.getRepairUserId());
|
|
|
SpringContextHolder.publishEvent(new WorkplaceBacklogEvent(WorkplaceBacklogTypeEnum.REPAIR.getValue(), WorkplaceBacklogDetailTypeEnum.REPAIR_DISPATCH.getValue(),
|
|
|
applicationForm.getId(), MessageTemplateUtil.getRepairDispatch(applicationForm.getId()),
|
|
|
- applicationForm.getId(), ListUtils.newArrayList(model.getRepairUserId())));
|
|
|
+ applicationForm.getId(), ListUtils.newArrayList(model.getRepairUserId()), ListUtils.newArrayList(repairUser.getEmail())));
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -383,9 +391,10 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
|
|
|
} else {
|
|
|
super.modModelByPrimaryKey(applicationForm);
|
|
|
// 发送通知给主管,主管是验收人,他收到通知,进行调拨给使用人员
|
|
|
+ SysUser checkUser = userMapper.selectByPrimaryKey(applicationForm.getCheckUserId());
|
|
|
SpringContextHolder.publishEvent(new WorkplaceBacklogEvent(WorkplaceBacklogTypeEnum.REPAIR.getValue(), WorkplaceBacklogDetailTypeEnum.REPAIR_FINISH.getValue(),
|
|
|
applicationForm.getId(), MessageTemplateUtil.getRepairCheck(applicationForm.getId()),
|
|
|
- applicationForm.getId(), ListUtils.newArrayList(applicationForm.getCheckUserId())));
|
|
|
+ applicationForm.getId(), ListUtils.newArrayList(applicationForm.getCheckUserId()), ListUtils.newArrayList(checkUser.getEmail())));
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -405,9 +414,10 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
|
|
|
info.setStatus(SbInfoStatusEnum.IN_USE.getValue());
|
|
|
sbInfoService.modModelByPrimaryKey(info);
|
|
|
|
|
|
+ SysUser noticeUser = userMapper.selectByPrimaryKey(applicationForm.getRepairUserId());
|
|
|
SpringContextHolder.publishEvent(new WorkplaceBacklogEvent(WorkplaceBacklogTypeEnum.REPAIR.getValue(), WorkplaceBacklogDetailTypeEnum.REPAIR_OK.getValue(),
|
|
|
applicationForm.getId(), MessageTemplateUtil.getRepairOk(applicationForm.getId()),
|
|
|
- applicationForm.getId(), ListUtils.newArrayList(applicationForm.getRepairUserId())));
|
|
|
+ applicationForm.getId(), ListUtils.newArrayList(applicationForm.getRepairUserId()), ListUtils.newArrayList(noticeUser.getEmail())));
|
|
|
}
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@@ -420,9 +430,10 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
|
|
|
applicationForm.setUpdateTime(LocalDateTime.now());
|
|
|
super.modModelByPrimaryKey(applicationForm);
|
|
|
|
|
|
+ SysUser noticeUser = userMapper.selectByPrimaryKey(applicationForm.getRepairUserId());
|
|
|
SpringContextHolder.publishEvent(new WorkplaceBacklogEvent(WorkplaceBacklogTypeEnum.REPAIR.getValue(), WorkplaceBacklogDetailTypeEnum.REPAIR_BACK.getValue(),
|
|
|
dto.getId(), MessageTemplateUtil.getRepairBack(applicationForm.getId()),
|
|
|
- applicationForm.getId(), ListUtils.newArrayList(applicationForm.getRepairUserId())));
|
|
|
+ applicationForm.getId(), ListUtils.newArrayList(applicationForm.getRepairUserId()), ListUtils.newArrayList(noticeUser.getEmail())));
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -451,9 +462,10 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
|
|
|
update.setRepairUserId(repairManager.getUserId());
|
|
|
update.setStatus(RepairApplicationFormStatusEnum.ALLOCATED.getValue());
|
|
|
mapper.updateByPrimaryKeySelective(update);
|
|
|
+
|
|
|
SpringContextHolder.publishEvent(new WorkplaceBacklogEvent(WorkplaceBacklogTypeEnum.REPAIR.getValue(), WorkplaceBacklogDetailTypeEnum.REPAIR_APPLICATION.getValue(),
|
|
|
item.getId(), MessageTemplateUtil.getRepairApplicationForReceive(item.getId()),
|
|
|
- item.getId(), Arrays.asList(repairManager.getUserId())));
|
|
|
+ item.getId(), Arrays.asList(repairManager.getUserId()), Arrays.asList(repairManager.getEmail())));
|
|
|
});
|
|
|
}
|
|
|
}
|
|
@@ -497,11 +509,10 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
|
|
|
private void sendOverTimeNotice(List<SysUser> users, List<RepairApplicationForm> tasks) {
|
|
|
if (CollectionUtil.isNotEmpty(users) && CollectionUtil.isNotEmpty(tasks)) {
|
|
|
List<String> userIds = users.stream().map(item -> item.getUserId()).collect(Collectors.toList());
|
|
|
- tasks.forEach(item -> {
|
|
|
- SpringContextHolder.publishEvent(new WorkplaceBacklogEvent(WorkplaceBacklogTypeEnum.REPAIR_NOT_FINISH.getValue(), WorkplaceBacklogDetailTypeEnum.REPAIR_APPLICATION.getValue(),
|
|
|
- item.getId(), MessageTemplateUtil.getRepairApplicationForNotFinishNotic(item.getId(), 3),
|
|
|
- item.getId(), userIds));
|
|
|
- });
|
|
|
+ List<String> mails = users.stream().map(item -> item.getEmail()).collect(Collectors.toList());
|
|
|
+ tasks.forEach(item -> SpringContextHolder.publishEvent(new WorkplaceBacklogEvent(WorkplaceBacklogTypeEnum.REPAIR_NOT_FINISH.getValue(), WorkplaceBacklogDetailTypeEnum.REPAIR_APPLICATION.getValue(),
|
|
|
+ item.getId(), MessageTemplateUtil.getRepairApplicationForNotFinishNotic(item.getId(), 3),
|
|
|
+ item.getId(), userIds, mails)));
|
|
|
}
|
|
|
}
|
|
|
|