354798ggg
2023-08-17 96b6c0cf5b5a55cb9681ba832ad1278945e5ff78
按节点生成预算
已修改3个文件
29 ■■■■ 文件已修改
product-server-project-management/src/main/java/com/product/project/management/controller/ProjectBudgetController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
product-server-project-management/src/main/java/com/product/project/management/service/ProjectBudgetService.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
product-server-project-management/src/main/java/com/product/project/management/service/ProjectInfoService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
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();
            }
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)) {
                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+"%"});
//        }
    }
}
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;