Commit d3f7fabf by “Kongxiangkun”

报名明细导出

parent 7b6c49c0
...@@ -15,6 +15,7 @@ import com.yizhi.system.application.system.remote.OrganizationClient; ...@@ -15,6 +15,7 @@ import com.yizhi.system.application.system.remote.OrganizationClient;
import com.yizhi.system.application.vo.AccountVO; import com.yizhi.system.application.vo.AccountVO;
import com.yizhi.training.application.feign.TrainingProjectClient; import com.yizhi.training.application.feign.TrainingProjectClient;
import com.yizhi.training.application.vo.domain.TrainingProjectVo; import com.yizhi.training.application.vo.domain.TrainingProjectVo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFSheet;
...@@ -35,6 +36,7 @@ import java.util.*; ...@@ -35,6 +36,7 @@ import java.util.*;
* @Date: 2020/2/25 15:56 * @Date: 2020/2/25 15:56
* @Description:项目报名明细 * @Description:项目报名明细
*/ */
@Slf4j
@Component @Component
public class EnrollerListExport extends AbstractDefaultTask<String, Map<String, Object>> { public class EnrollerListExport extends AbstractDefaultTask<String, Map<String, Object>> {
private static final Logger LOGGER = LoggerFactory.getLogger(EnrollerListExport.class); private static final Logger LOGGER = LoggerFactory.getLogger(EnrollerListExport.class);
...@@ -55,8 +57,9 @@ public class EnrollerListExport extends AbstractDefaultTask<String, Map<String, ...@@ -55,8 +57,9 @@ public class EnrollerListExport extends AbstractDefaultTask<String, Map<String,
@Override @Override
protected String execute(Map<String, Object> map) { protected String execute(Map<String, Object> map) {
log.info("########### 导出报名明细 开始");
String uploadUrl = null; String uploadUrl = null;
try {
RequestContext res = (RequestContext) map.get("res"); RequestContext res = (RequestContext) map.get("res");
Long accountId1 = res.getAccountId(); Long accountId1 = res.getAccountId();
Long siteId = res.getSiteId(); Long siteId = res.getSiteId();
...@@ -74,7 +77,7 @@ public class EnrollerListExport extends AbstractDefaultTask<String, Map<String, ...@@ -74,7 +77,7 @@ public class EnrollerListExport extends AbstractDefaultTask<String, Map<String,
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyyMMddHHmmss"); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyyMMddHHmmss");
TaskContext taskContext = new TaskContext(taskId, serialNo, taskName, accountId1, comitTime, siteId, companyId); TaskContext taskContext = new TaskContext(taskId, serialNo, taskName, accountId1, comitTime, siteId, companyId);
working(taskContext); working(taskContext);
log.info("########### 导出报名明细 开始2");
// 根据用户关键字获取用户ID集合 // 根据用户关键字获取用户ID集合
List<Long> userIdList = null; List<Long> userIdList = null;
...@@ -87,6 +90,8 @@ public class EnrollerListExport extends AbstractDefaultTask<String, Map<String, ...@@ -87,6 +90,8 @@ public class EnrollerListExport extends AbstractDefaultTask<String, Map<String,
e.printStackTrace(); e.printStackTrace();
enableEnroll = 1; enableEnroll = 1;
} }
log.info("########### 导出报名明细 开始3");
List<AccountVO> userList = null; List<AccountVO> userList = null;
if (StringUtils.isNotBlank(userName)) { if (StringUtils.isNotBlank(userName)) {
try { try {
...@@ -104,7 +109,7 @@ public class EnrollerListExport extends AbstractDefaultTask<String, Map<String, ...@@ -104,7 +109,7 @@ public class EnrollerListExport extends AbstractDefaultTask<String, Map<String,
e1.printStackTrace(); e1.printStackTrace();
} }
} }
log.info("########### 导出报名明细 开始4");
if (StringUtils.isNotBlank(key)) { if (StringUtils.isNotBlank(key)) {
orgIdList = organizationClient.findOrgIdByName(key, companyId); orgIdList = organizationClient.findOrgIdByName(key, companyId);
if (CollectionUtils.isEmpty(orgIdList)) { if (CollectionUtils.isEmpty(orgIdList)) {
...@@ -133,6 +138,7 @@ public class EnrollerListExport extends AbstractDefaultTask<String, Map<String, ...@@ -133,6 +138,7 @@ public class EnrollerListExport extends AbstractDefaultTask<String, Map<String,
if (CollectionUtils.isEmpty(list)) { if (CollectionUtils.isEmpty(list)) {
success(taskContext, "执行成功,未查找到数据", uploadUrl); success(taskContext, "执行成功,未查找到数据", uploadUrl);
} }
log.info("########### 导出报名明细 开始5");
Map<Long, Object> accountMap = new HashMap<Long, Object>(); Map<Long, Object> accountMap = new HashMap<Long, Object>();
Map<Long, Object> orgMap = new HashMap<Long, Object>(); Map<Long, Object> orgMap = new HashMap<Long, Object>();
...@@ -192,7 +198,7 @@ public class EnrollerListExport extends AbstractDefaultTask<String, Map<String, ...@@ -192,7 +198,7 @@ public class EnrollerListExport extends AbstractDefaultTask<String, Map<String,
item.setOrgNames(orgNames); item.setOrgNames(orgNames);
} }
log.info("########### 导出报名明细 开始6");
try { try {
XSSFWorkbook wb = new XSSFWorkbook(); XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = wb.createSheet("项目报名明细"); XSSFSheet sheet = wb.createSheet("项目报名明细");
...@@ -280,7 +286,11 @@ public class EnrollerListExport extends AbstractDefaultTask<String, Map<String, ...@@ -280,7 +286,11 @@ public class EnrollerListExport extends AbstractDefaultTask<String, Map<String,
fail(taskContext, "项目报名明细下载出现错误"); fail(taskContext, "项目报名明细下载出现错误");
LOGGER.error("项目报名明细下载出现错误"); LOGGER.error("项目报名明细下载出现错误");
} }
log.info("########### 导出报名明细 结束 {}", uploadUrl);
} catch (Exception e) {
log.error("导出报名明细 异常");
e.printStackTrace();
}
return uploadUrl; return uploadUrl;
} }
} }
...@@ -3,6 +3,8 @@ package com.yizhi.application.portal.controller; ...@@ -3,6 +3,8 @@ package com.yizhi.application.portal.controller;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.yizhi.core.application.context.ContextHolder; import com.yizhi.core.application.context.ContextHolder;
import com.yizhi.core.application.context.RequestContext; 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.feign.ExamClient;
import com.yizhi.exam.application.vo.ContextAndPageSizeVO; import com.yizhi.exam.application.vo.ContextAndPageSizeVO;
import com.yizhi.exam.application.vo.ExamDetailsMarkingVO; import com.yizhi.exam.application.vo.ExamDetailsMarkingVO;
...@@ -13,6 +15,7 @@ import com.yizhi.system.application.system.remote.AccountClient; ...@@ -13,6 +15,7 @@ import com.yizhi.system.application.system.remote.AccountClient;
import com.yizhi.util.application.date.DateUtil; import com.yizhi.util.application.date.DateUtil;
import com.yizhi.util.application.domain.Response; import com.yizhi.util.application.domain.Response;
import org.springframework.beans.factory.annotation.Autowired; 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.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
...@@ -22,7 +25,9 @@ import java.math.BigDecimal; ...@@ -22,7 +25,9 @@ import java.math.BigDecimal;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.text.NumberFormat; import java.text.NumberFormat;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* com.yizhi.site.application.controller.api * com.yizhi.site.application.controller.api
...@@ -43,6 +48,13 @@ public class EventTrackManageController { ...@@ -43,6 +48,13 @@ public class EventTrackManageController {
@Autowired @Autowired
AccountClient accountClient; AccountClient accountClient;
@Autowired
private TaskExecutor taskExecutor;
@Value("${pc.host.url}")
String pcHostUrl;
@Autowired
private com.yizhi.application.portal.task.WorkbenchExportTask workbenchExportTask;
@GetMapping("/addEvent") @GetMapping("/addEvent")
public Response addEvent(@RequestParam("type") String type, @RequestParam("businessId") Long businessId){ public Response addEvent(@RequestParam("type") String type, @RequestParam("businessId") Long businessId){
...@@ -142,4 +154,41 @@ public class EventTrackManageController { ...@@ -142,4 +154,41 @@ public class EventTrackManageController {
public Response<List<EventTrackRankListVo>> queryRankList(@RequestParam(value = "date",required = false) String date, @RequestParam("type") String type){ public Response<List<EventTrackRankListVo>> queryRankList(@RequestParam(value = "date",required = false) String date, @RequestParam("type") String type){
return Response.ok(eventTrackApiClients.queryRankList(date, 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