From 5de29342a9ec4ac6621fca5af803219a8ac0ce42 Mon Sep 17 00:00:00 2001 From: wangfei <3597712270@qq.com> Date: 星期一, 05 八月 2024 13:46:32 +0800 Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes --- hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java | 163 +++++++++++------------------------------------------ 1 files changed, 35 insertions(+), 128 deletions(-) diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java index dccec5e..aae4a9a 100644 --- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java +++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java @@ -24,7 +24,7 @@ /** * <p> - * 鏈嶅姟瀹炵幇绫� + * 鏈嶅姟瀹炵幇绫� * </p> * * @author wu @@ -42,17 +42,17 @@ * 鏌ヨ鎶ュ伐淇℃伅 */ @Override - public List<Damage> selectDamage(String startTime, String endTime, int type, int status, String workingProcedure){ - LambdaQueryWrapper<Damage> damageSelectWrapper =new LambdaQueryWrapper<>(); - damageSelectWrapper.between(Damage::getDamageTime,startTime,endTime); - if (type!=0){ - damageSelectWrapper.eq(Damage::getType,type); + public List<Damage> selectDamage(String startTime, String endTime, int type, int status, String workingProcedure) { + LambdaQueryWrapper<Damage> damageSelectWrapper = new LambdaQueryWrapper<>(); + damageSelectWrapper.between(Damage::getDamageTime, startTime, endTime); + if (type != 0) { + damageSelectWrapper.eq(Damage::getType, type); } - if (status!=0){ - damageSelectWrapper.eq(Damage::getStatus,status); + if (status != 0) { + damageSelectWrapper.eq(Damage::getStatus, status); } - if(!"0".equals(workingProcedure)){ - damageSelectWrapper.eq(Damage::getWorkingProcedure,workingProcedure); + if (!"0".equals(workingProcedure)) { + damageSelectWrapper.eq(Damage::getWorkingProcedure, workingProcedure); } List<Damage> damageList = baseMapper.selectList(damageSelectWrapper); @@ -66,116 +66,23 @@ * 鎻愪氦鎶ュ伐 */ @Override - public void submitDamage(List<Damage> damageList){ - Map<String, Map<String, Map<String, Map<String, List<Damage>>>>> resultMap = damageList.stream() - .collect(Collectors.groupingBy( - Damage::getProcessId, - Collectors.groupingBy( - Damage::getWorkingProcedure, - Collectors.groupingBy( - Damage::getDeviceName, - Collectors.groupingBy(Damage::getTeamsGroupsName) - ) - ) - )); - // 閬嶅巻 resultMap - for (Map.Entry<String, Map<String, Map<String, Map<String, List<Damage>>>>> processEntry : resultMap.entrySet()) { - String processId = processEntry.getKey(); - System.out.println("ProcessId: " + processId); + public void submitDamage(List<Damage> damageList) { + Map<String, List<Damage>> firstMap = damageList.stream().collect(Collectors.groupingBy(e -> e.getProcessId() + ":" + + e.getWorkingProcedure() + ":" + e.getDeviceName() + ":" + e.getTeamsGroupsName())); - // 鑾峰彇绗簩灞傜殑 Map锛屾寜 workingProcedure 鍒嗙粍鐨勭粨鏋� - Map<String, Map<String, Map<String, List<Damage>>>> workingProcedureMap = processEntry.getValue(); + for (Map.Entry<String, List<Damage>> entry : firstMap.entrySet()) { + String key = entry.getKey(); + List<Damage> damages = entry.getValue(); - // 閬嶅巻 workingProcedureMap - for (Map.Entry<String, Map<String, Map<String, List<Damage>>>> workingProcedureEntry : workingProcedureMap.entrySet()) { - String workingProcedure = workingProcedureEntry.getKey(); - System.out.println(" WorkingProcedure: " + workingProcedure); + System.out.println("Key: " + key); - // 鑾峰彇绗笁灞傜殑 Map锛屾寜 deviceName 鍒嗙粍鐨勭粨鏋� - Map<String, Map<String, List<Damage>>> deviceNameMap = workingProcedureEntry.getValue(); + Map<String, List<Damage>> secondMap = damageList.stream().collect(Collectors.groupingBy(e -> e.getProcessId() + ":" + + e.getWorkingProcedure() + ":" + e.getDeviceName() + ":" + e.getTeamsGroupsName())); - // 閬嶅巻 deviceNameMap - for (Map.Entry<String, Map<String, List<Damage>>> deviceNameEntry : deviceNameMap.entrySet()) { - String deviceName = deviceNameEntry.getKey(); - System.out.println(" DeviceName: " + deviceName); + for (Map.Entry<String, List<Damage>> entrys : secondMap.entrySet()) { - // 鑾峰彇绗洓灞傜殑 Map锛屾寜 teamsGroupsName 鍒嗙粍鐨勭粨鏋� - Map<String, List<Damage>> teamsGroupsNameMap = deviceNameEntry.getValue(); - - // 閬嶅巻 teamsGroupsNameMap - for (Map.Entry<String, List<Damage>> teamsGroupsNameEntry : teamsGroupsNameMap.entrySet()) { - String teamsGroupsName = teamsGroupsNameEntry.getKey(); - System.out.println(" TeamsGroupsName: " + teamsGroupsName); - - // 鑾峰彇 Damage 鍒楄〃 - List<Damage> damageListForTeamsGroupsName = teamsGroupsNameEntry.getValue(); - //鎶ュ伐涓昏〃鏁版嵁 - ReportingWork reportingWork=new ReportingWork(); - reportingWork.setProcessId(processId); - reportingWork.setThisProcess(workingProcedure); - reportingWork.setDeviceName(deviceName); - reportingWork.setTeamsGroupsName(teamsGroupsName); - - Map<Integer, Map<Integer, Map<String, List<Damage>>>> groupedByOrderTechBreakage = damageListForTeamsGroupsName.stream() - .map(damage -> Optional.ofNullable(damage)) // 浣跨敤Optional澶勭悊鍙兘涓簄ull鐨勫厓绱� - .filter(Optional::isPresent) // 杩囨护鎺夌┖鐨凮ptional - .map(Optional::get) // 鑾峰彇闈炵┖鐨凞amage瀵硅薄 - .collect(Collectors.groupingBy( - damage -> Optional.ofNullable(damage.getOrderNumber()).orElse(0), // 浣跨敤orElse璁剧疆榛樿鍊硷紝浠ュ鐞唍ull鍊� - Collectors.groupingBy( - damage -> Optional.ofNullable(damage.getTechnologyNumber()).orElse(0), // 鍚屾牱澶勭悊technologyNumber鍙兘涓簄ull鐨勬儏鍐� - Collectors.groupingBy( - damage -> Optional.ofNullable(damage.getBreakageType()).orElse("Unknown"), // 澶勭悊breakageType鍙兘涓簄ull鐨勬儏鍐� - Collectors.toList() - ) - ) - )); - - // 閬嶅巻 groupedByOrderTechBreakage - for (Map.Entry<Integer, Map<Integer, Map<String, List<Damage>>>> orderEntry : groupedByOrderTechBreakage.entrySet()) { - Integer orderNumber = orderEntry.getKey(); - System.out.println(" OrderNumber: " + orderNumber); - - // 鑾峰彇绗簩灞傜殑 Map锛屾寜 technologyNumber 鍒嗙粍鐨勭粨鏋� - Map<Integer, Map<String, List<Damage>>> technologyNumberMap = orderEntry.getValue(); - - // 閬嶅巻 technologyNumberMap - for (Map.Entry<Integer, Map<String, List<Damage>>> technologyEntry : technologyNumberMap.entrySet()) { - Integer technologyNumber = technologyEntry.getKey(); - System.out.println(" TechnologyNumber: " + technologyNumber); - - // 鑾峰彇绗笁灞傜殑 Map锛屾寜 breakageType 鍒嗙粍鐨勭粨鏋� - Map<String, List<Damage>> breakageTypeMap = technologyEntry.getValue(); - - // 閬嶅巻 breakageTypeMap - for (Map.Entry<String, List<Damage>> breakageTypeEntry : breakageTypeMap.entrySet()) { - String breakageType = breakageTypeEntry.getKey(); - System.out.println(" BreakageType: " + breakageType); - - - // 鑾峰彇 Damage 鍒楄〃 - List<Damage> damageListForBreakageType = breakageTypeEntry.getValue(); - int completedQuantity=0; - int breakageQuantity=0; - // 閬嶅巻 Damage 鍒楄〃 - for (Damage damage : damageListForBreakageType) { - // 鎵撳嵃鎴栧鐞嗘瘡涓� Damage 瀵硅薄 - System.out.println(" Damage: " + damage.toString()); - if(damage.getType()==1){ - completedQuantity+=1; - }else if(damage.getType()==2){ - breakageQuantity+=1; - } - } - } - } - } - } - } } } - - } @@ -184,26 +91,26 @@ * 娣诲姞鎶ュ伐淇℃伅 */ @Override - public void insertDamage(Damage damage){ - LambdaQueryWrapper<GlassInfo> glassInfoSelectWrapper=new LambdaQueryWrapper<>(); - glassInfoSelectWrapper.eq(GlassInfo::getGlassId,damage.getGlassId()); - GlassInfo glassInfo=glassInfoMapper.selectOne(glassInfoSelectWrapper); + public void insertDamage(Damage damage) { + LambdaQueryWrapper<GlassInfo> glassInfoSelectWrapper = new LambdaQueryWrapper<>(); + glassInfoSelectWrapper.eq(GlassInfo::getGlassId, damage.getGlassId()); + GlassInfo glassInfo = glassInfoMapper.selectOne(glassInfoSelectWrapper); BeanUtils.copyProperties(glassInfo, damage); - LambdaQueryWrapper<WorkAssignment> workAssignmentSelectWrapper=new LambdaQueryWrapper<>(); + LambdaQueryWrapper<WorkAssignment> workAssignmentSelectWrapper = new LambdaQueryWrapper<>(); workAssignmentSelectWrapper - .eq(WorkAssignment::getLine,damage.getLine()) - .eq(WorkAssignment::getWorkProcesses,damage.getWorkingProcedure()); - WorkAssignment workAssignment=workAssignmentMapper.selectOne(workAssignmentSelectWrapper); - if(workAssignment!=null){ + .eq(WorkAssignment::getLine, damage.getLine()) + .eq(WorkAssignment::getWorkProcesses, damage.getWorkingProcedure()); + WorkAssignment workAssignment = workAssignmentMapper.selectOne(workAssignmentSelectWrapper); + if (workAssignment != null) { damage.setTeamsGroupsName(workAssignment.getTeamsGroupsName()); damage.setDeviceName(workAssignment.getDeviceName()); - damage.setProcessId(glassInfo.getFlowCardId()); - damage.setOrderNumber(glassInfo.getGlassType()); - damage.setTechnologyNumber(glassInfo.getLayer()); - damage.setDamageTime(Timestamp.valueOf(LocalDateTime.now())); - damage.setType(2); - baseMapper.insert(damage); } + damage.setProcessId(glassInfo.getFlowCardId()); + damage.setOrderNumber(glassInfo.getGlassType()); + damage.setTechnologyNumber(glassInfo.getLayer()); + damage.setDamageTime(Timestamp.valueOf(LocalDateTime.now())); + damage.setType(2); + baseMapper.insert(damage); } } -- Gitblit v1.8.0