From d334ce7945bf6a1243927c3b778d14dd493e9918 Mon Sep 17 00:00:00 2001
From: yuxc <653031404@qq.com>
Date: 星期一, 04 十二月 2023 08:43:45 +0800
Subject: [PATCH] 1、增加批量修改excel导入功能。 2、增加批量修改excel下载功能。

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java |  117 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 110 insertions(+), 7 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 97cb6df..e82445c 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
@@ -16,6 +16,7 @@
 import com.vci.ubcs.starter.revision.model.BaseModel;
 import com.vci.ubcs.starter.revision.model.TreeQueryObject;
 import com.vci.ubcs.starter.util.LocalFileUtil;
+import com.vci.ubcs.starter.util.SaveLogUtil;
 import com.vci.ubcs.starter.web.pagemodel.*;
 import com.vci.ubcs.starter.web.util.ControllerUtil;
 import com.vci.ubcs.starter.web.util.LangBaseUtil;
@@ -55,7 +56,11 @@
 	 */
 	@Autowired
 	private MdmIOService mdmIOService;
-
+	/**
+	 * 鏃ュ織淇濆瓨宸ュ叿绫�
+	 */
+	@Autowired
+	private SaveLogUtil saveLogUtil;
 
 	/**
 	 * 涓嬭浇鎵归噺鐢宠鐨勫鍏ユā鏉�
@@ -76,6 +81,72 @@
 				msg = "鏈煡閿欒";
 			}
 			ControllerUtil.writeDataToResponse(response,msg.getBytes(StandardCharsets.UTF_8),null);
+		}
+	}
+
+	/**
+	 * 涓嬭浇鎵归噺鐢宠鐨勫鍏ユā鏉�
+	 * @param codeClassifyOid 鍒嗙被鐨勪富閿�
+	 * @param response 鍝嶅簲瀵硅薄
+	 * @throws IOException 鎶涘嚭寮傚父
+	 */
+	@GetMapping("/downloadExcelBatchEdit")
+	@VciBusinessLog(operateName = "涓嬭浇鎵归噺鐢宠缂栫爜鐨勫鍏ユā鏉�")
+	public void downloadImportExcelBatchEdit(String codeClassifyOid, HttpServletResponse response) throws IOException{
+		String excelName = mdmIOService.downloadImportExcelBatchEdit(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 classifyAttr 鍒嗙被璺緞浣跨敤鐨勫睘鎬�
+	 * @param file 鏂囦欢鐨勫唴瀹�
+	 */
+	@VciBusinessLog(operateName = "瀵煎叆鎵归噺缂栬緫鏁版嵁")
+	@PostMapping("/batchImportEdit")
+	public R batchImportEdit(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.batchImportEdit(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();
 		}
 	}
 
@@ -144,7 +215,7 @@
 	}
 
 	/**
-	 * 鎵归噺鐢宠缂栫爜鐨勪俊鎭�
+	 * 鎵归噺鐢宠缂栫爜鐨勪俊鎭紙褰撳墠鍒嗙被涓婃壒閲忕敵璇凤級
 	 * @param secDTOList 鐢宠缂栫爜鐨勪俊鎭紝蹇呴』鍖呭惈鐮佹鍜屽垎绫讳富閿殑淇℃伅
 	 * @param file 鏂囦欢鐨勫唴瀹�
 	 */
@@ -237,7 +308,7 @@
 	}
 
 	/**
-	 * 瀵煎叆鍘嗗彶鏁版嵁
+	 * 瀵煎叆鍘嗗彶鏁版嵁(浠庨《灞傚垎绫诲鐨�)
 	 * @param codeClassifyOid 鍒嗙被鐨勪富閿�
 	 * @param classifyAttr 鍒嗙被璺緞浣跨敤鐨勫睘鎬�
 	 * @param file 鏂囦欢鐨勫唴瀹�
@@ -302,7 +373,15 @@
 	@PostMapping("/addSaveCode")
 	@VciBusinessLog(operateName = "鐢宠鍗曚釜缂栫爜")
 	public R addSaveCode(@RequestBody CodeOrderDTO orderDTO) throws Exception {
-		return R.success(engineService.addSaveCode(orderDTO));
+		String s = null;
+		try {
+			s = engineService.addSaveCode(orderDTO);
+			saveLogUtil.operateLog("缂栫爜鐢宠",false,orderDTO.toString());
+		}catch (Exception e){
+			saveLogUtil.operateLog("缂栫爜鐢宠",true,e.toString());
+			throw e;
+		}
+		return R.success(s);
 	}
 
 	/**
@@ -429,6 +508,7 @@
 	public DataGrid<Map<String,String>> gridResemble(String codeClassifyOid,String redisOid){
 		return mdmIOService.gridDatas(codeClassifyOid,redisOid);
 	}
+
 	/***
 	 * 瀵煎叆鏁版嵁
 	 * @param codeImprotSaveDatVO//鏁版嵁瀵硅薄
@@ -436,11 +516,11 @@
 	 */
 	@PostMapping("/batchImportData")
 	public R batchImportData(@RequestBody CodeImprotParmaDatVO codeImprotSaveDatVO){
-		return  mdmIOService.batchImportData(codeImprotSaveDatVO.getCodeImprotSaveDatVOList(),codeImprotSaveDatVO.getClassifyAttr(),codeImprotSaveDatVO.getImprot());
+		return mdmIOService.batchImportData(codeImprotSaveDatVO.getCodeImprotSaveDatVOList(),codeImprotSaveDatVO.getClassifyAttr(),codeImprotSaveDatVO.getImprot());
 	}
 
 	/***
-	 *鏍规嵁鏁版嵁oid浠庣紦瀛樹腑绉婚櫎鏁版嵁
+	 * 鏍规嵁鏁版嵁oid浠庣紦瀛樹腑绉婚櫎鏁版嵁
 	 * @param redisOid redisid
 	 * @param codeClassifyOid 瀛樺偍瑙勫垯鐨刼id
 	 * @param dataOids  鎵�闇�鍒犻櫎鐨勬暟鎹�
@@ -450,6 +530,7 @@
 	public  R deleteDatas(String redisOid,String codeClassifyOid,String dataOids){
 		return mdmIOService.deleteDatas(redisOid,codeClassifyOid,dataOids);
 	}
+
 	/**
 	 * 鎵归噺淇濆瓨娴佺▼鎵ц椤甸潰淇敼鐨勫唴瀹�
 	 * @param orderDTOList 缂栫爜鐩稿叧鐨勪俊鎭紝涓嶉渶瑕佺爜娈电殑淇℃伅
@@ -514,7 +595,7 @@
 	@PostMapping("/upSaveCode")
 	public R upSaveCode(@RequestBody CodeOrderDTO orderDTO){
 		engineService.upSaveCode(orderDTO);
-		return  R.success("鎿嶄綔鎴愬姛锛�");
+		return R.success("鎿嶄綔鎴愬姛锛�");
 	}
 
 	/**
@@ -754,4 +835,26 @@
 	public R addSaveBZ (@RequestBody CodeBZApplyDTO codeBZApplyDTO) throws Exception {
 		return R.success(engineService.addSaveBZ(codeBZApplyDTO));
 	}
+
+	/**
+	 * 涓嬭浇鎵归噺鐢宠鐨勫鍏ユā鏉�
+	 * @param codeClassifyOid 鍒嗙被鐨勪富閿�
+	 * @param response 鍝嶅簲瀵硅薄
+	 * @throws IOException 鎶涘嚭寮傚父
+	 */
+	@GetMapping("/exportGroupCodeExcel")
+	@VciBusinessLog(operateName = "瀵煎嚭闆嗗洟鐮�")
+	public void exportGroupCodeExcel(String codeClassifyOid, HttpServletResponse response) throws IOException{
+
+		try {
+			String excelName = mdmIOService.exportGroupCodeExcel(codeClassifyOid);
+		} catch (Throwable e) {
+			//濡傛灉鍑洪敊,鎶婇敊璇俊鎭啓鍒皌ext
+			String msg = LangBaseUtil.getErrorMsg(e);
+			if(StringUtils.isBlank(msg)){
+				msg = "鏈煡閿欒";
+			}
+			ControllerUtil.writeDataToResponse(response,msg.getBytes(StandardCharsets.UTF_8),null);
+		}
+	}
 }

--
Gitblit v1.9.3