From b0a47208c292f54dd59b20d28a547788594a54b0 Mon Sep 17 00:00:00 2001 From: bupengxiang Date: Wed, 24 May 2023 16:50:07 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BF=AE=E6=94=B9]=20=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E6=89=B9=E9=87=8F=E4=B8=8A=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ReportManageConroller.java | 64 ++++------------- .../da/report/dao/mysql/ReportFileDao.java | 4 ++ .../com/adc/da/report/eo/ReportEntity.java | 5 +- .../java/com/adc/da/report/eo/ReportFile.java | 40 +++++++++++ .../adc/da/report/eo/TtReportManageAct.java | 8 ++- .../adc/da/report/service/IFileService.java | 2 + .../da/report/service/IReportFileService.java | 11 +++ .../adc/da/report/service/IReportService.java | 4 ++ .../report/service/impl/IFileServiceImpl.java | 54 ++++++++++++++ .../service/impl/IReportFileServiceImpl.java | 16 +++++ .../service/impl/IReportServiceImpl.java | 52 ++++++++++---- .../impl/ITtReportManageActServiceImpl.java | 25 +++++++ .../com/adc/da/report/vo/ReportDetailVo.java | 6 ++ .../java/com/adc/da/report/vo/ReportVo.java | 15 ++-- .../mybatis/mapper/mysql/ReportFileMapper.xml | 28 ++++++++ .../mapper/mysql/ReportManageMapper.xml | 72 +++++++++++++++---- .../mapper/mysql/TtReportManageActMapper.xml | 30 +++++--- .../service/ActivitDefineService.java | 37 +++++++++- 18 files changed, 372 insertions(+), 101 deletions(-) create mode 100644 adc-da-report/src/main/java/com/adc/da/report/service/IReportFileService.java create mode 100644 adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportFileServiceImpl.java create mode 100644 adc-da-report/src/main/resources/mybatis/mapper/mysql/ReportFileMapper.xml 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 c7ecd61..88676fd 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 @@ -5,10 +5,7 @@ import com.adc.da.login.util.UserUtils; import com.adc.da.report.annotation.ReportLog; import com.adc.da.report.dao.mysql.ReportDao; import com.adc.da.report.dao.mysql.ReportLogBookDao; -import com.adc.da.report.eo.FileEntity; -import com.adc.da.report.eo.LogEntity; -import com.adc.da.report.eo.ReportEntity; -import com.adc.da.report.eo.ReportLogBook; +import com.adc.da.report.eo.*; import com.adc.da.report.service.IFileService; import com.adc.da.report.service.ILogService; import com.adc.da.report.service.IReportService; @@ -345,53 +342,7 @@ public class ReportManageConroller { @ApiOperation(value = "详情||上传文件") @PostMapping("/uploadFile") public ResponseMessage> uploadFile(MultipartFile file) throws IOException { - Map resultMap = new HashMap(); - //上传路径 - //此路径映射到localhost - String path = uploadFile; - String realName = file.getOriginalFilename(); - Date now = new Date(); - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String date = dateFormat.format(now); - Random r = new Random(); - String num = ""; - for (int i = 0; i < 3; i++) { - int s = r.nextInt(10); - num += String.valueOf(s); - } - - //获取上传文件名 - String fileName = file.getOriginalFilename(); - String contentType = file.getContentType(); - String ext = fileName.substring(fileName.lastIndexOf(".") + 1); - fileName = fileName.substring(0, fileName.lastIndexOf("."))+date + num + "." + ext; - log.info("fileName>>" + fileName); - try{ - String result=""; - // 上传方式:阿里云:alioss 华为云:hwobs - if ("hwobs".equals(uploadType)){ - result = obsBootUtil.upload(file, fileName); - }else if ("alioss".equals(uploadType)) { - result = ossClientUtil.uploadFile2OSS(file.getInputStream(),fileName); - }else if ("local".equals(uploadType)) { - localFileUtil.saveFile(file.getInputStream(), fileName); - } - resultMap.put("key", date + num); - resultMap.put("value", path + "//" + fileName); - resultMap.put("name", realName); - } - catch (Exception e){ - log.error(e.getMessage(),e); - } - FileEntity entity = new FileEntity(); - entity.setContentType(contentType); - entity.setCreateTime(new Date()); - entity.setFileName(realName); - entity.setFileType(ext); - entity.setFileSize(String.valueOf(file.getSize())); - entity.setFileId(date + num); - entity.setSavePath(fileName); - fileService.addFile(entity); + Map resultMap = fileService.uploadFile(file); return Result.success(resultMap); } @@ -621,4 +572,15 @@ public class ReportManageConroller { return Result.success(act); } + /** + * 删除文件 + * @return + * @throws ParseException + */ + @ApiOperation("删除文件") + @PostMapping("/delFile") + public ResponseMessage delFile(@RequestBody ReportFile reportFile) throws Exception { + reportService.delFile(reportFile); + return Result.success(); + } } diff --git a/adc-da-report/src/main/java/com/adc/da/report/dao/mysql/ReportFileDao.java b/adc-da-report/src/main/java/com/adc/da/report/dao/mysql/ReportFileDao.java index 6b74e34..709a416 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/dao/mysql/ReportFileDao.java +++ b/adc-da-report/src/main/java/com/adc/da/report/dao/mysql/ReportFileDao.java @@ -2,7 +2,11 @@ package com.adc.da.report.dao.mysql; import com.adc.da.report.eo.ReportFile; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; public interface ReportFileDao extends BaseMapper { + void delByReportId(@Param("pageVO") ReportFile reportFile); + + void actEndDelReport(@Param("pageVO")ReportFile reportFile1); } 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 222990a..f444238 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 @@ -68,7 +68,7 @@ public class ReportEntity { /** * 文件id */ - @TableField("fileId") + @TableField(exist = false) private String fileId; /** @@ -109,4 +109,7 @@ public class ReportEntity { @TableField(exist = false) private List> labelList; + + @TableField(exist = false) + private List fileList; } diff --git a/adc-da-report/src/main/java/com/adc/da/report/eo/ReportFile.java b/adc-da-report/src/main/java/com/adc/da/report/eo/ReportFile.java index 5a950c5..bbe33a9 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/eo/ReportFile.java +++ b/adc-da-report/src/main/java/com/adc/da/report/eo/ReportFile.java @@ -1,14 +1,54 @@ package com.adc.da.report.eo; +import com.adc.da.login.util.UserUtils; import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; +import java.util.List; + @Data +@TableName("TS_REPORT_FILE") public class ReportFile { + @TableField("id") + private String Id; + @TableField("report_id") private String reportId; @TableField("file_id") private String fileId; + + /** + * 状态 1 流程中 ,2 非流程中 + */ + @TableField("state") + private Integer state; + + @TableField("user_id") + private String userId; + + + + @TableField(exist = false) + private List rfIdList; + + @TableField(exist = false) + private String fileName; + + + + public ReportFile(String reportId){ + this.reportId = reportId; + } + public ReportFile(String reportId,Integer state){ + this.reportId = reportId; + this.state = state; + this.userId = UserUtils.getUserId(); + } + + public ReportFile(){ + + } } diff --git a/adc-da-report/src/main/java/com/adc/da/report/eo/TtReportManageAct.java b/adc-da-report/src/main/java/com/adc/da/report/eo/TtReportManageAct.java index e6fa1af..5402925 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/eo/TtReportManageAct.java +++ b/adc-da-report/src/main/java/com/adc/da/report/eo/TtReportManageAct.java @@ -128,10 +128,16 @@ public class TtReportManageAct { @TableField("secrecy_last") private Date secrecyLast; - @TableField("file_name") + @TableField(exist = false) + private String rfId; + + @TableField(exist = false) private String fileName; @TableField(exist = false) private List labelList; + @TableField(exist = false) + private List fileList; + } diff --git a/adc-da-report/src/main/java/com/adc/da/report/service/IFileService.java b/adc-da-report/src/main/java/com/adc/da/report/service/IFileService.java index adec625..7c875de 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/service/IFileService.java +++ b/adc-da-report/src/main/java/com/adc/da/report/service/IFileService.java @@ -27,4 +27,6 @@ public interface IFileService { FileEntity getFile(String fileId); List> batchUploadFile(MultipartFile[] files); + + Map uploadFile(MultipartFile file); } diff --git a/adc-da-report/src/main/java/com/adc/da/report/service/IReportFileService.java b/adc-da-report/src/main/java/com/adc/da/report/service/IReportFileService.java new file mode 100644 index 0000000..260a802 --- /dev/null +++ b/adc-da-report/src/main/java/com/adc/da/report/service/IReportFileService.java @@ -0,0 +1,11 @@ +package com.adc.da.report.service; + + +import com.adc.da.report.eo.ReportFile; +import com.baomidou.mybatisplus.extension.service.IService; + +public interface IReportFileService extends IService { + + + +} 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 1a50caa..46ad7c7 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 @@ -1,6 +1,7 @@ package com.adc.da.report.service; import com.adc.da.report.eo.ReportEntity; +import com.adc.da.report.eo.ReportFile; import com.adc.da.report.vo.ChangeUploaderVo; import com.adc.da.report.vo.ReportQueryVo; import com.adc.da.report.vo.ReportVo; @@ -95,4 +96,7 @@ public interface IReportService { * @return */ ResponseMessage changeUploader(ChangeUploaderVo changeUploaderVo); + + void delFile(ReportFile reportFile); + } diff --git a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IFileServiceImpl.java b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IFileServiceImpl.java index 976d901..4ad2e85 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IFileServiceImpl.java +++ b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IFileServiceImpl.java @@ -6,6 +6,7 @@ import com.adc.da.report.service.IFileService; import com.adc.da.report.util.LocalFileUtil; import com.adc.da.report.util.OSSClientUtil; import com.adc.da.report.util.ObsBootUtil; +import lombok.Synchronized; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -121,4 +122,57 @@ public class IFileServiceImpl implements IFileService { } return resultList; } + + @Override + @Synchronized + public Map uploadFile(MultipartFile file) { + Map resultMap = new HashMap(); + //上传路径 + //此路径映射到localhost + String path = uploadFile; + String realName = file.getOriginalFilename(); + Date now = new Date(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + String date = dateFormat.format(now); + Random r = new Random(); + String num = ""; + for (int i = 0; i < 3; i++) { + int s = r.nextInt(10); + num += String.valueOf(s); + } + + //获取上传文件名 + String fileName = file.getOriginalFilename(); + String contentType = file.getContentType(); + String ext = fileName.substring(fileName.lastIndexOf(".") + 1); + fileName = fileName.substring(0, fileName.lastIndexOf("."))+date + num + "." + ext; + log.info("fileName>>" + fileName); + try{ + String result=""; + // 上传方式:阿里云:alioss 华为云:hwobs + if ("hwobs".equals(uploadType)){ + result = obsBootUtil.upload(file, fileName); + }else if ("alioss".equals(uploadType)) { + result = ossClientUtil.uploadFile2OSS(file.getInputStream(),fileName); + }else if ("local".equals(uploadType)) { + localFileUtil.saveFile(file.getInputStream(), fileName); + } + resultMap.put("id", date + num); + resultMap.put("value", path + "//" + fileName); + resultMap.put("name", realName); + } + catch (Exception e){ + log.error(e.getMessage(),e); + } + FileEntity entity = new FileEntity(); + entity.setContentType(contentType); + entity.setCreateTime(new Date()); + entity.setFileName(realName); + entity.setFileType(ext); + entity.setFileSize(String.valueOf(file.getSize())); + entity.setFileId(date + num); + entity.setSavePath(fileName); + this.addFile(entity); + return resultMap; + } } diff --git a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportFileServiceImpl.java b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportFileServiceImpl.java new file mode 100644 index 0000000..e57861b --- /dev/null +++ b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportFileServiceImpl.java @@ -0,0 +1,16 @@ +package com.adc.da.report.service.impl; + +import com.adc.da.report.dao.mysql.ReportFileDao; +import com.adc.da.report.eo.ReportFile; +import com.adc.da.report.service.IReportFileService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + + +@Service +@Slf4j +public class IReportFileServiceImpl extends ServiceImpl + implements IReportFileService { + +} 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 d356c1f..6ecb9ec 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 @@ -6,6 +6,7 @@ import com.adc.da.login.util.UserUtils; import com.adc.da.report.constant.ReportConstants; import com.adc.da.report.dao.mysql.FileDao; import com.adc.da.report.dao.mysql.ReportDao; +import com.adc.da.report.dao.mysql.ReportFileDao; import com.adc.da.report.dao.mysql.ReportLabelDao; import com.adc.da.report.eo.*; import com.adc.da.report.service.*; @@ -128,6 +129,12 @@ public class IReportServiceImpl extends ServiceImpl @Resource private MenuEOService menuEOService; + @Autowired + private IReportFileService iReportFileService; + + @Autowired + private ReportFileDao reportFileDao; + @Override public void addOrUpdate(ReportEntity reportEntity) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -143,6 +150,16 @@ public class IReportServiceImpl extends ServiceImpl reportDao.insert(reportEntity); } String reportId = reportEntity.getId(); + //文件 + reportFileDao.delByReportId(new ReportFile(reportId,2)); + List reportFiles = new ArrayList<>(); + for (String s : reportEntity.getFileList()) { + ReportFile reportFile = new ReportFile(); + reportFile.setReportId(reportId); + reportFile.setFileId(s); + reportFiles.add(reportFile); + } + iReportFileService.saveBatch(reportFiles); //插入报表标签关系表 //修改报表标签关系表(先删后增) iReportLabelService.deleteReportLabelByReportId(new String[]{reportId}); @@ -156,13 +173,13 @@ public class IReportServiceImpl extends ServiceImpl labelList.add(reportLabelEntity); } iReportLabelService.saveBatch(labelList); - //插入报表内容表 - try { - iReportContentService.insertReportContent(reportId, reportEntity.getFileId()); - log.info("抽取报告内容"); - } catch (IOException e) { - log.error("获取报告内容失败", e); - } + } + //插入报表内容表 + try { + iReportContentService.insertReportContent(reportId, reportEntity.getFileId()); + log.info("抽取报告内容"); + } catch (IOException e) { + log.error("获取报告内容失败", e); } } @@ -181,6 +198,11 @@ public class IReportServiceImpl extends ServiceImpl return Result.success("修改成功"); } + @Override + public void delFile(ReportFile reportFile) { + reportFileDao.deleteBatchIds(reportFile.getRfIdList()); + } + /** * 新增或编辑报告 * @@ -267,8 +289,6 @@ public class IReportServiceImpl extends ServiceImpl reportLabelDao.insert(reportLabelEntity); }); - //TODO 插入报表内容表(先删后增) - //删除power_apply表中的对应权限 iPowerApplyService.deleteByReportId(entity.getId()); @@ -530,7 +550,9 @@ public class IReportServiceImpl extends ServiceImpl } list.getRecords().forEach(c -> { - FileEntity fileEntity = Optional.ofNullable(fileDao.selectById(c.getFileId())).orElse(new FileEntity()); + // TODO FILE c.getFileList +// FileEntity fileEntity = Optional.ofNullable(fileDao.selectById(c.getFileId())).orElse(new FileEntity()); + FileEntity fileEntity = new FileEntity(); if (StringUtils.isEmpty(fileEntity.getFileType())) { c.setFileType(null); } @@ -556,7 +578,8 @@ public class IReportServiceImpl extends ServiceImpl //文件大小 c.setFileSize(StringUtils.isNotEmpty(fileEntity.getFileSize()) ? String.valueOf(Integer.parseInt(fileEntity.getFileSize()) / 1024) + "kb" : "0kb"); - c.setFileName(fileEntity.getFileName()); + // TODO FILE +// c.setFileName(fileEntity.getFileName()); // List userIdList = reportUserDao.selectList( // new QueryWrapper().eq("reportId", c.getId())) // .stream().map(ReportUserEntity::getUserId).collect(Collectors.toList()); @@ -613,7 +636,9 @@ public class IReportServiceImpl extends ServiceImpl }); list.getRecords().forEach(c -> { - FileEntity fileEntity = Optional.ofNullable(fileDao.selectById(c.getFileId())).orElse(new FileEntity()); + // TODO FILE c.getFileList +// FileEntity fileEntity = Optional.ofNullable(fileDao.selectById(c.getFileId())).orElse(new FileEntity()); + FileEntity fileEntity = new FileEntity() ; if (StringUtils.isEmpty(fileEntity.getFileType())) { c.setFileType(null); } @@ -639,7 +664,8 @@ public class IReportServiceImpl extends ServiceImpl //文件大小 c.setFileSize(StringUtils.isNotEmpty(fileEntity.getFileSize()) ? String.valueOf(Integer.parseInt(fileEntity.getFileSize()) / 1024) + "kb" : "0kb"); - c.setFileName(fileEntity.getFileName()); + //TODO FILE +// c.setFileName(fileEntity.getFileName()); // List userIdList = reportUserDao.selectList( // new QueryWrapper().eq("reportId", c.getId())) // .stream().map(ReportUserEntity::getUserId).collect(Collectors.toList()); diff --git a/adc-da-report/src/main/java/com/adc/da/report/service/impl/ITtReportManageActServiceImpl.java b/adc-da-report/src/main/java/com/adc/da/report/service/impl/ITtReportManageActServiceImpl.java index d6e9916..b11fc47 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/service/impl/ITtReportManageActServiceImpl.java +++ b/adc-da-report/src/main/java/com/adc/da/report/service/impl/ITtReportManageActServiceImpl.java @@ -5,12 +5,15 @@ import cn.hutool.core.bean.BeanUtil; import com.adc.da.login.util.UserUtils; import com.adc.da.report.dao.mysql.PowerApplyDao; import com.adc.da.report.dao.mysql.ReportDao; +import com.adc.da.report.dao.mysql.ReportFileDao; import com.adc.da.report.dao.mysql.TtReportManageActDao; import com.adc.da.report.eo.LogEntity; import com.adc.da.report.eo.ReportEntity; +import com.adc.da.report.eo.ReportFile; import com.adc.da.report.eo.TtReportManageAct; import com.adc.da.report.service.ILogService; import com.adc.da.report.service.IReportContentService; +import com.adc.da.report.service.IReportFileService; import com.adc.da.report.service.ITtReportManageActService; import com.adc.da.report.vo.DeleteParamRequestVO; import com.adc.da.report.vo.TtReportManageActPageVO; @@ -29,6 +32,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.UUID; /** * @author bu @@ -51,7 +55,11 @@ public class ITtReportManageActServiceImpl extends ServiceImpl @@ -152,6 +160,23 @@ public class ITtReportManageActServiceImpl extends ServiceImpl reportFiles = new ArrayList<>(); + for (ReportFile reportFile : ttReportManageAct.getFileList()) { + reportFile.setId(UUID.randomUUID().toString().replace("-","")); + reportFile.setReportId(ttReportManageAct.getDataId()); +// reportFile.setFileId(s); + reportFile.setState(2); + reportFile.setUserId(UserUtils.getUserId()); + reportFiles.add(reportFile); + } + iReportFileService.saveBatch(reportFiles); + try { iReportContentService.insertReportContent(ttReportManageAct.getDataId(), ttReportManageAct.getFileId()); log.info("抽取报告内容"); 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 5843c73..b84b0fa 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 @@ -1,5 +1,7 @@ package com.adc.da.report.vo; +import com.adc.da.report.eo.ReportFile; +import com.baomidou.mybatisplus.annotation.TableField; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -111,4 +113,8 @@ public class ReportDetailVo { * 保密到期日期 */ private Date secrecyLast; + + + @TableField(exist = false) + private List fileList; } diff --git a/adc-da-report/src/main/java/com/adc/da/report/vo/ReportVo.java b/adc-da-report/src/main/java/com/adc/da/report/vo/ReportVo.java index 48cfc2a..ea02cfb 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/vo/ReportVo.java +++ b/adc-da-report/src/main/java/com/adc/da/report/vo/ReportVo.java @@ -1,5 +1,7 @@ package com.adc.da.report.vo; +import com.adc.da.report.eo.ReportFile; +import com.baomidou.mybatisplus.annotation.TableField; import lombok.Data; import java.util.List; @@ -46,16 +48,6 @@ public class ReportVo { */ private String year; - /** - * 文件id - */ - private String fileId; - - /** - * 文件名称 - */ - private String fileName; - /** * 文件类型 */ @@ -135,5 +127,6 @@ public class ReportVo { private Integer isAct; private String prcType; - + @TableField(exist = false) + private List fileList; } diff --git a/adc-da-report/src/main/resources/mybatis/mapper/mysql/ReportFileMapper.xml b/adc-da-report/src/main/resources/mybatis/mapper/mysql/ReportFileMapper.xml new file mode 100644 index 0000000..19241a8 --- /dev/null +++ b/adc-da-report/src/main/resources/mybatis/mapper/mysql/ReportFileMapper.xml @@ -0,0 +1,28 @@ + + + + + delete from ts_report_file + + report_id = #{pageVO.reportId} + and ( state = 2 or (state = 1 AND user_id = #{pageVO.userId} ) ) + + + + + + delete from ts_report_file + + + AND report_id = #{pageVO.reportId} + + + AND user_id = #{pageVO.userId} + + + AND state = #{pageVO.state} + + + + + 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 cb7feca..f0dde0a 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 @@ -1,15 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - id, name, keycontent, maincontent, department, year, fileId, confidentialLevel, privacyLevel, + id, name, keycontent, maincontent, department, year, confidentialLevel, privacyLevel, createUserId, createDate, updateDate, del_flag,secrecy_last - #{Vo.id},#{Vo.name},#{Vo.keycontent},#{Vo.maincontent},#{Vo.department},#{Vo.year},#{Vo.fileId}, + #{Vo.id},#{Vo.name},#{Vo.keycontent},#{Vo.maincontent},#{Vo.department},#{Vo.year}, #{Vo.confidentialLevel},#{Vo.privacyLevel}, #{Vo.createUserId}, #{Vo.createDate},#{Vo.updateDate},#{Vo.del_flag}, @@ -19,7 +65,7 @@ insert into TT_REPORT_MANAGE () value ( - #{Vo.dataId},#{Vo.name},#{Vo.keyContent},#{Vo.mainContent},#{Vo.department},#{Vo.year},#{Vo.fileId}, + #{Vo.dataId},#{Vo.name},#{Vo.keyContent},#{Vo.mainContent},#{Vo.department},#{Vo.year}, #{Vo.confidentialLevel},#{Vo.privacyLevel}, #{Vo.createUserId}, #{Vo.createDate},#{Vo.updateDate},#{Vo.delFlag}, @@ -45,7 +91,6 @@ eo.maincontent, eo.DEPARTMENT, eo.YEAR, - eo.fileid, eo.confidentialLevel, eo.privacyLevel, eo.createUserId, @@ -91,7 +136,7 @@ - SELECT eo.id AS id, @@ -100,7 +145,6 @@ eo.maincontent AS mainContent, eo.DEPARTMENT AS department, eo.`YEAR` AS `year`, - eo.fileid AS fileId, eo.confidentialLevel AS confidentialLevel, eo.privacyLevel AS privacyLevel, eo.createUserId AS createUserId, @@ -113,6 +157,8 @@ IF(bpn.id is null,1, IF(bpn.SUBMIT_STATUS = 1 and bpn.CREAT_USER = #{pageVO.usid} ,0,1) ) as isAct + , + f.FILE_ID as fileId, f.file_name as fileName ,rf.id as rfId FROM TT_REPORT_MANAGE eo LEFT JOIN ts_report_content rc ON eo.id = rc.report_id @@ -122,6 +168,8 @@ LEFT JOIN (SELECT report_id, COUNT(id) AS download FROM report_log_book WHERE type = 2 GROUP BY report_id) AS downloadCount ON eo.id = downloadCount.report_id LEFT JOIN ts_report_user_rating AS trur ON eo.id = trur.report_id LEFT JOIN bus_process_name as bpn on bpn.data_id = eo.id and bpn.prc_type != '5' + LEFT JOIN ts_report_file rf on rf.report_id = eo.id and rf.state = 2 + LEFT JOIN ts_file f on f.FILE_ID = rf.file_id WHERE eo.DEL_FLAG = 0 @@ -175,7 +223,6 @@ t.year, t.name, t.keycontent, - t.fileId, t.createDate, t.department, t.maincontent, @@ -274,7 +321,7 @@ - SELECT rm.id AS id, rm.name AS `name`, @@ -284,18 +331,19 @@ rm.maincontent AS maincontent, rm.department AS department, rm.`year` AS `year`, - rm.fileId AS fileId, - f.file_name as fileName, rm.confidentialLevel AS confidentialLevel, rm.privacyLevel AS privacyLevel, - rm.secrecy_last AS secrecyLast + rm.secrecy_last AS secrecyLast, + f.id as fileId, f.file_name as fileName ,rf.id as rfId FROM `tt_report_manage` AS rm LEFT JOIN ts_user AS u ON u.USID = rm.createUserId LEFT JOIN ts_org as org on org.id = rm.department - LEFT JOIN ts_file as f on rm.fileId=f.file_id + LEFT JOIN ts_report_file rf on rf.report_id = rm.id on rf.state = 2 + LEFT JOIN ts_file f on f.FILE_ID = rf.file_id WHERE rm.id = #{reportId} AND rm.del_flag = 0 + diff --git a/adc-da-report/src/main/resources/mybatis/mapper/mysql/TtReportManageActMapper.xml b/adc-da-report/src/main/resources/mybatis/mapper/mysql/TtReportManageActMapper.xml index 3047e60..d0fdc99 100644 --- a/adc-da-report/src/main/resources/mybatis/mapper/mysql/TtReportManageActMapper.xml +++ b/adc-da-report/src/main/resources/mybatis/mapper/mysql/TtReportManageActMapper.xml @@ -15,7 +15,6 @@ - @@ -23,7 +22,11 @@ - + + + + + @@ -34,9 +37,9 @@ id, - task_id, prc_id, data_id,report_id ,name, keycontent, maincontent, department, year, fileId, confidentialLevel, + task_id, prc_id, data_id,report_id ,name, keycontent, maincontent, department, year, confidentialLevel, privacyLevel, createUserId, createDate, updateDate, del_flag - ,secrecy_last,file_name + ,secrecy_last @@ -71,9 +74,6 @@ AND year LIKE CONCAT(CONCAT('%',#{pageVO.year}),'%') - - AND fileId LIKE CONCAT(CONCAT('%',#{pageVO.fileId}),'%') - AND confidentialLevel LIKE CONCAT(CONCAT('%',#{pageVO.confidentialLevel}),'%') @@ -135,10 +135,14 @@ a.id, task_id, prc_id, data_id,report_id, name, keycontent, maincontent, department, org.LONG_NAME as departmentName, - year, fileId, confidentialLevel, privacyLevel, createUserId, createDate, updateDate, del_flag - ,secrecy_last,file_name + year,f.id as fileId, f.file_name as fileName ,rf.id as rfId, confidentialLevel, privacyLevel, createUserId, + createDate, + updateDate, del_flag + ,secrecy_last FROM a LEFT JOIN ts_org org on a.department = org.id + LEFT JOIN ts_report_file rf on rf.report_id = a.id on rf.state = 1 + LEFT JOIN ts_file f on f.FILE_ID = rf.file_id data_id = #{dataId} @@ -148,10 +152,14 @@ a.id, task_id, prc_id, data_id,report_id, name, keycontent, maincontent, department, org.LONG_NAME as departmentName, - year, fileId, confidentialLevel, privacyLevel, createUserId, createDate, updateDate, del_flag - ,secrecy_last,file_name + year,f.id as fileId, f.file_name as fileName ,rf.id as rfId ,confidentialLevel, privacyLevel, createUserId, + createDate, + updateDate, del_flag + ,secrecy_last FROM a LEFT JOIN ts_org org on a.department = org.id + LEFT JOIN ts_report_file rf on rf.report_id = a.id on rf.state = 1 + LEFT JOIN ts_file f on f.FILE_ID = rf.file_id prc_id = #{prcId} diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/service/ActivitDefineService.java b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/service/ActivitDefineService.java index 611751d..82f785d 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/service/ActivitDefineService.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/service/ActivitDefineService.java @@ -1,12 +1,16 @@ package com.adc.da.wkflow.business_activiti.service; +import com.adc.da.login.util.UserUtils; import com.adc.da.report.dao.mysql.PowerApplyActDao; +import com.adc.da.report.dao.mysql.ReportFileDao; import com.adc.da.report.dao.mysql.ReportLabelDao; import com.adc.da.report.dao.mysql.TtReportManageActDao; import com.adc.da.report.eo.PowerApplyAct; +import com.adc.da.report.eo.ReportFile; import com.adc.da.report.eo.ReportLabelEntity; import com.adc.da.report.eo.TtReportManageAct; import com.adc.da.report.service.IPowerApplyActService; +import com.adc.da.report.service.IReportFileService; import com.adc.da.report.service.IReportLabelService; import com.adc.da.report.service.ITtReportManageActService; import com.adc.da.util.exception.AdcDaBaseException; @@ -19,7 +23,10 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.*; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.UUID; @Service public class ActivitDefineService { @@ -42,7 +49,11 @@ public class ActivitDefineService { private ReportLabelDao reportLabelDao; @Autowired private IReportLabelService iReportLabelService; + @Autowired + private IReportFileService iReportFileService; + @Autowired + private ReportFileDao reportFileDao; //保存data数据 public String saveOrUpdateDate(String prcType, String dataJson,String taskId,String prcId,String reportId) { if (StringUtils.isBlank(reportId)){ @@ -115,6 +126,18 @@ public class ActivitDefineService { } iReportLabelService.saveBatch(labelList); } + // 文件 + reportFileDao.delByReportId(new ReportFile(reportId,1)); + List reportFiles = new ArrayList<>(); + for (ReportFile reportFile : ttReportManageAct.getFileList()) { + reportFile.setId(UUID.randomUUID().toString().replace("-","")); + reportFile.setReportId(ttReportManageAct.getDataId()); +// reportFile.setFileId(s); + reportFile.setState(1); + reportFile.setUserId(UserUtils.getUserId()); + reportFiles.add(reportFile); + } + iReportFileService.saveBatch(reportFiles); }else if ("5".equals(prcType)){ // 编辑 TtReportManageAct ttReportManageAct = JSONObject.parseObject(dataJson, TtReportManageAct.class); @@ -138,6 +161,18 @@ public class ActivitDefineService { } iReportLabelService.saveBatch(labelList); } + // 文件 + reportFileDao.delByReportId(new ReportFile(reportId,1)); + List reportFiles = new ArrayList<>(); + for (ReportFile reportFile : ttReportManageAct.getFileList()) { + reportFile.setId(UUID.randomUUID().toString().replace("-","")); + reportFile.setReportId(ttReportManageAct.getDataId()); +// reportFile.setFileId(s); + reportFile.setState(1); + reportFile.setUserId(UserUtils.getUserId()); + reportFiles.add(reportFile); + } + iReportFileService.saveBatch(reportFiles); }else { throw new AdcDaBaseException("没有流程类型"+prcType); }