f563b420d382698a8b8905a80dfb6e9494c79850.svn-base 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. package org.jeecg.modules.online.cgreport.service.impl;
  2. import java.util.Arrays;
  3. import java.util.HashMap;
  4. import java.util.List;
  5. import java.util.Map;
  6. import javax.annotation.Resource;
  7. import org.jeecg.modules.online.cgreport.entity.DiagramCombination;
  8. import org.jeecg.modules.online.cgreport.entity.DiagramCombinationQueryConfig;
  9. import org.jeecg.modules.online.cgreport.mapper.DiagramCombinationMapper;
  10. import org.jeecg.modules.online.cgreport.service.IDiagramCombinationDetailService;
  11. import org.jeecg.modules.online.cgreport.service.IDiagramCombinationQueryConfigService;
  12. import org.jeecg.modules.online.cgreport.service.IDiagramCombinationService;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.stereotype.Service;
  15. import org.springframework.transaction.annotation.Transactional;
  16. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  17. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  18. @Service
  19. public class DiagramCombinationServiceImpl extends ServiceImpl<DiagramCombinationMapper, DiagramCombination>
  20. implements IDiagramCombinationService {
  21. @Autowired
  22. private IDiagramCombinationDetailService diagramCombinationDetailService;
  23. @Autowired
  24. private IDiagramCombinationQueryConfigService diagramCombinationQueryConfigService;
  25. @Resource
  26. private DiagramCombinationMapper diagramCombinationMapper;
  27. @Override
  28. @Transactional(rollbackFor = Exception.class)
  29. public void add(DiagramCombination diagramCombination) {
  30. // 保存主表信息
  31. this.save(diagramCombination);
  32. // 保存子表信息
  33. if (diagramCombination != null && diagramCombination.getDiagramCombinationDetails() != null
  34. && !diagramCombination.getDiagramCombinationDetails().isEmpty()) {
  35. diagramCombination.getDiagramCombinationDetails()
  36. .forEach(dcd -> dcd.setGraphreportTempletId(diagramCombination.getId()));
  37. this.diagramCombinationDetailService.saveBatch(diagramCombination.getDiagramCombinationDetails());
  38. // 设置查询配置所属组合报表ID
  39. List<DiagramCombinationQueryConfig> diagramCombinationQueryConfigs = diagramCombination.getDiagramCombinationQueryConfigs();
  40. diagramCombinationQueryConfigs.forEach(item -> {
  41. item.setGraphreportTempletId(diagramCombination.getId());
  42. });
  43. this.diagramCombinationQueryConfigService.saveBatch(diagramCombination.getDiagramCombinationQueryConfigs());
  44. }
  45. }
  46. @Override
  47. @Transactional(rollbackFor = Exception.class)
  48. public void edit(DiagramCombination diagramCombination) {
  49. this.updateById(diagramCombination);
  50. // 更新子表信息
  51. Map<String, Object> columnMap = new HashMap<>();
  52. columnMap.put("GRAPHREPORT_TEMPLET_ID", diagramCombination.getId());
  53. this.diagramCombinationDetailService.removeByMap(columnMap);
  54. this.diagramCombinationDetailService.saveBatch(diagramCombination.getDiagramCombinationDetails());
  55. // 更新查询配置子表信息
  56. this.diagramCombinationQueryConfigService.removeByMap(columnMap);
  57. // 设置所属组合报表模板ID
  58. List<DiagramCombinationQueryConfig> diagramCombinationQueryConfigs = diagramCombination.getDiagramCombinationQueryConfigs();
  59. diagramCombinationQueryConfigs.forEach(item -> {
  60. item.setGraphreportTempletId(diagramCombination.getId());
  61. });
  62. this.diagramCombinationQueryConfigService.saveBatch(diagramCombination.getDiagramCombinationQueryConfigs());
  63. }
  64. @Override
  65. @Transactional(rollbackFor = Exception.class)
  66. public void deleteById(String id) {
  67. DiagramCombination diagramCombination = super.getById(id);
  68. this.removeById(id);
  69. // 删除子表信息
  70. Map<String, Object> columnMap = new HashMap<>();
  71. columnMap.put("GRAPHREPORT_TEMPLET_ID", diagramCombination.getId());
  72. this.diagramCombinationDetailService.removeByMap(columnMap);
  73. this.diagramCombinationQueryConfigService.removeByMap(columnMap);
  74. }
  75. @Override
  76. @Transactional(rollbackFor = Exception.class)
  77. public void deleteBatch(String ids) {
  78. List<String> idList = Arrays.asList(ids.split(","));
  79. QueryWrapper<DiagramCombination> queryWrapper = new QueryWrapper<>();
  80. queryWrapper.in("ID", idList);
  81. List<DiagramCombination> diagramCombinationList = super.list(queryWrapper);
  82. this.removeByIds(idList);
  83. // 删除子表信息
  84. if (diagramCombinationList != null && !diagramCombinationList.isEmpty()) {
  85. Map<String, Object> columnMap = new HashMap<>();
  86. for (DiagramCombination diagramCombination : diagramCombinationList) {
  87. columnMap.clear();
  88. columnMap.put("GRAPHREPORT_TEMPLET_ID", diagramCombination.getId());
  89. this.diagramCombinationDetailService.removeByMap(columnMap);
  90. this.diagramCombinationQueryConfigService.removeByMap(columnMap);
  91. }
  92. }
  93. }
  94. @Override
  95. public List<DiagramCombination> selectBySql(String sql) {
  96. return this.diagramCombinationMapper.selectBySql(sql);
  97. }
  98. }