From 58f6d099d3ba1a0c995efc52ba8558be838322d6 Mon Sep 17 00:00:00 2001
From: 354798ggg <1074825718@qq.com>
Date: 星期日, 08 十月 2023 16:32:21 +0800
Subject: [PATCH] 代码优化

---
 product-server-project-management/src/main/java/com/product/project/management/service/ProjectBudgetService.java |   30 +++++++++++++++++++-----------
 1 files changed, 19 insertions(+), 11 deletions(-)

diff --git a/product-server-project-management/src/main/java/com/product/project/management/service/ProjectBudgetService.java b/product-server-project-management/src/main/java/com/product/project/management/service/ProjectBudgetService.java
index bb14965..12fd31d 100644
--- a/product-server-project-management/src/main/java/com/product/project/management/service/ProjectBudgetService.java
+++ b/product-server-project-management/src/main/java/com/product/project/management/service/ProjectBudgetService.java
@@ -32,8 +32,6 @@
 	 * @param headerDataList excel鏍囬鏁版嵁
 	 */
 	public DataTableEntity importBudget2(DataTableEntity dtParseData, List<List<String>> headerDataList) {
-		try {
-			
 		
 		//鍒ゆ柇鏄惁鏈夎В鏋怑XCEL鏁版嵁
 		if (BaseUtil.dataTableIsEmpty(dtParseData)) {
@@ -85,9 +83,6 @@
 				e.printStackTrace();
 			}
 		}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
 		return dtParseData;
 	}
 	
@@ -108,14 +103,16 @@
 		FieldSetEntity fseProject = baseDao.getFieldSetByFilter(Cmnconst.PRODUCT_PROJECT_QXLW, "project_name=?", new Object[] {fseParseData.getString("field0")}, false);
 		String projectUUID = fseProject.getUUID();
 		//寰幆field1~field6瀛楁锛岄�愭鐢熸垚瀵瑰簲鐨勯」鐩垎椤规暟鎹�
-		for (int i = 1; i < 8; i++) {
+		for (int i = 1; i < 9; i++) {
 			
 			//鑾峰彇鍒嗛」鍚嶇О,鍒ゆ柇鏄惁涓虹┖
 			String itemize = fseParseData.getString("field"+i);
 			//鍒ゆ柇椤圭洰鍒嗛」鍚嶇О鏄惁涓虹┖锛堝涓虹┖锛氬垯璇ラ绠楀搴旂殑椤圭洰鍒嗛」鐢熸垚瀹屾瘯锛岄绠楀叧鑱旂殑UUID涓轰笂涓�涓猣ield鍒嗛」瀵瑰簲鐨刄UID
 			if (BaseUtil.strIsNull(itemize)) {
-				finalUUID = itemizeFullNameAndUUID.get(itemizFullName);
-				break;
+				if (i==8) {
+					finalUUID = itemizeFullNameAndUUID.get(itemizFullName);
+				}
+				continue;
 			}
 			
 			//鑾峰彇涓婄骇鍒嗛」鍜屽綋鍓嶅垎椤瑰叏绉帮紙濡傚綋鍓嶅垎椤规病鏈変笂绾э細鍒欏叏绉扮瓑浜庡悕绉帮紱濡傛湁涓婄骇锛氬垯鍏ㄧО绛変簬涓婄骇鍏ㄧО/鍚嶇О锛�
@@ -187,11 +184,22 @@
 	 * @param projectUUID
 	 * @return
 	 */
-	public boolean clearBudget(String projectUUID) {
-		DataTableEntity dtOutbound = baseDao.listTable(Cmnconst.PRODUCT_PROJECT_OUTBOUND, "project_uuid=?", new Object[] {projectUUID});
+	public boolean clearBudget(String projectUUID, String itemizeCode) {
+		//鏌ヨ瀵瑰簲椤圭洰瀵瑰簲鍒嗛」鐨勫嚭搴撴暟鎹�
+		DataTableEntity dtOutbound;
+		if(BaseUtil.strIsNull(itemizeCode)) {
+			dtOutbound = baseDao.listTable(Cmnconst.PRODUCT_PROJECT_OUTBOUND, "project_uuid=?", new Object[] {projectUUID});
+		}else {
+			dtOutbound = baseDao.listTable(Cmnconst.PRODUCT_PROJECT_OUTBOUND, "project_uuid=? AND project_itemize IN (SELECT uuid FROM product_project_item WHERE project_uuid=? AND itemize_code LIKE ?)", new Object[] {projectUUID,projectUUID,itemizeCode+"%"});
+		}
+		//鍒ゅ畾鍑哄簱鏁版嵁鏄惁瀛樺湪
 		if (!BaseUtil.dataTableIsEmpty(dtOutbound)) {
 			throw new BaseException(SystemCode.PROJeCT_BUDGET_CLEAR_FAIL_HAS_OUTBOUND.getValue(), SystemCode.PROJeCT_BUDGET_CLEAR_FAIL_HAS_OUTBOUND.getText());
 		}
-		return baseDao.executeUpdate("DELETE FROM product_project_budget WHERE project_itemize_uuid IN (SELECT uuid FROM product_project_item WHERE project_uuid=?)", new Object[] {projectUUID});
+		if (BaseUtil.strIsNull(itemizeCode)) {
+			return baseDao.executeUpdate("DELETE FROM product_project_budget WHERE project_itemize_uuid IN (SELECT uuid FROM product_project_item WHERE project_uuid=?)", new Object[] {projectUUID});
+		}else {
+			return baseDao.executeUpdate("DELETE FROM product_project_budget WHERE project_itemize_uuid IN (SELECT uuid FROM product_project_item WHERE project_uuid=? AND itemize_code LIKE ?)", new Object[] {projectUUID,itemizeCode+"%"});
+		}
 	}
 }

--
Gitblit v1.9.2