yangys
2024-03-29 4b479381a65bd3ef526cb92631d3550f2aa17459
smart-man-boot/src/main/java/com/qianwen/smartman/modules/fms/service/impl/FmsProductionStatisticsServiceImpl.java
@@ -1,20 +1,18 @@
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;
@@ -43,7 +41,9 @@
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 */
@@ -54,135 +54,6 @@
    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;
@@ -197,6 +68,12 @@
    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) -> {
@@ -205,7 +82,7 @@
            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);
@@ -227,30 +104,38 @@
        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);
@@ -270,19 +155,23 @@
        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);