|
@@ -14,16 +14,19 @@ import com.platform.dao.dto.repair.RepairApplicationFormDTO;
|
|
import com.platform.dao.dto.repair.RepairCheckDTO;
|
|
import com.platform.dao.dto.repair.RepairCheckDTO;
|
|
import com.platform.dao.dto.repair.RepairFormDTO;
|
|
import com.platform.dao.dto.repair.RepairFormDTO;
|
|
import com.platform.dao.dto.sb.SbInfoDTO;
|
|
import com.platform.dao.dto.sb.SbInfoDTO;
|
|
|
|
+import com.platform.dao.dto.upms.SysUserDTO;
|
|
import com.platform.dao.entity.repair.RepairApplicationForm;
|
|
import com.platform.dao.entity.repair.RepairApplicationForm;
|
|
import com.platform.dao.entity.repair.RepairCheck;
|
|
import com.platform.dao.entity.repair.RepairCheck;
|
|
import com.platform.dao.entity.repair.RepairForm;
|
|
import com.platform.dao.entity.repair.RepairForm;
|
|
import com.platform.dao.entity.sb.SbInfo;
|
|
import com.platform.dao.entity.sb.SbInfo;
|
|
import com.platform.dao.entity.upms.SysFile;
|
|
import com.platform.dao.entity.upms.SysFile;
|
|
|
|
+import com.platform.dao.entity.upms.SysUser;
|
|
import com.platform.dao.enums.*;
|
|
import com.platform.dao.enums.*;
|
|
import com.platform.dao.mapper.repair.RepairApplicationFormMapper;
|
|
import com.platform.dao.mapper.repair.RepairApplicationFormMapper;
|
|
import com.platform.dao.mapper.repair.RepairCheckMapper;
|
|
import com.platform.dao.mapper.repair.RepairCheckMapper;
|
|
import com.platform.dao.mapper.repair.RepairFormMapper;
|
|
import com.platform.dao.mapper.repair.RepairFormMapper;
|
|
import com.platform.dao.mapper.upms.SysFileMapper;
|
|
import com.platform.dao.mapper.upms.SysFileMapper;
|
|
|
|
+import com.platform.dao.mapper.upms.SysUserMapper;
|
|
import com.platform.dao.util.MessageTemplateUtil;
|
|
import com.platform.dao.util.MessageTemplateUtil;
|
|
import com.platform.dao.util.UserUtil;
|
|
import com.platform.dao.util.UserUtil;
|
|
import com.platform.dao.vo.SysUserVO;
|
|
import com.platform.dao.vo.SysUserVO;
|
|
@@ -47,8 +50,13 @@ import tk.mybatis.mapper.weekend.Weekend;
|
|
import tk.mybatis.mapper.weekend.WeekendCriteria;
|
|
import tk.mybatis.mapper.weekend.WeekendCriteria;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
|
|
+import java.lang.reflect.Array;
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
|
|
+import java.time.temporal.ChronoUnit;
|
|
|
|
+import java.util.Arrays;
|
|
|
|
+import java.util.Calendar;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
* @Description 保修单 service 实现类
|
|
* @Description 保修单 service 实现类
|
|
@@ -67,6 +75,9 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
|
|
private final SysUserDeptService sysUserDeptService;
|
|
private final SysUserDeptService sysUserDeptService;
|
|
private final SbInfoService sbInfoService;
|
|
private final SbInfoService sbInfoService;
|
|
private final SysFileMapper sysFileMapper;
|
|
private final SysFileMapper sysFileMapper;
|
|
|
|
+ private final SysUserMapper userMapper;
|
|
|
|
+
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public int batchDelete(List<String> ids) {
|
|
public int batchDelete(List<String> ids) {
|
|
// 判断是否允许删除
|
|
// 判断是否允许删除
|
|
@@ -138,7 +149,7 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
|
|
if (item.getType().equals(SysFileTypeEnum.REPAIR_APPLICATION_IMGS.getValue())) {
|
|
if (item.getType().equals(SysFileTypeEnum.REPAIR_APPLICATION_IMGS.getValue())) {
|
|
applicationFileList.add(item);
|
|
applicationFileList.add(item);
|
|
}
|
|
}
|
|
- if (item.getType() .equals(SysFileTypeEnum.REPAIR_REPAIR_IMGS.getValue())) {
|
|
|
|
|
|
+ if (item.getType().equals(SysFileTypeEnum.REPAIR_REPAIR_IMGS.getValue())) {
|
|
repairFileList.add(item);
|
|
repairFileList.add(item);
|
|
}
|
|
}
|
|
if (item.getType().equals(SysFileTypeEnum.REPAIR_CHECK_IMGS.getValue())) {
|
|
if (item.getType().equals(SysFileTypeEnum.REPAIR_CHECK_IMGS.getValue())) {
|
|
@@ -172,7 +183,7 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
|
|
// 保存报修单
|
|
// 保存报修单
|
|
model.setModelId(sb.getModelId());
|
|
model.setModelId(sb.getModelId());
|
|
model.setNo(IdGeneratorUtils.getRepairApplicaitonFormNo(++count));
|
|
model.setNo(IdGeneratorUtils.getRepairApplicaitonFormNo(++count));
|
|
- model.setStatus(RepairApplicationFormStatusEnum.ALLOCATED.getValue());
|
|
|
|
|
|
+ model.setStatus(RepairApplicationFormStatusEnum.NOT_ALLOCATED.getValue());
|
|
model.setApplyTime(LocalDateTime.now());
|
|
model.setApplyTime(LocalDateTime.now());
|
|
model.setCreatedTime(model.getApplyTime());
|
|
model.setCreatedTime(model.getApplyTime());
|
|
model.setUpdateTime(model.getApplyTime());
|
|
model.setUpdateTime(model.getApplyTime());
|
|
@@ -190,20 +201,26 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
|
|
if (sb.getUseGroup() == null) {
|
|
if (sb.getUseGroup() == null) {
|
|
throw new BusinessException("找不到设备对应的使用工作组,无法指派维修单,请先设置设备的归属组,sbId" + model.getSbId());
|
|
throw new BusinessException("找不到设备对应的使用工作组,无法指派维修单,请先设置设备的归属组,sbId" + model.getSbId());
|
|
}
|
|
}
|
|
- List<SysUserVO> userList = sysUserService.selectDeptManager(sb.getUseGroup(), SysDeptManagerType.REPAIR.getValue());
|
|
|
|
- if (userList == null || userList.size() == 0) {
|
|
|
|
- throw new BusinessException("找不到设备对应的维修员,无法指派维修单,请先设置设备的归属组,sbId" + model.getSbId());
|
|
|
|
- }
|
|
|
|
- model.setRepairUserId(userList.get(0).getUserId());
|
|
|
|
-
|
|
|
|
|
|
+// List<SysUserVO> userList = sysUserService.selectDeptManager(sb.getUseGroup(), SysDeptManagerType.REPAIR.getValue());
|
|
|
|
+// if (userList == null || userList.size() == 0) {
|
|
|
|
+// throw new BusinessException("找不到设备对应的维修员,无法指派维修单,请先设置设备的归属组,sbId" + model.getSbId());
|
|
|
|
+// }
|
|
|
|
+// model.setRepairUserId(userList.get(0).getUserId());
|
|
|
|
|
|
|
|
|
|
model.setId(IdGeneratorUtils.getObjectId());
|
|
model.setId(IdGeneratorUtils.getObjectId());
|
|
this.saveFile(model);
|
|
this.saveFile(model);
|
|
RepairApplicationForm form = super.saveModelHaveCreateInfo(model);
|
|
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());
|
|
|
|
+ }
|
|
|
|
+ // 通过给当天值班维修人员
|
|
SpringContextHolder.publishEvent(new WorkplaceBacklogEvent(WorkplaceBacklogTypeEnum.REPAIR.getValue(), WorkplaceBacklogDetailTypeEnum.REPAIR_APPLICATION.getValue(),
|
|
SpringContextHolder.publishEvent(new WorkplaceBacklogEvent(WorkplaceBacklogTypeEnum.REPAIR.getValue(), WorkplaceBacklogDetailTypeEnum.REPAIR_APPLICATION.getValue(),
|
|
- model.getId(), MessageTemplateUtil.getRepairApplication(model.getId()),
|
|
|
|
- model.getId(), ListUtils.newArrayList(model.getRepairUserId())));
|
|
|
|
|
|
+ model.getId(), MessageTemplateUtil.getRepairApplicationForReceive(model.getId()),
|
|
|
|
+ model.getId(), userIds));
|
|
return form;
|
|
return form;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -258,9 +275,12 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
|
|
@Override
|
|
@Override
|
|
public void receive(String id) {
|
|
public void receive(String id) {
|
|
RepairApplicationForm applicationForm = mapper.selectById(id);
|
|
RepairApplicationForm applicationForm = mapper.selectById(id);
|
|
- if (!RepairApplicationFormStatusEnum.ALLOCATED.getValue().equals(applicationForm.getStatus()) && !RepairApplicationFormStatusEnum.REBACK.getValue().equals(applicationForm.getStatus())) {
|
|
|
|
|
|
+ if (!RepairApplicationFormStatusEnum.NOT_ALLOCATED.getValue().equals(applicationForm.getStatus()) && !RepairApplicationFormStatusEnum.ALLOCATED.getValue().equals(applicationForm.getStatus()) && !RepairApplicationFormStatusEnum.REBACK.getValue().equals(applicationForm.getStatus())) {
|
|
throw new BusinessException("该状态不允许接收任务");
|
|
throw new BusinessException("该状态不允许接收任务");
|
|
}
|
|
}
|
|
|
|
+ if (!RepairApplicationFormStatusEnum.NOT_ALLOCATED.getValue().equals(applicationForm.getStatus())) {
|
|
|
|
+ applicationForm.setRepairUserId(SecurityUtils.getUserInfo().getUserId());
|
|
|
|
+ }
|
|
applicationForm.setStatus(RepairApplicationFormStatusEnum.PROCESSING.getValue());
|
|
applicationForm.setStatus(RepairApplicationFormStatusEnum.PROCESSING.getValue());
|
|
applicationForm.setRepairStartTime(LocalDateTime.now());
|
|
applicationForm.setRepairStartTime(LocalDateTime.now());
|
|
applicationForm.setUpdateTime(LocalDateTime.now());
|
|
applicationForm.setUpdateTime(LocalDateTime.now());
|
|
@@ -279,7 +299,7 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
|
|
@Override
|
|
@Override
|
|
public void dispatchModelByDTO(RepairApplicationFormDTO model) {
|
|
public void dispatchModelByDTO(RepairApplicationFormDTO model) {
|
|
RepairApplicationForm applicationForm = mapper.selectById(model.getId());
|
|
RepairApplicationForm applicationForm = mapper.selectById(model.getId());
|
|
- if (!RepairApplicationFormStatusEnum.ALLOCATED.getValue().equals(applicationForm.getStatus()) && !RepairApplicationFormStatusEnum.REBACK.getValue().equals(applicationForm.getStatus())) {
|
|
|
|
|
|
+ if (!RepairApplicationFormStatusEnum.NOT_ALLOCATED.getValue().equals(applicationForm.getStatus()) && !RepairApplicationFormStatusEnum.ALLOCATED.getValue().equals(applicationForm.getStatus()) && !RepairApplicationFormStatusEnum.REBACK.getValue().equals(applicationForm.getStatus())) {
|
|
throw new BusinessException("该状态不允许派工任务, id, status:" + applicationForm.getId() + "," + applicationForm.getStatus());
|
|
throw new BusinessException("该状态不允许派工任务, id, status:" + applicationForm.getId() + "," + applicationForm.getStatus());
|
|
}
|
|
}
|
|
|
|
|
|
@@ -326,32 +346,47 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
|
|
applicationForm.setStatus(RepairApplicationFormStatusEnum.NOT_ACCEPTANCE.getValue());
|
|
applicationForm.setStatus(RepairApplicationFormStatusEnum.NOT_ACCEPTANCE.getValue());
|
|
|
|
|
|
applicationForm.setRepairEndTime(LocalDateTime.now());
|
|
applicationForm.setRepairEndTime(LocalDateTime.now());
|
|
- applicationForm.setRepairMinutes(DateUtils.dateDiff(applicationForm.getRepairEndTime(),applicationForm.getRepairStartTime()));
|
|
|
|
|
|
+ applicationForm.setRepairMinutes(DateUtils.dateDiff(applicationForm.getRepairEndTime(), applicationForm.getRepairStartTime()));
|
|
applicationForm.setCheckStartTime(applicationForm.getRepairEndTime());
|
|
applicationForm.setCheckStartTime(applicationForm.getRepairEndTime());
|
|
applicationForm.setRepairContent(dto.getRepairContent());
|
|
applicationForm.setRepairContent(dto.getRepairContent());
|
|
applicationForm.setRepairErrorTypeId(dto.getRepairErrorTypeId());
|
|
applicationForm.setRepairErrorTypeId(dto.getRepairErrorTypeId());
|
|
applicationForm.setUpdateTime(LocalDateTime.now());
|
|
applicationForm.setUpdateTime(LocalDateTime.now());
|
|
|
|
|
|
- // 获取部门的项目部
|
|
|
|
- SysDeptVO natureDept = UserUtil.getUserNatureDept(DeptNatureEnum.XIANG_MU_BU, userInfo);
|
|
|
|
- // 获取项目部设备主管
|
|
|
|
- List<SysUserVO> users = UserUtil.selectUserByIdentityTypeLikeDeptCode(natureDept.getDeptCode(),
|
|
|
|
- SysUserIdentityType.WXZG.getValue());
|
|
|
|
- SysUserVO checkUser = null;
|
|
|
|
- if (CollectionUtil.isNotEmpty(users)) {
|
|
|
|
- checkUser = users.get(0);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if(checkUser == null){
|
|
|
|
- throw new BusinessException("找不到该项目部的维修主管,项目部名称:"+natureDept.getName());
|
|
|
|
|
|
+// // 获取部门的项目部
|
|
|
|
+// SysDeptVO natureDept = UserUtil.getUserNatureDept(DeptNatureEnum.XIANG_MU_BU, userInfo);
|
|
|
|
+// // 获取项目部设备主管
|
|
|
|
+// List<SysUserVO> users = UserUtil.selectUserByIdentityTypeLikeDeptCode(natureDept.getDeptCode(),
|
|
|
|
+// SysUserIdentityType.WXZG.getValue());
|
|
|
|
+// SysUserVO checkUser = null;
|
|
|
|
+// if (CollectionUtil.isNotEmpty(users)) {
|
|
|
|
+// checkUser = users.get(0);
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// if (checkUser == null) {
|
|
|
|
+// throw new BusinessException("找不到该项目部的维修主管,项目部名称:" + natureDept.getName());
|
|
|
|
+// }
|
|
|
|
+ String userId = applicationForm.getUserId();
|
|
|
|
+ applicationForm.setCheckUserId(userId);
|
|
|
|
+ // 维修人自己发起报修自己验收
|
|
|
|
+ if (userId.equals(applicationForm.getRepairUserId())) {
|
|
|
|
+ // 1.修改验收单状态和验收验收时间
|
|
|
|
+ applicationForm.setCheckEndTime(LocalDateTime.now());
|
|
|
|
+ applicationForm.setStatus(RepairApplicationFormStatusEnum.FINISHED.getValue());
|
|
|
|
+ applicationForm.setUpdateTime(LocalDateTime.now());
|
|
|
|
+ super.modModelByPrimaryKey(applicationForm);
|
|
|
|
+
|
|
|
|
+ // 如果选择了设备停机,则要修改设备状态
|
|
|
|
+ SbInfo info = new SbInfo();
|
|
|
|
+ info.setId(applicationForm.getSbId());
|
|
|
|
+ info.setStatus(SbInfoStatusEnum.IN_USE.getValue());
|
|
|
|
+ sbInfoService.modModelByPrimaryKey(info);
|
|
|
|
+ } else {
|
|
|
|
+ super.modModelByPrimaryKey(applicationForm);
|
|
|
|
+ // 发送通知给主管,主管是验收人,他收到通知,进行调拨给使用人员
|
|
|
|
+ SpringContextHolder.publishEvent(new WorkplaceBacklogEvent(WorkplaceBacklogTypeEnum.REPAIR.getValue(), WorkplaceBacklogDetailTypeEnum.REPAIR_FINISH.getValue(),
|
|
|
|
+ applicationForm.getId(), MessageTemplateUtil.getRepairCheck(applicationForm.getId()),
|
|
|
|
+ applicationForm.getId(), ListUtils.newArrayList(applicationForm.getCheckUserId())));
|
|
}
|
|
}
|
|
- applicationForm.setCheckUserId(checkUser.getUserId());
|
|
|
|
- super.modModelByPrimaryKey(applicationForm);
|
|
|
|
- // 发送通知给主管,主管是验收人,他收到通知,进行调拨给使用人员
|
|
|
|
- SpringContextHolder.publishEvent(new WorkplaceBacklogEvent(WorkplaceBacklogTypeEnum.REPAIR.getValue(), WorkplaceBacklogDetailTypeEnum.REPAIR_FINISH.getValue(),
|
|
|
|
- applicationForm.getId(), MessageTemplateUtil.getRepairCheck(applicationForm.getId()),
|
|
|
|
- applicationForm.getId(), ListUtils.newArrayList(applicationForm.getCheckUserId())));
|
|
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@@ -396,4 +431,89 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
|
|
weekend.weekendCriteria().andEqualTo(RepairApplicationForm::getRepairUserId, userId);
|
|
weekend.weekendCriteria().andEqualTo(RepairApplicationForm::getRepairUserId, userId);
|
|
return mapper.selectCountByExample(weekend);
|
|
return mapper.selectCountByExample(weekend);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void autoAssignTaskForTimer() {
|
|
|
|
+ LocalDateTime minutesAgo = DateUtils.minus(LocalDateTime.now(), 10, ChronoUnit.MINUTES);
|
|
|
|
+ Weekend<RepairApplicationForm> weekend = new Weekend<>(RepairApplicationForm.class);
|
|
|
|
+ weekend.weekendCriteria().andEqualTo(RepairApplicationForm::getStatus, RepairApplicationFormStatusEnum.NOT_ALLOCATED.getValue())
|
|
|
|
+ .andLessThan(RepairApplicationForm::getCreatedTime, minutesAgo);
|
|
|
|
+ List<RepairApplicationForm> tasks = mapper.selectByExample(weekend);
|
|
|
|
+ List<SysUser> users = userMapper.select(new SysUser().setIdentityType(SysUserIdentityType.WXZG.getValue()));
|
|
|
|
+ if (CollectionUtil.isEmpty(users)) {
|
|
|
|
+ throw new BusinessException("维修主管不存在");
|
|
|
|
+ }
|
|
|
|
+ SysUser repairManager = users.get(0);
|
|
|
|
+ if (CollectionUtil.isNotEmpty(tasks)) {
|
|
|
|
+ tasks.forEach(item -> {
|
|
|
|
+ RepairApplicationForm update = new RepairApplicationForm();
|
|
|
|
+ update.setId(item.getId());
|
|
|
|
+ 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())));
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void unFinishNoticeForTimer() {
|
|
|
|
+ // 3小时通知
|
|
|
|
+ List<RepairApplicationForm> tasks = getOverTimeTask(3);
|
|
|
|
+ List<SysUser> users = getUsersByIdentity(Arrays.asList(new Integer[]{SysUserIdentityType.WXJL.getValue(), SysUserIdentityType.SCJL.getValue()}));
|
|
|
|
+ sendOverTimeNotice(users, tasks);
|
|
|
|
+ // 8小时通知
|
|
|
|
+ tasks = getOverTimeTask(8);
|
|
|
|
+ users = getUsersByIdentity(Arrays.asList(new Integer[]{SysUserIdentityType.YYJL.getValue()}));
|
|
|
|
+ sendOverTimeNotice(users, tasks);
|
|
|
|
+ // 24小时通知
|
|
|
|
+ tasks = getOverTimeTask(24);
|
|
|
|
+ users = getUsersByIdentity(Arrays.asList(new Integer[]{SysUserIdentityType.ZJL.getValue()}));
|
|
|
|
+ sendOverTimeNotice(users, tasks);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 超时任务
|
|
|
|
+ *
|
|
|
|
+ * @param hour
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ private List<RepairApplicationForm> getOverTimeTask(int hour) {
|
|
|
|
+ LocalDateTime threeHourAgo = DateUtils.minus(LocalDateTime.now(), hour, ChronoUnit.HOURS);
|
|
|
|
+ Weekend<RepairApplicationForm> weekend = new Weekend<>(RepairApplicationForm.class);
|
|
|
|
+ weekend.weekendCriteria().andNotIn(RepairApplicationForm::getStatus, Arrays.asList(new Integer[]{RepairApplicationFormStatusEnum.NOT_ACCEPTANCE.getValue(), RepairApplicationFormStatusEnum.FINISHED.getValue()}))
|
|
|
|
+ .andLessThan(RepairApplicationForm::getCreatedTime, threeHourAgo);
|
|
|
|
+ return mapper.selectByExample(weekend);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 超时消息推送
|
|
|
|
+ *
|
|
|
|
+ * @param users
|
|
|
|
+ * @param tasks
|
|
|
|
+ */
|
|
|
|
+ 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));
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 根据身份获取用户
|
|
|
|
+ *
|
|
|
|
+ * @param identities
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ private List<SysUser> getUsersByIdentity(List<Integer> identities) {
|
|
|
|
+ Weekend<SysUser> w = new Weekend<>(SysUser.class);
|
|
|
|
+ w.weekendCriteria().andIn(SysUser::getIdentityType, identities);
|
|
|
|
+ return userMapper.selectByExample(w);
|
|
|
|
+ }
|
|
}
|
|
}
|