| | |
| | | package com.qianwen.smartman.modules.fms.service.impl; |
| | | |
| | | import cn.hutool.core.collection.CollectionUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import java.lang.invoke.SerializedLambda; |
| | | import java.util.Collections; |
| | | import java.util.Comparator; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Objects; |
| | | import java.util.stream.Collectors; |
| | | import com.qianwen.smartman.common.cache.RegionCache; |
| | | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.qianwen.core.mp.support.Condition; |
| | | import com.qianwen.core.mp.support.Query; |
| | | import com.qianwen.smartman.modules.fms.convert.FmsOrderConvert; |
| | |
| | | import com.qianwen.smartman.modules.fms.vo.FmsProducePartVO; |
| | | import com.qianwen.smartman.modules.fms.vo.FmsProduceProcessVO; |
| | | import com.qianwen.smartman.modules.fms.vo.FmsProduceQueryVO; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import cn.hutool.core.collection.CollectionUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | |
| | | @Service |
| | | /* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/fms/service/impl/FmsProductionStatisticsServiceImpl.class */ |
| | |
| | | private final IFmsOrderProcessFixtureService fmsOrderProcessFixtureService; |
| | | private final FmsWorkStationRecordMapper fmsWorkStationRecordMapper; |
| | | private final FmsRealTimeTrayServiceImpl fmsRealTimeTrayService; |
| | | |
| | | private static /* synthetic */ Object $deserializeLambda$(SerializedLambda lambda) { |
| | | String implMethodName = lambda.getImplMethodName(); |
| | | boolean z = true; |
| | | switch (implMethodName.hashCode()) { |
| | | case -2132400570: |
| | | if (implMethodName.equals("getProductCode")) { |
| | | z = false; |
| | | break; |
| | | } |
| | | break; |
| | | case -1335731856: |
| | | if (implMethodName.equals("getPlanStartTime")) { |
| | | z = true; |
| | | break; |
| | | } |
| | | break; |
| | | case -761264846: |
| | | if (implMethodName.equals("getOrderProcessId")) { |
| | | z = true; |
| | | break; |
| | | } |
| | | break; |
| | | case -520385111: |
| | | if (implMethodName.equals("getPlanEndTime")) { |
| | | z = true; |
| | | break; |
| | | } |
| | | break; |
| | | case -170250029: |
| | | if (implMethodName.equals("getOrderId")) { |
| | | z = true; |
| | | break; |
| | | } |
| | | break; |
| | | case -75622813: |
| | | if (implMethodName.equals("getCode")) { |
| | | z = true; |
| | | break; |
| | | } |
| | | break; |
| | | case 637897077: |
| | | if (implMethodName.equals("getComponentsNumber")) { |
| | | z = true; |
| | | break; |
| | | } |
| | | break; |
| | | case 912439066: |
| | | if (implMethodName.equals("getPriority")) { |
| | | z = true; |
| | | break; |
| | | } |
| | | break; |
| | | } |
| | | switch (z) { |
| | | case false: |
| | | if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/fms/entity/FmsOrder") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) { |
| | | return (v0) -> { |
| | | return v0.getProductCode(); |
| | | }; |
| | | } |
| | | break; |
| | | case true: |
| | | if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/fms/entity/FmsRealTimeTray") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) { |
| | | return (v0) -> { |
| | | return v0.getComponentsNumber(); |
| | | }; |
| | | } |
| | | break; |
| | | case true: |
| | | if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/fms/entity/FmsOrder") && lambda.getImplMethodSignature().equals("()Ljava/util/Date;")) { |
| | | return (v0) -> { |
| | | return v0.getPlanStartTime(); |
| | | }; |
| | | } |
| | | if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/fms/entity/FmsOrder") && lambda.getImplMethodSignature().equals("()Ljava/util/Date;")) { |
| | | return (v0) -> { |
| | | return v0.getPlanStartTime(); |
| | | }; |
| | | } |
| | | break; |
| | | case true: |
| | | if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/fms/entity/FmsOrder") && lambda.getImplMethodSignature().equals("()Ljava/util/Date;")) { |
| | | return (v0) -> { |
| | | return v0.getPlanEndTime(); |
| | | }; |
| | | } |
| | | break; |
| | | case true: |
| | | if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/fms/entity/FmsOrderProcessTool") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) { |
| | | return (v0) -> { |
| | | return v0.getOrderProcessId(); |
| | | }; |
| | | } |
| | | if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/fms/entity/FmsOrderProcessFixture") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) { |
| | | return (v0) -> { |
| | | return v0.getOrderProcessId(); |
| | | }; |
| | | } |
| | | if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/fms/entity/FmsRealTimeTray") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) { |
| | | return (v0) -> { |
| | | return v0.getOrderProcessId(); |
| | | }; |
| | | } |
| | | break; |
| | | case RegionCache.VILLAGE_LEVEL /* 5 */: |
| | | if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/fms/entity/FmsOrder") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) { |
| | | return (v0) -> { |
| | | return v0.getPriority(); |
| | | }; |
| | | } |
| | | break; |
| | | case true: |
| | | if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/fms/entity/FmsOrderProcess") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) { |
| | | return (v0) -> { |
| | | return v0.getOrderId(); |
| | | }; |
| | | } |
| | | break; |
| | | case true: |
| | | if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/fms/entity/FmsOrder") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) { |
| | | return (v0) -> { |
| | | return v0.getCode(); |
| | | }; |
| | | } |
| | | break; |
| | | } |
| | | throw new IllegalArgumentException("Invalid lambda deserialization"); |
| | | } |
| | | |
| | | public FmsProductionStatisticsServiceImpl(final IFmsOrderService fmsOrderService, final IFmsOrderProcessService fmsOrderProcessService, final IFmsOrderProcessToolService fmsOrderProcessToolService, final IFmsOrderProcessFixtureService fmsOrderProcessFixtureService, final FmsWorkStationRecordMapper fmsWorkStationRecordMapper, final FmsRealTimeTrayServiceImpl fmsRealTimeTrayService) { |
| | | this.fmsOrderService = fmsOrderService; |
| | |
| | | public IPage<FmsProduceOrderVO> orderPage(Query query, FmsProduceQueryVO filter) { |
| | | IPage<FmsOrder> page = Condition.getPage(query); |
| | | String code = filter.getCode(); |
| | | LambdaQueryWrapper<FmsOrder> wrapper = Wrappers.<FmsOrder>lambdaQuery().likeRight(StrUtil.isNotEmpty(code), FmsOrder::getCode, code) |
| | | .or().likeRight(StrUtil.isNotEmpty(code), FmsOrder::getProductCode, code) |
| | | .between((StrUtil.isNotEmpty(filter.getPlanStartTimeBegin()) && StrUtil.isNotEmpty(filter.getPlanStartTimeEnd())) |
| | | , FmsOrder::getPlanStartTime, filter.getPlanStartTimeBegin(), filter.getPlanStartTimeEnd()) |
| | | .between((StrUtil.isNotEmpty(filter.getPlanEndTimeBegin()) && StrUtil.isNotEmpty(filter.getPlanEndTimeEnd())), FmsOrder::getPlanEndTime, filter.getPlanEndTimeBegin(), filter.getPlanEndTimeEnd()); |
| | | /* |
| | | Wrapper wrapper = (LambdaQueryWrapper) ((LambdaQueryWrapper) Wrappers.lambdaQuery().likeRight(StrUtil.isNotEmpty(code), (v0) -> { |
| | | return v0.getCode(); |
| | | }, code).or()).likeRight(StrUtil.isNotEmpty(code), (v0) -> { |
| | |
| | | return v0.getPlanStartTime(); |
| | | }, filter.getPlanStartTimeBegin(), filter.getPlanStartTimeEnd()).between(StrUtil.isNotEmpty(filter.getPlanEndTimeBegin()) && StrUtil.isNotEmpty(filter.getPlanEndTimeEnd()), (v0) -> { |
| | | return v0.getPlanEndTime(); |
| | | }, filter.getPlanEndTimeBegin(), filter.getPlanEndTimeEnd()); |
| | | }, filter.getPlanEndTimeBegin(), filter.getPlanEndTimeEnd());*/ |
| | | sort(filter.getSort(), wrapper); |
| | | IPage<FmsOrder> resPage = this.fmsOrderService.page(page, wrapper); |
| | | return FmsOrderConvert.INSTANCE.convertToProduceVO(resPage); |
| | |
| | | if (Objects.isNull(fmsOrder)) { |
| | | return FmsProduceProcessVO.builder().build(); |
| | | } |
| | | List<FmsOrderProcess> fmsOrderProcesses = this.fmsOrderProcessService.list(Wrappers.<FmsOrderProcess>lambdaQuery().eq(FmsOrderProcess::getOrderId, orderId)); |
| | | /* |
| | | List<FmsOrderProcess> fmsOrderProcesses = this.fmsOrderProcessService.list((Wrapper) Wrappers.lambdaQuery().eq((v0) -> { |
| | | return v0.getOrderId(); |
| | | }, orderId)); |
| | | }, orderId));*/ |
| | | if (CollectionUtils.isEmpty(fmsOrderProcesses)) { |
| | | return FmsProduceProcessVO.builder().build(); |
| | | } |
| | | List<FmsOrderProcessVO> resultProcess = FmsOrderProcessConvert.INSTANCE.convert(fmsOrderProcesses); |
| | | List<Long> processIds = (List) fmsOrderProcesses.parallelStream().map((v0) -> { |
| | | List<Long> processIds = fmsOrderProcesses.parallelStream().map((v0) -> { |
| | | return v0.getId(); |
| | | }).collect(Collectors.toList()); |
| | | |
| | | List<FmsOrderProcessTool> orderProcessTools = this.fmsOrderProcessToolService.list(Wrappers.<FmsOrderProcessTool>lambdaQuery().in(FmsOrderProcessTool::getOrderProcessId, processIds)); |
| | | /* |
| | | List<FmsOrderProcessTool> orderProcessTools = this.fmsOrderProcessToolService.list((Wrapper) Wrappers.lambdaQuery().in((v0) -> { |
| | | return v0.getOrderProcessId(); |
| | | }, processIds)); |
| | | Map<Long, List<FmsOrderProcessTool>> toolsMap = (Map) orderProcessTools.stream().collect(Collectors.groupingBy((v0) -> { |
| | | }, processIds));*/ |
| | | Map<Long, List<FmsOrderProcessTool>> toolsMap = orderProcessTools.stream().collect(Collectors.groupingBy((v0) -> { |
| | | return v0.getOrderProcessId(); |
| | | })); |
| | | List<FmsOrderProcessFixture> processFixtures = this.fmsOrderProcessFixtureService.list(Wrappers.<FmsOrderProcessFixture>lambdaQuery().in(FmsOrderProcessFixture::getOrderProcessId, processIds)); |
| | | |
| | | /* |
| | | List<FmsOrderProcessFixture> processFixtures = this.fmsOrderProcessFixtureService.list((Wrapper) Wrappers.lambdaQuery().in((v0) -> { |
| | | return v0.getOrderProcessId(); |
| | | }, processIds)); |
| | | Map<Long, List<FmsOrderProcessFixture>> fixturesMap = (Map) processFixtures.stream().collect(Collectors.groupingBy((v0) -> { |
| | | }, processIds));*/ |
| | | Map<Long, List<FmsOrderProcessFixture>> fixturesMap =processFixtures.stream().collect(Collectors.groupingBy((v0) -> { |
| | | return v0.getOrderProcessId(); |
| | | })); |
| | | resultProcess.forEach(process -> { |
| | | List<FmsOrderProcessTool> toolList = (List) toolsMap.get(process.getId()); |
| | | List<FmsOrderProcessTool> toolList = toolsMap.get(process.getId()); |
| | | if (CollectionUtil.isNotEmpty(toolList)) { |
| | | List<FmsOrderProcessToolVO> fmsOrderProcessToolVOS = FmsOrderProcessToolConvert.INSTANCE.convert(toolList); |
| | | process.setToolList(fmsOrderProcessToolVOS); |
| | |
| | | if (CollectionUtil.isEmpty(produceOrderPartList)) { |
| | | return Collections.emptyList(); |
| | | } |
| | | Map<String, List<FmsProducePartDTO>> partList = (Map) produceOrderPartList.stream().collect(Collectors.groupingBy((v0) -> { |
| | | Map<String, List<FmsProducePartDTO>> partList = produceOrderPartList.stream().collect(Collectors.groupingBy((v0) -> { |
| | | return v0.getPartCode(); |
| | | })); |
| | | partList.forEach(partCode, parts -> { |
| | | partList.forEach((partCode, parts) -> { |
| | | parts = parts.stream().sorted(Comparator.comparing(FmsProducePartDTO::getStartTime, Comparator.reverseOrder())).collect(Collectors.toList()); |
| | | /* |
| | | List parts = (List) parts.stream().sorted(Comparator.comparing((v0) -> { |
| | | return v0.getStartTime(); |
| | | }, Comparator.reverseOrder())).collect(Collectors.toList()); |
| | | FmsProducePartDTO fmsProducePartDTO = (FmsProducePartDTO) parts.get(0); |
| | | }, Comparator.reverseOrder())).collect(Collectors.toList());*/ |
| | | FmsProducePartDTO fmsProducePartDTO = parts.get(0); |
| | | FmsRealTimeTray fmsRealTimeTray = this.fmsRealTimeTrayService.getOne(Wrappers.<FmsRealTimeTray>lambdaQuery().eq(FmsRealTimeTray::getOrderProcessId, fmsProducePartDTO.getOrderProcessId()).eq(FmsRealTimeTray::getComponentsNumber, fmsProducePartDTO.getPartCode())); |
| | | /* |
| | | FmsRealTimeTray fmsRealTimeTray = (FmsRealTimeTray) this.fmsRealTimeTrayService.getOne((Wrapper) ((LambdaQueryWrapper) Wrappers.lambdaQuery().eq((v0) -> { |
| | | return v0.getOrderProcessId(); |
| | | }, fmsProducePartDTO.getOrderProcessId())).eq((v0) -> { |
| | | return v0.getComponentsNumber(); |
| | | }, fmsProducePartDTO.getPartCode())); |
| | | }, fmsProducePartDTO.getPartCode()));*/ |
| | | if (Objects.isNull(fmsRealTimeTray) && parts.size() == 1) { |
| | | parts.forEach(p -> { |
| | | p.setPartType(null); |