From 694374bb1c6c08e3e79a65f575922e61c5c971fc Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期四, 15 六月 2023 10:29:57 +0800 Subject: [PATCH] 历史导入功能添加 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java | 158 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 157 insertions(+), 1 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java index f8d3d40..454c305 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java @@ -74,7 +74,52 @@ ControllerUtil.writeDataToResponse(response,msg.getBytes(StandardCharsets.UTF_8),null); } } + /** + * 涓嬭浇鎵归噺鐢宠鐨勫鍏ユā鏉� + * @param codeClassifyOid 鍒嗙被鐨勪富閿� + * @param response 鍝嶅簲瀵硅薄 + * @throws IOException 鎶涘嚭寮傚父 + */ + @GetMapping("/downloadTopImportExcel") + @VciBusinessLog(operateName = "涓嬭浇鎵归噺鐢宠缂栫爜鐨勫鍏ユā鏉�") + public void downloadTopImportExcel(String codeClassifyOid,HttpServletResponse response) throws IOException{ + String excelName = mdmIOService.downloadTopImportExcel(codeClassifyOid); + try { + ControllerUtil.writeFileToResponse(response,excelName); + } catch (Throwable e) { + //濡傛灉鍑洪敊,鎶婇敊璇俊鎭啓鍒皌ext + String msg = LangBaseUtil.getErrorMsg(e); + if(StringUtils.isBlank(msg)){ + msg = "鏈煡閿欒"; + } + ControllerUtil.writeDataToResponse(response,msg.getBytes(StandardCharsets.UTF_8),null); + } + + } + + /** + * 涓嬭浇鍘嗗彶鏁版嵁瀵煎叆妯℃澘 + * @param codeClassifyOid 鍒嗙被鐨勪富閿� + * @param response 鍝嶅簲瀵硅薄 + * @throws IOException 鎶涘嚭寮傚父 + */ + @GetMapping("/downloadImportExcelHistory") + @VciBusinessLog(operateName = "涓嬭浇鍘嗗彶鏁版嵁瀵煎叆妯℃澘") + public void downloadImportExcelHistory(String codeClassifyOid,HttpServletResponse response) throws IOException{ + String excelName = mdmIOService.createImportExcel(codeClassifyOid,true); + //String excelName = mdmIOService.downloadTopImportExcel(codeClassifyOid); + try { + ControllerUtil.writeFileToResponse(response,excelName); + } catch (Throwable e) { + //濡傛灉鍑洪敊,鎶婇敊璇俊鎭啓鍒皌ext + String msg = LangBaseUtil.getErrorMsg(e); + if(StringUtils.isBlank(msg)){ + msg = "鏈煡閿欒"; + } + ControllerUtil.writeDataToResponse(response,msg.getBytes(StandardCharsets.UTF_8),null); + } + } /** * 鎵归噺鐢宠缂栫爜鐨勪俊鎭� @@ -126,6 +171,97 @@ // return null; } + /** + * 瀵煎叆鍘嗗彶鏁版嵁 + * @param codeClassifyOid 鍒嗙被鐨勪富閿� + * @param classifyAttr 鍒嗙被璺緞浣跨敤鐨勫睘鎬� + * @param file 鏂囦欢鐨勫唴瀹� + */ + @VciBusinessLog(operateName = "瀵煎叆缂栫爜鐨勫巻鍙叉暟鎹�") + @PostMapping("/batchImportHistoryData") + public R batchImportHistoryData(String codeClassifyOid, String classifyAttr,MultipartFile file,HttpServletResponse response) throws Throwable { + String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + file.getOriginalFilename(); + File file1 = new File(excelFileName); + try { + file.transferTo(new File(excelFileName)); + CodeImProtRusultVO codeImProtRusultVO =mdmIOService.batchImportHistoryData(codeClassifyOid, classifyAttr,file1); + if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())||StringUtils.isNotBlank(codeImProtRusultVO.getRedisUuid())){ + //鏀惧埌map閲� + R result = R.fail("瀵煎叆澶辫触"); + if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())) { + String filedUUid = ControllerUtil.putErrorFile(codeImProtRusultVO.getFilePath()); + codeImProtRusultVO.setFileOid(filedUUid); + } + result.setData(codeImProtRusultVO); + return result; + }else { + return R.success("鎿嶄綔鎴愬姛锛�"); + } + }catch (Throwable e) { + logger.error("瀵煎叆閿欒",e); + String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "閿欒.txt"; + LocalFileUtil.writeContentToFile(LangBaseUtil.getErrorMsg(e),errorFile); + String uuid=ControllerUtil.putErrorFile(errorFile); + CodeImProtRusultVO codeImProtRusultVO =new CodeImProtRusultVO(); + codeImProtRusultVO.setRedisUuid(""); + codeImProtRusultVO.setFileOid(uuid); + codeImProtRusultVO.setFilePath(errorFile); + R r = R.fail("瀵煎叆澶辫触"); + r.setData(codeImProtRusultVO); + + + return r; + }finally { + file1.delete(); + } + } + /** + * 瀵煎叆鍘嗗彶鏁版嵁 + * @param codeClassifyOid 鍒嗙被鐨勪富閿� + * @param classifyAttr 鍒嗙被璺緞浣跨敤鐨勫睘鎬� + * @param file 鏂囦欢鐨勫唴瀹� + */ + @VciBusinessLog(operateName = "鎵归噺鐢宠缂栫爜鐨勪俊鎭�") + @PostMapping("/batchTopImportCode") + public R batchTopImportCode(String codeClassifyOid, String classifyAttr,MultipartFile file,HttpServletResponse response) throws Throwable { + String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + file.getOriginalFilename(); + File file1 = new File(excelFileName); + try { + file.transferTo(new File(excelFileName)); + CodeImProtRusultVO codeImProtRusultVO =mdmIOService.batchTopImportCode(codeClassifyOid, classifyAttr,file1); + if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())||StringUtils.isNotBlank(codeImProtRusultVO.getRedisUuid())){ + //鏀惧埌map閲� + R r = R.fail("瀵煎叆澶辫触锛�"); + if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())) { + String filedUUid = ControllerUtil.putErrorFile(codeImProtRusultVO.getFilePath()); + codeImProtRusultVO.setFileOid(filedUUid); + r = R.success("瀵煎叆鎴愬姛锛�"); + } + r.setData(codeImProtRusultVO); + return r; + }else { + return R.success("瀵煎叆鎴愬姛锛�"); + } + }catch (Throwable e) { + e.printStackTrace(); + logger.error("瀵煎叆閿欒",e); + String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "閿欒.txt"; + LocalFileUtil.writeContentToFile(LangBaseUtil.getErrorMsg(e),errorFile); + String uuid=ControllerUtil.putErrorFile(errorFile); + CodeImProtRusultVO codeImProtRusultVO =new CodeImProtRusultVO(); + codeImProtRusultVO.setRedisUuid(""); + codeImProtRusultVO.setFileOid(uuid); + codeImProtRusultVO.setFilePath(errorFile); + + R r = R.fail("瀵煎叆澶辫触"); + r.setData(codeImProtRusultVO); + + + return r; + }finally { + file1.delete(); + } + } /** * 淇敼鐘舵�� @@ -256,7 +392,7 @@ } /*** - * 浠巖edis缂撳瓨閲岃幏鍙栧埌瀵煎叆姝g‘鐨勬暟鎹� + * 浠巖edis缂撳瓨閲岃幏鍙栧埌瀵煎叆琛岀浉浼奸」鐨勬暟鎹� * @param dataOid * @param redisOid * @return @@ -276,7 +412,27 @@ public DataGrid<Map<String,String>> gridResemble(String codeClassifyOid,String redisOid){ return mdmIOService.gridDatas(codeClassifyOid,redisOid); } + /*** + * 瀵煎叆鏁版嵁 + * @param codeImprotSaveDatVO//鏁版嵁瀵硅薄 + * @return + */ + @PostMapping("/batchImportData") + public R batchImportData(@RequestBody CodeImprotParmaDatVO codeImprotSaveDatVO){ + return mdmIOService.batchImportData(codeImprotSaveDatVO.getCodeImprotSaveDatVOList(),codeImprotSaveDatVO.getClassifyAttr(),codeImprotSaveDatVO.getImprot()); + } + /*** + *鏍规嵁鏁版嵁oid浠庣紦瀛樹腑绉婚櫎鏁版嵁 + * @param redisOid redisid + * @param codeClassifyOid 瀛樺偍瑙勫垯鐨刼id + * @param dataOids 鎵�闇�鍒犻櫎鐨勬暟鎹� + * @return + */ + @GetMapping("/deleteDatas") + public R deleteDatas(String redisOid,String codeClassifyOid,String dataOids){ + return mdmIOService.deleteDatas(redisOid,codeClassifyOid,dataOids); + } /** * 鎵归噺淇濆瓨娴佺▼鎵ц椤甸潰淇敼鐨勫唴瀹� * @param orderDTOList 缂栫爜鐩稿叧鐨勪俊鎭紝涓嶉渶瑕佺爜娈电殑淇℃伅 -- Gitblit v1.9.3