selectDeptDetailTypeCountList 增加导出接口

This commit is contained in:
wangliwen 2022-10-18 09:58:06 +08:00
parent 9961970fb1
commit c02702e70e
3 changed files with 141 additions and 1 deletions

View File

@ -1,6 +1,7 @@
package io.renren.common.controller;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.excel.EasyExcel;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
@ -8,6 +9,7 @@ import io.renren.common.annotation.LogOperation;
import io.renren.common.utils.Result;
import io.renren.modules.processForm.service.TAbilityApplicationService;
import io.renren.modules.resource.dao.ResourceDao;
import io.renren.modules.resource.excel.census.SelectDeptDetailTypeCountListExcel;
import io.renren.modules.resource.service.ResourceService;
import io.renren.modules.resourceBrowse.service.ResourceBrowseService;
import io.renren.modules.sys.dto.SysDeptDTO;
@ -25,6 +27,9 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutorService;
@ -371,6 +376,19 @@ public class CensusController {
return new Result().ok(resourceService.selectApplyDeptDetailTypeCountList(params));
}
@GetMapping("/exportSelectApplyDeptDetailTypeCountList")
@ApiOperation("导出按照部门、能力类型、组件类型统计能力使用情况")
@LogOperation("导出按照部门、能力类型、组件类型统计能力使用情况")
@ApiImplicitParams({
@ApiImplicitParam(name = "startDate", value = "开始时间", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "endDate", value = "结束时间", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "deptId", value = "所属部门", paramType = "query", dataType = "long"),
@ApiImplicitParam(name = "approveStatus", value = "审核状态,可选值(通过、审核中)", paramType = "query", dataType = "String"),
})
public void exportSelectApplyDeptDetailTypeCountList(@RequestParam Map<String, Object> params) {
// TODO 导出按照部门能力类型组件类型统计能力使用情况
}
@GetMapping("/selectDeptDetailTypeCountList")
@ApiOperation("按照部门、能力类型、组件类型统计能力上架情况")
@LogOperation("按照部门、能力类型、组件类型统计能力上架情况")
@ -384,6 +402,36 @@ public class CensusController {
return new Result().ok(resourceService.selectDeptDetailTypeCountList(params));
}
@GetMapping("/exportSelectDeptDetailTypeCountList")
@ApiOperation("导出按照部门、能力类型、组件类型统计能力上架情况")
@LogOperation("导出按照部门、能力类型、组件类型统计能力上架情况")
@ApiImplicitParams({
@ApiImplicitParam(name = "startDate", value = "开始时间", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "endDate", value = "结束时间", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "deptId", value = "所属部门", paramType = "query", dataType = "long"),
@ApiImplicitParam(name = "approveStatus", value = "审核状态,可选值(通过、审核中)", paramType = "query", dataType = "String"),
})
public void exportSelectDeptDetailTypeCountList(@RequestParam Map<String, Object> params, HttpServletResponse response) throws IOException {
ArrayList<Map> resultList = (ArrayList<Map>) resourceService.selectDeptDetailTypeCountList(params);
List<SelectDeptDetailTypeCountListExcel> date = resultList.stream().map(index -> {
SelectDeptDetailTypeCountListExcel temp = new SelectDeptDetailTypeCountListExcel();
temp.setDeptName(index.getOrDefault("name", "").toString());
temp.setCount(Integer.valueOf(index.getOrDefault("count", "0").toString()));
temp.setKfzj(Integer.valueOf(index.getOrDefault("kfzj", "0").toString()));
temp.setTcfw(Integer.valueOf(index.getOrDefault("tcfw", "0").toString()));
temp.setYwzj(Integer.valueOf(index.getOrDefault("ywzj", "0").toString()));
temp.setZnsf(Integer.valueOf(index.getOrDefault("znsf", "0").toString()));
temp.setYyzy(Integer.valueOf(index.getOrDefault("yyzy", "0").toString()));
return temp;
}).collect(Collectors.toList());
// TODO 导出按照部门能力类型组件类型统计能力上架情况
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setCharacterEncoding("utf-8");
String fileName = URLEncoder.encode("导出按照部门_能力类型_组件类型统计能力上架情况", "UTF-8").replaceAll("\\+", "%20");
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
EasyExcel.write(response.getOutputStream(), SelectDeptDetailTypeCountListExcel.class).sheet("数据").doWrite(date);
}
@GetMapping("/selectCensusResourceTable")
@ApiOperation("查询部门上架资源及审批结果详细信息")
@LogOperation("查询部门上架资源及审批结果详细信息")

View File

@ -0,0 +1,92 @@
package io.renren.modules.resource.excel.census;
import com.alibaba.excel.annotation.ExcelProperty;
import java.util.Objects;
public class SelectDeptDetailTypeCountListExcel {
@ExcelProperty({"上架部门"})
private String deptName;
@ExcelProperty({"组件", "智能算法"})
private Integer znsf;
@ExcelProperty({"组件", "图层服务"})
private Integer tcfw;
@ExcelProperty({"组件", "通用开发组件"})
private Integer kfzj;
@ExcelProperty({"组件", "业务能力组件"})
private Integer ywzj;
@ExcelProperty({"应用资源"})
private Integer yyzy;
@ExcelProperty({"总计"})
private Integer count;
public String getDeptName() {
return deptName;
}
public void setDeptName(String deptName) {
this.deptName = deptName;
}
public Integer getZnsf() {
return znsf;
}
public void setZnsf(Integer znsf) {
this.znsf = znsf;
}
public Integer getTcfw() {
return tcfw;
}
public void setTcfw(Integer tcfw) {
this.tcfw = tcfw;
}
public Integer getKfzj() {
return kfzj;
}
public void setKfzj(Integer kfzj) {
this.kfzj = kfzj;
}
public Integer getYwzj() {
return ywzj;
}
public void setYwzj(Integer ywzj) {
this.ywzj = ywzj;
}
public Integer getYyzy() {
return yyzy;
}
public void setYyzy(Integer yyzy) {
this.yyzy = yyzy;
}
public Integer getCount() {
return count;
}
public void setCount(Integer count) {
this.count = count;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
SelectDeptDetailTypeCountListExcel that = (SelectDeptDetailTypeCountListExcel) o;
return deptName.equals(that.deptName) && znsf.equals(that.znsf) && tcfw.equals(that.tcfw) && kfzj.equals(that.kfzj) && ywzj.equals(that.ywzj) && yyzy.equals(that.yyzy) && count.equals(that.count);
}
@Override
public int hashCode() {
return Objects.hash(deptName, znsf, tcfw, kfzj, ywzj, yyzy, count);
}
}

View File

@ -897,7 +897,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
List<Map> deptTotalCount = resourceDao.selectDeptTotalCount();
HashMap<String, Object> map1 = new HashMap() {
{
put("0", 0);
put("1", 0);
put("5", 0);
put("10", 0);
put("15", 0);