1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package com.vci.ubcs.code.service;
 
import com.vci.web.pageModel.BatchCBO;
import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO;
import com.vci.ubcs.code.dto.CodeOrderSecDTO;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO;
import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
import plm.bs.bom.clientobject.ClientBusinessObject;
 
import java.util.Collection;
import java.util.List;
 
/**
 * 编码规则生成的服务
 * @author weidy
 * @date 2022-3-6
 */
public interface MdmProductCodeServiceI {
 
    /**
     * 生成编码--并且保存数据-方法加锁,因此不能返回batchCBO
     * @param classifyFullInfoBO 分类的全部信息
     * @param templateVO 模板的显示对象
     * @param ruleVO 编码规则的显示对象
     * @param secDTOList 各个码段的值
     * @param dataCBOList 业务数据
     */
    List<String> productCodeAndSaveData(CodeClassifyFullInfoBO classifyFullInfoBO, CodeClassifyTemplateVO templateVO,
                                        CodeRuleVO ruleVO, List<CodeOrderSecDTO> secDTOList, List<ClientBusinessObject> dataCBOList);
 
    /**
     * 回收码值
     * @param btmId 业务数据的业务类型
     * @param businessOidCollection 业务数据的主键
     * @return 受影响的数据内容
     */
    BatchCBO recycleCode(String btmId, Collection<String> businessOidCollection);
}