From 78bfd21522d7aac0e0ed9c29df92a483a31a7b38 Mon Sep 17 00:00:00 2001 From: bupengxiang Date: Thu, 27 Apr 2023 17:23:48 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BF=AE=E6=94=B9]=20=E8=8D=89=E7=A8=BF?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=BC=80=E5=8F=91=EF=BC=8C=E5=8F=8A=E9=83=A8?= =?UTF-8?q?=E5=88=86bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ReportManageConroller.java | 15 ++++ .../adc/da/report/dao/mysql/ReportDao.java | 2 + .../adc/da/report/service/IReportService.java | 2 + .../service/impl/IReportServiceImpl.java | 75 ++++++++++++++++++- .../mapper/mysql/ReportManageMapper.xml | 60 ++++++++++++--- .../task/TodoTaskController.java | 74 ++++++++++++++++-- .../entity/BusProcessApprove.java | 3 + .../mapper/BusProcessApproveMapper.java | 1 + .../business_main/vo/ApproveDataVO.java | 2 + .../mapper/mysql/BusProcessApproveMapper.xml | 3 + 10 files changed, 219 insertions(+), 18 deletions(-) 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 0910740..407bb60 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 @@ -96,6 +96,21 @@ public class ReportManageConroller { return Result.success(list); } + /** + * 报告管理列表 + * @param vo + * @return + * @throws Exception + */ + @ApiOperation("报告管理列表") + @PostMapping("/reportManagerPage") + public ResponseMessage reportManagerPage(@RequestBody ReportQueryVo vo) throws Exception { + IPage list = reportService.reportManagerPage(vo); + return Result.success(list); + } + + + /** * 报告列表 * @param 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 788b975..5472c2d 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 @@ -36,4 +36,6 @@ public interface ReportDao extends BaseMapper { IPage getAddReportPage(IPage page, @Param("pageVO") ReportQueryVo vo); IPage page(IPage page,@Param("pageVO") ReportQueryVo vo,@Param("idSet")Set idSet); + + IPage reportManagerPage(IPage page,@Param("pageVO") ReportQueryVo vo,@Param("idSet")Set idSet); } 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 11da10c..30bb799 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 @@ -51,4 +51,6 @@ public interface IReportService { IPage addReportPage(ReportQueryVo vo) throws Exception; IPage page(ReportQueryVo vo); + + IPage reportManagerPage(ReportQueryVo vo); } 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 75658bd..63f95f6 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 @@ -105,7 +105,7 @@ public class IReportServiceImpl extends ServiceImpl if (StringUtils.isEmpty(entity.getId())) { entity.setId(UUID.randomUUID10()); entity.setCreateDate(format.format(new Date())); - entity.setCreateUserId(CommonUtils.getUserId()); + entity.setCreateUserId(UserUtils.getUserId()); entity.setDelFlag("0"); entity.setUpdateDate(format.format(new Date())); reportDao.insert(entity); @@ -448,6 +448,79 @@ public class IReportServiceImpl extends ServiceImpl return list; } + @Override + public IPage reportManagerPage(ReportQueryVo vo) { + IPage page = new Page<>(); + page.setCurrent(vo.getPageNo()); + page.setSize(vo.getPageSize()); + //判断是不是管理员 + boolean admin = false; + List roleEOList = roleEODao.selectByuserId(UserUtils.getUserId()); + for (RoleEO roleEO : roleEOList) { + if ("管理员".equals(roleEO.getName())){ + admin= !admin; + } + } + if (admin) { + vo.setUsid(null); + } else { + vo.setUsid(UserUtils.getUserId()); + } + + //按照labelId筛选 + Set idSet = new HashSet<>(); + if (Objects.nonNull(vo.getLabelId()) && !vo.getLabelId().isEmpty()) { + LambdaQueryWrapper reportLabelEntityWrapper = new LambdaQueryWrapper<>(); + reportLabelEntityWrapper.eq(ReportLabelEntity::getLabelId, vo.getLabelId().get(vo.getLabelId().size() - 1)); + List reportLabelEntities = reportLabelDao.selectList(reportLabelEntityWrapper); + reportLabelEntities.forEach(reportLabelEntity -> { + idSet.add(reportLabelEntity.getReportId()); + }); + idSet.add("1"); + } + + + IPage list = reportDao.reportManagerPage(page, vo,idSet); + //获取所有报告的labelId + list.getRecords().forEach((reportVo) -> { + reportVo.setLabelList(findLabelList(reportVo.getId())); + }); + list.getRecords().forEach(c -> { + FileEntity fileEntity = Optional.ofNullable(fileDao.selectById(c.getFileId())).orElse(new FileEntity()); + if (StringUtils.isEmpty(fileEntity.getFileType())) { + c.setFileType(null); + } + //ppt文件 + else if (ReportConstants.FILE_EXTENSIONS_PPT.equalsIgnoreCase(fileEntity.getFileType()) || + ReportConstants.FILE_EXTENSIONS_PPTX.equalsIgnoreCase(fileEntity.getFileType())) { + c.setFileType("1"); + } + //excel文件 + else if (ReportConstants.FILE_EXTENSIONS_XLS.equalsIgnoreCase(fileEntity.getFileType()) || + ReportConstants.FILE_EXTENSIONS_XLSX.equalsIgnoreCase(fileEntity.getFileType())) { + c.setFileType("2"); + } + //pdf文件 + else if (ReportConstants.FILE_EXTENSIONS_PDF.equalsIgnoreCase(fileEntity.getFileType())) { + c.setFileType("3"); + } + //word文件 + else { + c.setFileType("4"); + } + + //文件大小 + c.setFileSize(StringUtils.isNotEmpty(fileEntity.getFileSize()) + ? String.valueOf(Integer.parseInt(fileEntity.getFileSize()) / 1024) + "kb" : "0kb"); + c.setFileName(fileEntity.getFileName()); + List userIdList = reportUserDao.selectList( + new QueryWrapper().eq("reportId", c.getId())) + .stream().map(ReportUserEntity::getUserId).collect(Collectors.toList()); + c.setReportUserIdList(userIdList); + }); + return list; + } + /** * 创建htmlstring * 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 049f5fc..b4d36de 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 @@ -190,12 +190,8 @@ WHERE eo.DEL_FLAG = 0 - and ru.userId != #{pageVO.usid} - - - and eo.id not in ( - SELECT tt.report_id from power_apply tt WHERE tt.user_id = #{pageVO.usid} - ) + AND eo.id NOT IN ( SELECT ru.reportId FROM tr_report_user ru WHERE ru.userId = #{pageVO.usid} ) + AND eo.id NOT IN ( SELECT tt.report_id FROM power_apply tt WHERE tt.user_id = #{pageVO.usid} ) and name like CONCAT(CONCAT('%',#{pageVO.name}),'%') @@ -250,9 +246,6 @@ or eo.id in ( SELECT tt.report_id from power_apply tt WHERE tt.user_id = #{pageVO.usid}) ) - - - and name like CONCAT(CONCAT('%',#{pageVO.name}),'%') @@ -274,6 +267,54 @@ #{id} + + + and eo.id in + + #{id} + + + GROUP BY + eo.id + ORDER BY + eo.updateDate DESC + + + diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TodoTaskController.java b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TodoTaskController.java index 6f075d7..898c6d3 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TodoTaskController.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TodoTaskController.java @@ -95,7 +95,7 @@ public class TodoTaskController { private IBusProcessEntrustService iBusProcessEntrustService; @Resource - private IBusProcessApproveService iBusProcessApproveService; + private IBusProcessApproveService ibusProcessApproveService; @Resource private BusProcessApproveMapper busProcessApproveMapper; @@ -265,7 +265,7 @@ public class TodoTaskController { busProcessApprove.setPrcId(task.getProcessInstanceId()); busProcessApprove.setCreateDate(new Date()); busProcessApprove.setFromValsJson(busMes.getSubmitJson()); - iBusProcessApproveService.save(busProcessApprove); + ibusProcessApproveService.save(busProcessApprove); if (StringUtils.isNotEmpty(dataJson)){ //根据业务情况 对业务数据进行saveOrupdate activitDefineService.saveOrUpdateDate(busMes.getPrcType(),dataJson, task.getId(),task.getProcessInstanceId()); @@ -384,6 +384,40 @@ public class TodoTaskController { return Result.success(busProcessNewVO); } + /** + * @param dataId + * @param prcType + */ + @ApiOperation(value = "草稿详情") + @GetMapping("/queryDetailByDataId") + public ResponseMessage queryDetailByDataId(@RequestParam("dataId") String dataId, + @RequestParam("prcType")String prcType, + @RequestParam(value = "prcId",required = false)String prcId) { + // 查找详细业务数据 + BusProcessNewVO busProcessNewVO = this.queryDetailDateByDataId(dataId, prcType); + //审批数据 + BusProcessApprove busProcessApprove = new BusProcessApprove(); + if(StringUtils.isNotEmpty(prcId)){ + List busProcessApproves = busProcessApproveMapper.selectEoByPrcIdAndTask(prcId); + busProcessApprove = busProcessApproves.get(0); + }else { + busProcessApprove = busProcessApproveMapper.selectEoByDataId(dataId); + } + busProcessNewVO.setSubmitJson(busProcessApprove.getFromValsJson()); + return Result.success(busProcessNewVO); + } + + private BusProcessNewVO queryDetailDateByDataId(String dataId, String prcType) { + BusProcessNewVO busProcessNewVO = new BusProcessNewVO(); + if ("1".equals(prcType)){ + List powerApplyActs = powerApplyActDao.selectListBydataId(dataId); + String string = JSONArray.toJSONString(powerApplyActs); + //去对应的 数据表查数据 + busProcessNewVO.setDataJson(string); + } + return busProcessNewVO; + } + private BusProcessNewVO queryDetailDate(BusProcessNew busProcessNew, String prcType) { BusProcessNewVO busProcessNewVO = new BusProcessNewVO(); BeanUtils.copyProperties(busProcessNew,busProcessNewVO); @@ -406,7 +440,9 @@ public class TodoTaskController { @PostMapping("/saveTaskFirst") public Wrapper saveTaskFirst(@RequestBody ApproveDataVO approveDataVO) { String dataJson = approveDataVO.getDataJson(); + String submitJson = approveDataVO.getSubmitJson(); String saveId = null; + String dataId = null; if (approveDataVO.getId() != null && !approveDataVO.getId().equals("")) { saveId = approveDataVO.getId(); @@ -418,8 +454,14 @@ public class TodoTaskController { List list = iBusProcessNameService.list(queryWrapper); if (list != null && list.size() > 0) { BusProcessName busProcessName = list.get(0); - + busProcessName.setPrcName(approveDataVO.getPrcName()); busProcessName.setSubmitStatus(SubmitStatusEnum.DRAFT.getValue()); + if (StringUtils.isNotEmpty(dataJson)){ + //根据业务情况 对业务数据进行saveOrupdate + dataId = activitDefineService.saveOrUpdateDate(approveDataVO.getPrcType(), dataJson, null, + null); + busProcessName.setDataId(dataId); + } iBusProcessNameService.saveOrUpdate(busProcessName); } } else { @@ -428,11 +470,12 @@ public class TodoTaskController { BusProcessName busProcessName = new BusProcessName(); if (StringUtils.isNotEmpty(dataJson)) { //根据业务情况 对业务数据进行saveOrupdate - String dataId = activitDefineService.saveOrUpdateDate(approveDataVO.getPrcType(), dataJson, + dataId = activitDefineService.saveOrUpdateDate(approveDataVO.getPrcType(), dataJson, approveDataVO.getTaskId(),""); busProcessName.setDataId(dataId); } busProcessName.setPrcType(approveDataVO.getPrcType()); + busProcessName.setPrcName(approveDataVO.getPrcName()); busProcessName.setCreatUser(approveDataVO.getCreateUser()); busProcessName.setCreatTime(time); busProcessName.setCreatUserName(approveDataVO.getCreateUserName()); @@ -444,10 +487,21 @@ public class TodoTaskController { queryWrapper.eq("PRC_TYPE", approveDataVO.getPrcType()); queryWrapper.eq("CREAT_USER", approveDataVO.getCreateUser()); BusProcessName one = iBusProcessNameService.getOne(queryWrapper); - saveId = one.getId(); } + //存储审批数据 + if (StringUtils.isNotEmpty(submitJson)){ + BusProcessApprove busProcessApprove = busProcessApproveMapper.selectEoByDataId(dataId); + if (busProcessApprove == null){ + busProcessApprove = new BusProcessApprove(); + busProcessApprove.setDataId(dataId); + busProcessApprove.setCreateDate(new Date()); + busProcessApprove.setCreateUserId(approveDataVO.getCreateUser()); + } + busProcessApprove.setFromValsJson(submitJson); + ibusProcessApproveService.saveOrUpdate(busProcessApprove); + } return WrapMapper.ok(saveId); } @@ -476,7 +530,7 @@ public class TodoTaskController { */ @ApiOperation(value = "查询草稿") @PostMapping("/queryTaskDraft") - public List queryTaskDraft(@RequestBody TaskCommonQuery taskCommonQuery) { + public ResponseMessage queryTaskDraft(@RequestBody TaskCommonQuery taskCommonQuery) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("CREAT_USER", taskCommonQuery.getUserId()); if (taskCommonQuery.getPrcNum() != null && !taskCommonQuery.getPrcNum().equals("")) { @@ -493,8 +547,14 @@ public class TodoTaskController { queryWrapper.lambda().eq(BusProcessName::getSubmitStatus,SubmitStatusEnum.DRAFT.getValue()); queryWrapper.orderByDesc("CREAT_TIME"); + Page page = new Page(); List list = iBusProcessNameService.list(queryWrapper); - return list; + List reList = this.startPage(list, taskCommonQuery.getCurrent(), taskCommonQuery.getSize()); + page.setList(reList); + page.setPageNo(taskCommonQuery.getCurrent()); + page.setPageSize(taskCommonQuery.getSize()); + page.setCount((long) list.size()); + return Result.success(page); } @ApiOperation(value = "查询流程是否结束", notes = "查询流程是否结束") diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_main/entity/BusProcessApprove.java b/report-activity/src/main/java/com/adc/da/wkflow/business_main/entity/BusProcessApprove.java index 635c427..ad54a4f 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_main/entity/BusProcessApprove.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_main/entity/BusProcessApprove.java @@ -44,4 +44,7 @@ public class BusProcessApprove { @TableField("FROM_VALS_JSON") private String fromValsJson; + @TableField("DATA_ID") + private String dataId; + } diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_main/mapper/BusProcessApproveMapper.java b/report-activity/src/main/java/com/adc/da/wkflow/business_main/mapper/BusProcessApproveMapper.java index 442102d..deeee66 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_main/mapper/BusProcessApproveMapper.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_main/mapper/BusProcessApproveMapper.java @@ -19,4 +19,5 @@ public interface BusProcessApproveMapper extends BaseMapper { List selectEoByPrcIdAndTask(@Param("prcId") String prcId); + BusProcessApprove selectEoByDataId(@Param("dataId") String dataId); } diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_main/vo/ApproveDataVO.java b/report-activity/src/main/java/com/adc/da/wkflow/business_main/vo/ApproveDataVO.java index fed2888..6a998d8 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_main/vo/ApproveDataVO.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_main/vo/ApproveDataVO.java @@ -32,4 +32,6 @@ public class ApproveDataVO { private String dept; + private String prcName; + } diff --git a/report-activity/src/main/resources/mybatis/mapper/mysql/BusProcessApproveMapper.xml b/report-activity/src/main/resources/mybatis/mapper/mysql/BusProcessApproveMapper.xml index f4d9a4f..a75e653 100644 --- a/report-activity/src/main/resources/mybatis/mapper/mysql/BusProcessApproveMapper.xml +++ b/report-activity/src/main/resources/mybatis/mapper/mysql/BusProcessApproveMapper.xml @@ -6,4 +6,7 @@ select * from bus_process_approve where prc_id = #{prcId} Order by CREATE_DATE desc +