From b364530ee03f8b28b64863f6a633daf05dc94e91 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期三, 18 十二月 2024 15:55:19 +0800 Subject: [PATCH] 查询站点的检验时长+产量工时bug+检验任务提交撤销+首页待办查最近七天的信息+高低温检验增加检验表字段 --- performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java | 161 ++++++++++++++++++++++++++++------------------------- 1 files changed, 84 insertions(+), 77 deletions(-) diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java index 891c9ef..54b43bd 100644 --- a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java +++ b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java @@ -4,12 +4,12 @@ import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.mom.common.GetLook; import com.yuanchu.mom.common.PrintChina; -import com.yuanchu.mom.dto.AuxiliaryOutputWorkingHoursDto; import com.yuanchu.mom.dto.AuxiliaryWorkingHoursDayDto; import com.yuanchu.mom.mapper.AuxiliaryWorkingHoursDayMapper; import com.yuanchu.mom.mapper.PowerMapper; @@ -28,6 +28,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.net.URLEncoder; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -60,96 +61,106 @@ PowerMapper powerMapper; @Override - public Map<String, Object> selectAuxiliaryOutputWorkingHours(Page page, AuxiliaryOutputWorkingHoursDto auxiliaryOutputWorkingHoursDto) { + public Map<String, Object> selectAuxiliaryOutputWorkingHours(Page page, AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHoursDto) { String dates = auxiliaryOutputWorkingHoursDto.getDateTime(); String week = auxiliaryOutputWorkingHoursDto.getWeek(); auxiliaryOutputWorkingHoursDto.setDateTime(null); auxiliaryOutputWorkingHoursDto.setWeek(null); Map<String, Object> map = new HashMap<>(); - List<Integer> ids = null; - map.put("head", PrintChina.printChina(AuxiliaryOutputWorkingHoursDto.class)); - //鍒ゆ柇缁勯暱,缁勫憳,绠$悊鍛樻潈闄� - Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectAuxiliaryOutputWorkingHours"); - User user = userMapper.selectById(map1.get("userId")); - Integer roleId = user.getRoleId(); - Power power = powerMapper.selectOne(Wrappers.<Power>lambdaQuery().eq(Power::getRoleId, roleId).eq(Power::getMenuMethod, "leader")); - if (ObjectUtils.isEmpty(power)) { - //涓嶆槸缁勯暱 - if (map1.get("look") == 1) { - //鏄粍鍛� - auxiliaryOutputWorkingHoursDto.setCheck(map1.get("userId")); - } else { - //绠$悊鍛�(涓嶆坊鍔犻檺鍒舵潯浠舵墍鏈変汉閮藉彲浠ョ湅) - } - } else { - //鏄粍闀� - //鏌ヨ缁勯暱涓嬬殑缁勫憳 - List<User> users = userMapper.selectList(Wrappers.<User>lambdaQuery().like(User::getDepartLimsId, user.getDepartLimsId())); - if (ObjectUtils.isNotEmpty(users)) { - ids = users.stream().map(User::getId).distinct().collect(Collectors.toList()); - } + List<Integer> ids = new ArrayList<>(); + map.put("head", PrintChina.printChina(AuxiliaryOutputWorkingHours.class)); + if (ids.size() == 0) { + ids = null; } - if (ObjectUtils.isNotEmpty(dates)) { + if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isNotEmpty(week)) { String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); - if (ObjectUtils.isNotEmpty(week)){ - String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); - map.put("body", auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, - QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto) - .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59") - .ge("week", weeks[0]).le("week", weeks[1] ), ids)); + String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); + IPage<AuxiliaryOutputWorkingHours> auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, + QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto) + .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59") + .ge("week", weeks[0]).le("week", weeks[1]), ids); + for (AuxiliaryOutputWorkingHours record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) { + record.setDateTime(record.getDateTime().substring(0,10)); } - map.put("body", auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto).ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59"), ids)); + map.put("body",auxiliaryOutputWorkingHoursDtoIPage ); + } else if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isEmpty(week)) { + String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); + IPage<AuxiliaryOutputWorkingHours> auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, + QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto) + .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59"), ids); + for (AuxiliaryOutputWorkingHours record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) { + record.setDateTime(record.getDateTime().substring(0,10)); + } + map.put("body",auxiliaryOutputWorkingHoursDtoIPage ); + } else if (ObjectUtils.isEmpty(dates) && ObjectUtils.isNotEmpty(week)) { + String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); + IPage<AuxiliaryOutputWorkingHours> auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, + QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto) + .ge("week", weeks[0]).le("week", weeks[1]), ids); + for (AuxiliaryOutputWorkingHours record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) { + record.setDateTime(record.getDateTime().substring(0,10)); + } + map.put("body", auxiliaryOutputWorkingHoursDtoIPage); } else { - map.put("body", auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto), ids)); + IPage<AuxiliaryOutputWorkingHours> auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto), ids); + for (AuxiliaryOutputWorkingHours record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) { + record.setDateTime(record.getDateTime().substring(0,10)); + } + map.put("body", auxiliaryOutputWorkingHoursDtoIPage); } return map; } //缁熻浜ч噺宸ユ椂姹囨�诲拰杈呭姪宸ユ椂姹囨�� @Override - public Map<String, Object> collectWorkingHours() { + public Map<String, Object> collectWorkingHours(AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHoursDto) { + AuxiliaryOutputWorkingHours outputWorkingHours = new AuxiliaryOutputWorkingHours(); + AuxiliaryWorkingHoursDay workingHoursDay = new AuxiliaryWorkingHoursDay(); + List<Integer> ids = new ArrayList<>(); + if (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getWeekDay())){ + outputWorkingHours.setWeekDay(auxiliaryOutputWorkingHoursDto.getWeekDay()); + workingHoursDay.setWeekDay(auxiliaryOutputWorkingHoursDto.getWeekDay()); + } + String dates = auxiliaryOutputWorkingHoursDto.getDateTime(); + auxiliaryOutputWorkingHoursDto.setDateTime(null); Map<String, Object> map = new HashMap<>(); Double sumOutputWorkTime = 0.0; Double sumApprovedWorkingHour = 0.0; - List<Integer> ids = null; - //鍒ゆ柇鏄粍闀胯繕鏄粍鍛樿繕鏄鐞嗗憳 - Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectAuxiliaryOutputWorkingHours"); - User user = userMapper.selectById(map1.get("userId")); - Integer roleId = user.getRoleId(); - Power power = powerMapper.selectOne(Wrappers.<Power>lambdaQuery().eq(Power::getRoleId, roleId).eq(Power::getMenuMethod, "leader")); - if (ObjectUtils.isEmpty(power)) { - //涓嶆槸缁勯暱 - if (map1.get("look") == 1) { - //鏄粍鍛� - ids.add(map1.get("userId")); - } else { - //绠$悊鍛�(涓嶆坊鍔犻檺鍒舵潯浠舵墍鏈変汉閮藉彲浠ョ湅) - } - } else { - //鏄粍闀� - //鏌ヨ缁勯暱涓嬬殑缁勫憳 - List<User> users = userMapper.selectList(Wrappers.<User>lambdaQuery().like(User::getDepartLimsId, user.getDepartLimsId())); - if (ObjectUtils.isNotEmpty(users)) { - ids = users.stream().map(User::getId).distinct().collect(Collectors.toList()); - } + List<AuxiliaryOutputWorkingHours> auxiliaryOutputWorkingHours = new ArrayList<>(); + List<AuxiliaryWorkingHoursDay> auxiliaryWorkingHoursDays = new ArrayList<>(); + if (ids.size() == 0) { + ids=null; } - //缁熻褰撳墠鐢ㄦ埛鐨勪骇鍝佸伐鏃� - List<AuxiliaryOutputWorkingHours> auxiliaryOutputWorkingHours = auxiliaryOutputWorkingHoursMapper.selectListByIds(ids); + if (ObjectUtils.isNotEmpty(dates)) { + String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); + //缁熻褰撳墠鐢ㄦ埛鐨勪骇鍝佸伐鏃� + auxiliaryOutputWorkingHours = auxiliaryOutputWorkingHoursMapper.selectLists(QueryWrappers.queryWrappers(outputWorkingHours) + .ge("date_time", split[0]) + .le("date_time", split[1] + " 23:59:59"),ids); + //缁熻褰撳墠鐢ㄦ埛鐨勮緟鍔╁伐鏃� + auxiliaryWorkingHoursDays = auxiliaryWorkingHoursDayMapper.selectLists(QueryWrappers.queryWrappers(workingHoursDay) + .eq("state","宸叉壒鍑�") + .ge("date_time", split[0]) + .le("date_time", split[1] + " 23:59:59"),ids); + }else if (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getWeekDay())){ + //缁熻褰撳墠鐢ㄦ埛鐨勪骇鍝佸伐鏃� + auxiliaryOutputWorkingHours = auxiliaryOutputWorkingHoursMapper.selectLists(QueryWrappers.queryWrappers(outputWorkingHours),ids); + //缁熻褰撳墠鐢ㄦ埛鐨勮緟鍔╁伐鏃� + auxiliaryWorkingHoursDays = auxiliaryWorkingHoursDayMapper.selectLists(QueryWrappers.queryWrappers(workingHoursDay).eq("state","宸叉壒鍑�"),ids); + } + else { + auxiliaryOutputWorkingHours = auxiliaryOutputWorkingHoursMapper.selectListByIds(ids); + auxiliaryWorkingHoursDays = auxiliaryWorkingHoursDayMapper.selectListByIds(ids); + } if (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours)) { - Map<String, Double> sumMap = new HashMap<>(); for (AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHour : auxiliaryOutputWorkingHours) { - if (!sumMap.containsKey(auxiliaryOutputWorkingHour.getManHourGroup())) { - sumMap.put(auxiliaryOutputWorkingHour.getManHourGroup(), auxiliaryOutputWorkingHour.getOutputWorkTime()); - } + sumOutputWorkTime+=auxiliaryOutputWorkingHour.getOutputWorkTime(); } - sumOutputWorkTime = sumMap.values().stream().mapToDouble(Double::doubleValue).sum(); } map.put("浜ч噺宸ユ椂姹囨��", sumOutputWorkTime); - //缁熻褰撳墠鐢ㄦ埛鐨勮緟鍔╁伐鏃� - List<AuxiliaryWorkingHoursDay> auxiliaryWorkingHoursDays = auxiliaryWorkingHoursDayMapper.selectListByIds(ids); if (ObjectUtils.isNotEmpty(auxiliaryWorkingHoursDays)) { for (AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay : auxiliaryWorkingHoursDays) { - sumApprovedWorkingHour += auxiliaryWorkingHoursDay.getNonproductiveTime(); + sumApprovedWorkingHour += auxiliaryWorkingHoursDay.getReviewerNonproductiveTime();//澶嶆牳宸ユ椂 } } map.put("杈呭姪宸ユ椂姹囨��", sumApprovedWorkingHour); @@ -159,9 +170,9 @@ //瀵煎嚭 @Override public void exportWorkingHours(HttpServletResponse response) throws IOException { - List<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtos = null; - List<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtos = null; - List<Integer> ids = null; + List<AuxiliaryOutputWorkingHours> auxiliaryOutputWorkingHoursDtos = new ArrayList<>(); + List<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtos = new ArrayList<>(); + List<Integer> ids = new ArrayList<>(); //鍒ゆ柇鏄粍闀胯繕鏄粍鍛樿繕鏄鐞嗗憳 Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectAuxiliaryOutputWorkingHours"); User user = userMapper.selectById(map1.get("userId")); @@ -183,21 +194,17 @@ ids = users.stream().map(User::getId).distinct().collect(Collectors.toList()); } } - + if (ids.size()==0){ + ids=null; + } //鏌ヨ杈呭姪宸ユ椂 auxiliaryWorkingHoursDayDtos = auxiliaryWorkingHoursDayMapper.selectDataByUser(ids); -// if (auxiliaryWorkingHoursDayDtos == null || auxiliaryWorkingHoursDayDtos.size() == 0) { -// throw new RuntimeException("鏆傛棤鏁版嵁"); -// } //鏌ヨ缁熻宸ユ椂 auxiliaryOutputWorkingHoursDtos = auxiliaryOutputWorkingHoursMapper.selectDataByUser(ids); -// if (auxiliaryOutputWorkingHoursDtos == null || auxiliaryOutputWorkingHoursDtos.size() == 0) { -// throw new RuntimeException("鏆傛棤鏁版嵁"); -// } response.setContentType("application/vnd.ms-excel"); response.setCharacterEncoding("UTF-8"); // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴 - String fileName = URLEncoder.encode("宸ユ椂绠$悊瀵煎嚭", "UTF-8"); + String fileName = URLEncoder.encode("鏃ュ伐鏃剁鐞嗗鍑�", "UTF-8"); response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); try { // 鏂板缓ExcelWriter @@ -206,7 +213,7 @@ WriteSheet mainSheet = EasyExcel.writerSheet(0, "杈呭姪宸ユ椂瀵煎嚭").head(AuxiliaryWorkingHoursDayDto.class).build(); excelWriter.write(auxiliaryWorkingHoursDayDtos, mainSheet); - WriteSheet mainSheet1 = EasyExcel.writerSheet(1, "浜ч噺宸ユ椂瀵煎嚭").head(AuxiliaryOutputWorkingHoursDto.class).build(); + WriteSheet mainSheet1 = EasyExcel.writerSheet(1, "浜ч噺宸ユ椂瀵煎嚭").head(AuxiliaryOutputWorkingHours.class).build(); excelWriter.write(auxiliaryOutputWorkingHoursDtos, mainSheet1); // 鍏抽棴娴� excelWriter.finish(); -- Gitblit v1.9.3