Newer
Older
casic-metering-biz-xichang / casic-metering-common / src / main / java / com / casic / missiles / utils / QualityNoUtil.java
liwenhao on 10 Nov 2023 1 KB 内审年度编码调整
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;
    }
}