From df7d2e1113b540ccb3600b3cdc9155bf7186e8fb Mon Sep 17 00:00:00 2001
From: ZQN <364596817@qq.com>
Date: 星期二, 20 五月 2025 14:18:31 +0800
Subject: [PATCH] 执法单企业信息后台填充

---
 project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java |  141 +++++++++++++++++++++++++++++++++++-----------
 1 files changed, 107 insertions(+), 34 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 aca4fe8..556acfd 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,12 +6,10 @@
 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;
-import com.project.common.utils.JsonUtils;
-import com.project.common.utils.SecurityUtils;
-import com.project.common.utils.StringUtils;
+import com.project.common.utils.*;
 import com.project.enforce.domain.*;
 import com.project.enforce.domain.bo.editBo.EnforceComplaintLogBo;
 import com.project.enforce.domain.bo.editBo.EnforceOrderBo;
@@ -19,11 +17,14 @@
 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.*;
+import com.project.system.domain.SysCompany;
+import com.project.system.service.ISysCompanyService;
 import com.project.system.service.ISysDeptService;
 import com.project.system.service.ISysOrderNoService;
 import com.project.system.service.ISysUserService;
@@ -34,6 +35,7 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.LinkedList;
 import java.util.List;
 
 /**
@@ -54,16 +56,19 @@
     private final IEnforceEvaluateLogService evaluateLogService;
     private final YPSmsService smsService;
     private final EnforceOrderMapper orderMapper;
+    private final ISysCompanyService companyService;
 
     /**
      * 閫氱敤鍒楄〃-鏃犳潈闄�
-     * @param bo	鍙傛暟
+     * @param bo    鍙傛暟
      * @return 鍒楄〃
      */
     @Override
     public List<EnforceOrderVo> queryCommonList(EnforceOrderQueryBo bo)
     {
         QueryWrapper<EnforceOrder> qw = getQw(bo);
+
+
         List<EnforceOrder> list = this.list(qw);
         return Convert.toList(EnforceOrderVo.class , list);
     }
@@ -74,22 +79,75 @@
     }
 
     /**
+     * 浼佷笟纭鎵ф硶鍗�
+     * @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
     public List<EnforceOrderVo> queryCompanyList(EnforceOrderQueryBo bo)
     {
         QueryWrapper<EnforceOrder> qw = getQw(bo);
-        qw.ge("order_status",4);
+        qw.ge("order_status",2);
         List<EnforceOrder> list = this.list(qw);
-        return Convert.toList(EnforceOrderVo.class , list);
+        List<EnforceOrderVo> vos = Convert.toList(EnforceOrderVo.class, list);
+        vos.forEach(SensitiveUtil::desensitize);
+        return vos;
     }
 
     /**
      * 鎵ф硶鐢宠鍗曞垪琛�
-     * @param bo	鍙傛暟
+     * @param bo    鍙傛暟
      * @return 鍒楄〃
      */
     @Override
@@ -104,7 +162,7 @@
 
     /**
      * 鎵ф硶鎵ц鍗曞垪琛�
-     * @param bo	鍙傛暟
+     * @param bo    鍙傛暟
      * @return 鍒楄〃
      */
     @Override
@@ -118,13 +176,13 @@
 
     /**
      * 寰呭鏍稿垪琛�
-     * @param bo	鍙傛暟
+     * @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());
 //        List<Long> deptIds = deptService.getApplyDeptIdsByLoginUserId(loginUser.getUserId());
 //        if (StringUtils.isNotEmpty(deptIds)){
@@ -137,7 +195,7 @@
 
     /**
      * 瀹℃壒璁板綍鍒楄〃
-     * @param bo	鍙傛暟
+     * @param bo    鍙傛暟
      * @return 鍒楄〃
      */
     @Override
@@ -157,9 +215,11 @@
     {
         List<EnforceOrder> list = this.list(lq()
                 .eq(EnforceOrder::getIsShow, 1)
-                .eq(EnforceOrder::getOrderStatus, 4)
+                .ge(EnforceOrder::getOrderStatus, 4)
         );
-        return Convert.toList(EnforceOrderVo.class, list);
+        List<EnforceOrderVo> vos = Convert.toList(EnforceOrderVo.class, list);
+        vos.forEach(SensitiveUtil::desensitize);
+        return vos;
     }
 
     /**
@@ -188,6 +248,7 @@
                 }
             }
         }
+        SensitiveUtil.desensitize(vo);
         return vo;
     }
 
@@ -204,6 +265,9 @@
         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);
         }
@@ -260,7 +324,7 @@
     @Override
     public List<String> getCheckPhones(Integer checkLevel, Long applyDeptId)
     {
-        return getCheckPhones(checkLevel, applyDeptId, 0);
+        return getCheckPhonesSimple(checkLevel, applyDeptId);
     }
 
     @Override
@@ -272,24 +336,27 @@
                 .eq(EnforceCheckLog::getOrderId, orderId).orderByAsc(EnforceCheckLog::getCheckTime)
         );
         if (order.getApplyTime()!=null){
-            vos.add(new OrderNodeVo("鎻愪氦鐢宠",order.getApplyUser(),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(),checkLog.getCheckTime(), null));
+                    vos.add(new OrderNodeVo("瀹℃壒閫氳繃",checkLog.getCheckUser(),userService.getDeptNameByUserId(checkLog.getCheckId()),checkLog.getCheckTime(), null));
                 } else {
-                    vos.add(new OrderNodeVo("瀹℃壒鎷掔粷",checkLog.getCheckUser(),checkLog.getCheckTime(), checkLog.getCheckReason()));
+                    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.getInTime(), null));
+            vos.add(new OrderNodeVo("鎵爜鍏ヤ紒",order.getExecuteUser(),order.getExecuteDeptName(),order.getInTime(), null));
         }
         if (order.getExecuteTime()!=null){
-            vos.add(new OrderNodeVo("缁撴灉涓婃姤",order.getExecuteUser(),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;
     }
 
@@ -305,11 +372,14 @@
     public Boolean doScanOrder(Long orderId)
     {
         EnforceOrder order = this.getById(orderId);
-        if (order.getOrderStatus()!=2){
+        if (order.getOrderStatus()<2){
             throw new BaseException("鎵ф硶鍗曡繕鏈鎵癸紒");
         }
+        if (order.getOrderStatus()>2){
+            throw new BaseException("鎵ф硶鍗曞凡纭鎵ф硶锛�");
+        }
         order.setOrderStatus(3);
-        SysUser user = SecurityUtils.getLoginUser().getUser();
+        SysUser user = userService.selectUserById(SecurityUtils.getUserId());
         order.setExecuteId(user.getUserId());
         order.setExecuteUser(user.getNickName());
         order.setExecutePhone(user.getPhonenumber());
@@ -336,6 +406,7 @@
                 .set(StringUtils.isNotEmpty(resultBo.getRegionVideos()), EnforceOrder::getRegionVideos, resultBo.getRegionVideos())
                 .set( EnforceOrder::getOrderStatus, 4)
                 .set( EnforceOrder::getExecuteTime, DateUtils.getNowDate())
+                .eq( EnforceOrder::getOrderId, resultBo.getOrderId())
         );
     }
 
@@ -391,6 +462,13 @@
     //淇濆瓨鍓嶆牎楠�
     private void validEntityBeforeSave(EnforceOrder entity)
     {
+        if (entity.getCompanyId()!=null){
+            SysCompany company = companyService.getById(entity.getCompanyId());
+            entity.setCompanyName(company.getCompanyName());
+            entity.setCompanyCode(company.getCompanyCode());
+            entity.setCompanyUser(company.getCompanyUser());
+            entity.setCompanyPhone(company.getCompanyPhone());
+        }
         if (entity.getOrderId()==null){
             String orderNo = orderNoService.getOrderNo(OrderPre.ZFD.getIndex());
             entity.setOrderNo(orderNo);
@@ -475,24 +553,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.selectDeptById(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