|
@@ -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;
|
|
@@ -138,7 +139,6 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
|
|
|
RepairApplicationForm model = mapper.selectById(id);
|
|
|
RepairApplicationFormVO vo = new RepairApplicationFormVO();
|
|
|
BeanUtil.copyProperties(model, vo);
|
|
|
-
|
|
|
Weekend<SysFile> weekend = new Weekend<>(SysFile.class);
|
|
|
weekend.weekendCriteria().andEqualTo(SysFile::getTargetId, vo.getId());
|
|
|
List<SysFile> sysFiles = sysFileMapper.selectByExample(weekend);
|
|
@@ -213,14 +213,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(), MessageTemplateUtil.getRepairApplicationForReceive(model.getNo()),
|
|
|
+ model.getId(), userIds, mails));
|
|
|
return form;
|
|
|
}
|
|
|
|
|
@@ -287,7 +293,7 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
|
|
|
super.modModelByPrimaryKey(applicationForm);
|
|
|
|
|
|
SpringContextHolder.publishEvent(new WorkplaceBacklogEvent(WorkplaceBacklogTypeEnum.RECEIVE.getValue(), WorkplaceBacklogDetailTypeEnum.REPAIR_RECEIVE.getValue(),
|
|
|
- applicationForm.getId(), MessageTemplateUtil.getReceive(applicationForm.getId()),
|
|
|
+ applicationForm.getId(), MessageTemplateUtil.getReceive(applicationForm.getNo()),
|
|
|
applicationForm.getId(), ListUtils.newArrayList(applicationForm.getUserId())));
|
|
|
}
|
|
|
|
|
@@ -329,9 +335,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(), MessageTemplateUtil.getRepairDispatch(applicationForm.getNo()),
|
|
|
+ applicationForm.getId(), ListUtils.newArrayList(model.getRepairUserId()), ListUtils.newArrayList(repairUser.getEmail())));
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -383,9 +390,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(), MessageTemplateUtil.getRepairCheck(applicationForm.getNo()),
|
|
|
+ applicationForm.getId(), ListUtils.newArrayList(applicationForm.getCheckUserId()), ListUtils.newArrayList(checkUser.getEmail())));
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -405,9 +413,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(), MessageTemplateUtil.getRepairOk(applicationForm.getNo()),
|
|
|
+ applicationForm.getId(), ListUtils.newArrayList(applicationForm.getRepairUserId()), ListUtils.newArrayList(noticeUser.getEmail())));
|
|
|
}
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@@ -420,9 +429,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())));
|
|
|
+ dto.getId(), MessageTemplateUtil.getRepairBack(applicationForm.getNo()),
|
|
|
+ applicationForm.getId(), ListUtils.newArrayList(applicationForm.getRepairUserId()), ListUtils.newArrayList(noticeUser.getEmail())));
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -451,9 +461,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(), MessageTemplateUtil.getRepairApplicationForReceive(item.getNo()),
|
|
|
+ item.getId(), Arrays.asList(repairManager.getUserId()), Arrays.asList(repairManager.getEmail())));
|
|
|
});
|
|
|
}
|
|
|
}
|
|
@@ -497,11 +508,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.getNo(), 3),
|
|
|
+ item.getId(), userIds, mails)));
|
|
|
}
|
|
|
}
|
|
|
|