TbCctvMonitoringService.java 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package com.its.op.service.cctv;
  2. import com.its.op.model.dto.cctv.CctvMonitoringDto;
  3. import com.its.op.model.entity.cctv.CctvMonitoring;
  4. import com.its.op.repository.cctv.CctvMonitoringRepository;
  5. import lombok.RequiredArgsConstructor;
  6. import lombok.extern.slf4j.Slf4j;
  7. import org.springframework.stereotype.Service;
  8. import javax.transaction.Transactional;
  9. import java.util.ArrayList;
  10. import java.util.HashSet;
  11. import java.util.List;
  12. @Slf4j
  13. @RequiredArgsConstructor
  14. @Service
  15. public class TbCctvMonitoringService {
  16. private final CctvMonitoringRepository repo;
  17. public List<CctvMonitoring> findAll() {
  18. try {
  19. return this.repo.findAll();
  20. }
  21. catch (Exception e) {
  22. log.error("{}.findAll: Exception: {}", getClass().getSimpleName(), e.getMessage());
  23. }
  24. return new ArrayList<CctvMonitoring>();
  25. }
  26. public List<CctvMonitoring> findByName(String name) {
  27. try {
  28. return this.repo.findByName(name);
  29. }
  30. catch (Exception e) {
  31. log.error("{}.findByName: Object: {}, Exception: {}", getClass().getSimpleName(), name, e.getMessage());
  32. }
  33. return new ArrayList<CctvMonitoring>();
  34. }
  35. @Transactional
  36. public List<CctvMonitoringDto.CctvMonitoringUpdateReq> mergeInfo(List<CctvMonitoringDto.CctvMonitoringUpdateReq> req) {
  37. try {
  38. HashSet<String> names = new HashSet<String>();
  39. for (CctvMonitoringDto.CctvMonitoringUpdateReq obj : req) {
  40. names.add(obj.getMONITORING_NM());
  41. }
  42. for (String name : names) {
  43. this.repo.deleteByName(name);
  44. }
  45. //this.repo.flush();
  46. for (CctvMonitoringDto.CctvMonitoringUpdateReq obj : req) {
  47. CctvMonitoring data = new CctvMonitoring(3, obj);
  48. //this.repo.save(data);
  49. this.repo.insertValue(data.getMONITORING_TYPE(),
  50. data.getMONITORING_NM(),
  51. data.getMONITORING_SEQ(),
  52. data.getCCTV_CTLR_NMBR(),
  53. data.getVIEW_MODE());
  54. }
  55. return req;
  56. }
  57. catch (Exception e) {
  58. log.error("{}.mergeInfo: Object: {}, Exception: {}", getClass().getSimpleName(), req, e.getMessage());
  59. }
  60. return null;
  61. }
  62. @Transactional
  63. public List<CctvMonitoring> deleteByName(String name) {
  64. try {
  65. List<CctvMonitoring> result = this.repo.findByName(name);
  66. if (result != null && result.size() > 0) {
  67. this.repo.deleteByName(name);
  68. }
  69. return result;
  70. }
  71. catch (Exception e) {
  72. log.error("{}.deleteByName: Object: {}, Exception: {}", getClass().getSimpleName(), name, e.getMessage());
  73. }
  74. return new ArrayList<CctvMonitoring>();
  75. }
  76. }