From c3a981e80973ac52b5988aca62b87409976c6fb1 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 18 六月 2026 13:09:28 +0800
Subject: [PATCH] 1.计量器具台账上传附件报错 2.质量拉的数据不对(未明确) 3.计量器具台账逾期的做标红提醒 4.设备保养定时任务和记录要加上具体的保养内容 5.质量要区分质检规则抽检还是全检,抽检的话是抽多少百分比 6.供应商管理东西太少了,没有资质文件啊这些东西(是不是可以参考pro) 7.采购审批把人从李莹莹改成龙红星

---
 src/main/java/com/ruoyi/collaborativeApproval/service/impl/EnterpriseNewsServiceImpl.java |   23 ++++++++++++++++++++++-
 1 files changed, 22 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/ruoyi/collaborativeApproval/service/impl/EnterpriseNewsServiceImpl.java b/src/main/java/com/ruoyi/collaborativeApproval/service/impl/EnterpriseNewsServiceImpl.java
index 19b16ad..4a4d9c1 100644
--- a/src/main/java/com/ruoyi/collaborativeApproval/service/impl/EnterpriseNewsServiceImpl.java
+++ b/src/main/java/com/ruoyi/collaborativeApproval/service/impl/EnterpriseNewsServiceImpl.java
@@ -9,6 +9,7 @@
 import com.ruoyi.approve.pojo.ApprovalInstance;
 import com.ruoyi.approve.pojo.ApprovalTask;
 import com.ruoyi.approve.pojo.ApprovalTemplate;
+import com.ruoyi.approve.service.ApprovalInstanceService;
 import com.ruoyi.approve.utils.ApproveProcessConfigNodeUtils;
 import com.ruoyi.basic.enums.ApplicationTypeEnum;
 import com.ruoyi.basic.enums.RecordTypeEnum;
@@ -72,6 +73,7 @@
     private final SysDeptMapper sysDeptMapper;
     private final SysUserDeptMapper sysUserDeptMapper;
     private final ApprovalInstanceMapper approvalInstanceMapper;
+    private final ApprovalInstanceService approvalInstanceService;
     private final ApprovalTemplateMapper approvalTemplateMapper;
     private final ApproveProcessConfigNodeUtils approveProcessConfigNodeUtils;
     private final ISysNoticeService sysNoticeService;
@@ -160,6 +162,7 @@
         saveReadScopeRelations(enterpriseNews.getId(), readScope, deptIds, userIds);
         fileUtil.saveStorageAttachment(ApplicationTypeEnum.FILE, RecordTypeEnum.ENTERPRISE_NEWS, enterpriseNews.getId(), enterpriseNewsDto.getStorageBlobDTOs());
         if (STATUS_PENDING.equals(enterpriseNews.getStatus())) {
+            resetEnterpriseNewsApprovalFlow(oldEnterpriseNews);
             startEnterpriseNewsApproval(enterpriseNews, enterpriseNewsDto);
         }
         return true;
@@ -318,6 +321,24 @@
                 .eq(EnterpriseNewsScopeUser::getNewsId, newsId));
     }
 
+    private void resetEnterpriseNewsApprovalFlow(EnterpriseNews oldEnterpriseNews) {
+        if (oldEnterpriseNews == null || !STATUS_DRAFT.equals(oldEnterpriseNews.getStatus())) {
+            return;
+        }
+        List<Long> approvalInstanceIds = approvalInstanceMapper.selectList(new LambdaQueryWrapper<ApprovalInstance>()
+                        .eq(ApprovalInstance::getBusinessId, oldEnterpriseNews.getId())
+                        .eq(ApprovalInstance::getBusinessType, TypeEnums.ENTERPRISE_NEWS_APPROVAL.getCode())
+                        .eq(ApprovalInstance::getDeleted, (byte) 0))
+                .stream()
+                .map(ApprovalInstance::getId)
+                .filter(id -> id != null && id > 0)
+                .collect(Collectors.toList());
+        if (StringUtils.isEmpty(approvalInstanceIds)) {
+            return;
+        }
+        approvalInstanceService.delete(approvalInstanceIds);
+    }
+
     private List<Long> distinctIds(List<Long> ids) {
         if (StringUtils.isEmpty(ids)) {
             return new ArrayList<>();
@@ -346,7 +367,7 @@
         }
 
         ApprovalInstance approvalInstance = new ApprovalInstance();
-        approvalInstance.setInstanceNo(OrderUtils.countTodayByCreateTime(approvalInstanceMapper, "SP", "instance_no"));
+        approvalInstance.setInstanceNo(OrderUtils.countTodayByCreateTime(approvalInstanceMapper, "SP", "instance_no", enterpriseNews.getCreateTime() != null ? enterpriseNews.getCreateTime() : LocalDateTime.now()));
         approvalInstance.setTemplateId(enterpriseNewsDto.getTemplateId());
         approvalInstance.setTemplateName(templateName);
         approvalInstance.setBusinessId(enterpriseNews.getId());

--
Gitblit v1.9.3