package com.qianwen.smartman.modules.cps.service.impl; import cn.hutool.core.lang.Assert; import cn.hutool.core.util.HexUtil; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import java.lang.invoke.SerializedLambda; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; import java.util.stream.Stream; import java.util.zip.CRC32; import com.qianwen.smartman.common.cache.RegionCache; import com.qianwen.smartman.common.cache.cps.WorkstationCache; import com.qianwen.smartman.common.enums.WcsDataTypeEnums; import com.qianwen.smartman.common.utils.ExtraLambdaQueryWrapper; import com.qianwen.smartman.common.utils.Lambda; import com.qianwen.smartman.common.utils.MessageUtils; import com.qianwen.core.log.exception.ServiceException; import com.qianwen.core.mp.base.BaseServiceImpl; import com.qianwen.core.tool.utils.Func; import com.qianwen.smartman.modules.cps.convert.WorkstationWcsConvert; import com.qianwen.smartman.modules.cps.entity.DmpVariables; import com.qianwen.smartman.modules.cps.entity.WorkstationOfMachine; import com.qianwen.smartman.modules.cps.entity.WorkstationWcs; import com.qianwen.smartman.modules.cps.mapper.WorkstationWcsMapper; import com.qianwen.smartman.modules.cps.service.IDmpVariablesService; import com.qianwen.smartman.modules.cps.service.IWorkstationOfMachineService; import com.qianwen.smartman.modules.cps.service.IWorkstationService; import com.qianwen.smartman.modules.cps.service.IWorkstationWcsService; import com.qianwen.smartman.modules.cps.service.IWorkstationWcsUsageService; import com.qianwen.smartman.modules.cps.vo.DmpVariablesVO; import com.qianwen.smartman.modules.cps.vo.MachineDmpVariablesVO; import com.qianwen.smartman.modules.cps.vo.WorkstationWcsSaveNewVO; import com.qianwen.smartman.modules.cps.vo.WorkstationWcsSaveVO; import com.qianwen.smartman.modules.cps.vo.WorkstationWcsVO; import com.qianwen.smartman.modules.tdengine.service.IWorkstationDynamicCollectService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @Service /* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/cps/service/impl/WorkstationWcsServiceImpl.class */ public class WorkstationWcsServiceImpl extends BaseServiceImpl implements IWorkstationWcsService { @Autowired private IWorkstationOfMachineService workstationOfMachineService; @Autowired @Lazy private IWorkstationService workstationService; @Autowired @Lazy private IDmpVariablesService dmpVariablesService; @Autowired private IWorkstationDynamicCollectService dynamicCollectService; @Autowired @Lazy private IWorkstationWcsUsageService workstationWcsUsageService; private static final String SUFFIX = "_____0"; private static /* synthetic */ Object $deserializeLambda$(SerializedLambda lambda) { String implMethodName = lambda.getImplMethodName(); boolean z = true; switch (implMethodName.hashCode()) { case -1453405940: if (implMethodName.equals("getMachineId")) { z = true; break; } break; case -557259320: if (implMethodName.equals("getWorkstationId")) { z = false; break; } break; case -428329133: if (implMethodName.equals("getDataItem")) { z = true; break; } break; case -427996294: if (implMethodName.equals("getDataType")) { z = true; break; } break; case 64117345: if (implMethodName.equals("getDmpVariablesId")) { z = true; break; } break; case 98245393: if (implMethodName.equals("getId")) { z = true; break; } break; case 1431273455: if (implMethodName.equals("getCollectSettingItem")) { 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/cps/entity/WorkstationWcs") && 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/cps/entity/WorkstationWcs") && 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/cps/entity/WorkstationWcs") && 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/cps/entity/WorkstationWcs") && 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/cps/entity/WorkstationWcs") && 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/cps/entity/WorkstationWcs") && 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/cps/entity/WorkstationOfMachine") && 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/cps/entity/WorkstationWcs") && 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/cps/entity/WorkstationWcs") && 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/cps/entity/WorkstationWcs") && 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/cps/entity/WorkstationWcs") && 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/cps/entity/WorkstationWcs") && 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/cps/entity/WorkstationWcs") && 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/cps/entity/WorkstationWcs") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) { return (v0) -> { return v0.getCollectSettingItem(); }; } 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/WorkstationWcs") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) { return (v0) -> { return v0.getCollectSettingItem(); }; } 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/WorkstationWcs") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) { return (v0) -> { return v0.getCollectSettingItem(); }; } 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/DmpVariables") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) { return (v0) -> { return v0.getMachineId(); }; } 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/WorkstationWcs") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) { return (v0) -> { return v0.getDmpVariablesId(); }; } 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/WorkstationWcs") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) { return (v0) -> { return v0.getDmpVariablesId(); }; } 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/WorkstationWcs") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) { return (v0) -> { return v0.getDataType(); }; } 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/WorkstationWcs") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) { return (v0) -> { return v0.getDataType(); }; } 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/WorkstationWcs") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) { return (v0) -> { return v0.getDataType(); }; } 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/WorkstationWcs") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) { return (v0) -> { return v0.getDataType(); }; } 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/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 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/WorkstationWcs") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) { return (v0) -> { return v0.getDataItem(); }; } 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/WorkstationWcs") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) { return (v0) -> { return v0.getDataItem(); }; } break; } throw new IllegalArgumentException("Invalid lambda deserialization"); } @Transactional(rollbackFor = {Exception.class}) public List updateBatch(List workstationWcsSaveVOList) { List workstationWcsList = WorkstationWcsConvert.INSTANCE.convertVOToEntity(workstationWcsSaveVOList); List workstationWcsIdList = new ArrayList<>(); List wcsList = new ArrayList<>(); for (WorkstationWcs workstationWcs : workstationWcsList) { List ids = (List) list((Wrapper) ((LambdaQueryWrapper) ((LambdaQueryWrapper) Wrappers.lambdaQuery().eq(Func.isNotEmpty(workstationWcs.getWorkstationId()), (v0) -> { return v0.getWorkstationId(); }, workstationWcs.getWorkstationId()).eq((v0) -> { return v0.getCollectSettingItem(); }, workstationWcs.getCollectSettingItem())).eq((v0) -> { return v0.getDataType(); }, workstationWcs.getDataType())).eq((v0) -> { return v0.getDataItem(); }, workstationWcs.getDataItem())).stream().map((v0) -> { return v0.getId(); }).collect(Collectors.toList()); if (Func.isNotEmpty(ids)) { workstationWcsIdList.addAll(ids); } else { checkWorkstationWcs(workstationWcs); setCrc(workstationWcs); } MachineDmpVariablesVO machineDmpVariablesVO = this.dmpVariablesService.listByWorkstationId(workstationWcs.getWorkstationId()); List dmpVariablesVOList = machineDmpVariablesVO.getDmpVariablesVOList(); if (Func.isNotEmpty(dmpVariablesVOList)) { List nameList = (List) dmpVariablesVOList.stream().map((v0) -> { return v0.getName(); }).collect(Collectors.toList()); if (nameList.contains(workstationWcs.getCollectSettingItem())) { Map dmpNameToId = (Map) dmpVariablesVOList.stream().collect(Collectors.toMap((v0) -> { return v0.getName(); }, (v0) -> { return v0.getId(); })); workstationWcs.setDmpVariablesId(dmpNameToId.get(workstationWcs.getCollectSettingItem())); wcsList.add(workstationWcs); } } } removeByIds(workstationWcsIdList); saveBatch(wcsList); List workstationIds = (List) wcsList.stream().map((v0) -> { return v0.getWorkstationId(); }).collect(Collectors.toList()); if (Func.isNotEmpty(workstationIds)) { WorkstationCache.clearDmpStatus(workstationIds); clearWorkstationParamTypeCacheByWorkstationId(workstationIds); } List convert = WorkstationWcsConvert.INSTANCE.convert(wcsList); wrapperVO(convert); return convert; } @Override // org.springblade.modules.cps.service.IWorkstationWcsService @Transactional(rollbackFor = {Exception.class}) public List insert(List workstationWcsSaveVOList) { Long workstationId = workstationWcsSaveVOList.get(0).getWorkstationId(); List checkedVoList = (List) workstationWcsSaveVOList.stream().filter((v0) -> { return v0.checkedItem(); }).collect(Collectors.toList()); validWorkstationExistsWcs(checkedVoList); List dmpVariablesList = validDmpName(workstationId, checkedVoList); List saveWorkstationWcsList = WorkstationWcsConvert.INSTANCE.convertVOToEntity(checkedVoList); this.dynamicCollectService.removeTableUpdateWcs(saveWorkstationWcsList); this.dynamicCollectService.removeTableDeleteWcs(list(Lambda.eq((v0) -> { return v0.getWorkstationId(); }, workstationId).notIn(Func.isNotEmpty(saveWorkstationWcsList), (v0) -> { return v0.getCollectSettingItem(); }, (Collection) saveWorkstationWcsList.stream().map((v0) -> { return v0.getCollectSettingItem(); }).collect(Collectors.toList())))); deleteByWorkstationIdList(Collections.singletonList(workstationId)); for (WorkstationWcs workstationWcs : saveWorkstationWcsList) { checkWorkstationWcs(workstationWcs); setCrc(workstationWcs); } List collect = (List) saveWorkstationWcsList.stream().filter(w -> { return Func.isNotEmpty(w.getDataItem()); }).collect(Collectors.toList()); saveOrUpdateBatch(collect); Map idToIdx = (Map) workstationWcsSaveVOList.stream().collect(Collectors.toMap((v0) -> { return v0.getDmpVariablesId(); }, (v0) -> { return v0.getSort(); })); dmpVariablesList.forEach(dmpVariables -> { dmpVariables.setIdx((Integer) idToIdx.get(dmpVariables.getId())); }); this.dmpVariablesService.updateBatchById(dmpVariablesList); List workstationIds = (List) workstationWcsSaveVOList.stream().map((v0) -> { return v0.getWorkstationId(); }).collect(Collectors.toList()); WorkstationCache.clearDmpStatus(workstationIds); workstationIds.forEach(id -> { WorkstationCache.clearWorkstationWcs(String.valueOf(id)); }); clearWorkstationParamTypeCacheByWorkstationId(workstationIds); return WorkstationWcsConvert.INSTANCE.convert(saveWorkstationWcsList); } private void validWorkstationExistsWcs(final List workstationWcsSaveVOList) { boolean exist = ((Map) workstationWcsSaveVOList.stream().filter(it -> { return !it.getDataType().equals(WcsDataTypeEnums.WcsDataType.OTHER.getCode()); }).filter(it2 -> { return it2.getUsageId() != null; }).collect(Collectors.groupingBy(it3 -> { return Long.valueOf(it3.getWorkstationId().longValue() + it3.getUsageId().longValue()); }, Collectors.counting()))).values().stream().anyMatch(count -> { return count.longValue() > 1; }); Assert.isTrue(!exist, MessageUtils.message("workstation.wcs.usage.id.already.exists", new Object[0]), new Object[0]); } private List validDmpName(Long workstationId, List workstationWcsSaveVOList) { WorkstationOfMachine one = this.workstationOfMachineService.getWorkstationOfMachineByWorkstationId(workstationId); List dmpVariablesList = this.dmpVariablesService.list((Wrapper) Wrappers.lambdaQuery().eq((v0) -> { return v0.getMachineId(); }, one.getMachineId())); Map dmpIdToName = (Map) dmpVariablesList.stream().collect(Collectors.toMap((v0) -> { return v0.getId(); }, (v0) -> { return v0.getName(); })); List collectItemList = (List) workstationWcsSaveVOList.stream().map(w -> { return (String) dmpIdToName.get(w.getDmpVariablesId()); }).collect(Collectors.toList()); List collectItemDistinctList = (List) collectItemList.stream().distinct().collect(Collectors.toList()); Assert.isTrue(collectItemList.size() == collectItemDistinctList.size(), MessageUtils.message("workstationWcs.collectItem.already.exists", new Object[0]), new Object[0]); return dmpVariablesList; } public void setCrc(WorkstationWcs workstationWcs) { byte[] bytes = workstationWcs.getDataItem().concat(SUFFIX).getBytes(); CRC32 crc32 = new CRC32(); crc32.update(bytes, 0, bytes.length); String dataItemCrc = HexUtil.toHex(crc32.getValue()); workstationWcs.setDataItemCrc(dataItemCrc); } @Override // org.springblade.modules.cps.service.IWorkstationWcsService public WorkstationWcsVO updateSetting(WorkstationWcsSaveVO workstationWcsSaveVO) { WorkstationWcs workstationWcs = WorkstationWcsConvert.INSTANCE.convert(workstationWcsSaveVO); checkSetting(workstationWcs); updateById(workstationWcs); WorkstationWcsVO workstationWcsVO = WorkstationWcsConvert.INSTANCE.convertVO(workstationWcsSaveVO); wrapperVO(Collections.singletonList(workstationWcsVO)); return workstationWcsVO; } @Override // org.springblade.modules.cps.service.IWorkstationWcsService public List listWcsSetting() { List list = list((Wrapper) Wrappers.lambdaQuery().isNull((v0) -> { return v0.getWorkstationId(); })); List convert = WorkstationWcsConvert.INSTANCE.convert(list); wrapperVO(convert); return convert; } @Override // org.springblade.modules.cps.service.IWorkstationWcsService @Transactional(rollbackFor = {Exception.class}) public List saveSetting(List workstationWcsSaveVOList) { List workstationWcsList = WorkstationWcsConvert.INSTANCE.convertVOToEntity(workstationWcsSaveVOList); workstationWcsList.forEach(this::checkSetting); saveOrUpdateBatch(workstationWcsList); List convert = WorkstationWcsConvert.INSTANCE.convert(workstationWcsList); wrapperVO(convert); return convert; } public void checkSetting(WorkstationWcs workstationWcs) { Long count = Long.valueOf(count((Wrapper) Wrappers.lambdaQuery().ne(Func.isNotEmpty(workstationWcs.getId()), (v0) -> { return v0.getId(); }, workstationWcs.getId()).eq(Func.isNotEmpty(workstationWcs.getWorkstationId()), (v0) -> { return v0.getWorkstationId(); }, workstationWcs.getWorkstationId()).isNull(Func.isEmpty(workstationWcs.getWorkstationId()), (v0) -> { return v0.getWorkstationId(); }).eq((v0) -> { return v0.getCollectSettingItem(); }, workstationWcs.getCollectSettingItem()))); if (count.longValue() > 0) { throw new ServiceException(MessageUtils.message("workstationWcs.collectItem.already.exists", new Object[0])); } } @Override // org.springblade.modules.cps.service.IWorkstationWcsService public Boolean deleteByWorkstationIdList(List workstationIdList) { remove((Wrapper) Wrappers.lambdaQuery().in((v0) -> { return v0.getWorkstationId(); }, workstationIdList)); clearWorkstationParamTypeCacheByWorkstationId(workstationIdList); return true; } @Override // org.springblade.modules.cps.service.IWorkstationWcsService public List listWorkstationWcsByWorkstationId(Long workstationId) { List workstationWcsVOList = ((WorkstationWcsMapper) this.baseMapper).listWcs(workstationId); wrapperVO(workstationWcsVOList); return workstationWcsVOList; } private void wrapperVO(final List workstationWcsVOList) { workstationWcsVOList.forEach(it -> { it.setDataTypeDesc(WcsDataTypeEnums.WcsDataType.getNameByCode(it.getDataType())); Optional ofNullable = Optional.ofNullable(it.getUsageId()); IWorkstationWcsUsageService iWorkstationWcsUsageService = this.workstationWcsUsageService; iWorkstationWcsUsageService.getClass(); ofNullable.map((v1) -> { return r1.getById(v1); }).ifPresent(usage -> { it.setUsageName(usage.getUsageName()); }); }); } @Override // org.springblade.modules.cps.service.IWorkstationWcsService public Boolean delete(List workstationWcsIdList) { List workstationWcs = listByIds(workstationWcsIdList); removeByIds(workstationWcsIdList); List workstationIds = (List) workstationWcs.stream().map((v0) -> { return v0.getWorkstationId(); }).collect(Collectors.toList()); workstationIds.forEach(id -> { WorkstationCache.clearWorkstationWcs(String.valueOf(id)); }); clearWorkstationParamTypeCacheByWorkstationId(workstationIds); return null; } @Override // org.springblade.modules.cps.service.IWorkstationWcsService public void clearWorkstationParamTypeCacheByWorkstationId(List workstationIdList) { List workstationOfMachineList = this.workstationOfMachineService.list((Wrapper) Wrappers.lambdaQuery().in((v0) -> { return v0.getWorkstationId(); }, workstationIdList)); List machineIdList = (List) workstationOfMachineList.stream().map((v0) -> { return v0.getMachineId(); }).collect(Collectors.toList()); for (Long id : machineIdList) { WorkstationCache.clearWorkstationParamTypeCache(String.valueOf(id)); } } @Override // org.springblade.modules.cps.service.IWorkstationWcsService @Transactional(rollbackFor = {Exception.class}) public List insertNew(List workstationWcsSaveNewVOList, List workstationIdList) { List workstationWcsSaveVOList = new ArrayList<>(); workstationIdList.forEach(workstationId -> { List workstationWcsVOList = listWorkstationWcsByWorkstationId(workstationId); Map wcsCollectItemToId = (Map) workstationWcsVOList.stream().collect(Collectors.toMap((v0) -> { return v0.getCollectItemDesc(); }, (v0) -> { return v0.getId(); })); workstationWcsSaveNewVOList.forEach(workstationWcsSaveNewVO -> { if (wcsCollectItemToId.containsKey(workstationWcsSaveNewVO.getCollectSettingItem())) { WorkstationWcsSaveVO workstationWcsSaveVO = WorkstationWcsSaveVO.builder().id((Long) wcsCollectItemToId.get(workstationWcsSaveNewVO.getCollectSettingItem())).workstationId(workstationId).collectSettingItem(workstationWcsSaveNewVO.getCollectSettingItem()).dataItem(workstationWcsSaveNewVO.getDataItem()).dataType(workstationWcsSaveNewVO.getDataType()).bigScreen(workstationWcsSaveNewVO.getBigScreen()).realTimeData(workstationWcsSaveNewVO.getRealTimeData()).processParameter(workstationWcsSaveNewVO.getProcessParameter()).usageId(Long.valueOf(Func.toLong(workstationWcsSaveNewVO.getUsageId()))).build(); workstationWcsSaveVOList.add(workstationWcsSaveVO); } }); }); List workstationWcsList = WorkstationWcsConvert.INSTANCE.convertVOToEntity(workstationWcsSaveVOList); workstationWcsList.forEach(this::setCrc); Stream stream = workstationWcsSaveVOList.stream(); Stream stream2 = list((Wrapper) ((ExtraLambdaQueryWrapper) Lambda.in((v0) -> { return v0.getWorkstationId(); }, workstationIdList).notIn((v0) -> { return v0.getId(); }, (Collection) workstationWcsList.stream().map((v0) -> { return v0.getId(); }).collect(Collectors.toList()))).ne((v0) -> { return v0.getDataType(); }, WcsDataTypeEnums.WcsDataType.OTHER.getCode())).stream(); WorkstationWcsConvert workstationWcsConvert = WorkstationWcsConvert.INSTANCE; workstationWcsConvert.getClass(); validWorkstationExistsWcs((List) Stream.concat(stream, stream2.map(this::convert)).collect(Collectors.toList())); this.dynamicCollectService.removeTableUpdateWcs(workstationWcsList); updateBatchById(workstationWcsList); WorkstationCache.clearDmpStatus(workstationIdList); workstationIdList.forEach(id -> { WorkstationCache.clearWorkstationWcs(String.valueOf(id)); }); clearWorkstationParamTypeCacheByWorkstationId(workstationIdList); List convert = WorkstationWcsConvert.INSTANCE.convert(workstationWcsList); wrapperVO(convert); return convert; } @Override // org.springblade.modules.cps.service.IWorkstationWcsService public String isExists(List workstationWcsSaveNewVOList, List workstationIdList) { Map workstationIdToName = (Map) this.workstationService.listByIds(workstationIdList).stream().collect(Collectors.toMap((v0) -> { return v0.getId(); }, (v0) -> { return v0.getName(); })); StringBuilder name = new StringBuilder(""); Set idSet = new HashSet<>(); for (Long workstationId : workstationIdList) { for (WorkstationWcsSaveNewVO w : workstationWcsSaveNewVOList) { Long count = Long.valueOf(count((Wrapper) ((LambdaQueryWrapper) ((LambdaQueryWrapper) ((LambdaQueryWrapper) Wrappers.lambdaQuery().eq((v0) -> { return v0.getWorkstationId(); }, workstationId)).eq((v0) -> { return v0.getDmpVariablesId(); }, w.getDmpVariablesId())).eq((v0) -> { return v0.getDataType(); }, w.getDataType())).eq((v0) -> { return v0.getDataItem(); }, w.getDataItem()))); if (count.longValue() > 0) { idSet.add(workstationId); } } } idSet.forEach(id -> { name.append(",").append((String) workstationIdToName.get(id)); }); return Func.isNotEmpty(name) ? name.substring(1) : name.toString(); } private void checkWorkstationWcs(WorkstationWcs workstationWcs) { if (WcsDataTypeEnums.ONLY_ONE_LIST.contains(workstationWcs.getDataType())) { Long count = Long.valueOf(count((Wrapper) Wrappers.lambdaQuery().ne(Func.isNotEmpty(workstationWcs.getId()), (v0) -> { return v0.getId(); }, workstationWcs.getId()).eq(Func.isNotEmpty(workstationWcs.getWorkstationId()), (v0) -> { return v0.getWorkstationId(); }, workstationWcs.getWorkstationId()).isNotNull(Func.isNotEmpty(workstationWcs.getWorkstationId()), (v0) -> { return v0.getWorkstationId(); }).eq((v0) -> { return v0.getDataType(); }, workstationWcs.getDataType()))); if (count.longValue() > 0) { throw new ServiceException(MessageUtils.message("workstationWcs.dataType.already.exists", new Object[0])); } } Long count2 = Long.valueOf(count((Wrapper) Wrappers.lambdaQuery().ne(Func.isNotEmpty(workstationWcs.getId()), (v0) -> { return v0.getId(); }, workstationWcs.getId()).eq(Func.isNotEmpty(workstationWcs.getWorkstationId()), (v0) -> { return v0.getWorkstationId(); }, workstationWcs.getWorkstationId()).isNotNull(Func.isNotEmpty(workstationWcs.getWorkstationId()), (v0) -> { return v0.getWorkstationId(); }).eq((v0) -> { return v0.getDmpVariablesId(); }, workstationWcs.getDmpVariablesId()))); if (count2.longValue() > 0) { throw new ServiceException(MessageUtils.message("workstationWcs.collectItem.already.exists", new Object[0])); } } }