From f694f6ac8336866061a0caf8ff6b149a3d1f4a4b Mon Sep 17 00:00:00 2001
From: 杜洪波 <1074825718@qq.com>
Date: 星期二, 27 八月 2024 17:19:23 +0800
Subject: [PATCH] 代码提交

---
 src/main/java/com/product/file/service/DocumentDirectoryService.java       |   90 ++++++++--------------
 src/main/java/com/product/file/controller/DocumentDirectoryController.java |   82 ++------------------
 src/main/java/com/product/file/service/ide/IDocumentDirectoryService.java  |   22 +---
 3 files changed, 47 insertions(+), 147 deletions(-)

diff --git a/src/main/java/com/product/file/controller/DocumentDirectoryController.java b/src/main/java/com/product/file/controller/DocumentDirectoryController.java
index 32ed83a..0537848 100644
--- a/src/main/java/com/product/file/controller/DocumentDirectoryController.java
+++ b/src/main/java/com/product/file/controller/DocumentDirectoryController.java
@@ -69,89 +69,23 @@
 					DocumentCode.DOCUMENT_CATALOG_SAVE_FAIL.getText());
 		}
 	}
-
+	
 	/**
-	 * 鏂板鏂囦欢澶规暟鎹�
+	 * 鏂囨。鐩綍淇濆瓨
 	 * 
 	 * @param request
 	 * @return
 	 */
-	@RequestMapping(value = "/addDocumentDirectory/{version}", method = RequestMethod.POST)
+	@RequestMapping(value = "/save-directory/{version}", method = RequestMethod.POST)
 	@ApiVersion(1)
-	public String addDocumentDirectory(HttpServletRequest request) {
+	public String saveDocumentDireactory(HttpServletRequest request) {
 		try {
-			// 鑾峰彇鍙傛暟
-			FieldSetEntity fse = null;
-			Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
-			if (bean != null) {
-				RequestParameterEntity reqp = (RequestParameterEntity) bean;
-				fse = reqp.getFormData();
-			}
-			// 鍒ゆ柇鍙傛暟鏄惁涓虹┖
-			if (fse == null) {
-				SpringMVCContextHolder.getSystemLogger().error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(),
-						DocumentCode.DOCUMENT_FORM_NODATA.getText());
-				return this.error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(),
-						DocumentCode.DOCUMENT_FORM_NODATA.getText());
-			}
+			FieldSetEntity fse = BaseUtil.getFieldSetEntity(request);
 			IDocumentDirectoryService service = (IDocumentDirectoryService) getProxyInstance(documentDirectoryService);
-			return OK_Add(service.addDocumentDirectory(fse));
-		} catch (BaseException e) {
-			SpringMVCContextHolder.getSystemLogger().error(e);
-			return this.error(e);
-		} catch (Exception e) {
-			e.printStackTrace();
-			SpringMVCContextHolder.getSystemLogger().error(e);
-			return this.error(DocumentCode.DOCUMENT_CATALOG_SAVE_FAIL.getValue(),
-					DocumentCode.DOCUMENT_CATALOG_SAVE_FAIL.getText());
-		}
-	}
-
-	/**
-	 * 淇敼鏂囦欢澶�
-	 * 
-	 * @param request
-	 * @return
-	 */
-	@RequestMapping(value = "/upDocumentDirectory/{version}", method = RequestMethod.POST)
-	@ApiVersion(1)
-	public String upDocumentDirectory(HttpServletRequest request) {
-		try {
-			// 鑾峰彇鍙傛暟
-			FieldSetEntity fse = null;
-			Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
-			if (bean != null) {
-				RequestParameterEntity reqp = (RequestParameterEntity) bean;
-				fse = reqp.getFormData();
-			}
-			// 鍒ゆ柇鍙傛暟鏄惁涓虹┖
-			if (fse == null) {
-				SpringMVCContextHolder.getSystemLogger().error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(),
-						DocumentCode.DOCUMENT_FORM_NODATA.getText());
-				return this.error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(),
-						DocumentCode.DOCUMENT_FORM_NODATA.getText());
-			}
-			String uuid = fse.getString(CmnConst.UUID);// 琛╱uid
-			// 瓒呯骇绠$悊鍛樹负1 鏅�氬崟浣嶇鐞嗗憳2
-			SystemUser currentUser = SpringMVCContextHolder.getCurrentUser();
-			int type;
-			if (currentUser.getUserType() == 2) {
-				type = CoreConst.DATA_PERMISSION_VALID_TYPE_ORG;
-			} else {
-				type = CoreConst.DATA_PERMISSION_VALID_TYPE_USER;
-			}
-			// 鏁版嵁鎿嶄綔鐨勬潈闄愰獙璇�
-			if (!permissionService.validDataPermission(CmnConst.PRODUCT_OA_DIRECTORY, uuid, type)) {
-				SpringMVCContextHolder.getSystemLogger().error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(),
-						SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText());
-				return this.error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(),
-						SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText());
-			}
-			IDocumentDirectoryService service = (IDocumentDirectoryService) getProxyInstance(documentDirectoryService);
-			if (service.upDocumentDirectory(fse)) {
+			if(service.saveDocumentDireactory(fse)) {
 				return OK();
 			}
-			return this.error(DocumentCode.DOCUMENT_CATALOG_SAVE_FAIL.getValue(),
+			return error(DocumentCode.DOCUMENT_CATALOG_SAVE_FAIL.getValue(),
 					DocumentCode.DOCUMENT_CATALOG_SAVE_FAIL.getText());
 		} catch (BaseException e) {
 			SpringMVCContextHolder.getSystemLogger().error(e);
@@ -159,7 +93,7 @@
 		} catch (Exception e) {
 			e.printStackTrace();
 			SpringMVCContextHolder.getSystemLogger().error(e);
-			return this.error(DocumentCode.DOCUMENT_CATALOG_SAVE_FAIL.getValue(),
+			return error(DocumentCode.DOCUMENT_CATALOG_SAVE_FAIL.getValue(),
 					DocumentCode.DOCUMENT_CATALOG_SAVE_FAIL.getText());
 		}
 	}
diff --git a/src/main/java/com/product/file/service/DocumentDirectoryService.java b/src/main/java/com/product/file/service/DocumentDirectoryService.java
index 7d9dd21..99e1cc3 100644
--- a/src/main/java/com/product/file/service/DocumentDirectoryService.java
+++ b/src/main/java/com/product/file/service/DocumentDirectoryService.java
@@ -4,6 +4,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.product.common.collect.ListUtils;
 import com.product.common.lang.DateUtils;
+import com.product.core.config.CoreConst;
 import com.product.core.dao.BaseDao;
 import com.product.core.entity.DataTableEntity;
 import com.product.core.entity.FieldSetEntity;
@@ -52,68 +53,41 @@
 		return dtTree;
 	}
 
-	@Override
+	/**
+	 * 	鏂囨。鐩綍淇濆瓨
+	 * @param fse
+	 * @return
+	 */
 	@Transactional
-	public String addDocumentDirectory(FieldSetEntity fieldSetEntity) throws BaseException {
-
-		String triCode = CodeUtil.getNewCodeByTemp(CmnConst.PRODUCT_OA_DIRECTORY, CmnConst.TRICODE,
-				!StringUtils.isEmpty(fieldSetEntity.getString(CmnConst.TRICODE_PARENT))
-						? fieldSetEntity.getString(CmnConst.TRICODE_PARENT)
-						: "");
-		fieldSetEntity.setValue(CmnConst.TRICODE, triCode);
-		String[] codes = triCode.split("-");
-		String org_level_uuid = SpringMVCContextHolder.getCurrentUser().getOrg_level_uuid();
-		fieldSetEntity.setValue(CmnConst.ORG_LEVEL_UUID, org_level_uuid);
-		fieldSetEntity.setValue(CmnConst.DIRECTORY_TIER, codes.length);
-		fieldSetEntity.setValue(CmnConst.CREATED_BY, SpringMVCContextHolder.getCurrentUser().getUser_id());// 鑾峰彇鐧诲綍甯愬彿
-		fieldSetEntity.setValue(CmnConst.CREATED_UTC_DATETIME, DateUtils.getDateTime());// 鍒涘缓鏃堕棿
-		return baseDao.add(fieldSetEntity);
-	}
-
-	@Override
-	@Transactional
-	public boolean upDocumentDirectory(FieldSetEntity fieldSetEntity) throws BaseException {
-		String uuid = fieldSetEntity.getString(CmnConst.UUID);
-		FieldSetEntity fieldSet = baseDao.getFieldSetEntity(CmnConst.PRODUCT_OA_DIRECTORY, uuid, false);
-		String tricode_parent1 = fieldSetEntity.getString(CmnConst.TRICODE_PARENT);
-		String tricode_parent2 = fieldSet.getString(CmnConst.TRICODE_PARENT);
-		boolean flag;
-		// 涓婄骇鐩綍tricode濡傛灉涓嶇浉绛�
-		if (!StringUtils.isEmpty(tricode_parent1) || !StringUtils.isEmpty(tricode_parent2)) {
-			if (!StringUtils.isEmpty(tricode_parent1) && !StringUtils.isEmpty(tricode_parent2)
-					&& !tricode_parent1.equals(tricode_parent2)) {
-				flag = true;
-			} else if (!StringUtils.isEmpty(tricode_parent1) && !StringUtils.isEmpty(tricode_parent2)
-					&& tricode_parent1.equals(tricode_parent2)) {
-				flag = false;
-			} else if (!StringUtils.isEmpty(tricode_parent1) && StringUtils.isEmpty(tricode_parent2)) {
-				tricode_parent2 = "";
-				flag = true;
-			} else if (!StringUtils.isEmpty(tricode_parent2) && StringUtils.isEmpty(tricode_parent1)) {
-				tricode_parent1 = "";
-				flag = true;
-			} else {
-				flag = false;
-			}
+	public boolean saveDocumentDireactory(FieldSetEntity fse) {
+		BaseUtil.createCreatorAndCreationTime(fse);
+		String tricode = null;
+		String tricodeParent = BaseUtil.strIsNull(fse.getString(CmnConst.TRICODE_PARENT)) ? "" : fse.getString(CmnConst.TRICODE_PARENT);
+		if(BaseUtil.strIsNull(fse.getUUID())) {
+			tricode = CodeUtil.getNewCodeByTemp(CmnConst.PRODUCT_OA_DIRECTORY, CmnConst.TRICODE, tricodeParent);
 		} else {
-			flag = false;
+			FieldSetEntity fseOrigin = baseDao.getFieldSetEntity(CmnConst.PRODUCT_OA_DIRECTORY, fse.getUUID(), false);
+			if(fseOrigin == null) {
+				fse.remove(CoreConst.UUID);
+			}
+			String originParent = BaseUtil.strIsNull(fseOrigin.getString(CmnConst.TRICODE_PARENT)) ? "" : fseOrigin.getString(CmnConst.TRICODE_PARENT);
+			if (!originParent.equals(tricodeParent)) {
+				String originTricode = BaseUtil.strIsNull(fseOrigin.getString(CmnConst.TRICODE)) ? "" : fseOrigin.getString(CmnConst.TRICODE);
+				tricode = CodeUtil.getNewCodeByTemp(CmnConst.PRODUCT_OA_DIRECTORY, CmnConst.TRICODE, tricodeParent);
+				StringBuilder sql = new StringBuilder();
+				sql.append("update product_oa_directory ");
+				sql.append("set tricode=concat(replace(substring(tricode,1,locate(?,tricode)+length(?)),?,?),substring(tricode,locate(?,tricode)+length(?)+1)), ");
+				sql.append("tricode_parent=concat(replace(substring(tricode_parent,1,locate(?,tricode_parent)+length(?)),?,?),substring(tricode_parent,locate(?,tricode_parent)+length(?)+1)) ");
+				sql.append("where tricode like ? ");
+				baseDao.executeUpdate(sql.toString(), new Object[] {originTricode,originTricode,originTricode,tricode,originTricode,originTricode,
+						originTricode,originTricode,originTricode,tricode,originTricode,originTricode,originTricode+"-%"});
+			}
 		}
-
-		if (flag) {
-			StringBuffer sql = new StringBuffer();
-			sql.append(" update PRODUCT_OA_directory set tricode=replace(");
-			sql.append(" tricode,concat(?,'-'),concat(?,'-')),");
-			sql.append(" tricode_parent=(case when tricode_parent=? then replace(tricode_parent,?,?) else ");
-			sql.append(" replace (tricode_parent,concat(?,'-'),concat(?,'-')) end )");
-			sql.append("  where  tricode like ?");
-			baseDao.executeUpdate(sql.toString(), new String[] { tricode_parent1, tricode_parent2, tricode_parent1,
-					tricode_parent1, tricode_parent2, tricode_parent1, tricode_parent2, tricode_parent1 + "-%", });
-		}
-
-		fieldSetEntity.setValue(CmnConst.UPDATED_BY, SpringMVCContextHolder.getCurrentUser().getUser_id());// 鑾峰彇鐧诲綍甯愬彿
-		fieldSetEntity.setValue(CmnConst.UPDATED_UTC_DATETIME, DateUtils.getDateTime());// 鍒涘缓鏃堕棿
-		return baseDao.update(fieldSetEntity);
+		fse.setValue(CmnConst.TRICODE, tricode);
+		fse.setValue(CmnConst.DIRECTORY_TIER, tricode.split(",").length);
+		return baseDao.saveFieldSetEntity(fse);
 	}
+	
 
 	@Override
 	@Transactional
diff --git a/src/main/java/com/product/file/service/ide/IDocumentDirectoryService.java b/src/main/java/com/product/file/service/ide/IDocumentDirectoryService.java
index 377d7b1..6893feb 100644
--- a/src/main/java/com/product/file/service/ide/IDocumentDirectoryService.java
+++ b/src/main/java/com/product/file/service/ide/IDocumentDirectoryService.java
@@ -16,22 +16,14 @@
  * @Description: 鏂囦欢澶圭鐞嗘帴鍙�
  */
 public interface IDocumentDirectoryService {
-  /**
-   * 	鏂板鏂囨。鐩綍
-   * @param
-   * @return
-   * @throws BaseException
-   */
-  String addDocumentDirectory(FieldSetEntity fieldSetEntity) throws BaseException;
 
-  /**
-   * 淇敼鏂囨。鐩綍
-   * @param
-   * @return
-   * @throws BaseException
-   */
-  boolean upDocumentDirectory(FieldSetEntity fieldSetEntity) throws BaseException;
-
+	/**
+	 * 	鏂囨。鐩綍淇濆瓨
+	 * @param fse
+	 * @return
+	 */
+	boolean saveDocumentDireactory(FieldSetEntity fse);
+	
   /**
    * 鍒犻櫎鏂囨。鐩綍
    * @param

--
Gitblit v1.9.2