Przeglądaj źródła

Merge remote-tracking branch 'origin/master'

dingsong 4 lat temu
rodzic
commit
6399d0290d

+ 8 - 0
src/main/java/com/migao/config/constant/ProjectStatus.java

@@ -9,6 +9,14 @@ public enum ProjectStatus {
     ;
     private String name;
 
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
     ProjectStatus(String name) {
         this.name = name;
     }

+ 2 - 0
src/main/java/com/migao/config/swagger/SwaggerConfig.java

@@ -1,10 +1,12 @@
 package com.migao.config.swagger;
 
+import com.github.xiaoymin.swaggerbootstrapui.annotations.EnableSwaggerBootstrapUI;
 import com.spring4all.swagger.EnableSwagger2Doc;
 import org.springframework.context.annotation.Configuration;
 
 @Configuration
 @EnableSwagger2Doc
+@EnableSwaggerBootstrapUI
 public class SwaggerConfig {
 
 }

+ 20 - 2
src/main/java/com/migao/controller/ProjectController.java

@@ -6,11 +6,13 @@ import com.migao.config.response.ResponseBean;
 import com.migao.config.validation.Insert;
 import com.migao.config.validation.Update;
 import com.migao.entity.vo.req.*;
+import com.migao.entity.vo.res.DictionaryListRes;
 import com.migao.entity.vo.res.ProjectQueryRes;
 import com.migao.service.ProjectService;
 
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiOperationSupport;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import javax.annotation.Resource;
@@ -24,7 +26,8 @@ public class ProjectController {
     @Resource
     private ProjectService projectService;
 
-    @ApiOperation("增")
+    @ApiOperationSupport(order = 1)
+    @ApiOperation("新增储备")
     @PostMapping(value = "/insert")
     public ResponseBean<?> insert(
             @Validated(value = {Insert.class}) @RequestBody ProjectInsertReq projectInsertReq
@@ -32,6 +35,21 @@ public class ProjectController {
         return projectService.insert(projectInsertReq);
     }
 
+    @ApiOperation("项目分类下拉列表")
+    @PostMapping(value = "/projectClassify")
+    public ResponseBean<List<DictionaryListRes>> projectClassify() {
+        return projectService.projectClassify();
+    }
+    @ApiOperation("项目专业分类下拉列表")
+    @PostMapping(value = "/specialtyClassify")
+    public ResponseBean<List<DictionaryListRes>> specialtyClassify() {
+        return projectService.specialtyClassify();
+    }
+    @ApiOperation("二级分类下拉列表")
+    @PostMapping(value = "/twoClassify")
+    public ResponseBean<List<DictionaryListRes>> twoClassify() {
+        return projectService.twoClassify();
+    }
 
     @ApiOperation("删")
     @PostMapping(value = "/deleteById")
@@ -42,7 +60,7 @@ public class ProjectController {
     }
 
 
-    @ApiOperation("删")
+    @ApiOperation("批量删")
     @PostMapping(value = "/deleteBatch")
     public ResponseBean<?> deleteBatch(
             @RequestBody List<Integer> ids

+ 2 - 2
src/main/java/com/migao/entity/po/Project.java

@@ -72,10 +72,10 @@ public class Project implements Serializable {
     private String progress;
 
     @Column(name = "reserve_status", columnDefinition = "varchar(255) comment '储备状态'")
-    private ProjectStatus reserveStatus;
+    private String reserveStatus;
 
     @Column(name = "order_status", columnDefinition = "varchar(255) comment '下达状态'")
-    private ProjectStatus orderStatus;
+    private String orderStatus;
 
 
     @TableField(fill = FieldFill.INSERT_UPDATE)

+ 37 - 0
src/main/java/com/migao/entity/po/ProjectDemand.java

@@ -0,0 +1,37 @@
+package com.migao.entity.po;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Entity
+@Table(name = "t_project_demand")
+@TableName("t_project_demand")
+@org.hibernate.annotations.Table(appliesTo = "t_project_demand", comment = "项目关联需求表")
+public class ProjectDemand implements Serializable {
+
+    @Id
+    @TableId(type = IdType.AUTO)
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", columnDefinition = "int COMMENT '主键'")
+    private Integer id;
+
+    @Column(name = "project_id", columnDefinition = "int  comment '项目id'")
+    private Integer projectrId;
+
+    @Column(name = "demand_id", columnDefinition = "int  comment '需求id'")
+    private Integer demandId;
+
+}

+ 52 - 54
src/main/java/com/migao/entity/vo/req/ProjectInsertReq.java

@@ -6,6 +6,7 @@ import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
+
 import javax.validation.constraints.NotEmpty;
 import java.time.LocalDateTime;
 import javax.validation.constraints.NotNull;
@@ -22,59 +23,56 @@ import javax.validation.constraints.NotNull;
 @Data
 public class ProjectInsertReq {
 
-        @ApiModelProperty(value = "主键")
-            @NotNull(message = "主键不能为空")
-        private Integer id;
-        @ApiModelProperty(value = "资本性(万元)")
-            @NotEmpty(message = "资本性(万元)不能为空")
-        private String capital;
-        @ApiModelProperty(value = "项目内容")
-            @NotEmpty(message = "项目内容不能为空")
-        private String content;
-        @ApiModelProperty(value = "成本性(万元)")
-            @NotEmpty(message = "成本性(万元)不能为空")
-        private String cost;
-        @ApiModelProperty(value = "储备年份")
-            @NotNull(message = "储备年份不能为空")
-        private LocalDateTime createTime;
-        @ApiModelProperty(value = "")
-            @NotNull(message = "不能为空")
-        private Integer createUserId;
-        @ApiModelProperty(value = "逻辑删除 0未删除 1已删除")
-            @NotNull(message = "逻辑删除 0未删除 1已删除不能为空")
-        private Integer deleted;
-        @ApiModelProperty(value = "重要等级")
-            @NotEmpty(message = "重要等级不能为空")
-        private String level;
-        @ApiModelProperty(value = "项目名称")
-            @NotEmpty(message = "项目名称不能为空")
-        private String name;
-        @ApiModelProperty(value = "可研情况")
-            @NotEmpty(message = "可研情况不能为空")
-        private String progress;
-        @ApiModelProperty(value = "项目分类")
-            @NotEmpty(message = "项目分类不能为空")
-        private String projectClassify;
-        @ApiModelProperty(value = "项目专业分类")
-            @NotEmpty(message = "项目专业分类不能为空")
-        private String specialtyClassify;
-        @ApiModelProperty(value = "合计(万元)")
-            @NotEmpty(message = "合计(万元)不能为空")
-        private String total;
-        @ApiModelProperty(value = "总投资(万元)")
-            @NotEmpty(message = "总投资(万元)不能为空")
-        private String totalInvestment;
-        @ApiModelProperty(value = "二级分类")
-            @NotEmpty(message = "二级分类不能为空")
-        private String twoClassify;
-        @ApiModelProperty(value = "填报单位")
-            @NotEmpty(message = "填报单位不能为空")
-        private String unit;
-        @ApiModelProperty(value = "下达状态")
-            @NotEmpty(message = "下达状态不能为空")
-        private String orderStatus;
-        @ApiModelProperty(value = "储备状态")
-            @NotEmpty(message = "储备状态不能为空")
-        private String reserveStatus;
+    @ApiModelProperty(value = "资本性(万元)")
+    @NotEmpty(message = "资本性(万元)不能为空")
+    private String capital;
+
+    @ApiModelProperty(value = "项目内容")
+    @NotEmpty(message = "项目内容不能为空")
+    private String content;
+
+    @ApiModelProperty(value = "成本性(万元)")
+    @NotEmpty(message = "成本性(万元)不能为空")
+    private String cost;
+
+    @ApiModelProperty(value = "储备年份")
+    @NotNull(message = "储备年份不能为空")
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "重要等级")
+    @NotEmpty(message = "重要等级不能为空")
+    private String level;
+
+    @ApiModelProperty(value = "项目名称")
+    @NotEmpty(message = "项目名称不能为空")
+    private String name;
+
+    @ApiModelProperty(value = "可研情况")
+    @NotEmpty(message = "可研情况不能为空")
+    private String progress;
+
+    @ApiModelProperty(value = "项目分类")
+    @NotEmpty(message = "项目分类不能为空")
+    private String projectClassify;
+
+    @ApiModelProperty(value = "项目专业分类")
+    @NotEmpty(message = "项目专业分类不能为空")
+    private String specialtyClassify;
+
+    @ApiModelProperty(value = "合计(万元)")
+    @NotEmpty(message = "合计(万元)不能为空")
+    private String total;
+
+    @ApiModelProperty(value = "总投资(万元)")
+    @NotEmpty(message = "总投资(万元)不能为空")
+    private String totalInvestment;
+
+    @ApiModelProperty(value = "二级分类")
+    @NotEmpty(message = "二级分类不能为空")
+    private String twoClassify;
+
+    @ApiModelProperty(value = "填报单位")
+    @NotEmpty(message = "填报单位不能为空")
+    private String unit;
 
 }

+ 33 - 0
src/main/java/com/migao/entity/vo/res/DictionaryListRes.java

@@ -0,0 +1,33 @@
+package com.migao.entity.vo.res;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Column;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Data
+public class DictionaryListRes {
+
+    @ApiModelProperty(value = "主键")
+    private Integer id;
+
+    @ApiModelProperty(value = "父级id")
+    private Integer parentId;
+
+    @ApiModelProperty(value = "类型")
+    private String type;
+
+    @ApiModelProperty(value = "分类值")
+    private String value;
+}

+ 5 - 0
src/main/java/com/migao/mapper/DictionaryMapper.java

@@ -2,7 +2,12 @@ package com.migao.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.migao.entity.po.Dictionary;
+import com.migao.entity.vo.res.DictionaryListRes;
+
+import java.util.List;
 
 public interface DictionaryMapper extends BaseMapper<Dictionary> {
     void insertAll();
+
+    List<DictionaryListRes> findByValue(String value);
 }

+ 7 - 0
src/main/java/com/migao/service/ProjectService.java

@@ -6,6 +6,7 @@ import com.migao.entity.vo.req.ProjectInsertReq;
 import com.migao.entity.vo.req.ProjectPageQueryReq;
 import com.migao.entity.vo.req.ProjectQueryReq;
 import com.migao.entity.vo.req.ProjectUpdateReq;
+import com.migao.entity.vo.res.DictionaryListRes;
 import com.migao.entity.vo.res.ProjectQueryRes;
 
 import java.util.List;
@@ -59,4 +60,10 @@ public interface ProjectService {
      * @return ?
      */
     ResponseBean<List<ProjectQueryRes>> query(ProjectQueryReq projectQueryReq);
+
+    ResponseBean<List<DictionaryListRes>> projectClassify();
+
+    ResponseBean<List<DictionaryListRes>> specialtyClassify();
+
+    ResponseBean<List<DictionaryListRes>> twoClassify();
 }

+ 34 - 1
src/main/java/com/migao/service/impl/ProjectServiceImpl.java

@@ -1,5 +1,6 @@
 package com.migao.service.impl;
 
+import com.migao.config.constant.ProjectStatus;
 import com.migao.config.response.PageBean;
 import com.migao.config.response.ResponseBean;
 import com.migao.config.response.ResponseBuilder;
@@ -8,13 +9,16 @@ import com.migao.entity.vo.req.ProjectInsertReq;
 import com.migao.entity.vo.req.ProjectPageQueryReq;
 import com.migao.entity.vo.req.ProjectQueryReq;
 import com.migao.entity.vo.req.ProjectUpdateReq;
+import com.migao.entity.vo.res.DictionaryListRes;
 import com.migao.entity.vo.res.ProjectQueryRes;
+import com.migao.mapper.DictionaryMapper;
 import com.migao.mapper.ProjectMapper;
 import com.migao.mapper.ProjectRepository;
 import com.migao.service.ProjectService;
 import com.migao.util.EntityUtils;
 import com.migao.util.ProjectNoUtil;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.data.jpa.domain.Specification;
@@ -36,6 +40,8 @@ public class ProjectServiceImpl implements ProjectService {
 
     @Resource
     private  ProjectMapper projectMapper;
+    @Resource
+    private DictionaryMapper dictionaryMapper;
 
 
     /**
@@ -46,7 +52,13 @@ public class ProjectServiceImpl implements ProjectService {
      */
     @Override
     public ResponseBean<?> insert(ProjectInsertReq projectInsertReq) {
-        return ResponseBuilder.ok(projectRepository.save(EntityUtils.copyProperties(projectInsertReq, Project.class)));
+        Project project=new Project();
+        BeanUtils.copyProperties(projectInsertReq,project);
+        project.setReserveStatus(ProjectStatus.TO_APPROVAL.getName());
+        project.setDeleted(0);
+        project.setParentId(0);
+        project.setNo(ProjectNoUtil.getCode());
+        return ResponseBuilder.ok(projectRepository.save(project));
     }
 
     /**
@@ -342,4 +354,25 @@ public class ProjectServiceImpl implements ProjectService {
                 ).collect(Collectors.toList())
         );
     }
+
+    @Override
+    public ResponseBean<List<DictionaryListRes>> projectClassify() {
+        String value="项目分类";
+        List<DictionaryListRes> all = dictionaryMapper.findByValue(value);
+        return ResponseBuilder.ok(all);
+    }
+
+    @Override
+    public ResponseBean<List<DictionaryListRes>> specialtyClassify() {
+        String value="项目专业分类";
+        List<DictionaryListRes> all = dictionaryMapper.findByValue(value);
+        return ResponseBuilder.ok(all);
+    }
+
+    @Override
+    public ResponseBean<List<DictionaryListRes>> twoClassify() {
+        String value="二级分类";
+        List<DictionaryListRes> all = dictionaryMapper.findByValue(value);
+        return ResponseBuilder.ok(all);
+    }
 }

+ 4 - 0
src/main/resources/mapper/DictionaryMapper.xml

@@ -10,4 +10,8 @@
         (0,'SPECIALTY_CLASSIFY','项目专业分类',0),
         (0,'TWO_CLASSIFY','二级分类',0)
     </insert>
+    <select id="findByValue" resultType="com.migao.entity.vo.res.DictionaryListRes">
+SELECT * FROM t_dictionary two WHERE
+parent_id=(SELECT id FROM t_dictionary WHERE parent_id='0' AND type='PROJECT_CLASSIFY')
+    </select>
 </mapper>