fuliqi
2024-11-27 9a4cb6af9f2e289685a92c220bdfe05a46f926af
项目新增暂提
6个文件已修改
152 ■■■■■ 已修改文件
business/src/main/java/com/ycl/controller/ProjectInfoController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/entity/ProjectInfo.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/form/ProjectInfoForm.java 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/vo/ProjectInfoVO.java 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/resources/mapper/ProjectInfoMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/controller/ProjectInfoController.java
@@ -10,7 +10,6 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
business/src/main/java/com/ycl/domain/entity/ProjectInfo.java
@@ -1,12 +1,13 @@
package com.ycl.domain.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ycl.system.domain.base.AbsEntity;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
/**
 * 项目管理基础信息表
@@ -58,11 +59,11 @@
    @TableField("competent_department")
    /** 主管部门(对应审批部门id) */
    private Integer competentDepartment;
    private String competentDepartment;
    @TableField("area_code")
    @TableField("area")
    /** 行政区域 */
    private String areaCode;
    private String area;
    @TableField("management_centralization")
    /** 管理归口  (0基本建设(发改),  1更新改造(经信),  2单纯购置(发改),  3信息化(发改),  4其他投资) */
@@ -71,10 +72,6 @@
    @TableField("project_approval_type")
    /** 项目审批类型 */
    private String projectApprovalType;
    @TableField("investment_catalogue")
    /** 投资目录(?) */
    private String investmentCatalogue;
    @TableField("importance_type")
    /** 重点分类  (0省重点项目,  1遂宁市重点项目,  2.射洪市重点项目,  3.一般项目) */
@@ -90,15 +87,15 @@
    @TableField("create_project_time")
    /** 立项时间 */
    private LocalDateTime createProjectTime;
    private Date createProjectTime;
    @TableField("plan_start_time")
    /** 计划开工时间 */
    private LocalDateTime planStartTime;
    private Date planStartTime;
    @TableField("plan_complete_time")
    /** 计划竣工时间 */
    private LocalDateTime planCompleteTime;
    private Date planCompleteTime;
    @TableField("win_unit")
    /** 中标单位 */
@@ -110,7 +107,7 @@
    @TableField("win_time")
    /** 中标时间 */
    private LocalDateTime winTime;
    private Date winTime;
    @TableField("project_address")
    /** 详细地址 */
@@ -136,19 +133,11 @@
    /** 联系方式 */
    private String contact;
    @TableField("gmt_create_time")
    /** 创建时间 */
    private LocalDateTime gmtCreateTime;
    @TableField("gmt_update_time")
    /** 更新时间 */
    private LocalDateTime gmtUpdateTime;
    @TableField("update_by")
    @TableField(value = "update_by",fill = FieldFill.INSERT_UPDATE)
    /** 更新人 */
    private Long updateBy;
    @TableField("create_by")
    @TableField(value = "create_by",fill = FieldFill.INSERT)
    /** 创建人 */
    private Long createBy;
business/src/main/java/com/ycl/domain/form/ProjectInfoForm.java
@@ -1,19 +1,23 @@
package com.ycl.domain.form;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ycl.common.group.Add;
import com.ycl.common.group.Update;
import com.ycl.domain.entity.File;
import com.ycl.domain.entity.ProjectInfo;
import com.ycl.system.domain.base.AbsForm;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.lang.NonNull;
import org.springframework.util.CollectionUtils;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
 * 项目管理基础信息表表单
@@ -29,139 +33,109 @@
    @ApiModelProperty("项目名称")
    private String projectName;
    @NotBlank(message = "项目代码不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("文件")
    private List<File> fileList;
    @ApiModelProperty("项目代码")
    private String projectCode;
    @NotBlank(message = "建设内容不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("建设内容")
    private String content;
    @NotBlank(message = "项目类型(0房屋建筑,1城市基础设施,2交通运输,3水利,4能源,5非煤矿山,6其他)不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("项目类型(0房屋建筑,1城市基础设施,2交通运输,3水利,4能源,5非煤矿山,6其他)")
    private String projectType;
    @NotBlank(message = "项目状态  (0未开工,1已开工,2已竣工,3暂停)不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("项目状态  (0未开工,1已开工,2已竣工,3暂停)")
    private String projectStatus;
    @NotBlank(message = "资金类型(0中预资金,1国债资金,2超长期国债,3地方政府专项债)不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("资金类型(0中预资金,1国债资金,2超长期国债,3地方政府专项债)")
    private String fundType;
    @NotBlank(message = "投资类别(0企业投资,1政府投资,2外商投资,3境外投资)不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("投资类别(0企业投资,1政府投资,2外商投资,3境外投资)")
    private String investType;
    @NotBlank(message = "项目阶段(0储备规划阶段,  1项目前期阶段,  2实施阶段,  3竣工投用阶段)不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("项目阶段(0储备规划阶段,  1项目前期阶段,  2实施阶段,  3竣工投用阶段)")
    private String projectPhase;
    @NotBlank(message = "标签不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("标签")
    private String tag;
    @NotNull(message = "主管部门(对应审批部门id)不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("主管部门(对应审批部门id)")
    private Integer competentDepartment;
    private List<Long> competentDepartmentList;
    @NotBlank(message = "行政区域不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("行政区域")
    private String areaCode;
    private String area;
    @NotBlank(message = "管理归口  (0基本建设(发改),  1更新改造(经信),  2单纯购置(发改),  3信息化(发改),  4其他投资)不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("管理归口  (0基本建设(发改),  1更新改造(经信),  2单纯购置(发改),  3信息化(发改),  4其他投资)")
    private String managementCentralization;
    private List<String> managementCentralizationList;
    @NotBlank(message = "项目审批类型不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("项目审批类型")
    private String projectApprovalType;
    @NotBlank(message = "投资目录(?)不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("投资目录(?)")
    private String investmentCatalogue;
    @NotBlank(message = "重点分类  (0省重点项目,  1遂宁市重点项目,  2.射洪市重点项目,  3.一般项目)不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("重点分类  (0省重点项目,  1遂宁市重点项目,  2.射洪市重点项目,  3.一般项目)")
    private String importanceType;
    @NotBlank(message = "年度投资计划不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("年度投资计划")
    private String year;
    @NotNull(message = "年度投资金额不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("年度投资金额")
    private BigDecimal yearInvestAmount;
    @NotNull(message = "立项时间不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("立项时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createProjectTime;
    @NotNull(message = "计划开工时间不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("计划开工时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date planStartTime;
    @NotNull(message = "计划竣工时间不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("计划竣工时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date planCompleteTime;
    @NotBlank(message = "中标单位不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("中标单位")
    private String winUnit;
    @NotBlank(message = "中标金额不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("中标金额")
    private String winAmount;
    @NotNull(message = "中标时间不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("中标时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date winTime;
    @NotBlank(message = "详细地址不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("详细地址")
    private String projectAddress;
    @NotBlank(message = "经度不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("经度")
    private String longitude;
    @NotBlank(message = "纬度不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("纬度")
    private String latitude;
    @NotBlank(message = "项目业主单位不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("项目业主单位")
    private String projectOwnerUnit;
    @NotBlank(message = "项目联系人不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("项目联系人")
    private String projectContactPerson;
    @NotBlank(message = "联系方式不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("联系方式")
    private String contact;
    @NotNull(message = "创建时间不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("创建时间")
    private Date gmtCreateTime;
    @NotNull(message = "更新时间不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("更新时间")
    private Date gmtUpdateTime;
    @NotNull(message = "更新人不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("更新人")
    private Long updateBy;
    @NotNull(message = "创建人不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("创建人")
    private Long createBy;
    public static ProjectInfo getEntityByForm(@NonNull ProjectInfoForm form, ProjectInfo entity) {
        if(entity == null) {
          entity = new ProjectInfo();
        }
        BeanUtils.copyProperties(form, entity);
        //审核部门转换
        List<Long> competentDepartmentList = form.getCompetentDepartmentList();
        if(!CollectionUtils.isEmpty(competentDepartmentList)){
            entity.setCompetentDepartment(StringUtils.join(competentDepartmentList, ","));
        }
        //管理归口转换
        List<String> managementCentralizationList = form.getManagementCentralizationList();
        if(!CollectionUtils.isEmpty(managementCentralizationList)){
            entity.setManagementCentralization(StringUtils.join(managementCentralizationList, ","));
        }
        return entity;
    }
business/src/main/java/com/ycl/domain/vo/ProjectInfoVO.java
@@ -5,11 +5,15 @@
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.lang.NonNull;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/**
 * 项目管理基础信息表展示
@@ -59,23 +63,20 @@
    /** 主管部门(对应审批部门id) */
    @ApiModelProperty("主管部门(对应审批部门id)")
    private Integer competentDepartment;
    private List<Long> competentDepartmentList;
    /** 行政区域 */
    @ApiModelProperty("行政区域")
    private String areaCode;
    private String area;
    /** 管理归口  (0基本建设(发改),  1更新改造(经信),  2单纯购置(发改),  3信息化(发改),  4其他投资) */
    @ApiModelProperty("管理归口  (0基本建设(发改),  1更新改造(经信),  2单纯购置(发改),  3信息化(发改),  4其他投资)")
    private String managementCentralization;
    private List<String> managementCentralizationList;
    /** 项目审批类型 */
    @ApiModelProperty("项目审批类型")
    private String projectApprovalType;
    /** 投资目录(?) */
    @ApiModelProperty("投资目录(?)")
    private String investmentCatalogue;
    /** 重点分类  (0省重点项目,  1遂宁市重点项目,  2.射洪市重点项目,  3.一般项目) */
    @ApiModelProperty("重点分类  (0省重点项目,  1遂宁市重点项目,  2.射洪市重点项目,  3.一般项目)")
@@ -160,6 +161,20 @@
            vo = new ProjectInfoVO();
        }
        BeanUtils.copyProperties(entity, vo);
        //主管部门转成list
        String competentDepartment = entity.getCompetentDepartment();
        if(!StringUtils.isBlank(competentDepartment)){
            List<Long> competentDepartmentList = new ArrayList<>();
            String[] split = competentDepartment.split(",");
            for (String s : split) {
                Long.parseLong(s);
            }
        }
        //管理归口转换
        String managementCentralization = entity.getManagementCentralization();
        if(!StringUtils.isBlank(managementCentralization)){
            Arrays.asList(managementCentralization.split(","));
        }
        return vo;
    }
business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.common.base.Result;
import com.ycl.domain.entity.File;
import com.ycl.domain.entity.ProjectInfo;
import com.ycl.domain.form.ProjectInfoForm;
import com.ycl.domain.query.ProjectInfoQuery;
@@ -41,8 +42,11 @@
     */
    @Override
    public Result add(ProjectInfoForm form) {
        //添加基本信息
        ProjectInfo entity = ProjectInfoForm.getEntityByForm(form, null);
        baseMapper.insert(entity);
//        baseMapper.insert(entity);
        //添加文件
        List<File> fileList = form.getFileList();
        return Result.ok("添加成功");
    }
business/src/main/resources/mapper/ProjectInfoMapper.xml
@@ -15,10 +15,9 @@
        <result column="project_phase" property="projectPhase" />
        <result column="tag" property="tag" />
        <result column="competent_department" property="competentDepartment" />
        <result column="area_code" property="areaCode" />
        <result column="area" property="area" />
        <result column="management_centralization" property="managementCentralization" />
        <result column="project_approval_type" property="projectApprovalType" />
        <result column="investment_catalogue" property="investmentCatalogue" />
        <result column="importance_type" property="importanceType" />
        <result column="year" property="year" />
        <result column="year_invest_amount" property="yearInvestAmount" />
@@ -53,10 +52,9 @@
            TPI.project_phase,
            TPI.tag,
            TPI.competent_department,
            TPI.area_code,
            TPI.area,
            TPI.management_centralization,
            TPI.project_approval_type,
            TPI.investment_catalogue,
            TPI.importance_type,
            TPI.year,
            TPI.year_invest_amount,
@@ -96,10 +94,9 @@
            TPI.project_phase,
            TPI.tag,
            TPI.competent_department,
            TPI.area_code,
            TPI.area,
            TPI.management_centralization,
            TPI.project_approval_type,
            TPI.investment_catalogue,
            TPI.importance_type,
            TPI.year,
            TPI.year_invest_amount,