From 94adc6f8c317f26da2f1f3b65224ac262670bdd8 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期五, 31 五月 2024 17:15:52 +0800 Subject: [PATCH] 工时统计的原始工时 --- performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryCorrectionHoursServiceImpl.java | 51 +++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 43 insertions(+), 8 deletions(-) diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryCorrectionHoursServiceImpl.java b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryCorrectionHoursServiceImpl.java index 19bcdcf..d91c8f0 100644 --- a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryCorrectionHoursServiceImpl.java +++ b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryCorrectionHoursServiceImpl.java @@ -21,10 +21,12 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.regex.Pattern; import java.util.stream.Collectors; /** @@ -50,10 +52,11 @@ @Resource PowerMapper powerMapper; + @Override public Map<String, Object> selectAuxiliaryCorrectionHours(Page page, AuxiliaryCorrectionHoursDto auxiliaryCorrectionHoursDto) { Map<String, Object> map = new HashMap<>(); - List<Integer> ids = null; + List<Integer> ids = new ArrayList<>(); map.put("head", PrintChina.printChina(AuxiliaryCorrectionHoursDto.class)); //鍒ゆ柇缁勯暱,缁勫憳,绠$悊鍛樻潈闄� Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectAuxiliaryCorrectionHours"); @@ -71,12 +74,29 @@ } else { //鏄粍闀� //鏌ヨ缁勯暱涓嬬殑缁勫憳 - List<User> users = userMapper.selectList(Wrappers.<User>lambdaQuery().like(User::getDepartLimsId, user.getDepartLimsId())); + List<User> users = userMapper.selectList(Wrappers.<User>lambdaQuery() + .like(User::getDepartLimsId, user.getDepartLimsId()) + .eq(User::getState, 1)); if (ObjectUtils.isNotEmpty(users)) { - ids = users.stream().map(User::getId).distinct().collect(Collectors.toList()); + ids.addAll(users.stream().map(User::getId).distinct().collect(Collectors.toList())); } } - map.put("body", auxiliaryCorrectionHoursMapper.selectAuxiliaryCorrectionHours(page, QueryWrappers.queryWrappers(auxiliaryCorrectionHoursDto),ids)); + String departLims = auxiliaryCorrectionHoursDto.getDepartLims(); + auxiliaryCorrectionHoursDto.setDepartLims(null); + if (ObjectUtils.isNotEmpty(departLims)) { + //鍏堟ā绯婃煡璇㈠嚭鏉d + List<Integer> ides = auxiliaryCorrectionHoursMapper.selDepartLimsByName(departLims); + for (Integer ide : ides) { + List<User> users = userMapper.selectList(Wrappers.<User>lambdaQuery() + .like(User::getDepartLimsId, ide) + .eq(User::getState, 1)); + if (ObjectUtils.isNotEmpty(users)) { + ids.clear(); + ids.addAll(users.stream().map(User::getId).distinct().collect(Collectors.toList())); + } + } + } + map.put("body", auxiliaryCorrectionHoursMapper.selectAuxiliaryCorrectionHours(page, QueryWrappers.queryWrappers(auxiliaryCorrectionHoursDto).eq("month", auxiliaryCorrectionHoursDto.getMonth()), ids)); return map; } @@ -87,17 +107,32 @@ return; } List<AuxiliaryCorrectionHours> auxiliaryCorrectionHoursList = new ArrayList<>(); + List<AuxiliaryCorrectionHours> auxiliaryCorrectionHoursList1 = new ArrayList<>(); for (AuxiliaryCorrectionHoursDto auxiliaryCorrectionHoursDto : list) { AuxiliaryCorrectionHours auxiliaryCorrectionHours = new AuxiliaryCorrectionHours(); User user = userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getName, auxiliaryCorrectionHoursDto.getName())); - if (ObjectUtils.isEmpty(user)){ - throw new RuntimeException("绯荤粺娌℃湁鏌ュ埌"+auxiliaryCorrectionHoursDto.getName()+"杩欎釜鐢ㄦ埛淇℃伅!"); + if (ObjectUtils.isEmpty(user)) { + throw new RuntimeException("绯荤粺娌℃湁鏌ュ埌" + auxiliaryCorrectionHoursDto.getName() + "杩欎釜鐢ㄦ埛淇℃伅!"); } - BeanUtils.copyProperties(auxiliaryCorrectionHoursDto,auxiliaryCorrectionHours); + String regex = "\\d{4}-\\d{2}"; + if (Pattern.matches(regex,auxiliaryCorrectionHours.getMonth())) { + throw new RuntimeException(auxiliaryCorrectionHoursDto.getMonth() + "鏍煎紡涓嶆纭�,鏈堜唤鏍煎紡搴斾负yyyy-MM"); + } + BeanUtils.copyProperties(auxiliaryCorrectionHoursDto, auxiliaryCorrectionHours); auxiliaryCorrectionHours.setNameUser(user.getId()); - auxiliaryCorrectionHoursList.add(auxiliaryCorrectionHours); + AuxiliaryCorrectionHours auxiliaryCorrectionHours1 = auxiliaryCorrectionHoursMapper.selectOne(Wrappers.<AuxiliaryCorrectionHours>lambdaQuery() + .eq(AuxiliaryCorrectionHours::getNameUser, user.getId()) + .eq(AuxiliaryCorrectionHours::getType, auxiliaryCorrectionHours.getType()) + .eq(AuxiliaryCorrectionHours::getMonth, auxiliaryCorrectionHours.getMonth())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours1)) { + auxiliaryCorrectionHoursList1.add(auxiliaryCorrectionHours); + } else { + auxiliaryCorrectionHoursList.add(auxiliaryCorrectionHours); + } } //鎵归噺鏂板 saveBatch(auxiliaryCorrectionHoursList); + //鎵归噺淇敼 + updateBatchById(auxiliaryCorrectionHoursList1); } } -- Gitblit v1.9.3