16873c70c2ebe38bd43a6694f14112252a8ffba5.svn-base 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. package cn.com.goldenwater.dcproj.service.impl.plansd;
  2. import cn.com.goldenwater.dcproj.dao.BisInspPlanDtlAddvcdDao;
  3. import cn.com.goldenwater.dcproj.dao.BisInspPlanDtlPtypDao;
  4. import cn.com.goldenwater.dcproj.dto.BisInspPlanDtlDto;
  5. import cn.com.goldenwater.dcproj.model.BisInspPlanDtlAddvcd;
  6. import cn.com.goldenwater.dcproj.model.BisInspPlanDtlPtyp;
  7. import cn.com.goldenwater.dcproj.param.BisInspPlanDtlAddvcdParam;
  8. import cn.com.goldenwater.dcproj.param.BisInspPlanDtlPtypParam;
  9. import cn.com.goldenwater.dcproj.service.BisInspPlanDtlAddvcdService;
  10. import cn.com.goldenwater.core.service.AbstractCrudService;
  11. import cn.com.goldenwater.dcproj.utils.StringUtils;
  12. import org.apache.commons.collections.CollectionUtils;
  13. import org.apache.commons.compress.utils.Lists;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.stereotype.Service;
  16. import org.springframework.transaction.annotation.Transactional;
  17. import cn.com.goldenwater.id.util.UuidUtil;
  18. import java.util.*;
  19. import java.util.stream.Collectors;
  20. /**
  21. * @author hjp
  22. * @date 2022-8-9
  23. */
  24. @Service
  25. @Transactional
  26. public class BisInspPlanDtlAddvcdServiceImpl extends AbstractCrudService<BisInspPlanDtlAddvcd, BisInspPlanDtlAddvcdParam> implements BisInspPlanDtlAddvcdService {
  27. @Autowired
  28. private BisInspPlanDtlAddvcdDao bisInspPlanDtlAddvcdDao;
  29. @Autowired
  30. private BisInspPlanDtlPtypDao bisInspPlanDtlPtypDao;
  31. public BisInspPlanDtlAddvcdServiceImpl(BisInspPlanDtlAddvcdDao bisInspPlanDtlAddvcdDao) {
  32. super(bisInspPlanDtlAddvcdDao);
  33. this.bisInspPlanDtlAddvcdDao = bisInspPlanDtlAddvcdDao;
  34. }
  35. @Override
  36. public int insert(BisInspPlanDtlAddvcd bisInspPlanDtlAddvcd) {
  37. String uuid = UuidUtil.uuid(); // 生成uuid
  38. bisInspPlanDtlAddvcd.setId(uuid);
  39. bisInspPlanDtlAddvcd.setIntm(new Date());
  40. bisInspPlanDtlAddvcd.setUptm(new Date());
  41. bisInspPlanDtlAddvcd.setDataStat("0");
  42. return this.bisInspPlanDtlAddvcdDao.insert(bisInspPlanDtlAddvcd);
  43. }
  44. @Override
  45. public int update(BisInspPlanDtlAddvcd bisInspPlanDtlAddvcd) {
  46. bisInspPlanDtlAddvcd.setUptm(new Date());
  47. return this.bisInspPlanDtlAddvcdDao.update(bisInspPlanDtlAddvcd);
  48. }
  49. @Override
  50. public int delete(String id) {
  51. return this.bisInspPlanDtlAddvcdDao.delete(id);
  52. }
  53. @Override
  54. public List<Map<String,String>> getByAdCodeAndTm(BisInspPlanDtlDto dto) {
  55. // 同一个市
  56. String adCodeStr = CollectionUtils.isEmpty(dto.getdAdCodes()) ? "" : dto.getdAdCodes().stream().map(m->m.substring(0,4)).distinct().collect(Collectors.joining("','","'","'"));
  57. if (StringUtils.isBlank(adCodeStr) || Objects.isNull(dto.getStTm()) || Objects.isNull(dto.getEnTm())){
  58. return Lists.newArrayList();
  59. }
  60. return bisInspPlanDtlAddvcdDao.getByAdCodeAndTm(adCodeStr,dto.getStTm(),dto.getEnTm());
  61. }
  62. @Override
  63. public List<Map<String,String>> getByAdCodeAndTmAndPlan(BisInspPlanDtlDto dto) {
  64. // 同一年度同一月份不同区域
  65. String adCodeStr = CollectionUtils.isEmpty(dto.getdAdCodes()) ? "" : dto.getdAdCodes().stream().map(m->m.substring(0,4)).distinct().collect(Collectors.joining("','","'","'"));
  66. if (StringUtils.isBlank(adCodeStr) || Objects.isNull(dto.getStTm()) || Objects.isNull(dto.getPlanId())){
  67. return Lists.newArrayList();
  68. }
  69. return bisInspPlanDtlAddvcdDao.getByAdCodeAndTmAndPlan(adCodeStr,dto.getStTm(),dto.getPlanId());
  70. }
  71. @Override
  72. public List<BisInspPlanDtlDto> getByAdCodeAndTmList(String hasAdCodes, BisInspPlanDtlDto dto) {
  73. if (StringUtils.isBlank(hasAdCodes) || Objects.isNull(dto.getStTm()) || Objects.isNull(dto.getEnTm())){
  74. return Lists.newArrayList();
  75. }
  76. List<BisInspPlanDtlDto> byAdCodeAndTmList = bisInspPlanDtlAddvcdDao.getByAdCodeAndTmList(hasAdCodes, dto.getStTm(), dto.getEnTm());
  77. if(null != byAdCodeAndTmList && byAdCodeAndTmList.size()>0){
  78. byAdCodeAndTmList.forEach(l->{
  79. //检查行政区
  80. Optional.ofNullable(bisInspPlanDtlAddvcdDao.findList(new BisInspPlanDtlAddvcdParam(l.getId()))).ifPresent(a -> {
  81. l.setdAdName(a.stream().map(BisInspPlanDtlAddvcd::getAdName).collect(Collectors.joining(",")));
  82. l.setdAdCodes(a.stream().map(BisInspPlanDtlAddvcd::getAdCode).collect(Collectors.toList()));
  83. });
  84. //督查类型
  85. Optional.ofNullable(bisInspPlanDtlPtypDao.findList(new BisInspPlanDtlPtypParam(l.getId()))).ifPresent(b -> {
  86. l.setpTypeNames(b.stream().map(BisInspPlanDtlPtyp::getNm).collect(Collectors.joining(",")));
  87. l.setPtypIds(b.stream().map(BisInspPlanDtlPtyp::getPtype).collect(Collectors.toList()));
  88. });
  89. });
  90. }
  91. return byAdCodeAndTmList ;
  92. }
  93. }