
package com.shrj.partybuilder.backstage.controller.organStatement;
import com.shrj.partybuilder.backstage.dto.organStatement.OrganStatementDto;
import com.shrj.partybuilder.backstage.service.organStatement.OrganTeamMembersService;
import com.shrj.partybuilder.backstage.service.report.impl.ReportOutServiceImpl;
import com.shrj.partybuilder.backstage.vo.organStatement.OrganTeamExcelVo;
import com.shrj.partybuilder.backstage.vo.report.OrganTreeVo;
import com.shrj.partybuilder.common.utils.ExcelUtilz;
import com.shrj.wbaostd.authmodule.auth.UserDetailsImpl;
import com.shrj.wbaostd.basemodule.common.R;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.oauth2.provider.OAuth2Authentication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@GetMapping(“/TeamExcel”)
public void getTeamsExcel(
@RequestParam(name = “organs”, required = false) List organs,
@RequestParam(name = “field”, required = false) List field,
HttpServletResponse response,
OAuth2Authentication oAuth2Authentication) {
R result = this.TeamList((ArrayList) organs, oAuth2Authentication);
if (result.getCode() == 0) {
// 设置流的字符集及文件类型
response.setCharacterEncoding(“utf-8”);
response.setContentType(“application/msword”);
try {
response.setHeader(“Content-Disposition”, “attachment;filename=”
.concat(String.valueOf(URLEncoder.encode(“集团党组织班子成员明细表.xlsx”, “UTF-8”))));
// 写入数据
ExcelUtilz excelUtilz = new ExcelUtilz();
List data = (List) result.get(“organStatementDto”);
if (data == null) {
return;
}
List collect = data.stream().map(OrganStatementDto::toTeamExcelVo).collect(Collectors.toList());
excelUtilz.outExcel(response.getOutputStream(), “sheet1”,
excelUtilz.teamMembersInfoHead(field),
excelUtilz.contentDataByIndex(collect, field));
} catch (Exception e) {
log.error(“导出excel出错”);
}
}
}
}