use of com.bc.pmpheep.back.bo.WriterBO in project pmph by BCSquad.
the class ExcelHelper method fromDecPositionBOList.
/**
* 根据教材遴选表业务对象(DecPositionBO)集合创建工作簿,适用于主编/副主编导出
*
* @param dataSource
* DecPositionBO业务对象集合
* @param sheetName
* 工作表名称
* @return 根据Map集合创建的工作簿
*/
public Workbook fromDecPositionBOList(List<DecPositionBO> dataSource, String sheetName) {
Workbook workbook = new HSSFWorkbook();
Sheet sheet = workbook.createSheet(sheetName);
Row header = sheet.createRow(0);
header.createCell(0).setCellValue("书序");
header.createCell(1).setCellValue("书名");
header.createCell(2).setCellValue("版次");
header.createCell(3).setCellValue("序号");
header.createCell(4).setCellValue("姓名");
header.createCell(5).setCellValue("申报单位");
header.createCell(6).setCellValue("编写职位");
// 设置表头样式
headerStyleSetup(workbook, 1);
/**
* 重新设置头背景颜色end **
*/
for (int i = 0; i < 7; i++) {
Cell cell = workbook.getSheet(sheetName).getRow(0).getCell(i);
CellStyle style = cell.getCellStyle();
style.setFillBackgroundColor(HSSFColorPredefined.GREY_50_PERCENT.getIndex());
cell.setCellStyle(style);
}
/**
* 重新设置头背景颜色end **
*/
/* 设置行计数器 */
int rowCount = 1;
if (null != dataSource && !dataSource.isEmpty()) {
/* 遍历list中的对象 */
for (DecPositionBO bo : dataSource) {
List<WriterBO> writers = bo.getWriters();
if (CollectionUtil.isEmpty(writers)) {
continue;
}
Integer zhuBianTotalNum = 0;
Integer fuZhuBianTotalNum = 0;
for (WriterBO writer : writers) {
Integer chosenPosition = writer.getChosenPosition();
if (null != chosenPosition && (chosenPosition == 12 || chosenPosition == 4)) {
zhuBianTotalNum++;
} else if (null != chosenPosition && (chosenPosition == 10 || chosenPosition == 2)) {
fuZhuBianTotalNum++;
}
}
Row row = sheet.createRow(rowCount);
row.createCell(0).setCellValue(bo.getSort());
row.createCell(1).setCellValue(bo.getTextbookName());
row.createCell(2).setCellValue(bo.getTextbookRound());
int writerNum = 1;
for (WriterBO writer : writers) {
if (writerNum > 1) {
row = sheet.createRow(rowCount);
row.createCell(0);
row.createCell(1);
row.createCell(2);
}
row.createCell(3).setCellValue(String.valueOf(writerNum));
row.createCell(4).setCellValue(writer.getRealname());
row.createCell(5).setCellValue(writer.getChosenOrgName());
Integer chosenPosition = writer.getChosenPosition();
if (null == chosenPosition) {
continue;
}
String position = "";
String rank = "";
if (null != writer.getRank()) {
rank = String.valueOf(writer.getRank());
}
if (null != chosenPosition && chosenPosition == 12) {
position = "主编 " + zhuBianTotalNum + "-" + rank + ",数字编委";
} else if (null != chosenPosition && chosenPosition == 4) {
position = "主编 " + zhuBianTotalNum + "-" + rank;
} else if (null != chosenPosition && chosenPosition == 10) {
position = "副主编 " + fuZhuBianTotalNum + "-" + rank + ",数字编委";
} else if (null != chosenPosition && chosenPosition == 2) {
position = "副主编 " + fuZhuBianTotalNum + "-" + rank;
} else if (null != chosenPosition && chosenPosition == 9) {
position = "编委,数字编委";
} else if (null != chosenPosition && chosenPosition == 1) {
position = "编委";
}
row.createCell(6).setCellValue(position);
writerNum++;
rowCount++;
}
}
}
int[] maxLength = { 2, 12, 2, 2, 5, 15, 9 };
return dataStyleSetup(workbook, 1, rowCount, new ColumnProperties(7, maxLength));
}
use of com.bc.pmpheep.back.bo.WriterBO in project pmph by BCSquad.
the class ExcelHelperTest method makeDecPositionBOList.
private List<DecPositionBO> makeDecPositionBOList() {
List<DecPositionBO> list = new ArrayList<>(3);
for (int i = 1; i < 4; i++) {
DecPositionBO bo = new DecPositionBO();
bo.setSort(i);
bo.setTextbookName("书" + i);
bo.setTextbookRound(i + 5);
List<WriterBO> writers = new ArrayList<>();
for (int j = 0; j < 10; j++) {
WriterBO writer = new WriterBO();
writer.setRealname("随机姓名" + j);
writer.setChosenOrgName("随机学校" + j);
switch(j % 4) {
case 0:
writer.setChosenPosition(1);
break;
case 1:
writer.setChosenPosition(2);
break;
case 2:
writer.setChosenPosition(4);
break;
case 3:
writer.setChosenPosition(8);
break;
}
writer.setRank(j + 1);
writers.add(writer);
}
bo.setWriters(writers.toString());
list.add(bo);
}
return list;
}
Aggregations