From caf296d1e6904f89ad21f2ab458977495b7e98f7 Mon Sep 17 00:00:00 2001 From: hayu <1604366271@qq.com> Date: Mon, 9 Jun 2025 11:31:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/mapper/ComplexQueryMapper.java | 22 +++ .../service/impl/ComplexQueryServiceImpl.java | 108 +++++++---- .../material/basic/ComplexQueryMapper.xml | 169 ++++++++++++++++++ 3 files changed, 262 insertions(+), 37 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/ComplexQueryMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/ComplexQueryMapper.java index 2dcb32d7..95ebe18f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/ComplexQueryMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/ComplexQueryMapper.java @@ -1,5 +1,6 @@ package com.bonus.material.basic.mapper; +import com.bonus.material.back.domain.vo.MaCodeVo; import com.bonus.material.basic.domain.*; import com.bonus.material.basic.domain.vo.MaTypeSelectInfo; import org.apache.ibatis.annotations.Param; @@ -166,4 +167,25 @@ public interface ComplexQueryMapper { * @return */ List getToolsLedgerDetailsList(RetainedEquipmentInfo bean); + + /** + * 根据用户Id,查询班组 + * @param userId + * @return + */ + BmTeam getTeamData(String userId); + + /** + * 查询班组下库存 + * @param bmTeam + * @return + */ + List getToolsLedgerListByTeam(BmTeam bmTeam); + + /** + * 工器具台账详情查询--班组 + * @param bean1 + * @return + */ + List getToolsDetailsListByTeam(MaCodeVo bean1); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/ComplexQueryServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/ComplexQueryServiceImpl.java index bada29d4..6112bd7a 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/ComplexQueryServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/ComplexQueryServiceImpl.java @@ -4,6 +4,8 @@ import cn.hutool.core.collection.CollectionUtil; import com.alibaba.nacos.common.utils.CollectionUtils; import com.alibaba.nacos.common.utils.StringUtils; import com.bonus.common.biz.enums.MaTypeManageTypeEnum; +import com.bonus.common.security.utils.SecurityUtils; +import com.bonus.material.back.domain.vo.MaCodeVo; import com.bonus.material.basic.domain.*; import com.bonus.material.basic.domain.vo.MaTypeSelectInfo; import com.bonus.material.basic.mapper.ComplexQueryMapper; @@ -525,7 +527,19 @@ public class ComplexQueryServiceImpl implements ComplexQueryService { public List getToolsLedgerList(RetainedEquipmentInfo bean) { List list1 =new ArrayList<>(); try { - List list = complexQueryMapper.getToolsLedgerList(bean); + //1、获取当前用户Id + String userId = SecurityUtils.getUserId().toString(); + //2、判断用户是否为班组长,且对应的是否有班组 + BmTeam bmTeam=complexQueryMapper.getTeamData(userId); + List list=new ArrayList<>(); + if (bmTeam!=null){ + //不为空,则 是班组长且对应的有班组 + //查询班组下工器具库存 + list = complexQueryMapper.getToolsLedgerListByTeam(bmTeam); + } else { + //没有班组,则查全部 + list = complexQueryMapper.getToolsLedgerList(bean); + } if (list.size()>0){ list1 = groupByThirdTypeId(list); } @@ -543,46 +557,66 @@ public class ComplexQueryServiceImpl implements ComplexQueryService { */ @Override public List getToolsDetailsList(RetainedEquipmentInfo bean) { - List list = complexQueryMapper.getToolsDetailsList(bean); - if (!CollectionUtil.isEmpty(list)) { - for (RetainedEquipmentInfo retainedEquipmentInfo : list) { - if (StringUtils.isNotBlank(retainedEquipmentInfo.getNextCheckTime())) { - String nextCheckTime = retainedEquipmentInfo.getNextCheckTime(); - // 解析字符串日期(格式:yyyy-MM-dd) - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - LocalDate targetDate = LocalDate.parse(nextCheckTime, formatter); - LocalDate currentDate = LocalDate.now(); // 当前日期 - boolean isFuture = targetDate.isAfter(currentDate); - if (!isFuture) { - // 已过期 - retainedEquipmentInfo.setStatus("3"); - continue; - } - Period period = Period.between(currentDate, targetDate); - int years = period.getYears(); - int months = period.getMonths(); - int days = period.getDays(); - // 计算累计月份差(向上取整) - int totalMonths = years * 12 + months; - if (days > 0 || targetDate.getDayOfMonth() > currentDate.getDayOfMonth()) { - totalMonths++; - } - if (totalMonths <= 1) { - retainedEquipmentInfo.setStatus("2"); - } else if (totalMonths <= 3) { - retainedEquipmentInfo.setStatus("1"); - } else { - retainedEquipmentInfo.setStatus("0"); + try { + //1、获取当前用户Id + String userId = SecurityUtils.getUserId().toString(); + //2、判断用户是否为班组长,且对应的是否有班组 + BmTeam bmTeam=complexQueryMapper.getTeamData(userId); + List list = new ArrayList<>(); + if (bmTeam!=null) { + //不为空,则 是班组长且对应的有班组 + MaCodeVo bean1 = new MaCodeVo(); + bean1.setTeamId(bmTeam.getId()); + bean1.setTypeId(bean.getTypeId()+""); + list = complexQueryMapper.getToolsDetailsListByTeam(bean1); + } else { + //没有班组,则查全部 + list = complexQueryMapper.getToolsDetailsList(bean); + } + if (!CollectionUtil.isEmpty(list)) { + for (RetainedEquipmentInfo retainedEquipmentInfo : list) { + if (StringUtils.isNotBlank(retainedEquipmentInfo.getNextCheckTime())) { + String nextCheckTime = retainedEquipmentInfo.getNextCheckTime(); + // 解析字符串日期(格式:yyyy-MM-dd) + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + LocalDate targetDate = LocalDate.parse(nextCheckTime, formatter); + // 当前日期 + LocalDate currentDate = LocalDate.now(); + boolean isFuture = targetDate.isAfter(currentDate); + if (!isFuture) { + // 已过期 + retainedEquipmentInfo.setStatus("3"); + continue; + } + Period period = Period.between(currentDate, targetDate); + int years = period.getYears(); + int months = period.getMonths(); + int days = period.getDays(); + // 计算累计月份差(向上取整) + int totalMonths = years * 12 + months; + if (days > 0 || targetDate.getDayOfMonth() > currentDate.getDayOfMonth()) { + totalMonths++; + } + if (totalMonths <= 1) { + retainedEquipmentInfo.setStatus("2"); + } else if (totalMonths <= 3) { + retainedEquipmentInfo.setStatus("1"); + } else { + retainedEquipmentInfo.setStatus("0"); + } } } + if (StringUtils.isNotBlank(bean.getStatus())) { + return list.stream().filter(item -> { + return item.getStatus().equals(bean.getStatus()); + }).collect(Collectors.toList()); + } } - if (StringUtils.isNotBlank(bean.getStatus())) { - return list.stream().filter(item -> { - return item.getStatus().equals(bean.getStatus()); - }).collect(Collectors.toList()); - } + return list; + } catch (Exception e){ + log.error("工器具台账详情查询失败", e); + return new ArrayList<>(); } - return list; } @Override diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml index f702ae6a..401b45be 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml @@ -1197,6 +1197,124 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" mm.type_id=#{typeId} and mm.ma_status='1' + + +