MasterService.java 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package com.uas.erp.database.service;
  2. import com.uas.erp.database.domain.Master;
  3. import com.uas.erp.database.domain.MasterView;
  4. import com.uas.erp.database.entity.DBA;
  5. import org.springframework.beans.factory.InitializingBean;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.stereotype.Service;
  8. import org.springframework.util.CollectionUtils;
  9. import java.util.LinkedHashSet;
  10. import java.util.List;
  11. import java.util.Set;
  12. import java.util.concurrent.ConcurrentSkipListSet;
  13. /**
  14. * Created by Pro1 on 2017/7/27.
  15. */
  16. @Service
  17. public class MasterService implements InitializingBean{
  18. @Autowired
  19. private DBAService dbaService;
  20. private Set<Master> masters;
  21. /**
  22. * 查找全部账套
  23. */
  24. public void scanAll() {
  25. masters = new ConcurrentSkipListSet<>();
  26. List<DBA> dbas = dbaService.findAll();
  27. if (!CollectionUtils.isEmpty(dbas)) {
  28. for (DBA dba : dbas) {
  29. masters.addAll(dbaService.getMasters(dba));
  30. }
  31. }
  32. }
  33. @Override
  34. public void afterPropertiesSet() throws Exception {
  35. this.scanAll();
  36. }
  37. public Set<Master> findAll(boolean cloudEnabled) {
  38. if (!cloudEnabled) {
  39. return masters;
  40. }
  41. Set<Master> cloudMasters = new LinkedHashSet<>();
  42. for (Master master : masters) {
  43. if (master.isCloudEnabled()) {
  44. cloudMasters.add(master);
  45. }
  46. }
  47. return cloudMasters;
  48. }
  49. public Set<MasterView> findAllView(boolean cloudEnabled) {
  50. Set<MasterView> views = new LinkedHashSet<>();
  51. Set<Master> thisMasters = findAll(cloudEnabled);
  52. for (Master master : thisMasters) {
  53. views.add(new MasterView(master));
  54. }
  55. return views;
  56. }
  57. public Master findOne(String qualifier) {
  58. for (Master master : masters) {
  59. if (master.qualifier().equals(qualifier)) {
  60. return master;
  61. }
  62. }
  63. return null;
  64. }
  65. }