TemplateDataSourceServiceImpl.java 4.32 KB
package com.lhcredit.project.business.templateDataSource.service;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
import java.util.ArrayList;
import java.util.stream.Collectors;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.deepoove.poi.config.ConfigureBuilder;
import com.deepoove.poi.data.DocxRenderData;
import com.deepoove.poi.data.Includes;
import com.lhcredit.common.utils.DateUtils;
import com.lhcredit.common.utils.PoitlUtils;
import com.lhcredit.common.utils.StreamUtils;
import com.lhcredit.common.utils.StringUtils;
import com.lhcredit.framework.web.domain.AjaxResult;
import com.lhcredit.project.business.reportMake.reportTemp.ReportTemplateService;
import com.lhcredit.project.business.reportMake.reportTemp.WebTempConfig;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.lhcredit.project.business.templateDataSource.mapper.TemplateDataSourceMapper;
import com.lhcredit.project.business.templateDataSource.domain.TemplateDataSource;
import com.lhcredit.common.utils.text.Convert;

/**
 * 报告模版数据源 服务层实现
 *
 * @author lhcredit
 * @date 2025-04-03
 */
@Service
public class TemplateDataSourceServiceImpl implements ITemplateDataSourceService {
    @Autowired
    private TemplateDataSourceMapper templateDataSourceMapper;


    /**
     * 查询报告模版数据源信息
     *
     * @param id 报告模版数据源ID
     * @return 报告模版数据源信息
     */
    @Override
    public TemplateDataSource selectTemplateDataSourceById(Integer id) {
        return templateDataSourceMapper.selectTemplateDataSourceById(id);
    }

    /**
     * 查询报告模版数据源列表
     *
     * @param templateDataSource 报告模版数据源信息
     * @return 报告模版数据源集合
     */
    @Override
    public List<TemplateDataSource> selectTemplateDataSourceList(TemplateDataSource templateDataSource) {
        return templateDataSourceMapper.selectTemplateDataSourceList(templateDataSource);
    }

    /**
     * 字段转换
     * @param templateDataSource 报告模版数据源信息
     * @return 报告模版数据源信息
     */
    @Override
    public TemplateDataSource changeModel(TemplateDataSource templateDataSource) {
//        //这里写各字段转换逻辑
//        if(templateDataSource!=null){
//            if(StringUtils.isNotEmpty(templateDataSource.getXXX())){
//               templateDataSource.setXXX(templateDataSource.getXXX());
//            }
//        }
        return templateDataSource;
    }

    /**
     * 列表转换
     *
     * @param templateDataSourceList 报告模版数据源集合
     * @return 报告模版数据源集合
     */
    @Override
    public List<TemplateDataSource> changeModel(List<TemplateDataSource> templateDataSourceList) {
        List<TemplateDataSource> result = new ArrayList<TemplateDataSource>();
        if (templateDataSourceList.size() > 0) {
            for (TemplateDataSource templateDataSource:templateDataSourceList){
                result.add(changeModel(templateDataSource));
            }
        }
        return result;
    }

    /**
     * 新增报告模版数据源
     *
     * @param templateDataSource 报告模版数据源信息
     * @return 结果
     */
    @Override
    public int insertTemplateDataSource(TemplateDataSource templateDataSource) {
        return templateDataSourceMapper.insertTemplateDataSource(templateDataSource);
    }

    /**
     * 修改报告模版数据源
     *
     * @param templateDataSource 报告模版数据源信息
     * @return 结果
     */
    @Override
    public int updateTemplateDataSource(TemplateDataSource templateDataSource) {
        return templateDataSourceMapper.updateTemplateDataSource(templateDataSource);
    }

    /**
     * 删除报告模版数据源对象
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deleteTemplateDataSourceByIds(String ids) {
        return templateDataSourceMapper.deleteTemplateDataSourceByIds(Convert.toStrArray(ids));
    }

}