354798ggg
2023-10-19 19737470afef2563d99ac133a5498ed845f1d822
product-server-project-management/src/main/java/com/product/project/management/service/ProjectInfoService.java
@@ -1,8 +1,5 @@
package com.product.project.management.service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.alibaba.fastjson.JSONArray;
@@ -14,7 +11,9 @@
import com.product.core.entity.DataTableEntity;
import com.product.core.entity.FieldSetEntity;
import com.product.core.exception.BaseException;
import com.product.core.permission.PermissionService;
import com.product.core.service.support.AbstractBaseService;
import com.product.core.spring.context.SpringMVCContextHolder;
import com.product.project.management.config.Cmnconst;
import com.product.project.management.config.SystemCode;
import com.product.util.BaseUtil;
@@ -26,7 +25,30 @@
    @Autowired
    BaseDao baseDao;
    @Autowired
    PermissionService permissionService;
    /**
     *    项目信息列表
     * @param cpage
     * @param pageSize
     * @return
     */
    public DataTableEntity listProjectByCreated(Integer cpage, Integer pageSize) {
       String queryFilter = permissionService.getDataFilter(Cmnconst.PRODUCT_PROJECT_QXLW, "project_leader,materialman");
       FieldSetEntity fseCurrentUser = SpringMVCContextHolder.getCurrentUser().getCurrentStaff();
       String leaderCode = fseCurrentUser.getString("leader_tricode")+"%";
       String filter =" project_leader in (select user_id from product_sys_staffs where leader_tricode like ?) OR materialman in (select user_id from product_sys_staffs where leader_tricode like ?)";
       DataTableEntity dt = baseDao.listTable(Cmnconst.PRODUCT_PROJECT_QXLW, filter, new Object [] {leaderCode, leaderCode}, null, Cmnconst.CREATED_UTC_DATETIME_DESC, pageSize, cpage);
       baseDao.loadPromptData(dt);
       return dt;
    }
    /**
     * 通过项目类型获取项目分项(获取模板分项)
     *
@@ -63,7 +85,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;
@@ -97,30 +119,20 @@
    /**
     * 获取分项预算信息
     *
     * @param projectUUID 项目UUID
     * @param itemizeCode 分项编码
     * @param itemizeUUID 分项UUID
     * @param capge       当前页
     * @param pageSize    页大小
     * @return
     */
    public DataTableEntity listItemizeBudget(String projectUUID, String itemizeCode, Integer capge, Integer pageSize) {
        String filter;
        List<String> params = new ArrayList<>();
        if (BaseUtil.strIsNull(itemizeCode)) {
            filter = "project_itemize_uuid IN (SELECT uuid FROM product_project_item WHERE project_uuid=?)";
            params.add(projectUUID);
        } else {
            filter = "project_itemize_uuid IN (SELECT uuid FROM product_project_item WHERE project_uuid=? AND itemize_code like ?)";
            params.add(projectUUID);
            params.add(itemizeCode + "%");
        }
        DataTableEntity dtItemizeBudget = baseDao.listTable(Cmnconst.PRODUCT_PROJECT_BUDGET, filter, params.toArray(), null, null, pageSize, capge);
        if (!BaseUtil.dataTableIsEmpty(dtItemizeBudget)) {
            baseDao.loadPromptData(dtItemizeBudget);
        }
        return dtItemizeBudget;
    public DataTableEntity listItemizeBudget(String itemizeUUID, Integer capge, Integer pageSize) {
       if (!BaseUtil.strIsNull(itemizeUUID)) {
          DataTableEntity dtItemizeBudget = baseDao.listTable(Cmnconst.PRODUCT_PROJECT_BUDGET, "project_itemize_uuid = ?", new Object[] {itemizeUUID}, null, null, pageSize, capge);
            if (!BaseUtil.dataTableIsEmpty(dtItemizeBudget)) {
                baseDao.loadPromptData(dtItemizeBudget);
            }
            return dtItemizeBudget;
      }
        return null;
    }
    /**