Quellcode durchsuchen

新需求变更

suntianwu vor 2 Jahren
Ursprung
Commit
b55e5243b6

+ 29 - 0
purchase-admin/src/main/java/com/ozs/web/controller/pm/PmPurchaseExecutionController.java

@@ -561,6 +561,35 @@ public class PmPurchaseExecutionController extends BaseController {
         }
     }
 
+    @ApiOperation(value = "流废标退回",notes = "采购需求ID必传")
+    @PostMapping("/returnBidFailure")
+    @PreAuthorize("@ss.hasPermi('pm:purchaseExecution:returnBidFailure')")
+    @Log(title = ModularConstans.purchaseExecution, businessType = BusinessType.UPDATE)
+    public AjaxResult returnBidFailure(@NotEmpty(message = "数据为空")
+                                         @RequestBody PmCallQuestionReqVo pmCallQuestionReqVo) {
+        try {
+            Long demandId = pmCallQuestionReqVo.getDemandId();
+            if(ObjectUtils.isEmpty(demandId)){
+                return error("参数错误");
+            }
+            PmDemand pmDemand = pmDemandService.getById(demandId);
+            if(ObjectUtils.isEmpty(pmDemand)){
+                return error("参数错误");
+            }
+            //TODO 把相关表数据存入历史表,清空相关表数据
+
+
+
+            pmDemand.setProjectStatus(PmProjectStatus.WASTE_BID_RETURN.getCode());
+            pmDemand.setUpdateBy(getUserId().toString());
+            pmDemand.setUpdateTime(new Date());
+            return toAjax(pmDemandService.updateById(pmDemand));
+
+        }  catch (Exception e) {
+            return error(e.getMessage());
+        }
+    }
+
     @ApiOperation(value = "标后质疑",notes = "采购需求ID必传")
     @PostMapping("/handleCallQuestion")
     @PreAuthorize("@ss.hasPermi('pm:purchaseExecution:handleCallQuestion')")

+ 2 - 4
purchase-system/src/main/java/com/ozs/pm/doman/PmDemand.java

@@ -133,10 +133,8 @@ public class PmDemand implements Serializable {
     @TableField("WARN_STATUS")
     private String warnStatus;
 
-    /**
-     * 项目状态(4:需求待填制,5:需求待提交,6:需求待审核,7:任务待下达,8:任务已下达,9:中标信息待填制,10:中标信息已填制,11:合同待填制,12:合同已填制,13:项目建设中,14:项目建设完成)
-     */
-    @ApiModelProperty("项目状态(4:需求待填制,5:需求待提交,6:需求待审核,7:需求已退回,8:任务待下达,9:待选取代理,10:待上传招标文件,11:待发布公告,12:待开标,13:待发布中标公告,14:中标公示中,15:合同待填制,16:项目建设中,17:项目已完成)")
+
+    @ApiModelProperty("项目状态(4:需求待填制,5:需求待提交,6:需求待审核,7:需求已退回,8:任务待下达,9:采购需求对接,10:专家意见反馈,11:采购文件编制审核,12:采购公告发布,13:标前质疑投诉,14:待开标,15:评标结果公告,16:流废标处置,17:标后质疑,18:流废标退回,19:合同待填制,20:项目建设中,21:项目已完成)")
     @TableField("PROJECT_STATUS")
     private String projectStatus;
 

+ 29 - 5
purchase-system/src/main/java/com/ozs/pm/doman/vo/responseVo/PmDemandResVo.java

@@ -54,6 +54,10 @@ public class PmDemandResVo extends BaseEntity
     @ApiModelProperty("项目名称")
     private String projectName;
 
+    @Excel(name = "项目编号")
+    @ApiModelProperty("项目编号")
+    private String projectNumber;
+
     /** 项目类型(0:装备类;1:物资类;2:服务类;3:工程类) */
     @Excel(name = "项目类型(0:装备类;1:物资类;2:服务类;3:工程类)")
     @ApiModelProperty("项目类型(0:装备类;1:物资类;2:服务类;3:工程类)")
@@ -142,6 +146,7 @@ public class PmDemandResVo extends BaseEntity
     @ApiModelProperty("备注")
     private String remarks;
 
+
     /** 实际提报需求时间--->需求单位成功提报采购需求的日期(具体到日) */
     @JsonFormat(pattern = "yyyy-MM-dd")
     @Excel(name = "实际提报需求时间--->需求单位成功提报采购需求的日期(具体到日)")
@@ -166,6 +171,27 @@ public class PmDemandResVo extends BaseEntity
     @ApiModelProperty("审核时间")
     private Date auditTime;
 
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty("文件评审时间")
+    private Date documentReviewTime;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty("采购办审批时间")
+    private Date procurementOfficeApprovalTime;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty("招标公告发布时间")
+    private Date announcementReleaseTime;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty("开标时间")
+    private Date tenderOpenTime;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty("中标公示时间")
+    private Date bidAnnouncementTime;
+
     /** 预警状态(0:正常,1:预警) */
     @Excel(name = "预警状态(0:正常,1:预警)")
     @ApiModelProperty("预警状态(0:正常,1:预警)")
@@ -176,11 +202,8 @@ public class PmDemandResVo extends BaseEntity
     @ApiModelProperty("预警状态名(0:正常,1:预警)")
     private String warnStatusName;
 
-    /**
-     * 项目状态(4:需求待填制,5:需求待提交,6:需求待审核,7:任务待下达,8:任务已下达,9:中标信息待填制,10:中标信息已填制,11:合同待填制,12:合同已填制,13:项目建设中,14:项目建设完成)
-     */
-    @Excel(name = "项目状态(4:需求待填制,5:需求待提交,6:需求待审核,7:任务待下达,8:任务已下达,9:中标信息待填制,10:中标信息已填制,11:合同待填制,12:合同已填制,13:项目建设中,14:项目建设完成)")
-    @ApiModelProperty("项目状态(4:需求待填制,5:需求待提交,6:需求待审核,7:任务待下达,8:任务已下达,9:中标信息待填制,10:中标信息已填制,11:合同待填制,12:合同已填制,13:项目建设中,14:项目建设完成)")
+
+    @ApiModelProperty("项目状态(4:需求待填制,5:需求待提交,6:需求待审核,7:需求已退回,8:任务待下达,9:采购需求对接,10:专家意见反馈,11:采购文件编制审核,12:采购公告发布,13:标前质疑投诉,14:待开标,15:评标结果公告,16:流废标处置,17:标后质疑,18:流废标退回,19:合同待填制,20:项目建设中,21:项目已完成)")
     private String projectStatus;
 
     /** 项目状态名称 */
@@ -203,6 +226,7 @@ public class PmDemandResVo extends BaseEntity
     @ApiModelProperty("调整建议")
     private String adjustAdvice;
 
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty("任务下达时间")
     private Date taskReleaseTime;
 

+ 42 - 3
purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java

@@ -514,11 +514,11 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
         } else if (reqType == 2) { //任务下达列表
             lw.apply("(project_status = 8 or project_status = 9 )");
         } else if (reqType == 3) { //采购执行列表
-            lw.apply("(project_status = 9 or project_status = 10 or project_status = 11 or project_status = 12 or project_status = 13 or project_status = 14 or project_status = 15)");
+            lw.apply("(project_status in (9,10,11,12,13,14,15,16,17,19))");
         } else if (reqType == 4) { //合同信息列表
-            lw.apply("(project_status = 15 or project_status = 16 )");
+            lw.apply("(project_status = 19 or project_status = 20 )");
         } else if (reqType == 5) { //项目建设列表
-            lw.apply("(project_status = 16 or project_status = 17 )");
+            lw.apply("(project_status = 20 or project_status = 21 )");
         }
 
         lw.last(" order by project_status, plan_demand_sub_time");
@@ -562,6 +562,45 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
                         vo.setFlay(flay);
                     }
                 }
+
+                LambdaQueryWrapper<PmExpertFeedback> pmExpertFeedbackLambdaQueryWrapper = new LambdaQueryWrapper<>();
+                pmExpertFeedbackLambdaQueryWrapper.eq(PmExpertFeedback::getDemandId,vo.getDemandId());
+                PmExpertFeedback pmExpertFeedback = this.pmExpertFeedbackService.getOne(pmExpertFeedbackLambdaQueryWrapper);
+                if(pmExpertFeedback != null){
+                    vo.setProjectNumber(pmExpertFeedback.getProjectNumber());
+                    vo.setDocumentReviewTime(pmExpertFeedback.getDocumentReviewTime());
+                }
+
+                LambdaQueryWrapper<PmProcurementDocumentsReview> pmProcurementDocumentsReviewLambdaQueryWrapper = new LambdaQueryWrapper<>();
+                pmProcurementDocumentsReviewLambdaQueryWrapper.eq(PmProcurementDocumentsReview::getDemandId,vo.getDemandId());
+                PmProcurementDocumentsReview pmProcurementDocumentsReview = this.pmProcurementDocumentsReviewService.getOne(pmProcurementDocumentsReviewLambdaQueryWrapper);
+                if(pmProcurementDocumentsReview != null){
+                    vo.setProcurementOfficeApprovalTime(pmProcurementDocumentsReview.getProcurementOfficeApprovalTime());
+                }
+
+                if(Integer.parseInt(vo.getProjectStatus()) > 12 && Integer.parseInt(vo.getProjectStatus()) != 18){
+                    LambdaQueryWrapper<PmReleaseAnnouncement> pmReleaseAnnouncementLambdaQueryWrapper = new LambdaQueryWrapper<>();
+                    pmReleaseAnnouncementLambdaQueryWrapper.eq(PmReleaseAnnouncement::getDemandId,vo.getDemandId())
+                            .orderByDesc(PmReleaseAnnouncement::getReleaseTime)
+                             .last(" limit 1");
+                    PmReleaseAnnouncement pmReleaseAnnouncement = this.pmReleaseAnnouncementService.getOne(pmReleaseAnnouncementLambdaQueryWrapper);
+                    if(pmReleaseAnnouncement != null){
+                        vo.setAnnouncementReleaseTime(pmReleaseAnnouncement.getReleaseTime());
+                        vo.setTenderOpenTime(pmReleaseAnnouncement.getTenderOpenTime());
+                    }
+                }
+
+                if(Integer.parseInt(vo.getProjectStatus()) > 15  && Integer.parseInt(vo.getProjectStatus()) != 16 && Integer.parseInt(vo.getProjectStatus()) != 18){
+                    LambdaQueryWrapper<PmBidWinning> pmBidWinningLambdaQueryWrapper = new LambdaQueryWrapper<>();
+                    pmBidWinningLambdaQueryWrapper.eq(PmBidWinning::getDemandId,vo.getDemandId())
+                            .orderByDesc(PmBidWinning::getBidAnnouncementTime)
+                            .last(" limit 1");
+                    PmBidWinning pmBidWinning = this.pmBidWinningService.getOne(pmBidWinningLambdaQueryWrapper);
+                    if(pmBidWinning != null){
+                        vo.setBidAnnouncementTime(pmBidWinning.getBidAnnouncementTime());
+                    }
+                }
+
             }
             results.setRecords(pmDemandResVos);
         }