diff --git a/adc-da-report/src/main/java/com/adc/da/report/controller/ReportManageConroller.java b/adc-da-report/src/main/java/com/adc/da/report/controller/ReportManageConroller.java index c1f9719..a7697db 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/controller/ReportManageConroller.java +++ b/adc-da-report/src/main/java/com/adc/da/report/controller/ReportManageConroller.java @@ -92,6 +92,7 @@ public class ReportManageConroller { /** * 新增或编辑报告 + * 弃用 * @param vo * @return */ @@ -116,6 +117,19 @@ public class ReportManageConroller { return Result.success(map); } + + /** + * 新增或编辑报告 + * @return + */ + @ApiOperation("新增或编辑报告") + @PostMapping("/saveOrUpdate") +// @ReportLog(description = "新增或编辑") + public ResponseMessage saveOrUpdate(@RequestBody ReportEntity reportEntity) throws IOException { + + reportService.addOrUpdate(reportEntity); + return Result.success(); + } /** * 判断报告名称是否被占用 * @param vo @@ -123,7 +137,6 @@ public class ReportManageConroller { */ @ApiOperation("判断报告名称是否被占用") @PostMapping("/isReportNameOccupy") - @ReportLog(description = "新增或编辑") public ResponseMessage isReportNameOccupy(@RequestBody ReportVo vo) throws IOException { long count = reportDao.isReportNameOccupyByEO(vo); diff --git a/adc-da-report/src/main/java/com/adc/da/report/dao/mysql/ReportDao.java b/adc-da-report/src/main/java/com/adc/da/report/dao/mysql/ReportDao.java index 23c7228..d91b287 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/dao/mysql/ReportDao.java +++ b/adc-da-report/src/main/java/com/adc/da/report/dao/mysql/ReportDao.java @@ -64,7 +64,7 @@ public interface ReportDao extends BaseMapper { long isReportNameOccupyByEO(@Param("Vo")ReportVo Vo); - long isReportNameOccupyByAct(ReportVo vo); + long isReportNameOccupyByAct(@Param("Vo") ReportVo vo); void saveReportAct(@Param("Vo") TtReportManageAct ttReportManageAct); diff --git a/adc-da-report/src/main/java/com/adc/da/report/eo/ReportEntity.java b/adc-da-report/src/main/java/com/adc/da/report/eo/ReportEntity.java index f472697..222990a 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/eo/ReportEntity.java +++ b/adc-da-report/src/main/java/com/adc/da/report/eo/ReportEntity.java @@ -106,4 +106,7 @@ public class ReportEntity { */ @TableField(exist = false) private List reportUserIdList; + + @TableField(exist = false) + private List> labelList; } diff --git a/adc-da-report/src/main/java/com/adc/da/report/service/IReportService.java b/adc-da-report/src/main/java/com/adc/da/report/service/IReportService.java index 89db162..82b67fc 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/service/IReportService.java +++ b/adc-da-report/src/main/java/com/adc/da/report/service/IReportService.java @@ -77,4 +77,6 @@ public interface IReportService { * @return 是否有下载权限 */ Boolean isAllowDownload(String userId, String repostId); + + void addOrUpdate(ReportEntity reportEntity); } diff --git a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java index 4f894fc..5f7d0a4 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java +++ b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java @@ -24,6 +24,7 @@ import com.adc.da.util.utils.CollectionUtils; import com.adc.da.util.utils.FileUtil; import com.adc.da.util.utils.StringUtils; import com.adc.da.util.utils.UUID; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -118,6 +119,46 @@ public class IReportServiceImpl extends ServiceImpl private UserEODao userEODao; + + @Override + public void addOrUpdate(ReportEntity reportEntity) { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + if (StringUtils.isNotEmpty(reportEntity.getId())){ + reportDao.updateById(reportEntity); + reportEntity.setUpdateDate(format.format(new Date())); + }else { + reportEntity.setId(UUID.randomUUID10()); + reportEntity.setCreateDate(format.format(new Date())); + reportEntity.setCreateUserId(UserUtils.getUserId()); + reportEntity.setDelFlag("0"); + reportEntity.setUpdateDate(format.format(new Date())); + reportDao.insert(reportEntity); + } + String reportId = reportEntity.getId(); + //插入报表标签关系表 + //修改报表标签关系表(先删后增) + iReportLabelService.deleteReportLabelByReportId(new String[]{reportId}); + if (CollectionUtils.isNotEmpty(reportEntity.getLabelList())){ + List labelList = new ArrayList<>(); + + for (List list : reportEntity.getLabelList()) { + String lastLabel = list.get(list.size() - 1); + ReportLabelEntity reportLabelEntity = new ReportLabelEntity(com.adc.da.util.utils.UUID.randomUUID10() + ,reportId, JSON.toJSONString(list),lastLabel); + labelList.add(reportLabelEntity); + } + iReportLabelService.saveBatch(labelList); + //插入报表内容表 + try { + iReportContentService.insertReportContent(reportId, reportEntity.getFileId()); + log.info("抽取报告内容"); + } catch (IOException e) { + log.error("获取报告内容失败", e); + } + } + + } + /** * 新增或编辑报告 * @@ -172,12 +213,6 @@ public class IReportServiceImpl extends ServiceImpl }); } - //插入报表标签关系表 - labelList.forEach((label) -> { - ReportLabelEntity reportLabelEntity = new ReportLabelEntity(UUID.randomUUID10(), entity.getId(), label); - reportLabelDao.insert(reportLabelEntity); - }); - //插入报表内容表 iReportContentService.insertReportContent(entity.getId(), entity.getFileId()); diff --git a/adc-da-report/src/main/java/com/adc/da/report/vo/ReportDetailVo.java b/adc-da-report/src/main/java/com/adc/da/report/vo/ReportDetailVo.java index bd574f6..69e6851 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/vo/ReportDetailVo.java +++ b/adc-da-report/src/main/java/com/adc/da/report/vo/ReportDetailVo.java @@ -43,6 +43,7 @@ public class ReportDetailVo { */ private String departmentId; + private String department; /** * 部门 */ @@ -68,6 +69,8 @@ public class ReportDetailVo { */ private String fileId; + private String fileName; + /** * 创建人id */ diff --git a/adc-da-report/src/main/resources/mybatis/mapper/mysql/ReportManageMapper.xml b/adc-da-report/src/main/resources/mybatis/mapper/mysql/ReportManageMapper.xml index efc3d5e..6f06709 100644 --- a/adc-da-report/src/main/resources/mybatis/mapper/mysql/ReportManageMapper.xml +++ b/adc-da-report/src/main/resources/mybatis/mapper/mysql/ReportManageMapper.xml @@ -228,12 +228,11 @@ ORDER BY updateDate desc diff --git a/adc-da-sys/src/main/resources/mybatis/mapper/sys/mysql/UserEOMapper.xml b/adc-da-sys/src/main/resources/mybatis/mapper/sys/mysql/UserEOMapper.xml index ba90327..e30b4b8 100644 --- a/adc-da-sys/src/main/resources/mybatis/mapper/sys/mysql/UserEOMapper.xml +++ b/adc-da-sys/src/main/resources/mybatis/mapper/sys/mysql/UserEOMapper.xml @@ -4,8 +4,9 @@