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