Sfoglia il codice sorgente

项目相关实体

lichaoliu 4 anni fa
parent
commit
c535c68d1e

+ 36 - 6
src/main/java/com/migao/controller/PurchasingApprovalController.java

@@ -8,17 +8,17 @@ import com.migao.entity.vo.req.ProjectPageQueryReq;
 import com.migao.entity.vo.req.PurchasingApprovalPageQueryReq;
 import com.migao.entity.vo.res.ProjectQueryRes;
 import com.migao.entity.vo.res.PurchasingApprovalQueryRes;
+import com.migao.service.ProjectService;
 import com.migao.service.PurchasingApprovalService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperationSupport;
+import io.swagger.annotations.ApiParam;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 @Api(tags = "005.采购审批")
 @RestController
@@ -28,11 +28,41 @@ public class PurchasingApprovalController {
     private PurchasingApprovalService purchasingApprovalService;
 
     @ApiOperationSupport(order = 1)
-    @ApiOperation("分页查")
+    @ApiOperation("分页查询(所有子项目)")
     @PostMapping(value = "/pageQuery")
-    public ResponseBean<PageBean<PurchasingApprovalQueryRes>> pageQuery(
+    public ResponseBean<PageBean<ProjectQueryRes>> pageQuery(
             @RequestBody PurchasingApprovalPageQueryReq purchasingApprovalPageQueryReq
     ) {
         return purchasingApprovalService.pageQuery(purchasingApprovalPageQueryReq);
     }
+
+    @ApiOperationSupport(order = 2)
+    @ApiOperation("需求提报")
+    @PostMapping(value = "/submit")
+    public ResponseBean<?> submit(
+            @ApiParam("项目id") @RequestParam Integer projectId,
+            @ApiParam("需求id集合") @RequestParam List<Integer> demandIdList
+    ) {
+        return purchasingApprovalService.submit(projectId,demandIdList);
+    }
+
+    @ApiOperationSupport(order = 3)
+    @ApiOperation("审批通过")
+    @PostMapping(value = "/approve")
+    public ResponseBean<?> approve(
+            @RequestParam Integer id
+    ) {
+        return purchasingApprovalService.approve(id);
+    }
+
+    @ApiOperationSupport(order = 4)
+    @ApiOperation("审批拒绝")
+    @PostMapping(value = "/reject")
+    public ResponseBean<?> reject(
+            @RequestParam Integer id
+    ) {
+        return purchasingApprovalService.reject(id);
+    }
+
+
 }

+ 12 - 18
src/main/java/com/migao/entity/vo/req/PurchasingApprovalPageQueryReq.java

@@ -3,31 +3,25 @@ package com.migao.entity.vo.req;
 import com.migao.config.response.BasePageRequest;
 import lombok.*;
 import io.swagger.annotations.ApiModelProperty;
+
 import java.time.LocalDateTime;
 
-/**
- * @version 1.0
- * @Author mwh
- * @Date 2020/4/10 14:20
- */
+
 @NoArgsConstructor
 @AllArgsConstructor
 @Data
 public class PurchasingApprovalPageQueryReq extends BasePageRequest {
 
-    @ApiModelProperty(value = "主键")
-    private Integer id;
-    @ApiModelProperty(value = "创建时间")
+    @ApiModelProperty(value = "储备年份")
     private LocalDateTime createTime;
-    @ApiModelProperty(value = "")
-    private Integer createUserId;
-    @ApiModelProperty(value = "逻辑删除 0未删除 1已删除")
-    private Integer deleted;
-    @ApiModelProperty(value = "父id")
-    private Long parentId;
-    @ApiModelProperty(value = "采购阶段")
-    private String stage;
-    @ApiModelProperty(value = "完成状态")
-    private String status;
+
+    @ApiModelProperty(value = "项目名称")
+    private String name;
+
+    @ApiModelProperty(value = "下达状态")
+    private String orderStatus;
+
+    @ApiModelProperty(value = "储备状态")
+    private String reserveStatus;
 
 }

+ 7 - 0
src/main/java/com/migao/mapper/ProjectDemandMapper.java

@@ -0,0 +1,7 @@
+package com.migao.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.migao.entity.po.ProjectDemand;
+
+public interface ProjectDemandMapper extends BaseMapper<ProjectDemand> {
+}

+ 10 - 1
src/main/java/com/migao/service/PurchasingApprovalService.java

@@ -5,8 +5,17 @@ import com.migao.config.response.PageBean;
 import com.migao.config.response.ResponseBean;
 import com.migao.entity.po.PurchasingApproval;
 import com.migao.entity.vo.req.PurchasingApprovalPageQueryReq;
+import com.migao.entity.vo.res.ProjectQueryRes;
 import com.migao.entity.vo.res.PurchasingApprovalQueryRes;
 
+import java.util.List;
+
 public interface PurchasingApprovalService{
-    ResponseBean<PageBean<PurchasingApprovalQueryRes>> pageQuery(PurchasingApprovalPageQueryReq purchasingApprovalPageQueryReq);
+    ResponseBean<PageBean<ProjectQueryRes>> pageQuery(PurchasingApprovalPageQueryReq purchasingApprovalPageQueryReq);
+
+    ResponseBean<?> submit(Integer projectId, List<Integer> demandIdList);
+
+    ResponseBean<?> approve(Integer id);
+
+    ResponseBean<?> reject(Integer id);
 }

+ 107 - 3
src/main/java/com/migao/service/impl/PurchasingApprovalServiceImpl.java

@@ -1,17 +1,31 @@
 package com.migao.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.migao.config.constant.ProjectStatus;
 import com.migao.config.response.PageBean;
 import com.migao.config.response.ResponseBean;
+import com.migao.config.response.ResponseBuilder;
+import com.migao.entity.po.Project;
+import com.migao.entity.po.ProjectDemand;
 import com.migao.entity.po.PurchasingApproval;
+import com.migao.entity.vo.req.ProjectPageQueryReq;
 import com.migao.entity.vo.req.PurchasingApprovalPageQueryReq;
-import com.migao.entity.vo.res.PurchasingApprovalQueryRes;
+import com.migao.entity.vo.res.ProjectQueryRes;
+import com.migao.mapper.ProjectDemandMapper;
+import com.migao.mapper.ProjectMapper;
 import com.migao.mapper.PurchasingApprovalMapper;
+import com.migao.service.ProjectService;
 import com.migao.service.PurchasingApprovalService;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.annotation.Resource;
+import java.util.List;
+
 /**
  * @author dingsong
  */
@@ -19,8 +33,98 @@ import org.springframework.transaction.annotation.Transactional;
 @Service
 @Transactional(rollbackFor = {Exception.class})
 public class PurchasingApprovalServiceImpl extends ServiceImpl<PurchasingApprovalMapper, PurchasingApproval> implements PurchasingApprovalService {
+    @Resource
+    private ProjectMapper projectMapper;
+    @Resource
+    private PurchasingApprovalMapper purchasingApprovalMapper;
+    @Resource
+    private ProjectDemandMapper projectDemandMapper;
+
+    @Override
+    public ResponseBean<PageBean<ProjectQueryRes>> pageQuery(PurchasingApprovalPageQueryReq purchasingApprovalPageQueryReq) {
+        Integer page = purchasingApprovalPageQueryReq.getPage();
+        page = page == null ? 1 : page <= 0 ? 1 : page;
+        Integer size = purchasingApprovalPageQueryReq.getSize();
+        size = size == null ? 10 : size <= 0 ? 10 : size;
+
+        LambdaQueryWrapper<Project> queryWrapper = new LambdaQueryWrapper<>();
+        if (purchasingApprovalPageQueryReq.getCreateTime() != null) {
+        }
+        if (StringUtils.isNotBlank(purchasingApprovalPageQueryReq.getName())) {
+            queryWrapper.eq(Project::getCreateTime, purchasingApprovalPageQueryReq.getCreateTime());
+        }
+        if (StringUtils.isNotBlank(purchasingApprovalPageQueryReq.getOrderStatus())) {
+            queryWrapper.eq(Project::getOrderStatus, purchasingApprovalPageQueryReq.getOrderStatus());
+        }
+        queryWrapper.ne(Project::getParentId, 0);
+        Page<Project> all = projectMapper.selectPage(new Page<>(page, size), queryWrapper);
+        return ResponseBuilder.ok(
+                all,
+                element -> {
+                    ProjectQueryRes projectQueryRes = ProjectQueryRes
+                            .builder()
+                            .id(element.getId())
+                            .capital(String.valueOf(element.getCapital()))
+                            .content(element.getContent())
+                            .cost(String.valueOf(element.getCost()))
+                            .createTime(element.getCreateTime())
+                            .createUserId(element.getCreateUserId())
+                            .deleted(element.getDeleted())
+                            .level(element.getLevel())
+                            .name(element.getName())
+                            .progress(element.getProgress())
+                            .projectClassify(element.getProjectClassify())
+                            .specialtyClassify(element.getSpecialtyClassify())
+                            .total(String.valueOf(element.getTotal()))
+                            .totalInvestment(String.valueOf(element.getTotalInvestment()))
+                            .twoClassify(element.getTwoClassify())
+                            .unit(element.getUnit())
+                            .orderStatus(String.valueOf(element.getOrderStatus()))
+                            .reserveStatus(String.valueOf(element.getReserveStatus()))
+                            .build();
+                    return projectQueryRes;
+                }
+        );
+    }
+
+    @Override
+    public ResponseBean<?> submit(Integer projectId, List<Integer> demandIdList) {
+        Project project = projectMapper.selectById(projectId);
+        if (project==null){
+            return ResponseBuilder.fail("项目不存在");
+        }
+        //绑定项目和需求
+        for (Integer id : demandIdList) {
+            ProjectDemand projectDemand=new ProjectDemand();
+            projectDemand.setProjectrId(projectId);
+            projectDemand.setDemandId(id);
+            projectDemandMapper.insert(projectDemand);
+        }
+        //更新项目状态
+        project.setOrderStatus(ProjectStatus.TO_APPROVAL.getName());
+        projectMapper.updateById(project);
+        return ResponseBuilder.ok();
+    }
+
+    @Override
+    public ResponseBean<?> approve(Integer id) {
+        Project project = projectMapper.selectById(id);
+        if (project == null) {
+            ResponseBuilder.fail("项目不存在");
+        }
+        project.setOrderStatus(ProjectStatus.APPROVE.getName());
+        projectMapper.updateById(project);
+        return ResponseBuilder.ok();
+    }
+
     @Override
-    public ResponseBean<PageBean<PurchasingApprovalQueryRes>> pageQuery(PurchasingApprovalPageQueryReq purchasingApprovalPageQueryReq) {
-        return null;
+    public ResponseBean<?> reject(Integer id) {
+        Project project = projectMapper.selectById(id);
+        if (project == null) {
+            ResponseBuilder.fail("项目不存在");
+        }
+        project.setOrderStatus(ProjectStatus.TO_BE_REPORTED.getName());
+        projectMapper.updateById(project);
+        return ResponseBuilder.ok();
     }
 }