From 51ad03fcc8ffdb52469216558031a1bd31ed1fa6 Mon Sep 17 00:00:00 2001
From: ZQN <364596817@qq.com>
Date: 星期二, 23 七月 2024 09:57:47 +0800
Subject: [PATCH] 0723添加异常预警,消息推送,企业确认流程,企业自助建议反馈

---
 project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java |   70 +++++++++++++++++++++++++++++++---
 1 files changed, 63 insertions(+), 7 deletions(-)

diff --git a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java
index 8fb7825..bfcaa46 100644
--- a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java
+++ b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java
@@ -6,6 +6,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.project.common.annotation.DataScope;
 import com.project.common.core.domain.entity.SysUser;
+import com.project.common.core.domain.model.DateRange;
 import com.project.common.enums.OrderPre;
 import com.project.common.exception.base.BaseException;
 import com.project.common.utils.DateUtils;
@@ -19,6 +20,7 @@
 import com.project.enforce.domain.bo.editBo.OrderResultBo;
 import com.project.enforce.domain.bo.queryBo.EnforceOrderQueryBo;
 import com.project.enforce.domain.bo.queryBo.OrderCheckedQueryBo;
+import com.project.enforce.domain.vo.EnforceDistinctVo;
 import com.project.enforce.domain.vo.EnforceEvaluateVo;
 import com.project.enforce.domain.vo.EnforceOrderVo;
 import com.project.enforce.domain.vo.OrderNodeVo;
@@ -34,6 +36,7 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.LinkedList;
 import java.util.List;
 
 /**
@@ -57,7 +60,7 @@
 
     /**
      * 閫氱敤鍒楄〃-鏃犳潈闄�
-     * @param bo	鍙傛暟
+     * @param bo    鍙傛暟
      * @return 鍒楄〃
      */
     @Override
@@ -74,8 +77,59 @@
     }
 
     /**
+     * 浼佷笟纭鎵ф硶鍗�
+     * @param orderId    璁㈠崟id
+     * @return  缁撴灉
+     */
+    @Override
+    @Transactional
+    public Boolean confirm(Long orderId)
+    {
+        EnforceOrder order = this.getById(orderId);
+        if (order.getOrderStatus()!=4){
+            throw new BaseException("璇峰緟鎵ф硶閮ㄩ棬涓婃姤缁撴灉鍚庣‘璁わ紒");
+        }
+        order.setOrderStatus(5);
+        order.setConfirmTime(DateUtils.getNowDate());
+        return this.updateById(order);
+    }
+
+    @Override
+    @Transactional
+    public Integer executeEnforceOrderWarn()
+    {
+        List<EnforceOrder> updList = new LinkedList<>();
+        //鍚屼竴澶╅噸澶嶆墽娉�
+        List<EnforceDistinctVo> list =baseMapper.selectDistinctCheckDeptIdAndCompanyId();
+        if (StringUtils.isNotEmpty(list)){
+            for (EnforceDistinctVo distinctVo : list) {
+                List<EnforceOrder> orderList = this.list(lq()
+                        .eq(EnforceOrder::getCompanyId, distinctVo.getCompanyId())
+                        .eq(EnforceOrder::getCheckDeptId, distinctVo.getCheckDeptId())
+                        .like(EnforceOrder::getApplyTime, distinctVo.getApplyTimeStr())
+                        .orderByDesc(EnforceOrder::getApplyTime)
+                );
+                if (StringUtils.isNotEmpty(orderList)){
+                    List<EnforceOrder> enforceOrders = orderList.subList(0, orderList.size() - 1);
+                    enforceOrders.forEach(order->{order.setWarnStatus(1);order.setWarnReason("鍚屼竴澶╁唴瀵瑰悓涓�浼佷笟閲嶅鎵ф硶");});
+                    updList.addAll(enforceOrders);
+                }
+            }
+        }
+        if (StringUtils.isNotEmpty(updList)){
+            this.updateBatchById(updList);
+        }
+        return updList.size();
+    }
+
+    public static void main(String[] args) {
+        DateRange todayRange = DateUtils.getTodayRange();
+        System.out.println(todayRange);
+    }
+
+    /**
      * 浼佷笟鎵ф硶鍗曞垪琛�
-     * @param bo	鍙傛暟
+     * @param bo    鍙傛暟
      * @return 鍒楄〃
      */
     @Override
@@ -89,7 +143,7 @@
 
     /**
      * 鎵ф硶鐢宠鍗曞垪琛�
-     * @param bo	鍙傛暟
+     * @param bo    鍙傛暟
      * @return 鍒楄〃
      */
     @Override
@@ -104,7 +158,7 @@
 
     /**
      * 鎵ф硶鎵ц鍗曞垪琛�
-     * @param bo	鍙傛暟
+     * @param bo    鍙傛暟
      * @return 鍒楄〃
      */
     @Override
@@ -118,7 +172,7 @@
 
     /**
      * 寰呭鏍稿垪琛�
-     * @param bo	鍙傛暟
+     * @param bo    鍙傛暟
      * @return 鍒楄〃
      */
     @Override
@@ -137,7 +191,7 @@
 
     /**
      * 瀹℃壒璁板綍鍒楄〃
-     * @param bo	鍙傛暟
+     * @param bo    鍙傛暟
      * @return 鍒楄〃
      */
     @Override
@@ -293,7 +347,9 @@
         if (order.getExecuteTime()!=null){
             vos.add(new OrderNodeVo("缁撴灉涓婃姤",order.getExecuteUser(),order.getExecuteDeptName(),order.getExecuteTime(), null));
         }
-
+        if (order.getConfirmTime()!=null){
+            vos.add(new OrderNodeVo("浼佷笟纭",order.getCompanyUser(),order.getCompanyName(),order.getConfirmTime(), null));
+        }
         return vos;
     }
 

--
Gitblit v1.9.1