diff --git a/hzims-service-api/basic-api/pom.xml b/hzims-service-api/basic-api/pom.xml index ab3c5b0..cf979da 100644 --- a/hzims-service-api/basic-api/pom.xml +++ b/hzims-service-api/basic-api/pom.xml @@ -7,6 +7,12 @@ com.hnac.hzims 4.0.0-SNAPSHOT + + + com.alibaba + easyexcel + + 4.0.0 basic-api jar diff --git a/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/entity/CertificatetNoticeEntity.java b/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/entity/CertificatetNoticeEntity.java index 056acc8..13d20c5 100644 --- a/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/entity/CertificatetNoticeEntity.java +++ b/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/entity/CertificatetNoticeEntity.java @@ -1,6 +1,7 @@ package com.hnac.hzims.basic.entity; import com.baomidou.mybatisplus.annotation.SqlCondition; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -41,4 +42,10 @@ public class CertificatetNoticeEntity extends TenantEntity { @ApiModelProperty(value = "通知用户") @QueryField(condition = SqlCondition.LIKE) private String noticeUsers; + /** + * 通知用户 + */ + @TableField(exist = false) + @ApiModelProperty(value = "通知用户") + private String noticeUserNames; } diff --git a/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/entity/PersonManagemetEntity.java b/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/entity/PersonManagemetEntity.java index 7dec2fa..44bb68f 100644 --- a/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/entity/PersonManagemetEntity.java +++ b/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/entity/PersonManagemetEntity.java @@ -9,6 +9,8 @@ import lombok.EqualsAndHashCode; import org.springblade.core.mp.support.QueryField; import org.springblade.core.tenant.mp.TenantEntity; +import java.io.Serializable; + /** * 实体类 @@ -18,9 +20,7 @@ import org.springblade.core.tenant.mp.TenantEntity; @TableName("hzims_person_managemet") @EqualsAndHashCode(callSuper = true) @ApiModel(value = "人员管理表", description = "人员管理表") -public class PersonManagemetEntity extends TenantEntity { - - private static final long serialVersionUID = 1L; +public class PersonManagemetEntity extends TenantEntity implements Serializable { /** * 用户ID diff --git a/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/vo/PersonManagemetExportVo.java b/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/vo/PersonManagemetExportVo.java new file mode 100644 index 0000000..3d3f388 --- /dev/null +++ b/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/vo/PersonManagemetExportVo.java @@ -0,0 +1,122 @@ +package com.hnac.hzims.basic.vo; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + + +/** + * 实体类 + * @author Chill + */ +@Data +@ApiModel(value = "档案管理导出类",description = "档案管理导出类") +public class PersonManagemetExportVo{ + + private static final long serialVersionUID = 1L; + + @ExcelIgnore() + @ColumnWidth(value = 20) + @ApiModelProperty(value = "用户ID") + private String userId; + + /** + * 单位名称 + */ + @ExcelProperty(value = "单位名称", index = 0) + @ColumnWidth(value = 20) + @ApiModelProperty(value = "单位名称") + private String unitName; + + /** + * 用户名称 + */ + @ExcelProperty(value = "用户名称", index = 1) + @ColumnWidth(value = 20) + @ApiModelProperty(value = "用户名称") + private String name; + + + /** + * 性别 + */ + @ExcelProperty(value = "性别", index = 2) + @ColumnWidth(value = 20) + @ApiModelProperty(value = "性别") + private String sex; + /** + * 职位 + */ + @ExcelProperty(value = "职位", index = 3) + @ColumnWidth(value = 20) + @ApiModelProperty(value = "职位") + private String job; + /** + * 职称 + */ + @ExcelProperty(value = "职称", index = 4) + @ColumnWidth(value = 20) + @ApiModelProperty(value = "职称") + private String academicTitle; + /** + * 电话号码 + */ + @ExcelProperty(value = "电话号码", index = 5) + @ColumnWidth(value = 20) + @ApiModelProperty(value = "电话号码") + private String phone; + + /** + * 档案类型 + */ + @ExcelProperty(value = "档案类型", index = 6) + @ColumnWidth(value = 20) + @ApiModelProperty(value = "档案类型") + private String type; + + /** + * 到期时间 + */ + @ExcelProperty(value = "到期时间", index = 7) + @ColumnWidth(value = 20) + @DateTimeFormat( + pattern = "yyyy-MM-dd HH:mm:ss" + ) + @JsonFormat( + pattern = "yyyy-MM-dd HH:mm:ss" + ) + @ApiModelProperty(value = "到期时间") + private Date deadTime; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间", index = 8) + @ColumnWidth(value = 20) + @DateTimeFormat( + pattern = "yyyy-MM-dd HH:mm:ss" + ) + @JsonFormat( + pattern = "yyyy-MM-dd HH:mm:ss" + ) + @ApiModelProperty(value = "创建时间") + private Date createTime; + + /** + * 是否过期 + */ + @ExcelProperty(value = "是否过期", index = 9) + @ColumnWidth(value = 20) + @ApiModelProperty(value = "是否过期") + private String isDead; + + + +} diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/controller/CertificatetNoticeController.java b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/controller/CertificatetNoticeController.java index 90cd677..6e392f6 100644 --- a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/controller/CertificatetNoticeController.java +++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/controller/CertificatetNoticeController.java @@ -1,5 +1,6 @@ package com.hnac.hzims.basic.controller; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.hnac.hzims.basic.entity.CertificatetNoticeEntity; @@ -10,8 +11,14 @@ import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.ObjectUtil; +import org.springblade.system.user.cache.UserCache; +import org.springblade.system.user.entity.User; import org.springframework.web.bind.annotation.*; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + /** * 控制器 @@ -46,7 +53,7 @@ public class CertificatetNoticeController extends BladeController { /** * 新增或修改 */ - @PostMapping("/getCertificatetNotice") + @GetMapping("/getCertificatetNotice") @ApiOperationSupport(order = 1) @ApiOperation(value = "增加", notes = "传入imsDutyClass") public R getCertificatetNotice() { @@ -54,10 +61,21 @@ public class CertificatetNoticeController extends BladeController { .eq(CertificatetNoticeEntity::getIsDeleted, 0) .last("limit 1;")); if (ObjectUtil.isNotEmpty(res)) { + if (StringUtils.isNotBlank(res.getNoticeUsers())) { + String noticeUsers = res.getNoticeUsers(); + List list = Arrays.asList(noticeUsers.split(",")); + String names = list.stream().map(s -> { + if (ObjectUtil.isNotEmpty(UserCache.getUser(Long.valueOf(s)))) { + return UserCache.getUser(Long.valueOf(s)); + }else { + return new User(); + } + }).filter(s->ObjectUtil.isNotEmpty(s)).map(User::getName).collect(Collectors.joining(",")); + res.setNoticeUserNames(names); + } return R.data(res); } return R.data(""); - } } diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/controller/PresonManagementController.java b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/controller/PresonManagementController.java index c68768d..51334ae 100644 --- a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/controller/PresonManagementController.java +++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/controller/PresonManagementController.java @@ -1,31 +1,30 @@ package com.hnac.hzims.basic.controller; -import com.alibaba.spring.util.BeanUtils; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.alibaba.druid.support.json.JSONUtils; +import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import com.hnac.hzims.basic.entity.PersonManagemetEntity; import com.hnac.hzims.basic.service.IImsPresonManagementService; +import com.hnac.hzims.basic.vo.PersonManagemetExportVo; import com.hnac.hzims.basic.vo.PersonManagemetVo; import com.hnac.hzims.common.logs.annotation.OperationAnnotation; import com.hnac.hzims.common.logs.enums.BusinessType; import com.hnac.hzims.common.logs.enums.OperatorType; -import com.hnac.hzims.operational.duty.entity.ImsDutyClassEntity; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; -import org.springblade.core.mp.support.Condition; +import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; -import org.springblade.core.tool.utils.BeanUtil; -import org.springblade.core.tool.utils.CollectionUtil; -import org.springblade.core.tool.utils.Func; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.net.URLEncoder; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** @@ -61,12 +60,8 @@ public class PresonManagementController extends BladeController { @PostMapping ("/submit") @ApiOperationSupport(order = 1) @ApiOperation(value = "增加", notes = "传入imsDutyClass") - public R submit(@RequestBody PersonManagemetVo personManagemetVo) { - Boolean submit = iImsPresonManagementService.submit(personManagemetVo); - if (submit){ - return R.success("保存成功"); - } - return R.fail("保存失败"); + public R submit(@RequestBody PersonManagemetVo personManagemetVo) throws IllegalAccessException { + return iImsPresonManagementService.submit(personManagemetVo); } /** @@ -83,5 +78,44 @@ public class PresonManagementController extends BladeController { return R.fail("删除失败"); } + /** + * 分页 代码自定义代号 + */ + @GetMapping("/exportPersonManagemetVo") + @ApiOperationSupport(order = 2) + @ApiOperation(value = "分页", notes = "传入imsDutyClass") + @OperationAnnotation(moduleName = "档案管理",title = "档案管理",operatorType = OperatorType.MOBILE,businessType = + BusinessType.GENCODE,action + = "档案管理") + public void exportPersonManagemetVo(HttpServletResponse response,PersonManagemetVo personManagemetVo) { + try { + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding("UTF-8"); + // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系 + String fileName = URLEncoder.encode("档案管理报表", "UTF-8"); + response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); + List list=iImsPresonManagementService.exportPersonManagemet(personManagemetVo); + if(list!=null && list.size()>0){ + System.out.println("---------------- size = " + list.size()); + // 这里需要设置不关闭流 + EasyExcel.write(response.getOutputStream(), PersonManagemetExportVo.class).autoCloseStream(Boolean.FALSE).sheet("档案管理报表") + .doWrite(list); + } + } catch (Exception e) { + System.out.println("exportExcel = " + e.toString()); + // 重置response + response.reset(); + response.setContentType("application/json"); + response.setCharacterEncoding("utf-8"); + Map map = new HashMap<>(); + map.put("isSuccess", "false"); + map.put("msg", "档案管理报表导出失败" + e.getMessage()); + try { + response.getWriter().println(JSONUtils.toJSONString(map)); + } catch (IOException e3) { + throw new ServiceException( "发生异常 :" + e.toString()); + } + } + } } diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/PersonManagemetMapper.java b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/PersonManagemetMapper.java index 708bb7f..fdbaf20 100644 --- a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/PersonManagemetMapper.java +++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/PersonManagemetMapper.java @@ -2,6 +2,7 @@ package com.hnac.hzims.basic.mapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.hnac.hzims.basic.entity.PersonManagemetEntity; +import com.hnac.hzims.basic.vo.PersonManagemetExportVo; import com.hnac.hzims.basic.vo.PersonManagemetVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -27,4 +28,9 @@ public interface PersonManagemetMapper extends UserDataScopeBaseMapper exportPersonManagemet( + @Param(value = "type")String type, @Param(value = "deadStartTime") Date deadStartTime, @Param(value = "deadTime")Date deadTime, + @Param(value = "name")String name, @Param(value = "unitName")String unitName, @Param(value = "sex")String sex, @Param(value = "job")String job, + @Param(value = "academicTitle")String academicTitle, @Param(value = "status")Integer status) ; + } diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/PersonManagemetMapper.xml b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/PersonManagemetMapper.xml index ca4e02d..6cf6c05 100644 --- a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/PersonManagemetMapper.xml +++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/PersonManagemetMapper.xml @@ -19,7 +19,7 @@ - + @@ -27,8 +27,8 @@ @@ -95,5 +96,45 @@ and b.status =#{status} + + diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/IImsPresonManagementService.java b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/IImsPresonManagementService.java index 928b01d..408e4be 100644 --- a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/IImsPresonManagementService.java +++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/IImsPresonManagementService.java @@ -3,8 +3,12 @@ package com.hnac.hzims.basic.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.hnac.hzims.basic.entity.PersonManagemetEntity; +import com.hnac.hzims.basic.vo.PersonManagemetExportVo; import com.hnac.hzims.basic.vo.PersonManagemetVo; import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; + +import java.util.List; /** * 服务类 @@ -15,7 +19,9 @@ public interface IImsPresonManagementService extends IService getPersonManagemetEntity(PersonManagemetVo personManagemetVo, Query query); - Boolean submit(PersonManagemetVo personManagemetVo); + R submit(PersonManagemetVo personManagemetVo) throws IllegalAccessException; Boolean removeByPersonManagemetVo(PersonManagemetVo personManagemetVo); + + List exportPersonManagemet(PersonManagemetVo personManagemetVo); } diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/impl/PresonManagementServiceImpl.java b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/impl/PresonManagementServiceImpl.java index 4bfb77d..830a440 100644 --- a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/impl/PresonManagementServiceImpl.java +++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/impl/PresonManagementServiceImpl.java @@ -2,12 +2,15 @@ package com.hnac.hzims.basic.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.hnac.hzims.basic.entity.CertificatetEntity; import com.hnac.hzims.basic.entity.PersonManagemetEntity; import com.hnac.hzims.basic.mapper.PersonManagemetMapper; import com.hnac.hzims.basic.service.IImsCertificatetService; import com.hnac.hzims.basic.service.IImsPresonManagementService; +import com.hnac.hzims.basic.utils.CertificatetType; +import com.hnac.hzims.basic.vo.PersonManagemetExportVo; import com.hnac.hzims.basic.vo.PersonManagemetVo; import com.hnac.hzims.common.logs.utils.StringUtils; import lombok.RequiredArgsConstructor; @@ -22,6 +25,9 @@ import org.springblade.core.tool.utils.ObjectUtil; import org.springblade.system.feign.ISysClient; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; + +import javax.xml.ws.WebServiceException; +import java.lang.reflect.Field; import java.util.List; import java.util.stream.Collectors; @@ -37,7 +43,7 @@ import java.util.stream.Collectors; public class PresonManagementServiceImpl extends BaseServiceImpl implements IImsPresonManagementService { - private ISysClient sysClient; + private final ISysClient sysClient; private final IImsCertificatetService certificatetService; @@ -59,44 +65,51 @@ public class PresonManagementServiceImpl extends BaseServiceImpl deptName = sysClient.getDeptName(Long.valueOf(deptId)); - if (deptName.isSuccess()&&StringUtils.isBlank(deptName.getData())){ - personManagemetEntity.setUnitName(deptName.getData()); + if (!allFieldsNull(personManagemetEntity)) { + if (StringUtils.isBlank(personManagemetEntity.getUnitName())){ + String deptId = AuthUtil.getDeptId(); + R deptName = sysClient.getDeptName(Long.valueOf(deptId)); + if (deptName.isSuccess()&&StringUtils.isNotBlank(deptName.getData())){ + personManagemetEntity.setUnitName(deptName.getData()); + } } - } - if (ObjectUtil.isNotEmpty(personManagemetEntity)) { - this.saveOrUpdate(personManagemetEntity); + Integer count = baseMapper.selectCount(Wrappers.query().lambda() + .eq(PersonManagemetEntity::getUserId, personManagemetEntity.getUserId()) + .eq(PersonManagemetEntity::getIsDeleted, 0)); + if (count>0){ + return R.fail("该用户已存在,请重新编辑!"); + } + this.saveOrUpdate(personManagemetEntity); } if (CollectionUtil.isNotEmpty(personManagemetVo.getCertificatetEntityList())) { List certificatetList = personManagemetVo.getCertificatetEntityList().stream().map( s -> { - s.setPersonId(personManagemetEntity.getId().toString()); - if (System.currentTimeMillis() > s.getDeadTime().getTime()){ - s.setStatus(2); - }else { - s.setStatus(1); + if(StringUtils.isBlank(s.getPersonId())){ + s.setPersonId(personManagemetEntity.getId().toString()); } return s; } ).collect(Collectors.toList()); certificatetService.saveOrUpdateBatch(certificatetList); } - return true; + return R.success("保存成功"); } - return false; - } catch (Exception e) { - log.error("入参 personManagemetVo" + personManagemetVo + ":" + e); - return false; - } + return R.fail("保存失败"); } + public static boolean allFieldsNull(Object obj) throws IllegalAccessException { + for (Field field : obj.getClass().getDeclaredFields()) { + field.setAccessible(true); + if (field.get(obj) != null) { + return false; + } + } + return true; + } @Override @Transactional(rollbackFor = Exception.class) public Boolean removeByPersonManagemetVo(PersonManagemetVo personManagemetVo) { @@ -120,5 +133,22 @@ public class PresonManagementServiceImpl extends BaseServiceImpl exportPersonManagemet(PersonManagemetVo personManagemetVo) { + List list = baseMapper.exportPersonManagemet(personManagemetVo.getType(), personManagemetVo.getDeadStartTime(), personManagemetVo.getDeadTime(), + personManagemetVo.getName(), personManagemetVo.getUnitName(), personManagemetVo.getSex(), personManagemetVo.getJob(), + personManagemetVo.getAcademicTitle(), personManagemetVo.getStatus()); + list = list.stream().map(s -> { + CertificatetType[] types = CertificatetType.values(); + for (int i = 0; i < types.length; i++) { + if (types[i].getValue().equals(s.getType())) { + s.setType(types[i].getKey()); + } + } + return s; + }).collect(Collectors.toList()); + return list; + } + } diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/utils/CertificatetType.java b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/utils/CertificatetType.java new file mode 100644 index 0000000..041f5fe --- /dev/null +++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/utils/CertificatetType.java @@ -0,0 +1,41 @@ +package com.hnac.hzims.basic.utils; + + +import lombok.Getter; + +/** + * 证书类型 + * @author ty + */ +public enum CertificatetType +{ + /** + * 电工证 + */ + Electrician("1","电工证"), + + /** + * 安全员证 + */ + Safety("2","安全员证"), + + /** + * 登高证 + */ + Climbe("3","登高证"), + + /** + * 桥机证 + */ + Bridge("4","桥机证"); + @Getter + private String value; + + @Getter + private String key; + + CertificatetType(String value, String key){ + this.key = key; + this.value = value; + } +} diff --git a/hzims-service/ticket/pom.xml b/hzims-service/ticket/pom.xml index 5bf9e3d..3ce24e7 100644 --- a/hzims-service/ticket/pom.xml +++ b/hzims-service/ticket/pom.xml @@ -298,7 +298,14 @@ false - + + org.springframework.boot + spring-boot-maven-plugin + + + true + + diff --git a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/twoTicket/service/impl/FirstWorkTicketServiceImpl.java b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/twoTicket/service/impl/FirstWorkTicketServiceImpl.java index 677cb96..97f7589 100644 --- a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/twoTicket/service/impl/FirstWorkTicketServiceImpl.java +++ b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/twoTicket/service/impl/FirstWorkTicketServiceImpl.java @@ -395,27 +395,27 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl documents, String savePath) throws IOException { - FileOutputStream out = new FileOutputStream(savePath, true); - Path file = Paths.get(path); - if(Files.exists(file)) { - Files.delete(file); - } - new File(savePath).createNewFile(); + FileOutputStream out = new FileOutputStream(savePath); for (XWPFDocument document : documents) { document.write(out); }