Commit d3f7fabf by “Kongxiangkun”

报名明细导出

parent 7b6c49c0
......@@ -15,6 +15,7 @@ import com.yizhi.system.application.system.remote.OrganizationClient;
import com.yizhi.system.application.vo.AccountVO;
import com.yizhi.training.application.feign.TrainingProjectClient;
import com.yizhi.training.application.vo.domain.TrainingProjectVo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
......@@ -35,6 +36,7 @@ import java.util.*;
* @Date: 2020/2/25 15:56
* @Description:项目报名明细
*/
@Slf4j
@Component
public class EnrollerListExport extends AbstractDefaultTask<String, Map<String, Object>> {
private static final Logger LOGGER = LoggerFactory.getLogger(EnrollerListExport.class);
......@@ -55,8 +57,9 @@ public class EnrollerListExport extends AbstractDefaultTask<String, Map<String,
@Override
protected String execute(Map<String, Object> map) {
log.info("########### 导出报名明细 开始");
String uploadUrl = null;
try {
RequestContext res = (RequestContext) map.get("res");
Long accountId1 = res.getAccountId();
Long siteId = res.getSiteId();
......@@ -74,7 +77,7 @@ public class EnrollerListExport extends AbstractDefaultTask<String, Map<String,
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyyMMddHHmmss");
TaskContext taskContext = new TaskContext(taskId, serialNo, taskName, accountId1, comitTime, siteId, companyId);
working(taskContext);
log.info("########### 导出报名明细 开始2");
// 根据用户关键字获取用户ID集合
List<Long> userIdList = null;
......@@ -87,6 +90,8 @@ public class EnrollerListExport extends AbstractDefaultTask<String, Map<String,
e.printStackTrace();
enableEnroll = 1;
}
log.info("########### 导出报名明细 开始3");
List<AccountVO> userList = null;
if (StringUtils.isNotBlank(userName)) {
try {
......@@ -104,7 +109,7 @@ public class EnrollerListExport extends AbstractDefaultTask<String, Map<String,
e1.printStackTrace();
}
}
log.info("########### 导出报名明细 开始4");
if (StringUtils.isNotBlank(key)) {
orgIdList = organizationClient.findOrgIdByName(key, companyId);
if (CollectionUtils.isEmpty(orgIdList)) {
......@@ -133,6 +138,7 @@ public class EnrollerListExport extends AbstractDefaultTask<String, Map<String,
if (CollectionUtils.isEmpty(list)) {
success(taskContext, "执行成功,未查找到数据", uploadUrl);
}
log.info("########### 导出报名明细 开始5");
Map<Long, Object> accountMap = new HashMap<Long, Object>();
Map<Long, Object> orgMap = new HashMap<Long, Object>();
......@@ -192,7 +198,7 @@ public class EnrollerListExport extends AbstractDefaultTask<String, Map<String,
item.setOrgNames(orgNames);
}
log.info("########### 导出报名明细 开始6");
try {
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = wb.createSheet("项目报名明细");
......@@ -280,7 +286,11 @@ public class EnrollerListExport extends AbstractDefaultTask<String, Map<String,
fail(taskContext, "项目报名明细下载出现错误");
LOGGER.error("项目报名明细下载出现错误");
}
log.info("########### 导出报名明细 结束 {}", uploadUrl);
} catch (Exception e) {
log.error("导出报名明细 异常");
e.printStackTrace();
}
return uploadUrl;
}
}
......@@ -3,6 +3,8 @@ package com.yizhi.application.portal.controller;
import cn.hutool.core.collection.CollectionUtil;
import com.yizhi.core.application.context.ContextHolder;
import com.yizhi.core.application.context.RequestContext;
import com.yizhi.core.application.task.AbstractTaskHandler;
import com.yizhi.core.application.task.TaskExecutor;
import com.yizhi.exam.application.feign.ExamClient;
import com.yizhi.exam.application.vo.ContextAndPageSizeVO;
import com.yizhi.exam.application.vo.ExamDetailsMarkingVO;
......@@ -13,6 +15,7 @@ import com.yizhi.system.application.system.remote.AccountClient;
import com.yizhi.util.application.date.DateUtil;
import com.yizhi.util.application.domain.Response;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
......@@ -22,7 +25,9 @@ import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* com.yizhi.site.application.controller.api
......@@ -43,6 +48,13 @@ public class EventTrackManageController {
@Autowired
AccountClient accountClient;
@Autowired
private TaskExecutor taskExecutor;
@Value("${pc.host.url}")
String pcHostUrl;
@Autowired
private com.yizhi.application.portal.task.WorkbenchExportTask workbenchExportTask;
@GetMapping("/addEvent")
public Response addEvent(@RequestParam("type") String type, @RequestParam("businessId") Long businessId){
......@@ -142,4 +154,41 @@ public class EventTrackManageController {
public Response<List<EventTrackRankListVo>> queryRankList(@RequestParam(value = "date",required = false) String date, @RequestParam("type") String type){
return Response.ok(eventTrackApiClients.queryRankList(date, type));
}
/**
* 导出首页工作台数据
* @return
*/
@GetMapping("/export")
public Response<String> export() {
RequestContext context = ContextHolder.get();
Date submitTime = new Date();
Long taskId = System.currentTimeMillis();
String serialNo = "EVENTTRACK-EXPORT-" + taskId.toString();
String taskName = "首页工作台数据导出_" + taskId.toString();
Map<String, Object> params = new HashMap<>();
params.put("accountId", context.getAccountId());
params.put("siteId", context.getSiteId());
params.put("companyId", context.getCompanyId());
params.put("taskId", taskId);
params.put("submitTime", submitTime);
params.put("serialNo", serialNo);
params.put("taskName", taskName);
params.put("exportType", "all");
params.put("startDate", null);
params.put("endDate", null);
// 异步执行导出任务
taskExecutor.asynExecute(new AbstractTaskHandler() {
@Override
public void handle() {
workbenchExportTask.execute(params, false);
}
});
// 返回文件路径或下载链接
String fileUrl = pcHostUrl+"/api/v1/buckets/upload/objects/download/?preview=true&prefix=" + taskName + ".xlsx";
return Response.ok(fileUrl);
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment