package com.qianwen.smartman.modules.tool.service.impl;
|
|
import com.alibaba.excel.EasyExcel;
|
import com.alibaba.excel.annotation.ExcelProperty;
|
import com.alibaba.excel.write.metadata.style.WriteCellStyle;
|
import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.google.common.collect.Lists;
|
import java.io.File;
|
import java.io.OutputStream;
|
import java.lang.invoke.SerializedLambda;
|
import java.lang.reflect.Field;
|
import java.nio.charset.StandardCharsets;
|
import java.util.ArrayList;
|
import java.util.Arrays;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.Objects;
|
import java.util.Set;
|
import java.util.stream.Collectors;
|
import org.apache.commons.fileupload.FileItem;
|
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
|
import org.apache.poi.ss.usermodel.FillPatternType;
|
import org.apache.poi.ss.usermodel.IndexedColors;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import com.qianwen.smartman.common.cache.RegionCache;
|
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.mp.support.Condition;
|
import com.qianwen.core.mp.support.Query;
|
import com.qianwen.core.oss.model.BladeFile;
|
import com.qianwen.core.secure.utils.AuthUtil;
|
import com.qianwen.core.tool.node.ForestNodeMerger;
|
import com.qianwen.core.tool.utils.DateUtil;
|
import com.qianwen.core.tool.utils.Func;
|
import com.qianwen.smartman.modules.cps.entity.Employee;
|
import com.qianwen.smartman.modules.cps.entity.Workstation;
|
import com.qianwen.smartman.modules.cps.service.IEmployeeService;
|
import com.qianwen.smartman.modules.cps.service.IWorkstationService;
|
import com.qianwen.smartman.modules.resource.builder.oss.OssBuilder;
|
import com.qianwen.smartman.modules.system.service.IBasCoderuleService;
|
import com.qianwen.smartman.modules.system.service.ICodeGeneratorService;
|
import com.qianwen.smartman.modules.tool.convert.ToolManageConvert;
|
import com.qianwen.smartman.modules.tool.entity.Tool;
|
import com.qianwen.smartman.modules.tool.entity.ToolCategory;
|
import com.qianwen.smartman.modules.tool.entity.ToolModel;
|
import com.qianwen.smartman.modules.tool.entity.ToolParameter;
|
import com.qianwen.smartman.modules.tool.enums.ToolLifeCountMethodEnum;
|
import com.qianwen.smartman.modules.tool.enums.ToolLifeStateEnum;
|
import com.qianwen.smartman.modules.tool.enums.ToolUseStateEnum;
|
import com.qianwen.smartman.modules.tool.excel.ToolManageExcel;
|
import com.qianwen.smartman.modules.tool.interceptor.CustomCellWriteHandler;
|
import com.qianwen.smartman.modules.tool.mapper.ToolManageMapper;
|
import com.qianwen.smartman.modules.tool.service.IToolCategoryService;
|
import com.qianwen.smartman.modules.tool.service.IToolChangeRecordService;
|
import com.qianwen.smartman.modules.tool.service.IToolManageService;
|
import com.qianwen.smartman.modules.tool.service.IToolModelService;
|
import com.qianwen.smartman.modules.tool.service.IToolParameterService;
|
import com.qianwen.smartman.modules.tool.vo.ToolDischargeVO;
|
import com.qianwen.smartman.modules.tool.vo.ToolManageEquipmentVO;
|
import com.qianwen.smartman.modules.tool.vo.ToolManageSaveVO;
|
import com.qianwen.smartman.modules.tool.vo.ToolManageTreeVO;
|
import com.qianwen.smartman.modules.tool.vo.ToolManageUpdateVO;
|
import com.qianwen.smartman.modules.tool.vo.ToolManageVO;
|
import com.qianwen.smartman.modules.tool.vo.ToolQueryVO;
|
import com.qianwen.smartman.modules.tpm.enums.MetaTypeEnum;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.commons.CommonsMultipartFile;
|
|
@Service
|
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/tool/service/impl/ToolManageServiceImpl.class */
|
public class ToolManageServiceImpl extends BaseServiceImpl<ToolManageMapper, Tool> implements IToolManageService {
|
private static final Logger log = LoggerFactory.getLogger(ToolManageServiceImpl.class);
|
private final IToolCategoryService toolCategoryService;
|
private final IToolModelService toolModelService;
|
private final IWorkstationService workstationService;
|
private final IToolChangeRecordService toolChangeRecordService;
|
private final IEmployeeService employeeService;
|
private final ICodeGeneratorService codeGeneratorService;
|
private final IBasCoderuleService basCoderuleService;
|
private final OssBuilder ossBuilder;
|
private final IToolParameterService toolParameterService;
|
private static final String TOOL_EXCEL_NAME = "刀具状态报表";
|
|
private static /* synthetic */ Object $deserializeLambda$(SerializedLambda lambda) {
|
String implMethodName = lambda.getImplMethodName();
|
boolean z = true;
|
switch (implMethodName.hashCode()) {
|
case -557259320:
|
if (implMethodName.equals("getWorkstationId")) {
|
z = false;
|
break;
|
}
|
break;
|
case -326855617:
|
if (implMethodName.equals("getLifeState")) {
|
z = true;
|
break;
|
}
|
break;
|
case 58947841:
|
if (implMethodName.equals("getRuleFieldDictKey")) {
|
z = true;
|
break;
|
}
|
break;
|
case 98245393:
|
if (implMethodName.equals("getId")) {
|
z = true;
|
break;
|
}
|
break;
|
case 119176648:
|
if (implMethodName.equals("getToolParameterCode")) {
|
z = true;
|
break;
|
}
|
break;
|
case 364831063:
|
if (implMethodName.equals("getToolPosition")) {
|
z = true;
|
break;
|
}
|
break;
|
case 859984188:
|
if (implMethodName.equals("getUserId")) {
|
z = true;
|
break;
|
}
|
break;
|
case 896567166:
|
if (implMethodName.equals("getRemainLife")) {
|
z = true;
|
break;
|
}
|
break;
|
case 1344540506:
|
if (implMethodName.equals("getWorkstationCode")) {
|
z = true;
|
break;
|
}
|
break;
|
case 1344855032:
|
if (implMethodName.equals("getWorkstationName")) {
|
z = true;
|
break;
|
}
|
break;
|
case 1783736512:
|
if (implMethodName.equals("getUseState")) {
|
z = true;
|
break;
|
}
|
break;
|
case 1798251983:
|
if (implMethodName.equals("getUsedLife")) {
|
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/tool/entity/Tool") && 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/tool/entity/Tool") && 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/tool/entity/Tool") && 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/tool/entity/Tool") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
|
return (v0) -> {
|
return v0.getWorkstationName();
|
};
|
}
|
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/tool/entity/Tool") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
|
return (v0) -> {
|
return v0.getWorkstationName();
|
};
|
}
|
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/tool/entity/Tool") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
|
return (v0) -> {
|
return v0.getUsedLife();
|
};
|
}
|
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/tool/entity/Tool") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
|
return (v0) -> {
|
return v0.getUseState();
|
};
|
}
|
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/tool/entity/Tool") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
|
return (v0) -> {
|
return v0.getUseState();
|
};
|
}
|
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/tool/entity/Tool") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
|
return (v0) -> {
|
return v0.getUseState();
|
};
|
}
|
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/system/entity/BasCodeRule") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
|
return (v0) -> {
|
return v0.getRuleFieldDictKey();
|
};
|
}
|
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/tool/entity/ToolParameter") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
|
return (v0) -> {
|
return v0.getToolParameterCode();
|
};
|
}
|
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/tool/entity/ToolParameter") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
|
return (v0) -> {
|
return v0.getToolParameterCode();
|
};
|
}
|
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/tool/entity/Tool") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
|
return (v0) -> {
|
return v0.getToolPosition();
|
};
|
}
|
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/tool/entity/Tool") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
|
return (v0) -> {
|
return v0.getToolPosition();
|
};
|
}
|
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/tool/entity/Tool") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
|
return (v0) -> {
|
return v0.getToolPosition();
|
};
|
}
|
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/tool/entity/Tool") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
|
return (v0) -> {
|
return v0.getToolPosition();
|
};
|
}
|
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();
|
};
|
}
|
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/tool/entity/Tool") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
|
return (v0) -> {
|
return v0.getLifeState();
|
};
|
}
|
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/tool/entity/Tool") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
|
return (v0) -> {
|
return v0.getWorkstationCode();
|
};
|
}
|
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/tool/entity/Tool") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
|
return (v0) -> {
|
return v0.getWorkstationCode();
|
};
|
}
|
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/tool/entity/Tool") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
|
return (v0) -> {
|
return v0.getRemainLife();
|
};
|
}
|
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/Employee") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
|
return (v0) -> {
|
return v0.getUserId();
|
};
|
}
|
break;
|
}
|
throw new IllegalArgumentException("Invalid lambda deserialization");
|
}
|
|
public ToolManageServiceImpl(final IToolCategoryService toolCategoryService, final IToolModelService toolModelService, final IWorkstationService workstationService, final IToolChangeRecordService toolChangeRecordService, final IEmployeeService employeeService, final ICodeGeneratorService codeGeneratorService, final IBasCoderuleService basCoderuleService, final OssBuilder ossBuilder, final IToolParameterService toolParameterService) {
|
this.toolCategoryService = toolCategoryService;
|
this.toolModelService = toolModelService;
|
this.workstationService = workstationService;
|
this.toolChangeRecordService = toolChangeRecordService;
|
this.employeeService = employeeService;
|
this.codeGeneratorService = codeGeneratorService;
|
this.basCoderuleService = basCoderuleService;
|
this.ossBuilder = ossBuilder;
|
this.toolParameterService = toolParameterService;
|
}
|
|
@Override // org.springblade.modules.tool.service.IToolManageService
|
public Boolean saveTool(ToolManageSaveVO toolManageSaveVO) {
|
Set<String> toolManageCodeSet = (Set) list().stream().map((v0) -> {
|
return v0.getCode();
|
}).collect(Collectors.toSet());
|
ToolModel toolModel = (ToolModel) this.toolModelService.getOne(Lambda.eq((v0) -> {
|
return v0.getId();
|
}, toolManageSaveVO.getToolModelId()));
|
Tool toolManage = ToolManageConvert.INSTANCE.saveVOToConvert(toolManageSaveVO);
|
toolManage.setToolPrefixCode(toolModel.getToolPrefixCode());
|
toolManage.setUseState(ToolUseStateEnum.ADD.getCode());
|
if (Func.isNotEmpty(toolManage.getCode()) && toolManageCodeSet.contains(toolManage.getCode())) {
|
throw new ServiceException(MessageUtils.message("tool.tool.code.is.exist", new Object[0]));
|
}
|
if (Func.isEmpty(toolManageSaveVO.getCode())) {
|
toolManageSaveVO.setToolCategory(String.valueOf(toolModel.getToolCategoryId()));
|
do {
|
toolManage.setCode(this.codeGeneratorService.getGeneratorCode(toolManageSaveVO, MetaTypeEnum.TOOL_MANAGE.getCode()));
|
} while (toolManageCodeSet.contains(toolManage.getCode()));
|
return Boolean.valueOf(save(toolManage));
|
}
|
return Boolean.valueOf(save(toolManage));
|
}
|
|
@Override // org.springblade.modules.tool.service.IToolManageService
|
public Boolean updateTool(ToolManageUpdateVO toolManageUpdateVO) {
|
Tool toolManage = ToolManageConvert.INSTANCE.updateToConvert(toolManageUpdateVO);
|
return Boolean.valueOf(updateById(toolManage));
|
}
|
|
@Override // org.springblade.modules.tool.service.IToolManageService
|
public IPage<ToolManageVO> pageTool(ToolQueryVO toolQueryVO, Query query) {
|
return ((ToolManageMapper) this.baseMapper).page(Condition.getPage(query), toolQueryVO);
|
}
|
|
@Override // org.springblade.modules.tool.service.IToolManageService
|
public Boolean removeTool(List<Long> ids) {
|
List<Tool> toolManageList = list(Lambda.in((v0) -> {
|
return v0.getId();
|
}, ids));
|
Set<Integer> toolUseStateSet = (Set) toolManageList.stream().map((v0) -> {
|
return v0.getUseState();
|
}).collect(Collectors.toSet());
|
if (toolUseStateSet.contains(ToolUseStateEnum.EQUIP.getCode())) {
|
throw new ServiceException(MessageUtils.message("tool.tool.of.equip.dont.remove", new Object[0]));
|
}
|
return Boolean.valueOf(remove(Lambda.in((v0) -> {
|
return v0.getId();
|
}, ids)));
|
}
|
|
@Override // org.springblade.modules.tool.service.IToolManageService
|
@Transactional(rollbackFor = {Exception.class})
|
public List<ToolManageVO> dischargeTool(ToolDischargeVO toolDischargeVO) {
|
List<Tool> toolList = list((Wrapper) Lambda.in((v0) -> {
|
return v0.getId();
|
}, toolDischargeVO.getIds()).eq((v0) -> {
|
return v0.getUseState();
|
}, ToolUseStateEnum.DISCHARGE.getCode()));
|
if (Func.isNotEmpty(toolList)) {
|
throw new ServiceException(MessageUtils.message("tool.tool.is.already.discharge", new Object[0]));
|
}
|
List<Tool> toolManageList = listByIds(toolDischargeVO.getIds());
|
toolManageList.forEach(item -> {
|
item.setUseState(ToolUseStateEnum.DISCHARGE.getCode());
|
});
|
this.toolChangeRecordService.dischargeToolChangeRecord(toolManageList, toolDischargeVO.getEmployeeId());
|
update((Wrapper) ((LambdaUpdateWrapper) ((LambdaUpdateWrapper) ((LambdaUpdateWrapper) ((LambdaUpdateWrapper) ((LambdaUpdateWrapper) Wrappers.lambdaUpdate().in((v0) -> {
|
return v0.getId();
|
}, toolDischargeVO.getIds())).set((v0) -> {
|
return v0.getWorkstationId();
|
}, (Object) null)).set((v0) -> {
|
return v0.getWorkstationCode();
|
}, (Object) null)).set((v0) -> {
|
return v0.getWorkstationName();
|
}, (Object) null)).set((v0) -> {
|
return v0.getToolPosition();
|
}, (Object) null)).set((v0) -> {
|
return v0.getUseState();
|
}, ToolUseStateEnum.DISCHARGE.getCode()));
|
return ToolManageConvert.INSTANCE.convert(toolManageList);
|
}
|
|
@Override // org.springblade.modules.tool.service.IToolManageService
|
@Transactional(rollbackFor = {Exception.class})
|
public ToolManageVO equipmentTool(ToolManageEquipmentVO toolManageEquipmentVO) {
|
if (Func.isNotEmpty(getOne((Wrapper) Lambda.eq((v0) -> {
|
return v0.getWorkstationId();
|
}, toolManageEquipmentVO.getWorkstationId()).eq((v0) -> {
|
return v0.getToolPosition();
|
}, toolManageEquipmentVO.getToolPosition())))) {
|
throw new ServiceException(MessageUtils.message("tool.tool.position.exist.tool", new Object[0]));
|
}
|
Workstation workstation = (Workstation) this.workstationService.getById(toolManageEquipmentVO.getWorkstationId());
|
update((Wrapper) ((LambdaUpdateWrapper) ((LambdaUpdateWrapper) ((LambdaUpdateWrapper) ((LambdaUpdateWrapper) ((LambdaUpdateWrapper) Wrappers.lambdaUpdate().eq((v0) -> {
|
return v0.getId();
|
}, toolManageEquipmentVO.getId())).set((v0) -> {
|
return v0.getWorkstationId();
|
}, workstation.getId())).set((v0) -> {
|
return v0.getWorkstationName();
|
}, workstation.getName())).set((v0) -> {
|
return v0.getWorkstationCode();
|
}, workstation.getCode())).set((v0) -> {
|
return v0.getToolPosition();
|
}, toolManageEquipmentVO.getToolPosition())).set((v0) -> {
|
return v0.getUseState();
|
}, ToolUseStateEnum.EQUIP.getCode()));
|
Tool toolManage = (Tool) getById(toolManageEquipmentVO.getId());
|
this.toolChangeRecordService.equipmentToolChangeRecord(toolManage, toolManageEquipmentVO.getEmployeeId());
|
return ToolManageConvert.INSTANCE.convert(toolManage);
|
}
|
|
@Override // org.springblade.modules.tool.service.IToolManageService
|
@Transactional(rollbackFor = {Exception.class})
|
public Boolean resetTool(Long id) {
|
Tool toolManage = (Tool) getById(id);
|
toolManage.setUsedLife(0);
|
toolManage.setRemainLife(toolManage.getInitialLife());
|
boolean flag = update((Wrapper) ((LambdaUpdateWrapper) ((LambdaUpdateWrapper) ((LambdaUpdateWrapper) ((LambdaUpdateWrapper) Wrappers.lambdaUpdate().eq((v0) -> {
|
return v0.getId();
|
}, id)).set((v0) -> {
|
return v0.getUsedLife();
|
}, 0)).set((v0) -> {
|
return v0.getRemainLife();
|
}, toolManage.getInitialLife())).set((v0) -> {
|
return v0.getToolPosition();
|
}, (Object) null)).set((v0) -> {
|
return v0.getLifeState();
|
}, ToolLifeStateEnum.NORMAL.getCode()));
|
if (Func.isEmpty(toolManage.getWorkstationId())) {
|
return Boolean.valueOf(flag);
|
}
|
List<Long> ids = new ArrayList<>();
|
ids.add(id);
|
Employee employee = (Employee) this.employeeService.getOne(Lambda.eq((v0) -> {
|
return v0.getUserId();
|
}, AuthUtil.getUserId()));
|
if (Func.isEmpty(employee)) {
|
throw new ServiceException(MessageUtils.message("sys.outer.user.not.bind.employee", new Object[0]));
|
}
|
dischargeTool(new ToolDischargeVO(ids, employee.getId()));
|
return true;
|
}
|
|
@Override // org.springblade.modules.tool.service.IToolManageService
|
public BladeFile exportToolManage(ToolQueryVO toolQueryVO) throws Exception {
|
List<ToolManageVO> toolManageVOList = pageTool(toolQueryVO, new Query().setSize(-1)).getRecords();
|
List<Tool> toolManageList = ToolManageConvert.INSTANCE.convertVO(toolManageVOList);
|
List<ToolManageExcel> toolManageExcels = new ArrayList<>();
|
for (int i = 0; i < toolManageList.size(); i++) {
|
ToolManageExcel toolManageExcel = ToolManageConvert.INSTANCE.convertToExcel(toolManageList.get(i));
|
toolManageExcel.setUseState(Func.isNotEmpty(toolManageList.get(i).getUseState()) ? ToolUseStateEnum.findByCode(toolManageList.get(i).getUseState()).getDesc() : null);
|
toolManageExcel.setLifeCountMethod(Func.isNotEmpty(toolManageList.get(i).getLifeCountMethod()) ? ToolLifeCountMethodEnum.findByCode(toolManageList.get(i).getLifeCountMethod()).getDesc() : null);
|
toolManageExcel.setLifeState(Func.isNotEmpty(toolManageList.get(i).getLifeState()) ? ToolLifeStateEnum.findByCode(toolManageList.get(i).getLifeState()).getDesc() : null);
|
toolManageExcels.add(toolManageExcel);
|
}
|
String fileName = String.format("%s-%s.xlsx", "刀具监控", DateUtil.time());
|
MultipartFile multipartFile = toolManageExcelExport(fileName, TOOL_EXCEL_NAME, toolManageExcels, toolManageList, ToolManageExcel.class);
|
return this.ossBuilder.tempTemplate().putFile(multipartFile.getOriginalFilename(), multipartFile);
|
}
|
|
@Override // org.springblade.modules.tool.service.IToolManageService
|
public Boolean isExistCodeRule(String ruleFieldDictKey) {
|
return Boolean.valueOf(this.basCoderuleService.count((Wrapper) Wrappers.lambdaQuery().eq((v0) -> {
|
return v0.getRuleFieldDictKey();
|
}, ruleFieldDictKey)) > 0);
|
}
|
|
@Override // org.springblade.modules.tool.service.IToolManageService
|
public List<ToolManageTreeVO> tree() {
|
List<ToolManageTreeVO> list = Lists.newArrayList();
|
List<ToolCategory> toolCategoryList = this.toolCategoryService.list();
|
toolCategoryList.forEach(x -> {
|
ToolManageTreeVO toolManageTreeVO = ToolManageConvert.INSTANCE.convert(x);
|
toolManageTreeVO.setIsGroup(Boolean.TRUE);
|
list.add(toolManageTreeVO);
|
});
|
List<ToolModel> toolModelList = this.toolModelService.list();
|
toolModelList.forEach(x2 -> {
|
ToolManageTreeVO toolManageTreeVO = ToolManageConvert.INSTANCE.convert(x2);
|
toolManageTreeVO.setIsGroup(Boolean.TRUE);
|
list.add(toolManageTreeVO);
|
});
|
List<ToolManageTreeVO> toolList = ((ToolManageMapper) this.baseMapper).getToolTreeList();
|
list.addAll(toolList);
|
return ForestNodeMerger.merge(list);
|
}
|
|
public MultipartFile toolManageExcelExport(String excelFileName, String sheetName, List<ToolManageExcel> toolManageExcels, List<Tool> toolManageList, Class<ToolManageExcel> clazz) throws Exception {
|
String fileName = new String(excelFileName.getBytes(), StandardCharsets.UTF_8);
|
DiskFileItemFactory factory = new DiskFileItemFactory();
|
factory.setRepository(new File(System.getProperty("java.io.tmpdir")));
|
FileItem fileItem = factory.createItem("excel", "application/vnd.ms-excel", true, fileName);
|
OutputStream os = fileItem.getOutputStream();
|
WriteCellStyle contentWriteCellStyleWarn = new WriteCellStyle();
|
contentWriteCellStyleWarn.setFillPatternType(FillPatternType.SOLID_FOREGROUND);
|
contentWriteCellStyleWarn.setFillForegroundColor(Short.valueOf(IndexedColors.YELLOW.getIndex()));
|
WriteCellStyle contentWriteCellStyleNormal = new WriteCellStyle();
|
WriteCellStyle contentWriteCellStyleCallThePolice = new WriteCellStyle();
|
contentWriteCellStyleCallThePolice.setFillPatternType(FillPatternType.SOLID_FOREGROUND);
|
contentWriteCellStyleCallThePolice.setFillForegroundColor(Short.valueOf(IndexedColors.RED.getIndex()));
|
List<WriteCellStyle> preList = new ArrayList<>();
|
toolManageExcels.forEach(toolManageExcel -> {
|
if (Objects.equals(toolManageExcel.getLifeState(), ToolLifeStateEnum.WARN.getDesc())) {
|
preList.add(contentWriteCellStyleWarn);
|
} else if (Objects.equals(toolManageExcel.getLifeState(), ToolLifeStateEnum.CALL_THE_POLICE.getDesc())) {
|
preList.add(contentWriteCellStyleCallThePolice);
|
} else {
|
preList.add(contentWriteCellStyleNormal);
|
}
|
});
|
WriteCellStyle headWriteCellStyle = new WriteCellStyle();
|
HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle, preList);
|
EasyExcel.write(os).head(getHead()).registerWriteHandler(horizontalCellStyleStrategy).registerWriteHandler(new CustomCellWriteHandler()).sheet(sheetName).doWrite(getData(toolManageList));
|
return new CommonsMultipartFile(fileItem);
|
}
|
|
public List<List<String>> getHead() {
|
List<List<String>> list = new ArrayList<>();
|
ToolManageExcel toolManageExcel = new ToolManageExcel();
|
Field[] fields = toolManageExcel.getClass().getDeclaredFields();
|
for (Field field : fields) {
|
field.setAccessible(true);
|
ExcelProperty annotation = field.getAnnotation(ExcelProperty.class);
|
if (Func.isNotEmpty(annotation)) {
|
List<String> head = new ArrayList<>(3);
|
head.add(annotation.value()[0]);
|
head.add(annotation.value()[1]);
|
head.add(annotation.value()[2]);
|
list.add(head);
|
}
|
}
|
List<ToolParameter> toolParameterList = this.toolParameterService.list((Wrapper) Wrappers.lambdaQuery().orderByAsc((v0) -> {
|
return v0.getToolParameterCode();
|
}));
|
List<String> toolParameterNameList = (List) toolParameterList.stream().map((v0) -> {
|
return v0.getToolParameterName();
|
}).collect(Collectors.toList());
|
Map<String, String> nameUnitMap = (Map) toolParameterList.stream().filter(item -> {
|
return Func.isNotEmpty(item.getToolParameterUnit());
|
}).collect(Collectors.toMap((v0) -> {
|
return v0.getToolParameterName();
|
}, (v0) -> {
|
return v0.getToolParameterUnit();
|
}));
|
for (String name : toolParameterNameList) {
|
List<String> head2 = new ArrayList<>();
|
head2.add(TOOL_EXCEL_NAME);
|
head2.add("");
|
head2.add(nameUnitMap.containsKey(name) ? name + "(" + nameUnitMap.get(name) + ")" : name);
|
list.add(head2);
|
}
|
return list;
|
}
|
|
public List<List<Object>> getData(List<Tool> toolManageList) throws IllegalAccessException, NoSuchFieldException {
|
Class<?> cls = Class.forName("org.springblade.modules.tool.excel.ToolManageExcel");
|
Field liftState = cls.getDeclaredField("lifeState");
|
List<String> toolParameterCodeList = (List) this.toolParameterService.list((Wrapper) Wrappers.lambdaQuery().orderByAsc((v0) -> {
|
return v0.getToolParameterCode();
|
})).stream().map((v0) -> {
|
return v0.getToolParameterCode();
|
}).collect(Collectors.toList());
|
List<List<Object>> list = new ArrayList<>();
|
for (Tool tool : toolManageList) {
|
ToolManageExcel toolManageExcel = ToolManageConvert.INSTANCE.convertToExcel(tool);
|
toolManageExcel.setUseState(Func.isNotEmpty(toolManageExcel.getUseState()) ? ToolUseStateEnum.findByCode(Integer.valueOf(toolManageExcel.getUseState())).getDesc() : null);
|
toolManageExcel.setLifeCountMethod(Func.isNotEmpty(toolManageExcel.getLifeCountMethod()) ? ToolLifeCountMethodEnum.findByCode(Integer.valueOf(toolManageExcel.getLifeCountMethod())).getDesc() : null);
|
toolManageExcel.setInitialLife(toolManageExcel.getInitialLife() + "次");
|
toolManageExcel.setUsedLife(toolManageExcel.getUsedLife() == null ? "0" : toolManageExcel.getUsedLife() + "次");
|
toolManageExcel.setRemainLife(toolManageExcel.getRemainLife() + "次");
|
List<Object> objectList = new ArrayList<>();
|
List<Field> fieldList = (List) Arrays.stream(toolManageExcel.getClass().getDeclaredFields()).filter(field -> {
|
return !field.equals(liftState);
|
}).collect(Collectors.toList());
|
for (Field field2 : fieldList) {
|
field2.setAccessible(true);
|
objectList.add(field2.get(toolManageExcel));
|
}
|
for (String code : toolParameterCodeList) {
|
Field field3 = Tool.class.getDeclaredField(code);
|
field3.setAccessible(true);
|
Object codeValue = field3.get(tool);
|
objectList.add(codeValue);
|
}
|
list.add(objectList);
|
}
|
return list;
|
}
|
}
|