PC
2024-03-31 608f20e0d5d8f95d9bbb917e95e2913682deb77d
smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/controller/WorkstationFeedbackController.java
@@ -1,28 +1,32 @@
package com.qianwen.smartman.modules.mdc.controller;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import java.lang.invoke.SerializedLambda;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
import javax.validation.Valid;
import com.qianwen.smartman.common.cache.RegionCache;
import com.qianwen.smartman.common.utils.ExtraLambdaQueryWrapper;
import com.qianwen.smartman.common.utils.Lambda;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.qianwen.core.log.exception.ServiceException;
import com.qianwen.core.mp.support.Condition;
import com.qianwen.core.mp.support.Query;
import com.qianwen.core.scanner.modular.stereotype.ApiResource;
import com.qianwen.core.tool.api.R;
import com.qianwen.core.tool.utils.Func;
import com.qianwen.smartman.common.cache.RegionCache;
import com.qianwen.smartman.common.utils.Lambda;
import com.qianwen.smartman.modules.cps.service.IWorkstationService;
import com.qianwen.smartman.modules.cps.vo.WorkstationVO;
import com.qianwen.smartman.modules.mdc.dto.WorkstationEndAndStartImmediateFeedBackDTO;
import com.qianwen.smartman.modules.mdc.dto.WorkstationEndImmediateFeedBackDTO;
import com.qianwen.smartman.modules.mdc.dto.WorkstationFeedBackQueryDTO;
@@ -39,15 +43,12 @@
import com.qianwen.smartman.modules.mdc.vo.WorkstationFeedbackInfoVO;
import com.qianwen.smartman.modules.mdc.wrapper.WorkstationFeedBackDetailWrapper;
import com.qianwen.smartman.modules.mdc.wrapper.WorkstationFeedbackWrapper;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.lang.Assert;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@Api(value = "工位反馈", tags = {"工位反馈"})
@ApiResource({"blade-cps/workstation-wcs-feedback"})
@@ -57,119 +58,6 @@
    private final IWorkstationFeedbackService wcsFeedbackService;
    private final IWorkstationService workstationService;
    private final IWorkstationFeedbackDetailService detailService;
    private static /* synthetic */ Object $deserializeLambda$(SerializedLambda lambda) {
        String implMethodName = lambda.getImplMethodName();
        boolean z = true;
        switch (implMethodName.hashCode()) {
            case -2138899559:
                if (implMethodName.equals("getStartTime")) {
                    z = true;
                    break;
                }
                break;
            case -1249346575:
                if (implMethodName.equals("getWcs")) {
                    z = true;
                    break;
                }
                break;
            case -570382830:
                if (implMethodName.equals("getEndTime")) {
                    z = true;
                    break;
                }
                break;
            case -557259320:
                if (implMethodName.equals("getWorkstationId")) {
                    z = false;
                    break;
                }
                break;
            case 328290672:
                if (implMethodName.equals("getCancel")) {
                    z = true;
                    break;
                }
                break;
            case 803533544:
                if (implMethodName.equals("getStatus")) {
                    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/mdc/entity/WorkstationFeedbackDetail") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getWorkstationId();
                    };
                }
                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/mdc/entity/WorkstationFeedbackDetail") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getWorkstationId();
                    };
                }
                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/mdc/entity/WorkstationFeedback") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    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/mdc/entity/WorkstationFeedbackDetail") && lambda.getImplMethodSignature().equals("()Ljava/lang/Boolean;")) {
                    return (v0) -> {
                        return v0.getCancel();
                    };
                }
                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/mdc/entity/WorkstationFeedbackDetail") && 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/mdc/entity/WorkstationFeedbackDetail") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
                    return (v0) -> {
                        return v0.getWcs();
                    };
                }
                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/mdc/entity/WorkstationFeedbackDetail") && lambda.getImplMethodSignature().equals("()Ljava/util/Date;")) {
                    return (v0) -> {
                        return v0.getStartTime();
                    };
                }
                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/mdc/entity/WorkstationFeedbackDetail") && lambda.getImplMethodSignature().equals("()Ljava/util/Date;")) {
                    return (v0) -> {
                        return v0.getStartTime();
                    };
                }
                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/mdc/entity/WorkstationFeedbackDetail") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
                    return (v0) -> {
                        return v0.getStatus();
                    };
                }
                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/mdc/entity/WorkstationFeedback") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
                    return (v0) -> {
                        return v0.getStatus();
                    };
                }
                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/mdc/entity/WorkstationFeedback") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
                    return (v0) -> {
                        return v0.getStatus();
                    };
                }
                break;
        }
        throw new IllegalArgumentException("Invalid lambda deserialization");
    }
    public WorkstationFeedbackController(final IWorkstationFeedbackService wcsFeedbackService, final IWorkstationService workstationService, final IWorkstationFeedbackDetailService detailService) {
        this.wcsFeedbackService = wcsFeedbackService;
@@ -193,7 +81,7 @@
        if (feedback == null) {
            WorkstationFeedbackDetail detail = this.detailService.latestFeedbackByWorkstationId(workstationId);
            if (detail == null) {
                return R.data((Object) null);
                return R.data( null);
            }
            return R.data(WorkstationFeedbackWrapper.entityVO(detail));
        }
@@ -204,6 +92,19 @@
    @ApiOperationSupport
    @ApiOperation("工位反馈分页列表查询")
    public R<IPage<WorkstationFeedBackDetailVO>> page(Query query, @RequestBody WorkstationFeedBackQueryDTO queryDTO) {
       IPage<WorkstationFeedbackDetail> page = this.detailService.page(Condition.getPage(query),
               Lambda.eq(WorkstationFeedbackDetail::getStatus, Integer.valueOf(FeedbackDetailStatus.EFFECTED.getValue()))
               .eq(WorkstationFeedbackDetail::getCancel, Boolean.FALSE)
               .in(Func.isNotEmpty(queryDTO.getWorkstationGroupId()), WorkstationFeedbackDetail::getWorkstationId, this.workstationService
                 .getWorkstationByGroupIds(ListUtil.toList(new String[] { queryDTO.getWorkstationGroupId() })).stream().map(WorkstationVO::getId).collect(Collectors.toList()))
               .eq(Func.isNotEmpty(queryDTO.getWorkstationId()), WorkstationFeedbackDetail::getWorkstationId, queryDTO.getWorkstationId())
               .ge(Func.isNotEmpty(queryDTO.getStartDate()), WorkstationFeedbackDetail::getStartTime, queryDTO.getStartDate())
               .le(Func.isNotEmpty(queryDTO.getEndDate()), WorkstationFeedbackDetail::getEndTime, queryDTO.getEndDate())
               .in(Func.isNotEmpty(queryDTO.getFeedBackStatus()), WorkstationFeedbackDetail::getWcs, queryDTO.getFeedBackStatus())
               .nested(Func.isNotEmpty(queryDTO.getStartDate()), w -> w.apply(Func.isNotEmpty(queryDTO.getStartDate()), String.format("'%s' between start_time and end_time", new Object[] { queryDTO.getStartDate() }), new Object[0]).or().apply(Func.isNotEmpty(queryDTO.getEndDate()), String.format("'%s' between start_time and end_time", new Object[] { queryDTO.getEndDate() }), new Object[0]).orderByDesc(WorkstationFeedbackDetail::getStartTime)));
       /*
        IPage<WorkstationFeedbackDetail> page = this.detailService.page(Condition.getPage(query), (Wrapper) ((ExtraLambdaQueryWrapper) Lambda.eq((v0) -> {
            return v0.getStatus();
        }, Integer.valueOf(FeedbackDetailStatus.EFFECTED.getValue())).eq((v0) -> {
@@ -224,7 +125,7 @@
            ((ExtraLambdaQueryWrapper) w.apply(Func.isNotEmpty(queryDTO.getStartDate()), String.format("'%s' between start_time and end_time", queryDTO.getStartDate()), new Object[0]).or()).apply(Func.isNotEmpty(queryDTO.getEndDate()), String.format("'%s' between start_time and end_time", queryDTO.getEndDate()), new Object[0]);
        }).orderByDesc((v0) -> {
            return v0.getStartTime();
        }));
        }));*/
        return R.data(WorkstationFeedBackDetailWrapper.build().pageVO(page));
    }
@@ -293,6 +194,10 @@
    @ApiOperation(value = "查询工位状态", notes = "查询是否有未计算的反馈记录, true:有正在计算的记录, false: 没有")
    public R<Boolean> feedbackStatus(@RequestBody List<Long> workstationIds) {
        Assert.notEmpty(workstationIds);
        boolean exist = (this.wcsFeedbackService.count(Lambda.in(WorkstationFeedback::getWorkstationId, workstationIds)
                .nested(w -> w.eq(WorkstationFeedback::getStatus, FeedbackStatus.SYNCING.getValue())
                      .or().eq(WorkstationFeedback::getStatus, FeedbackStatus.WAIT_SYNC.getValue()))) != 0);
        /*
        boolean exist = this.wcsFeedbackService.count((Wrapper) Lambda.in((v0) -> {
            return v0.getWorkstationId();
        }, workstationIds).nested(w -> {
@@ -301,7 +206,7 @@
            }, FeedbackStatus.SYNCING.getValue())).or()).eq((v0) -> {
                return v0.getStatus();
            }, FeedbackStatus.WAIT_SYNC.getValue());
        })) != 0;
        })) != 0;*/
        return R.data(Boolean.valueOf(exist));
    }
}