WdInfoServiceImpl.java 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. package com.ruoyi.demo.service.impl;
  2. import com.ruoyi.demo.entity.WdOpclose;
  3. import com.ruoyi.demo.entity.vo.AddStatusVo;
  4. import com.ruoyi.demo.entity.vo.WdOpcloseVo;
  5. import com.ruoyi.demo.mapper.WdInfoMapper;
  6. import com.ruoyi.demo.mapper.WdOpcloseDao;
  7. import com.ruoyi.demo.service.WdInfoService;
  8. import com.ruoyi.demo.utils.CategoryUtil;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Service;
  11. import java.time.LocalDateTime;
  12. import java.time.ZoneId;
  13. import java.time.format.DateTimeFormatter;
  14. import java.util.ArrayList;
  15. import java.util.List;
  16. @Service
  17. public class WdInfoServiceImpl implements WdInfoService {
  18. @Autowired
  19. CategoryUtil categoryUtil;
  20. @Autowired
  21. WdInfoMapper wdInfoMapper;
  22. @Autowired
  23. WdOpcloseDao wdOpcloseDao;
  24. @Override
  25. public List<AddStatusVo> searchAddStatus(List<String> addrCodes, List<String> typeCodes) {
  26. categoryUtil.setWdTypeMap();
  27. List<String> addrs = new ArrayList<>();
  28. List<String> times = new ArrayList<>();
  29. for (int i = 0; i < 12; i++){
  30. times.add(LocalDateTime.now(ZoneId.of("Asia/Shanghai")).plusMonths(-i).format(DateTimeFormatter.ofPattern("yyyy-MM")));
  31. }
  32. if (addrCodes != null){
  33. for (String s : addrCodes){
  34. List<String> allOtherAddrCode = categoryUtil.getAllOtherAddrCode(s);
  35. addrs.addAll(allOtherAddrCode);
  36. }
  37. }else{
  38. addrs = null;
  39. }
  40. List<AddStatusVo> addStatusVos = wdInfoMapper.searchAddStatusByMulti(times, addrs, typeCodes);
  41. for (AddStatusVo vo : addStatusVos){
  42. vo.setTypeName(categoryUtil.wdTypeMap.get(vo.getTypeCode()));
  43. }
  44. return addStatusVos;
  45. }
  46. @Override
  47. public List<WdOpcloseVo> searchWdOpcloses(List<String> addrCodes, List<String> wdTypeCodes) {
  48. categoryUtil.setAddrMap();
  49. List<WdOpcloseVo> vos = new ArrayList<>();
  50. if (addrCodes != null){
  51. for (String s : addrCodes){
  52. WdOpclose opclose = wdOpcloseDao.selectListByAddrCodeAndWdTypeCodes(categoryUtil.whatis(s), wdTypeCodes, LocalDateTime.now(ZoneId.of("Asia/Shanghai")).plusMonths(-1));
  53. if (opclose != null){
  54. WdOpcloseVo vo = new WdOpcloseVo(s,opclose);
  55. vo.setAddrName(categoryUtil.addrMap.get(s));
  56. vos.add(vo);
  57. }
  58. }
  59. return vos;
  60. }
  61. return vos;
  62. }
  63. // @Override
  64. // public List<WdAddrTypeDistribution> searchAddrTypeDistribution(List<String> addrCodes, List<String> typeCodes) {
  65. // List<String> acodes = new ArrayList<>();
  66. // for (String s : addrCodes){
  67. // List<String> allOtherAddrCode = getAllOtherAddrCode(s);
  68. // acodes.addAll(allOtherAddrCode);
  69. // }
  70. // List<WdAddrTypeDistribution> list = wdInfoMapper.searchAddrDisByMulti(acodes, typeCodes);
  71. // setTypeMap();
  72. // setAddrMap();
  73. // for (WdAddrTypeDistribution wd : list){
  74. // wd.setTypeName(typeMap.get(wd.getTypeCode()));
  75. // wd.setAddrName(addrMap.get(wd.getAddrCode()));
  76. // }
  77. // return list;
  78. // }
  79. // @Override
  80. // public List<WdAddrTypeDistribution> searchWdTypeDistribution(List<String> addrCodes, List<String> typeCodes) {
  81. // List<WdAddrTypeDistribution> list = wdInfoMapper.searchWdTypeDisByMulti(addrCodes, typeCodes);
  82. // setAddrMap();
  83. // setWdTypeMap();
  84. // for (WdAddrTypeDistribution wd : list){
  85. // wd.setAddrName(addrMap.get(wd.getAddrCode()));
  86. // wd.setTypeName(wdTypeMap.get(wd.getTypeCode()));
  87. // }
  88. // return list;
  89. // }
  90. // @Override
  91. // public List<WdAddrTypeDistribution> searchWdTotal() {
  92. // List<WdAddrTypeDistribution> list = wdInfoMapper.searchWdTotal();
  93. // setWdTypeMap();
  94. // for (WdAddrTypeDistribution wd : list){
  95. // wd.setTypeName(wdTypeMap.get(wd.getTypeCode()));
  96. // }
  97. // return list;
  98. // }
  99. }