|
|
@ -27,8 +27,12 @@ import com.epmet.commons.tools.constant.NumConstant; |
|
|
|
import com.epmet.commons.tools.constant.StrConstant; |
|
|
|
import com.epmet.commons.tools.dto.result.DictTreeResultDTO; |
|
|
|
import com.epmet.commons.tools.enums.DictTypeEnum; |
|
|
|
import com.epmet.commons.tools.enums.OrgTypeEnum; |
|
|
|
import com.epmet.commons.tools.exception.EpmetErrorCode; |
|
|
|
import com.epmet.commons.tools.exception.EpmetException; |
|
|
|
import com.epmet.commons.tools.redis.common.CustomerOrgRedis; |
|
|
|
import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; |
|
|
|
import com.epmet.commons.tools.redis.common.bean.GridInfoCache; |
|
|
|
import com.epmet.commons.tools.security.user.LoginUserUtil; |
|
|
|
import com.epmet.commons.tools.utils.ConvertUtils; |
|
|
|
import com.epmet.commons.tools.utils.ExcelUtils; |
|
|
@ -63,6 +67,8 @@ import org.springframework.transaction.annotation.Transactional; |
|
|
|
import org.springframework.util.CollectionUtils; |
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse; |
|
|
|
import java.beans.Encoder; |
|
|
|
import java.net.URLEncoder; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.HashMap; |
|
|
|
import java.util.List; |
|
|
@ -198,25 +204,30 @@ public class PatrolRoutineWorkServiceImpl extends BaseServiceImpl<PatrolRoutineW |
|
|
|
|
|
|
|
@Override |
|
|
|
public void pcWorkListExport(PcWorkListFormDTO formDTO, HttpServletResponse response) throws Exception { |
|
|
|
String name = "zxc.xlsx"; |
|
|
|
String fileName = getFileName(formDTO); |
|
|
|
ExcelWriter excelWriter = null; |
|
|
|
try { |
|
|
|
// 这里 需要指定写用哪个class去写
|
|
|
|
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(name,response)).build(); |
|
|
|
// 这里注意 如果同一个sheet只要创建一次
|
|
|
|
WriteSheet writeSheet = EasyExcel.writerSheet("模板").build(); |
|
|
|
String name = URLEncoder.encode(fileName, "UTF-8"); |
|
|
|
response.setCharacterEncoding("UTF-8"); |
|
|
|
response.setHeader("Content-disposition", "attachment;"); |
|
|
|
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(name,response),PcWorkListExport.class).build(); |
|
|
|
// 如果同一个sheet只要创建一次
|
|
|
|
WriteSheet writeSheet = EasyExcel.writerSheet(name).build(); |
|
|
|
Integer pageNo = NumConstant.ONE; |
|
|
|
Integer pageSize = NumConstant.ONE_HUNDRED; |
|
|
|
Integer num = NumConstant.ZERO; |
|
|
|
do { |
|
|
|
formDTO.setPageNo(pageNo); |
|
|
|
formDTO.setPageSize(pageSize); |
|
|
|
List<PcWorkListExport> data = ConvertUtils.sourceToTarget(pcWorkList(formDTO).getList(), PcWorkListExport.class); |
|
|
|
List<PcWorkListResultDTO.PcWorkListResult> dtos = pcWorkList(formDTO).getList(); |
|
|
|
dtos.forEach(d -> { |
|
|
|
d.setWorkTypeNames(d.getWorkTypeName().toString()); |
|
|
|
}); |
|
|
|
List<PcWorkListExport> data = ConvertUtils.sourceToTarget(dtos, PcWorkListExport.class); |
|
|
|
num = data.size(); |
|
|
|
excelWriter.write(data, writeSheet); |
|
|
|
pageNo++; |
|
|
|
}while (num > NumConstant.ZERO && num.compareTo(pageSize) == NumConstant.ZERO); |
|
|
|
|
|
|
|
} finally { |
|
|
|
if (excelWriter != null) { |
|
|
|
excelWriter.finish(); |
|
|
@ -224,6 +235,31 @@ public class PatrolRoutineWorkServiceImpl extends BaseServiceImpl<PatrolRoutineW |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public String getFileName(PcWorkListFormDTO formDTO){ |
|
|
|
StringBuilder name = new StringBuilder(); |
|
|
|
if (formDTO.getOrgType().equals(OrgTypeEnum.GRID.getCode())){ |
|
|
|
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(formDTO.getOrgId()); |
|
|
|
if (null == gridInfo){ |
|
|
|
throw new EpmetException("查询网格信息失败..."); |
|
|
|
} |
|
|
|
name.append(gridInfo.getGridName()); |
|
|
|
}else { |
|
|
|
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(formDTO.getOrgId()); |
|
|
|
if (null == agencyInfo){ |
|
|
|
throw new EpmetException("查询组织信息失败..."); |
|
|
|
} |
|
|
|
name.append(agencyInfo.getOrganizationName()); |
|
|
|
} |
|
|
|
name.append("例行工作列表"); |
|
|
|
if (StringUtils.isNotBlank(formDTO.getStartTime())){ |
|
|
|
name.append(formDTO.getStartTime()).append("-").append(formDTO.getEndTime()).append("区间新增值"); |
|
|
|
}else { |
|
|
|
name.append(formDTO.getEndTime()).append("截止累计值"); |
|
|
|
} |
|
|
|
name.append(".xlsx"); |
|
|
|
return name.toString(); |
|
|
|
}; |
|
|
|
|
|
|
|
/** |
|
|
|
* @Description 处理 workTypeName |
|
|
|
* @param workTypeList |
|
|
|