根据查询条件查询相关数据后,进行数据填充
public String exportExcel(String purId ,String applicationStatuss, String selectionNumbers,String startTime,String endTime) {
Map<String, Object> params = new HashMap<>();
Map<String, Object> nameMap =null;
ArrayList<String> titles = new ArrayList<>();
List<Map<String, Object>> values = new ArrayList<>();
Map<String, Object> bigTitle = new HashMap<>();
if(null != applicationStatuss && !"".equals(applicationStatuss)){
params.put("applicationStatus",applicationStatuss);
}else{
params.put("notSubment","0");
}
params.put("purId",purId);
params.put("startTime",startTime);
params.put("endTime",endTime);
params.put("selectionNumberSearch",selectionNumbers);
List<AnswerRequestDO> answerRequestList = answerRequestDao.list(params);
if(null ==answerRequestList || answerRequestList.size() == 0){
return "nodata";
}
String applyExcels = commonConfig.getUploadPath()+"applyExcels";
File file = new File(applyExcels);
if(!file.exists()){
file.mkdir();
}
titles.add("序号");
titles.add("申请单位名称");
titles.add("标段序号");
titles.add("申请时间");
titles.add("申请人");
titles.add("申请人联系方式");
titles.add("审核人");
titles.add("审核时间");
titles.add("申请状态");
ProItemDO proItemDO = proItemDao.get(purId);
if(null != proItemDO){
String purProName = proItemDO.getPurProName();
String purCode = proItemDO.getPurCode();
bigTitle.put("purProName",purProName);
bigTitle.put("purCode",purCode);
bigTitle.put("bigTitle","申请情况表");
}
// 序号 申请单位名称 申请标段 申请时间 申请人 申请人联系方式 审核人 审核时间 申请状态
for (int i = 0; i < answerRequestList.size(); i++) {
nameMap = new HashMap<>();
AnswerRequestDO answerRequestDO = answerRequestList.get(i);
if(null != answerRequestDO){
String corporateName = answerRequestDO.getCorporateName();//申请单位名称
String selectionNumber = answerRequestDO.getSelectionNumber();//申请标段
Date updateTime = answerRequestDO.getUpdateTime();//申请时间
String contactPerson = answerRequestDO.getContactPerson();//申请人
String contactNumber = answerRequestDO.getContactNumber();//申请人联系方式
Long auditor = answerRequestDO.getAuditor();//审核人
String auditorStr = "";
if(null != auditor){
UserDO userDO = userDao.get(auditor);
if(null != userDO){
auditorStr = userDO.getName()== null? "":userDO.getName();
if(userDO.getType() != 0 ){
UserCorporateDO userCorporateDO = userCorporateDao.getByUserId(auditor);
auditorStr = userCorporateDO.getCorporateName();
}
}
}
Date auditorTime = answerRequestDO.getAuditorTime();//审核时间
Integer applicationStatus = answerRequestDO.getApplicationStatus();//申请状态
String applicationStatusStr ="";
if(applicationStatus == 0){
applicationStatusStr ="未提交";
}else if(applicationStatus == 1){
applicationStatusStr ="待审核";
}else if(applicationStatus == 2){
applicationStatusStr ="审核通过";
}else if(applicationStatus == 3){
applicationStatusStr ="审核驳回";
}else if(applicationStatus == 4){
applicationStatusStr ="已购买";
}
nameMap.put("序号",i+1);//序号
nameMap.put("申请单位名称",corporateName);
nameMap.put("标段序号",selectionNumber);
nameMap.put("申请时间",updateTime);
nameMap.put("申请人",contactPerson);
nameMap.put("申请人联系方式",contactNumber);
nameMap.put("审核人",auditorStr);
nameMap.put("审核时间",auditorTime);
nameMap.put("申请状态",applicationStatusStr);
values.add(nameMap);
}
}
try {
boolean b = ExcelUtils.writeExcel(applyExcels + "/申请情况表.xlsx", "申请情况表", titles, values, bigTitle);
if(b){
return "/applyExcels/申请情况表.xlsx";
}
} catch (IOException e) {
System.out.println("导出申请表异常");
}
return "";
}