diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmProjectController.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmProjectController.java index e808ae7..c7181f2 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmProjectController.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmProjectController.java @@ -460,10 +460,10 @@ public class PmProjectController extends BaseController { List res = pmProjectService.getProMonthTableRosterList(proMonthTableRosterVo); ExcelUtil util = new ExcelUtil(ProMonthTableRosterVo.class); List titles = new ArrayList<>(); - titles.add("农民工花名册"); + titles.add("施工人员花名册"); titles.add("工程名称:"+proMonthTableRosterVo.getProName()); List tails = new ArrayList<>(); - util.exportExcel(response, res, "导出农民工花名册",titles,tails); + util.exportExcel(response, res, "花名册",titles,tails); } catch (Exception e) { logger.error(e.toString(), e); } @@ -484,7 +484,8 @@ public class PmProjectController extends BaseController { List tails = new ArrayList<>(); tails.add("分包单位(章) 施工项目部(章) 监理项目部(章)"); tails.add("法定代表人/授权委托人: 项目经理: 总/专业监理工程师:"); - util.exportExcel(response, res, "农民工实名制工资信息报审", titles, tails); + tails.add("注:1.本表由分包单位进场前编制,附农民工与分包单位的用工合同复印件、身份证复印件、银行卡复印件。2.本信息备案表一式三份,分包单位、监理项目部、施工项目部各留存一份。"); + util.exportExcel(response, res, "信息报审表", titles, tails); } catch (Exception e) { logger.error(e.toString(), e); } @@ -532,7 +533,7 @@ public class PmProjectController extends BaseController { Row myTitleRow = sheet.createRow(0); sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 8+WorkerAttDayVoList.size())); Cell cell00 = myTitleRow.createCell(0); - cell00.setCellValue("分包人员考勤明细表"); + cell00.setCellValue( userAttendanceVo.getMonth() +"施工人员考勤记录表"); cell00.setCellStyle(styles.get("title")); // 应用标准表头样式 Row myTitleRow2 = sheet.createRow(1); @@ -543,9 +544,9 @@ public class PmProjectController extends BaseController { Cell cell11 = myTitleRow2.createCell(0); cell11.setCellValue("工程:"+userAttendanceVo.getProName()); cell11.setCellStyle(styles.get("noBorderData")); - Cell cell13 = myTitleRow2.createCell(3); - cell13.setCellValue(userAttendanceVo.getMonth()); - cell13.setCellStyle(styles.get("noBorderData")); +// Cell cell13 = myTitleRow2.createCell(3); +// cell13.setCellValue(userAttendanceVo.getMonth()); +// cell13.setCellStyle(styles.get("noBorderData")); Cell cell1x = myTitleRow2.createCell(5+WorkerAttDayVoList.size()); cell1x.setCellValue("出勤:1 缺勤:0 无对应日期:空白"); cell1x.setCellStyle(styles.get("noBorderData")); @@ -644,36 +645,49 @@ public class PmProjectController extends BaseController { //构建单独的头部 //第一行 Row myTitleRow = sheet.createRow(0); - sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 16)); + sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 17)); Cell cell00 = myTitleRow.createCell(0); - cell00.setCellValue("农 民 工 工 资 支 付 表"); + cell00.setCellValue("施工人员工资支付表(" + userWagePayVo.getMonth() + ")"); cell00.setCellStyle(styles.get("title")); //第二行 - Row myTitleRow2 = sheet.createRow(1); - sheet.addMergedRegion(new CellRangeAddress(1, 1, 0, 16)); - Cell cell10 = myTitleRow2.createCell(0); - cell10.setCellValue("日期:"+userWagePayVo.getMonth()); - cell10.setCellStyle(styles.get("noBorderData")); +// Row myTitleRow2 = sheet.createRow(1); +// sheet.addMergedRegion(new CellRangeAddress(1, 1, 0, 16)); +// Cell cell10 = myTitleRow2.createCell(0); +// cell10.setCellValue("日期:"+userWagePayVo.getMonth()); +// cell10.setCellStyle(styles.get("noBorderData")); //第三行 - Row myTitleRow3 = sheet.createRow(2); + Row myTitleRow3 = sheet.createRow(1); Cell cell20 = myTitleRow3.createCell(0); cell20.setCellValue("工程名称:"+userWagePayVo.getProName()); cell20.setCellStyle(styles.get("noBorderData")); - Cell cell116 = myTitleRow3.createCell(16); + Cell cell116 = myTitleRow3.createCell(17); cell116.setCellValue("金额单位:元"); cell116.setCellStyle(styles.get("noBorderData")); //第四行 - Row myTitleRow4 = sheet.createRow(3); - sheet.addMergedRegion(new CellRangeAddress(3, 3, 0, 13)); - sheet.addMergedRegion(new CellRangeAddress(3, 3, 14, 16)); + Row myTitleRow4 = sheet.createRow(2); + sheet.addMergedRegion(new CellRangeAddress(2, 2, 0, 13)); +// sheet.addMergedRegion(new CellRangeAddress(2, 2, 14, 14)); +// sheet.addMergedRegion(new CellRangeAddress(2, 2, 15, 15)); + sheet.addMergedRegion(new CellRangeAddress(2, 2, 16, 17)); Cell cell30 = myTitleRow4.createCell(0); cell30.setCellValue("分包单位填写"); cell30.setCellStyle(styles.get("noBorderData")); + Cell cell314 = myTitleRow4.createCell(14); - cell314.setCellValue("施工总承包单位填写"); + cell314.setCellValue("监理单位填写"); cell314.setCellStyle(styles.get("noBorderData")); + + Cell cell315 = myTitleRow4.createCell(15); + cell315.setCellValue("建管单位填写"); + cell315.setCellStyle(styles.get("noBorderData")); + + Cell cell316 = myTitleRow4.createCell(16); + cell316.setCellValue("施工总承包单位填写"); + cell316.setCellStyle(styles.get("noBorderData")); + + //第五行 - Row headerRow = sheet.createRow(4); + Row headerRow = sheet.createRow(3); ArrayList headers = new ArrayList<>(); headers.add("序号"); headers.add("姓名"); @@ -689,9 +703,32 @@ public class PmProjectController extends BaseController { headers.add("银行卡号"); headers.add("是否与劳动合同约定一致"); headers.add("本人签字"); - headers.add("备注"); + headers.add("是否为“e基建”内人员"); + headers.add("是否通过“e基建”外人员审批"); headers.add("转账日期"); headers.add("银行凭证号"); + + // 设置列宽(单位:字符宽度 * 256) + // 注意:列索引从0开始 + sheet.setColumnWidth(0, 8 * 256); // 序号 - 8个字符宽 + sheet.setColumnWidth(1, 10 * 256); // 姓名 - 10个字符宽 + sheet.setColumnWidth(2, 25 * 256); // 身份证号 - 25个字符宽(18位身份证需要) + sheet.setColumnWidth(3, 15 * 256); // 所在班组 - 15个字符宽 + sheet.setColumnWidth(4, 15 * 256); // 岗位 - 15个字符宽 + sheet.setColumnWidth(5, 12 * 256); // 出勤天数 - 12个字符宽 + sheet.setColumnWidth(6, 12 * 256); // 应发工资 - 12个字符宽 + sheet.setColumnWidth(7, 18 * 256); // 其中代扣/代缴 - 18个字符宽 + sheet.setColumnWidth(8, 12 * 256); // 实发工资 - 12个字符宽 + sheet.setColumnWidth(9, 20 * 256); // 开户银行 - 20个字符宽 + sheet.setColumnWidth(10, 20 * 256); // 收款银行联行号 - 20个字符宽 + sheet.setColumnWidth(11, 25 * 256); // 银行卡号 - 25个字符宽 + sheet.setColumnWidth(12, 25 * 256); // 是否与劳动合同约定一致 - 25个字符宽 + sheet.setColumnWidth(13, 12 * 256); // 本人签字 - 12个字符宽 + sheet.setColumnWidth(14, 25 * 256); // 是否为"e基建"内人员 - 25个字符宽 + sheet.setColumnWidth(15, 30 * 256); // 是否通过"e基建"外人员审批 - 30个字符宽 + sheet.setColumnWidth(16, 15 * 256); // 转账日期 - 15个字符宽 + sheet.setColumnWidth(17, 20 * 256); // 银行凭证号 - 20个字符宽 + for (int i = 0; i < headers.size(); i++) { Cell cell = headerRow.createCell(i); cell.setCellValue(headers.get(i).toString()); @@ -701,27 +738,34 @@ public class PmProjectController extends BaseController { // 填充数据行 for (int i = 0; i < res.size(); i++) { UserWagePayVo userAttendanceVoNew = res.get(i); - Row dataRow = sheet.createRow(i + 5); + Row dataRow = sheet.createRow(i + 4); dataRow.createCell(0).setCellValue(i+1); dataRow.createCell(1).setCellValue(userAttendanceVoNew.getUserName()); dataRow.createCell(2).setCellValue(userAttendanceVoNew.getIdCard()); dataRow.createCell(3).setCellValue(userAttendanceVoNew.getTeamName()); - dataRow.createCell(4).setCellValue(userAttendanceVoNew.getIdCard()); - dataRow.createCell(5).setCellValue(userAttendanceVoNew.getWorkName()); - dataRow.createCell(6).setCellValue(userAttendanceVoNew.getAttendanceNum()); - dataRow.createCell(7).setCellValue(String.valueOf(userAttendanceVoNew.getPayMoney())); - dataRow.createCell(8).setCellValue(String.valueOf(userAttendanceVoNew.getDeductMoney())); - dataRow.createCell(9).setCellValue(String.valueOf(userAttendanceVoNew.getActualMoney())); - dataRow.createCell(10).setCellValue(userAttendanceVoNew.getBankName()); - dataRow.createCell(11).setCellValue(userAttendanceVoNew.getBankNum()); - dataRow.createCell(12).setCellValue(userAttendanceVoNew.getBankCode()); - dataRow.createCell(13).setCellValue(userAttendanceVoNew.getIsAccord()); - dataRow.createCell(14).setCellValue(userAttendanceVoNew.getSignature()); - dataRow.createCell(15).setCellValue(userAttendanceVoNew.getRemark()); +// dataRow.createCell(4).setCellValue(userAttendanceVoNew.getIdCard()); + dataRow.createCell(4).setCellValue(userAttendanceVoNew.getWorkName()); + dataRow.createCell(5).setCellValue(userAttendanceVoNew.getAttendanceNum()); + dataRow.createCell(6).setCellValue(String.valueOf(userAttendanceVoNew.getPayMoney())); + dataRow.createCell(7).setCellValue(String.valueOf(userAttendanceVoNew.getDeductMoney())); + dataRow.createCell(8).setCellValue(String.valueOf(userAttendanceVoNew.getActualMoney())); + dataRow.createCell(9).setCellValue(userAttendanceVoNew.getBankName()); + dataRow.createCell(10).setCellValue(userAttendanceVoNew.getBankNum()); + dataRow.createCell(11).setCellValue(userAttendanceVoNew.getBankCode()); + String k = userAttendanceVoNew.getIsAccord(); + if(k.equals("1")){ + k = "是"; + }else{ + k = "否"; + } + dataRow.createCell(12).setCellValue(k); + dataRow.createCell(13).setCellValue(userAttendanceVoNew.getSignature()); + dataRow.createCell(14).setCellValue(""); + dataRow.createCell(15).setCellValue(""); dataRow.createCell(16).setCellValue(userAttendanceVoNew.getPayDay()); dataRow.createCell(17).setCellValue(userAttendanceVoNew.getBankNumber()); } - applyBorderPreservingOriginalStyle(workbook,sheet, 0, res.size()+5, 0, 16); + applyBorderPreservingOriginalStyle(workbook,sheet, 0, res.size()+4, 0, 17); } /** @@ -760,10 +804,10 @@ public class PmProjectController extends BaseController { // 4.1 Sheet1:农民工花名册 ExcelUtil rosterExcel = new ExcelUtil<>(ProMonthTableRosterVo.class); List titles = new ArrayList<>(); - titles.add("农民工花名册"); + titles.add("施工人员花名册"); titles.add("工程名称:"+userWagePayVo.getProName()); List tails = new ArrayList<>(); - rosterExcel.addSheetMy(wb, proMonthTableRosterList, "农民工花名册", titles, tails); + rosterExcel.addSheetMy(wb, proMonthTableRosterList, "花名册", titles, tails); // 4.2 Sheet2:农民工实名制工资信息报审 ExcelUtil salaryApprovalExcel = new ExcelUtil<>(UserSalaryApprovalVo.class); @@ -773,7 +817,8 @@ public class PmProjectController extends BaseController { List tails2 = new ArrayList<>(); tails2.add("分包单位(章) 施工项目部(章) 监理项目部(章)"); tails2.add("法定代表人/授权委托人: 项目经理: 总/专业监理工程师:"); - salaryApprovalExcel.addSheetMy(wb, userSalaryApprovalList, "农民工实名制工资信息报审", titles2, tails2); + tails2.add("注:1.本表由分包单位进场前编制,附农民工与分包单位的用工合同复印件、身份证复印件、银行卡复印件。2.本信息备案表一式三份,分包单位、监理项目部、施工项目部各留存一份。"); + salaryApprovalExcel.addSheetMy(wb, userSalaryApprovalList, "信息报审表", titles2, tails2); // 4.3 Sheet3:分包人员考勤明细 dealExcelByThree(wb, userAttendanceList, "分包人员考勤明细表", userAttendanceVo); diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/ProMonthTableRosterVo.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/ProMonthTableRosterVo.java index 705b8db..865074e 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/ProMonthTableRosterVo.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/ProMonthTableRosterVo.java @@ -40,6 +40,12 @@ public class ProMonthTableRosterVo { */ private Long subId; + /** + * 序号字段(仅用于导出展示) + */ + @Excel(name = "序号", sort = 0, isSequence = true) + private Integer sequence; + /** *分包单位名称 */ diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/UserSalaryApprovalVo.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/UserSalaryApprovalVo.java index 35c24e3..7fa6ccf 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/UserSalaryApprovalVo.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/UserSalaryApprovalVo.java @@ -47,6 +47,12 @@ public class UserSalaryApprovalVo { */ private Long teamId; + /** + * 序号字段(仅用于导出展示) + */ + @Excel(name = "序号", sort = 0, isSequence = true) + private Integer sequence; + /** * 班组名称 */