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 | 111 ++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 85 insertions(+), 26 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 76e9893..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,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,13 +60,17 @@ /** * 閫氱敤鍒楄〃-鏃犳潈闄� - * @param bo 鍙傛暟 + * @param bo 鍙傛暟 * @return 鍒楄〃 */ @Override public List<EnforceOrderVo> queryCommonList(EnforceOrderQueryBo bo) { QueryWrapper<EnforceOrder> qw = getQw(bo); + if (bo.getCheckDeptId()!=null){ + bo.setCheckDeptId(deptService.getCheckDeptIdByLoginDeptId(SecurityUtils.getDeptId())); + } + List<EnforceOrder> list = this.list(qw); return Convert.toList(EnforceOrderVo.class , list); } @@ -74,22 +81,73 @@ } /** + * 浼佷笟纭鎵ф硶鍗� + * @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); } /** * 鎵ф硶鐢宠鍗曞垪琛� - * @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 @@ -204,6 +262,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 +321,7 @@ @Override public List<String> getCheckPhones(Integer checkLevel, Long applyDeptId) { - return getCheckPhones(checkLevel, applyDeptId, 0); + return getCheckPhonesSimple(checkLevel, applyDeptId); } @Override @@ -272,24 +333,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; } @@ -312,7 +376,7 @@ 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()); @@ -479,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.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