| | |
| | | /* |
| | | * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. |
| | | * |
| | | * Redistribution and use in source and binary forms, with or without |
| | | * modification, are permitted provided that the following conditions are met: |
| | | * |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | * this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright |
| | | * notice, this list of conditions and the following disclaimer in the |
| | | * documentation and/or other materials provided with the distribution. |
| | | * Neither the name of the dreamlu.net developer nor the names of its |
| | | * contributors may be used to endorse or promote products derived from |
| | | * this software without specific prior written permission. |
| | | * Author: Chill 庄骞 (smallchill@163.com) |
| | | */ |
| | | package com.vci.ubcs.code.controller; |
| | | |
| | | |
| | | import com.vci.ubcs.code.service.CodeRuleServiceI; |
| | | import com.vci.starter.web.pagemodel.BaseQueryObject; |
| | | import com.vci.starter.web.pagemodel.BaseResult; |
| | | import com.vci.starter.web.pagemodel.DataGrid; |
| | | import com.vci.starter.web.util.VciBaseUtil; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; |
| | | import com.vci.ubcs.code.dto.CodeRuleDTO; |
| | | import com.vci.ubcs.code.entity.CodeRule; |
| | | import com.vci.ubcs.code.service.ICodeRuleService; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import com.vci.ubcs.code.wrapper.CodeRuleWrapper; |
| | | import com.vci.ubcs.starter.web.pagemodel.BladeQueryObject; |
| | | import com.vci.ubcs.starter.web.util.VciBaseUtil; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springblade.core.boot.ctrl.BladeController; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.validation.Valid; |
| | | import java.rmi.ServerException; |
| | | import java.util.Collection; |
| | | import java.util.Map; |
| | | |
| | | |
| | | /** |
| | | * 主数据编码规则控制器 |
| | | * 编码规则 控制器 |
| | | * |
| | | * @author weidy |
| | | * @date 2022-01-24 |
| | | * @author ludc |
| | | * @since 2023-04-03 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/mdmRuleController") |
| | | public class CodeRuleController { |
| | | /** |
| | | * 主数据编码规则 服务 |
| | | */ |
| | | @Autowired |
| | | private CodeRuleServiceI codeRuleService; |
| | | @AllArgsConstructor |
| | | @RequestMapping("/mdmRule") |
| | | @Api(value = "编码规则", tags = "编码规则接口") |
| | | public class CodeRuleController extends BladeController { |
| | | |
| | | /** |
| | | * 主数据编码规则列表 |
| | | * @param baseQueryObject 基础查询对象,包含查询条件,分页,排序等 |
| | | * @return 主数据编码规则显示对象列表 |
| | | */ |
| | | @GetMapping("/gridCodeRule") |
| | | public DataGrid<CodeRuleVO> gridCodeRule(BaseQueryObject baseQueryObject){ |
| | | if(baseQueryObject == null){ |
| | | baseQueryObject = new BaseQueryObject(); |
| | | } |
| | | DataGrid<CodeRuleVO> result = codeRuleService.gridCodeRule(baseQueryObject.getConditionMap(),baseQueryObject.getPageHelper()); |
| | | return result; |
| | | } |
| | | /** |
| | | * 增加 主数据编码规则 |
| | | * @param codeRuleDTO 主数据编码规则数据传输对象 |
| | | * @return 执行结果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象 |
| | | */ |
| | | @PostMapping( "/addSave") |
| | | public BaseResult<CodeRuleVO> addSave(@RequestBody CodeRuleDTO codeRuleDTO){ |
| | | CodeRuleVO codeRuleVO = codeRuleService.addSave(codeRuleDTO); |
| | | return BaseResult.success(codeRuleVO); |
| | | } |
| | | private final ICodeRuleService codeRuleService; |
| | | |
| | | /** |
| | | * 修改 主数据编码规则 |
| | | * @param codeRuleDTO 主数据编码规则数据传输对象 |
| | | * @return 执行结果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象 |
| | | */ |
| | | @PutMapping("/editSave") |
| | | public BaseResult<CodeRuleVO> editSave(@RequestBody CodeRuleDTO codeRuleDTO){ |
| | | CodeRuleVO codeRuleVO = codeRuleService.editSave(codeRuleDTO); |
| | | return BaseResult.success(codeRuleVO); |
| | | } |
| | | /** |
| | | * 编码规则 详情 |
| | | */ |
| | | @GetMapping("/detail") |
| | | @ApiOperationSupport(order = 1) |
| | | @ApiOperation(value = "详情", notes = "传入codeRule") |
| | | public R<CodeRuleVO> detail(CodeRule codeRule) { |
| | | CodeRule detail = codeRuleService.getOne(Condition.getQueryWrapper(codeRule)); |
| | | return R.data(CodeRuleWrapper.build().entityVO(detail)); |
| | | } |
| | | |
| | | /** |
| | | * 编码规则 自定义分页 |
| | | * @return baseQueryObject |
| | | */ |
| | | @GetMapping(value = "/gridCodeRule") |
| | | @ApiOperationSupport(order = 3) |
| | | @ApiOperation(value = "分页", notes = "传入CodeRule") |
| | | public R<IPage<CodeRuleVO>> gridCodeRule(BladeQueryObject bladeQueryObject) { |
| | | IPage<CodeRuleVO> pages = codeRuleService.gridCodeRule(bladeQueryObject.getQuery().setDescs("CREATETIME"), bladeQueryObject.getConditionMap()); |
| | | return R.data(pages); |
| | | } |
| | | |
| | | /** |
| | | * 删除主数据编码规则 |
| | | * @param codeRuleDTO 主数据编码规则数据传输对象,oid和ts需要传输 |
| | | * @return 删除结果反馈::success:成功,fail:失败 |
| | | */ |
| | | @DeleteMapping( "/deleteData") |
| | | public BaseResult delCodeRule( CodeRuleDTO codeRuleDTO) { |
| | | return codeRuleService.deleteCodeRule(codeRuleDTO); |
| | | } |
| | | /** |
| | | * 增加 主数据编码规则 |
| | | * @param codeRuleDTO 主数据编码规则数据传输对象 |
| | | * @return 执行结果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象 |
| | | */ |
| | | @PostMapping("/addCode") |
| | | @ApiOperationSupport(order = 4) |
| | | @ApiOperation(value = "新增", notes = "传入CodeRule") |
| | | public R save(@Valid @RequestBody CodeRuleDTO codeRuleDTO) { |
| | | return codeRuleService.addSave(codeRuleDTO); |
| | | } |
| | | |
| | | /** |
| | | * 主键获取主数据编码规则 |
| | | * @param oid 主键 |
| | | * @return 主数据编码规则显示对象 |
| | | */ |
| | | @GetMapping("/getObjectByOid") |
| | | public BaseResult<CodeRuleVO> getObjectByOid(String oid){ |
| | | CodeRuleVO codeRuleVO = codeRuleService.getObjectByOid(oid); |
| | | return BaseResult.success(codeRuleVO); |
| | | } |
| | | /** |
| | | * 修改 主数据编码规则 |
| | | * @param codeRuleDTO 主数据编码规则数据传输对象 |
| | | * @return 执行结果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象 |
| | | */ |
| | | @PostMapping("/update") |
| | | @ApiOperationSupport(order = 5) |
| | | @ApiOperation(value = "修改", notes = "传入CodeRule") |
| | | public R update(@Valid @RequestBody CodeRuleDTO codeRuleDTO) { |
| | | return codeRuleService.editSave(codeRuleDTO); |
| | | } |
| | | |
| | | /** |
| | | * 主键批量获取主数据编码规则 |
| | | * @param oids 主键,多个以逗号分隔,但是受性能影响,建议一次查询不超过10000个 |
| | | * @return 主数据编码规则显示对象 |
| | | */ |
| | | @GetMapping("/listDataByOids") |
| | | public BaseResult<CodeRuleVO> listCodeRuleByOids(String oids){ |
| | | Collection<CodeRuleVO> voCollection = codeRuleService.listCodeRuleByOids(VciBaseUtil.str2List(oids)); |
| | | BaseResult baseResult = BaseResult.success(); |
| | | baseResult.setData(voCollection); |
| | | return baseResult; |
| | | } |
| | | /** |
| | | * 删除主数据编码规则 |
| | | * @param codeRuleDTO 主数据编码规则数据传输对象,oid和ts需要传输 |
| | | * @return 删除结果反馈::success:成功,fail:失败 |
| | | */ |
| | | @DeleteMapping( "/deleteData") |
| | | @ApiOperationSupport(order = 7) |
| | | @ApiOperation(value = "删除", notes = "传入codeRuleDTO") |
| | | public R delCodeRule(@RequestBody CodeRuleDTO codeRuleDTO) { |
| | | return codeRuleService.deleteCodeRule(codeRuleDTO); |
| | | } |
| | | |
| | | /** |
| | | * 主键获取主数据编码规则 |
| | | * @param oid 主键 |
| | | * @return 主数据编码规则显示对象 |
| | | */ |
| | | @GetMapping("/getObjectByOid") |
| | | @ApiOperationSupport(order = 8) |
| | | @ApiOperation(value = "主键获取主数据编码规则", notes = "传入oid") |
| | | public R<CodeRuleVO> getObjectByOid(@Valid @RequestParam String oid){ |
| | | CodeRuleVO codeRuleVO = codeRuleService.getObjectByOid(oid); |
| | | return R.data(codeRuleVO); |
| | | } |
| | | |
| | | /** |
| | | * 主键批量获取主数据编码规则 |
| | | * @param oids 主键,多个以逗号分隔,但是受性能影响,建议一次查询不超过10000个 |
| | | * @return 主数据编码规则显示对象 |
| | | */ |
| | | @GetMapping("/listDataByOids") |
| | | @ApiOperationSupport(order = 9) |
| | | @ApiOperation(value = "主键批量获取主数据编码规则", notes = "传入oids") |
| | | public R<Collection<CodeRuleVO>> listCodeRuleByOids(@Valid @RequestParam String oids){ |
| | | Collection<CodeRuleVO> voCollection = codeRuleService.listCodeRuleByOids(VciBaseUtil.str2List(oids)); |
| | | return R.data(voCollection); |
| | | } |
| | | |
| | | /** |
| | | * 参照主数据编码规则列表 |
| | | * @param baseQueryObject 基础查询对象,包含查询条件,分页,排序等 |
| | | * @return 主数据编码规则显示对象列表,生效的内容 |
| | | */ |
| | | @GetMapping("/refDataGrid") |
| | | public DataGrid<CodeRuleVO> refDataGridCodeRule(BaseQueryObject baseQueryObject){ |
| | | if(baseQueryObject == null){ |
| | | baseQueryObject = new BaseQueryObject(); |
| | | } |
| | | return codeRuleService.refDataGridCodeRule(baseQueryObject.getConditionMap(),baseQueryObject.getPageHelper()); |
| | | } |
| | | /** |
| | | * 参照主数据编码规则列表 |
| | | * @param bladeQueryObject |
| | | * @return 主数据编码规则显示对象列表,生效的内容 |
| | | */ |
| | | @GetMapping("/refDataGrid") |
| | | @ApiOperationSupport(order = 10) |
| | | @ApiOperation(value = "参照主数据编码规则列表", notes = "传入oids") |
| | | public R<IPage<CodeRuleVO>> refDataGridCodeRule(BladeQueryObject bladeQueryObject){ |
| | | return R.data(codeRuleService.refDataGridCodeRule(bladeQueryObject)); |
| | | } |
| | | |
| | | /** |
| | | * 查看主数据编码规则的使用范围 |
| | | * @param oid 主键 |
| | | * @return 使用范围 |
| | | */ |
| | | @GetMapping("/listUseRange") |
| | | public BaseResult<CodeClassifyVO> listUseRange(String oid){ |
| | | Collection<CodeClassifyVO> voList = codeRuleService.listUseRangeInCodeClassify(oid); |
| | | BaseResult baseResult = BaseResult.success(); |
| | | baseResult.setData(voList); |
| | | return baseResult; |
| | | } |
| | | /** |
| | | * 查看主数据编码规则的使用范围 |
| | | * @param oid 主键 |
| | | * @return 使用范围 |
| | | */ |
| | | @GetMapping("/listUseRange") |
| | | @ApiOperationSupport(order = 11) |
| | | @ApiOperation(value = "查看主数据编码规则的使用范围", notes = "传入oid") |
| | | public R<Collection<CodeClassifyVO>> listUseRange(@Valid @RequestParam String oid){ |
| | | Collection<CodeClassifyVO> voList = codeRuleService.listUseRangeInCodeClassify(oid); |
| | | return R.data(voList); |
| | | } |
| | | |
| | | /** |
| | | * 停用与启用编码规则 |
| | | * @param map 封装参数,包括oid 编码规则主键 update 更新状态的操作 |
| | | * @return 执行结果 |
| | | */ |
| | | @PostMapping ("/updateStatus") |
| | | public BaseResult updateStatus(@RequestBody Map<String,String> map){ |
| | | if (CollectionUtils.isEmpty(map)){ |
| | | return BaseResult.fail("参数错误"); |
| | | } |
| | | String oid = map.get("oid"); |
| | | String update = map.get("update"); |
| | | return codeRuleService.updateStatus(oid,update); |
| | | } |
| | | /** |
| | | * 停用与启用编码规则 |
| | | * @param map 封装参数,包括oid 编码规则主键 update 更新状态的操作 |
| | | * @return 执行结果 |
| | | */ |
| | | @PostMapping ("/updateStatus") |
| | | @ApiOperationSupport(order = 12) |
| | | @ApiOperation(value = "停用与启用编码规则", notes = "传入map") |
| | | public R updateStatus(@Valid @RequestBody Map<String,String> map){ |
| | | if (CollectionUtils.isEmpty(map)){ |
| | | return R.fail("参数错误"); |
| | | } |
| | | String oid = map.get("oid"); |
| | | String update = map.get("update"); |
| | | return codeRuleService.updateStatus(oid,update); |
| | | } |
| | | |
| | | /** |
| | | * 克隆编码规则 |
| | | * @param codeRuleDTO 主数据编码规则数据传输对象,oid和ts需要传输 |
| | | * @return 主数据编码规则显示对象 |
| | | */ |
| | | @PostMapping("/clone") |
| | | public BaseResult cloneCodeRule(@RequestBody CodeRuleDTO codeRuleDTO){ |
| | | return codeRuleService.cloneCodeRule(codeRuleDTO); |
| | | } |
| | | /** |
| | | * 克隆编码规则 |
| | | * @param codeRuleDTO 主数据编码规则数据传输对象,oid和ts需要传输 |
| | | * @return 主数据编码规则显示对象 |
| | | */ |
| | | @PostMapping("/clone") |
| | | @ApiOperationSupport(order = 13) |
| | | @ApiOperation(value = "克隆编码规则", notes = "传入codeRuleDTO") |
| | | public R cloneCodeRule(@RequestBody CodeRuleDTO codeRuleDTO) throws ServerException { |
| | | return codeRuleService.cloneCodeRule(codeRuleDTO); |
| | | } |
| | | |
| | | /** |
| | | * 编码规则清空所有已生成的编码 |
| | | * @param oid 编码规则主键 |
| | | * @return 执行结果 |
| | | */ |
| | | @DeleteMapping("/clearAllCode") |
| | | public BaseResult clearAllCode(String oid){ |
| | | return codeRuleService.clearAllCode(oid); |
| | | } |
| | | /** |
| | | * 编码规则清空所有已生成的编码 |
| | | * @param oid 编码规则主键 |
| | | * @return 执行结果 |
| | | */ |
| | | @DeleteMapping("/clearAllCode") |
| | | @ApiOperationSupport(order = 14) |
| | | @ApiOperation(value = "编码规则清空所有已生成的编码", notes = "传入oid") |
| | | public R clearAllCode(String oid){ |
| | | return codeRuleService.clearAllCode(oid); |
| | | } |
| | | |
| | | /** |
| | | * 检查相似编码规则 |
| | | * @param oid |
| | | * @return 执行结果 |
| | | */ |
| | | @GetMapping("/checkLikeCodeRule") |
| | | @ApiOperationSupport(order = 15) |
| | | @ApiOperation(value = "检查相似编码规则", notes = "传入oid") |
| | | public R checkLikeCodeRule(@Valid @RequestParam String oid){ |
| | | return codeRuleService.checkLikeCodeRule(oid); |
| | | } |
| | | |
| | | } |