From e1a66ecbe02e1e70dc0a8880a11e6879ac10a5c1 Mon Sep 17 00:00:00 2001 From: yangwei <867012372@qq.com> Date: Fri, 16 May 2025 16:43:16 +0800 Subject: [PATCH 1/3] =?UTF-8?q?[feat]=201=E3=80=81=E5=9B=9E=E9=80=80?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=202=E3=80=81=E7=A7=BB=E4=BA=A4=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=203=E3=80=81=E5=A2=9E=E5=8A=A0=E6=A1=88=E4=BB=B6?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BusinessAlertController.java | 11 ++++ .../business/domain/BusinessAlert.java | 6 +++ .../business/domain/bo/BusinessAlertBo.java | 5 ++ .../business/domain/vo/BusinessAlertVo.java | 5 ++ .../business/mapper/BusinessAlertMapper.java | 3 ++ .../service/IBusinessAlertService.java | 1 + .../impl/BusinessAlertServiceImpl.java | 51 +++++++++++++++++++ .../BusinessAlertStatisticsServiceImpl.java | 7 ++- .../mapper/business/BusinessAlertMapper.xml | 21 ++++++++ .../common/enums/ButtonPermissionEnum.java | 5 ++ .../workflow/domain/bo/BackProcessBo.java | 2 +- .../service/impl/FlwTaskServiceImpl.java | 23 ++++++--- 12 files changed, 132 insertions(+), 8 deletions(-) diff --git a/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertController.java b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertController.java index 0eb51ab..01079b0 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertController.java +++ b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertController.java @@ -143,4 +143,15 @@ public class BusinessAlertController extends BaseController { businessAlertService.addBusinessAlertList(alertVoList); return R.ok(); } + + /** + * 移交预警 + */ + @Operation(summary ="移交预警",description = "移交预警") + @PostMapping("/alert/transfer") + public R transferAlert(BusinessAlertVo vo) { + return R.ok(businessAlertService.transferAlert(vo)); + } + + } diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessAlert.java b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessAlert.java index 4102743..84d7ef2 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessAlert.java +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessAlert.java @@ -193,6 +193,12 @@ public class BusinessAlert { */ private Integer handleSource; + + /** + * 案件号 + */ + private String caseNumber; + /** * 指派人员名称 */ diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessAlertBo.java b/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessAlertBo.java index db985fa..5db6e46 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessAlertBo.java +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessAlertBo.java @@ -242,4 +242,9 @@ public class BusinessAlertBo { private String aiName; private Integer businessType; + /** + * 案件号 + */ + private String caseNumber; + } diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessAlertVo.java b/dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessAlertVo.java index bc23174..cfc7d8e 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessAlertVo.java +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessAlertVo.java @@ -206,4 +206,9 @@ public class BusinessAlertVo implements Serializable { //1:图片比对预警 2:AI实时预警 private Integer businessType; private String deviceSn; + + /** + * 案件号 + */ + private String caseNumber; } diff --git a/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessAlertMapper.java b/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessAlertMapper.java index 138c33b..97c2a2d 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessAlertMapper.java +++ b/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessAlertMapper.java @@ -116,4 +116,7 @@ public interface BusinessAlertMapper extends BaseMapperPlus> listOneDepartAlertStatus(@Param("param") BusinessAlertBo businessAlertBo); + Integer selectCurrentAlertCount(@Param("currentDate") String currentDate); + + void batchUpdateCaseNumber(@Param("list") List alertVoList); } diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessAlertService.java b/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessAlertService.java index df8ba7b..6a1bac8 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessAlertService.java +++ b/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessAlertService.java @@ -93,4 +93,5 @@ public interface IBusinessAlertService { List listHandleHistory(String lng, String lat, String createTime); + Boolean transferAlert(BusinessAlertVo vo); } diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java index b0a592c..90408da 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java +++ b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java @@ -46,6 +46,7 @@ import java.util.Date; import java.util.List; import java.util.Map; import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; /** @@ -78,6 +79,7 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService { public BusinessAlert addBusinessAlert(BusinessAlertVo param) { BusinessAlert alert = MapstructUtils.convert(param, BusinessAlert.class); alert.setCreateTime(new Date()); + alert.setCaseNumber(param.getCaseNumber()); alert.setJobName(alert.getDeptName()+alert.getLabelCn()+ DateUtils.getTime()); this.baseMapper.insert(alert); return alert; @@ -86,6 +88,8 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService { @Override public void addBusinessAlertList(List alertVoList) { if(!alertVoList.isEmpty()) { + incrementalCount(alertVoList); + List remoteStartProcessList = new ArrayList<>(); for (BusinessAlertVo alertVo : alertVoList) { alertVo.setBusinessType(2); @@ -680,7 +684,35 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService { @Override public void batchUpdateDept(List alertVoList) { + //更新部门 this.baseMapper.batchUpdateDept(alertVoList); + + incrementalCount(alertVoList); + + //更新number + this.baseMapper.batchUpdateCaseNumber(alertVoList); + + } + + + /** + * 创建递归caseNumber + * @param alertVoList + */ + public void incrementalCount(List alertVoList){ + //查询当天时间有多少条预警 + Integer currentCount = this.baseMapper.selectCurrentAlertCount(DateUtils.getDate()); + //获取当天的时间戳 + String currentDate = DateUtils.getDate().replace("-",""); + + //然后0 + 个数 + 1 当前年月日 例如 202505150 total + 1 + AtomicInteger number = new AtomicInteger(1); + + alertVoList.forEach(alertVo -> { + int incremental = currentCount + number.get(); + alertVo.setCaseNumber(currentDate + "0" + incremental); + number.getAndIncrement(); + }); } @@ -780,6 +812,25 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService { return businessAlerts; } + @Override + public Boolean transferAlert(BusinessAlertVo vo) { + if (ObjectUtil.hasEmpty(vo.getId(),vo.getDeptId(),vo.getDeptName())){ + throw new RuntimeException("参数为空!"); + } + + BusinessAlert businessAlert = this.baseMapper.selectById(vo.getId()); + + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(BusinessAlert::getId, businessAlert.getId()); + + wrapper.set(BusinessAlert::getDeptId,vo.getDeptId()); + wrapper.set(BusinessAlert::getDeptName,vo.getDeptName()); + wrapper.set(BusinessAlert::getJobName,vo.getDeptName() + businessAlert.getLabelCn() + businessAlert.getCreateTime()); + + + return this.baseMapper.update(wrapper) > 0; + } + public static void main(String[] args) { System.out.println(getLastSixDays()); diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java index 168cdfd..bdefec6 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java +++ b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java @@ -280,7 +280,12 @@ public class BusinessAlertStatisticsServiceImpl implements IBusinessAlertStatist // } //----------------------------------------------获取飞行总架次、总时长---------------------------------------------- - Map devices = feignDeviceGroup.getDevices(); + Map devices = new HashMap<>(); + try { + devices = feignDeviceGroup.getDevices(); + } catch (Exception e) { + log.error(e.getMessage(),e); + } Map panel = baseMapper.countPanelAlert(businessAlertBo); diff --git a/dk-modules/business/src/main/resources/mapper/business/BusinessAlertMapper.xml b/dk-modules/business/src/main/resources/mapper/business/BusinessAlertMapper.xml index fd1fdf4..4a938ec 100644 --- a/dk-modules/business/src/main/resources/mapper/business/BusinessAlertMapper.xml +++ b/dk-modules/business/src/main/resources/mapper/business/BusinessAlertMapper.xml @@ -915,5 +915,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + UPDATE business_alert + SET + case_number = + + WHEN #{item.id} THEN #{item.caseNumber} + + WHERE id IN + + #{item.id} + + diff --git a/dk-modules/workflow/src/main/java/org/dromara/workflow/common/enums/ButtonPermissionEnum.java b/dk-modules/workflow/src/main/java/org/dromara/workflow/common/enums/ButtonPermissionEnum.java index 0a79d84..b438fe2 100644 --- a/dk-modules/workflow/src/main/java/org/dromara/workflow/common/enums/ButtonPermissionEnum.java +++ b/dk-modules/workflow/src/main/java/org/dromara/workflow/common/enums/ButtonPermissionEnum.java @@ -53,6 +53,11 @@ public enum ButtonPermissionEnum implements NodeExtEnum { */ TASK_DISPOSE("任务处置","taskDispose",false), + /** + * 是否能移交 + */ + TRANSFER("是否能移交", "transfer", false), + /** * 忽略 */ diff --git a/dk-modules/workflow/src/main/java/org/dromara/workflow/domain/bo/BackProcessBo.java b/dk-modules/workflow/src/main/java/org/dromara/workflow/domain/bo/BackProcessBo.java index 4c6a8ff..8d9be72 100644 --- a/dk-modules/workflow/src/main/java/org/dromara/workflow/domain/bo/BackProcessBo.java +++ b/dk-modules/workflow/src/main/java/org/dromara/workflow/domain/bo/BackProcessBo.java @@ -43,7 +43,7 @@ public class BackProcessBo implements Serializable { /** * 驳回的节点id(目前未使用,直接驳回到申请人) */ - @NotBlank(message = "驳回的节点不能为空", groups = AddGroup.class) +// @NotBlank(message = "驳回的节点不能为空", groups = AddGroup.class) private String nodeCode; /** diff --git a/dk-modules/workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java b/dk-modules/workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java index 71ec239..c121541 100644 --- a/dk-modules/workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java +++ b/dk-modules/workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java @@ -497,9 +497,14 @@ public class FlwTaskServiceImpl implements IFlwTaskService { public boolean backProcess(BackProcessBo bo) { try { Long taskId = bo.getTaskId(); - String notice = bo.getNotice(); - List messageType = bo.getMessageType(); +// String notice = bo.getNotice(); + String notice = "您有一条预警流程被退回!"; +// List messageType = bo.getMessageType(); + List messageType = List.of("1"); String message = bo.getMessage(); + if (ObjectUtil.isEmpty(message)){ + message = "退回"; + } FlowTask task = flowTaskMapper.selectById(taskId); if (ObjectUtil.isNull(task)) { throw new ServiceException("任务不存在!"); @@ -508,13 +513,19 @@ public class FlwTaskServiceImpl implements IFlwTaskService { BusinessStatusEnum.checkBackStatus(inst.getFlowStatus()); Long definitionId = task.getDefinitionId(); Definition definition = defService.getById(definitionId); - String applyNodeCode = flwCommonService.applyNodeCode(definitionId); + //获取当前节点 + String currentNodeCode = inst.getNodeCode(); + //获取返回节点 + Node skipNode = getBackTaskNode(definitionId, currentNodeCode).getFirst(); FlowParams flowParams = FlowParams.build(); - flowParams.nodeCode(bo.getNodeCode()); + flowParams.nodeCode(skipNode.getNodeCode()); flowParams.message(message); flowParams.skipType(SkipType.REJECT.getKey()); - flowParams.flowStatus(applyNodeCode.equals(bo.getNodeCode()) ? TaskStatusEnum.BACK.getStatus() : TaskStatusEnum.WAITING.getStatus()) - .hisStatus(TaskStatusEnum.BACK.getStatus()); + flowParams.flowStatus(TaskStatusEnum.WAITING.getStatus()).hisStatus(TaskStatusEnum.BACK.getStatus()); + +// flowParams.flowStatus(skipNode.getNodeCode().equals(bo.getNodeCode()) ? TaskStatusEnum.BACK.getStatus() : TaskStatusEnum.WAITING.getStatus()) +// .hisStatus(TaskStatusEnum.BACK.getStatus()); + flowParams.hisTaskExt(bo.getFileId()); taskService.skip(task.getId(), flowParams); From ce1e5cbd75b94b23b212c7f0103b904b3d928f3b Mon Sep 17 00:00:00 2001 From: yangwei <867012372@qq.com> Date: Fri, 16 May 2025 16:48:03 +0800 Subject: [PATCH 2/3] =?UTF-8?q?[feat]=201=E3=80=81=E5=9B=9E=E9=80=80?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=202=E3=80=81=E7=A7=BB=E4=BA=A4=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=203=E3=80=81=E5=A2=9E=E5=8A=A0=E6=A1=88=E4=BB=B6?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/workflow/service/impl/FlwTaskServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dk-modules/workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java b/dk-modules/workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java index c121541..f705e55 100644 --- a/dk-modules/workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java +++ b/dk-modules/workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java @@ -498,7 +498,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService { try { Long taskId = bo.getTaskId(); // String notice = bo.getNotice(); - String notice = "您有一条预警流程被退回!"; + String notice = "您有一条流程被退回!"; // List messageType = bo.getMessageType(); List messageType = List.of("1"); String message = bo.getMessage(); From d44957773c0739b5bb86bba66c334ba25e67cf3d Mon Sep 17 00:00:00 2001 From: shizisheng Date: Fri, 16 May 2025 17:33:55 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=A4=A9=E7=BF=BC=E4=BA=91-minio=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E4=BF=AE=E5=A4=8D=EF=BC=8C=E9=81=BF=E5=85=8D=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/config/OssTianyiConfig.java | 52 +++++-------------- 1 file changed, 12 insertions(+), 40 deletions(-) diff --git a/dk-modules/system/src/main/java/org/dromara/system/config/OssTianyiConfig.java b/dk-modules/system/src/main/java/org/dromara/system/config/OssTianyiConfig.java index 8ea7cdb..3d03a4d 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/config/OssTianyiConfig.java +++ b/dk-modules/system/src/main/java/org/dromara/system/config/OssTianyiConfig.java @@ -1,6 +1,9 @@ package org.dromara.system.config; import io.minio.MinioClient; +import lombok.Getter; +import lombok.Setter; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -12,51 +15,23 @@ import org.springframework.context.annotation.Configuration; */ @Configuration @ConfigurationProperties(prefix = "osstianyi") +@Getter +@Setter public class OssTianyiConfig { + @Value("${osstianyi.endPoint:https://jiangsu-10.zos.ctyun.cn}") private String endPoint; - private String accessKey; - private String secretKey; - private String bucketName; - - public String getEndPoint() { - return endPoint; - } - - public void setEndPoint(String endPoint) { - this.endPoint = endPoint; - } - - public String getAccessKey() - { - return accessKey; - } - - public void setAccessKey(String accessKey) - { - this.accessKey = accessKey; - } - public String getSecretKey() - { - return secretKey; - } + @Value("${osstianyi.accessKey:22e3f37368a242b38f4f25d98c9baf1f}") + private String accessKey; - public void setSecretKey(String secretKey) - { - this.secretKey = secretKey; - } + @Value("${osstianyi.secretKey:0d858850666248e59830d9a596847062}") + private String secretKey; - public String getBucketName() - { - return bucketName; - } + @Value("${osstianyi.bucketName:dkossbucket}") + private String bucketName; - public void setBucketName(String bucketName) - { - this.bucketName = bucketName; - } @Override public String toString() { @@ -71,9 +46,6 @@ public class OssTianyiConfig @Bean public MinioClient getMinioClient() { -// System.out.println("OssTianyiConfig"); -// System.out.println("OssTianyiConfig" + endPoint); - System.out.println(toString()); return MinioClient.builder().endpoint(endPoint).credentials(accessKey, secretKey).build(); } }