| | |
| | | import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; |
| | | import com.vci.ubcs.code.entity.CodeClassify; |
| | | import com.vci.ubcs.code.mapper.CodeClassifyMapper; |
| | | import com.vci.ubcs.code.vo.CodeOsattributeVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.TreeQueryObject; |
| | | import com.vci.ubcs.com.vci.starter.util.LocalFileUtil; |
| | | import com.vci.ubcs.com.vci.starter.web.pagemodel.BaseQueryObject; |
| | | import com.vci.ubcs.com.vci.starter.web.pagemodel.DataGrid; |
| | | import com.vci.ubcs.com.vci.starter.web.pagemodel.Tree; |
| | | import com.vci.ubcs.com.vci.starter.web.util.ControllerUtil; |
| | | import com.vci.ubcs.com.vci.starter.web.util.LangBaseUtil; |
| | | import com.vci.ubcs.com.vci.starter.web.util.VciBaseUtil; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | |
| | | import org.springblade.core.tool.api.IResultCode; |
| | | 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 com.vci.ubcs.code.wrapper.CodeClassifyWrapper; |
| | | import com.vci.ubcs.code.service.ICodeClassifyService; |
| | | import org.springblade.core.boot.ctrl.BladeController; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | 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; |
| | |
| | | CodeClassify detail = codeClassifyMapper.selectOne(Condition.getQueryWrapper(codeClassify)); |
| | | return R.data(CodeClassifyWrapper.build().entityVO(detail)); |
| | | } |
| | | |
| | | /** |
| | | * 主题库分类树 |
| | | * @param treeQueryObject 树形查询对象 |
| | | * @return 主题库分类显示树 |
| | | */ |
| | | @GetMapping("/treeCodeClassify") |
| | | public List<Tree> treeCodeClassify(TreeQueryObject treeQueryObject) { |
| | | return codeClassifyService. treeCodeClassify(treeQueryObject); |
| | | } |
| | | |
| | | /** |
| | | * 主题库定义表 分页 |
| | | */ |
| | |
| | | @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); |
| | | // } |
| | | 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) { |
| | | String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "错误信息.txt"; |
| | | LocalFileUtil.writeContentToFile(LangBaseUtil.getErrorMsg(e),errorFile); |
| | | //放到map里 |
| | | // R result = R.fail("导入失败"); |
| | | // result.(ControllerUtil.putErrorFile(errorFile)); |
| | | return R.data(400,errorFile,"导入失败"); |
| | | }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<CodeOsattributeVO> listClassifyLinkAttr(BaseQueryObject baseQueryObject){ |
| | | return codeClassifyService.listClassifyLinkAttr(baseQueryObject); |
| | | } |
| | | |
| | | /** |
| | | * 使用编号的路径获取对象 |
| | | * @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); |
| | | } |
| | | } |