package com.vci.ubcs.code.service; import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; import com.vci.ubcs.code.dto.CodeOrderSecDTO; import com.vci.ubcs.code.vo.pagemodel.CodeBasicSecVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; import com.vci.ubcs.starter.revision.model.BaseModel; import org.springblade.core.secure.BladeUser; import java.util.Collection; import java.util.List; public interface MdmProductCodeService { /** * 生成编码--并且保存数据-方法加锁,因此不能返回batchCBO * @param classifyFullInfoBO 分类的全部信息 * @param templateVO 模板的显示对象 * @param ruleVO 编码规则的显示对象 * @param secDTOList 各个码段的值 * @param dataCBOList 业务数据 */ List productCodeAndSaveData(CodeClassifyFullInfoBO classifyFullInfoBO, CodeClassifyTemplateVO templateVO, CodeRuleVO ruleVO, List secDTOList, List dataCBOList, BladeUser user) throws Exception; /** * 回收码值 * @param btmId 业务数据的业务类型 * @param businessOidCollection 业务数据的主键 * @return 是否更新成功 */ Boolean recycleCode(String btmId, Collection businessOidCollection); /** * 生成编码--并且保存数据-方法加锁,因此不能返回batchCBO * @param classifyFullInfoBO 分类的全部信息 * @param templateVO 模板的显示对象 * @param ruleVO 编码规则的显示对象 * @param secDTOList 各个码段的值 * @param dataCBOList 业务数据 */ List productCodeAndSaveDataBZ(CodeClassifyFullInfoBO classifyFullInfoBO, CodeClassifyTemplateVO templateVO, CodeRuleVO ruleVO, List secDTOList, List dataCBOList) throws Exception; /** * 码段前后缀拼接 * @param secVO * @param secValue * @return */ String joinPreffixAndSuffix(CodeBasicSecVO secVO, String secValue); }