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;
}
}