liujie
2026-09-15 5a95ec36565d7ecc1a5ecb261f26752c90dec120
admin-server/src/main/java/com/estate/expert/admin/service/impl/ReportServiceImpl.java
@@ -15,6 +15,7 @@
import com.estate.expert.admin.service.eval.EvalFuzzyService;
import com.estate.expert.admin.service.eval.EvalScoreService;
import com.estate.expert.admin.stat.report.builder.DeviceReportBuilder;
import com.estate.expert.admin.stat.report.builder.ChengduHengtaiSystemReportBuilder;
import com.estate.expert.admin.stat.report.builder.ReportBuilderBase;
import com.estate.expert.admin.stat.report.builder.SystemReportBuilder;
import com.estate.expert.admin.stat.report.data.DeviceReportData;
@@ -52,6 +53,7 @@
    private static final String DAIGUAN_SYSTEM_TEMPLATE_FILE = "第三方评估报告new.docx";
    private static final String DAIGUAN_REMARK = "岱观科技";
    private static final String DAIGUAN_DEVICE_TEMPLATE_FILE = "设备风险评估报告new.docx";
    private static final String CHENGDU_HENGTAI_REMARK = "成都衡泰";
    @Resource
    private ReportTemplateService reportTemplateService;
@@ -194,6 +196,9 @@
        BizResultCode.BIZ_REPORT_TEMPLATE_NOT_EXIST.check(reportTemplate == null);
        switch (reportTemplate.getType()) {
            case ThirdPartyReport:
                if (isChengduHengtaiTemplate(reportTemplate)) {
                    return new ChengduHengtaiSystemReportBuilder(userFileService);
                }
                if (isDaiguanTechTemplate(reportTemplate)) {
                    return new SystemReportBuilder(userFileService, DAIGUAN_SYSTEM_TEMPLATE_FILE);
                }
@@ -479,6 +484,12 @@
        return DAIGUAN_TECH_REMARK.equals(reportTemplate.getRemark().trim());
    }
    private boolean isChengduHengtaiTemplate(ReportTemplate reportTemplate) {
        return reportTemplate != null
                && reportTemplate.getRemark() != null
                && CHENGDU_HENGTAI_REMARK.equals(reportTemplate.getRemark().trim());
    }
    private long countProjectChecks(Integer projectId) {
        if (projectId == null) {
            return 0L;