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 9ffa8c2..49f2d5d 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 @@ -174,580 +174,4 @@ public class PmProjectController extends BaseController { } return error("系统异常,请联系管理员"); } - - /** - * 三表一册 - */ - @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("pro:month:list")) - @GetMapping("/getThreeForms") - @SysLog(title = "三表一册", businessType = OperaType.QUERY, module = "三表一册->三表一册列表") - public TableDataInfo getThreeForms(ProMonthTable proMonthTable) { - try { - startPage(); - List res = pmProjectService.getThreeForms(proMonthTable); - return getDataTable(res); - } catch (Exception e) { - logger.error(e.toString(), e); - } - return getDataTableError(new ArrayList<>()); - } - - /** - * 每月数据 - */ - // @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("pro:month:list")) - @GetMapping("/getProMonthTableList") - @SysLog(title = "三表一册", businessType = OperaType.QUERY, module = "三表一册->每月数据") - public TableDataInfo getProMonthTableList(BmSubContract bmSubContract) { - try { - startPage(); - List res = pmProjectService.getProMonthTableList(bmSubContract); - return getDataTable(res); - } catch (Exception e) { - logger.error(e.toString(), e); - } - return getDataTableError(new ArrayList<>()); - } - - /** - * 获取项目详情 - */ - // @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("pro:month:list")) - @GetMapping("/getProjectById") - @SysLog(title = "三表一册", businessType = OperaType.QUERY, module = "三表一册->获取项目详情") - public AjaxResult getProjectById(BmSubContract bmSubContract) { - try { - PmProjectVo res = pmProjectService.getProjectById(bmSubContract); - return success(res); - } catch (Exception e) { - logger.error(e.toString(), e); - } - return error("系统异常,请联系管理员"); - } - - /** - * 农民工花名册 - */ - // @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("pro:month:list")) - @GetMapping("/getProMonthTableRosterList") - @SysLog(title = "三表一册", businessType = OperaType.QUERY, module = "三表一册->农民工花名册") - public AjaxResult getProMonthTableRosterList(ProMonthTableRosterVo proMonthTableRosterVo) { - try { - List res = pmProjectService.getProMonthTableRosterList(proMonthTableRosterVo); - return success(res); - } catch (Exception e) { - logger.error(e.toString(), e); - } - return error("系统异常,请联系管理员"); - } - - /** - * 农民工实名制工资信息报审 - */ - // @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("pro:month:list")) - @GetMapping("/getUserSalaryApprovalList") - @SysLog(title = "三表一册", businessType = OperaType.QUERY, module = "三表一册->农民工实名制工资信息报审") - public AjaxResult getUserSalaryApprovalList(UserSalaryApprovalVo userSalaryApprovalVo) { - try { - List res = pmProjectService.getUserSalaryApprovalList(userSalaryApprovalVo); - return success(res); - } catch (Exception e) { - logger.error(e.toString(), e); - } - return error("系统异常,请联系管理员"); - } - - /** - * 分包人员考勤明细 - */ - // @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("pro:month:list")) - @GetMapping("/getUserAttendanceList") - @SysLog(title = "三表一册", businessType = OperaType.UPDATE, module = "三表一册->分包人员考勤明细") - public AjaxResult getUserAttendanceList(UserAttendanceVo userAttendanceVo) { - try { - List res = pmProjectService.getUserAttendanceList(userAttendanceVo); - return success(res); - } catch (Exception e) { - logger.error(e.toString(), e); - } - return error("系统异常,请联系管理员"); - } - - - /** - * 农民工工资支付表 - */ - // @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("pro:month:list")) - @GetMapping("/getUserWagePayList") - @SysLog(title = "三表一册", businessType = OperaType.QUERY, module = "三表一册->农民工工资支付表") - public AjaxResult getUserWagePayList(UserWagePayVo userWagePayVo) { - try { - List res = pmProjectService.getUserWagePayList(userWagePayVo); - return success(res); - } catch (Exception e) { - logger.error(e.toString(), e); - } - return error("系统异常,请联系管理员"); - } - - /** - * 代扣代缴 - */ - // @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("pro:month:list")) - @PostMapping("/updateSalary") - @SysLog(title = "三表一册", businessType = OperaType.UPDATE, module = "三表一册->修改代扣代缴") - public AjaxResult updateSalary(@Validated @RequestBody List userWagePay) { - try { - int res = pmProjectService.updateSalary(userWagePay); - return toAjax(res); - } catch (Exception e) { - logger.error(e.toString(), e); - } - return error("系统异常,请联系管理员"); - } - - /** - * 封档 - */ - // @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("pro:month:list")) - @PostMapping("/proAttDataUpdateRemind") - @SysLog(title = "三表一册", businessType = OperaType.UPDATE, module = "三表一册->考勤更新提醒") - public AjaxResult proAttDataUpdateRemind(@RequestBody List list) { - try { - int res = pmProjectService.proAttDataUpdateRemind(list); - return toAjax(res); - } catch (Exception e) { - logger.error(e.toString(), e); - } - return error("系统异常,请联系管理员"); - } - - - /** - * 封档 - */ - // @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("pro:month:list")) - @PostMapping("/updateProMonthTable") - @SysLog(title = "三表一册", businessType = OperaType.UPDATE, module = "三表一册->封档") - public AjaxResult updateProMonthTable(@Validated @RequestBody ProMonthTable proMonthTable) { - try { - int res = pmProjectService.updateProMonthTable(proMonthTable); - return toAjax(res); - } catch (Exception e) { - logger.error(e.toString(), e); - } - return error("系统异常,请联系管理员"); - } - - /** - * 月份和工程编号 - * 封档状态 - */ - @GetMapping("/getSealStatus") - @SysLog(title = "三表一册", businessType = OperaType.UPDATE, module = "三表一册->封档状态") - public AjaxResult getSealStatus(ProMonthTable proMonthTable) { - try { - return pmProjectService.getSealStatus(proMonthTable); - } catch (Exception e) { - logger.error(e.toString(), e); - } - return error("系统异常,请联系管理员"); - } - - /** - * 获取项目列表 - */ - @GetMapping("/updateThreeTableOneRoster") - @SysLog(title = "三表一册", businessType = OperaType.UPDATE, module = "三表一册->更新数据") - public AjaxResult updateThreeTableOneRoster(ProMonthTable proMonthTable) { - try { - return pmProjectService.updateThreeTableOneRoster(proMonthTable); - } catch (Exception e) { - logger.error(e.toString(), e); - } - return error("系统异常,请联系管理员"); - } - /** - * 回单上传 - */ - // @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("pro:month:list")) - @PostMapping("/updateProMonthTableRefund") - @SysLog(title = "三表一册", businessType = OperaType.UPDATE, module = "三表一册->回单上传") - public AjaxResult updateProMonthTableRefund(@RequestParam(value = "files",required = false) MultipartFile[] files, @RequestParam(value = "fileMsg",required = false) String fileMsg, @RequestParam(value = "params")String params) { - try { - params= Sm4Utils.decrypt(params); - fileMsg= Sm4Utils.decrypt(fileMsg); - List listFile = FastJsonHelper.jsonArrStrToBeanList(fileMsg, WebFileDto.class); - ProMonthTable proMonthTable = FastJsonHelper.jsonStrToBean(params, ProMonthTable.class); - int res = pmProjectService.updateProMonthTableRefund(proMonthTable,new FileBasicMsgDto(listFile, files)); - return toAjax(res); - } catch (Exception e) { - logger.error(e.toString(), e); - } - return error("系统异常,请联系管理员"); - } - - @PostMapping("/updateRefundFileById/{id}") - @SysLog(title = "三表一册", businessType = OperaType.DELETE, module = "三表一册->回单上传") - public AjaxResult updateRefundFileById(@PathVariable Long id) { - try { - - return pmProjectService.updateRefundFileById(id); - } catch (Exception e) { - logger.error(e.toString(), e); - } - return error("系统异常,请联系管理员"); - } - - /** - * 月度数据详情 - */ - // @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("pro:month:list")) - @GetMapping("/getProMonthTableById") - @SysLog(title = "三表一册", businessType = OperaType.QUERY, module = "三表一册->月度数据详情") - public AjaxResult getProMonthTableById(ProMonthTable proMonthTable) { - try { - ProMonthTable res = pmProjectService.getProMonthTableById(proMonthTable); - return success(res); - } catch (Exception e) { - logger.error(e.toString(), e); - } - return error("系统异常,请联系管理员"); - } - - /** - * 导出农民工花名册 - */ - @PostMapping("/exportProMonthTableRoster") - @SysLog(title = "三表一册", businessType = OperaType.EXPORT, module = "三表一册->导出农民工花名册") - public void exportProMonthTableRoster(HttpServletResponse response, ProMonthTableRosterVo proMonthTableRosterVo) { - try { - List res = pmProjectService.getProMonthTableRosterList(proMonthTableRosterVo); - ExcelUtil util = new ExcelUtil(ProMonthTableRosterVo.class); - util.exportExcel(response, res, "导出农民工花名册"); - } catch (Exception e) { - logger.error(e.toString(), e); - } - } - - /** - * 导出农民工实名制工资信息报审 - */ - @PostMapping("/exportUserSalaryApproval") - @SysLog(title = "三表一册", businessType = OperaType.EXPORT, module = "三表一册->导出农民工实名制工资信息报审") - public void exportUserSalaryApproval(HttpServletResponse response, UserSalaryApprovalVo userSalaryApprovalVo) { - try { - List res = pmProjectService.getUserSalaryApprovalList(userSalaryApprovalVo); - ExcelUtil util = new ExcelUtil(UserSalaryApprovalVo.class); - util.exportExcel(response, res, "农民工实名制工资信息报审"); - } catch (Exception e) { - logger.error(e.toString(), e); - } - } - - /** - * 导出分包人员考勤明细 - */ - @PostMapping("/exportUserAttendance") - @SysLog(title = "三表一册", businessType = OperaType.EXPORT, module = "三表一册->导出分包人员考勤明细") - public void exportUserAttendance(HttpServletResponse response, UserAttendanceVo userAttendanceVo) { - try { - List res = pmProjectService.getUserAttendanceList(userAttendanceVo); - if (res.size()>0){ - // 1. 设置响应头:告诉浏览器这是下载文件,而非直接打开 - response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); // Excel 2007+ 格式 - response.setCharacterEncoding("UTF-8"); - // 文件名编码(解决中文乱码问题) - String fileName = URLEncoder.encode("分包人员考勤表.xlsx", "UTF-8"); - response.setHeader("Content-Disposition", "attachment; filename*=UTF-8''" + fileName); - // 创建工作簿 - Workbook workbook = new SXSSFWorkbook(); - // 创建工作表 - Sheet sheet = workbook.createSheet("分包人员考勤明细表"); - String attendanceDay = res.get(0).getAttendanceDay(); - List WorkerAttDayVoList = FastJsonHelper.jsonArrStrToBeanList(attendanceDay, WorkerAttDayVo.class); - // 构建表头 - Row headerRow = sheet.createRow(0); - ArrayList headers = new ArrayList<>(); - headers.add("项目名称"); - headers.add("分包队伍全称"); - headers.add("姓名"); - headers.add("身份证号"); - headers.add("职务/工种"); - for (WorkerAttDayVo workerAttDayVo:WorkerAttDayVoList) { - headers.add(workerAttDayVo.getDay()); - } - headers.add("出勤天数"); - headers.add("签字"); - headers.add("其他备注"); - CellStyle headerCellStyle = createExcelUtilHeaderStyle(workbook); - for (int i = 0; i < headers.size(); i++) { - Cell cell = headerRow.createCell(i); - cell.setCellValue(headers.get(i).toString()); - cell.setCellStyle(headerCellStyle); // 应用标准表头样式 - } - CellStyle dataCellStyle = createExcelUtilDataStyle(workbook); - // 填充数据行 - for (int i = 0; i < res.size(); i++) { - UserAttendanceVo userAttendanceVoNew = res.get(i); - Row dataRow = sheet.createRow(i + 1); - String attendanceDayNew = res.get(i).getAttendanceDay(); - List WorkerAttDayVoNewList = FastJsonHelper.jsonArrStrToBeanList(attendanceDayNew, WorkerAttDayVo.class); - dataRow.createCell(0).setCellValue(userAttendanceVoNew.getProName()); - dataRow.createCell(1).setCellValue(userAttendanceVoNew.getSubName()); - dataRow.createCell(2).setCellValue(userAttendanceVoNew.getUserName()); - dataRow.createCell(3).setCellValue(userAttendanceVoNew.getIdCard()); - dataRow.createCell(4).setCellValue(userAttendanceVoNew.getWorkName()); - - // 填充出勤天数 - for (int j = 0; j < WorkerAttDayVoNewList.size(); j++) { - dataRow.createCell(5 + j).setCellValue((WorkerAttDayVoNewList.get(j).getIsAtt())); - } - dataRow.createCell(5+WorkerAttDayVoNewList.size()).setCellValue(userAttendanceVoNew.getAttendanceNum()); - dataRow.createCell(6+WorkerAttDayVoNewList.size()).setCellValue(userAttendanceVoNew.getSignature()); - dataRow.createCell(7+WorkerAttDayVoNewList.size()).setCellValue(userAttendanceVoNew.getRemark()); - } - OutputStream outputStream = response.getOutputStream(); - workbook.write(outputStream); - // 刷新流,确保数据完全输出 - outputStream.flush(); - } - } catch (Exception e) { - logger.error(e.toString(), e); - } - } - - /** - * 导出农民工工资支付表 - */ - @PostMapping("/exportUserWagePay") - @SysLog(title = "三表一册", businessType = OperaType.EXPORT, module = "三表一册->导出农民工工资支付表") - public void exportUserWagePay(HttpServletResponse response, UserWagePayVo userWagePayVo) { - try { - List res = pmProjectService.getUserWagePayList(userWagePayVo); - ExcelUtil util = new ExcelUtil(UserWagePayVo.class); - util.exportExcel(response, res, "农民工工资支付表"); - } catch (Exception e) { - logger.error(e.toString(), e); - } - } - - /** - * 导出三表一册 - */ - @PostMapping("/exportThreeAndOne") - @SysLog(title = "三表一册", businessType = OperaType.EXPORT, module = "三表一册->导出三表一册") - public void exportThreeAndOne(HttpServletResponse response, UserWagePayVo userWagePayVo) throws IOException { - //农民工工资支付表 - List userWagePayList = pmProjectService.getUserWagePayList(userWagePayVo); - //农民工实名制工资信息报审 - UserSalaryApprovalVo userSalaryApprovalVo = new UserSalaryApprovalVo(); - userSalaryApprovalVo.setMonthId(Long.valueOf(userWagePayVo.getMonthId())); - List userSalaryApprovalList = pmProjectService.getUserSalaryApprovalList(userSalaryApprovalVo); - //分包人员考勤明细 - UserAttendanceVo userAttendanceVo = new UserAttendanceVo(); - userAttendanceVo.setMonthId(Long.valueOf(userWagePayVo.getMonthId())); - List userAttendanceList = pmProjectService.getUserAttendanceList(userAttendanceVo); - //农民工花名册 - ProMonthTableRosterVo proMonthTableRosterVo = new ProMonthTableRosterVo(); - proMonthTableRosterVo.setMonthId(Long.valueOf(userWagePayVo.getMonthId())); - List proMonthTableRosterList = pmProjectService.getProMonthTableRosterList(proMonthTableRosterVo); - // 2. 设置响应头(下载Excel) - response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); - response.setCharacterEncoding("utf-8"); - // 文件名编码(避免中文乱码) - String fileName = URLEncoder.encode("三表一册", "UTF-8").replaceAll("\\+", "%20"); - response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); - - // 3. 创建全局Workbook(复用,用于多Sheet) - Workbook wb = new SXSSFWorkbook(); // SXSSFWorkbook:大数据量导出(避免OOM) - try { - // 4. 为每个Sheet创建ExcelUtil并添加到Workbook - // 4.1 Sheet1:农民工工资支付表 - ExcelUtil wagePayExcel = new ExcelUtil<>(UserWagePayVo.class); - wagePayExcel.addSheet(wb, userWagePayList, "农民工工资支付", null); - - // 4.2 Sheet2:农民工实名制工资信息报审 - ExcelUtil salaryApprovalExcel = new ExcelUtil<>(UserSalaryApprovalVo.class); - salaryApprovalExcel.addSheet(wb, userSalaryApprovalList, "农民工实名制工资信息报审", null); - - // 4.3 Sheet3:分包人员考勤明细 - /*ExcelUtil attendanceExcel = new ExcelUtil<>(UserAttendanceVo.class); - attendanceExcel.addSheet(wb, userAttendanceList, "分包人员考勤明细", null);*/ - addSheet(wb, userAttendanceList, "分包人员考勤明细", response); - // 4.4 Sheet4:农民工花名册 - ExcelUtil rosterExcel = new ExcelUtil<>(ProMonthTableRosterVo.class); - rosterExcel.addSheet(wb, proMonthTableRosterList, "农民工花名册", null); - - // 5. 将Workbook写入响应流 - wb.write(response.getOutputStream()); - response.flushBuffer(); // 强制刷新流 - } catch (Exception e) { - e.printStackTrace(); - // 异常处理:返回错误信息 - response.reset(); - response.setContentType("text/plain;charset=utf-8"); - response.getWriter().write("Excel导出失败:" + e.getMessage()); - } finally { - // 关闭流(SXSSFWorkbook需手动清理临时文件) - if (wb != null) { - wb.close(); - } - } - } - - /** - * 扩展:为已有Workbook添加新Sheet(用于多Sheet导出) - * @param wb 已存在的Workbook - * @param list 新Sheet的数据 - * @param sheetName 新Sheet名称 - */ - public void addSheet(Workbook wb, List list, String sheetName, HttpServletResponse response) throws IOException { - // 创建工作表 - - Sheet sheet = wb.createSheet(sheetName); - String attendanceDay = list.get(0).getAttendanceDay(); - List WorkerAttDayVoList = FastJsonHelper.jsonArrStrToBeanList(attendanceDay, WorkerAttDayVo.class); - // 构建表头 - Row headerRow = sheet.createRow(0); - ArrayList headers = new ArrayList<>(); - headers.add("项目名称"); - headers.add("分包队伍全称"); - headers.add("姓名"); - headers.add("身份证号"); - headers.add("职务/工种"); - for (WorkerAttDayVo workerAttDayVo:WorkerAttDayVoList) { - headers.add(workerAttDayVo.getDay()); - } - headers.add("出勤天数"); - headers.add("签字"); - headers.add("其他备注"); - CellStyle headerCellStyle = createExcelUtilHeaderStyle(wb); - for (int i = 0; i < headers.size(); i++) { - Cell cell = headerRow.createCell(i); - cell.setCellValue(headers.get(i).toString()); - cell.setCellStyle(headerCellStyle); // 应用标准表头样式 - } - CellStyle dataCellStyle = createExcelUtilDataStyle(wb); - // 填充数据行 - for (int i = 0; i < list.size(); i++) { - UserAttendanceVo userAttendanceVoNew = list.get(i); - Row dataRow = sheet.createRow(i + 1); - String attendanceDayNew = list.get(i).getAttendanceDay(); - List WorkerAttDayVoNewList = FastJsonHelper.jsonArrStrToBeanList(attendanceDayNew, WorkerAttDayVo.class); - dataRow.setRowStyle(dataCellStyle); - dataRow.createCell(0).setCellValue(userAttendanceVoNew.getProName()); - dataRow.createCell(1).setCellValue(userAttendanceVoNew.getSubName()); - dataRow.createCell(2).setCellValue(userAttendanceVoNew.getUserName()); - dataRow.createCell(3).setCellValue(userAttendanceVoNew.getIdCard()); - dataRow.createCell(4).setCellValue(userAttendanceVoNew.getWorkName()); - - // 填充出勤天数 - for (int j = 0; j < WorkerAttDayVoNewList.size(); j++) { - dataRow.createCell(5 + j).setCellValue((WorkerAttDayVoNewList.get(j).getIsAtt())); - } - dataRow.createCell(5+WorkerAttDayVoNewList.size()).setCellValue(userAttendanceVoNew.getAttendanceNum()); - dataRow.createCell(6+WorkerAttDayVoNewList.size()).setCellValue(userAttendanceVoNew.getSignature()); - dataRow.createCell(7+WorkerAttDayVoNewList.size()).setCellValue(userAttendanceVoNew.getRemark()); - } - } - - // 预定义颜色索引(与Excel内置颜色对应) - private static final short GREY_BORDER_INDEX = IndexedColors.GREY_50_PERCENT.getIndex(); - private static final short BLACK_FONT_INDEX = IndexedColors.WHITE.getIndex(); - private static final short GREY_HEADER_BACKGROUND_INDEX = IndexedColors.GREY_25_PERCENT.getIndex(); - - /** - * 复用ExcelUtil的表头样式:边框+居中对齐+灰色背景+加粗字体 - * @param workbook 工作簿对象 - * @return 标准表头样式 - */ - public static CellStyle createExcelUtilHeaderStyle(Workbook workbook) { - CellStyle style = workbook.createCellStyle(); - - // 1. 边框配置(使用short类型的颜色索引) - style.setBorderRight(BorderStyle.THIN); - style.setRightBorderColor(GREY_BORDER_INDEX); // 灰色边框 - style.setBorderLeft(BorderStyle.THIN); - style.setLeftBorderColor(GREY_BORDER_INDEX); - style.setBorderTop(BorderStyle.THIN); - style.setTopBorderColor(GREY_BORDER_INDEX); - style.setBorderBottom(BorderStyle.THIN); - style.setBottomBorderColor(GREY_BORDER_INDEX); - - // 2. 对齐配置 - style.setAlignment(HorizontalAlignment.CENTER); - style.setVerticalAlignment(VerticalAlignment.CENTER); - - // 3. 背景色配置(使用Excel内置颜色索引) - style.setFillForegroundColor(GREY_BORDER_INDEX); - style.setFillPattern(FillPatternType.SOLID_FOREGROUND); - - // 4. 字体配置(字体颜色使用short类型索引) - Font font = workbook.createFont(); - font.setFontName("Arial"); - font.setFontHeightInPoints((short) 10); - font.setBold(true); - font.setColor(BLACK_FONT_INDEX); // 黑色字体 - style.setFont(font); - - // 5. 文本格式 - DataFormat dataFormat = workbook.createDataFormat(); - style.setDataFormat(dataFormat.getFormat("@")); - - return style; - } - - /** - * 复用ExcelUtil的数据行样式:边框+居中对齐+默认背景 - * @param workbook 工作簿对象 - * @return 标准数据行样式 - */ - public static CellStyle createExcelUtilDataStyle(Workbook workbook) { - CellStyle style = workbook.createCellStyle(); - - // 1. 边框配置(使用相同的灰色边框索引) - style.setBorderRight(BorderStyle.THIN); - style.setRightBorderColor(GREY_BORDER_INDEX); - style.setBorderLeft(BorderStyle.THIN); - style.setLeftBorderColor(GREY_BORDER_INDEX); - style.setBorderTop(BorderStyle.THIN); - style.setTopBorderColor(GREY_BORDER_INDEX); - style.setBorderBottom(BorderStyle.THIN); - style.setBottomBorderColor(GREY_BORDER_INDEX); - - // 2. 对齐配置 - style.setAlignment(HorizontalAlignment.CENTER); - style.setVerticalAlignment(VerticalAlignment.CENTER); - - // 3. 字体配置 - Font font = workbook.createFont(); - font.setFontName("Arial"); - font.setFontHeightInPoints((short) 10); - font.setBold(false); - font.setColor(BLACK_FONT_INDEX); - style.setFont(font); - - // 4. 文本格式 - DataFormat dataFormat = workbook.createDataFormat(); - style.setDataFormat(dataFormat.getFormat("@")); - - return style; - } - - /** - * 封装数据单元格赋值逻辑 - * @param row 数据行 - * @param column 列索引 - * @param value 单元格值 - * @param style 单元格样式 - */ - public static void setDataCell(Row row, int column, Object value, CellStyle style) { - Cell cell = row.createCell(column); - cell.setCellStyle(style); - - // 处理null值 - String cellValue = value == null ? "" : value.toString(); - cell.setCellValue(cellValue); - } } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmProjectMapper.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmProjectMapper.java index 3fdeb96..c786019 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmProjectMapper.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmProjectMapper.java @@ -76,58 +76,4 @@ public interface PmProjectMapper { */ Integer getPeoNum(BmSubContract bmSubContract); - /** - * 三表一册 - */ - List getThreeForms(ProMonthTable proMonthTable); - - /** - * 获取项目详情 - */ - PmProjectVo getProjectById(BmSubContract bmSubContract); - - /** - * 每月数据 - */ - List getProMonthTableList(BmSubContract bmSubContract); - - /** - * 农民工花名册 - */ - List getProMonthTableRosterList(ProMonthTableRosterVo proMonthTableRosterVo); - - /** - * 农民工实名制工资信息报审 - */ - List getUserSalaryApprovalList(UserSalaryApprovalVo userSalaryApprovalVo); - - /** - * 分包人员考勤明细 - */ - List getUserAttendanceList(UserAttendanceVo userAttendanceVo); - - /** - * 农民工工资支付表 - */ - List getUserWagePayList(UserWagePayVo userWagePayVo); - - /** - * 封档 - */ - int updateProMonthTable(ProMonthTable proMonthTable); - - /** - * 月度数据详情 - */ - ProMonthTable getProMonthTableById(ProMonthTable proMonthTable); - - int updateSalary(List userWagePay); - - int proAttDataUpdateRemind(List list); - - int getSealStatus(ProMonthTable proMonthTable); - - int updateDataStatus(ProMonthTable proMonthTable); - - void updateMonthSalary( @Param("netSalary") BigDecimal netSalary, @Param("monthId") String monthId); } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/PmProjectService.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/PmProjectService.java index ed9d605..c4ca7a2 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/PmProjectService.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/PmProjectService.java @@ -47,63 +47,5 @@ public interface PmProjectService { */ Map getPeoNum(BmSubContract bmSubContract); - /** - * 三表一册 - */ - List getThreeForms(ProMonthTable proMonthTable); - /** - * 获取项目详情 - */ - PmProjectVo getProjectById(BmSubContract bmSubContract); - - /** - * 每月数据 - */ - List getProMonthTableList(BmSubContract bmSubContract); - - /** - * 农民工花名册 - */ - List getProMonthTableRosterList(ProMonthTableRosterVo proMonthTableRosterVo); - - /** - * 农民工实名制工资信息报审 - */ - List getUserSalaryApprovalList(UserSalaryApprovalVo userSalaryApprovalVo); - - /** - * 分包人员考勤明细 - */ - List getUserAttendanceList(UserAttendanceVo userAttendanceVo); - - /** - * 农民工工资支付表 - */ - List getUserWagePayList(UserWagePayVo userWagePayVo); - - /** - * 封档 - */ - int updateProMonthTable(ProMonthTable proMonthTable); - - /** - * 回单上传 - */ - int updateProMonthTableRefund(ProMonthTable proMonthTable, FileBasicMsgDto fileBasicMsgDto); - - /** - * 月度数据详情 - */ - ProMonthTable getProMonthTableById(ProMonthTable proMonthTable); - - int updateSalary(List userWagePay); - - AjaxResult updateRefundFileById(Long id); - - int proAttDataUpdateRemind(List list); - - AjaxResult getSealStatus(ProMonthTable proMonthTable); - - AjaxResult updateThreeTableOneRoster(ProMonthTable proMonthTable); } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmProjectServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmProjectServiceImpl.java index ec235da..8bf846f 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmProjectServiceImpl.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmProjectServiceImpl.java @@ -171,171 +171,4 @@ public class PmProjectServiceImpl implements PmProjectService { return map; } - /** - * 三表一册 - */ - @Override - public List getThreeForms(ProMonthTable proMonthTable) { - - return pmProjectMapper.getThreeForms(proMonthTable); - } - - /** - * 获取项目详情 - */ - @Override - public PmProjectVo getProjectById(BmSubContract bmSubContract) { - return pmProjectMapper.getProjectById(bmSubContract); - } - - /** - * 每月数据 - */ - @Override - public List getProMonthTableList(BmSubContract bmSubContract) { - return pmProjectMapper.getProMonthTableList(bmSubContract); - } - - /** - * 农民工花名册 - */ - @Override - public List getProMonthTableRosterList(ProMonthTableRosterVo proMonthTableRosterVo) { - return pmProjectMapper.getProMonthTableRosterList(proMonthTableRosterVo); - } - - /** - * 农民工实名制工资信息报审 - */ - @Override - public List getUserSalaryApprovalList(UserSalaryApprovalVo userSalaryApprovalVo) { - return pmProjectMapper.getUserSalaryApprovalList(userSalaryApprovalVo); - } - - /** - * 分包人员考勤明细 - */ - @Override - public List getUserAttendanceList(UserAttendanceVo userAttendanceVo) { - return pmProjectMapper.getUserAttendanceList(userAttendanceVo); - } - - /** - * 农民工工资支付表 - */ - @Override - public List getUserWagePayList(UserWagePayVo userWagePayVo) { - List list = pmProjectMapper.getUserWagePayList(userWagePayVo); - // 过滤掉attendanceNum为0的元素 - List filteredList = list.stream() - .filter(vo -> vo.getAttendanceNum() != 0) - .collect(Collectors.toList()); - return filteredList; - } - - - /** - * 封档 - */ - @Override - public int updateProMonthTable(ProMonthTable proMonthTable) { - proMonthTable.setBlockTime(DateUtil.now()); - SysUser sysUser = SecurityUtils.getLoginUser().getSysUser(); - proMonthTable.setUpdateUser(sysUser.getUserId().intValue()); - int i = pmProjectMapper.updateProMonthTable(proMonthTable); - if(i > 0){ - //封挡成功,所有在审核的当月补卡全部失败封档成功 - RepairCardApplyDto cardApplyDto = new RepairCardApplyDto(); - cardApplyDto.setRepairMonth(proMonthTable.getTableMonth()); - cardApplyDto.setProId(Math.toIntExact(proMonthTable.getProId())); - int x = repairCardApplyService.autoAudit(cardApplyDto); - } - return i; - } - - - - /** - * 回单上传 - */ - @Override - @Transactional - public int updateProMonthTableRefund(ProMonthTable proMonthTable, FileBasicMsgDto fileBasicMsgDto) { - proMonthTable.setRefundStatus("1"); - proMonthTable.setRefundTime(DateUtil.now()); - SysUser sysUser = SecurityUtils.getLoginUser().getSysUser(); - proMonthTable.setRefundUser(sysUser.getUserId().intValue()); - int res = pmProjectMapper.updateProMonthTable(proMonthTable); - //添加到文件库和minio上 - if(res > 0 && StringUtils.isNotNull(fileBasicMsgDto.getFiles())){ - //存文件 - List fileMsg = fileBasicMsgDto.getFileMsg(); - String[] type = new String[fileMsg.size()]; - for (int i = 0; i < fileMsg.size(); i++) { - type[i] = fileMsg.get(i).getType(); - } - String userId = SecurityUtils.getUserId().toString(); - List uploadFileVos = fileUploadUtils.uploadFile(fileBasicMsgDto.getFiles(), Constants.TB_PRO_MONTH_TABLE, proMonthTable.getId().toString(), type,"", ""); - } - return res; - } - - /** - * 月度数据详情 - */ - @Override - public ProMonthTable getProMonthTableById(ProMonthTable proMonthTable) { - ProMonthTable res =pmProjectMapper.getProMonthTableById(proMonthTable); - List contractFile = fileUploadUtils.getFileList("", res.getId().toString(), Constants.TB_PRO_MONTH_TABLE, ""); - res.setContractFile(contractFile); - return res; - } - - @Override - public int updateSalary(List userWagePay) { - if(userWagePay != null && !userWagePay.isEmpty()){ - int i = pmProjectMapper.updateSalary(userWagePay); - if(i>0){ - BigDecimal sum = userWagePay.stream() - .map(UserWagePayVo::getActualMoney) - .reduce(BigDecimal.ZERO, BigDecimal::add); - pmProjectMapper.updateMonthSalary(sum, userWagePay.get(0).getMonthId()); - } - return i; - }else{ - return 0; - } - } - - @Override - public AjaxResult updateRefundFileById(Long id) { - fileUploadUtils.delFileListById(id.toString(),"", "", ""); - return AjaxResult.success(); - } - - @Override - public int proAttDataUpdateRemind(List list) { - return pmProjectMapper.proAttDataUpdateRemind(list); - } - - @Override - public AjaxResult getSealStatus(ProMonthTable proMonthTable) { - int i = pmProjectMapper.getSealStatus(proMonthTable); - String msg = "未封挡"; - if(i==2){ - msg = "已封挡"; - } - return AjaxResult.success(msg); - } - - @Override - public AjaxResult updateThreeTableOneRoster(ProMonthTable proMonthTable) { - try { - remoteJobService.update(proMonthTable.getTableMonth(), Math.toIntExact(proMonthTable.getProId()), SecurityConstants.INNER); - } catch (Exception e) { - e.printStackTrace(); - } - int i = pmProjectMapper.updateDataStatus(proMonthTable); - return i>0?AjaxResult.success():AjaxResult.error(); - } } diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmProjectMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmProjectMapper.xml index 6ed9111..ba659fc 100644 --- a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmProjectMapper.xml +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmProjectMapper.xml @@ -203,134 +203,5 @@ - - - - - - - - - - - - update tb_pro_month_table_roster set deduct_money = #{item.deductMoney}, actual_money = #{item.actualMoney} where id = #{item.id} - - - - - - update tb_pro_month_table set is_update = '1' where pro_id = #{item.proId} and table_month = #{item.name} - - - - - - - update tb_pro_month_table set is_update = '0' where table_month = #{tableMonth} - - - - update tb_pro_month_table set net_salary = #{netSalary} where id = #{monthId} -