| | |
| | | package com.ruoyi.staff.service.impl; |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.exception.base.BaseException; |
| | | import com.ruoyi.common.exception.ServiceException; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.common.utils.spring.SpringUtils; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.ruoyi.dto.WordDateDto; |
| | | import com.ruoyi.project.system.domain.SysDept; |
| | |
| | | |
| | | @RequiredArgsConstructor |
| | | @Service |
| | | public class StaffOnJobServiceImpl extends ServiceImpl<StaffOnJobMapper, StaffOnJob> implements IStaffOnJobService { |
| | | public class StaffOnJobServiceImpl extends ServiceImpl<StaffOnJobMapper, StaffOnJob> implements IStaffOnJobService { |
| | | |
| | | private final StaffOnJobMapper staffOnJobMapper; |
| | | private final SysDeptMapper sysDeptMapper; |
| | |
| | | private final StaffEmergencyContactMapper staffEmergencyContactMapper; |
| | | private final StaffEmergencyContactServiceImpl staffEmergencyContactServiceImpl; |
| | | |
| | | |
| | | //å¨èåå·¥å°è´¦å页æ¥è¯¢ |
| | | // å¨èåå·¥å°è´¦å页æ¥è¯¢ |
| | | @Override |
| | | public IPage<StaffOnJobDto> staffOnJobListPage(Page page, StaffOnJob staffOnJob) { |
| | | return staffOnJobMapper.staffOnJobListPage(page,staffOnJob); |
| | | return staffOnJobMapper.staffOnJobListPage(page, staffOnJob); |
| | | } |
| | | |
| | | //æ°å¢å
¥è |
| | | // æ°å¢å
¥è |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public int add(StaffOnJobDto staffOnJobPrams) { |
| | | String[] ignoreProperties = {"id"};//æé¤id屿§ |
| | | String[] ignoreProperties = { "id" };// æé¤id屿§ |
| | | // 夿ç¼å·æ¯å¦åå¨ |
| | | List<StaffOnJob> staffOnJobs = staffOnJobMapper.selectList(Wrappers.<StaffOnJob>lambdaQuery().eq(StaffOnJob::getStaffNo, staffOnJobPrams.getStaffNo())); |
| | | if (staffOnJobs != null && !staffOnJobs.isEmpty()){ |
| | | throw new BaseException("ç¼å·ä¸º"+staffOnJobPrams.getStaffNo()+"çå工已ç»åå¨,æ æ³æ°å¢!!!"); |
| | | List<StaffOnJob> staffOnJobs = staffOnJobMapper.selectList( |
| | | Wrappers.<StaffOnJob>lambdaQuery().eq(StaffOnJob::getStaffNo, staffOnJobPrams.getStaffNo())); |
| | | if (staffOnJobs != null && !staffOnJobs.isEmpty()) { |
| | | throw new BaseException("ç¼å·ä¸º" + staffOnJobPrams.getStaffNo() + "çå工已ç»åå¨,æ æ³æ°å¢!!!"); |
| | | } |
| | | |
| | | // å建å
¥èæ°æ® |
| | |
| | | staffOnJobMapper.insert(staffOnJobPrams); |
| | | // æ¥è¯¢ç¨æ·æ¯å¦å·²ç»æ°å¢ |
| | | SysUser sysUser = sysUserService.selectUserById(staffOnJobPrams.getId()); |
| | | if(sysUser == null){ |
| | | if (sysUser == null) { |
| | | SysUser sysUser1 = new SysUser(); |
| | | sysUser1.setUserName(staffOnJobPrams.getStaffNo()); |
| | | sysUser1.setNickName(staffOnJobPrams.getStaffName()); |
| | | String s = SecurityUtils.encryptPassword("123456"); |
| | | sysUser1.setPassword(s); |
| | | if(staffOnJobPrams.getSysPostId() != null){ |
| | | Long[] posts = new Long[]{staffOnJobPrams.getSysPostId().longValue()}; |
| | | if (staffOnJobPrams.getSysPostId() != null) { |
| | | Long[] posts = new Long[] { staffOnJobPrams.getSysPostId().longValue() }; |
| | | sysUser1.setPostIds(posts); |
| | | } |
| | | sysUser1.setRoleIds(new Long[]{staffOnJobPrams.getRoleId()}); |
| | | sysUser1.setDeptIds(new Long[]{staffOnJobPrams.getSysDeptId()}); |
| | | sysUser1.setRoleIds(new Long[] { staffOnJobPrams.getRoleId() }); |
| | | sysUser1.setDeptIds(new Long[] { staffOnJobPrams.getSysDeptId() }); |
| | | sysUser1.setStatus("0"); |
| | | sysUserService.insertUser(sysUser1); |
| | | } |
| | | // ç»å®åè¡¨æ°æ® |
| | | bingingStaffOnJobExtra(staffOnJobPrams.getId(),staffOnJobPrams); |
| | | bingingStaffOnJobExtra(staffOnJobPrams.getId(), staffOnJobPrams); |
| | | // å建ååè®°å½ |
| | | StaffContract staffContract = new StaffContract(); |
| | | staffContract.setStaffOnJobId(staffOnJobPrams.getId()); |
| | |
| | | return staffContractMapper.insert(staffContract); |
| | | } |
| | | |
| | | //æ´æ°å
¥èä¿¡æ¯ |
| | | // æ´æ°å
¥èä¿¡æ¯ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public int update(Long id, StaffOnJobDto staffOnJobParams) { |
| | | // å¤æå¯¹è±¡æ¯å¦åå¨ |
| | | StaffOnJob job = staffOnJobMapper.selectById(id); |
| | | if (job == null){ |
| | | throw new BaseException("ç¼å·ä¸º"+staffOnJobParams.getStaffNo()+"çåå·¥ä¸åå¨,æ æ³æ´æ°!!!"); |
| | | if (job == null) { |
| | | throw new BaseException("ç¼å·ä¸º" + staffOnJobParams.getStaffNo() + "çåå·¥ä¸åå¨,æ æ³æ´æ°!!!"); |
| | | } |
| | | |
| | | String[] ignoreProperties = {"id"};//æé¤æ´æ°å±æ§ |
| | | String[] ignoreProperties = { "id" };// æé¤æ´æ°å±æ§ |
| | | |
| | | // è·åææ°ååæ°æ®ï¼å¹¶ä¸æ´æ° |
| | | StaffContract contract = staffContractMapper.selectOne(Wrappers.<StaffContract>lambdaQuery() |
| | | .eq(StaffContract::getStaffOnJobId, id) |
| | | .last("limit 1") |
| | | .orderByDesc(StaffContract::getId)); |
| | | if (contract != null){ |
| | | BeanUtils.copyProperties(staffOnJobParams,contract,ignoreProperties); |
| | | if (contract != null) { |
| | | BeanUtils.copyProperties(staffOnJobParams, contract, ignoreProperties); |
| | | staffContractMapper.updateById(contract); |
| | | } |
| | | |
| | | // å 餿æåè¡¨æ°æ® |
| | | delStaffOnJobExtra(Arrays.asList(id)); |
| | | // ç»å®åè¡¨æ°æ® |
| | | bingingStaffOnJobExtra(id,staffOnJobParams); |
| | | bingingStaffOnJobExtra(id, staffOnJobParams); |
| | | // æ´æ°åå·¥æ°æ® |
| | | staffOnJobParams.setContractExpireTime(staffOnJobParams.getContractEndTime()); |
| | | return staffOnJobMapper.updateById(staffOnJobParams); |
| | |
| | | |
| | | /** |
| | | * ç»å®åå·¥åè¡¨æ°æ® |
| | | * |
| | | * @param staffOnJobPrams |
| | | * @param id |
| | | */ |
| | | public void bingingStaffOnJobExtra(Long id,StaffOnJob staffOnJobPrams) { |
| | | public void bingingStaffOnJobExtra(Long id, StaffOnJob staffOnJobPrams) { |
| | | // æ°å¢æè²ç»å |
| | | if(CollectionUtils.isNotEmpty(staffOnJobPrams.getStaffEducationList())){ |
| | | if (CollectionUtils.isNotEmpty(staffOnJobPrams.getStaffEducationList())) { |
| | | staffOnJobPrams.getStaffEducationList().stream() |
| | | .filter(Objects::nonNull) // è¿æ»¤null对象ï¼é¿å
空æé |
| | | .forEach(staff -> staff.setStaffOnJobId(id)); // èµå¼ |
| | | staffEducationService.saveBatch(staffOnJobPrams.getStaffEducationList()); |
| | | } |
| | | // æ°å¢å·¥ä½ç»å |
| | | if(CollectionUtils.isNotEmpty(staffOnJobPrams.getStaffWorkExperienceList())){ |
| | | if (CollectionUtils.isNotEmpty(staffOnJobPrams.getStaffWorkExperienceList())) { |
| | | staffOnJobPrams.getStaffWorkExperienceList().stream() |
| | | .filter(Objects::nonNull) // è¿æ»¤null对象ï¼é¿å
空æé |
| | | .forEach(staff -> staff.setStaffOnJobId(id)); // èµå¼ |
| | | staffWorkExperienceServiceImpl.saveBatch(staffOnJobPrams.getStaffWorkExperienceList()); |
| | | } |
| | | // æ°å¢ç´§æ¥è系人 |
| | | if(CollectionUtils.isNotEmpty(staffOnJobPrams.getStaffEmergencyContactList())){ |
| | | if (CollectionUtils.isNotEmpty(staffOnJobPrams.getStaffEmergencyContactList())) { |
| | | staffOnJobPrams.getStaffEmergencyContactList().stream() |
| | | .filter(Objects::nonNull) // è¿æ»¤null对象ï¼é¿å
空æé |
| | | .forEach(staff -> staff.setStaffOnJobId(id)); // èµå¼ |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * éè¿åå·¥idå 餿è²ç»åï¼å·¥ä½ç»åï¼ç´§æ¥è系人 |
| | | * |
| | | * @param ids |
| | | * @return |
| | | */ |
| | | public void delStaffOnJobExtra(List<Long> ids) { |
| | | // å 餿è²ç»å |
| | | staffEducationService.remove(Wrappers.<StaffEducation>lambdaQuery().in(StaffEducation::getStaffOnJobId,ids)); |
| | | staffEducationService.remove(Wrappers.<StaffEducation>lambdaQuery().in(StaffEducation::getStaffOnJobId, ids)); |
| | | // å é¤å·¥ä½ç»å |
| | | staffWorkExperienceServiceImpl.remove(Wrappers.<StaffWorkExperience>lambdaQuery().in(StaffWorkExperience::getStaffOnJobId,ids)); |
| | | staffWorkExperienceServiceImpl |
| | | .remove(Wrappers.<StaffWorkExperience>lambdaQuery().in(StaffWorkExperience::getStaffOnJobId, ids)); |
| | | // å é¤ç´§æ¥è系人 |
| | | staffEmergencyContactServiceImpl.remove(Wrappers.<StaffEmergencyContact>lambdaQuery().in(StaffEmergencyContact::getStaffOnJobId,ids)); |
| | | staffEmergencyContactServiceImpl |
| | | .remove(Wrappers.<StaffEmergencyContact>lambdaQuery().in(StaffEmergencyContact::getStaffOnJobId, ids)); |
| | | } |
| | | |
| | | //å é¤å
¥è |
| | | // å é¤å
¥è |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public int delStaffOnJobs(List<Integer> ids) { |
| | | List<StaffOnJob> staffOnJobs = staffOnJobMapper.selectList(Wrappers.<StaffOnJob>lambdaQuery().in(StaffOnJob::getId, ids)); |
| | | if(CollectionUtils.isEmpty(staffOnJobs)){ |
| | | List<StaffOnJob> staffOnJobs = staffOnJobMapper |
| | | .selectList(Wrappers.<StaffOnJob>lambdaQuery().in(StaffOnJob::getId, ids)); |
| | | if (CollectionUtils.isEmpty(staffOnJobs)) { |
| | | throw new BaseException("该åå·¥ä¸åå¨,æ æ³å é¤!!!"); |
| | | } |
| | | // å é¤å
¥èæ°æ® |
| | |
| | | // å é¤ç¦»èæ°æ® |
| | | staffLeaveMapper.delete(Wrappers.<StaffLeave>lambdaQuery().in(StaffLeave::getStaffOnJobId, ids)); |
| | | // å 餿å¡è®°å½ |
| | | personalAttendanceRecordsMapper.delete(Wrappers.<PersonalAttendanceRecords>lambdaQuery().in(PersonalAttendanceRecords::getStaffOnJobId, ids)); |
| | | personalAttendanceRecordsMapper.delete( |
| | | Wrappers.<PersonalAttendanceRecords>lambdaQuery().in(PersonalAttendanceRecords::getStaffOnJobId, ids)); |
| | | // å é¤ç¨æ·æ°æ® |
| | | List<SysUser> sysUsers = sysUserMapper.selectList(Wrappers.<SysUser>lambdaQuery() |
| | | .in(SysUser::getUserName, staffOnJobs.stream().map(StaffOnJob::getStaffNo).collect(Collectors.toList()))); |
| | | if(CollectionUtils.isNotEmpty(sysUsers)){ |
| | | .in(SysUser::getUserName, |
| | | staffOnJobs.stream().map(StaffOnJob::getStaffNo).collect(Collectors.toList()))); |
| | | if (CollectionUtils.isNotEmpty(sysUsers)) { |
| | | Long[] longs = sysUsers.stream().map(SysUser::getUserId).toArray(Long[]::new); |
| | | sysUserService.deleteUserByIds(longs); |
| | | } |
| | |
| | | delStaffOnJobExtra(ids.stream().map(Integer::longValue).collect(Collectors.toList())); |
| | | |
| | | // å é¤ååæ°æ® |
| | | return staffContractMapper.delete(Wrappers.<StaffContract>lambdaQuery().in(StaffContract::getStaffOnJobId, ids)); |
| | | return staffContractMapper |
| | | .delete(Wrappers.<StaffContract>lambdaQuery().in(StaffContract::getStaffOnJobId, ids)); |
| | | } |
| | | |
| | | // ç»ç¾åå |
| | |
| | | public int renewContract(Long id, StaffContract staffContract) { |
| | | // å¤æå¯¹è±¡æ¯å¦åå¨ |
| | | StaffOnJob job = staffOnJobMapper.selectById(id); |
| | | if (job == null){ |
| | | if (job == null) { |
| | | throw new BaseException("该åå·¥ä¸åå¨,æ æ³æ´æ°!!!"); |
| | | } |
| | | |
| | |
| | | return 0; |
| | | } |
| | | |
| | | //å¨èå工详æ
|
| | | // å¨èå工详æ
|
| | | @Override |
| | | public StaffOnJobDto staffOnJobDetail(Long id) { |
| | | StaffOnJob staffOnJob = staffOnJobMapper.selectById(id); |
| | | StaffOnJob staffOnJob = staffOnJobMapper.selectById(id); |
| | | if (staffOnJob == null) { |
| | | throw new IllegalArgumentException("该åå·¥ä¸åå¨"); |
| | | } |
| | |
| | | .eq(StaffContract::getStaffOnJobId, staffOnJob.getId()) |
| | | .last("limit 1") |
| | | .orderByDesc(StaffContract::getId)); |
| | | if (contract != null){ |
| | | if (contract != null) { |
| | | staffOnJobDto.setContractTerm(contract.getContractTerm()); |
| | | staffOnJobDto.setContractStartTime(contract.getContractStartTime()); |
| | | staffOnJobDto.setContractEndTime(contract.getContractEndTime()); |
| | |
| | | // è·ååè¡¨æ°æ® |
| | | staffOnJobDto.setStaffEducationList(staffEducationMapper.selectList(Wrappers.<StaffEducation>lambdaQuery() |
| | | .eq(StaffEducation::getStaffOnJobId, staffOnJob.getId()))); |
| | | staffOnJobDto.setStaffWorkExperienceList(staffWorkExperienceMapper.selectList(Wrappers.<StaffWorkExperience>lambdaQuery() |
| | | .eq(StaffWorkExperience::getStaffOnJobId, staffOnJob.getId()))); |
| | | staffOnJobDto.setStaffEmergencyContactList(staffEmergencyContactMapper.selectList(Wrappers.<StaffEmergencyContact>lambdaQuery() |
| | | .eq(StaffEmergencyContact::getStaffOnJobId, staffOnJob.getId()))); |
| | | staffOnJobDto.setStaffWorkExperienceList( |
| | | staffWorkExperienceMapper.selectList(Wrappers.<StaffWorkExperience>lambdaQuery() |
| | | .eq(StaffWorkExperience::getStaffOnJobId, staffOnJob.getId()))); |
| | | staffOnJobDto.setStaffEmergencyContactList( |
| | | staffEmergencyContactMapper.selectList(Wrappers.<StaffEmergencyContact>lambdaQuery() |
| | | .eq(StaffEmergencyContact::getStaffOnJobId, staffOnJob.getId()))); |
| | | return staffOnJobDto; |
| | | } |
| | | |
| | | //å¨èåå·¥å¯¼åº |
| | | // å¨èåå·¥å¯¼åº |
| | | @Override |
| | | public void staffOnJobExport(HttpServletResponse response, StaffOnJob staffOnJob) { |
| | | List<StaffOnJobDto> staffOnJobs = staffOnJobMapper.staffOnJobList(staffOnJob); |
| | |
| | | try { |
| | | ExcelUtil<StaffOnJobExcelDto> util = new ExcelUtil<>(StaffOnJobExcelDto.class); |
| | | List<StaffOnJobExcelDto> staffOnJobs = util.importExcel(file.getInputStream()); |
| | | if (CollectionUtils.isEmpty(staffOnJobs)){ |
| | | if (CollectionUtils.isEmpty(staffOnJobs)) { |
| | | return false; |
| | | } |
| | | // è·åææé¨é¨æ°æ® |
| | | List<SysDept> sysDepts = sysDeptMapper.selectList(Wrappers.<SysDept>lambdaQuery().eq(SysDept::getDelFlag, 0)); |
| | | List<SysDept> sysDepts = sysDeptMapper |
| | | .selectList(Wrappers.<SysDept>lambdaQuery().eq(SysDept::getDelFlag, 0)); |
| | | // è·åææè§è²æ°æ® |
| | | List<SysRole> sysRoles = sysRoleMapper.selectRoleAll(); |
| | | staffOnJobs.forEach(staffOnJob -> { |
| | | // å¤çååæéæ°æ®æ ¼å¼ |
| | | if (staffOnJob.getContractTerm() != null && !staffOnJob.getContractTerm().trim().isEmpty()) { |
| | | String term = staffOnJob.getContractTerm().trim(); |
| | | try { |
| | | Integer.parseInt(term); |
| | | } catch (NumberFormatException e) { |
| | | throw new ServiceException("åå·¥[" + staffOnJob.getStaffName() + "]çååæé[" |
| | | + staffOnJob.getContractTerm() + "]æ ¼å¼ä¸æ£ç¡®ï¼å¿
须为纯æ°å(å¦: 1, 2, 3)"); |
| | | } |
| | | } |
| | | StaffOnJobDto staffOnJobDto = new StaffOnJobDto(); |
| | | BeanUtils.copyProperties(staffOnJob, staffOnJobDto); |
| | | // éè¿åç§°è·åé¨é¨id |
| | | staffOnJobDto.setSysDeptId(// ... existing code ... |
| | | sysDepts.stream() |
| | | .filter(dept -> dept.getDeptName() != null && dept.getDeptName().equals(staffOnJob.getSysDeptName())) |
| | | .findFirst() |
| | | .map(SysDept::getDeptId) |
| | | .orElse(null) |
| | | ); |
| | | Long deptId = sysDepts.stream() |
| | | .filter(dept -> dept.getDeptName() != null |
| | | && dept.getDeptName().equals(staffOnJob.getSysDeptName())) |
| | | .findFirst() |
| | | .map(SysDept::getDeptId) |
| | | .orElse(null); |
| | | if (deptId == null) { |
| | | throw new ServiceException( |
| | | "åå·¥[" + staffOnJob.getStaffName() + "]çé¨é¨[" + staffOnJob.getSysDeptName() + "]ä¸åå¨ï¼è¯·æ£æ¥æ°æ®"); |
| | | } |
| | | staffOnJobDto.setSysDeptId(deptId); |
| | | |
| | | // éè¿åç§°è·åè§è²id |
| | | staffOnJobDto.setRoleId(sysRoles.stream() |
| | | .filter(role -> role.getRoleName() != null && role.getRoleName().equals(staffOnJob.getRoleName())) |
| | | Long roleId = sysRoles.stream() |
| | | .filter(role -> role.getRoleName() != null |
| | | && role.getRoleName().equals(staffOnJob.getRoleName())) |
| | | .findFirst() |
| | | .map(SysRole::getRoleId) |
| | | .orElse( null)); |
| | | add(staffOnJobDto); |
| | | .orElse(null); |
| | | if (roleId == null) { |
| | | throw new ServiceException( |
| | | "åå·¥[" + staffOnJob.getStaffName() + "]çè§è²[" + staffOnJob.getRoleName() + "]ä¸åå¨ï¼è¯·æ£æ¥æ°æ®"); |
| | | } |
| | | staffOnJobDto.setRoleId(roleId); |
| | | SpringUtils.getAopProxy(this).add(staffOnJobDto); |
| | | }); |
| | | return true; |
| | | } catch (ServiceException | BaseException e) { |
| | | throw e; |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return false; |
| | | log.error("åå·¥å°è´¦å¯¼å
¥å¤±è´¥ : " + e.getMessage()); |
| | | throw new ServiceException("导å
¥å¤±è´¥: " + e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public String exportCopy(HttpServletResponse response, StaffOnJob staffOnJob) throws Exception { |
| | |
| | | // è®¾ç½®æ¨¡æ¿æä»¶æå¨ç®å½ï¼ç»å¯¹è·¯å¾ï¼ä¾å¦ï¼/templates/ï¼ |
| | | cfg.setClassForTemplateLoading(StaffOnJobServiceImpl.class, "/static"); |
| | | cfg.setDefaultEncoding("UTF-8"); |
| | | //2.å®ä¹éè¦å¡«å
çåé |
| | | // 2.å®ä¹éè¦å¡«å
çåé |
| | | // â æé å工信æ¯ï¼å®é
项ç®ä¸å¯ä»æ°æ®åº/Excel读åï¼ |
| | | WordDateDto staff = new WordDateDto(); |
| | | BeanUtils.copyProperties(staffOnJob, staff); |
| | |
| | | Instant instant = staff.getContractExpireTime().toInstant(); |
| | | |
| | | // ä¹å¯ä»¥æå®å
·ä½æ¶åºï¼ä¾å¦Asia/Shanghaiï¼ |
| | | LocalDate localDate = instant.atZone(ZoneId.of("Asia/Shanghai")).toLocalDate(); // ååç»ææ¶é´ |
| | | LocalDate localDate = instant.atZone(ZoneId.of("Asia/Shanghai")).toLocalDate(); // ååç»ææ¶é´ |
| | | LocalDate localDate1 = localDate.minusYears(Integer.parseInt(staff.getContractTerm()));// ååå¼å§æ¶é´ |
| | | |
| | | // ç¾è®¢æ¥æè½¬æ¢lcoaldate |
| | |
| | | staff.setQyear(localDate2.getYear() + ""); |
| | | staff.setQmoth(localDate2.getMonthValue() + ""); |
| | | staff.setQday(localDate2.getDayOfMonth() + ""); |
| | | if(staff.getDateSelect().equals("A")){ |
| | | if (staff.getDateSelect().equals("A")) { |
| | | staff.setSyear(localDate1.getYear() + ""); |
| | | staff.setSmoth(localDate1.getMonthValue() + ""); |
| | | staff.setSday(localDate1.getDayOfMonth() + ""); |
| | |
| | | staff.setSeyear(localDate4.getYear() + ""); |
| | | staff.setSemoth(localDate4.getMonthValue() + ""); |
| | | staff.setSeday(localDate4.getDayOfMonth() + ""); |
| | | }else if (staff.getDateSelect().equals("B")){ |
| | | } else if (staff.getDateSelect().equals("B")) { |
| | | |
| | | staff.setBsyear(localDate1.getYear() + ""); |
| | | staff.setBsmoth(localDate1.getMonthValue() + ""); |
| | |
| | | staff.setBseyear(localDate4.getYear() + ""); |
| | | staff.setBsemoth(localDate4.getMonthValue() + ""); |
| | | staff.setBseday(localDate4.getDayOfMonth() + ""); |
| | | }else if (staff.getDateSelect().equals("C")){ |
| | | } else if (staff.getDateSelect().equals("C")) { |
| | | staff.setCsyear(localDate1.getYear() + ""); |
| | | staff.setCsmoth(localDate1.getMonthValue() + ""); |
| | | staff.setCsday(localDate1.getDayOfMonth() + ""); |
| | | } |
| | | |
| | | Map<String,Object> data = new HashMap<>(); |
| | | data.put("item",staff); |
| | | //3.å è½½XML æ¨¡æ¿ |
| | | Map<String, Object> data = new HashMap<>(); |
| | | data.put("item", staff); |
| | | // 3.å è½½XML æ¨¡æ¿ |
| | | Template template = cfg.getTemplate("å³å¨åå书.xml"); |
| | | //4.çæå¡«å
åç XML å
容 |
| | | // 4.çæå¡«å
åç XML å
容 |
| | | StringWriter out = new StringWriter(); |
| | | template.process(data, out); |
| | | String filledXml = out.toString(); |
| | | //5.å°XMLå
容åå
¥äº¤ä»¶å¹¶æ¹ä¸º.docx æ ¼å¼ |
| | | // 5.å°XMLå
容åå
¥äº¤ä»¶å¹¶æ¹ä¸º.docx æ ¼å¼ |
| | | File outputFile = new File(url); |
| | | try(FileOutputStream fos = new FileOutputStream(outputFile); |
| | | OutputStreamWriter osw = new OutputStreamWriter(fos, StandardCharsets.UTF_8)) { |
| | | try (FileOutputStream fos = new FileOutputStream(outputFile); |
| | | OutputStreamWriter osw = new OutputStreamWriter(fos, StandardCharsets.UTF_8)) { |
| | | osw.write(filledXml); |
| | | } |
| | | return url; |
| | | } |
| | | |
| | | |
| | | |
| | | } |