354798ggg
2023-08-17 96b6c0cf5b5a55cb9681ba832ad1278945e5ff78
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为上一个field分项对应的UUID
         if (BaseUtil.strIsNull(itemize)) {
            if (i==8) {
            finalUUID = itemizeFullNameAndUUID.get(itemizFullName);
            break;
            }
            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+"%"});
//      }
   }
}