From 94b5684557d4987add639a94d1ad41c32b5d00c0 Mon Sep 17 00:00:00 2001
From: ZQN <364596817@qq.com>
Date: 星期二, 03 九月 2024 10:32:29 +0800
Subject: [PATCH] 审批人修改

---
 project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java |  396 +++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 348 insertions(+), 48 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 fce5771..7797ee3 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,28 +6,37 @@
 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.sms.YPSmsApi;
+import com.project.common.exception.base.BaseException;
+import com.project.common.utils.DateUtils;
+import com.project.common.utils.JsonUtils;
 import com.project.common.utils.SecurityUtils;
 import com.project.common.utils.StringUtils;
-import com.project.enforce.domain.EnforceOrder;
-import com.project.enforce.domain.EnforcePeer;
+import com.project.enforce.domain.*;
+import com.project.enforce.domain.bo.editBo.EnforceComplaintLogBo;
 import com.project.enforce.domain.bo.editBo.EnforceOrderBo;
+import com.project.enforce.domain.bo.editBo.OrderComplaintBo;
+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;
 import com.project.enforce.mapper.EnforceOrderMapper;
-import com.project.enforce.service.IEnforceOrderService;
-import com.project.enforce.service.IEnforcePeerService;
+import com.project.enforce.service.*;
 import com.project.system.service.ISysDeptService;
 import com.project.system.service.ISysOrderNoService;
 import com.project.system.service.ISysUserService;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.Collection;
+import java.util.LinkedList;
 import java.util.List;
 
 /**
@@ -43,41 +52,207 @@
     private final ISysDeptService deptService;
     private final ISysOrderNoService orderNoService;
     private final IEnforcePeerService peerService;
+    private final IEnforceCheckLogService checkLogService;
+    private final IEnforceComplaintLogService complaintLogService;
+    private final IEnforceEvaluateLogService evaluateLogService;
+    private final YPSmsService smsService;
+    private final EnforceOrderMapper orderMapper;
 
-    @Override//鍒楄〃鏌ヨ
-    @DataScope(deptAlias = "apply_dept_id", userAlias = "apply_user_id")
-    public List<EnforceOrderVo> queryList(EnforceOrderQueryBo bo)
+    /**
+     * 閫氱敤鍒楄〃-鏃犳潈闄�
+     * @param bo    鍙傛暟
+     * @return 鍒楄〃
+     */
+    @Override
+    public List<EnforceOrderVo> queryCommonList(EnforceOrderQueryBo bo)
     {
         QueryWrapper<EnforceOrder> qw = getQw(bo);
-        qw.apply(bo.getParams().get("dataScope") != null, bo.getParams().get("dataScope").toString());//鏁版嵁鏉冮檺鎺у埗
+        if (bo.getCheckDeptId()!=null){
+            bo.setCheckDeptId(deptService.getCheckDeptIdByLoginDeptId(SecurityUtils.getDeptId()));
+        }
+
         List<EnforceOrder> list = this.list(qw);
         return Convert.toList(EnforceOrderVo.class , list);
     }
 
-    @Override//寰呭鏍稿垪琛�
+    @Override
+    public Integer getDistinctCompanyNum() {
+        return orderMapper.getDistinctCompanyNum();
+    }
+
+    /**
+     * 浼佷笟纭鎵ф硶鍗�
+     * @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    鍙傛暟
+     * @return 鍒楄〃
+     */
+    @Override
+    public List<EnforceOrderVo> queryCompanyList(EnforceOrderQueryBo bo)
+    {
+        QueryWrapper<EnforceOrder> qw = getQw(bo);
+        qw.ge("order_status",2);
+        List<EnforceOrder> list = this.list(qw);
+        return Convert.toList(EnforceOrderVo.class , list);
+    }
+
+    /**
+     * 鎵ф硶鐢宠鍗曞垪琛�
+     * @param bo    鍙傛暟
+     * @return 鍒楄〃
+     */
+    @Override
+    @DataScope(deptAlias = "apply_dept_id", userAlias = "apply_id")
+    public List<EnforceOrderVo> queryList(EnforceOrderQueryBo bo)
+    {
+        QueryWrapper<EnforceOrder> qw = getQw(bo);
+        qw.apply(StringUtils.isNotEmpty(bo.getParams().get("dataScope").toString()), bo.getParams().get("dataScope").toString());//鏁版嵁鏉冮檺鎺у埗
+        List<EnforceOrder> list = this.list(qw);
+        return Convert.toList(EnforceOrderVo.class , list);
+    }
+
+    /**
+     * 鎵ф硶鎵ц鍗曞垪琛�
+     * @param bo    鍙傛暟
+     * @return 鍒楄〃
+     */
+    @Override
+    @DataScope(deptAlias = "execute_dept_id", userAlias = "execute_id")
+    public List<EnforceOrderVo> getExecuteList(EnforceOrderQueryBo bo) {
+        QueryWrapper<EnforceOrder> qw = getQw(bo);
+        qw.apply(StringUtils.isNotEmpty(bo.getParams().get("dataScope").toString()), bo.getParams().get("dataScope").toString());//鏁版嵁鏉冮檺鎺у埗
+        List<EnforceOrder> list = this.list(qw);
+        return Convert.toList(EnforceOrderVo.class , list);
+    }
+
+    /**
+     * 寰呭鏍稿垪琛�
+     * @param bo    鍙傛暟
+     * @return 鍒楄〃
+     */
+    @Override
     public List<EnforceOrderVo> queryCheckList(EnforceOrderQueryBo bo)
     {
-        SysUser loginUser = SecurityUtils.getLoginUser().getUser();
+        SysUser loginUser = userService.selectUserById(SecurityUtils.getUserId());
         bo.setCheckIds(loginUser.getPhonenumber());
-        bo.setApplyDeptIds(deptService.getApplyDeptIdsByLoginUserId(loginUser.getUserId()));
+//        List<Long> deptIds = deptService.getApplyDeptIdsByLoginUserId(loginUser.getUserId());
+//        if (StringUtils.isNotEmpty(deptIds)){
+//            bo.setApplyDeptIds(deptIds);
+//        } else {
+//            bo.setApplyDeptIds(null);
+//        }
         return this.baseMapper.selectCheckList(bo);
     }
 
-    @Override//淇℃伅鍏紡鍒楄〃
+    /**
+     * 瀹℃壒璁板綍鍒楄〃
+     * @param bo    鍙傛暟
+     * @return 鍒楄〃
+     */
+    @Override
+    public List<EnforceOrderVo> queryCheckedList(OrderCheckedQueryBo bo)
+    {
+        bo.setUserId(SecurityUtils.getUserId());
+        return this.baseMapper.selectCheckedList(bo);
+    }
+
+
+    /**
+     * 淇℃伅鍏紡鍒楄〃
+     * @return 鍒楄〃
+     */
+    @Override
     public List<EnforceOrderVo> showList()
     {
-        List<EnforceOrder> list = this.list(lq().eq(EnforceOrder::getIsShow, 1));
+        List<EnforceOrder> list = this.list(lq()
+                .eq(EnforceOrder::getIsShow, 1)
+                .eq(EnforceOrder::getOrderStatus, 4)
+        );
         return Convert.toList(EnforceOrderVo.class, list);
     }
 
-    @Override//id鏌ヨ
+    /**
+     * id鏌ヨ
+     */
+    @Override
     public EnforceOrderVo queryById(Long orderId)
     {
         EnforceOrder db = this.baseMapper.selectById(orderId);
-        return Convert.convert(EnforceOrderVo.class , db);
+        EnforceOrderVo vo = Convert.convert(EnforceOrderVo.class, db);
+        List<EnforcePeer> peers = peerService.list(peerService.lq().eq(EnforcePeer::getOrderId, orderId).eq(EnforcePeer::getPeerType,2));
+        vo.setPeers(peers);
+        if (db.getIsEva()==1){
+            EnforceEvaluateLog one = evaluateLogService.getOne(evaluateLogService.lq().eq(EnforceEvaluateLog::getOrderId, orderId));
+            if (one!=null){
+                String questionStatic = one.getQuestionStatic();
+                if (StringUtils.isNotEmpty(questionStatic)){
+                    EnforceEvaluateVo evaluateVo = Convert.convert(EnforceEvaluateVo.class, one);
+                    try {
+                        List<EnforceEvaluateQuestion> questions = JsonUtils.jsonToList(questionStatic, EnforceEvaluateQuestion.class);
+                        evaluateVo.setQuestionList(questions);
+                    } catch (Exception e) {
+                        throw new BaseException("璇勪环闂埜瑙f瀽寮傚父锛�");
+                    }
+                    vo.setEvaluateVo(evaluateVo);
+                }
+            }
+        }
+        return vo;
     }
 
 
+    /**
+     * 鏂板
+     */
     @Override//娣诲姞
     @Transactional
     public Boolean insertByBo(EnforceOrderBo bo)
@@ -87,11 +262,14 @@
         validEntityBeforeSave(add);
         List<String> phones = getCheckPhones(add.getCheckLevel(), add.getApplyDeptId());
         if (StringUtils.isNotEmpty(phones)){
+            int checkLevel = Integer.parseInt(phones.get(0));
+            add.setCheckLevel(checkLevel);
+            phones.remove(0);
             String checkPhones = StringUtils.join(phones, ",");
             add.setCheckIds(checkPhones);
         }
         this.save(add);
-        bo.getPeers().add(new EnforcePeer()
+        bo.getPeers().add(0,new EnforcePeer()
                 .setPeerType(1)
                 .setPeerId(add.getApplyId())
                 .setPeerUser(add.getApplyUser())
@@ -107,11 +285,14 @@
         }
         boolean savePeers = peerService.saveOrUpdateBatch(bo.getPeers());
         if (savePeers && StringUtils.isNotEmpty(phones)) {
-            sendApplyMsg(phones, add.getApplyUser());
+            smsService.sendApplyMsg(phones, add.getApplyUser());
         }
         return savePeers;
     }
 
+    /**
+     * 淇敼
+     */
     @Override//淇敼
     @Transactional
     public Boolean updateByBo(EnforceOrderBo bo)
@@ -121,6 +302,9 @@
         return this.updateById(update);
     }
 
+    /**
+     * 鍒犻櫎
+     */
     @Override//鍒犻櫎
     @Transactional
     public Boolean deleteByIds(Collection<Long> ids)
@@ -131,29 +315,146 @@
         return this.removeByIds(ids);
     }
 
+    /**
+     * 鑾峰彇涓嬩竴绾у鎵逛汉鐢佃瘽
+     */
     @Override
     public List<String> getCheckPhones(Integer checkLevel, Long applyDeptId)
     {
-        return getCheckPhones(checkLevel, applyDeptId, 0);
+        return getCheckPhonesSimple(checkLevel, applyDeptId);
     }
+
+    @Override
+    public List<OrderNodeVo> orderNodeList(Long orderId)
+    {
+        List<OrderNodeVo> vos = new ArrayList<>();
+        EnforceOrder order = this.getById(orderId);
+        List<EnforceCheckLog> checkLogs = checkLogService.list(checkLogService.lq()
+                .eq(EnforceCheckLog::getOrderId, orderId).orderByAsc(EnforceCheckLog::getCheckTime)
+        );
+        if (order.getApplyTime()!=null){
+            vos.add(new OrderNodeVo("鎻愪氦鐢宠",order.getApplyUser(),order.getApplyDeptName(),order.getApplyTime(), null));
+        }
+        if (StringUtils.isNotEmpty(checkLogs)){
+            for (EnforceCheckLog checkLog : checkLogs) {
+
+                if (checkLog.getCheckStatus()>0){
+                    vos.add(new OrderNodeVo("瀹℃壒閫氳繃",checkLog.getCheckUser(),userService.getDeptNameByUserId(checkLog.getCheckId()),checkLog.getCheckTime(), null));
+                } else {
+                    vos.add(new OrderNodeVo("瀹℃壒鎷掔粷",checkLog.getCheckUser(),userService.getDeptNameByUserId(checkLog.getCheckId()),checkLog.getCheckTime(), checkLog.getCheckReason()));
+                }
+            }
+        }
+        if (order.getInTime()!=null){
+            vos.add(new OrderNodeVo("鎵爜鍏ヤ紒",order.getExecuteUser(),order.getExecuteDeptName(),order.getInTime(), null));
+        }
+        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;
+    }
+
+    @Override//鎵爜缁撴灉
+    public List<EnforceOrderVo> getScanList(String companyCode)
+    {
+        Long userId = SecurityUtils.getUserId();
+        return this.baseMapper.selectScanList(companyCode, userId);
+    }
+
+    @Override//纭鎵爜鎵ф硶
+    @Transactional
+    public Boolean doScanOrder(Long orderId)
+    {
+        EnforceOrder order = this.getById(orderId);
+        if (order.getOrderStatus()<2){
+            throw new BaseException("鎵ф硶鍗曡繕鏈鎵癸紒");
+        }
+        if (order.getOrderStatus()>2){
+            throw new BaseException("鎵ф硶鍗曞凡纭鎵ф硶锛�");
+        }
+        order.setOrderStatus(3);
+        SysUser user = userService.selectUserById(SecurityUtils.getUserId());
+        order.setExecuteId(user.getUserId());
+        order.setExecuteUser(user.getNickName());
+        order.setExecutePhone(user.getPhonenumber());
+        order.setExecuteDeptId(user.getDeptId());
+        order.setExecuteDeptName(deptService.getDeptAllName(user.getDeptId()));
+        order.setInTime(DateUtils.getNowDate());
+        return this.updateById(order);
+    }
+
+    @Override//涓婃姤缁撴灉
+    @Transactional
+    public Boolean doResultOrder(OrderResultBo resultBo)
+    {
+        if (resultBo.getRegionStatus()==null){
+            throw new BaseException("璇峰~鍐欐墽娉曠粨鏋�");
+        }
+        if (StringUtils.isEmpty(resultBo.getRegionReason())){
+            throw new BaseException("璇峰~鍐欐墽娉曠粨鏋滆鏄�");
+        }
+        return this.update(lu()
+                .set(resultBo.getRegionStatus()!=null, EnforceOrder::getRegionStatus, resultBo.getRegionStatus())
+                .set(StringUtils.isNotEmpty(resultBo.getRegionReason()), EnforceOrder::getRegionReason, resultBo.getRegionReason())
+                .set(StringUtils.isNotEmpty(resultBo.getRegionImgs()), EnforceOrder::getRegionImgs, resultBo.getRegionImgs())
+                .set(StringUtils.isNotEmpty(resultBo.getRegionVideos()), EnforceOrder::getRegionVideos, resultBo.getRegionVideos())
+                .set( EnforceOrder::getOrderStatus, 4)
+                .set( EnforceOrder::getExecuteTime, DateUtils.getNowDate())
+                .eq( EnforceOrder::getOrderId, resultBo.getOrderId())
+        );
+    }
+
+    @Override//鎵ф硶鍗曟姇璇�
+    @Transactional
+    public Boolean orderComplaint(OrderComplaintBo bo)
+    {
+        if (bo.getOrderId()==null){
+            throw new BaseException("璇烽�夋嫨瑕佹姇璇夌殑鎵ф硶鍗曪紒");
+        }
+        if (StringUtils.isEmpty(bo.getComplaintType())){
+            throw new BaseException("璇烽�夋嫨瑕佹姇璇夌被鍨嬶紒");
+        }
+        if (StringUtils.isEmpty(bo.getComplaintReason())){
+            throw new BaseException("璇峰~鍐欐姇璇夊唴瀹癸紒");
+        }
+        EnforceOrder order = this.getById(bo.getOrderId());
+        if (order.getOrderStatus()!=4){
+            throw new BaseException("鎵ф硶鍗曟湭涓婃姤鎵ф硶缁撴灉锛�");
+        }
+        //娣诲姞鎶曡瘔璁板綍
+        EnforceComplaintLogBo complaintLogBo = Convert.convert(EnforceComplaintLogBo.class, order);
+        complaintLogBo.setComplaintType(bo.getComplaintType());
+        complaintLogBo.setComplaintReason(bo.getComplaintReason());
+        Boolean addLog = complaintLogService.insertByBo(complaintLogBo);
+        if (addLog){
+            return this.update(lu()
+                    .set(EnforceOrder::getIsComplaint,1)
+                    .set(EnforceOrder::getComplaintType,bo.getComplaintType())
+                    .set(EnforceOrder::getComplaintReason,bo.getComplaintReason())
+                    .eq(EnforceOrder::getOrderId,bo.getOrderId())
+            );
+        }
+        return false;
+    }
+
+    @Override//鎵ф硶鍗曟姇璇夎妭鐐�
+    public List<OrderNodeVo> orderComplaintNodeList(Long orderId)
+    {
+        EnforceComplaintLog log = complaintLogService.getOne(complaintLogService.lq().eq(EnforceComplaintLog::getOrderId, orderId));
+        if (log==null){
+            return null;
+        }
+        return complaintLogService.orderNodeList(log.getId());
+    }
+
+
 
 
 //-------------------------------------------------------------------------------------
 
-
-    /**
-     * 鍙戦�佸鎵圭煭淇�
-     * @param phones    鎵嬫満鍙�
-     * @param applyUser 鐢宠浜�
-     */
-    @Async
-    public void sendApplyMsg(List<String> phones, String applyUser)
-    {
-        String applyMsg = StringUtils.format(StringUtils.format(YPSmsApi.APPLY_TMP, applyUser));
-        phones.forEach(phone->{
-            YPSmsApi.sendSms(phone, applyMsg) ;
-        });
-    }
 
     //淇濆瓨鍓嶆牎楠�
     private void validEntityBeforeSave(EnforceOrder entity)
@@ -162,14 +463,15 @@
             String orderNo = orderNoService.getOrderNo(OrderPre.ZFD.getIndex());
             entity.setOrderNo(orderNo);
             entity.setCheckDeptId(deptService.getCheckDeptIdByLoginDeptId(entity.getApplyDeptId()));
+            entity.setApplyTime(DateUtils.getNowDate());
         }
-        if (StringUtils.isEmpty(entity.getApplyDeptName())){
+        if (StringUtils.isEmpty(entity.getApplyDeptName()) && entity.getApplyDeptId()!=null){
             entity.setApplyDeptName(deptService.getDeptAllName(entity.getApplyDeptId()));
         }
-        if (StringUtils.isEmpty(entity.getExecuteDeptName())){
+        if (StringUtils.isEmpty(entity.getExecuteDeptName()) && entity.getExecuteDeptId()!=null){
             entity.setExecuteDeptName(deptService.getDeptAllName(entity.getExecuteDeptId()));
         }
-        if (StringUtils.isEmpty(entity.getCheckDeptName())){
+        if (StringUtils.isEmpty(entity.getCheckDeptName()) && entity.getCheckDeptId()!=null){
             entity.setCheckDeptName(deptService.getDeptAllName(entity.getCheckDeptId()));
         }
 
@@ -189,7 +491,8 @@
         qw.eq(StringUtils.isNotEmpty(bo.getCompanyAddress()), "company_address", bo.getCompanyAddress());
         qw.eq(StringUtils.isNotEmpty(bo.getRegionCode()), "region_code", bo.getRegionCode());
         qw.like(StringUtils.isNotEmpty(bo.getRegionName()), "region_name", bo.getRegionName());
-        qw.eq(StringUtils.isNotEmpty(bo.getEnforceReason()), "enforce_reason", bo.getEnforceReason());
+        qw.like(StringUtils.isNotEmpty(bo.getEnforceReason()), "enforce_reason", bo.getEnforceReason());
+        qw.like(StringUtils.isNotEmpty(bo.getEnforceContent()), "enforce_content", bo.getEnforceContent());
         qw.eq(StringUtils.isNotEmpty(bo.getEnforceType()), "enforce_type", bo.getEnforceType());
         qw.eq(bo.getApplyId() != null, "apply_id", bo.getApplyId());
         qw.eq(StringUtils.isNotEmpty(bo.getApplyUser()), "apply_user", bo.getApplyUser());
@@ -222,6 +525,8 @@
         qw.eq(bo.getIsShow() != null, "is_show", bo.getIsShow());
         qw.eq(bo.getIsEva() != null, "is_eva", bo.getIsEva());
         qw.eq(bo.getTotalScore() != null, "total_score", bo.getTotalScore());
+        qw.ge(StringUtils.isNotEmpty(bo.getBeginTime()), "in_time", bo.getBeginTime());
+        qw.le(StringUtils.isNotEmpty(bo.getEndTime()), "in_time", bo.getEndTime());
         if (StringUtils.isNotEmpty(bo.getIsAsc()) && StringUtils.isNotEmpty(bo.getOrderByColumn())){
             if ("acs".equals(bo.getIsAsc())) {
                 qw.orderByAsc(bo.getOrderByColumn());
@@ -238,24 +543,19 @@
      * @param checkLevel  瀹℃壒绾у埆锛氶粯璁�0
      * @param deptId  鐢宠閮ㄩ棬id
      */
-    private List<String> getCheckPhones(Integer checkLevel, Long deptId, int current)
+    private List<String> getCheckPhonesSimple(Integer checkLevel, Long deptId)
     {
         if (checkLevel==3){
-            if (current==1){
-                return null;
-            }
-            checkLevel = 0;
-            deptId = deptService.getById(deptId).getParentId();
-            current++;
-            getCheckPhones(checkLevel, deptId, current);
+            return null;
         }
-        checkLevel++;
         String checkKey = "check_enforce_";
         List<String> phones = userService.getPhonesByRoleKey(checkKey + checkLevel, deptId);
         if (StringUtils.isNotEmpty(phones)){
+            phones.add(0,checkLevel.toString());
             return phones;
         }
-        return getCheckPhones(checkLevel, deptId, current);
+        checkLevel ++;
+        return getCheckPhonesSimple(checkLevel, deptId);
     }
 
 

--
Gitblit v1.9.1