From 4f3a98f19143865cdc1de4791e8a95d96bd40c65 Mon Sep 17 00:00:00 2001 From: maven <2163098428@qq.com> Date: 星期五, 01 八月 2025 13:27:59 +0800 Subject: [PATCH] yys 密码已重置 --- inspect-server/src/main/java/com/ruoyi/inspect/service/impl/ReportServiceImpl.java | 129 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 129 insertions(+), 0 deletions(-) diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/ReportServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/ReportServiceImpl.java new file mode 100644 index 0000000..fd69315 --- /dev/null +++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/ReportServiceImpl.java @@ -0,0 +1,129 @@ +package com.ruoyi.inspect.service.impl; + +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.core.domain.entity.SysRole; +import com.ruoyi.common.core.domain.entity.User; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.inspect.mapper.*; +import com.ruoyi.inspect.pojo.InsOrder; +import com.ruoyi.inspect.pojo.InsSample; +import com.ruoyi.inspect.pojo.InsSampleUser; +import com.ruoyi.inspect.service.ReportService; +import com.ruoyi.performance.dto.AuxiliaryAllDto; +import com.ruoyi.performance.dto.AuxiliaryOriginalHoursLookDto; +import com.ruoyi.performance.service.AuxiliaryOriginalHoursService; +import com.ruoyi.system.mapper.UserMapper; +import lombok.AllArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +@AllArgsConstructor +public class ReportServiceImpl implements ReportService { + + @Autowired + private InsOrderMapper insOrderMapper; + + @Autowired + private InsSampleMapper insSampleMapper; + + @Autowired + private UserMapper userMapper; + + @Autowired + private InsSampleUserMapper insSampleUserMapper; + + @Autowired + private AuxiliaryOriginalHoursService auxiliaryOriginalHoursService; + + //棣栭〉-->鏃ュ巻浠诲姟鍥� + @Override + public Map<String, Object> calendarWorkByWeek() { + Integer userId = SecurityUtils.getUserId().intValue(); + // + List<SysRole> roleList = SecurityUtils.getLoginUser().getUser().getRoles(); + +// String name = roleMapper.selectById(userMapper.selectById(userId).getRoleId()).getName(); + String name = roleList.stream().map(SysRole::getRoleName).collect(Collectors.joining(",")); + Map<String, Object> map = new HashMap<>(); + List<Integer> insState = new ArrayList<>(); + insState.add(0); + insState.add(1); + /*鑾峰彇鍚庝竴鍛ㄦ棩鏈�*/ + LocalDate currentDate = LocalDate.now(); + List<LocalDate> weekDays = new ArrayList<>(); + for (int i = 6, j = 0; i >= 0; i--, j++) { + weekDays.add(currentDate.minusDays(i)); + //鏌ヨ褰撳ぉ闇�瑕佹娴嬬殑濮旀墭璁㈠崟 + List<InsOrder> insOrders = insOrderMapper.selectList(Wrappers.<InsOrder>lambdaQuery() + .eq(InsOrder::getState, 1) + .in(InsOrder::getInsState, insState) + .apply("DATE(create_time) = CURDATE() - INTERVAL " + j + " DAY")); + //濡傛灉褰撳墠鐧诲綍浜烘槸娴嬭瘯宸ョ▼甯堟垨鑰呮槸妫�娴嬬粍闀�,闇�瑕佽繃婊ゅ嚭妫�楠屼汉鏄粬浠殑璁㈠崟鎴栬�呮槸杩樻病妫�楠岀殑璁㈠崟 + if (name.contains("娴嬭瘯宸ョ▼甯�") || name.contains("妫�娴嬬粍闀�")) { + insOrders = insOrders.stream().filter(insOrder -> { + List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, insOrder.getId())); + List<Integer> sampleId = insSamples.stream().map(InsSample::getId).collect(Collectors.toList()); + List<InsSampleUser> insSampleUsers = insSampleUserMapper.selectList(Wrappers.<InsSampleUser>lambdaQuery() + .in(InsSampleUser::getInsSampleId, sampleId) + .eq(InsSampleUser::getState, 0) //妫�楠屼汉 + ); + return insSampleUsers.size() == 0 || insSampleUsers.stream().map(InsSampleUser::getUserId).collect(Collectors.toList()).contains(userId); + }).collect(Collectors.toList()); + } + //濡傛灉褰撳墠鐧诲綍浜烘槸閫佹牱鍛�,闇�杩囨护鍑哄崟瀛愮殑閫佹牱鍛樻槸褰撳墠浜虹殑璁㈠崟 + else if (name.contains("閫佹牱鍛�")) { + insOrders = insOrders.stream().filter(insOrder -> + ObjectUtils.isNotEmpty(insOrder.getIssueUser()) && insOrder.getIssueUser().equals(userId) + ).collect(Collectors.toList()); + } + List<Map<String, Object>> works = insOrders.stream().map(insOrder -> { + List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, insOrder.getId())); + HashMap<String, Object> hashMap = new HashMap<>(); + hashMap.put("text", insOrder.getEntrustCode()); + hashMap.put("sample", insSamples.stream().map(InsSample::getSample).collect(Collectors.joining(","))); + hashMap.put("type", insOrder.getType()); + hashMap.put("state", insOrder.getState()); + User user = userMapper.selectById(insOrder.getCreateUser()); + hashMap.put("name", user.getName()); + return hashMap; + }).collect(Collectors.toList()); + map.put("work" + i, works); + } + map.put("weekDays", weekDays); + return map; + } + + @Override + public AuxiliaryAllDto currentUserWorkHourCount(AuxiliaryOriginalHoursLookDto dto) { + List<AuxiliaryAllDto> auxiliaryAllDtos = auxiliaryOriginalHoursService.selectAuxiliaryAllByMonth(dto); + int userId = SecurityUtils.getUserId().intValue(); + // 杩囨护鎺夐潪褰撳墠鐢ㄦ埛鏁版嵁 + AuxiliaryAllDto auxiliaryAllDto = null; + for (AuxiliaryAllDto allDto : auxiliaryAllDtos) { + if(userId == allDto.getUserId()){ + auxiliaryAllDto = allDto; + break; + } + } + if(ObjectUtils.isEmpty(auxiliaryAllDto)){ + auxiliaryAllDto = new AuxiliaryAllDto( + new BigDecimal(0), + new BigDecimal(0), + new BigDecimal(0), + userId,SecurityUtils.getUsername(), + dto.getMonth() + ); + } + return auxiliaryAllDto; + } +} -- Gitblit v1.9.3