xiangpei
2024-08-23 96e520a9c5407310d03792b6012195f516f0233b
ycl-server/src/main/java/com/ycl/platform/service/impl/UYErrorTypeCheckServiceImpl.java
@@ -9,7 +9,10 @@
import enumeration.general.WorkOrderStatusEnum;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@@ -30,18 +33,26 @@
     */
    @Override
    public void imageDetectionCheck(List<ImageDetectionResult> dataList) {
        List<WorkOrder> workOrderList = dataList.stream().map(item -> {
        List<WorkOrder> workOrderList = dataList.stream().filter(item -> 0 == item.getSigna1()
                || 0 == item.getColor()
                || 0 == item.getSnow()
                || 0 == item.getStripe()
                || 0 == item.getShade()
                || 0 == item.getBlur()
                || 0 == item.getLight()
        )
        .map(item -> {
            WorkOrder workOrder = new WorkOrder();
            // 信号缺失
            if (0 == item.getSigna1()) {
            if (0 == item.getSigna1() ) {
                this.genWorkOrder(workOrder, ErrorType.SIGNAL_LOSS, item.getDeviceId());
            }
            // 画面偏色
            if (0 == item.getColor()) {
            if ( 0 == item.getColor()) {
                this.genWorkOrder(workOrder, ErrorType.SCREEN_COLOR_DEVIATION, item.getDeviceId());
            }
            // 雪花干扰
            if (0 == item.getSnow()) {
            if ( 0 == item.getSnow()) {
                this.genWorkOrder(workOrder, ErrorType.SNOW_STORM, item.getDeviceId());
            }
            // 条纹干扰
@@ -130,8 +141,15 @@
     * @param serialNumber 国标码
     */
    private void genWorkOrder(WorkOrder workOrder, ErrorType errorType, String serialNumber) {
        workOrder.setWorkOrderNo(IdUtils.timeAddRandomNO(5));
        workOrder.setErrorType(errorType.getValue());
        if (! StringUtils.hasText(workOrder.getWorkOrderNo())) {
            workOrder.setWorkOrderNo(IdUtils.timeAddRandomNO(5));
        }
        if (CollectionUtils.isEmpty(workOrder.getErrorTypeList())) {
            workOrder.setErrorTypeList(new ArrayList<>());
            workOrder.getErrorTypeList().add(errorType.getValue());
        } else {
            workOrder.getErrorTypeList().add(errorType.getValue());
        }
        workOrder.setStatus(WorkOrderStatusEnum.DISTRIBUTED);
        workOrder.setSerialNumber(serialNumber);
    }