yangys
2024-03-29 4b479381a65bd3ef526cb92631d3550f2aa17459
smart-man-boot/src/main/java/com/qianwen/smartman/modules/fms/service/impl/FmsOrderServiceImpl.java
@@ -1,20 +1,9 @@
package com.qianwen.smartman.modules.fms.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import java.lang.invoke.SerializedLambda;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.List;
@@ -23,24 +12,32 @@
import java.util.Optional;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.qianwen.smartman.common.cache.RegionCache;
import com.qianwen.smartman.common.constant.DateConstant;
import com.qianwen.smartman.common.constant.FmsConstant;
import com.qianwen.smartman.common.utils.ExtraLambdaQueryWrapper;
import com.qianwen.smartman.common.utils.Lambda;
import com.qianwen.smartman.common.utils.ListUtils;
import com.qianwen.smartman.common.utils.MessageUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import com.qianwen.core.log.exception.ServiceException;
import com.qianwen.core.mp.base.BaseServiceImpl;
import com.qianwen.core.mp.support.Condition;
import com.qianwen.core.mp.support.Query;
import com.qianwen.core.tool.utils.DateUtil;
import com.qianwen.core.tool.utils.Func;
import com.qianwen.smartman.common.constant.DateConstant;
import com.qianwen.smartman.common.constant.FmsConstant;
import com.qianwen.smartman.common.utils.Lambda;
import com.qianwen.smartman.common.utils.ListUtils;
import com.qianwen.smartman.common.utils.MessageUtils;
import com.qianwen.smartman.modules.cps.convert.CraftRoutingConvert;
import com.qianwen.smartman.modules.cps.dto.CraftVersionDTO;
import com.qianwen.smartman.modules.cps.entity.CommonGroup;
import com.qianwen.smartman.modules.cps.entity.CraftVersionLine;
import com.qianwen.smartman.modules.cps.entity.ProductionCraftProcess;
import com.qianwen.smartman.modules.cps.entity.ProductionCraftProcessRelatedTool;
@@ -85,8 +82,8 @@
import com.qianwen.smartman.modules.system.service.IDictService;
import com.qianwen.smartman.modules.system.service.IParamService;
import com.qianwen.smartman.modules.tpm.enums.MetaTypeEnum;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import cn.hutool.core.bean.BeanUtil;
@Service
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/fms/service/impl/FmsOrderServiceImpl.class */
@@ -108,342 +105,6 @@
    private final String[] emptyRange = {"", ""};
    private final IFmsInstructionRecordService fmsInstructionRecordService;
    private final IParamService paramService;
    private static /* synthetic */ Object $deserializeLambda$(SerializedLambda lambda) {
        String implMethodName = lambda.getImplMethodName();
        boolean z = true;
        switch (implMethodName.hashCode()) {
            case -1416707747:
                if (implMethodName.equals("getVersionId")) {
                    z = true;
                    break;
                }
                break;
            case -1335731856:
                if (implMethodName.equals("getPlanStartTime")) {
                    z = true;
                    break;
                }
                break;
            case -1291082392:
                if (implMethodName.equals("getVersionProcessId")) {
                    z = true;
                    break;
                }
                break;
            case -1282243624:
                if (implMethodName.equals("getWorkStationName")) {
                    z = true;
                    break;
                }
                break;
            case -927447111:
                if (implMethodName.equals("getTrayCode")) {
                    z = false;
                    break;
                }
                break;
            case -761264846:
                if (implMethodName.equals("getOrderProcessId")) {
                    z = true;
                    break;
                }
                break;
            case -570382830:
                if (implMethodName.equals("getEndTime")) {
                    z = true;
                    break;
                }
                break;
            case -520385111:
                if (implMethodName.equals("getPlanEndTime")) {
                    z = true;
                    break;
                }
                break;
            case -401169166:
                if (implMethodName.equals("getOrderType")) {
                    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 -75145708:
                if (implMethodName.equals("getSort")) {
                    z = true;
                    break;
                }
                break;
            case 98245393:
                if (implMethodName.equals("getId")) {
                    z = true;
                    break;
                }
                break;
            case 989812650:
                if (implMethodName.equals("getOrderStatus")) {
                    z = true;
                    break;
                }
                break;
            case 1446708648:
                if (implMethodName.equals("getWorkStationId")) {
                    z = true;
                    break;
                }
                break;
            case 1841214932:
                if (implMethodName.equals("getStartUpTime")) {
                    z = true;
                    break;
                }
                break;
            case 1953270362:
                if (implMethodName.equals("getFixId")) {
                    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/FmsOrderProcessFixture") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
                    return (v0) -> {
                        return v0.getTrayCode();
                    };
                }
                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/String;")) {
                    return (v0) -> {
                        return v0.getTrayCode();
                    };
                }
                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/cps/entity/ProductionCraftProcessRelatedTool") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getVersionProcessId();
                    };
                }
                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/Integer;")) {
                    return (v0) -> {
                        return v0.getOrderType();
                    };
                }
                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();
                    };
                }
                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();
                    };
                }
                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.getOrderId();
                    };
                }
                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/cps/entity/CommonGroup") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getId();
                    };
                }
                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/core/mp/base/BaseEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getId();
                    };
                }
                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/core/mp/base/BaseEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getId();
                    };
                }
                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/core/mp/base/BaseEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getId();
                    };
                }
                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/core/mp/base/BaseEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getId();
                    };
                }
                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/core/mp/base/BaseEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getId();
                    };
                }
                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/core/mp/base/BaseEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getId();
                    };
                }
                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/core/mp/base/BaseEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getId();
                    };
                }
                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/core/mp/base/BaseEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getId();
                    };
                }
                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/FmsOrderProcess") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
                    return (v0) -> {
                        return v0.getWorkStationName();
                    };
                }
                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.getStartUpTime();
                    };
                }
                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.getStartUpTime();
                    };
                }
                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/Integer;")) {
                    return (v0) -> {
                        return v0.getSort();
                    };
                }
                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();
                    };
                }
                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/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/FmsOrderProcessTool") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getOrderProcessId();
                    };
                }
                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.getEndTime();
                    };
                }
                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/cps/entity/CraftVersionLine") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getVersionId();
                    };
                }
                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/String;")) {
                    return (v0) -> {
                        return v0.getWorkStationId();
                    };
                }
                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/Integer;")) {
                    return (v0) -> {
                        return v0.getOrderStatus();
                    };
                }
                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.getOrderStatus();
                    };
                }
                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.getOrderStatus();
                    };
                }
                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.getOrderStatus();
                    };
                }
                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.getOrderStatus();
                    };
                }
                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.getOrderStatus();
                    };
                }
                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.getOrderStatus();
                    };
                }
                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.getOrderStatus();
                    };
                }
                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/cps/entity/TrayFixture") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getFixId();
                    };
                }
                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 FmsOrderServiceImpl(final IDictService dictService, final ICraftRoutingService craftRoutingService, final IFmsOrderProcessService fmsOrderProcessService, final IProductionCraftProcessService productionCraftProcessService, final IProductionCraftProcessRelatedFixtureService productionCraftProcessRelatedFixtureService, final IProductionCraftProcessRelatedToolService productionCraftProcessRelatedToolService, final IFmsOrderProcessFixtureService fmsOrderProcessFixtureService, final IFmsOrderProcessToolService fmsOrderProcessToolService, final ICodeGeneratorService codeGeneratorService, final ITrayFixtureService trayFixtureService, final ITrayService trayService, final ICraftVersionLineService craftVersionLineService, final ICommonGroupService commonGroupService, final IFmsInstructionRecordService fmsInstructionRecordService, final IParamService paramService) {
        this.dictService = dictService;
@@ -483,6 +144,13 @@
            endTimeDateBegin = DateUtil.parse(endTimeRange[0], DateConstant.PATTERN_DATE_TIME);
            endTimeDateFinish = DateUtil.parse(endTimeRange[1], DateConstant.PATTERN_DATE_TIME);
        }
        LambdaQueryWrapper<FmsOrder> fmsOrderLambdaQueryWrapper =Wrappers.<FmsOrder>lambdaQuery()
              .eq(Func.isNotEmpty(fmsOrderQueryVO.getOrderType()), FmsOrder::getOrderType, fmsOrderQueryVO.getOrderType())
              .between(Func.isNotEmpty(fmsOrderQueryVO.getPlanStartTime()), FmsOrder::getPlanStartTime, startTimeDateBegin, startTimeDateFinish)
              .between(Func.isNotEmpty(fmsOrderQueryVO.getPlanEndTime()), FmsOrder::getPlanEndTime, endTimeDateBegin, endTimeDateFinish)
              .likeRight(Func.isNotEmpty(fmsOrderQueryVO.getCode()), FmsOrder::getCode, fmsOrderQueryVO.getCode())
              .in(Func.isNotEmpty(fmsOrderQueryVO.getOrderStatus()), FmsOrder::getOrderStatus, Lists.newArrayList((Object[])Func.split(fmsOrderQueryVO.getOrderStatus(), ",")));
        /*
        LambdaQueryWrapper<FmsOrder> fmsOrderLambdaQueryWrapper = Wrappers.lambdaQuery().eq(Func.isNotEmpty(fmsOrderQueryVO.getOrderType()), (v0) -> {
            return v0.getOrderType();
        }, fmsOrderQueryVO.getOrderType()).between(Func.isNotEmpty(fmsOrderQueryVO.getPlanStartTime()), (v0) -> {
@@ -493,22 +161,22 @@
            return v0.getCode();
        }, fmsOrderQueryVO.getCode()).in(Func.isNotEmpty(fmsOrderQueryVO.getOrderStatus()), (v0) -> {
            return v0.getOrderStatus();
        }, Lists.newArrayList(Func.split(fmsOrderQueryVO.getOrderStatus(), ",")));
        }, Lists.newArrayList(Func.split(fmsOrderQueryVO.getOrderStatus(), ",")));*/
        IPage<FmsOrder> fmsOrderIPage = page(Condition.getPage(query), fmsOrderLambdaQueryWrapper);
        List<FmsOrderVO> fmsOrderVOList = wrapper(fmsOrderIPage.getRecords());
        Page page = new Page(fmsOrderIPage.getCurrent(), fmsOrderIPage.getSize(), fmsOrderIPage.getTotal());
        Page<FmsOrderVO> page = new Page<>(fmsOrderIPage.getCurrent(), fmsOrderIPage.getSize(), fmsOrderIPage.getTotal());
        page.setRecords(fmsOrderVOList);
        return page;
    }
    public List<FmsOrderVO> wrapper(List<FmsOrder> orders) {
        List<FmsOrderVO> fmsOrderVOList = FmsOrderConvert.INSTANCE.convert(orders);
        Map<String, Dict> fmsOrderTypeMap = (Map) this.dictService.getList(FmsOrderEnum.FMS_ORDER_TYPE.getCode()).stream().collect(Collectors.toMap((v0) -> {
        Map<String, Dict> fmsOrderTypeMap = this.dictService.getList(FmsOrderEnum.FMS_ORDER_TYPE.getCode()).stream().collect(Collectors.toMap((v0) -> {
            return v0.getDictKey();
        }, v -> {
            return v;
        }));
        Map<String, Dict> fmsOrderStatusMap = (Map) this.dictService.getList(FmsOrderEnum.FMS_ORDER_STATUS.getCode()).stream().collect(Collectors.toMap((v0) -> {
        Map<String, Dict> fmsOrderStatusMap = this.dictService.getList(FmsOrderEnum.FMS_ORDER_STATUS.getCode()).stream().collect(Collectors.toMap((v0) -> {
            return v0.getDictKey();
        }, v2 -> {
            return v2;
@@ -554,13 +222,18 @@
    public List<CraftRoutingDetailVO> filterCraft(CraftRoutingDetailVO craftRoutingDetailVO) {
        List<CraftRoutingDetailVO> craftRoutingDetailVOS = new ArrayList<>();
        List<CraftVersionDTO> versionList = craftRoutingDetailVO.getDtos();
        List<CraftVersionDTO> versionDTOS = (List) versionList.stream().filter(versionDTO -> {
        List<CraftVersionDTO> versionDTOS = versionList.stream().filter(versionDTO -> {
           List<CraftVersionLine> versionLines = this.craftVersionLineService.list(Lambda.eq(CraftVersionLine::getVersionId, versionDTO.getId()));
            List<Long> groupIds = versionLines.stream().map(CraftVersionLine::getGroupId).collect(Collectors.toList());
           /*
            List<CraftVersionLine> versionLines = this.craftVersionLineService.list(Lambda.eq((v0) -> {
                return v0.getVersionId();
            }, versionDTO.getId()));
            List<Long> groupIds = (List) versionLines.stream().map((v0) -> {
                return v0.getGroupId();
            }).collect(Collectors.toList());
            */
            /*
            if (Func.isNotEmpty(groupIds)) {
                return this.commonGroupService.list((Wrapper) Wrappers.query().lambda().in((v0) -> {
                    return v0.getId();
@@ -568,9 +241,12 @@
                    return Objects.equals(commonGroup.getGroupTag(), FmsOrderEnum.FMS_BELTLINE.getCode());
                });
            }
            return false;
            return false;*/
            return Func.isNotEmpty(groupIds) ? this.commonGroupService.list(Wrappers.<CommonGroup>query().lambda().in(CommonGroup::getId, groupIds)).stream().anyMatch(commonGroup -> {
                return Objects.equals(commonGroup.getGroupTag(), FmsOrderEnum.FMS_BELTLINE.getCode());
            }) : false;
        }).collect(Collectors.toList());
        craftRoutingDetailVO.setDtos((List) versionDTOS.stream().filter(versionDTO2 -> {
        craftRoutingDetailVO.setDtos(versionDTOS.stream().filter(versionDTO2 -> {
            return versionDTO2.getEditionStatus().equals(ProductionCraftStatusEnum.FINALIZED.getStatus());
        }).collect(Collectors.toList()));
        craftRoutingDetailVOS.add(craftRoutingDetailVO);
@@ -599,9 +275,11 @@
            return v0.getId();
        }, fmsOrder.getId()));
        ((FmsOrderMapper) this.baseMapper).updateById(fmsOrder);
        List<FmsOrderProcess> fmsOrderProcessList = this.fmsOrderProcessService.list(Wrappers.<FmsOrderProcess>query().lambda().eq(FmsOrderProcess::getOrderId, fmsOrderVO.getId()));
        /*
        List<FmsOrderProcess> fmsOrderProcessList = this.fmsOrderProcessService.list((Wrapper) Wrappers.query().lambda().eq((v0) -> {
            return v0.getOrderId();
        }, fmsOrderVO.getId()));
        }, fmsOrderVO.getId()));*/
        FmsOrderVO orderVO2 = wrapper(fmsOrder);
        FmsOrderDetailVO fmsOrderDetailVO2 = FmsOrderConvert.INSTANCE.convertToDetail(fmsOrder);
        fmsOrderDetailVO2.setOrderStatusLabel(orderVO2.getOrderStatusLabel());
@@ -615,12 +293,12 @@
        }, fmsOrderVO.getId()));
        this.fmsOrderProcessFixtureService.remove(Lambda.in((v0) -> {
            return v0.getOrderProcessId();
        }, (Collection) fmsOrderProcessList.stream().map((v0) -> {
        }, fmsOrderProcessList.stream().map((v0) -> {
            return v0.getId();
        }).collect(Collectors.toList())));
        this.fmsOrderProcessToolService.remove(Lambda.in((v0) -> {
            return v0.getOrderProcessId();
        }, (Collection) fmsOrderProcessList.stream().map((v0) -> {
        },  fmsOrderProcessList.stream().map((v0) -> {
            return v0.getId();
        }).collect(Collectors.toList())));
        return saveProcess(fmsOrder, fmsOrderDetailVO2, fmsOrderVO);
@@ -639,20 +317,14 @@
            fmsOrderProcessFixtureList.forEach(fmsOrderProcessFixture -> {
                fmsOrderProcessFixture.setOrderId(fmsOrder.getId());
                fmsOrderProcessFixture.setOrderProcessId(fmsOrderProcess.getId());
                TrayFixture trayFixture = (TrayFixture) this.trayFixtureService.getOne((Wrapper) Wrappers.query().lambda().eq((v0) -> {
                    return v0.getFixId();
                }, fmsOrderProcessFixture.getFixtureId()));
                Tray tray = (Tray) this.trayService.getOne((Wrapper) Wrappers.query().lambda().eq((v0) -> {
                    return v0.getId();
                }, trayFixture.getTrayId()));
                TrayFixture trayFixture = this.trayFixtureService.getOne(Wrappers.<TrayFixture>query().lambda().eq(TrayFixture::getFixId, fmsOrderProcessFixture.getFixtureId()));
                Tray tray = this.trayService.getOne( Wrappers.<Tray>query().lambda().eq(Tray::getId, trayFixture.getTrayId()));
                fmsOrderProcessFixture.setTrayId(tray.getId());
                fmsOrderProcessFixture.setTrayCode(tray.getCode());
            });
            this.fmsOrderProcessFixtureService.saveBatch(fmsOrderProcessFixtureList);
            List<FmsOrderProcessTool> fmsOrderProcessToolList = Lists.newArrayList();
            List<ProductionCraftProcessRelatedTool> productionCraftProcessRelatedToolList = this.productionCraftProcessRelatedToolService.list((Wrapper) Wrappers.lambdaQuery().eq((v0) -> {
                return v0.getVersionProcessId();
            }, productionCraftProcess.getId()));
            List<ProductionCraftProcessRelatedTool> productionCraftProcessRelatedToolList = this.productionCraftProcessRelatedToolService.list(Wrappers.<ProductionCraftProcessRelatedTool>lambdaQuery().eq(ProductionCraftProcessRelatedTool::getVersionProcessId, productionCraftProcess.getId()));
            productionCraftProcessRelatedToolList.forEach(x -> {
                FmsOrderProcessTool fmsOrderProcessTool = FmsOrderProcessToolConvert.INSTANCE.toolToConvert(x);
                fmsOrderProcessTool.setOrderProcessId(fmsOrderProcess.getId());
@@ -669,30 +341,44 @@
    public void saveWorkstation(FmsOrderDetailVO fmsOrderDetailVO) {
        List<FmsOrderProcess> processList = fmsOrderDetailVO.getProcessList();
        processList.forEach(fmsOrderProcess -> {
           this.fmsOrderProcessService.update(Wrappers.<FmsOrderProcess>update().lambda()
                 .eq(FmsOrderProcess::getId, fmsOrderProcess.getId())
                 .set(FmsOrderProcess::getWorkStationId, fmsOrderProcess.getWorkStationId())
                 .set(FmsOrderProcess::getWorkStationName, fmsOrderProcess.getWorkStationName()));
                 /*
            this.fmsOrderProcessService.update((Wrapper) ((LambdaUpdateWrapper) ((LambdaUpdateWrapper) Wrappers.update().lambda().eq((v0) -> {
                return v0.getId();
            }, fmsOrderProcess.getId())).set((v0) -> {
                return v0.getWorkStationId();
            }, fmsOrderProcess.getWorkStationId())).set((v0) -> {
                return v0.getWorkStationName();
            }, fmsOrderProcess.getWorkStationName()));
            }, fmsOrderProcess.getWorkStationName()));*/
        });
    }
    @Override // org.springblade.modules.fms.service.IFmsOrderService
    public FmsOrderStatusStatVO orderStatistics() {
       List<Map<String, Object>> statusList = listMaps(new QueryWrapper<FmsOrder>()
               .select(new String[] { Lambda.getName(FmsOrder::getOrderStatus), "count(1) as \"count\"" }).lambda()
               .groupBy(FmsOrder::getOrderStatus));
       /*
        List<Map<String, Object>> statusList = listMaps((Wrapper) new QueryWrapper().select(new String[]{Lambda.getName((v0) -> {
            return v0.getOrderStatus();
        }), "count(1) as \"count\""}).lambda().groupBy((v0) -> {
            return v0.getOrderStatus();
        }));
        }));*/
       long count = count(Lambda.eq(FmsOrder::getOrderStatus, Integer.valueOf(OrderStatusEnum.FINISHED.getValue())).isNotNull(FmsOrder::getOrderStatus)
               .between(FmsOrder::getEndTime, LocalDate.now(), LocalDateTime.now()));
       /*
        long count = count((Wrapper) ((ExtraLambdaQueryWrapper) Lambda.eq((v0) -> {
            return v0.getOrderStatus();
        }, Integer.valueOf(OrderStatusEnum.FINISHED.getValue())).isNotNull((v0) -> {
            return v0.getOrderStatus();
        })).between((v0) -> {
            return v0.getEndTime();
        }, LocalDate.now(), LocalDateTime.now()));
        }, LocalDate.now(), LocalDateTime.now()));*/
        FmsOrderStatusStatVO fmsOrderStatusStat = new FmsOrderStatusStatVO();
        fmsOrderStatusStat.setWaitPublish(getOrderStatData(statusList, OrderStatusEnum.WAIT_PUBLISH));
        fmsOrderStatusStat.setWaitMachine(getOrderStatData(statusList, OrderStatusEnum.WAIT_MACHINE));
@@ -714,7 +400,7 @@
    @Override // org.springblade.modules.fms.service.IFmsOrderService
    public List<FmsOrderProductionStatVO> productionStatistics(final String orderId) {
        List<Map<String, Object>> data = ((FmsOrderMapper) this.baseMapper).productionStatistics(orderId);
        return (List) data.stream().map(item -> {
        return data.stream().map(item -> {
            return (FmsOrderProductionStatVO) BeanUtil.mapToBean(item, FmsOrderProductionStatVO.class, true);
        }).collect(Collectors.toList());
    }
@@ -761,7 +447,7 @@
                throw new ServiceException(MessageUtils.message("fms.order.has.finish", new Object[0]));
            }
            List<FmsOrderProcessFixture> fixtures = this.fmsOrderProcessFixtureService.getListByOrderId(fmsOrder.getId());
            List<String> trayCodeList = (List) fixtures.stream().map((v0) -> {
            List<String> trayCodeList = fixtures.stream().map((v0) -> {
                return v0.getTrayCode();
            }).collect(Collectors.toList());
            List<FmsOrder> usingOrderList = getUsingOrderByTray(trayCodeList);
@@ -795,19 +481,23 @@
    @Transactional(rollbackFor = {Exception.class})
    public List<FmsOrderVO> startOrders(List<String> orderIds) {
        List<FmsOrderVO> result = Lists.newArrayList();
        List<FmsOrder> toBeStartList = list(Wrappers.<FmsOrder>lambdaQuery().in(FmsOrder::getId, orderIds));
        /*
        List<FmsOrder> toBeStartList = list((Wrapper) Wrappers.lambdaQuery().in((v0) -> {
            return v0.getId();
        }, orderIds));
        }, orderIds));*/
        List<Integer> statusEnumList = Arrays.asList(Integer.valueOf(OrderStatusEnum.WAIT_MACHINE.getValue()), Integer.valueOf(OrderStatusEnum.PAUSE.getValue()), Integer.valueOf(OrderStatusEnum.PAUSE_ING.getValue()));
        if (Func.isEmpty(toBeStartList)) {
            return FmsOrderConvert.INSTANCE.convert(toBeStartList);
        }
        log.info("初始工单:{}", orderIds);
        toBeStartList = toBeStartList.stream().filter(s -> statusEnumList.contains(s.getOrderStatus())).collect(Collectors.toList());
        /*
        List<FmsOrder> toBeStartList2 = (List) toBeStartList.stream().filter(s -> {
            return statusEnumList.contains(s.getOrderStatus());
        }).collect(Collectors.toList());
        }).collect(Collectors.toList());*/
        FmsOrder highestToBeOrder = null;
        List<FmsOrder> highList = (List) toBeStartList2.stream().filter(c -> {
        List<FmsOrder> highList = toBeStartList.stream().filter(c -> {
            return FmsConstant.MAX_PRIORITY.equals(c.getPriority());
        }).collect(Collectors.toList());
        if (Func.isNotEmpty(highList)) {
@@ -817,23 +507,31 @@
            highestToBeOrder = highList.get(0);
        }
        List<Integer> machStatus = Arrays.asList(Integer.valueOf(OrderStatusEnum.MACH_ING.getValue()), Integer.valueOf(OrderStatusEnum.PAUSE_ING.getValue()));
        List<String> toBeStartedOrderIds = (List) toBeStartList2.stream().map(s2 -> {
        List<String> toBeStartedOrderIds = toBeStartList.stream().map(s2 -> {
            return String.valueOf(s2.getId());
        }).collect(Collectors.toList());
        Map<Long, List<FmsOrderProcessFixture>> toBeStartedFixtureList = this.fmsOrderProcessFixtureService.getFmsOrderProcessFixtureList(Func.toLongList(toBeStartedOrderIds));
        List<FmsOrder> machOrders = list(Wrappers.<FmsOrder>lambdaQuery().in(FmsOrder::getOrderStatus, machStatus));
        /*
        List<FmsOrder> machOrders = list((Wrapper) Wrappers.lambdaQuery().in((v0) -> {
            return v0.getOrderStatus();
        }, machStatus));
        dealToBeStart(orderIds, toBeStartList2, toBeStartedFixtureList);
        }, machStatus));*/
        dealToBeStart(orderIds, toBeStartList, toBeStartedFixtureList);
        if (Func.isEmpty(machOrders)) {
           update(Wrappers.<FmsOrder>lambdaUpdate().in(Func.isNotEmpty(orderIds), FmsOrder::getId, Func.toLongList(orderIds))
                     .set(FmsOrder::getOrderStatus, Integer.valueOf(OrderStatusEnum.MACH_ING.getValue()))
                     .set(FmsOrder::getStartUpTime, LocalDateTime.now()));
           /*
            update((Wrapper) ((LambdaUpdateWrapper) Wrappers.lambdaUpdate().in(Func.isNotEmpty(orderIds), (v0) -> {
                return v0.getId();
            }, Func.toLongList(orderIds)).set((v0) -> {
                return v0.getOrderStatus();
            }, Integer.valueOf(OrderStatusEnum.MACH_ING.getValue()))).set((v0) -> {
                return v0.getStartUpTime();
            }, LocalDateTime.now()));
            toBeStartList2.forEach(x -> {
            }, LocalDateTime.now()));*/
           toBeStartList.forEach(x -> {
                FmsOrderVO fmsOrderVO = FmsOrderConvert.INSTANCE.convert(x);
                fmsOrderVO.setOrderStatus(OrderStatusEnum.MACH_ING.getValue() + "");
                result.add(fmsOrderVO);
@@ -842,7 +540,7 @@
        }
        log.info("过滤工单:{}", orderIds);
        FmsOrder highestExecutionOrder = null;
        List<FmsOrder> highestExecutionOrderList = (List) machOrders.stream().filter(c2 -> {
        List<FmsOrder> highestExecutionOrderList = machOrders.stream().filter(c2 -> {
            return FmsConstant.MAX_PRIORITY.equals(c2.getPriority());
        }).collect(Collectors.toList());
        if (Func.isNotEmpty(highestExecutionOrderList)) {
@@ -852,11 +550,11 @@
            if (highestExecutionOrder != null && !highestToBeOrder.getId().equals(highestExecutionOrder.getId())) {
                throw new ServiceException(MessageUtils.message("cps.fms.start.order.fail.has.zero.priority.to.do", new Object[0]));
            }
            dealInHasExecution(toBeStartedOrderIds, highestToBeOrder, toBeStartList2, machOrders, toBeStartedFixtureList);
            dealInHasExecution(toBeStartedOrderIds, highestToBeOrder, toBeStartList, machOrders, toBeStartedFixtureList);
        } else {
            dealOrder(orderIds, machOrders, toBeStartList2);
            dealOrder(orderIds, machOrders, toBeStartList);
        }
        toBeStartList2.forEach(x2 -> {
        toBeStartList.forEach(x2 -> {
            FmsOrderVO fmsOrderVO = FmsOrderConvert.INSTANCE.convert(x2);
            fmsOrderVO.setOrderStatus(OrderStatusEnum.MACH_ING.getValue() + "");
            result.add(fmsOrderVO);
@@ -868,7 +566,7 @@
        List<String> removeIds = new ArrayList<>();
        List<FmsOrderProcessFixture> processFixtureList = toBeStartedFixtureMap.get(highestOrder.getId());
        if (Func.isNotEmpty(processFixtureList)) {
            List<String> trayCodes = (List) processFixtureList.stream().map((v0) -> {
            List<String> trayCodes = processFixtureList.stream().map((v0) -> {
                return v0.getTrayCode();
            }).distinct().collect(Collectors.toList());
            List<FmsOrder> usingOrderList = getUsingOrderByTray(trayCodes);
@@ -882,7 +580,7 @@
            }
        }
        if (Func.isNotEmpty(removeIds)) {
            orderIds = (List) orderIds.stream().filter(s2 -> {
            orderIds = orderIds.stream().filter(s2 -> {
                return !removeIds.contains(s2);
            }).collect(Collectors.toList());
        }
@@ -892,60 +590,67 @@
    public void dealOrder(List<String> orderIds, List<FmsOrder> machOrders, List<FmsOrder> tobeStartList) {
        List<String> removeOrderIds = new ArrayList<>();
        if (Func.isNotEmpty(orderIds)) {
            List<Long> machOrderIds = (List) machOrders.stream().map((v0) -> {
            List<Long> machOrderIds = machOrders.stream().map((v0) -> {
                return v0.getId();
            }).collect(Collectors.toList());
            List<FmsOrderProcessFixture> fmsOrderProcessFixtures = this.fmsOrderProcessFixtureService.getFmsOrderProcessFixtures(Func.toLongList(orderIds));
            List<String> toBeStartTrays = (List) fmsOrderProcessFixtures.stream().map((v0) -> {
            List<String> toBeStartTrays = fmsOrderProcessFixtures.stream().map((v0) -> {
                return v0.getTrayCode();
            }).distinct().collect(Collectors.toList());
            List<FmsOrderProcessFixture> fmsOrderProcessFixtures1 = this.fmsOrderProcessFixtureService.getFmsOrderProcessFixtures(machOrderIds);
            List<String> inExecutionTrays = (List) fmsOrderProcessFixtures1.stream().map((v0) -> {
            List<String> inExecutionTrays = fmsOrderProcessFixtures1.stream().map((v0) -> {
                return v0.getTrayCode();
            }).distinct().collect(Collectors.toList());
            List<String> sameTrayCodes = toBeStartTrays.stream().filter(inExecutionTrays::contains).collect(Collectors.toList());
            /*
            Stream<String> stream = toBeStartTrays.stream();
            inExecutionTrays.getClass();
            List<String> sameTrayCodes = (List) stream.filter((v1) -> {
            List<String> sameTrayCodes = stream.filter((v1) -> {
                return r1.contains(v1);
            }).collect(Collectors.toList());
            */
            if (Func.isNotEmpty(sameTrayCodes)) {
                List<FmsOrderProcessFixture> toBeSameTrays = (List) fmsOrderProcessFixtures.stream().filter(c -> {
                List<FmsOrderProcessFixture> toBeSameTrays = fmsOrderProcessFixtures.stream().filter(c -> {
                    return sameTrayCodes.contains(c.getTrayCode());
                }).collect(Collectors.toList());
                List<FmsOrderProcessFixture> inExecutionSameTrays = (List) fmsOrderProcessFixtures1.stream().filter(c2 -> {
                List<FmsOrderProcessFixture> inExecutionSameTrays = fmsOrderProcessFixtures1.stream().filter(c2 -> {
                    return sameTrayCodes.contains(c2.getTrayCode());
                }).collect(Collectors.toList());
                Map<String, List<FmsOrderProcessFixture>> toBeSameTraysMap = (Map) toBeSameTrays.stream().collect(Collectors.groupingBy((v0) -> {
                Map<String, List<FmsOrderProcessFixture>> toBeSameTraysMap = toBeSameTrays.stream().collect(Collectors.groupingBy((v0) -> {
                    return v0.getTrayCode();
                }));
                Map<String, List<FmsOrderProcessFixture>> inExecutionSameTraysMap = (Map) inExecutionSameTrays.stream().collect(Collectors.groupingBy((v0) -> {
                Map<String, List<FmsOrderProcessFixture>> inExecutionSameTraysMap = inExecutionSameTrays.stream().collect(Collectors.groupingBy((v0) -> {
                    return v0.getTrayCode();
                }));
                List<Long> toBeSameTrayOrderIds = (List) toBeSameTrays.stream().map((v0) -> {
                List<Long> toBeSameTrayOrderIds = toBeSameTrays.stream().map((v0) -> {
                    return v0.getOrderId();
                }).distinct().collect(Collectors.toList());
                List<Long> inExecutionSameTrayOrderIds = (List) inExecutionSameTrays.stream().map((v0) -> {
                List<Long> inExecutionSameTrayOrderIds = inExecutionSameTrays.stream().map((v0) -> {
                    return v0.getOrderId();
                }).distinct().collect(Collectors.toList());
                List<FmsOrder> tobeStartSameTrayList = (List) tobeStartList.stream().filter(s -> {
                List<FmsOrder> tobeStartSameTrayList = tobeStartList.stream().filter(s -> {
                    return toBeSameTrayOrderIds.contains(s.getId());
                }).collect(Collectors.toList());
                Map<Long, FmsOrder> toMap = (Map) tobeStartSameTrayList.stream().collect(Collectors.toMap((v0) -> {
                Map<Long, FmsOrder> toMap = tobeStartSameTrayList.stream().collect(Collectors.toMap((v0) -> {
                    return v0.getId();
                }, Function.identity()));
                List<FmsOrder> inExecutionSameTrayOrderList = (List) machOrders.stream().filter(s2 -> {
                List<FmsOrder> inExecutionSameTrayOrderList = machOrders.stream().filter(s2 -> {
                    return inExecutionSameTrayOrderIds.contains(s2.getId());
                }).collect(Collectors.toList());
                Map<Long, FmsOrder> inMap = (Map) inExecutionSameTrayOrderList.stream().collect(Collectors.toMap((v0) -> {
                Map<Long, FmsOrder> inMap = inExecutionSameTrayOrderList.stream().collect(Collectors.toMap((v0) -> {
                    return v0.getId();
                }, Function.identity()));
                sameTrayCodes.forEach(trayCode -> {
                    List<FmsOrderProcessFixture> toStartOrderList = (List) toBeSameTraysMap.get(trayCode);
                    List<FmsOrderProcessFixture> inExecutionOrderList = (List) inExecutionSameTraysMap.get(trayCode);
                    List<Long> toBeIds = (List) toStartOrderList.stream().map((v0) -> {
                    List<FmsOrderProcessFixture> toStartOrderList = toBeSameTraysMap.get(trayCode);
                    List<FmsOrderProcessFixture> inExecutionOrderList = inExecutionSameTraysMap.get(trayCode);
                    List<Long> toBeIds = toStartOrderList.stream().map((v0) -> {
                        return v0.getOrderId();
                    }).distinct().collect(Collectors.toList());
                    List<Long> inExecutionIds = (List) inExecutionOrderList.stream().map((v0) -> {
                    List<Long> inExecutionIds = inExecutionOrderList.stream().map((v0) -> {
                        return v0.getOrderId();
                    }).distinct().collect(Collectors.toList());
                    for (Long toId : toBeIds) {
@@ -960,12 +665,16 @@
                });
            }
            if (Func.isNotEmpty(removeOrderIds)) {
                List<String> removeIds = (List) removeOrderIds.stream().distinct().collect(Collectors.toList());
                orderIds = (List) orderIds.stream().filter(c3 -> {
                List<String> removeIds = removeOrderIds.stream().distinct().collect(Collectors.toList());
                orderIds = orderIds.stream().filter(c3 -> {
                    return !removeIds.contains(c3);
                }).collect(Collectors.toList());
            }
            if (Func.isNotEmpty(orderIds)) {
               update(Wrappers.<FmsOrder>lambdaUpdate().in(FmsOrder::getId, Func.toLongList(orderIds))
                        .set(FmsOrder::getOrderStatus, Integer.valueOf(OrderStatusEnum.MACH_ING.getValue()))
                        .set(FmsOrder::getStartUpTime, LocalDateTime.now()));
               /*
                update((Wrapper) ((LambdaUpdateWrapper) ((LambdaUpdateWrapper) Wrappers.lambdaUpdate().in((v0) -> {
                    return v0.getId();
                }, Func.toLongList(orderIds))).set((v0) -> {
@@ -973,33 +682,35 @@
                }, Integer.valueOf(OrderStatusEnum.MACH_ING.getValue()))).set((v0) -> {
                    return v0.getStartUpTime();
                }, LocalDateTime.now()));
                */
            }
        }
    }
    public void dealToBeStart(List<String> orderIds, List<FmsOrder> list, Map<Long, List<FmsOrderProcessFixture>> toBeStartedFixtureMap) {
        if (orderIds.size() > 1) {
            Map<Integer, List<FmsOrder>> priorityMap = (Map) list.stream().collect(Collectors.groupingBy((v0) -> {
            Map<Integer, List<FmsOrder>> priorityMap = list.stream().collect(Collectors.groupingBy((v0) -> {
                return v0.getPriority();
            }));
            priorityMap.forEach(k, v -> {
                v.sort(o1, o2 -> {
            priorityMap.forEach((k, v) -> {
                v.sort((o1, o2) -> {
                    Long id = o1.getId();
                    Long id2 = o2.getId();
                    List<FmsOrderProcessFixture> processFixtureList = (List) toBeStartedFixtureMap.get(id);
                    List<FmsOrderProcessFixture> processFixtureList1 = (List) toBeStartedFixtureMap.get(id2);
                    List<FmsOrderProcessFixture> processFixtureList = toBeStartedFixtureMap.get(id);
                    List<FmsOrderProcessFixture> processFixtureList1 = toBeStartedFixtureMap.get(id2);
                    if (Func.isNotEmpty(processFixtureList) && Func.isNotEmpty(processFixtureList1)) {
                        List<String> collect = (List) processFixtureList.stream().map((v0) -> {
                        List<String> collect = processFixtureList.stream().map((v0) -> {
                            return v0.getTrayCode();
                        }).distinct().collect(Collectors.toList());
                        List<String> collect1 = (List) processFixtureList1.stream().map((v0) -> {
                        List<String> collect1 = processFixtureList1.stream().map((v0) -> {
                            return v0.getTrayCode();
                        }).distinct().collect(Collectors.toList());
                        Stream<String> stream = collect.stream();
                        collect1.getClass();
                        List<String> collect2 = (List) stream.filter((v1) -> {
                            return r1.contains(v1);
                        //排序而已,不太重要,此处需要再仔细考虑
                        List<String> collect2 = collect.stream().filter((v1) -> {
                            return collect1.contains(v1);
                        }).collect(Collectors.toList());
                        if (collect2.size() > 0) {
                            orderIds.remove(String.valueOf(o1.getId()));
                            return 0;
@@ -1016,7 +727,7 @@
        List<FmsOrderProcessFixture> fixtures = this.fmsOrderProcessFixtureService.list(Lambda.in((v0) -> {
            return v0.getTrayCode();
        }, trayCodeList));
        List<Long> processIds = (List) fixtures.stream().map((v0) -> {
        List<Long> processIds = fixtures.stream().map((v0) -> {
            return v0.getOrderProcessId();
        }).collect(Collectors.toList());
        List<FmsOrderProcess> processList = null;
@@ -1028,10 +739,10 @@
        if (Func.isNotEmpty(processList)) {
            List<FmsOrder> orderList = list(Lambda.in((v0) -> {
                return v0.getId();
            }, (Collection) processList.stream().map((v0) -> {
            },  processList.stream().map((v0) -> {
                return v0.getOrderId();
            }).collect(Collectors.toList())));
            List<FmsOrder> usingOrders = (List) orderList.stream().filter(item -> {
            List<FmsOrder> usingOrders = orderList.stream().filter(item -> {
                return item.getOrderStatus().equals(Integer.valueOf(OrderStatusEnum.MACH_ING.getValue())) || item.getOrderStatus().equals(Integer.valueOf(OrderStatusEnum.PAUSE_ING.getValue()));
            }).collect(Collectors.toList());
            return usingOrders;
@@ -1040,20 +751,24 @@
    }
    private List<Long> getToBeStartOrderByTray(List<String> trayCodeList, List<Long> orderIds) {
       List<FmsOrderProcessFixture> fixtures = this.fmsOrderProcessFixtureService.list(Wrappers.<FmsOrderProcessFixture>lambdaQuery()
             .in(FmsOrderProcessFixture::getOrderId, orderIds)
             .in(FmsOrderProcessFixture::getTrayCode, trayCodeList));
       /*
        List<FmsOrderProcessFixture> fixtures = this.fmsOrderProcessFixtureService.list((Wrapper) ((LambdaQueryWrapper) Wrappers.lambdaQuery().in((v0) -> {
            return v0.getOrderId();
        }, orderIds)).in((v0) -> {
            return v0.getTrayCode();
        }, trayCodeList));
        }, trayCodeList));*/
        if (Func.isNotEmpty(fixtures)) {
            List<Long> orderList = (List) fixtures.stream().map((v0) -> {
            List<Long> orderList = fixtures.stream().map((v0) -> {
                return v0.getOrderId();
            }).distinct().collect(Collectors.toList());
            if (Func.isNotEmpty(orderList)) {
                return orderList;
            }
        }
        return new ArrayList();
        return new ArrayList<>();
    }
    @Override // org.springblade.modules.fms.service.IFmsOrderService
@@ -1064,11 +779,13 @@
        if (status != OrderStatusEnum.WAIT_PUBLISH.getValue()) {
            throw new ServiceException(MessageUtils.message("fms.order.has.publish", new Object[0]));
        }
        List<FmsOrderProcess> fmsOrderProcessList = this.fmsOrderProcessService.list(Lambda.eq(FmsOrderProcess::getOrderId, orderId).orderByAsc(FmsOrderProcess::getSort));
        /*
        List<FmsOrderProcess> fmsOrderProcessList = this.fmsOrderProcessService.list((Wrapper) Lambda.eq((v0) -> {
            return v0.getOrderId();
        }, orderId).orderByAsc((v0) -> {
            return v0.getSort();
        }));
        }));*/
        boolean existEmptyWorkstation = fmsOrderProcessList.stream().anyMatch(item -> {
            return Func.isEmpty(item.getWorkStationId());
        });