From 96b6c0cf5b5a55cb9681ba832ad1278945e5ff78 Mon Sep 17 00:00:00 2001
From: 354798ggg <1074825718@qq.com>
Date: 星期四, 17 八月 2023 14:42:43 +0800
Subject: [PATCH] 按节点生成预算

---
 product-server-project-management/src/main/java/com/product/project/management/service/ProjectBudgetService.java       |   25 +++++++++++++++++++------
 product-server-project-management/src/main/java/com/product/project/management/service/ProjectInfoService.java         |    2 +-
 product-server-project-management/src/main/java/com/product/project/management/controller/ProjectBudgetController.java |    2 +-
 3 files changed, 21 insertions(+), 8 deletions(-)

diff --git a/product-server-project-management/src/main/java/com/product/project/management/controller/ProjectBudgetController.java b/product-server-project-management/src/main/java/com/product/project/management/controller/ProjectBudgetController.java
index 744e200..a345535 100644
--- a/product-server-project-management/src/main/java/com/product/project/management/controller/ProjectBudgetController.java
+++ b/product-server-project-management/src/main/java/com/product/project/management/controller/ProjectBudgetController.java
@@ -40,7 +40,7 @@
             if (BaseUtil.strIsNull(fse.getString(Cmnconst.PROJECT_UUID))) {
                 return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
             }
-            boolean succ = projectBudgetService.clearBudget(fse.getString(Cmnconst.PROJECT_UUID));
+            boolean succ = projectBudgetService.clearBudget(fse.getString(Cmnconst.PROJECT_UUID), fse.getString(Cmnconst.ITEMIZE_CODE));
             if (succ) {
 				return OK();
 			}
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..ee6305f 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
@@ -1,5 +1,6 @@
 package com.product.project.management.service;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -108,14 +109,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 +190,21 @@
 	 * @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});
+		return false;
+//		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+"%"});
+//		}
 	}
 }
diff --git a/product-server-project-management/src/main/java/com/product/project/management/service/ProjectInfoService.java b/product-server-project-management/src/main/java/com/product/project/management/service/ProjectInfoService.java
index 21dd0f8..e4e30ef 100644
--- a/product-server-project-management/src/main/java/com/product/project/management/service/ProjectInfoService.java
+++ b/product-server-project-management/src/main/java/com/product/project/management/service/ProjectInfoService.java
@@ -60,7 +60,7 @@
      * @return
      */
     public DataTableEntity getProjectAllItem(String uuid) {
-        DataTableEntity dtProjectItemize = baseDao.listTable(Cmnconst.PRODUCT_PROJECT_ITEM, "project_uuid=?", new Object[]{uuid}, new Object[]{CoreConst.UUID, Cmnconst.ITEMIZE, Cmnconst.ITEMIZE_CODE, Cmnconst.ITEMIZE_PARENT_CODE});
+        DataTableEntity dtProjectItemize = baseDao.listTable(Cmnconst.PRODUCT_PROJECT_ITEM, "project_uuid=?", new Object[]{uuid}, new Object[]{CoreConst.UUID, Cmnconst.ITEMIZE, Cmnconst.ITEMIZE_CODE, Cmnconst.ITEMIZE_PARENT_CODE, Cmnconst.ITEMIZE_FULL_NAME});
         if (!BaseUtil.dataTableIsEmpty(dtProjectItemize)) {
             DataTableEntity newDtProjectItem = BaseUtil.dataTableToTreeTable(dtProjectItemize, Cmnconst.ITEMIZE_CODE, Cmnconst.ITEMIZE_PARENT_CODE, null);
             return newDtProjectItem;

--
Gitblit v1.9.2