package org.springblade.code.controller;
|
|
import com.vci.mdm.dto.CodeRuleDTO;
|
import com.vci.mdm.pagemodel.CodeClassifyVO;
|
import com.vci.mdm.pagemodel.CodeRuleVO;
|
import com.vci.mdm.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 org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.util.CollectionUtils;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.Collection;
|
import java.util.Map;
|
|
|
/**
|
* 主数据编码规则控制器
|
*
|
* @author weidy
|
* @date 2022-01-24
|
*/
|
@RestController
|
@RequestMapping("/mdmRuleController")
|
public class CodeRuleController {
|
/**
|
* 主数据编码规则 服务
|
*/
|
@Autowired
|
private CodeRuleServiceI codeRuleService;
|
|
/**
|
* 主数据编码规则列表
|
* @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);
|
}
|
|
/**
|
* 修改 主数据编码规则
|
* @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);
|
}
|
|
|
/**
|
* 删除主数据编码规则
|
* @param codeRuleDTO 主数据编码规则数据传输对象,oid和ts需要传输
|
* @return 删除结果反馈::success:成功,fail:失败
|
*/
|
@DeleteMapping( "/deleteData")
|
public BaseResult delCodeRule( CodeRuleDTO codeRuleDTO) {
|
return codeRuleService.deleteCodeRule(codeRuleDTO);
|
}
|
|
/**
|
* 主键获取主数据编码规则
|
* @param oid 主键
|
* @return 主数据编码规则显示对象
|
*/
|
@GetMapping("/getObjectByOid")
|
public BaseResult<CodeRuleVO> getObjectByOid(String oid){
|
CodeRuleVO codeRuleVO = codeRuleService.getObjectByOid(oid);
|
return BaseResult.success(codeRuleVO);
|
}
|
|
/**
|
* 主键批量获取主数据编码规则
|
* @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 baseQueryObject 基础查询对象,包含查询条件,分页,排序等
|
* @return 主数据编码规则显示对象列表,生效的内容
|
*/
|
@GetMapping("/refDataGrid")
|
public DataGrid<CodeRuleVO> refDataGridCodeRule(BaseQueryObject baseQueryObject){
|
if(baseQueryObject == null){
|
baseQueryObject = new BaseQueryObject();
|
}
|
return codeRuleService.refDataGridCodeRule(baseQueryObject.getConditionMap(),baseQueryObject.getPageHelper());
|
}
|
|
/**
|
* 查看主数据编码规则的使用范围
|
* @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 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 codeRuleDTO 主数据编码规则数据传输对象,oid和ts需要传输
|
* @return 主数据编码规则显示对象
|
*/
|
@PostMapping("/clone")
|
public BaseResult cloneCodeRule(@RequestBody CodeRuleDTO codeRuleDTO){
|
return codeRuleService.cloneCodeRule(codeRuleDTO);
|
}
|
|
/**
|
* 编码规则清空所有已生成的编码
|
* @param oid 编码规则主键
|
* @return 执行结果
|
*/
|
@DeleteMapping("/clearAllCode")
|
public BaseResult clearAllCode(String oid){
|
return codeRuleService.clearAllCode(oid);
|
}
|
}
|