package com.qianwen.smartman.modules.tool.service.impl; import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.support.SFunction; import java.lang.invoke.SerializedLambda; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.stream.Collectors; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.qianwen.smartman.common.constant.ExcelConstant; 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.tool.utils.DateUtil; import com.qianwen.core.tool.utils.Func; import com.qianwen.smartman.modules.cps.entity.Employee; import com.qianwen.smartman.modules.cps.service.IEmployeeService; import com.qianwen.smartman.modules.mdc.utils.ExcelStrategyUtil; import com.qianwen.smartman.modules.resource.builder.oss.OssBuilder; import com.qianwen.smartman.modules.tool.convert.ToolChangeRecordConvert; import com.qianwen.smartman.modules.tool.entity.Tool; import com.qianwen.smartman.modules.tool.entity.ToolChangeRecord; import com.qianwen.smartman.modules.tool.entity.ToolParameter; import com.qianwen.smartman.modules.tool.enums.ToolLifeCountMethodEnum; import com.qianwen.smartman.modules.tool.enums.ToolOperationTypeEnum; import com.qianwen.smartman.modules.tool.excel.ToolChangeRecordExcel; import com.qianwen.smartman.modules.tool.mapper.ToolChangeRecordMapper; import com.qianwen.smartman.modules.tool.service.IToolCategoryService; import com.qianwen.smartman.modules.tool.service.IToolChangeRecordService; import com.qianwen.smartman.modules.tool.service.IToolModelService; import com.qianwen.smartman.modules.tool.service.IToolParameterService; import com.qianwen.smartman.modules.tool.vo.ToolChangeRecordQueryVO; import com.qianwen.smartman.modules.tool.vo.ToolChangeRecordVO; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; @Service /* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/tool/service/impl/ToolChangeRecordServiceImpl.class */ public class ToolChangeRecordServiceImpl extends BaseServiceImpl implements IToolChangeRecordService { private static final Logger log = LoggerFactory.getLogger(ToolChangeRecordServiceImpl.class); private final IToolParameterService toolParameterService; private final OssBuilder ossBuilder; private final IEmployeeService employeeService; private final IToolModelService toolModelService; private final IToolCategoryService toolCategoryService; private static /* synthetic */ Object $deserializeLambda$(SerializedLambda lambda) { String implMethodName = lambda.getImplMethodName(); boolean z = true; switch (implMethodName.hashCode()) { case -1669172377: if (implMethodName.equals("getToolCategoryId")) { 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 1071464927: if (implMethodName.equals("getCreateTime")) { z = false; break; } break; case 1093811483: if (implMethodName.equals("getToolCode")) { 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/core/mp/base/BaseEntity") && lambda.getImplMethodSignature().equals("()Ljava/util/Date;")) { return (v0) -> { return v0.getCreateTime(); }; } 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/util/Date;")) { return (v0) -> { return v0.getCreateTime(); }; } 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/util/Date;")) { return (v0) -> { return v0.getCreateTime(); }; } 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/util/Date;")) { return (v0) -> { return v0.getCreateTime(); }; } 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/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/ToolChangeRecord") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) { return (v0) -> { return v0.getToolCategoryId(); }; } 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/ToolChangeRecord") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) { return (v0) -> { return v0.getToolCategoryId(); }; } 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/ToolChangeRecord") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) { return (v0) -> { return v0.getToolCode(); }; } 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/ToolChangeRecord") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) { return (v0) -> { return v0.getToolCode(); }; } 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(); }; } break; } throw new IllegalArgumentException("Invalid lambda deserialization"); } public ToolChangeRecordServiceImpl(final IToolParameterService toolParameterService, final OssBuilder ossBuilder, final IEmployeeService employeeService, final IToolModelService toolModelService, final IToolCategoryService toolCategoryService) { this.toolParameterService = toolParameterService; this.ossBuilder = ossBuilder; this.employeeService = employeeService; this.toolModelService = toolModelService; this.toolCategoryService = toolCategoryService; } @Override // org.springblade.modules.tool.service.IToolChangeRecordService public IPage pageToolChangeRecord(ToolChangeRecordQueryVO toolChangeRecordQueryVO, Query query) { IPage toolChangeRecordIPage = page(Condition.getPage(query), (Wrapper) Wrappers.lambdaQuery().eq(Func.isNotEmpty(toolChangeRecordQueryVO.getToolCategoryId()) && !Objects.equals(toolChangeRecordQueryVO.getToolCategoryId(), "1"), (v0) -> { return v0.getToolCategoryId(); }, toolChangeRecordQueryVO.getToolCategoryId()).likeRight(Func.isNotEmpty(toolChangeRecordQueryVO.getCode()), (v0) -> { return v0.getToolCode(); }, toolChangeRecordQueryVO.getCode()).between(Func.isNotEmpty(toolChangeRecordQueryVO.getStartTime()) && Func.isNotEmpty(toolChangeRecordQueryVO.getEndTime()), (v0) -> { return v0.getCreateTime(); }, toolChangeRecordQueryVO.getStartTime(), toolChangeRecordQueryVO.getEndTime()).orderByDesc((v0) -> { return v0.getCreateTime(); }, new SFunction[]{(v0) -> { return v0.getId(); }})); IPage toolChangeRecordVOIPage = ToolChangeRecordConvert.INSTANCE.convert(toolChangeRecordIPage); toolChangeRecordVOIPage.getRecords().forEach(toolChangeRecordVO -> { toolChangeRecordVO.setOperationType(Func.isNotEmpty(toolChangeRecordVO.getOperationType()) ? ToolOperationTypeEnum.findByCode(Integer.valueOf(toolChangeRecordVO.getOperationType())).getDesc() : null); }); return toolChangeRecordVOIPage; } @Override // org.springblade.modules.tool.service.IToolChangeRecordService public BladeFile exportToolChangeRecord(ToolChangeRecordQueryVO toolChangeRecordQueryVO) throws Exception { List> head = getHead(); List> data = getData(toolChangeRecordQueryVO); String fileName = String.format("%s-%s.xlsx", "装卸刀记录表", DateUtil.time()); MultipartFile multipartFile = ExcelStrategyUtil.customerStyleExport(fileName, ExcelConstant.SHEET, head, data); return this.ossBuilder.tempTemplate().putFile(multipartFile.getOriginalFilename(), multipartFile); } public List> getHead() { List> list = new ArrayList<>(); ToolChangeRecordExcel toolChangeRecordExcel = new ToolChangeRecordExcel(); Field[] fields = toolChangeRecordExcel.getClass().getDeclaredFields(); for (Field field : fields) { field.setAccessible(true); ExcelProperty annotation = field.getAnnotation(ExcelProperty.class); List head = new ArrayList<>(); head.add(annotation.value()[0]); list.add(head); } List toolParameterList = this.toolParameterService.list((Wrapper) Wrappers.lambdaQuery().orderByAsc((v0) -> { return v0.getToolParameterCode(); })); List toolParameterNameList = (List) toolParameterList.stream().map((v0) -> { return v0.getToolParameterName(); }).collect(Collectors.toList()); Map 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 head2 = new ArrayList<>(); head2.add(nameUnitMap.containsKey(name) ? name + "(" + nameUnitMap.get(name) + ")" : name); list.add(head2); } return list; } public List> getData(ToolChangeRecordQueryVO toolChangeRecordQueryVO) throws IllegalAccessException, NoSuchFieldException { List toolChangeRecords = list((Wrapper) Wrappers.lambdaQuery().eq(Func.isNotEmpty(toolChangeRecordQueryVO.getToolCategoryId()) && !Objects.equals(toolChangeRecordQueryVO.getToolCategoryId(), "1"), (v0) -> { return v0.getToolCategoryId(); }, toolChangeRecordQueryVO.getToolCategoryId()).likeRight(Func.isNotEmpty(toolChangeRecordQueryVO.getCode()), (v0) -> { return v0.getToolCode(); }, toolChangeRecordQueryVO.getCode()).between(Func.isNotEmpty(toolChangeRecordQueryVO.getStartTime()) && Func.isNotEmpty(toolChangeRecordQueryVO.getEndTime()), (v0) -> { return v0.getCreateTime(); }, toolChangeRecordQueryVO.getStartTime(), toolChangeRecordQueryVO.getEndTime()).orderByDesc((v0) -> { return v0.getCreateTime(); }, new SFunction[]{(v0) -> { return v0.getId(); }})); List toolParameterCodeList = (List) this.toolParameterService.list((Wrapper) Wrappers.lambdaQuery().orderByAsc((v0) -> { return v0.getToolParameterCode(); })).stream().map((v0) -> { return v0.getToolParameterCode(); }).collect(Collectors.toList()); List> list = new ArrayList<>(); for (ToolChangeRecord toolChangeRecord : toolChangeRecords) { ToolChangeRecordExcel toolChangeRecordExcel = ToolChangeRecordConvert.INSTANCE.convertToExcel(toolChangeRecord); toolChangeRecordExcel.setLifeCountMethod(Func.isNotEmpty(toolChangeRecord.getLifeCountMethod()) ? ToolLifeCountMethodEnum.findByCode(toolChangeRecord.getLifeCountMethod()).getDesc() : null); toolChangeRecordExcel.setOperationType(Func.isNotEmpty(toolChangeRecord.getOperationType()) ? ToolOperationTypeEnum.findByCode(toolChangeRecord.getOperationType()).getDesc() : null); List objectList = new ArrayList<>(); Field[] fields = toolChangeRecordExcel.getClass().getDeclaredFields(); for (Field field : fields) { field.setAccessible(true); objectList.add(field.get(toolChangeRecordExcel)); } for (String code : toolParameterCodeList) { Field field2 = ToolChangeRecord.class.getDeclaredField(code); field2.setAccessible(true); Object codeValue = field2.get(toolChangeRecord); objectList.add(codeValue); } list.add(objectList); } return list; } @Override // org.springblade.modules.tool.service.IToolChangeRecordService public void dischargeToolChangeRecord(List toolManageList, Long employeeId) { List toolChangeRecords = ToolChangeRecordConvert.INSTANCE.toolToConvert(toolManageList); Employee employee = (Employee) this.employeeService.getById(employeeId); Map modelNameMap = (Map) this.toolModelService.list().stream().collect(Collectors.toMap((v0) -> { return v0.getId(); }, (v0) -> { return v0.getModel(); })); Map categoryNameMap = (Map) this.toolCategoryService.list().stream().collect(Collectors.toMap((v0) -> { return v0.getId(); }, (v0) -> { return v0.getName(); })); if (Func.isEmpty(employee)) { throw new ServiceException(MessageUtils.message("sys.outer.user.not.bind.employee", new Object[0])); } toolChangeRecords.forEach(toolChangeRecord -> { toolChangeRecord.setToolModel((String) modelNameMap.get(toolChangeRecord.getToolModelId())); toolChangeRecord.setToolCategory((String) categoryNameMap.get(toolChangeRecord.getToolCategoryId())); toolChangeRecord.setEmployeeId(employeeId); toolChangeRecord.setEmployeeName(employee.getName()); toolChangeRecord.setOperationType(ToolOperationTypeEnum.DISCHARGE.getCode()); }); saveBatch(toolChangeRecords); } @Override // org.springblade.modules.tool.service.IToolChangeRecordService public void equipmentToolChangeRecord(Tool toolManage, Long employeeId) { Employee employee = (Employee) this.employeeService.getById(employeeId); Map modelNameMap = (Map) this.toolModelService.list().stream().collect(Collectors.toMap((v0) -> { return v0.getId(); }, (v0) -> { return v0.getModel(); })); Map categoryNameMap = (Map) this.toolCategoryService.list().stream().collect(Collectors.toMap((v0) -> { return v0.getId(); }, (v0) -> { return v0.getName(); })); if (Func.isEmpty(employee)) { throw new ServiceException(MessageUtils.message("sys.outer.user.not.bind.employee", new Object[0])); } ToolChangeRecord toolChangeRecord = ToolChangeRecordConvert.INSTANCE.toolToConvert(toolManage); toolChangeRecord.setEmployeeName(employee.getName()).setEmployeeId(employee.getId()).setOperationType(ToolOperationTypeEnum.EQUIP.getCode()); toolChangeRecord.setToolModel(modelNameMap.get(toolChangeRecord.getToolModelId())); toolChangeRecord.setToolCategory(categoryNameMap.get(toolChangeRecord.getToolCategoryId())); save(toolChangeRecord); } }