lichaoliu 4 年之前
父節點
當前提交
3ee02e848f

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

@@ -10,6 +10,8 @@ public enum ProjectStatus {
     RESERVES_ISSUED("储备下达"),
     RESERVES_ISSUED_PASS("储备下达通过"),
     CONTRACT_ENTRY("合同录入"),
+    COMPLETED("已完成"),
+    WAIT_COMPLETED("等待完成"),
     ;
     private String name;
 

+ 22 - 0
src/main/java/com/migao/config/constant/PurchasingStage.java

@@ -0,0 +1,22 @@
+package com.migao.config.constant;
+
+public enum PurchasingStage {
+    SUBMIT("需求提报"),
+    EXAMINE("审批"),
+    TRANSMIT("结果下达"),
+    CONTRACT_ENTRY("合同录入"),
+    ;
+    private String name;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    PurchasingStage(String name) {
+        this.name = name;
+    }
+}

+ 6 - 6
src/main/java/com/migao/controller/MilestoneController.java

@@ -49,7 +49,7 @@ public class MilestoneController {
         return milestoneService.findById(id);
     }
 
-    @ApiOperationSupport(order = 7)
+    @ApiOperationSupport(order = 4)
     @ApiOperation("查询项目里程碑")
     @PostMapping(value = "/selectMilestone")
     public ResponseBean<List<MilestoneQueryRes>> selectMilestone(
@@ -58,7 +58,7 @@ public class MilestoneController {
         return milestoneService.selectMilestone(id);
     }
 
-    @ApiOperationSupport(order = 4)
+    @ApiOperationSupport(order = 8)
     @ApiOperation("修改")
     @PostMapping(value = "/update")
     public ResponseBean<?> update(
@@ -71,9 +71,9 @@ public class MilestoneController {
     @ApiOperation("分页查询(所有子项目)")
     @PostMapping(value = "/pageQuery")
     public ResponseBean<PageBean<ProjectQueryRes>> pageQuery(
-            @RequestBody PurchasingApprovalPageQueryReq purchasingApprovalPageQueryReq
+            @RequestBody MilestonePageQueryReq milestonePageQueryReq
     ) {
-        return purchasingApprovalService.pageQuery(purchasingApprovalPageQueryReq);
+        return milestoneService.pageQuery(milestonePageQueryReq);
     }
 
 
@@ -87,7 +87,7 @@ public class MilestoneController {
         return milestoneService.importData(fileId,projectId);
     }
 
-    @ApiOperationSupport(order = 5)
+    @ApiOperationSupport(order = 6)
     @ApiOperation("导出")
     @PostMapping(value = "/export")
     public ResponseBean<?> export(
@@ -96,7 +96,7 @@ public class MilestoneController {
         return milestoneService.export(milestonePageQueryReq);
     }
 
-    @ApiOperationSupport(order = 6)
+    @ApiOperationSupport(order = 7)
     @ApiOperation("里程碑模板下载")
     @PostMapping(value = "/template")
     public ResponseBean<?> template() {

+ 16 - 11
src/main/java/com/migao/controller/PurchasingApprovalController.java

@@ -1,9 +1,12 @@
 package com.migao.controller;
 
+import com.migao.config.constant.ExamineStatus;
 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 com.migao.service.PurchasingApprovalService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -41,22 +44,15 @@ public class PurchasingApprovalController {
     }
 
     @ApiOperationSupport(order = 3)
-    @ApiOperation("审批通过")
+    @ApiOperation("审批通过PASS/拒绝TURN")
     @PostMapping(value = "/approve")
     public ResponseBean<?> approve(
-            @ApiParam("项目id") @RequestParam Integer projectId
+            @ApiParam("项目id") @RequestParam Integer projectId,
+            @ApiParam("审批通过PASS/拒绝TURN") @RequestParam ExamineStatus status
     ) {
-        return purchasingApprovalService.approve(projectId);
+        return purchasingApprovalService.approve(projectId,status);
     }
 
-    @ApiOperationSupport(order = 4)
-    @ApiOperation("审批拒绝")
-    @PostMapping(value = "/reject")
-    public ResponseBean<?> reject(
-            @ApiParam("项目id") @RequestParam Integer projectId
-    ) {
-        return purchasingApprovalService.reject(projectId);
-    }
     @ApiOperationSupport(order = 5)
     @ApiOperation("结果下达")
     @PostMapping(value = "/transmit")
@@ -78,4 +74,13 @@ public class PurchasingApprovalController {
         return purchasingApprovalService.contractEntry(projectId,fileId);
     }
 
+    @ApiOperationSupport(order = 7)
+    @ApiOperation("根据id查询详情")
+    @PostMapping(value = "/findById")
+    public ResponseBean<List<PurchasingApprovalQueryRes>> findById(
+            @RequestParam Integer id
+    ) {
+        return purchasingApprovalService.findById(id);
+    }
+
 }

+ 1 - 1
src/main/java/com/migao/entity/po/PurchasingApproval.java

@@ -37,7 +37,7 @@ public class PurchasingApproval implements Serializable {
     private String stage;
 
     @Column(name = "status", columnDefinition = "varchar(255) comment '完成状态'")
-    private ProjectStatus status;
+    private String status;
 
     @Column(name = "company", columnDefinition = "varchar(255) comment '采购公司'")
     private String company;

+ 11 - 16
src/main/java/com/migao/entity/vo/req/MilestonePageQueryReq.java

@@ -15,23 +15,18 @@ import java.time.LocalDateTime;
 @Data
 public class MilestonePageQueryReq 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 = "结束时间")
-    private LocalDateTime endTime;
-    @ApiModelProperty(value = "名称")
+
+    @ApiModelProperty(value = "项目名称")
     private String name;
-    @ApiModelProperty(value = "项目id")
-    private Integer projectId;
-    @ApiModelProperty(value = "进度")
-    private String schedule;
-    @ApiModelProperty(value = "状态")
-    private String status;
 
+    @ApiModelProperty(value = "下达状态")
+    private String orderStatus;
+
+    @ApiModelProperty(value = "储备状态")
+    private String reserveStatus;
+
+    @ApiModelProperty(value = "采购审批状态")
+    private String purchaseStatus;
 }

+ 3 - 0
src/main/java/com/migao/entity/vo/req/PurchasingApprovalPageQueryReq.java

@@ -24,4 +24,7 @@ public class PurchasingApprovalPageQueryReq extends BasePageRequest {
     @ApiModelProperty(value = "储备状态")
     private String reserveStatus;
 
+    @ApiModelProperty(value = "采购审批状态")
+    private String purchaseStatus;
+
 }

+ 4 - 4
src/main/java/com/migao/entity/vo/res/PurchasingApprovalQueryRes.java

@@ -20,16 +20,16 @@ public class PurchasingApprovalQueryRes {
 
     @ApiModelProperty(value = "主键")
     private Integer id;
+
     @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;
 

+ 1 - 1
src/main/java/com/migao/service/MilestoneService.java

@@ -24,7 +24,7 @@ public interface MilestoneService{
 
     ResponseBean<?> update(MilestoneUpdateReq milestoneUpdateReq);
 
-    ResponseBean<PageBean<MilestoneQueryRes>> pageQuery(MilestonePageQueryReq milestonePageQueryReq);
+    ResponseBean<PageBean<ProjectQueryRes>> pageQuery(MilestonePageQueryReq milestonePageQueryReq);
 
     ResponseBean<?> importData(Integer fileId,Integer projectId);
 

+ 4 - 3
src/main/java/com/migao/service/PurchasingApprovalService.java

@@ -1,6 +1,7 @@
 package com.migao.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.migao.config.constant.ExamineStatus;
 import com.migao.config.response.PageBean;
 import com.migao.config.response.ResponseBean;
 import com.migao.entity.po.PurchasingApproval;
@@ -15,11 +16,11 @@ public interface PurchasingApprovalService{
 
     ResponseBean<?> submit(Integer projectId, List<Integer> demandIdList);
 
-    ResponseBean<?> approve(Integer id);
-
-    ResponseBean<?> reject(Integer id);
+    ResponseBean<?> approve(Integer id,ExamineStatus status);
 
     ResponseBean<?> transmit(Integer projectId, String email, String company);
 
     ResponseBean<?> contractEntry(Integer projectId, Integer fileId);
+
+    ResponseBean<List<PurchasingApprovalQueryRes>> findById(Integer id);
 }

+ 32 - 19
src/main/java/com/migao/service/impl/MilestoneServiceImpl.java

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.migao.config.authority.LoginUtils;
+import com.migao.config.constant.ProjectStatus;
 import com.migao.config.constant.SystemConstant;
 import com.migao.config.listener.ExcelListener;
 import com.migao.config.properties.SystemProperties;
@@ -86,36 +87,48 @@ public class MilestoneServiceImpl implements MilestoneService {
      * @return ?
      */
     @Override
-    public ResponseBean<PageBean<MilestoneQueryRes>> pageQuery(MilestonePageQueryReq milestonePageQueryReq) {
-        //1。分页查询所有供公司
+    public ResponseBean<PageBean<ProjectQueryRes>> pageQuery(MilestonePageQueryReq milestonePageQueryReq) {
         Integer page = milestonePageQueryReq.getPage();
         page = page == null ? 1 : page <= 0 ? 1 : page;
         Integer size = milestonePageQueryReq.getSize();
         size = size == null ? 10 : size <= 0 ? 10 : size;
 
-        LambdaQueryWrapper<Milestone> queryWrapper = new LambdaQueryWrapper<>();
-
-        Page<Milestone> all = milestoneMapper.selectPage(new Page<>(page, size), queryWrapper);
+        LambdaQueryWrapper<Project> queryWrapper = new LambdaQueryWrapper<>();
+        if (milestonePageQueryReq.getCreateTime() != null) {
+        }
+        if (StringUtils.isNotBlank(milestonePageQueryReq.getName())) {
+            queryWrapper.eq(Project::getCreateTime, milestonePageQueryReq.getCreateTime());
+        }
+        if (StringUtils.isNotBlank(milestonePageQueryReq.getOrderStatus())) {
+            queryWrapper.eq(Project::getOrderStatus, milestonePageQueryReq.getOrderStatus());
+        }
+        queryWrapper.ne(Project::getParentId, 0);
+        //查询子项目并且采购状态是待提报
+        queryWrapper.eq(Project::getPurchaseStatus, ProjectStatus.TO_BE_REPORTED);
+        Page<Project> all = projectMapper.selectPage(new Page<>(page, size), queryWrapper);
         return ResponseBuilder.ok(
                 all,
                 element -> {
-
-                    MilestoneQueryRes milestoneQueryRes = MilestoneQueryRes
+                    ProjectQueryRes projectQueryRes = ProjectQueryRes
                             .builder()
                             .id(element.getId())
+                            .capital(String.valueOf(element.getCapital()))
+                            .content(element.getContent())
+                            .cost(String.valueOf(element.getCost()))
                             .createTime(element.getCreateTime())
-                            .username(element.getUsername())
-                            .endTime(element.getEndTime())
+                            .level(element.getLevel())
                             .name(element.getName())
-                            .projectId(element.getProjectId())
-                            .schedule(element.getSchedule())
-                            .status(element.getStatus())
+                            .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();
-                    Project project = projectMapper.selectById(element.getProjectId());
-                    if (project!=null){
-                        milestoneQueryRes.setProjectName(project.getName());
-                    }
-                    return milestoneQueryRes;
+                    return projectQueryRes;
                 }
         );
     }
@@ -153,7 +166,7 @@ public class MilestoneServiceImpl implements MilestoneService {
 
     @Override
     public ResponseBean<?> export(MilestonePageQueryReq milestonePageQueryReq) {
-        List<MilestoneQueryRes> data = pageQuery(milestonePageQueryReq).getData().getRow();
+        List<ProjectQueryRes> data = pageQuery(milestonePageQueryReq).getData().getRow();
         String fileName = StringUtils.join(
                 FileUtils.getFileNo(), SystemConstant.EXCEL_SUFFIX
         );
@@ -163,7 +176,7 @@ public class MilestoneServiceImpl implements MilestoneService {
         String fileUrl = StringUtils.join(
                 systemProperties.getDownloadPrefix(), fileName
         );
-        ExcelWriter excelWriter = EasyExcel.write(filePath, MilestoneQueryRes.class).build();
+        ExcelWriter excelWriter = EasyExcel.write(filePath, ProjectQueryRes.class).build();
         WriteSheet writeSheet = EasyExcel.writerSheet("里程碑数据").build();
         excelWriter.write(data, writeSheet);
         //关闭流

+ 43 - 24
src/main/java/com/migao/service/impl/PurchasingApprovalServiceImpl.java

@@ -1,9 +1,14 @@
 package com.migao.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.migao.config.constant.ExamineStatus;
+import com.migao.config.constant.FinancesStatus;
 import com.migao.config.constant.ProjectStatus;
+import com.migao.config.constant.PurchasingStage;
 import com.migao.config.response.PageBean;
 import com.migao.config.response.ResponseBean;
 import com.migao.config.response.ResponseBuilder;
@@ -14,18 +19,21 @@ 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.ProjectQueryRes;
+import com.migao.entity.vo.res.PurchasingApprovalQueryRes;
 import com.migao.mapper.ProjectDemandMapper;
 import com.migao.mapper.ProjectFileMapper;
 import com.migao.mapper.ProjectMapper;
 import com.migao.mapper.PurchasingApprovalMapper;
 import com.migao.service.ProjectService;
 import com.migao.service.PurchasingApprovalService;
+import com.migao.util.EntityUtils;
 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.ArrayList;
 import java.util.List;
 
 /**
@@ -61,6 +69,8 @@ public class PurchasingApprovalServiceImpl extends ServiceImpl<PurchasingApprova
             queryWrapper.eq(Project::getOrderStatus, purchasingApprovalPageQueryReq.getOrderStatus());
         }
         queryWrapper.ne(Project::getParentId, 0);
+        //查询子项目并且采购状态是待提报
+        queryWrapper.eq(Project::getPurchaseStatus, ProjectStatus.TO_BE_REPORTED);
         Page<Project> all = projectMapper.selectPage(new Page<>(page, size), queryWrapper);
         return ResponseBuilder.ok(
                 all,
@@ -109,38 +119,34 @@ public class PurchasingApprovalServiceImpl extends ServiceImpl<PurchasingApprova
         PurchasingApproval purchasingApproval=new PurchasingApproval();
         purchasingApproval.setDeleted(0);
         purchasingApproval.setProjectId(projectId);
-        purchasingApproval.setStatus(ProjectStatus.TO_BE_REPORTED);
-        purchasingApproval.setStage(ProjectStatus.TO_BE_REPORTED.getName());
+        purchasingApproval.setStatus(ProjectStatus.TO_BE_REPORTED.getName());
+        purchasingApproval.setStage(PurchasingStage.SUBMIT.getName());
         purchasingApprovalMapper.insert(purchasingApproval);
         return ResponseBuilder.ok();
     }
 
     @Override
-    public ResponseBean<?> approve(Integer id) {
+    public ResponseBean<?> approve(Integer id,ExamineStatus status) {
         Project project = projectMapper.selectById(id);
         if (project == null) {
             ResponseBuilder.fail("项目不存在");
         }
-        project.setPurchaseStatus(ProjectStatus.APPROVE.getName());
-        projectMapper.updateById(project);
-        //新增采购记录
-        PurchasingApproval purchasingApproval=new PurchasingApproval();
-        purchasingApproval.setDeleted(0);
-        purchasingApproval.setProjectId(id);
-        purchasingApproval.setStatus(ProjectStatus.TO_APPROVAL);
-        purchasingApproval.setStage(ProjectStatus.TO_APPROVAL.getName());
-        purchasingApprovalMapper.insert(purchasingApproval);
-        return ResponseBuilder.ok();
-    }
-
-    @Override
-    public ResponseBean<?> reject(Integer id) {
-        Project project = projectMapper.selectById(id);
-        if (project == null) {
-            ResponseBuilder.fail("项目不存在");
+        if (status.equals(FinancesStatus.PASS)) {
+            project.setPurchaseStatus(ProjectStatus.APPROVE.getName());
+            projectMapper.updateById(project);
+            //新增采购记录
+            PurchasingApproval purchasingApproval=new PurchasingApproval();
+            purchasingApproval.setDeleted(0);
+            purchasingApproval.setProjectId(id);
+            purchasingApproval.setStatus(ProjectStatus.TO_APPROVAL.getName());
+            purchasingApproval.setStage(PurchasingStage.EXAMINE.getName());
+            purchasingApprovalMapper.insert(purchasingApproval);
+        }else {
+            project.setPurchaseStatus(ProjectStatus.TO_BE_REPORTED.getName());
+            projectMapper.updateById(project);
         }
-        project.setPurchaseStatus(ProjectStatus.TO_BE_REPORTED.getName());
-        projectMapper.updateById(project);
+
+
         return ResponseBuilder.ok();
     }
 
@@ -157,7 +163,7 @@ public class PurchasingApprovalServiceImpl extends ServiceImpl<PurchasingApprova
                 .projectId(projectId)
                 .email(email)
                 .company(company)
-                .status(ProjectStatus.HAS_ORDERED)
+                .status(ProjectStatus.HAS_ORDERED.getName())
                 .build();
         purchasingApprovalMapper.insert(purchasingApproval);
 
@@ -176,9 +182,22 @@ public class PurchasingApprovalServiceImpl extends ServiceImpl<PurchasingApprova
         PurchasingApproval purchasingApproval=new PurchasingApproval();
         purchasingApproval.setDeleted(0);
         purchasingApproval.setProjectId(projectId);
-        purchasingApproval.setStatus(ProjectStatus.CONTRACT_ENTRY);
+        purchasingApproval.setStatus(ProjectStatus.CONTRACT_ENTRY.getName());
         purchasingApproval.setStage(ProjectStatus.CONTRACT_ENTRY.getName());
         purchasingApprovalMapper.insert(purchasingApproval);
         return ResponseBuilder.ok();
     }
+
+    @Override
+    public ResponseBean<List<PurchasingApprovalQueryRes>> findById(Integer id) {
+        LambdaQueryWrapper<PurchasingApproval> queryWrapper=new LambdaQueryWrapper<>();
+        queryWrapper.eq(PurchasingApproval::getProjectId,id);
+        List<PurchasingApproval> all = purchasingApprovalMapper.selectList(queryWrapper);
+        List<PurchasingApprovalQueryRes> list=new ArrayList<>();
+        for (PurchasingApproval approval : all) {
+            PurchasingApprovalQueryRes res = EntityUtils.copyProperties(approval, PurchasingApprovalQueryRes.class);
+            list.add(res);
+        }
+        return ResponseBuilder.ok(list);
+    }
 }