AssoProjectEventService.java 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package cn.cslg.pas.service.business;
  2. import cn.cslg.pas.common.dto.business.ProjectEventDTO;
  3. import cn.cslg.pas.common.model.cronModel.PersonnelVO;
  4. import cn.cslg.pas.common.utils.CacheUtils;
  5. import cn.cslg.pas.common.utils.LoginUtils;
  6. import cn.cslg.pas.domain.business.AssoProjectEvent;
  7. import cn.cslg.pas.exception.UnLoginException;
  8. import cn.cslg.pas.mapper.AssoProjectEventMapper;
  9. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.stereotype.Service;
  12. import java.util.ArrayList;
  13. import java.util.List;
  14. @Service
  15. public class AssoProjectEventService extends ServiceImpl<AssoProjectEventMapper, AssoProjectEvent> {
  16. @Autowired
  17. private CacheUtils cacheUtils;
  18. @Autowired
  19. private LoginUtils loginUtils;
  20. public void addAssoEventProject(List<ProjectEventDTO> events, Integer projectId, Integer type) {
  21. PersonnelVO personnelVO = new PersonnelVO();
  22. personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
  23. List<AssoProjectEvent> assoProjectEvents = new ArrayList<>();
  24. //遍历传入的事件集合
  25. for (ProjectEventDTO projectEventDTO : events) {
  26. AssoProjectEvent assoProjectEvent = assoProjectEvents.stream().filter(item -> item.getEventId()!=null&&item.getEventId().equals(projectEventDTO.getEventId())).findFirst().orElse(null);
  27. AssoProjectEvent assoProjectEvent1 = assoProjectEvents.stream().filter(item -> item.getScenarioId()!=null&&item.getScenarioId().equals(projectEventDTO.getScenarioId())).findFirst().orElse(null);
  28. AssoProjectEvent assoProjectEvent2 = assoProjectEvents.stream().filter(item -> item.getMatterId()!=null&&item.getMatterId().equals(projectEventDTO.getMatterId())).findFirst().orElse(null);
  29. if (assoProjectEvent == null) {
  30. assoProjectEvent = new AssoProjectEvent();
  31. //事件id和处理事项id
  32. assoProjectEvent.setEventId(projectEventDTO.getEventId());
  33. //项目id
  34. assoProjectEvent.setProjectId(projectId);
  35. //创建人
  36. assoProjectEvent.setCreateId(personnelVO.getId());
  37. //类型为专题库
  38. assoProjectEvent.setProjectType(type);
  39. assoProjectEvents.add(assoProjectEvent);
  40. }
  41. if (assoProjectEvent1 == null) {
  42. assoProjectEvent1 = new AssoProjectEvent();
  43. //事件id和处理事项id
  44. assoProjectEvent1.setScenarioId(projectEventDTO.getScenarioId());
  45. //项目id
  46. assoProjectEvent1.setProjectId(projectId);
  47. //创建人
  48. assoProjectEvent1.setCreateId(personnelVO.getId());
  49. //类型为专题库
  50. assoProjectEvent1.setProjectType(type);
  51. assoProjectEvents.add(assoProjectEvent1);
  52. }
  53. if (assoProjectEvent2 == null) {
  54. assoProjectEvent2 = new AssoProjectEvent();
  55. //事件id和处理事项id
  56. assoProjectEvent2.setMatterId(projectEventDTO.getMatterId());
  57. //项目id
  58. assoProjectEvent2.setProjectId(projectId);
  59. //创建人
  60. assoProjectEvent2.setCreateId(personnelVO.getId());
  61. //类型为专题库
  62. assoProjectEvent2.setProjectType(type);
  63. assoProjectEvents.add(assoProjectEvent2);
  64. }
  65. }
  66. if (assoProjectEvents != null && assoProjectEvents.size() != 0) {
  67. this.saveBatch(assoProjectEvents);
  68. }
  69. }
  70. }