ソースを参照

新需求变更

suntianwu 2 年 前
コミット
94db5c4c8b

+ 67 - 6
purchase-admin/src/main/java/com/ozs/web/controller/pm/PmPurchaseExecutionController.java

@@ -63,6 +63,10 @@ public class PmPurchaseExecutionController extends BaseController {
     private PmExpertFeedbackService pmExpertFeedbackService;
     @Autowired
     private PmProcurementDocumentsReviewService pmProcurementDocumentsReviewService;
+
+    @Autowired
+    private PmBidFailureService pmBidFailureService;
+
     /**
      * 采购执行查询列表
      */
@@ -269,9 +273,13 @@ public class PmPurchaseExecutionController extends BaseController {
             if(ObjectUtils.isEmpty(pmDemand)){
                 return error("参数错误");
             }
-            List<SysFileRef> sysFileRefs = pmCallQuestionReqVo.getSysFileRefs();
-            pmDemandService.uploadFile(demandId, SysFileRefEnum.PM_PRE_BID_CALL_QUESTION.getType(),sysFileRefs,getUserId().toString());
-            pmDemand.setCallQuestion(pmCallQuestionReqVo.getCallQuestion());
+
+            pmDemand.setPreBidCallQuestion(pmCallQuestionReqVo.getCallQuestion());
+            if("1".equals(pmDemand.getPreBidCallQuestion())) { //有质疑
+                pmDemand.setPreBidCallQuestionTime(pmCallQuestionReqVo.getCallQuestionTime());
+                List<SysFileRef> sysFileRefs = pmCallQuestionReqVo.getSysFileRefs();
+                pmDemandService.uploadFile(demandId, SysFileRefEnum.PM_PRE_BID_CALL_QUESTION.getType(),sysFileRefs,getUserId().toString());
+            }
             pmDemand.setProjectStatus(PmProjectStatus.WAIT_OPEN_BID.getCode());
             pmDemand.setUpdateBy(getUserId().toString());
             pmDemand.setUpdateTime(new Date());
@@ -503,6 +511,51 @@ public class PmPurchaseExecutionController extends BaseController {
         }
     }
 
+    @ApiOperation(value = "流废标处置-质疑处理",notes = "采购需求ID必传")
+    @PostMapping("/handleBidFailureCallQuestion")
+    @PreAuthorize("@ss.hasPermi('pm:purchaseExecution:handleBidFailureCallQuestion')")
+    @Log(title = ModularConstans.purchaseExecution, businessType = BusinessType.UPDATE)
+    public AjaxResult handleBidFailureCallQuestion(@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("参数错误");
+            }
+            LambdaQueryWrapper<PmBidFailure> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+            lambdaQueryWrapper.eq(PmBidFailure::getDemandId,pmDemand.getDemandId())
+                    .orderByDesc(PmBidFailure::getBidFailureTime)
+                    .last(" limit 1");
+            PmBidFailure bidFailure = this.pmBidFailureService.getOne(lambdaQueryWrapper);
+            if (ObjectUtils.isEmpty(bidFailure)) {
+                return error("没有流标信息");
+            }
+            PmBidFailure bidFailureUpdate = new PmBidFailure();
+            bidFailureUpdate.setId(bidFailure.getId());
+            bidFailureUpdate.setCallQuestion(pmCallQuestionReqVo.getCallQuestion());
+            if("1".equals(bidFailureUpdate.getCallQuestion())){ //有质疑
+                if(!ObjectUtils.isEmpty(pmCallQuestionReqVo.getCallQuestionTime())){
+                    bidFailureUpdate.setCallQuestionTime(pmCallQuestionReqVo.getCallQuestionTime());
+                } else {
+                    bidFailureUpdate.setCallQuestionTime(new Date());
+                }
+                List<SysFileRef> sysFileRefs = pmCallQuestionReqVo.getSysFileRefs();
+                pmDemandService.uploadFile(bidFailureUpdate.getId(), SysFileRefEnum.PM_BID_FAILURE_CALL_QUESTION.getType(),sysFileRefs,getUserId().toString());
+            }
+
+            bidFailureUpdate.setUpdateBy(getUserId().toString());
+            bidFailureUpdate.setUpdateTime(new Date());
+            return toAjax(pmBidFailureService.updateById(bidFailureUpdate));
+
+        }  catch (Exception e) {
+            return error(e.getMessage());
+        }
+    }
+
     @ApiOperation(value = "标后质疑",notes = "采购需求ID必传")
     @PostMapping("/handleCallQuestion")
     @PreAuthorize("@ss.hasPermi('pm:purchaseExecution:handleCallQuestion')")
@@ -518,10 +571,18 @@ public class PmPurchaseExecutionController extends BaseController {
             if(ObjectUtils.isEmpty(pmDemand)){
                 return error("参数错误");
             }
-            List<SysFileRef> sysFileRefs = pmCallQuestionReqVo.getSysFileRefs();
-            pmDemandService.uploadFile(demandId, SysFileRefEnum.PM_BID_CALL_QEUSTION_FILE.getType(),sysFileRefs,getUserId().toString());
+
             pmDemand.setCallQuestion(pmCallQuestionReqVo.getCallQuestion());
-            pmDemand.setCallQuestionTime(new Date());
+            if("1".equals(pmDemand.getCallQuestion())) { //有质疑
+                if (!ObjectUtils.isEmpty(pmCallQuestionReqVo.getCallQuestionTime())) {
+                    pmDemand.setCallQuestionTime(pmCallQuestionReqVo.getCallQuestionTime());
+                } else {
+                    pmDemand.setCallQuestionTime(new Date());
+                }
+                List<SysFileRef> sysFileRefs = pmCallQuestionReqVo.getSysFileRefs();
+                pmDemandService.uploadFile(demandId, SysFileRefEnum.PM_BID_CALL_QEUSTION_FILE.getType(),sysFileRefs,getUserId().toString());
+            }
+
             pmDemand.setUpdateBy(getUserId().toString());
             pmDemand.setUpdateTime(new Date());
             return toAjax(pmDemandService.updateById(pmDemand));

+ 2 - 1
purchase-common/src/main/java/com/ozs/common/enums/SysFileRefEnum.java

@@ -26,7 +26,8 @@ public enum SysFileRefEnum {
     PM_PROJECT_CONSTRUCTION(15, "建设文档附件"),
     PLAN_TEMPORARY_EXAMINE(16, "临时、季度计划审核文件"),
     PM_EXPERT_FEEDBACK(17, "专家意见反馈单"),
-    PM_PRE_BID_CALL_QUESTION(18, "标前质疑文件");
+    PM_PRE_BID_CALL_QUESTION(18, "标前质疑文件"),
+    PM_BID_FAILURE_CALL_QUESTION(19, "流标质疑文件");
 
     private Integer type;
     private String info;

+ 7 - 0
purchase-system/src/main/java/com/ozs/pm/doman/PmBidFailure.java

@@ -52,6 +52,13 @@ public class PmBidFailure implements Serializable {
     @TableField("BID_FAILURE_TIME")
     private Date bidFailureTime;
 
+    @ApiModelProperty("是否有质疑,1是,0否")
+    @TableField("CALL_QUESTION")
+    private String callQuestion;
+
+    @ApiModelProperty("质疑时间")
+    @TableField("CALL_QUESTION_TIME")
+    private Date callQuestionTime;
 
     @ApiModelProperty("创建者")
     @TableField("CREATE_BY")

+ 3 - 0
purchase-system/src/main/java/com/ozs/pm/doman/vo/requestVo/PmCallQuestionReqVo.java

@@ -30,6 +30,9 @@ public class PmCallQuestionReqVo implements Serializable {
     @ApiModelProperty("是否有质疑,1是,0否")
     private String callQuestion;
 
+    @ApiModelProperty("质疑时间")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date callQuestionTime;
 
     @ApiModelProperty("创建者")
     private String createBy;

+ 6 - 0
purchase-system/src/main/java/com/ozs/pm/doman/vo/responseVo/PmBidFailureResVo.java

@@ -36,6 +36,12 @@ public class PmBidFailureResVo implements Serializable {
     @ApiModelProperty("流标时间")
     private Date bidFailureTime;
 
+    @ApiModelProperty("是否有质疑,1是,0否")
+    private String callQuestion;
+
+    @ApiModelProperty("质疑时间")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date callQuestionTime;
 
     @ApiModelProperty("创建者")
     private String createBy;

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

@@ -281,12 +281,14 @@ public class PmDemandResVo extends BaseEntity
     private String preBidCallQuestion;
 
     @ApiModelProperty("标前质疑时间")
+    @JsonFormat(pattern = "yyyy-MM-dd")
     private Date preBidCallQuestionTime;
 
     @ApiModelProperty("标后是否有质疑,1是,0否")
     private String callQuestion;
 
     @ApiModelProperty("标后质疑时间")
+    @JsonFormat(pattern = "yyyy-MM-dd")
     private Date callQuestionTime;
 
 }