| | |
| | | /* |
| | | * 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.CodeClassifyServiceI; |
| | | import com.vci.starter.web.pagemodel.*; |
| | | import com.vci.starter.web.util.ControllerUtil; |
| | | import com.vci.starter.web.util.LangBaseUtil; |
| | | import com.vci.starter.web.util.LocalFileUtil; |
| | | import com.vci.starter.web.util.VciBaseUtil; |
| | | import com.vci.web.pageModel.OsAttributeVO; |
| | | import org.apache.commons.lang.StringUtils; |
| | | import com.vci.ubcs.code.dto.CodeClassifyDTO; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; |
| | | import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; |
| | | import com.vci.ubcs.code.entity.CodeClassify; |
| | | import com.vci.ubcs.code.mapper.CodeClassifyMapper; |
| | | import com.vci.ubcs.code.service.ICodeClassifyService; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeImProtRusultVO; |
| | | import com.vci.ubcs.code.wrapper.CodeClassifyWrapper; |
| | | import com.vci.ubcs.omd.vo.BtmTypeAttributeVO; |
| | | import com.vci.ubcs.starter.revision.model.TreeQueryObject; |
| | | import com.vci.ubcs.starter.util.LocalFileUtil; |
| | | import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject; |
| | | import com.vci.ubcs.starter.web.pagemodel.DataGrid; |
| | | import com.vci.ubcs.starter.web.pagemodel.Tree; |
| | | import com.vci.ubcs.starter.web.util.ControllerUtil; |
| | | import com.vci.ubcs.starter.web.util.LangBaseUtil; |
| | | import com.vci.ubcs.starter.web.util.VciBaseUtil; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import io.swagger.annotations.ApiParam; |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.extern.log4j.Log4j; |
| | | import lombok.extern.log4j.Log4j2; |
| | | import org.springblade.core.boot.ctrl.BladeController; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.core.tool.utils.StringUtil; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import javax.validation.Valid; |
| | | import java.io.File; |
| | | import java.io.IOException; |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.util.Collection; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | import static com.vci.frameworkcore.constant.FrameWorkDefaultValueConstant.FRAMEWORK_DATA_DISABLED; |
| | | import static com.vci.frameworkcore.constant.FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED; |
| | | import static com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant.FRAMEWORK_DATA_DISABLED; |
| | | import static com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED; |
| | | |
| | | /** |
| | | * 主题库分类控制器 |
| | | * 主题库定义表 控制器 |
| | | * |
| | | * @author weidy |
| | | * @date 2022-01-20 |
| | | * @author yuxc |
| | | * @since 2023-04-06 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/codeClassifyController") |
| | | public class CodeClassifyController { |
| | | /** |
| | | * 主题库分类 服务 |
| | | */ |
| | | @Autowired |
| | | private CodeClassifyServiceI codeClassifyService; |
| | | @AllArgsConstructor |
| | | @RequestMapping("/codeClassify") |
| | | @Api(value = "主题库定义表", tags = "主题库定义表接口") |
| | | @Log4j2 |
| | | public class CodeClassifyController extends BladeController { |
| | | |
| | | /** |
| | | * 主题库分类树 |
| | | * @param treeQueryObject 树形查询对象 |
| | | * @return 主题库分类显示树 |
| | | */ |
| | | @GetMapping("/treeCodeClassify") |
| | | public List<Tree> treeCodeClassify(TreeQueryObject treeQueryObject) { |
| | | return codeClassifyService.treeCodeClassify(treeQueryObject); |
| | | } |
| | | private final ICodeClassifyService codeClassifyService; |
| | | |
| | | /** |
| | | * 主题库的树 |
| | | * @param treeQueryObject 树形查询对象 |
| | | * @return 主题库显示树 |
| | | */ |
| | | @GetMapping("/treeTopCodeClassify") |
| | | public List<Tree> treeTopCodeClassify(TreeQueryObject treeQueryObject){ |
| | | return codeClassifyService.treeTopCodeClassify(treeQueryObject); |
| | | } |
| | | CodeClassifyMapper codeClassifyMapper; |
| | | |
| | | /** |
| | | * 增加 主题库分类 |
| | | * @param codeClassifyDTO 主题库分类数据传输对象 |
| | | * @return 执行结果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象 |
| | | */ |
| | | @PostMapping( "/addSave") |
| | | public BaseResult<CodeClassifyVO> addSave(@RequestBody CodeClassifyDTO codeClassifyDTO){ |
| | | if(codeClassifyDTO.getOrdernum()==null){ |
| | | codeClassifyDTO.setOrdernum(0); |
| | | } |
| | | CodeClassifyVO codeClassifyVO = codeClassifyService.addSave(codeClassifyDTO); |
| | | return BaseResult.success(codeClassifyVO); |
| | | } |
| | | /** |
| | | * 主题库定义表 详情 |
| | | */ |
| | | @GetMapping("/detail") |
| | | @ApiOperationSupport(order = 1) |
| | | @ApiOperation(value = "详情", notes = "传入plCodeClassify") |
| | | public R<CodeClassifyVO> detail(CodeClassify codeClassify) { |
| | | CodeClassify detail = codeClassifyMapper.selectOne(Condition.getQueryWrapper(codeClassify)); |
| | | return R.data(CodeClassifyWrapper.build().entityVO(detail)); |
| | | } |
| | | |
| | | /** |
| | | * 修改 主题库分类 |
| | | * @param codeClassifyDTO 主题库分类数据传输对象 |
| | | * @return 执行结果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象 |
| | | */ |
| | | @PutMapping("/editSave") |
| | | public BaseResult<CodeClassifyVO> editSave(@RequestBody CodeClassifyDTO codeClassifyDTO){ |
| | | return codeClassifyService.editSave(codeClassifyDTO); |
| | | } |
| | | /** |
| | | * 主题库分类树 |
| | | * @param treeQueryObject 树形查询对象 |
| | | * @return 主题库分类显示树 |
| | | */ |
| | | @GetMapping("/treeCodeClassify") |
| | | public List<Tree> treeCodeClassify(TreeQueryObject treeQueryObject) { |
| | | return codeClassifyService.treeCodeClassify(treeQueryObject); |
| | | } |
| | | |
| | | /** |
| | | * 检查 主题库分类是否删除 |
| | | * @param codeClassifyDTO 主题库分类数据传输对象,必须要有oid和ts属性 |
| | | * @return 执行结果 success为true为可以删除,false表示有数据引用,obj为true表示有下级 |
| | | */ |
| | | @PostMapping( "/checkIsCanDelete") |
| | | public BaseResult checkIsCanDelete(CodeClassifyDTO codeClassifyDTO) { |
| | | return codeClassifyService.checkIsCanDelete(codeClassifyDTO); |
| | | } |
| | | /** |
| | | * 主题库定义表 分页 |
| | | */ |
| | | @GetMapping("/list") |
| | | @ApiOperationSupport(order = 2) |
| | | @ApiOperation(value = "分页", notes = "传入plCodeClassify") |
| | | public R<IPage<CodeClassifyVO>> list(CodeClassify codeClassify, Query query) { |
| | | IPage<CodeClassify> pages = codeClassifyMapper.selectPage(Condition.getPage(query), Condition.getQueryWrapper(codeClassify)); |
| | | return R.data(CodeClassifyWrapper.build().pageVO(pages)); |
| | | } |
| | | |
| | | /** |
| | | * 删除主题库分类 |
| | | * @param codeClassifyDTO,oid和ts需要传输 |
| | | * @return 删除结果反馈::success:成功,fail:失败 |
| | | */ |
| | | @DeleteMapping( "/deleteData") |
| | | public BaseResult delCodeClassify(CodeClassifyDTO codeClassifyDTO) { |
| | | return codeClassifyService.deleteCodeClassify(codeClassifyDTO); |
| | | } |
| | | /** |
| | | * 主题库定义表 自定义分页 |
| | | */ |
| | | @GetMapping("/page") |
| | | @ApiOperationSupport(order = 3) |
| | | @ApiOperation(value = "分页", notes = "传入plCodeClassify") |
| | | public R<IPage<CodeClassifyVO>> page(CodeClassifyVO codeClassify, Query query) { |
| | | IPage<CodeClassifyVO> pages = codeClassifyService.selectPlCodeClassifyPage(Condition.getPage(query), codeClassify); |
| | | return R.data(pages); |
| | | } |
| | | |
| | | /** |
| | | * 启用 |
| | | * @param codeClassifyDTO |
| | | * @return |
| | | */ |
| | | @PostMapping( "/enableData") |
| | | public BaseResult enable(CodeClassifyDTO codeClassifyDTO) { |
| | | return codeClassifyService.updateLcStatus(codeClassifyDTO.getOid(),FRAMEWORK_DATA_ENABLED); |
| | | } |
| | | /** |
| | | * 主题库定义表 新增 |
| | | * @param |
| | | */ |
| | | @PostMapping("/save") |
| | | @ApiOperationSupport(order = 4) |
| | | @ApiOperation(value = "新增", notes = "传入plCodeClassify") |
| | | public R save(@Valid @RequestBody CodeClassify codeClassify) { |
| | | if(codeClassify.getOrderNum() == null){ |
| | | codeClassify.setOrderNum(0); |
| | | } |
| | | return codeClassifyService.addSave(codeClassify); |
| | | } |
| | | |
| | | /** |
| | | * 停用 |
| | | * @param codeClassifyDTO |
| | | * @return |
| | | */ |
| | | @PostMapping( "/disableData") |
| | | public BaseResult disable(CodeClassifyDTO codeClassifyDTO) { |
| | | return codeClassifyService.updateLcStatus(codeClassifyDTO.getOid(),FRAMEWORK_DATA_DISABLED); |
| | | } |
| | | /** |
| | | * 主题库定义表 修改 |
| | | */ |
| | | @PostMapping("/editSave") |
| | | @ApiOperationSupport(order = 5) |
| | | @ApiOperation(value = "修改", notes = "传入plCodeClassify") |
| | | public R editSave(@Valid @RequestBody CodeClassify codeClassify) { |
| | | return codeClassifyService.editSave(codeClassify); |
| | | // return R.status(SqlHelper.retBool(codeClassifyMapper.updateById(codeClassify))); |
| | | } |
| | | |
| | | /** |
| | | * 主键获取主题库分类 |
| | | * @param oid 主键 |
| | | * @return 主题库分类显示对象 |
| | | */ |
| | | @GetMapping("/getObjectByOid") |
| | | public BaseResult<CodeClassifyVO> getObjectByOid(String oid){ |
| | | CodeClassifyVO codeClassifyVO = codeClassifyService.getObjectByOid(oid); |
| | | return BaseResult.success(codeClassifyVO); |
| | | } |
| | | /** |
| | | * 主题库定义表 新增或修改 |
| | | */ |
| | | @PostMapping("/submit") |
| | | @ApiOperationSupport(order = 6) |
| | | @ApiOperation(value = "新增或修改", notes = "传入plCodeClassify") |
| | | public R submit(@Valid @RequestBody CodeClassify codeClassify) { |
| | | if(codeClassify.getOid() != null){ |
| | | codeClassify.setLastModifier(AuthUtil.getUser().getUserName()); |
| | | codeClassify.setLastModifyTime(new Date()); |
| | | return R.status(SqlHelper.retBool(codeClassifyMapper.updateById(codeClassify))); |
| | | } |
| | | return codeClassifyService.addSave(codeClassify); |
| | | } |
| | | |
| | | /** |
| | | * 主键批量获取主题库分类 |
| | | * @param oids 主键,多个以逗号分隔,但是受性能影响,建议一次查询不超过10000个 |
| | | * @return 主题库分类显示对象 |
| | | */ |
| | | @GetMapping("/listDataByOids") |
| | | public BaseResult<CodeClassifyVO> listCodeClassifyByOids(String oids){ |
| | | Collection<CodeClassifyVO> voCollection = codeClassifyService.listCodeClassifyByOids(VciBaseUtil.str2List(oids)); |
| | | BaseResult baseResult = BaseResult.success(); |
| | | baseResult.setData(voCollection); |
| | | return baseResult; |
| | | } |
| | | /** |
| | | * 主题库定义表 删除 |
| | | */ |
| | | @PostMapping("/remove") |
| | | @ApiOperationSupport(order = 7) |
| | | @ApiOperation(value = "逻辑删除", notes = "传入oids") |
| | | public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String oids) { |
| | | return R.status(SqlHelper.retBool(codeClassifyMapper.deleteBatchIds(Func.toLongList(oids)))); |
| | | } |
| | | |
| | | /** |
| | | * 参照树 主题库分类 |
| | | * @param treeQueryObject 树形查询对象 |
| | | * @return 主题库分类显示树 |
| | | */ |
| | | @GetMapping("/referTree") |
| | | public List<Tree> referTree(TreeQueryObject treeQueryObject) { |
| | | return codeClassifyService.referTree(treeQueryObject); |
| | | } |
| | | /** |
| | | * 检查 主题库分类是否删除 |
| | | * @param codeClassify 主题库分类数据传输对象,必须要有oid和ts属性 |
| | | * @return 执行结果 success为true为可以删除,false表示有数据引用 |
| | | */ |
| | | @PostMapping( "/checkIsCanDelete") |
| | | public R checkIsCanDelete(@Valid @RequestBody CodeClassify codeClassify) { |
| | | return codeClassifyService.checkIsCanDelete(codeClassify); |
| | | } |
| | | |
| | | /** |
| | | * 导出分类 |
| | | * @param oid 分类主键 |
| | | */ |
| | | @GetMapping("/exportClassify") |
| | | public void exportClassify(String oid, HttpServletResponse response) throws IOException { |
| | | String excelName = codeClassifyService.exportClassify(oid); |
| | | try { |
| | | ControllerUtil.writeFileToResponse(response,excelName); |
| | | } catch (Throwable e) { |
| | | //如果出错,把错误信息写到text |
| | | String msg = LangBaseUtil.getErrorMsg(e); |
| | | String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "错误.txt"; |
| | | LocalFileUtil.writeContentToFile(msg,errorFile); |
| | | ControllerUtil.writeFileToResponse(response,errorFile); |
| | | } |
| | | } |
| | | /** |
| | | * 删除主题库分类 |
| | | * @param codeClassify,oid和ts需要传输 |
| | | * @return 删除结果反馈::success:成功,fail:失败 |
| | | */ |
| | | @DeleteMapping( "/deleteData") |
| | | public R delCodeClassify(@Valid @RequestBody CodeClassify codeClassify) { |
| | | return codeClassifyService.deleteCodeClassify(codeClassify); |
| | | } |
| | | |
| | | /** |
| | | * 下载导入的模板 |
| | | * @param response 响应对象 |
| | | * @throws IOException 抛出异常 |
| | | */ |
| | | @GetMapping("/downloadImportExcel") |
| | | public void downloadImportExcel(HttpServletResponse response) throws IOException { |
| | | String excelName = codeClassifyService.createImportExcel(); |
| | | try { |
| | | ControllerUtil.writeFileToResponse(response,excelName); |
| | | } catch (Throwable e) { |
| | | //如果出错,把错误信息写到text |
| | | String msg = LangBaseUtil.getErrorMsg(e); |
| | | if(StringUtils.isBlank(msg)){ |
| | | msg = "未知错误"; |
| | | } |
| | | ControllerUtil.writeDataToResponse(response,msg.getBytes(StandardCharsets.UTF_8),null); |
| | | } |
| | | } |
| | | /** |
| | | * 启用 |
| | | * @param codeClassify |
| | | * @return |
| | | */ |
| | | @PostMapping( "/enableData") |
| | | public R enable(@Valid @RequestBody CodeClassify codeClassify) { |
| | | return codeClassifyService.updateLcStatus(codeClassify.getOid(),FRAMEWORK_DATA_ENABLED); |
| | | } |
| | | |
| | | /** |
| | | * 导入分类 |
| | | * @param file excel的内容 |
| | | * @return 执行结果,obj有值表示有错误信息,需要访问downloadErrorFile来下载 |
| | | */ |
| | | @PostMapping("/importClassify") |
| | | public BaseResult importClassify(MultipartFile file) { |
| | | String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + LocalFileUtil.getFileNameForIE(file.getOriginalFilename()); |
| | | File file1 = new File(excelFileName); |
| | | try { |
| | | file.transferTo(new File(excelFileName)); |
| | | codeClassifyService.importClassify(file1); |
| | | return BaseResult.success(); |
| | | }catch (Throwable e) { |
| | | String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "错误信息.txt"; |
| | | LocalFileUtil.writeContentToFile(LangBaseUtil.getErrorMsg(e),errorFile); |
| | | //放到map里 |
| | | BaseResult result = BaseResult.fail("导入失败"); |
| | | result.setObj(ControllerUtil.putErrorFile(errorFile)); |
| | | return result; |
| | | }finally { |
| | | file1.delete(); |
| | | } |
| | | } |
| | | /** |
| | | * 停用 |
| | | * @param codeClassify |
| | | * @return |
| | | */ |
| | | @PostMapping( "/disableData") |
| | | public R disable(@Valid @RequestBody CodeClassify codeClassify) { |
| | | return codeClassifyService.updateLcStatus(codeClassify.getOid(),FRAMEWORK_DATA_DISABLED); |
| | | } |
| | | |
| | | /** |
| | | * 下载错误的文件信息 |
| | | * @param uuid 唯一标识 |
| | | * @param response 响应对象 |
| | | * @throws IOException 抛出异常 |
| | | */ |
| | | @GetMapping("/downloadErrorFile") |
| | | public void downloadErrorFile(String uuid, HttpServletResponse response) throws IOException { |
| | | ControllerUtil.downloadErrorFile(response,uuid); |
| | | } |
| | | /** |
| | | * 主键批量获取主题库分类 |
| | | * @param oids 主键,多个以逗号分隔,但是受性能影响,建议一次查询不超过10000个 |
| | | * @return 主题库分类显示对象 |
| | | */ |
| | | @GetMapping("/listDataByOids") |
| | | public R listCodeClassifyByOids(String oids){ |
| | | Collection<CodeClassifyVO> voCollection = codeClassifyService.listCodeClassifyByOids(VciBaseUtil.str2List(oids)); |
| | | return R.data(voCollection); |
| | | } |
| | | |
| | | /** |
| | | * 获取分类关联的属性 |
| | | * @param baseQueryObject 查询对象,必须有codeClassifyOid,支持id和name两种查询条件(不支持分页) |
| | | * @return 属性的信息,包含默认的属性 |
| | | */ |
| | | @GetMapping("/listClassifyLinkAttr") |
| | | public DataGrid<OsAttributeVO> listClassifyLinkAttr(BaseQueryObject baseQueryObject){ |
| | | return codeClassifyService.listClassifyLinkAttr(baseQueryObject); |
| | | } |
| | | /** |
| | | * 参照树 主题库分类 |
| | | * @param treeQueryObject 树形查询对象 |
| | | * @return 主题库分类显示树 |
| | | */ |
| | | @GetMapping("/referTree") |
| | | public List<Tree> referTree(TreeQueryObject treeQueryObject) { |
| | | return codeClassifyService.referTree(treeQueryObject); |
| | | } |
| | | |
| | | /** |
| | | * 使用编号的路径获取对象 |
| | | * @param idPath 编号的路径,一定要从最顶层节点开始,格式为xxx/yyy/zz 这样 |
| | | * @return 分类的显示对象 |
| | | */ |
| | | @GetMapping("/getObjectByIdPath") |
| | | public CodeClassifyVO getObjectByIdPath(String idPath){ |
| | | return codeClassifyService.getObjectByIdPath(idPath); |
| | | } |
| | | /** |
| | | * 导出分类 |
| | | * @param oid 分类主键 |
| | | */ |
| | | @GetMapping("/exportClassify") |
| | | public void exportClassify(@ApiParam(value = "主键", required = true) @RequestParam String oid, HttpServletResponse response) throws IOException { |
| | | String excelName = codeClassifyService.exportClassify(oid); |
| | | try { |
| | | ControllerUtil.writeFileToResponse(response,excelName); |
| | | } catch (Throwable e) { |
| | | //如果出错,把错误信息写到text |
| | | String msg = LangBaseUtil.getErrorMsg(e); |
| | | String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "错误.txt"; |
| | | LocalFileUtil.writeContentToFile(msg,errorFile); |
| | | ControllerUtil.writeFileToResponse(response,errorFile); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 下载导入的模板 |
| | | * @param response 响应对象 |
| | | * @throws IOException 抛出异常 |
| | | */ |
| | | @GetMapping("/downloadImportExcel") |
| | | public void downloadImportExcel(HttpServletResponse response) throws IOException{ |
| | | String excelName = codeClassifyService.createImportExcel(); |
| | | try { |
| | | ControllerUtil.writeFileToResponse(response,excelName); |
| | | } catch (Throwable e) { |
| | | //如果出错,把错误信息写到text |
| | | String msg = LangBaseUtil.getErrorMsg(e); |
| | | if(StringUtil.isBlank(msg)){ |
| | | msg = "未知错误"; |
| | | } |
| | | ControllerUtil.writeDataToResponse(response,msg.getBytes(StandardCharsets.UTF_8),null); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 导入分类 |
| | | * @param file excel的内容 |
| | | * @return 执行结果,obj有值表示有错误信息,需要访问downloadErrorFile来下载 |
| | | */ |
| | | @PostMapping("/importClassify") |
| | | public R importClassify(MultipartFile file) { |
| | | String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + LocalFileUtil.getFileNameForIE(file.getOriginalFilename()); |
| | | File file1 = new File(excelFileName); |
| | | try { |
| | | file.transferTo(new File(excelFileName)); |
| | | codeClassifyService.importClassify(file1); |
| | | return R.success("导入成功!"); |
| | | }catch (Throwable e) { |
| | | log.error("导入错误",e); |
| | | String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "错误信息.txt"; |
| | | LocalFileUtil.writeContentToFile(LangBaseUtil.getErrorMsg(e),errorFile); |
| | | CodeImProtRusultVO codeImProtRusultVO =new CodeImProtRusultVO(); |
| | | codeImProtRusultVO.setRedisUuid(""); |
| | | codeImProtRusultVO.setFileOid(ControllerUtil.putErrorFile(errorFile)); |
| | | codeImProtRusultVO.setFilePath(errorFile); |
| | | R r = R.fail("导入失败"); |
| | | r.setData(codeImProtRusultVO); |
| | | return r; |
| | | }finally { |
| | | file1.delete(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 下载错误的文件信息 |
| | | * @param uuid 唯一标识 |
| | | * @param response 响应对象 |
| | | * @throws IOException 抛出异常 |
| | | */ |
| | | @GetMapping("/downloadErrorFile") |
| | | public void downloadErrorFile(String uuid, HttpServletResponse response) throws IOException { |
| | | ControllerUtil.downloadErrorFile(response,uuid); |
| | | } |
| | | |
| | | /** |
| | | * 获取分类关联的属性 |
| | | * @param baseQueryObject 查询对象,必须有codeClassifyOid,支持id和name两种查询条件(不支持分页) |
| | | * @return 属性的信息,包含默认的属性 |
| | | */ |
| | | @GetMapping("/listClassifyLinkAttr") |
| | | public DataGrid<BtmTypeAttributeVO> listClassifyLinkAttr(BaseQueryObject baseQueryObject){ |
| | | return codeClassifyService.listClassifyLinkAttr(baseQueryObject); |
| | | } |
| | | |
| | | /** |
| | | * 主键获取主题库分类 |
| | | * @param oid 主键 |
| | | * @return 主题库分类显示对象 |
| | | */ |
| | | @GetMapping("/getObjectByOid") |
| | | public R<CodeClassifyVO> getObjectByOid(String oid){ |
| | | CodeClassifyVO codeClassifyVO = codeClassifyService.getObjectByOid(oid); |
| | | return R.data(codeClassifyVO); |
| | | } |
| | | |
| | | /** |
| | | * 使用编号的路径获取对象 |
| | | * @param idPath 编号的路径,一定要从最顶层节点开始,格式为xxx/yyy/zz 这样 |
| | | * @return 分类的显示对象 |
| | | */ |
| | | @GetMapping("/getObjectByIdPath") |
| | | public CodeClassifyVO getObjectByIdPath(String idPath){ |
| | | return codeClassifyService.getObjectByIdPath(idPath); |
| | | } |
| | | |
| | | /** |
| | | * 主题库的树 |
| | | * @param treeQueryObject 树形查询对象 |
| | | * @return 主题库显示树 |
| | | */ |
| | | @GetMapping("/treeTopCodeClassify") |
| | | public List<Tree> treeTopCodeClassify(TreeQueryObject treeQueryObject){ |
| | | return codeClassifyService.treeTopCodeClassify(treeQueryObject); |
| | | } |
| | | |
| | | /** |
| | | * 主题库定义表 详情 |
| | | */ |
| | | @GetMapping("/getObjectByClsfNamePath") |
| | | public R<CodeClassifyVO> getObjectByClsfNamePath(String clsfNamePath) { |
| | | CodeClassifyVO codeClassifyVO = codeClassifyService.getObjectByClsfNamePath(clsfNamePath); |
| | | return R.data(codeClassifyVO); |
| | | } |
| | | |
| | | /** |
| | | * 流水依赖生成 |
| | | */ |
| | | @GetMapping("/flowingDependencyGen") |
| | | public R flowingDependencyGen(String classifyOid) { |
| | | return codeClassifyService.flowingDependencyGen(classifyOid); |
| | | } |
| | | |
| | | } |