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.web.dto.OsCodeRuleDTO; import com.vci.web.dto.OsCodeRuleProduceDTO; import com.vci.web.pageModel.OsCodeResultVO; import com.vci.web.pageModel.OsCodeRuleElementVO; import com.vci.web.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 produceCode(OsCodeRuleProduceDTO codeRuleProduceDTO){ return BaseResult.success(codeRuleService.produceCode(codeRuleProduceDTO)); } /** * 批量生成编码 * @param codeRuleProduceDTO 编码规则的数据传输对象,需要有业务数据的内容,编码规则的编号或者主键 * @return obj是生成的编码的值 */ @PostMapping( "/batchProduceCode") @VciBusinessLog(operateName = "批量生成编码") public BaseResult> batchProduceCode(OsCodeRuleProduceDTO codeRuleProduceDTO, Integer needAddQuantity){ return BaseResult.success(codeRuleService.batchProduceCode(codeRuleProduceDTO,needAddQuantity)); } /** * 编码规则的列表显示 * @param queryObject 查询条件 * @return 数据的显示对象 */ @GetMapping( "/dataGrid") @VciBusinessLog(operateName = "编码规则列表") public DataGrid 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 dataGridElement(String pkRule, BaseQueryObject queryObject){ if(queryObject == null){ queryObject = new BaseQueryObject(); } if(StringUtils.isBlank(pkRule)){ return new DataGrid(); } 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(); } }