package com.casic.missiles.utils; import com.casic.missiles.enums.quality.QualityTableEnum; import java.util.function.BiFunction; /** * 编码生成器 */ public class QualityNoUtil { /** * 编码信息 * * @param labCode 实验室编码 * @param groupNo 组编码 * @param tableEnum 枚举 * @param func 方法体 * @return */ public static String genMaxNo(String labCode, String groupNo, QualityTableEnum tableEnum, BiFunction<QualityTableEnum, String, Long> func) { String code = NoGeneratorUtil.getCode(tableEnum.getFileNoEnum().getCode(), labCode, tableEnum.getFileTypeEnum().getCode(), groupNo, 0l); String queryCode = code.substring(0, tableEnum.getFixedLength()); Long maxNo = func.apply(tableEnum, queryCode); String newCode = NoGeneratorUtil.getCode(tableEnum.getFileNoEnum().getCode(), labCode, tableEnum.getFileTypeEnum().getCode(), groupNo, maxNo); return newCode; } public static String convertToYearNo(String labCode, Integer yearTime, Integer yearNum) { return labCode + yearTime + yearNum; } }