From d51c0402ff718d9d8c7190259f76c177168ca704 Mon Sep 17 00:00:00 2001 From: lcj <2331845269@qq.com> Date: Wed, 9 Jul 2025 14:13:58 +0800 Subject: [PATCH] =?UTF-8?q?[add]=20=E6=B7=BB=E5=8A=A0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=8E=9F=E5=88=99=EF=BC=8C=E4=B8=9A=E4=B8=BB=E9=9C=80=E6=B1=82?= =?UTF-8?q?=E8=AF=B7=E6=B1=82=EF=BC=8C=E8=AE=BE=E8=AE=A1=E5=8F=98=E6=9B=B4?= =?UTF-8?q?=EF=BC=8C=E8=81=94=E7=B3=BB=E5=8D=95=E5=8F=98=E6=9B=B4=E3=80=81?= =?UTF-8?q?=E7=AD=BE=E8=AF=81=E5=AE=A1=E6=89=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application.yml | 4 +- .../BusContactnoticeController.java | 41 ++++--- .../dromara/cory/domain/BusContactnotice.java | 9 +- .../service/IBusContactnoticeService.java | 10 +- .../impl/BusContactnoticeServiceImpl.java | 90 +++++++++++++- .../controller/DesDesignChangeController.java | 6 +- .../DesTechnicalStandardController.java | 8 +- .../design/domain/DesTechnicalStandard.java | 5 + .../DesTechnicalStandardVo.java | 11 ++ .../service/IDesDesignChangeService.java | 4 +- .../service/IDesTechnicalStandardService.java | 4 +- .../impl/DesDesignChangeServiceImpl.java | 115 ++++++++++++++++-- .../service/impl/DesDrawingServiceImpl.java | 3 + .../impl/DesSpecialSchemeServiceImpl.java | 60 ++++----- .../impl/DesTechnicalStandardServiceImpl.java | 71 ++++++++++- .../drone/domain/bo/DroDroneConfigBo.java | 30 +++-- .../drone/domain/vo/DroDroneConfigVo.java | 6 +- .../impl/DroDroneConfigServiceImpl.java | 21 ++-- .../domain/BusConstructionBlacklist.java | 4 - .../service/impl/BusProjectServiceImpl.java | 14 +-- .../FlwDefinitionSuffixTemplateEnum.java | 33 +++++ .../service/IFlwDefinitionService.java | 7 ++ .../impl/FlwDefinitionServiceImpl.java | 22 ++++ 23 files changed, 451 insertions(+), 127 deletions(-) create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/FlwDefinitionSuffixTemplateEnum.java diff --git a/xinnengyuan/ruoyi-admin/src/main/resources/application.yml b/xinnengyuan/ruoyi-admin/src/main/resources/application.yml index 76d5a7da..ed6d93ab 100644 --- a/xinnengyuan/ruoyi-admin/src/main/resources/application.yml +++ b/xinnengyuan/ruoyi-admin/src/main/resources/application.yml @@ -119,11 +119,11 @@ security: - /error - /*/api-docs - /*/api-docs/** - - /warm-flow-ui/** + - /warm-flow-ui/config - /other/ys7Device/webhook # todo 仅测试 - /facility/matrix/** - - /*/knowledgeDocument/changxie/callback/** + - /**/changxie/callback/** # 多租户配置 tenant: diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cory/controller/BusContactnoticeController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cory/controller/BusContactnoticeController.java index f8a602e5..574d981a 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cory/controller/BusContactnoticeController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cory/controller/BusContactnoticeController.java @@ -1,26 +1,27 @@ package org.dromara.cory.controller; -import java.util.List; - -import lombok.RequiredArgsConstructor; -import jakarta.servlet.http.HttpServletResponse; -import jakarta.validation.constraints.*; import cn.dev33.satoken.annotation.SaCheckPermission; -import org.springframework.web.bind.annotation.*; -import org.springframework.validation.annotation.Validated; -import org.dromara.common.idempotent.annotation.RepeatSubmit; -import org.dromara.common.log.annotation.Log; -import org.dromara.common.web.core.BaseController; -import org.dromara.common.mybatis.core.page.PageQuery; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; import org.dromara.common.core.domain.R; import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.EditGroup; -import org.dromara.common.log.enums.BusinessType; import org.dromara.common.excel.utils.ExcelUtil; -import org.dromara.cory.domain.vo.BusContactnoticeVo; -import org.dromara.cory.domain.bo.BusContactnoticeBo; -import org.dromara.cory.service.IBusContactnoticeService; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.web.core.BaseController; +import org.dromara.cory.domain.bo.BusContactnoticeBo; +import org.dromara.cory.domain.vo.BusContactnoticeVo; +import org.dromara.cory.service.IBusContactnoticeService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; /** * 联系单 @@ -64,7 +65,7 @@ public class BusContactnoticeController extends BaseController { @SaCheckPermission("cory:contactnotice:query") @GetMapping("/{id}") public R getInfo(@NotNull(message = "主键不能为空") - @PathVariable Long id) { + @PathVariable Long id) { return R.ok(busContactnoticeService.queryById(id)); } @@ -75,8 +76,8 @@ public class BusContactnoticeController extends BaseController { @Log(title = "联系单", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() - public R add(@Validated(AddGroup.class) @RequestBody BusContactnoticeBo bo) { - return toAjax(busContactnoticeService.insertByBo(bo)); + public R add(@Validated(AddGroup.class) @RequestBody BusContactnoticeBo bo) { + return R.ok(busContactnoticeService.insertByBo(bo)); } /** @@ -86,8 +87,8 @@ public class BusContactnoticeController extends BaseController { @Log(title = "联系单", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() - public R edit(@Validated(EditGroup.class) @RequestBody BusContactnoticeBo bo) { - return toAjax(busContactnoticeService.updateByBo(bo)); + public R edit(@Validated(EditGroup.class) @RequestBody BusContactnoticeBo bo) { + return R.ok(busContactnoticeService.updateByBo(bo)); } /** diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cory/domain/BusContactnotice.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cory/domain/BusContactnotice.java index 80b93479..74928b85 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cory/domain/BusContactnotice.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cory/domain/BusContactnotice.java @@ -1,9 +1,10 @@ package org.dromara.cory.domain; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; +import org.dromara.common.mybatis.core.domain.BaseEntity; import java.io.Serial; @@ -47,5 +48,9 @@ public class BusContactnotice extends BaseEntity { */ private String remark; + /** + * 状态 + */ + private String status; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cory/service/IBusContactnoticeService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cory/service/IBusContactnoticeService.java index ec5130da..70d32bce 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cory/service/IBusContactnoticeService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cory/service/IBusContactnoticeService.java @@ -1,9 +1,9 @@ package org.dromara.cory.service; -import org.dromara.cory.domain.vo.BusContactnoticeVo; -import org.dromara.cory.domain.bo.BusContactnoticeBo; -import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.cory.domain.bo.BusContactnoticeBo; +import org.dromara.cory.domain.vo.BusContactnoticeVo; import java.util.Collection; import java.util.List; @@ -47,7 +47,7 @@ public interface IBusContactnoticeService { * @param bo 联系单 * @return 是否新增成功 */ - Boolean insertByBo(BusContactnoticeBo bo); + BusContactnoticeVo insertByBo(BusContactnoticeBo bo); /** * 修改联系单 @@ -55,7 +55,7 @@ public interface IBusContactnoticeService { * @param bo 联系单 * @return 是否修改成功 */ - Boolean updateByBo(BusContactnoticeBo bo); + BusContactnoticeVo updateByBo(BusContactnoticeBo bo); /** * 校验并批量删除联系单信息 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cory/service/impl/BusContactnoticeServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cory/service/impl/BusContactnoticeServiceImpl.java index 0919dcb9..a9248afa 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cory/service/impl/BusContactnoticeServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cory/service/impl/BusContactnoticeServiceImpl.java @@ -1,9 +1,18 @@ package org.dromara.cory.service.impl; +import cn.hutool.core.convert.Convert; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.dromara.common.core.constant.HttpStatus; +import org.dromara.common.core.domain.event.ProcessDeleteEvent; +import org.dromara.common.core.domain.event.ProcessEvent; +import org.dromara.common.core.domain.event.ProcessTaskEvent; +import org.dromara.common.core.enums.BusinessStatusEnum; +import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.ObjectUtils; import org.dromara.common.mybatis.core.page.PageQuery; @@ -13,9 +22,12 @@ import org.dromara.cory.domain.bo.BusContactnoticeBo; import org.dromara.cory.domain.vo.BusContactnoticeVo; import org.dromara.cory.mapper.BusContactnoticeMapper; import org.dromara.cory.service.IBusContactnoticeService; +import org.springframework.context.event.EventListener; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.Collection; +import java.util.Collections; import java.util.List; import java.util.Map; @@ -25,6 +37,7 @@ import java.util.Map; * @author Lion Li * @date 2025-07-03 */ +@Slf4j @RequiredArgsConstructor @Service public class BusContactnoticeServiceImpl implements IBusContactnoticeService { @@ -85,10 +98,17 @@ public class BusContactnoticeServiceImpl implements IBusContactnoticeService { * @return 是否新增成功 */ @Override - public Boolean insertByBo(BusContactnoticeBo bo) { + public BusContactnoticeVo insertByBo(BusContactnoticeBo bo) { BusContactnotice add = MapstructUtils.convert(bo, BusContactnotice.class); + if (add == null) { + throw new ServiceException("新增联系单失败,请求参数为空", HttpStatus.ERROR); + } validEntityBeforeSave(add); - return baseMapper.insert(add) > 0; + int insert = baseMapper.insert(add); + if (insert <= 0) { + throw new ServiceException("新增联系单失败,请稍后重试", HttpStatus.ERROR); + } + return this.queryById(add.getId()); } /** @@ -98,10 +118,21 @@ public class BusContactnoticeServiceImpl implements IBusContactnoticeService { * @return 是否修改成功 */ @Override - public Boolean updateByBo(BusContactnoticeBo bo) { + public BusContactnoticeVo updateByBo(BusContactnoticeBo bo) { BusContactnotice update = MapstructUtils.convert(bo, BusContactnotice.class); + if (update == null) { + throw new ServiceException("修改联系单失败,请求参数为空", HttpStatus.ERROR); + } validEntityBeforeSave(update); - return baseMapper.updateById(update) > 0; + BusContactnotice busContactnotice = baseMapper.selectById(update.getId()); + if (busContactnotice == null) { + throw new ServiceException("修改联系单失败,数据不存在", HttpStatus.ERROR); + } + int result = baseMapper.updateById(update); + if (result <= 0) { + throw new ServiceException("修改联系单失败,请稍后重试", HttpStatus.ERROR); + } + return this.queryById(update.getId()); } /** @@ -125,4 +156,55 @@ public class BusContactnoticeServiceImpl implements IBusContactnoticeService { } return baseMapper.deleteByIds(ids) > 0; } + + /** + * 总体流程监听(例如: 草稿,撤销,退回,作废,终止,已完成,单任务完成等) + * 正常使用只需#processEvent.flowCode=='leave1' + * 示例为了方便则使用startsWith匹配了全部示例key + * + * @param processEvent 参数 + */ + @EventListener(condition = "#processEvent.flowCode.endsWith('contact')") + public void processHandler(ProcessEvent processEvent) { + log.info("联系单审核任务执行了{}", processEvent.toString()); + BusContactnotice contactnotice = baseMapper.selectById(Convert.toLong(processEvent.getBusinessId())); + contactnotice.setStatus(processEvent.getStatus()); + if (processEvent.getSubmit()) { + contactnotice.setStatus(BusinessStatusEnum.WAITING.getStatus()); + } + baseMapper.updateById(contactnotice); + } + + /** + * 执行任务创建监听 + * 示例:也可通过 @EventListener(condition = "#processTaskEvent.flowCode=='leave1'")进行判断 + * 在方法中判断流程节点key + * if ("xxx".equals(processTaskEvent.getNodeCode())) { + * //执行业务逻辑 + * } + * + * @param processTaskEvent 参数 + */ + @EventListener(condition = "#processTaskEvent.flowCode.endsWith('contact')") + public void processTaskHandler(ProcessTaskEvent processTaskEvent) { + log.info("联系单审核任务创建了{}", processTaskEvent.toString()); + } + + /** + * 监听删除流程事件 + * 正常使用只需#processDeleteEvent.flowCode=='leave1' + * 示例为了方便则使用startsWith匹配了全部示例key + * + * @param processDeleteEvent 参数 + */ + @Transactional + @EventListener(condition = "#processDeleteEvent.flowCode.endsWith('contact')") + public void processDeleteHandler(ProcessDeleteEvent processDeleteEvent) { + log.info("监听删除流程事件,联系单审核任务执行了{}", processDeleteEvent.toString()); + BusContactnotice contactnotice = baseMapper.selectById(Convert.toLong(processDeleteEvent.getBusinessId())); + if (ObjectUtil.isNull(contactnotice)) { + return; + } + this.deleteWithValidByIds(Collections.singleton(contactnotice.getId()), true); + } } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesDesignChangeController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesDesignChangeController.java index f667e3c4..e54fc280 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesDesignChangeController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesDesignChangeController.java @@ -77,7 +77,7 @@ public class DesDesignChangeController extends BaseController { @Log(title = "设计变更管理", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() - public R add(@Validated(AddGroup.class) @RequestBody DesDesignChangeCreateReq req) { + public R add(@Validated(AddGroup.class) @RequestBody DesDesignChangeCreateReq req) { return R.ok(desDesignChangeService.insertByBo(req)); } @@ -88,8 +88,8 @@ public class DesDesignChangeController extends BaseController { @Log(title = "设计变更管理", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() - public R edit(@Validated(EditGroup.class) @RequestBody DesDesignChangeUpdateReq req) { - return toAjax(desDesignChangeService.updateByBo(req)); + public R edit(@Validated(EditGroup.class) @RequestBody DesDesignChangeUpdateReq req) { + return R.ok(desDesignChangeService.updateByBo(req)); } /** diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesTechnicalStandardController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesTechnicalStandardController.java index f1d60e0d..8f7214c6 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesTechnicalStandardController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesTechnicalStandardController.java @@ -96,8 +96,8 @@ public class DesTechnicalStandardController extends BaseController { @Log(title = "技术标准管理", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping("/file") - public R add(@RequestPart("file") MultipartFile file, DesTechnicalStandardFileCreateReq req) { - return toAjax(desTechnicalStandardService.insertFile(file, req)); + public R add(@RequestPart("file") MultipartFile file, DesTechnicalStandardFileCreateReq req) { + return R.ok(desTechnicalStandardService.insertFile(file, req)); } /** @@ -107,8 +107,8 @@ public class DesTechnicalStandardController extends BaseController { @Log(title = "技术标准管理", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping("/file") - public R edit(@RequestBody DesTechnicalStandardFileUpdateReq req) { - return toAjax(desTechnicalStandardService.updateFile(req)); + public R edit(@RequestBody DesTechnicalStandardFileUpdateReq req) { + return R.ok(desTechnicalStandardService.updateFile(req)); } /** diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesTechnicalStandard.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesTechnicalStandard.java index 0c271aae..6260a258 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesTechnicalStandard.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesTechnicalStandard.java @@ -74,6 +74,11 @@ public class DesTechnicalStandard extends BaseEntity { */ private String originalName; + /** + * 审核状态 + */ + private String status; + /** * 备注 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/technicalstandard/DesTechnicalStandardVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/technicalstandard/DesTechnicalStandardVo.java index 4ccefa1e..408d396e 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/technicalstandard/DesTechnicalStandardVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/technicalstandard/DesTechnicalStandardVo.java @@ -6,6 +6,7 @@ import org.dromara.design.domain.DesTechnicalStandard; import java.io.Serial; import java.io.Serializable; +import java.util.Date; /** @@ -76,4 +77,14 @@ public class DesTechnicalStandardVo implements Serializable { */ private String remark; + /** + * 审核状态 + */ + private String status; + + /** + * 创建时间 + */ + private Date createTime; + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/IDesDesignChangeService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/IDesDesignChangeService.java index 4f6be8df..b0f4f083 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/IDesDesignChangeService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/IDesDesignChangeService.java @@ -61,7 +61,7 @@ public interface IDesDesignChangeService extends IService { * @param req 设计变更管理 * @return 新增设计变更管理主键id */ - Long insertByBo(DesDesignChangeCreateReq req); + DesDesignChangeVo insertByBo(DesDesignChangeCreateReq req); /** * 修改设计变更管理 @@ -69,7 +69,7 @@ public interface IDesDesignChangeService extends IService { * @param req 设计变更管理 * @return 是否修改成功 */ - Boolean updateByBo(DesDesignChangeUpdateReq req); + DesDesignChangeVo updateByBo(DesDesignChangeUpdateReq req); /** * 校验并批量删除设计变更管理信息 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/IDesTechnicalStandardService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/IDesTechnicalStandardService.java index 9161c965..000cf98c 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/IDesTechnicalStandardService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/IDesTechnicalStandardService.java @@ -75,7 +75,7 @@ public interface IDesTechnicalStandardService extends IService replacementMap = getReplacementMap(designChange); Path targetDir = Paths.get(DesDesignConstant.getDesignChangeFileUrl(designChange)); @@ -182,15 +193,15 @@ public class DesDesignChangeServiceImpl extends ServiceImpl ids) { + List designChangeList = this.listByIds(ids); + if (CollUtil.isEmpty(designChangeList)) { + return true; + } + // 关联删除附件 + List fileIdList = designChangeList.stream() + .map(DesDesignChange::getFileId) + .filter(Objects::nonNull) + .map(Long::parseLong) + .toList(); + List picList = designChangeList.stream() + .map(DesDesignChange::getAttachmentPic) + .filter(Objects::nonNull) + .flatMap(s -> Arrays.stream(s.split(","))) + .map(String::trim) + .filter(s -> !s.isEmpty()) + .map(Long::parseLong) + .toList(); + List costEstimationFileIdList = designChangeList.stream() + .map(DesDesignChange::getCostEstimationFile) + .filter(Objects::nonNull) + .flatMap(s -> Arrays.stream(s.split(","))) + .map(String::trim) + .filter(s -> !s.isEmpty()) + .map(Long::parseLong) + .toList(); + List ossIdList = Stream.of(fileIdList, picList, costEstimationFileIdList) + .flatMap(Collection::stream) + .distinct() + .toList(); + if (CollUtil.isNotEmpty(ossIdList)) { + ossService.deleteWithValidByIds(ossIdList, true); + } return removeBatchByIds(ids); } @@ -364,7 +412,7 @@ public class DesDesignChangeServiceImpl extends ServiceImpl ossIdList = designChangeList.stream().map(DesDesignChange::getFileId).map(Long::parseLong).collect(Collectors.toSet()); + Set ossIdList = designChangeList.stream().map(DesDesignChange::getFileId).filter(Objects::nonNull).map(Long::parseLong).collect(Collectors.toSet()); List ossVoList = ossService.listByIds(ossIdList); Map ossVoMap = ossVoList.stream().collect(Collectors.toMap(SysOssVo::getOssId, Function.identity(), (a, b) -> a)); List designChangeVoList = designChangeList.stream().map(designChange -> { @@ -490,4 +538,55 @@ public class DesDesignChangeServiceImpl extends ServiceImpl queryPageList(DesSpecialSchemeQueryReq req, PageQuery pageQuery) { @@ -90,10 +90,10 @@ public class DesSpecialSchemeServiceImpl extends ServiceImpl queryList(DesSpecialSchemeQueryReq req) { @@ -102,10 +102,10 @@ public class DesSpecialSchemeServiceImpl extends ServiceImpl ids) { List specialSchemeList = this.listByIds(ids); if (CollUtil.isEmpty(specialSchemeList)) { - throw new ServiceException("参数错误,请勿删除不存在的图纸", HttpStatus.BAD_REQUEST); + throw new ServiceException("参数错误,请勿删除不存在的专项方案", HttpStatus.BAD_REQUEST); } workflowService.deleteInstance((List) ids); // 删除oss文件 @@ -182,10 +182,10 @@ public class DesSpecialSchemeServiceImpl extends ServiceImpl getVoPage(Page specialSchemePage) { @@ -258,9 +258,9 @@ public class DesSpecialSchemeServiceImpl extends ServiceImpl implements IDesTechnicalStandardService { @@ -175,7 +183,7 @@ public class DesTechnicalStandardServiceImpl extends ServiceImpl ids, Boolean isValid) { - if(isValid){ + if (isValid) { //TODO 做一些业务上的校验,判断是否需要校验 } return baseMapper.deleteByIds(ids) > 0; diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusConstructionBlacklist.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusConstructionBlacklist.java index d05f9651..63c63156 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusConstructionBlacklist.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusConstructionBlacklist.java @@ -1,7 +1,5 @@ package org.dromara.project.domain; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -9,8 +7,6 @@ import lombok.EqualsAndHashCode; import org.dromara.common.mybatis.core.domain.BaseEntity; import java.io.Serial; -import java.io.Serializable; -import java.util.Date; /** * 黑名单对象 bus_construction_blacklist diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectServiceImpl.java index f2d60a6d..22097be2 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectServiceImpl.java @@ -53,7 +53,7 @@ import org.dromara.safety.service.IHseKnowledgeDocumentService; import org.dromara.system.domain.bo.SysDeptBo; import org.dromara.system.domain.vo.SysDeptVo; import org.dromara.system.service.ISysDeptService; -import org.dromara.system.service.ISysPostService; +import org.dromara.workflow.service.IFlwDefinitionService; import org.springframework.beans.BeanUtils; import org.springframework.context.annotation.Lazy; import org.springframework.data.redis.core.StringRedisTemplate; @@ -103,9 +103,6 @@ public class BusProjectServiceImpl extends ServiceImpl ids); + /** + * 新增流程定义 + * + * @param projectId 项目id + */ + void insertDefByProjectId(Long projectId); + /** * 新增租户流程定义 * diff --git a/xinnengyuan/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwDefinitionServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwDefinitionServiceImpl.java index 508441d3..10e753e8 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwDefinitionServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwDefinitionServiceImpl.java @@ -30,6 +30,7 @@ import org.dromara.warm.flow.orm.mapper.FlowNodeMapper; import org.dromara.warm.flow.orm.mapper.FlowSkipMapper; import org.dromara.workflow.common.ConditionalOnEnable; import org.dromara.workflow.common.constant.FlowConstant; +import org.dromara.workflow.common.enums.FlwDefinitionSuffixTemplateEnum; import org.dromara.workflow.domain.FlowCategory; import org.dromara.workflow.domain.bo.FlowDefinitionBo; import org.dromara.workflow.domain.vo.FlowDefinitionVo; @@ -202,6 +203,27 @@ public class FlwDefinitionServiceImpl implements IFlwDefinitionService { return true; } + /** + * 新增流程定义 + * + * @param projectId 项目id + */ + @Override + public void insertDefByProjectId(Long projectId) { + FlwDefinitionSuffixTemplateEnum[] suffixList = FlwDefinitionSuffixTemplateEnum.values(); + for (FlwDefinitionSuffixTemplateEnum suffix : suffixList) { + FlowDefinition definition = new FlowDefinition(); + definition.setCategory("100"); + definition.setFlowCode(projectId + suffix.getCode()); + definition.setFlowName(suffix.getName()); + definition.setFormPath(suffix.getPath()); + boolean result = defService.checkAndSave(definition); + if (!result) { + log.info("流程定义[{}-{}]失败!", suffix.getName(), projectId + suffix.getCode()); + } + } + } + /** * 新增租户流程定义 *