354798ggg
2023-06-16 62fdd2935d3c7425320bf84ed4e1f553f6007374
代码调整
已添加5个文件
已修改2个文件
已删除2个文件
376 ■■■■■ 文件已修改
pom.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
product-server-project-contract/src/main/java/com/product/contract/controller/NewProjectInfoController.java 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
product-server-project-contract/src/main/java/com/product/contract/service/NewProjectInfoService.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
product-server-project-management/pom.xml 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
product-server-project-management/src/main/java/com/product/project/management/config/Cmnconst.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
product-server-project-management/src/main/java/com/product/project/management/config/SystemCode.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
product-server-project-management/src/main/java/com/product/project/management/controller/ProjectInfoController.java 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
product-server-project-management/src/main/java/com/product/project/management/service/ProjectInfoService.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
product-server-web/pom.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml
@@ -15,6 +15,7 @@
    <description>product-server</description>
    <modules>
        <module>product-server-project-base</module>
        <module>product-server-project-management</module>
        <module>product-server-project-contract</module>
        <module>product-server-web</module>
    </modules>
@@ -39,7 +40,7 @@
        <UserAgentUtils.version>1.21</UserAgentUtils.version>
        <thumbnailator.version>0.4.8</thumbnailator.version>
        <twelvemonkeys.version>3.4.1</twelvemonkeys.version>
        <poi.version>3.16</poi.version>
        <poi.version>4.1.2</poi.version>
        <pinyin4j.version>2.5.1</pinyin4j.version>
        <commons-fileupload.version>1.3.3</commons-fileupload.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
product-server-project-contract/src/main/java/com/product/contract/controller/NewProjectInfoController.java
ÎļþÒÑɾ³ý
product-server-project-contract/src/main/java/com/product/contract/service/NewProjectInfoService.java
ÎļþÒÑɾ³ý
product-server-project-management/pom.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.lx</groupId>
        <artifactId>product-server</artifactId>
        <version>2.0.0-release</version>
    </parent>
    <artifactId>product-server-project-management</artifactId>
    <name>product-project-server-management</name>
    <description>product-project-server-management</description>
    <version>2.0.0-release</version>
    <dependencies>
        <!--releases  -->
        <dependency>
            <groupId>com.lx</groupId>
            <artifactId>product-server-core</artifactId>
        </dependency>
        <dependency>
            <groupId>com.lx</groupId>
            <artifactId>product-server-common</artifactId>
        </dependency>
        <dependency>
            <groupId>com.lx</groupId>
            <artifactId>product-server-util</artifactId>
        </dependency>
    </dependencies>
</project>
product-server-project-management/src/main/java/com/product/project/management/config/Cmnconst.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
package com.product.project.management.config;
public class Cmnconst {
    //表名
    public static final String PRODUCT_PROJECT_BASE_PROJECT_ITEM="product_project_base_project_item";    //项目类型
    public static final String PRODUCT_PROJECT_BASE_PROJECT_TYPE="product_project_base_project_type";    //项目类型分项
    public static final String PRODUCT_PROJECT_QXLW="product_project_qxlw";        //项目信息
    public static final String PRODUCT_PROJECT_ITEM="product_project_item";        //项目分项
    public static final String PRODUCT_PROJECT_BUDGET="product_project_budget";    //预算
    //字段名
    public static final String ITEMIZE="itemize";
    public static final String ITEMIZE_CODE="itemize_code";
    public static final String ITEMIZE_PARENT_CODE="itemize_parent_code";
    //参数
    public static final String PROJECTTYPE="projectType";
}
product-server-project-management/src/main/java/com/product/project/management/config/SystemCode.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,32 @@
package com.product.project.management.config;
import com.product.common.enums.IEnum;
import com.product.common.enums.ModuleEnum;
public enum SystemCode implements IEnum{
    SYSTEM_OPERATION_SUCCESS("成功", "200"), SYSTEM_FORM_NODATA("请求参数为空", ModuleEnum.ORGSYSTEM.getValue() + "001"),
    SYSTEM_FORM_COUNT("请求参数有误", ModuleEnum.SYSTEM.getValue() + "998"),
    SYSTEM_TABLE_NODATA("请求表名有误", ModuleEnum.SYSTEM.getValue() + "997"),
    SYSTEM_ACQUIRE_PARAM_FAIL("获取参数失败", ModuleEnum.SYSTEM.getValue() + "996"),
    SYSTEM_CPAGES_NOT_NULL("分页参数不能为空", ModuleEnum.SYSTEM.getValue() + "995"),
    PROJECT_MANAGEMENT_ITEMIZE_DEL_FAIL("项目分项删除失败,已经生成预算",""),
    PROJECT_MAMAGERENT_ITEMIZE_GENERAL_ERROR("项目分项操作错误:",""),
    ;
    private String text;
    private String value;
    private SystemCode(String text, String value) {
        this.text = text;
        this.value = value;
    }
    public String getText() {
        return text;
    }
    public String getValue() {
        return value;
    }
}
product-server-project-management/src/main/java/com/product/project/management/controller/ProjectInfoController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,107 @@
package com.product.project.management.controller;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.product.project.management.config.Cmnconst;
import com.product.project.management.config.SystemCode;
import com.product.project.management.service.ProjectInfoService;
import com.product.core.controller.support.AbstractBaseController;
import com.product.core.entity.FieldSetEntity;
import com.product.core.exception.BaseException;
import com.product.module.sys.version.ApiVersion;
import com.product.util.BaseUtil;
@RequestMapping("/api/qxlw-project")
@RestController("qxlw-project-controller")
public class ProjectInfoController extends AbstractBaseController{
    @Autowired
    ProjectInfoService projectInfoService;
     /**
     * æ ¹æ®uuid获取项目详情
     * @param request
     * @return
     */
    @RequestMapping(value = "/get-projectTypeItem/{version}", method = RequestMethod.POST)
    @ApiVersion(1)
    public String getProjectTypeItem(HttpServletRequest request){
        try {
            // èŽ·å–å‚æ•°
            FieldSetEntity fse = BaseUtil.getFieldSetEntity(request);
            // åˆ¤æ–­uuid是否为空
            if (BaseUtil.strIsNull(fse.getString(Cmnconst.PROJECTTYPE))) {
                return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
            }
            return OK_List(projectInfoService.getProjectTypeItem(fse.getString(Cmnconst.PROJECTTYPE)));
        } catch (BaseException e) {
            e.printStackTrace();
            return this.error(e);
        } catch (Exception e) {
            e.printStackTrace();
            return this.error(SystemCode.PROJECT_MAMAGERENT_ITEMIZE_GENERAL_ERROR.getValue(),
                    SystemCode.PROJECT_MAMAGERENT_ITEMIZE_GENERAL_ERROR.getText() + e.getMessage());
        }
    }
    /**
     * æ ¹æ®uuid获取项目详情
     * @param request
     * @return
     */
    @RequestMapping(value = "/get-projectItem/{version}", method = RequestMethod.POST)
    @ApiVersion(1)
    public String getProjectItem(HttpServletRequest request){
        try {
            // èŽ·å–å‚æ•°
            FieldSetEntity fse = BaseUtil.getFieldSetEntity(request);
            // åˆ¤æ–­uuid是否为空
            if (BaseUtil.strIsNull(fse.getUUID())) {
                return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
            }
            return OK_List(projectInfoService.getProjectItem(fse.getUUID()));
        } catch (BaseException e) {
            e.printStackTrace();
            return this.error(e);
        } catch (Exception e) {
            e.printStackTrace();
            return this.error(SystemCode.PROJECT_MAMAGERENT_ITEMIZE_GENERAL_ERROR.getValue(),
                    SystemCode.PROJECT_MAMAGERENT_ITEMIZE_GENERAL_ERROR.getText() + e.getMessage());
        }
    }
    /**
     *     åˆ†é¡¹åˆ é™¤éªŒè¯
     * @param request
     * @return
     */
    @RequestMapping(value = "/del-itemize-valdate/{version}", method = RequestMethod.POST)
    @ApiVersion(1)
    public String deleteItemizeValidate(HttpServletRequest request) {
        try {
            //获取参数
            FieldSetEntity fse = BaseUtil.getFieldSetEntity(request);
            //判断uuid是否为空
            if (BaseUtil.strIsNull(fse.getUUID())) {
                return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
            }
            projectInfoService.deleteItemizeValidate(fse.getUUID());
            return OK();
        } catch (BaseException e) {
            e.printStackTrace();
            return this.error(e);
        } catch (Exception e) {
            e.printStackTrace();
            return this.error(SystemCode.PROJECT_MAMAGERENT_ITEMIZE_GENERAL_ERROR.getValue(),
                    SystemCode.PROJECT_MAMAGERENT_ITEMIZE_GENERAL_ERROR.getText() + e.getMessage());
        }
    }
}
product-server-project-management/src/main/java/com/product/project/management/service/ProjectInfoService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,60 @@
package com.product.project.management.service;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.product.core.dao.BaseDao;
import com.product.core.entity.DataTableEntity;
import com.product.core.entity.FieldSetEntity;
import com.product.core.exception.BaseException;
import com.product.core.service.support.AbstractBaseService;
import com.product.project.management.config.Cmnconst;
import com.product.project.management.config.SystemCode;
import com.product.util.BaseUtil;
@Component("qxlw-project-service")
public class ProjectInfoService extends AbstractBaseService{
    @Autowired
    BaseDao baseDao;
    /**
     *     é€šè¿‡é¡¹ç›®ç±»åž‹èŽ·å–é¡¹ç›®åˆ†é¡¹ï¼ˆèŽ·å–æ¨¡æ¿åˆ†é¡¹ï¼‰
     * @param projectType
     * @return
     */
    public DataTableEntity getProjectTypeItem(String projectType) {
        DataTableEntity dtProjectItem = baseDao.listTable(Cmnconst.PRODUCT_PROJECT_BASE_PROJECT_ITEM, "itemize_type=?", new Object[] {projectType}, new Object[] {Cmnconst.ITEMIZE, Cmnconst.ITEMIZE_CODE, Cmnconst.ITEMIZE_CODE});
        if (!BaseUtil.dataTableIsEmpty(dtProjectItem)) {
            DataTableEntity newDtProjectItem = BaseUtil.dataTableToTreeTable(dtProjectItem, Cmnconst.ITEMIZE_CODE, Cmnconst.ITEMIZE_PARENT_CODE, null);
            return newDtProjectItem;
        }
        return null;
    }
    /**
     *     é€šè¿‡é¡¹ç›®ä¸»è¡¨èŽ·å–é¡¹ç›®åˆ†é¡¹ï¼ˆèŽ·å–ä¿å­˜çš„å­è¡¨åˆ†é¡¹ï¼‰
     * @param uuid
     * @return
     */
    public FieldSetEntity getProjectItem(String uuid) {
        FieldSetEntity fseProject = baseDao.getFieldSetEntity(Cmnconst.PRODUCT_PROJECT_QXLW, uuid, true);
        DataTableEntity newDtProjectItem = BaseUtil.dataTableToTreeTable(fseProject.getSubDataTable(Cmnconst.PRODUCT_PROJECT_ITEM), Cmnconst.ITEMIZE_CODE, Cmnconst.ITEMIZE_PARENT_CODE, null);
        Map<String, DataTableEntity>dtSubTable = fseProject.getSubData();
        dtSubTable.put(Cmnconst.PRODUCT_PROJECT_ITEM, newDtProjectItem);
        return fseProject;
    }
    /**
     *     åˆ é™¤å­é¡¹éªŒè¯ï¼ˆå·²ç»ç”Ÿæˆé¢„算的子项不能删除)
     * @param uuid
     */
    public void deleteItemizeValidate(String uuid) {
        DataTableEntity dtBudget = baseDao.listTable(Cmnconst.PRODUCT_PROJECT_BUDGET, "budget_code=?", new Object[] {uuid});
        if (!BaseUtil.dataTableIsEmpty(dtBudget)) {
            throw new BaseException(SystemCode.PROJECT_MANAGEMENT_ITEMIZE_DEL_FAIL.getValue(), SystemCode.PROJECT_MANAGEMENT_ITEMIZE_DEL_FAIL.getText());
        }
    }
}
product-server-web/pom.xml
@@ -163,6 +163,11 @@
        </dependency>
        <!--项目管理模块-->
        <dependency>
            <groupId>com.lx</groupId>
            <artifactId>product-server-project-management</artifactId>
            <version>2.0.0-release</version>
        </dependency>
        <dependency>
            <groupId>com.lx</groupId>
            <artifactId>product-project-server-base</artifactId>