RationDetailBiz.java 2.54 KB
package com.cjs.cms.biz.ration;

import java.io.File;
import java.net.URI;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

import com.cjs.cms.action.user.fund.UserBalanceAction;
import com.cjs.cms.dao.ration.RationNewRecordDao;
import com.cjs.cms.util.file.FileUtil;
import com.cjs.cms.util.lang.DateEnum;
import com.cjs.cms.util.lang.DateUtil;
import com.cjs.cms.util.poi.ExcelConfig;
import com.cjs.cms.util.poi.ExcelUtil;

@Service
public class RationDetailBiz {

    @Autowired
    private RationNewRecordDao rationNewRecordDao;
    @Value("${download.export}")
    private String             exportPath;

    /**配售详情-查询*/
    public List<Map<String, Object>> search(Map<String, Object> params) {
        return rationNewRecordDao.queryRationDetail(params);
    }

    /**配售详情-查询计数*/
    public int searchTotal(Map<String, Object> params) {
        return rationNewRecordDao.queryRationDetailTotal(params);
    }

    /**汇总部分查询*/
    public Map<String, Object> searchSum(Map<String, Object> params) {
        return rationNewRecordDao.queryRationDetailSum(params);
    }

    /**导出详情*/
    public File export(Map<String, Object> params) throws Exception {
        String filename = "配售详情_" + DateUtil.getNow(DateEnum.UNSIGNED_DATE_TIME);
        filename = FileUtil.makeMonthDir(exportPath) + filename + ".xlsx";
        File targetFile = new File(filename);
        ExcelConfig config = new ExcelConfig();
        URI template = UserBalanceAction.class.getResource("/excel/ration_detail.xlsx").toURI();
        List<Map<String, Object>> list = rationNewRecordDao.queryRationDetail(params);
        for (Map<String, Object> map : list) {
            if ("1".equals(map.get("ration_status"))) {
                map.put("ration_status", "配售成功");
            } else if ("0".equals(map.get("ration_status"))) {
                map.put("ration_status", "配售失败");
            }
            if ("1".equals(map.get("registration"))) {
                map.put("registration", "已导出");
            } else if ("0".equals(map.get("registration"))) {
                map.put("registration", "未导出");
            }
        }
        // 先生成Excel文件
        config.setSourceTemplate(new File(template));
        config.setTargetFile(targetFile);
        config.setData(list);
        new ExcelUtil(config).writeExcel();
        return targetFile;
    }
}