“mitao”
2026-03-03 86c03bbc2e288482c57f74cf4e40eee386c132ca
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package com.estate.expert.admin.service.impl;
 
import com.estate.expert.admin.domain.common.request.PageReq;
import com.estate.expert.admin.domain.common.response.PageResp;
import com.estate.expert.admin.domain.report.ReportTemplate;
import com.estate.expert.admin.domain.report.ReportTemplateDto;
import com.estate.expert.admin.domain.report.ReportTemplateRepository;
import com.estate.expert.admin.domain.report.ReportTemplateType;
import com.estate.expert.admin.domain.user.User;
import com.estate.expert.admin.service.ReportTemplateService;
import com.estate.expert.admin.service.UserService;
import com.estate.expert.admin.service.common.CrudServiceBaseImpl;
import org.springframework.stereotype.Service;
 
import javax.annotation.Resource;
import java.util.List;
 
/**
 * 报告模板服务实现 
*/
@Service
public class ReportTemplateServiceImpl extends CrudServiceBaseImpl<ReportTemplate, ReportTemplateDto> implements ReportTemplateService {
 
    @Resource
    private ReportTemplateRepository reportTemplateRepository;
 
    @Resource
    private UserService userService;
 
    @Override
    public PageResp<ReportTemplateDto> list(String keyword, PageReq pageReq) {
        var page = reportTemplateRepository.list(keyword, pageReq.toPageRequest());
        return PageResp.of(page, toDto(page.getContent()));
    }
 
    @Override
    public ReportTemplate add(User creator, ReportTemplate entity) {
        if(entity.getConfig() == null)
            entity.setConfig(entity.getType().getConfig());
        entity.setSubNumber("N/A");
        return super.add(creator, entity);
    }
 
    @Override
    public void createDefaultTemplates() {
        var template = ReportTemplateDto.builder()
                .number("JZY-2024")
//                .subNumber("DSFPG-001")
                .name("第三方评估报告示例")
                .type(ReportTemplateType.ThirdPartyReport)
                .build();
        add(userService.getSystemUser(), template);
 
        template = ReportTemplateDto.builder()
                .number("JZY-2024")
//                .subNumber("DB-001")
                .name("设备报告示例")
                .type(ReportTemplateType.DeviceReport)
                .build();
        add(userService.getSystemUser(), template);
    }
 
    @Override
    public List<ReportTemplate> getTemplate(Integer type) {
        return List.of();
    }
}