package com.fzzy.common;
|
|
import com.fzzy.common.manager.ExportManager;
|
import com.fzzy.igds.ReportInDetailPR;
|
import com.fzzy.igds.ReportOutDetailPR;
|
import com.fzzy.igds.SuperInventoryReportPR;
|
import com.fzzy.igds.data.ExportWordParam;
|
import com.fzzy.igds.data.InoutParam;
|
import com.fzzy.igds.data.SuperInventoryReportData;
|
import com.fzzy.igds.data.SuperInventoryReportParam;
|
import com.fzzy.igds.domain.InoutRecord;
|
import com.fzzy.igds.service.SysDeptService;
|
import com.fzzy.igds.utils.ContextUtil;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.entity.SysDept;
|
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletResponse;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* @Description 数据导出入口
|
* @Author CZT
|
* @Date 2025/12/29 10:32
|
*/
|
@Slf4j
|
@Controller
|
@RequestMapping("export")
|
public class ExportController {
|
|
@Resource
|
private ExportManager exportManager;
|
@Resource
|
private SysDeptService sysDeptService;
|
@Resource
|
private ReportInDetailPR reportInDetailPR;
|
@Resource
|
private ReportOutDetailPR reportOutDetailPR;
|
@Resource
|
private SuperInventoryReportPR superInventoryReportPR;
|
|
/**
|
* 导出word并下载
|
*
|
* @param response
|
* @param bizId
|
* @param entityName
|
*/
|
@RequestMapping("/download-word")
|
public void downloadWord(HttpServletResponse response,
|
@RequestParam(value = "bizId", required = true) String bizId,
|
@RequestParam(value = "entityName", required = true) String entityName) {
|
|
ExportWordParam param = new ExportWordParam();
|
param.setBizId(bizId);
|
param.setEntityName(entityName);
|
exportManager.renderWordDownload(param, response);
|
}
|
|
/**
|
* PDF在线预览
|
*
|
* @param response
|
* @param bizId
|
* @param entityName
|
*/
|
@RequestMapping("/preview-pdf")
|
public void previewPdf(HttpServletResponse response,
|
@RequestParam(value = "bizId", required = true) String bizId,
|
@RequestParam(value = "entityName", required = true) String entityName) {
|
|
//TODO 待实现
|
ExportWordParam param = new ExportWordParam();
|
param.setBizId(bizId);
|
param.setEntityName(entityName);
|
|
}
|
|
/**
|
* 出入库报表导出
|
* @return
|
*/
|
@RequestMapping("/inout-excel")
|
@ResponseBody
|
public AjaxResult inOutExcel(InoutParam param) {
|
//设置标题
|
String sheetName = "报表数据";
|
//查询数据
|
List<InoutRecord> list = new ArrayList<>();
|
|
if (StringUtils.isNotEmpty(param.getType()) && "IN".equals(param.getType())) {
|
sheetName = "入库报表数据";
|
list = reportInDetailPR.listRecord(param);
|
}
|
|
if (StringUtils.isNotEmpty(param.getType()) && "OUT".equals(param.getType())) {
|
sheetName = "出库报表数据";
|
list = reportOutDetailPR.listRecord(param);
|
}
|
|
//获取分库编码对应的分库名称
|
String deptName = "";
|
SysDept subDept = sysDeptService.getCacheDept(null, ContextUtil.subDeptId(null));
|
if (null != subDept) {
|
deptName = subDept.getDeptName();
|
}
|
|
//导出
|
ExcelUtil<InoutRecord> util = new ExcelUtil<InoutRecord>(InoutRecord.class);
|
return util.exportExcel(list, sheetName, deptName);
|
}
|
|
/**
|
* 库存报表导出
|
* @return
|
*/
|
@RequestMapping("/storage-excel")
|
@ResponseBody
|
public AjaxResult storageExcel(SuperInventoryReportParam param) {
|
//设置标题
|
String sheetName = "库存报表数据";
|
//查询数据
|
List<SuperInventoryReportData> list = superInventoryReportPR.getReportData(param);
|
//获取分库编码对应的分库名称
|
String deptName = "";
|
SysDept subDept = sysDeptService.getCacheDept(null, ContextUtil.subDeptId(null));
|
if (null != subDept) {
|
deptName = subDept.getDeptName();
|
}
|
|
//导出
|
ExcelUtil<SuperInventoryReportData> util = new ExcelUtil<SuperInventoryReportData>(SuperInventoryReportData.class);
|
return util.exportExcel(list, sheetName, deptName);
|
}
|
|
}
|