ludc
2025-01-15 d42f321ca241ab7f8bb3cdc71f11fe5ec4ebc48d
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
package com.vci.web.controller;
 
import com.vci.starter.web.annotation.log.VciBusinessLog;
import com.vci.starter.web.pagemodel.BaseQueryObject;
import com.vci.starter.web.pagemodel.BaseResult;
import com.vci.starter.web.pagemodel.DataGrid;
import com.vci.dto.OsCodeRuleDTO;
import com.vci.dto.OsCodeRuleProduceDTO;
import com.vci.pagemodel.OsCodeResultVO;
import com.vci.pagemodel.OsCodeRuleElementVO;
import com.vci.pagemodel.OsCodeRuleVO;
import com.vci.web.service.OsCodeRuleServiceI;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
 
import java.util.List;
 
/**
 * 编码规则的控制器
 * @author weidy
 * @date 2020/9/2 23:20
 */
@RestController
@VciBusinessLog(modelName="工装序列号")
@RequestMapping("/codeRuleController")
public class VciOsCodeRuleController  {
 
    /**
     * 编码规则的服务
     */
    @Autowired
    private OsCodeRuleServiceI codeRuleService;
 
    /**
     * 生成编码
     * @param codeRuleProduceDTO 编码规则的数据传输对象,需要有业务数据的内容,编码规则的编号或者主键
     * @return obj是生成的编码的值
     */
    @PostMapping( "/produceCode")
    @VciBusinessLog(operateName = "生成编码")
    public BaseResult<String> produceCode(OsCodeRuleProduceDTO codeRuleProduceDTO){
        return BaseResult.success(codeRuleService.produceCode(codeRuleProduceDTO));
    }
 
    /**
     * 批量生成编码
     * @param codeRuleProduceDTO 编码规则的数据传输对象,需要有业务数据的内容,编码规则的编号或者主键
     * @return obj是生成的编码的值
     */
    @PostMapping( "/batchProduceCode")
    @VciBusinessLog(operateName = "批量生成编码")
    public BaseResult<List<OsCodeResultVO>> batchProduceCode(OsCodeRuleProduceDTO codeRuleProduceDTO, Integer needAddQuantity){
        return BaseResult.success(codeRuleService.batchProduceCode(codeRuleProduceDTO,needAddQuantity));
    }
    /**
     * 编码规则的列表显示
     * @param queryObject 查询条件
     * @return 数据的显示对象
     */
    @GetMapping( "/dataGrid")
    @VciBusinessLog(operateName = "编码规则列表")
    public DataGrid<OsCodeRuleVO> dataGrid(BaseQueryObject queryObject){
        if(queryObject == null){
            queryObject = new BaseQueryObject();
        }
        return codeRuleService.dataGrid(queryObject.getConditionMap(),queryObject.getPageHelper());
    }
 
    /**
     * 编码规则的明细列表
     * @param pkRule 规则的主键
     * @param queryObject 查询条件,分页
     * @return 数据的显示对象
     */
    @GetMapping( "/dataGridElement")
    @VciBusinessLog(operateName = "编码规则明细列表")
    public DataGrid<OsCodeRuleElementVO> dataGridElement(String pkRule, BaseQueryObject queryObject){
        if(queryObject == null){
            queryObject = new BaseQueryObject();
        }
        if(StringUtils.isBlank(pkRule)){
            return new DataGrid<OsCodeRuleElementVO>();
        }
        return codeRuleService.dataGridElement(pkRule,queryObject.getConditionMap(),queryObject.getPageHelper());
    }
 
    /**
     * 添加编码规则
     * @param ruleDTO 规则的内容
     * @return 执行结果
     */
    @PostMapping("/addRule")
    @VciBusinessLog(operateName = "添加编码规则")
    public BaseResult addRule(@RequestBody OsCodeRuleDTO ruleDTO){
        return BaseResult.success(codeRuleService.addRule(ruleDTO));
    }
 
    /**
     * 修改编码规则
     * @param ruleDTO 规则的内容
     * @return 执行结果
     */
    @VciBusinessLog(operateName = "添加编码规则")
    @PostMapping( "/editRule")
    public BaseResult editRule(@RequestBody  OsCodeRuleDTO ruleDTO){
        return BaseResult.success(codeRuleService.editRule(ruleDTO));
    }
 
    /**
     * 删除编码规则,如果产生了流水号就不能删除
     * @param ruleDTO 规则的内容,必须有Oid和Ts的属性
     * @return 执行结果
     */
    @DeleteMapping("/deleteRule")
    public BaseResult deleteRule( OsCodeRuleDTO ruleDTO){
        codeRuleService.deleteRule(ruleDTO);
        return BaseResult.success();
    }
 
    /**
     * 停用编码规则
     * @param ruleDTO 规则的内容,必须有Oid和Ts的属性
     * @return 执行结果
     */
    @PostMapping( "/disableRule")
    public BaseResult disableRule( OsCodeRuleDTO ruleDTO){
        codeRuleService.disableRule(ruleDTO);
        return BaseResult.success();
    }
 
    /**
     * 启用编码规则
     * @param ruleDTO 规则的内容,必须有oid和ts的属性
     * @return 执行结果
     */
    @PostMapping("/enableRule")
    public BaseResult enableRule( OsCodeRuleDTO ruleDTO){
        codeRuleService.enableRule(ruleDTO);
        return BaseResult.success();
    }
 
    /**
     * 上移
     * @param codeRuleElementOid 元素的主键
     * @return 执行结果
     */
    @PostMapping("/upIndex")
    public BaseResult upIndex(String codeRuleElementOid){
        codeRuleService.upIndex(codeRuleElementOid);
        return BaseResult.success();
    }
 
    /**
     * 下移
     * @param codeRuleElementOid 元素的主键
     * @return 执行结果
     */
    @PostMapping("/downIndex")
    public BaseResult downIndex(String codeRuleElementOid){
        codeRuleService.downIndex(codeRuleElementOid);
        return BaseResult.success();
    }
}