package com.qianwen.smartman.modules.cps.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import java.lang.invoke.SerializedLambda;
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.stream.Collectors;
|
import com.qianwen.smartman.common.utils.MessageUtils;
|
import com.qianwen.core.log.exception.ServiceException;
|
import com.qianwen.core.tool.utils.Func;
|
import com.qianwen.smartman.modules.cps.convert.ProcessAssociationConvert;
|
import com.qianwen.smartman.modules.cps.entity.ProcessAssociation;
|
import com.qianwen.smartman.modules.cps.entity.Supplier;
|
import com.qianwen.smartman.modules.cps.entity.WarehouseArea;
|
import com.qianwen.smartman.modules.cps.entity.Workstation;
|
import com.qianwen.smartman.modules.cps.mapper.ProcessAssociationMapper;
|
import com.qianwen.smartman.modules.cps.service.IProcessAssociationService;
|
import com.qianwen.smartman.modules.cps.service.ISupplierService;
|
import com.qianwen.smartman.modules.cps.service.IWarehouseAreaService;
|
import com.qianwen.smartman.modules.cps.service.IWorkstationService;
|
import com.qianwen.smartman.modules.cps.vo.ProcessAssociationDetailVO;
|
import com.qianwen.smartman.modules.cps.vo.ProcessAssociationSaveVO;
|
import com.qianwen.smartman.modules.cps.vo.ProcessAssociationVO;
|
import com.qianwen.smartman.modules.cps.vo.ProcessSupplierTypeVO;
|
import com.qianwen.smartman.modules.cps.vo.ProcessWarehouseAreaTypeVO;
|
import com.qianwen.smartman.modules.cps.vo.ProcessWorkstationTypeVO;
|
import org.springframework.stereotype.Service;
|
|
@Service
|
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/cps/service/impl/ProcessAssociationServiceImpl.class */
|
public class ProcessAssociationServiceImpl extends ServiceImpl<ProcessAssociationMapper, ProcessAssociation> implements IProcessAssociationService {
|
private final IWorkstationService workstationService;
|
private final ISupplierService supplierService;
|
private final IWarehouseAreaService warehouseAreaService;
|
|
private static /* synthetic */ Object $deserializeLambda$(SerializedLambda lambda) {
|
String implMethodName = lambda.getImplMethodName();
|
boolean z = true;
|
switch (implMethodName.hashCode()) {
|
case -1104365260:
|
if (implMethodName.equals("getProcessId")) {
|
z = false;
|
break;
|
}
|
break;
|
case 98245393:
|
if (implMethodName.equals("getId")) {
|
z = true;
|
break;
|
}
|
break;
|
case 1949578200:
|
if (implMethodName.equals("getBizId")) {
|
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/ProcessAssociation") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
|
return (v0) -> {
|
return v0.getProcessId();
|
};
|
}
|
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/ProcessAssociation") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
|
return (v0) -> {
|
return v0.getProcessId();
|
};
|
}
|
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/ProcessAssociation") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
|
return (v0) -> {
|
return v0.getProcessId();
|
};
|
}
|
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/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/ProcessAssociation") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
|
return (v0) -> {
|
return v0.getBizId();
|
};
|
}
|
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/ProcessAssociation") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
|
return (v0) -> {
|
return v0.getBizId();
|
};
|
}
|
break;
|
}
|
throw new IllegalArgumentException("Invalid lambda deserialization");
|
}
|
|
public ProcessAssociationServiceImpl(final IWorkstationService workstationService, final ISupplierService supplierService, final IWarehouseAreaService warehouseAreaService) {
|
this.workstationService = workstationService;
|
this.supplierService = supplierService;
|
this.warehouseAreaService = warehouseAreaService;
|
}
|
|
@Override // org.springblade.modules.cps.service.IProcessAssociationService
|
public ProcessAssociationVO listAssociation(Long processId) {
|
ProcessAssociationVO processAssociationVO = new ProcessAssociationVO();
|
List<ProcessAssociation> processAssociationList = list((Wrapper) Wrappers.query().lambda().eq((v0) -> {
|
return v0.getProcessId();
|
}, processId));
|
if (Func.isNotEmpty(processAssociationList)) {
|
Map<Integer, List<ProcessAssociation>> map = (Map) processAssociationList.stream().filter(type -> {
|
return type.getType() != null;
|
}).collect(Collectors.groupingBy((v0) -> {
|
return v0.getType();
|
}));
|
map.forEach(type2, value -> {
|
switch (type2.intValue()) {
|
case 1:
|
List<Long> list = (List) value.stream().map((v0) -> {
|
return v0.getBizId();
|
}).collect(Collectors.toList());
|
List<Workstation> workstationList = this.workstationService.list((Wrapper) Wrappers.query().lambda().in((v0) -> {
|
return v0.getId();
|
}, list));
|
List<ProcessWorkstationTypeVO> processWorkstationTypeVOList = new ArrayList<>();
|
workstationList.forEach(record -> {
|
ProcessWorkstationTypeVO processWorkstationTypeVO = ProcessWorkstationTypeVO.builder().id(record.getId()).workstationCode(record.getCode()).workstationName(record.getName()).build();
|
processWorkstationTypeVOList.add(processWorkstationTypeVO);
|
});
|
processAssociationVO.setWorkstationList(processWorkstationTypeVOList);
|
return;
|
case 2:
|
List<Long> list2 = (List) value.stream().map((v0) -> {
|
return v0.getBizId();
|
}).collect(Collectors.toList());
|
List<WarehouseArea> warehouseAreaList = this.warehouseAreaService.list((Wrapper) Wrappers.query().lambda().in((v0) -> {
|
return v0.getId();
|
}, list2));
|
List<ProcessWarehouseAreaTypeVO> areaTypeVOList = new ArrayList<>();
|
warehouseAreaList.forEach(record2 -> {
|
ProcessWarehouseAreaTypeVO processWarehouseAreaTypeVO = ProcessWarehouseAreaTypeVO.builder().id(record2.getId()).warehouseAreaCode(record2.getCode()).warehouseAreaName(record2.getName()).build();
|
areaTypeVOList.add(processWarehouseAreaTypeVO);
|
});
|
processAssociationVO.setWarehouseAreaList(areaTypeVOList);
|
return;
|
case 3:
|
List<Long> list3 = (List) value.stream().map((v0) -> {
|
return v0.getBizId();
|
}).collect(Collectors.toList());
|
List<Supplier> supplierList = this.supplierService.list((Wrapper) Wrappers.query().lambda().in((v0) -> {
|
return v0.getId();
|
}, list3));
|
List<ProcessSupplierTypeVO> processSupplierTypeVOList = new ArrayList<>();
|
supplierList.forEach(record3 -> {
|
ProcessSupplierTypeVO processSupplierTypeVO = ProcessSupplierTypeVO.builder().id(record3.getId()).supplierCode(record3.getCode()).supplierName(record3.getName()).build();
|
processSupplierTypeVOList.add(processSupplierTypeVO);
|
});
|
processAssociationVO.setSupplierList(processSupplierTypeVOList);
|
return;
|
default:
|
return;
|
}
|
});
|
}
|
return processAssociationVO;
|
}
|
|
@Override // org.springblade.modules.cps.service.IProcessAssociationService
|
public ProcessAssociationDetailVO insert(ProcessAssociationSaveVO processAssociationSaveVO) {
|
checkProcessAssociation(processAssociationSaveVO);
|
ProcessAssociation processAssociation = ProcessAssociationConvert.INSTANCE.convert(processAssociationSaveVO);
|
save(processAssociation);
|
return ProcessAssociationConvert.INSTANCE.convert(processAssociation);
|
}
|
|
@Override // org.springblade.modules.cps.service.IProcessAssociationService
|
public Boolean delete(Long bizId, Long processId) {
|
return Boolean.valueOf(remove(Wrappers.query().lambda().eq(Func.isNotEmpty(bizId), (v0) -> {
|
return v0.getBizId();
|
}, bizId).eq(Func.isNotEmpty(processId), (v0) -> {
|
return v0.getProcessId();
|
}, processId)));
|
}
|
|
private void checkProcessAssociation(ProcessAssociationSaveVO processAssociationSaveVO) {
|
Long count = Long.valueOf(count(Wrappers.query().lambda().eq(Func.isNotEmpty(processAssociationSaveVO.getProcessId()), (v0) -> {
|
return v0.getProcessId();
|
}, processAssociationSaveVO.getProcessId()).eq(Func.isNotEmpty(processAssociationSaveVO.getBizId()), (v0) -> {
|
return v0.getBizId();
|
}, processAssociationSaveVO.getBizId())));
|
if (count.longValue() > 0) {
|
throw new ServiceException(MessageUtils.message("cps.process.association.type.already.exists", new Object[0]));
|
}
|
}
|
}
|