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<WorkstationWcsMapper, WorkstationWcs> 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<WorkstationWcsVO> updateBatch(List<WorkstationWcsSaveVO> workstationWcsSaveVOList) {
|
List<WorkstationWcs> workstationWcsList = WorkstationWcsConvert.INSTANCE.convertVOToEntity(workstationWcsSaveVOList);
|
List<Long> workstationWcsIdList = new ArrayList<>();
|
List<WorkstationWcs> wcsList = new ArrayList<>();
|
for (WorkstationWcs workstationWcs : workstationWcsList) {
|
List<Long> 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<DmpVariablesVO> dmpVariablesVOList = machineDmpVariablesVO.getDmpVariablesVOList();
|
if (Func.isNotEmpty(dmpVariablesVOList)) {
|
List<String> nameList = (List) dmpVariablesVOList.stream().map((v0) -> {
|
return v0.getName();
|
}).collect(Collectors.toList());
|
if (nameList.contains(workstationWcs.getCollectSettingItem())) {
|
Map<String, Long> 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<Long> workstationIds = (List) wcsList.stream().map((v0) -> {
|
return v0.getWorkstationId();
|
}).collect(Collectors.toList());
|
if (Func.isNotEmpty(workstationIds)) {
|
WorkstationCache.clearDmpStatus(workstationIds);
|
clearWorkstationParamTypeCacheByWorkstationId(workstationIds);
|
}
|
List<WorkstationWcsVO> convert = WorkstationWcsConvert.INSTANCE.convert(wcsList);
|
wrapperVO(convert);
|
return convert;
|
}
|
|
@Override // org.springblade.modules.cps.service.IWorkstationWcsService
|
@Transactional(rollbackFor = {Exception.class})
|
public List<WorkstationWcsVO> insert(List<WorkstationWcsSaveVO> workstationWcsSaveVOList) {
|
Long workstationId = workstationWcsSaveVOList.get(0).getWorkstationId();
|
List<WorkstationWcsSaveVO> checkedVoList = (List) workstationWcsSaveVOList.stream().filter((v0) -> {
|
return v0.checkedItem();
|
}).collect(Collectors.toList());
|
validWorkstationExistsWcs(checkedVoList);
|
List<DmpVariables> dmpVariablesList = validDmpName(workstationId, checkedVoList);
|
List<WorkstationWcs> 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<WorkstationWcs> collect = (List) saveWorkstationWcsList.stream().filter(w -> {
|
return Func.isNotEmpty(w.getDataItem());
|
}).collect(Collectors.toList());
|
saveOrUpdateBatch(collect);
|
Map<Long, Integer> 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<Long> 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<WorkstationWcsSaveVO> 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<DmpVariables> validDmpName(Long workstationId, List<WorkstationWcsSaveVO> workstationWcsSaveVOList) {
|
WorkstationOfMachine one = this.workstationOfMachineService.getWorkstationOfMachineByWorkstationId(workstationId);
|
List<DmpVariables> dmpVariablesList = this.dmpVariablesService.list((Wrapper) Wrappers.lambdaQuery().eq((v0) -> {
|
return v0.getMachineId();
|
}, one.getMachineId()));
|
Map<Long, String> dmpIdToName = (Map) dmpVariablesList.stream().collect(Collectors.toMap((v0) -> {
|
return v0.getId();
|
}, (v0) -> {
|
return v0.getName();
|
}));
|
List<String> collectItemList = (List) workstationWcsSaveVOList.stream().map(w -> {
|
return (String) dmpIdToName.get(w.getDmpVariablesId());
|
}).collect(Collectors.toList());
|
List<String> 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<WorkstationWcsVO> listWcsSetting() {
|
List<WorkstationWcs> list = list((Wrapper) Wrappers.lambdaQuery().isNull((v0) -> {
|
return v0.getWorkstationId();
|
}));
|
List<WorkstationWcsVO> convert = WorkstationWcsConvert.INSTANCE.convert(list);
|
wrapperVO(convert);
|
return convert;
|
}
|
|
@Override // org.springblade.modules.cps.service.IWorkstationWcsService
|
@Transactional(rollbackFor = {Exception.class})
|
public List<WorkstationWcsVO> saveSetting(List<WorkstationWcsSaveVO> workstationWcsSaveVOList) {
|
List<WorkstationWcs> workstationWcsList = WorkstationWcsConvert.INSTANCE.convertVOToEntity(workstationWcsSaveVOList);
|
workstationWcsList.forEach(this::checkSetting);
|
saveOrUpdateBatch(workstationWcsList);
|
List<WorkstationWcsVO> 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<Long> workstationIdList) {
|
remove((Wrapper) Wrappers.lambdaQuery().in((v0) -> {
|
return v0.getWorkstationId();
|
}, workstationIdList));
|
clearWorkstationParamTypeCacheByWorkstationId(workstationIdList);
|
return true;
|
}
|
|
@Override // org.springblade.modules.cps.service.IWorkstationWcsService
|
public List<WorkstationWcsVO> listWorkstationWcsByWorkstationId(Long workstationId) {
|
List<WorkstationWcsVO> workstationWcsVOList = ((WorkstationWcsMapper) this.baseMapper).listWcs(workstationId);
|
wrapperVO(workstationWcsVOList);
|
return workstationWcsVOList;
|
}
|
|
private void wrapperVO(final List<WorkstationWcsVO> 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<Long> workstationWcsIdList) {
|
List<WorkstationWcs> workstationWcs = listByIds(workstationWcsIdList);
|
removeByIds(workstationWcsIdList);
|
List<Long> 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<Long> workstationIdList) {
|
List<WorkstationOfMachine> workstationOfMachineList = this.workstationOfMachineService.list((Wrapper) Wrappers.lambdaQuery().in((v0) -> {
|
return v0.getWorkstationId();
|
}, workstationIdList));
|
List<Long> 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<WorkstationWcsVO> insertNew(List<WorkstationWcsSaveNewVO> workstationWcsSaveNewVOList, List<Long> workstationIdList) {
|
List<WorkstationWcsSaveVO> workstationWcsSaveVOList = new ArrayList<>();
|
workstationIdList.forEach(workstationId -> {
|
List<WorkstationWcsVO> workstationWcsVOList = listWorkstationWcsByWorkstationId(workstationId);
|
Map<String, Long> 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<WorkstationWcs> workstationWcsList = WorkstationWcsConvert.INSTANCE.convertVOToEntity(workstationWcsSaveVOList);
|
workstationWcsList.forEach(this::setCrc);
|
Stream<WorkstationWcsSaveVO> 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<WorkstationWcsVO> convert = WorkstationWcsConvert.INSTANCE.convert(workstationWcsList);
|
wrapperVO(convert);
|
return convert;
|
}
|
|
@Override // org.springblade.modules.cps.service.IWorkstationWcsService
|
public String isExists(List<WorkstationWcsSaveNewVO> workstationWcsSaveNewVOList, List<Long> workstationIdList) {
|
Map<Long, String> workstationIdToName = (Map) this.workstationService.listByIds(workstationIdList).stream().collect(Collectors.toMap((v0) -> {
|
return v0.getId();
|
}, (v0) -> {
|
return v0.getName();
|
}));
|
StringBuilder name = new StringBuilder("");
|
Set<Long> 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]));
|
}
|
}
|
}
|