Browse Source

新需求变更

suntianwu 2 years atrás
parent
commit
861d43d2a7
28 changed files with 733 additions and 298 deletions
  1. 1 1
      purchase-admin/src/main/java/com/ozs/web/controller/base/BaseAgencyController.java
  2. 0 31
      purchase-admin/src/main/java/com/ozs/web/controller/pm/PmDemandController.java
  3. 85 20
      purchase-admin/src/main/java/com/ozs/web/controller/pm/PmPurchaseExecutionController.java
  4. 14 9
      purchase-common/src/main/java/com/ozs/common/enums/PmProjectStatus.java
  5. 4 2
      purchase-common/src/main/java/com/ozs/common/enums/SysFileRefEnum.java
  6. 4 0
      purchase-system/src/main/java/com/ozs/pm/doman/PmBidWinning.java
  7. 14 2
      purchase-system/src/main/java/com/ozs/pm/doman/PmDemand.java
  8. 85 0
      purchase-system/src/main/java/com/ozs/pm/doman/PmExpertFeedback.java
  9. 80 0
      purchase-system/src/main/java/com/ozs/pm/doman/PmProcurementDocumentsReview.java
  10. 2 0
      purchase-system/src/main/java/com/ozs/pm/doman/vo/requestVo/PmBidWinningReqVo.java
  11. 1 0
      purchase-system/src/main/java/com/ozs/pm/doman/vo/requestVo/PmDemandReqVo.java
  12. 71 0
      purchase-system/src/main/java/com/ozs/pm/doman/vo/requestVo/PmExpertFeedbackReqVo.java
  13. 73 0
      purchase-system/src/main/java/com/ozs/pm/doman/vo/requestVo/PmProcurementDocumentsReviewReqVo.java
  14. 1 0
      purchase-system/src/main/java/com/ozs/pm/doman/vo/requestVo/PmPurchaseExecutionReqVo.java
  15. 2 0
      purchase-system/src/main/java/com/ozs/pm/doman/vo/responseVo/PmBidWinningResVo.java
  16. 13 0
      purchase-system/src/main/java/com/ozs/pm/doman/vo/responseVo/PmDemandResVo.java
  17. 69 0
      purchase-system/src/main/java/com/ozs/pm/doman/vo/responseVo/PmExpertFeedbackResVo.java
  18. 60 0
      purchase-system/src/main/java/com/ozs/pm/doman/vo/responseVo/PmProcurementDocumentsReviewResVo.java
  19. 15 0
      purchase-system/src/main/java/com/ozs/pm/mapper/PmExpertFeedbackMapper.java
  20. 15 0
      purchase-system/src/main/java/com/ozs/pm/mapper/PmProcurementDocumentsReviewMapper.java
  21. 0 15
      purchase-system/src/main/java/com/ozs/pm/service/IPmDemandService.java
  22. 14 0
      purchase-system/src/main/java/com/ozs/pm/service/PmExpertFeedbackService.java
  23. 14 0
      purchase-system/src/main/java/com/ozs/pm/service/PmProcurementDocumentsReviewService.java
  24. 48 218
      purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java
  25. 18 0
      purchase-system/src/main/java/com/ozs/pm/service/impl/PmExpertFeedbackServiceImpl.java
  26. 18 0
      purchase-system/src/main/java/com/ozs/pm/service/impl/PmProcurementDocumentsReviewServiceImpl.java
  27. 6 0
      purchase-system/src/main/resources/mapper/pm/PmExpertFeedbackMapper.xml
  28. 6 0
      purchase-system/src/main/resources/mapper/pm/PmProcurementDocumentsReviewMapper.xml

+ 1 - 1
purchase-admin/src/main/java/com/ozs/web/controller/base/BaseAgencyController.java

@@ -240,7 +240,7 @@ public class BaseAgencyController extends BaseController {
                                               @RequestBody BasePolicyPageReqVo vo) {
         LambdaQueryWrapper<MonthlyReconciliation> lw = new LambdaQueryWrapper<>();
         lw.isNull(MonthlyReconciliation::getAgencyId);
-        lw.eq(MonthlyReconciliation::getProjectStatus, PmProjectStatus.WAIT_SELECT_AGENT.getCode());
+        lw.eq(MonthlyReconciliation::getProjectStatus, PmProjectStatus.PURCHASE_DEMAND_DOCKING.getCode());
         if (!StringUtils.isBlank(vo.getName())) {
             lw.like(MonthlyReconciliation::getProjectName, vo.getName());
         }

+ 0 - 31
purchase-admin/src/main/java/com/ozs/web/controller/pm/PmDemandController.java

@@ -125,37 +125,6 @@ public class PmDemandController extends BaseController {
         return toAjax(pmDemandService.commit(pmDemandReqVo));
     }
 
-    /**
-     * 查看流程图,获取当前阶段名字
-     */
-    @ApiOperation(value = "查看流程图,获取当前阶段名字", notes = "必传demandId,其他字段不传")
-    @PostMapping("/viewFlowChart")
-    @PreAuthorize("@ss.hasPermi('pm:demand:viewFlowChart')")
-    @Log(title = ModularConstans.demand, businessType = BusinessType.QUERY)
-    public AjaxResult viewFlowChart(@RequestBody PmDemandReqVo pmRequestVo) {
-        if(pmRequestVo.getDemandId() == null){
-            return AjaxResult.error("demandId不能为空");
-        }
-        return success(pmDemandService.viewFlowChart(pmRequestVo.getDemandId()));
-    }
-
-    /**
-     * 查看流程图,鼠标移到对应模块后,显示悬浮框提示
-     */
-    @ApiOperation(value = "查看流程图,鼠标移到对应模块后,显示悬浮框提示", notes = "必传demandId和模块名称,其他字段不传")
-    @PostMapping("/getModuleInfo")
-    @PreAuthorize("@ss.hasPermi('pm:demand:getModuleInfo')")
-    @Log(title = ModularConstans.demand, businessType = BusinessType.QUERY)
-    public AjaxResult getModuleInfo(@RequestBody PmDemandReqVo pmRequestVo) {
-        if(pmRequestVo.getDemandId() == null){
-            return AjaxResult.error("demandId不能为空");
-        }
-        if(pmRequestVo.getModuleName() == null){
-            return AjaxResult.error("模块名称不能为空");
-        }
-        return success(pmDemandService.getModuleInfo(pmRequestVo.getDemandId(),pmRequestVo.getModuleName()));
-    }
-
 
     /**
      * 审核单位查询采购需求列表

+ 85 - 20
purchase-admin/src/main/java/com/ozs/web/controller/pm/PmPurchaseExecutionController.java

@@ -20,16 +20,10 @@ import com.ozs.common.core.domain.entity.SysUser;
 import com.ozs.common.enums.*;
 import com.ozs.common.utils.RandomUtil;
 import com.ozs.common.utils.StringUtils;
-import com.ozs.pm.doman.PmBidOpening;
-import com.ozs.pm.doman.PmBidWinning;
-import com.ozs.pm.doman.PmDemand;
-import com.ozs.pm.doman.PmDemandExpertRef;
+import com.ozs.pm.doman.*;
 import com.ozs.pm.doman.vo.requestVo.*;
 import com.ozs.pm.doman.vo.responseVo.PmDemandResVo;
-import com.ozs.pm.service.IPmDemandService;
-import com.ozs.pm.service.PmBidOpeningService;
-import com.ozs.pm.service.PmBidWinningService;
-import com.ozs.pm.service.PmDemandExpertRefService;
+import com.ozs.pm.service.*;
 import com.ozs.system.domain.SysFileRef;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -65,8 +59,10 @@ public class PmPurchaseExecutionController extends BaseController {
     private PmBidOpeningService pmBidOpeningService;
     @Autowired
     private BaseProfessionalService baseProfessionalService;
-
-
+    @Autowired
+    private PmExpertFeedbackService pmExpertFeedbackService;
+    @Autowired
+    private PmProcurementDocumentsReviewService pmProcurementDocumentsReviewService;
     /**
      * 采购执行查询列表
      */
@@ -124,7 +120,7 @@ public class PmPurchaseExecutionController extends BaseController {
         }
         PmDemand pmDemandUpdate = new PmDemand();
         pmDemandUpdate.setDemandId(demandId);
-        pmDemandUpdate.setProjectStatus(PmProjectStatus.WAIT_UPLOAD_BID_FILE.getCode());
+        pmDemandUpdate.setProjectStatus(PmProjectStatus.EXPERT_FEEDBACK.getCode());
         pmDemandUpdate.setAgencyId(agencyId);
         pmDemandUpdate.setExtractAgencyTime(new Date());
         pmDemandUpdate.setUpdateTime(pmDemandUpdate.getExtractAgencyTime());
@@ -158,7 +154,7 @@ public class PmPurchaseExecutionController extends BaseController {
 
         PmDemand pmDemandUpdate = new PmDemand();
         pmDemandUpdate.setDemandId(demandId);
-        pmDemandUpdate.setProjectStatus(PmProjectStatus.WAIT_UPLOAD_BID_FILE.getCode());
+        pmDemandUpdate.setProjectStatus(PmProjectStatus.EXPERT_FEEDBACK.getCode());
         pmDemandUpdate.setAgencyId(any.getId());
         pmDemandUpdate.setExtractAgencyTime(new Date());
         pmDemandUpdate.setUpdateTime(pmDemandUpdate.getExtractAgencyTime());
@@ -166,12 +162,47 @@ public class PmPurchaseExecutionController extends BaseController {
         return success(pmDemandService.updateById(pmDemandUpdate));
     }
 
-    @ApiOperation(value = "上传招标文件",notes = "采购需求ID和上传附件必传")
+    @ApiOperation(value = "1-2专家意见反馈",notes = "采购需求ID和上传附件必传")
+    @PostMapping("/expertFeedback")
+    @PreAuthorize("@ss.hasPermi('pm:purchaseExecution:expertFeedback')")
+    @Log(title = ModularConstans.purchaseExecution, businessType = BusinessType.IMPORT)
+    public AjaxResult expertFeedback(@NotEmpty(message = "数据为空") @RequestBody PmExpertFeedbackReqVo pmExpertFeedbackReqVo) {
+        Long demandId = pmExpertFeedbackReqVo.getDemandId();
+        if(ObjectUtils.isEmpty(demandId)){
+            return error("参数错误");
+        }
+
+        PmDemand pmDemand = pmDemandService.getById(demandId);
+        if(ObjectUtils.isEmpty(pmDemand)){
+            return error("参数错误");
+        }
+
+        List<SysFileRef> sysFileRefs = pmExpertFeedbackReqVo.getSysFileRefs();
+        if(ObjectUtils.isEmpty(sysFileRefs)){
+            return error("上传附件不能为空");
+        }
+        PmExpertFeedback pmExpertFeedback = new PmExpertFeedback();
+        BeanUtils.copyProperties(pmExpertFeedbackReqVo,pmExpertFeedback);
+        if(pmExpertFeedbackService.save(pmExpertFeedback)){
+            pmDemandService.uploadFile(demandId, SysFileRefEnum.PM_EXPERT_FEEDBACK.getType(),sysFileRefs,getUserId().toString());
+            PmDemand pmDemandUpdate = new PmDemand();
+            pmDemandUpdate.setDemandId(demandId);
+            pmDemandUpdate.setProjectStatus(PmProjectStatus.PROCUREMENT_DOCUMENTS_REVIEW.getCode());
+            pmDemandUpdate.setUpdateTime(new Date());
+            pmDemandUpdate.setUpdateBy(getUserId().toString());
+            return success(pmDemandService.updateById(pmDemandUpdate));
+        } else {
+            return error("保存失败");
+        }
+    }
+
+
+    @ApiOperation(value = "1-3采购文件编制审核",notes = "采购需求ID和上传附件必传")
     @PostMapping("/uploadBidFile")
     @PreAuthorize("@ss.hasPermi('pm:purchaseExecution:uploadBidFile')")
     @Log(title = ModularConstans.purchaseExecution, businessType = BusinessType.IMPORT)
-    public AjaxResult uploadBidFile(@NotEmpty(message = "数据为空") @RequestBody PmPurchaseExecutionReqVo pmPurchaseExecutionReqVo) {
-        Long demandId = pmPurchaseExecutionReqVo.getDemandId();
+    public AjaxResult uploadBidFile(@NotEmpty(message = "数据为空") @RequestBody PmProcurementDocumentsReviewReqVo pmProcurementDocumentsReviewReqVo) {
+        Long demandId = pmProcurementDocumentsReviewReqVo.getDemandId();
         if(ObjectUtils.isEmpty(demandId)){
             return error("参数错误");
         }
@@ -181,22 +212,26 @@ public class PmPurchaseExecutionController extends BaseController {
             return error("参数错误");
         }
 
-        List<SysFileRef> sysFileRefs = pmPurchaseExecutionReqVo.getSysFileRefs();
+        List<SysFileRef> sysFileRefs = pmProcurementDocumentsReviewReqVo.getSysFileRefs();
         if(ObjectUtils.isEmpty(sysFileRefs)){
             return error("上传附件不能为空");
         }
-        if (pmDemandService.uploadFile(demandId, SysFileRefEnum.PM_BID_FILE.getType(),sysFileRefs,getUserId().toString())) {
+        PmProcurementDocumentsReview pmProcurementDocumentsReview = new PmProcurementDocumentsReview();
+        BeanUtils.copyProperties(pmProcurementDocumentsReviewReqVo,pmProcurementDocumentsReview);
+        if(this.pmProcurementDocumentsReviewService.save(pmProcurementDocumentsReview)){
+            pmDemandService.uploadFile(demandId, SysFileRefEnum.PM_BID_FILE.getType(),sysFileRefs,getUserId().toString());
             PmDemand pmDemandUpdate = new PmDemand();
             pmDemandUpdate.setDemandId(demandId);
-            pmDemandUpdate.setProjectStatus(PmProjectStatus.WAIT_ANNOUNCEMENT.getCode());
+            pmDemandUpdate.setProjectStatus(PmProjectStatus.PROCUREMENT_ANNOUNCEMENT.getCode());
             pmDemandUpdate.setUpdateTime(new Date());
             pmDemandUpdate.setUpdateBy(getUserId().toString());
             return success(pmDemandService.updateById(pmDemandUpdate));
         } else {
-            return error("保存上传附件失败");
+            return error("保存失败");
         }
     }
 
+
     @ApiOperation(value = "发布公告")
     @PostMapping("/insertPmReleaseAnnouncement")
     @PreAuthorize("@ss.hasPermi('pm:purchaseExecution:insertPmReleaseAnnouncement')")
@@ -219,6 +254,35 @@ public class PmPurchaseExecutionController extends BaseController {
 
     }
 
+    @ApiOperation(value = "1-5标前质疑投诉",notes = "采购需求ID必传")
+    @PostMapping("/handlePreCallQuestion")
+    @PreAuthorize("@ss.hasPermi('pm:purchaseExecution:handlePreCallQuestion')")
+    @Log(title = ModularConstans.purchaseExecution, businessType = BusinessType.UPDATE)
+    public AjaxResult handlePreCallQuestion(@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("参数错误");
+            }
+            List<SysFileRef> sysFileRefs = pmCallQuestionReqVo.getSysFileRefs();
+            pmDemandService.uploadFile(demandId, SysFileRefEnum.PM_PRE_BID_CALL_QUESTION.getType(),sysFileRefs,getUserId().toString());
+            pmDemand.setCallQuestion(pmCallQuestionReqVo.getCallQuestion());
+            pmDemand.setProjectStatus(PmProjectStatus.WAIT_OPEN_BID.getCode());
+            pmDemand.setUpdateBy(getUserId().toString());
+            pmDemand.setUpdateTime(new Date());
+            return toAjax(pmDemandService.updateById(pmDemand));
+
+        }  catch (Exception e) {
+            return error(e.getMessage());
+        }
+    }
+
+
     @ApiOperation(value = "获取专家身份证号列表")
     @GetMapping("/getExpertIdNumberList")
     @PreAuthorize("@ss.hasPermi('pm:purchaseExecution:getExpertIdNumberList')")
@@ -439,7 +503,7 @@ public class PmPurchaseExecutionController extends BaseController {
         }
     }
 
-    @ApiOperation(value = "质疑处理",notes = "采购需求ID必传")
+    @ApiOperation(value = "标后质疑",notes = "采购需求ID必传")
     @PostMapping("/handleCallQuestion")
     @PreAuthorize("@ss.hasPermi('pm:purchaseExecution:handleCallQuestion')")
     @Log(title = ModularConstans.purchaseExecution, businessType = BusinessType.UPDATE)
@@ -457,6 +521,7 @@ public class PmPurchaseExecutionController extends BaseController {
             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());
             pmDemand.setUpdateBy(getUserId().toString());
             pmDemand.setUpdateTime(new Date());
             return toAjax(pmDemandService.updateById(pmDemand));

+ 14 - 9
purchase-common/src/main/java/com/ozs/common/enums/PmProjectStatus.java

@@ -11,15 +11,20 @@ public enum PmProjectStatus {
     DEMAND_WAIT_AUDIT("6", "需求待审核"),
     DEMAND_AUDIT_RETURN("7", "需求已退回"),
     TASK_WAIT_RELEASE("8", "任务待下达"),
-    WAIT_SELECT_AGENT("9", "待选取代理"),
-    WAIT_UPLOAD_BID_FILE("10", "待上传招标文件"),
-    WAIT_ANNOUNCEMENT("11", "待发布公告"),
-    WAIT_OPEN_BID("12", "待开标"),
-    WAIT_BID_ANNOUNCEMENT("13", "待发布中标公告"),
-    BIDDING_PUBLICITY("14", "中标公示中"),
-    CONTRACT_WAIT_FILL("15", "合同待填制"),
-    UNDER_CONSTRUCTION("16", "项目建设中"),
-    COMPLETION_CONSTRUCTION("17", "项目已完成");
+    PURCHASE_DEMAND_DOCKING("9", "采购需求对接"),
+    EXPERT_FEEDBACK("10", "专家意见反馈"),
+    PROCUREMENT_DOCUMENTS_REVIEW ("11", "采购文件编制审核"),
+    PROCUREMENT_ANNOUNCEMENT("12", "采购公告发布"),
+    PRE_BID_QUERY("13", "标前质疑投诉"),
+    WAIT_OPEN_BID("14", "待开标"),
+    BID_RESULT_ANNOUNCEMENT("15", "评标结果公告"),
+    WASTE_BID_HANDLE("16", "流废标处置"),
+    POST_BID_QUERY("17", "标后质疑"),
+    WASTE_BID_RETURN("18", "流废标退回"),
+    CONTRACT_WAIT_FILL("19", "合同待填制"),
+    UNDER_CONSTRUCTION("20", "项目建设中"),
+    COMPLETION_CONSTRUCTION("21", "项目已完成");
+
 
     private final String code;
     private final String info;

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

@@ -16,7 +16,7 @@ public enum SysFileRefEnum {
     PM_BOOK_BUILDING(5, "需求建档附件"),
     PM_DEMAND_EXAMINE(6, "采购需求审核文件"),
     PM_TAST_RELEASE(7, "任务下达文件"),
-    PM_BID_FILE(8, "招标文件"),
+    PM_BID_FILE(8, "招标文件审批表"),
     PM_ANNOUNCEMENT_FILE(9, "公告文件"),
     PM_BID_WINNING_FILE(10, "中标文件"),
     PM_BID_FAILURE_FILE(11, "流标文件"),
@@ -24,7 +24,9 @@ public enum SysFileRefEnum {
     PM_BID_WINNING_NOTIFICATION(13, "中标通知书"),
     PM_CONTRACT_INFO(14, "合同信息附件"),
     PM_PROJECT_CONSTRUCTION(15, "建设文档附件"),
-    PLAN_TEMPORARY_EXAMINE(16, "临时、季度计划审核文件");
+    PLAN_TEMPORARY_EXAMINE(16, "临时、季度计划审核文件"),
+    PM_EXPERT_FEEDBACK(17, "专家意见反馈单"),
+    PM_PRE_BID_CALL_QUESTION(18, "标前质疑文件");
 
     private Integer type;
     private String info;

+ 4 - 0
purchase-system/src/main/java/com/ozs/pm/doman/PmBidWinning.java

@@ -61,6 +61,10 @@ public class PmBidWinning implements Serializable {
     @TableField("STATUS")
     private String status;
 
+    @ApiModelProperty("备注")
+    @TableField("REMARKS")
+    private String remarks;
+
     @ApiModelProperty("创建者")
     @TableField("CREATE_BY")
     private String createBy;

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

@@ -170,10 +170,22 @@ public class PmDemand implements Serializable {
     @TableField("HAS_EXPERT")
     private String hasExpert;
 
-    /** 调整建议 */
-    @ApiModelProperty("是否有质疑,1是,0否")
+    @ApiModelProperty("标前是否有质疑,1是,0否")
+    @TableField("PRE_BID_CALL_QUESTION")
+    private String preBidCallQuestion;
+
+    @ApiModelProperty("标前质疑时间")
+    @TableField("PRE_BID_CALL_QUESTION_TIME")
+    private Date preBidCallQuestionTime;
+
+    @ApiModelProperty("标后是否有质疑,1是,0否")
     @TableField("CALL_QUESTION")
     private String callQuestion;
+
+    @ApiModelProperty("标后质疑时间")
+    @TableField("CALL_QUESTION_TIME")
+    private Date callQuestionTime;
+
     @ApiModelProperty("创建者")
     @TableField("CREATE_BY")
     private String createBy;

+ 85 - 0
purchase-system/src/main/java/com/ozs/pm/doman/PmExpertFeedback.java

@@ -0,0 +1,85 @@
+package com.ozs.pm.doman;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+
+import java.time.LocalDateTime;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+
+import java.io.Serializable;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * 专家意见反馈表(PmExpertFeedback)实体类
+ *
+ * @author makejava
+ * @since 2023-03-05 17:19:46
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("pm_expert_feedback")
+@ApiModel(value = "专家意见反馈表", description = "")
+public class PmExpertFeedback implements Serializable {
+    private static final long serialVersionUID = 472163385609090741L;
+
+    @TableId(value = "ID", type = IdType.AUTO)
+    private Long id;
+
+
+    @ApiModelProperty("需求ID")
+    @TableField("DEMAND_ID")
+    private Long demandId;
+
+
+    @ApiModelProperty("文件评审时间")
+    @TableField("DOCUMENT_REVIEW_TIME")
+    private Date documentReviewTime;
+
+
+    @ApiModelProperty("反馈时间")
+    @TableField("FEEDBACK_TIME")
+    private Date feedbackTime;
+
+
+    @ApiModelProperty("答复时间")
+    @TableField("REPLY_TIME")
+    private Date replyTime;
+
+
+    @ApiModelProperty("项目编号")
+    @TableField("PROJECT_NUMBER")
+    private String projectNumber;
+
+
+    @ApiModelProperty("创建者")
+    @TableField("CREATE_BY")
+    private String createBy;
+
+
+    @ApiModelProperty("创建时间")
+    @TableField("CREATE_TIME")
+    private Date createTime;
+
+
+    @ApiModelProperty("更新者")
+    @TableField("UPDATE_BY")
+    private String updateBy;
+
+
+    @ApiModelProperty("更新时间")
+    @TableField("UPDATE_TIME")
+    private Date updateTime;
+
+
+}

+ 80 - 0
purchase-system/src/main/java/com/ozs/pm/doman/PmProcurementDocumentsReview.java

@@ -0,0 +1,80 @@
+package com.ozs.pm.doman;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+
+import java.time.LocalDateTime;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+
+import java.io.Serializable;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * 采购文件编制审核表(PmProcurementDocumentsReview)实体类
+ *
+ * @author makejava
+ * @since 2023-03-05 17:24:32
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("pm_procurement_documents_review")
+@ApiModel(value = "采购文件编制审核表", description = "")
+public class PmProcurementDocumentsReview implements Serializable {
+    private static final long serialVersionUID = -21768252534981356L;
+
+    @TableId(value = "ID", type = IdType.AUTO)
+    private Long id;
+
+
+    @ApiModelProperty("需求ID")
+    @TableField("DEMAND_ID")
+    private Long demandId;
+
+
+    @ApiModelProperty("采购办审批时间")
+    @TableField("PROCUREMENT_OFFICE_APPROVAL_TIME")
+    private Date procurementOfficeApprovalTime;
+
+
+    @ApiModelProperty("需求单位审批时间")
+    @TableField("DEMAND_UNIT_APPROVAL_TIME")
+    private Date demandUnitApprovalTime;
+
+
+    @ApiModelProperty("采购管理部门审批时间")
+    @TableField("PROCUREMENT_MANAGER_APPROVAL_TIME")
+    private Date procurementManagerApprovalTime;
+
+
+    @ApiModelProperty("创建者")
+    @TableField("CREATE_BY")
+    private String createBy;
+
+
+    @ApiModelProperty("创建时间")
+    @TableField("CREATE_TIME")
+    private Date createTime;
+
+
+    @ApiModelProperty("更新者")
+    @TableField("UPDATE_BY")
+    private String updateBy;
+
+
+    @ApiModelProperty("更新时间")
+    @TableField("UPDATE_TIME")
+    private Date updateTime;
+
+
+}

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

@@ -42,6 +42,8 @@ public class PmBidWinningReqVo implements Serializable {
     @ApiModelProperty("中标公告截止时间")
     private Date bidAnnouncementCloseTime;
 
+    @ApiModelProperty("备注")
+    private String remarks;
 
     @ApiModelProperty("创建者")
     private String createBy;

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

@@ -134,4 +134,5 @@ public class PmDemandReqVo extends PageVo {
     private Boolean isAdmin;
     //查询全部or指定部门
     List<Integer> deptList;
+
 }

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

@@ -0,0 +1,71 @@
+package com.ozs.pm.doman.vo.requestVo;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ozs.system.domain.SysFileRef;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 专家意见反馈表(PmExpertFeedback)实体类
+ *
+ * @author makejava
+ * @since 2023-03-05 17:19:46
+ */
+
+@Data
+@ApiModel(value = "专家意见反馈表", description = "")
+public class PmExpertFeedbackReqVo implements Serializable {
+    private static final long serialVersionUID = 472163385609090741L;
+
+
+    private Long id;
+
+
+    @ApiModelProperty("需求ID")
+    private Long demandId;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty("文件评审时间")
+    private Date documentReviewTime;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty("反馈时间")
+    private Date feedbackTime;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty("答复时间")
+    private Date replyTime;
+
+
+    @ApiModelProperty("项目编号")
+    private String projectNumber;
+
+
+    @ApiModelProperty("创建者")
+    private String createBy;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty("创建时间")
+    private Date createTime;
+
+
+    @ApiModelProperty("更新者")
+    private String updateBy;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty("更新时间")
+    private Date updateTime;
+
+    /**
+     * 上传附件
+     */
+    @ApiModelProperty("上传附件")
+    private List<SysFileRef> sysFileRefs;
+}

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

@@ -0,0 +1,73 @@
+package com.ozs.pm.doman.vo.requestVo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ozs.system.domain.SysFileRef;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 采购文件编制审核表(PmProcurementDocumentsReview)实体类
+ *
+ * @author makejava
+ * @since 2023-03-05 17:24:32
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("pm_procurement_documents_review")
+@ApiModel(value = "采购文件编制审核表", description = "")
+public class PmProcurementDocumentsReviewReqVo implements Serializable {
+    private static final long serialVersionUID = -21768252534981356L;
+
+    private Long id;
+
+
+    @ApiModelProperty("需求ID")
+    private Long demandId;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty("采购办审批时间")
+    private Date procurementOfficeApprovalTime;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty("需求单位审批时间")
+    private Date demandUnitApprovalTime;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty("采购管理部门审批时间")
+    private Date procurementManagerApprovalTime;
+
+
+    @ApiModelProperty("创建者")
+    private String createBy;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty("创建时间")
+    private Date createTime;
+
+
+    @ApiModelProperty("更新者")
+    private String updateBy;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty("更新时间")
+    private Date updateTime;
+
+    /**
+     * 上传附件
+     */
+    @ApiModelProperty("上传附件")
+    private List<SysFileRef> sysFileRefs;
+}

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

@@ -33,4 +33,5 @@ public class PmPurchaseExecutionReqVo {
      */
     @ApiModelProperty("上传附件")
     private List<SysFileRef> sysFileRefs;
+
 }

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

@@ -44,6 +44,8 @@ public class PmBidWinningResVo implements Serializable {
     @ApiModelProperty("中标公告截止时间")
     private Date bidAnnouncementCloseTime;
 
+    @ApiModelProperty("备注")
+    private String remarks;
 
     @ApiModelProperty("创建者")
     private String createBy;

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

@@ -276,4 +276,17 @@ public class PmDemandResVo extends BaseEntity
 
     @ApiModelProperty("0:没有关联专家,1:有关联专家")
     private String hasExpert;
+
+    @ApiModelProperty("标前是否有质疑,1是,0否")
+    private String preBidCallQuestion;
+
+    @ApiModelProperty("标前质疑时间")
+    private Date preBidCallQuestionTime;
+
+    @ApiModelProperty("标后是否有质疑,1是,0否")
+    private String callQuestion;
+
+    @ApiModelProperty("标后质疑时间")
+    private Date callQuestionTime;
+
 }

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

@@ -0,0 +1,69 @@
+package com.ozs.pm.doman.vo.responseVo;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 专家意见反馈表(PmExpertFeedback)实体类
+ *
+ * @author makejava
+ * @since 2023-03-05 17:19:46
+ */
+
+@Data
+@ApiModel(value = "专家意见反馈表", description = "")
+public class PmExpertFeedbackResVo implements Serializable {
+    private static final long serialVersionUID = 472163385609090741L;
+
+    private Long id;
+
+
+    @ApiModelProperty("需求ID")
+    private Long demandId;
+
+
+    @ApiModelProperty("文件评审时间")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date documentReviewTime;
+
+
+    @ApiModelProperty("反馈时间")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date feedbackTime;
+
+
+    @ApiModelProperty("答复时间")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date replyTime;
+
+
+    @ApiModelProperty("项目编号")
+    private String projectNumber;
+
+
+    @ApiModelProperty("创建者")
+    private String createBy;
+
+
+    @ApiModelProperty("创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+
+    @ApiModelProperty("更新者")
+    private String updateBy;
+
+
+    @ApiModelProperty("更新时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+
+}

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

@@ -0,0 +1,60 @@
+package com.ozs.pm.doman.vo.responseVo;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 采购文件编制审核表(PmProcurementDocumentsReview)实体类
+ *
+ * @author makejava
+ * @since 2023-03-05 17:24:32
+ */
+
+@Data
+@ApiModel(value = "采购文件编制审核表", description = "")
+public class PmProcurementDocumentsReviewResVo implements Serializable {
+    private static final long serialVersionUID = -21768252534981356L;
+
+    private Long id;
+
+
+    @ApiModelProperty("需求ID")
+    private Long demandId;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty("采购办审批时间")
+    private Date procurementOfficeApprovalTime;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty("需求单位审批时间")
+    private Date demandUnitApprovalTime;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty("采购管理部门审批时间")
+    private Date procurementManagerApprovalTime;
+
+
+    @ApiModelProperty("创建者")
+    private String createBy;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty("创建时间")
+    private Date createTime;
+
+
+    @ApiModelProperty("更新者")
+    private String updateBy;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty("更新时间")
+    private Date updateTime;
+
+
+}

+ 15 - 0
purchase-system/src/main/java/com/ozs/pm/mapper/PmExpertFeedbackMapper.java

@@ -0,0 +1,15 @@
+package com.ozs.pm.mapper;
+
+import com.ozs.pm.doman.PmExpertFeedback;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+
+/**
+ * 专家意见反馈表(PmExpertFeedback)表数据库访问层
+ *
+ * @author makejava
+ * @since 2023-03-05 17:19:46
+ */
+public interface PmExpertFeedbackMapper extends BaseMapper<PmExpertFeedback> {
+
+}

+ 15 - 0
purchase-system/src/main/java/com/ozs/pm/mapper/PmProcurementDocumentsReviewMapper.java

@@ -0,0 +1,15 @@
+package com.ozs.pm.mapper;
+
+import com.ozs.pm.doman.PmProcurementDocumentsReview;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+
+/**
+ * 采购文件编制审核表(PmProcurementDocumentsReview)表数据库访问层
+ *
+ * @author makejava
+ * @since 2023-03-05 17:24:35
+ */
+public interface PmProcurementDocumentsReviewMapper extends BaseMapper<PmProcurementDocumentsReview> {
+
+}

+ 0 - 15
purchase-system/src/main/java/com/ozs/pm/service/IPmDemandService.java

@@ -48,21 +48,6 @@ public interface IPmDemandService extends IService<PmDemand> {
      */
     boolean bookBuilding(PmBookBuildingReqVo pmBookBuildingReqVo) throws Exception;
 
-    /**
-     * 查看流程图
-     *
-     * @param demandId 采购需求主键
-     * @return 采购需求
-     */
-    Object viewFlowChart(Long demandId);
-
-    /**
-     * 查看流程图
-     *
-     * @param demandId 采购需求主键
-     * @return 采购需求
-     */
-    PmFlowChartResVo getModuleInfo(Long demandId, String moduleName);
 
     /**
      * 提交采购需求

+ 14 - 0
purchase-system/src/main/java/com/ozs/pm/service/PmExpertFeedbackService.java

@@ -0,0 +1,14 @@
+package com.ozs.pm.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ozs.pm.doman.PmExpertFeedback;
+
+/**
+ * 专家意见反馈表(PmExpertFeedback)表服务接口
+ *
+ * @author makejava
+ * @since 2023-03-05 17:19:46
+ */
+public interface PmExpertFeedbackService extends IService<PmExpertFeedback> {
+
+}

+ 14 - 0
purchase-system/src/main/java/com/ozs/pm/service/PmProcurementDocumentsReviewService.java

@@ -0,0 +1,14 @@
+package com.ozs.pm.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ozs.pm.doman.PmProcurementDocumentsReview;
+
+/**
+ * 采购文件编制审核表(PmProcurementDocumentsReview)表服务接口
+ *
+ * @author makejava
+ * @since 2023-03-05 17:24:35
+ */
+public interface PmProcurementDocumentsReviewService extends IService<PmProcurementDocumentsReview> {
+
+}

+ 48 - 218
purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java

@@ -1,6 +1,5 @@
 package com.ozs.pm.service.impl;
 
-import java.lang.invoke.LambdaConversionException;
 import java.math.BigDecimal;
 import java.text.DecimalFormat;
 import java.text.ParseException;
@@ -8,7 +7,6 @@ import java.util.*;
 import java.util.stream.Collectors;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -18,7 +16,6 @@ import com.ozs.base.domain.vo.BaseExpertVo;
 import com.ozs.base.mapper.BaseExpertMapper;
 import com.ozs.base.service.*;
 import com.ozs.common.core.domain.AjaxResult;
-import com.ozs.common.core.domain.TreeSelect;
 import com.ozs.common.core.domain.entity.*;
 import com.ozs.common.enums.*;
 import com.ozs.common.utils.DateUtils;
@@ -48,7 +45,6 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
 import org.springframework.util.ObjectUtils;
 
 
@@ -127,8 +123,6 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
     @Autowired
     private BaseExpertMapper baseExpertMapper;
 
-    @Autowired
-    private SysProcurementStandardService sysProcurementStandardService;
     @Autowired
     private PmAuditDeptRefService pmAuditDeptRefService;
     @Autowired
@@ -569,183 +563,6 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
     }
 
 
-    /**
-     * 查看流程图
-     *
-     * @param demandId 采购需求主键
-     * @return 采购需求
-     */
-    @Override
-    public Object viewFlowChart(Long demandId) {
-        PmDemand pmDemand = this.getById(demandId);
-        String projectStatus = String.valueOf(pmDemand.getProjectStatus());
-        String moduleName = null;
-        if (PmProjectStatus.DEMAND_WAIT_FILL.getCode().equals(projectStatus) || PmProjectStatus.DEMAND_AUDIT_RETURN.getCode().equals(projectStatus)) {
-            moduleName = "需求填制";
-        } else if (PmProjectStatus.DEMAND_WAIT_COMMIT.getCode().equals(projectStatus)) {
-            moduleName = "需求提交";
-        } else if (PmProjectStatus.DEMAND_WAIT_AUDIT.getCode().equals(projectStatus)) {
-            moduleName = "需求审核";
-        } else if (PmProjectStatus.TASK_WAIT_RELEASE.getCode().equals(projectStatus)) {
-            moduleName = "任务下达";
-        } else if (PmProjectStatus.WAIT_SELECT_AGENT.getCode().equals(projectStatus)) {
-            moduleName = "选取代理";
-        } else if (PmProjectStatus.WAIT_UPLOAD_BID_FILE.getCode().equals(projectStatus)) {
-            moduleName = "上传招标文件";
-        } else if (PmProjectStatus.WAIT_ANNOUNCEMENT.getCode().equals(projectStatus)) {
-            moduleName = "发布公告";
-        } else if (PmProjectStatus.WAIT_OPEN_BID.getCode().equals(projectStatus)) {
-            moduleName = "填写专家信息,填写开标信息";
-        } else if (PmProjectStatus.WAIT_BID_ANNOUNCEMENT.getCode().equals(projectStatus)) {
-            moduleName = "填写中标信息";
-        } else if (PmProjectStatus.BIDDING_PUBLICITY.getCode().equals(projectStatus)) {
-            moduleName = "质疑处理,上传中标通知书";
-        } else if (PmProjectStatus.CONTRACT_WAIT_FILL.getCode().equals(projectStatus)) {
-            moduleName = "合同填制";
-        } else if (PmProjectStatus.UNDER_CONSTRUCTION.getCode().equals(projectStatus)) {
-            moduleName = "建设文档填制";
-        } else if (PmProjectStatus.COMPLETION_CONSTRUCTION.getCode().equals(projectStatus)) {
-            moduleName = "项目归档";
-        }
-        return moduleName;
-    }
-
-    @Override
-    public PmFlowChartResVo getModuleInfo(Long demandId, String moduleName) {
-
-        LambdaQueryWrapper<PmFlowChart> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-        lambdaQueryWrapper.eq(PmFlowChart::getModuleName, moduleName);
-        PmFlowChart pmFlowChart = iPmFlowChartService.getOne(lambdaQueryWrapper);
-        if (pmFlowChart == null) {
-            return null;
-        }
-        PmFlowChartResVo vo = new PmFlowChartResVo();
-        BeanUtils.copyProperties(pmFlowChart, vo);
-
-        if ("需求填制".equals(moduleName)) {
-            List<SysFileInfo> fileInfos = getSysFileInfoList(demandId, SysFileRefEnum.PM_DEMAND.getType());
-            if (!ObjectUtils.isEmpty(fileInfos)) {
-                vo.setFileInfos(fileInfos);
-            }
-        } else if ("需求提交".equals(moduleName)) {
-            LambdaQueryWrapper<PmBookBuilding> pmBookBuildingLambdaQueryWrapper = new LambdaQueryWrapper<>();
-            pmBookBuildingLambdaQueryWrapper.eq(PmBookBuilding::getDemandId, demandId);
-            PmBookBuilding pmBookBuilding = pmBookBuildingService.getOne(pmBookBuildingLambdaQueryWrapper);
-            if (pmBookBuilding != null) {
-                List<SysFileInfo> fileInfos = getSysFileInfoList(pmBookBuilding.getId(), SysFileRefEnum.PM_BOOK_BUILDING.getType());
-                if (!ObjectUtils.isEmpty(fileInfos)) {
-                    vo.setFileInfos(fileInfos);
-                }
-            }
-
-        } else if ("需求审核".equals(moduleName)) {
-            List<SysFileInfo> fileInfos = getSysFileInfoList(demandId, SysFileRefEnum.PM_DEMAND_EXAMINE.getType());
-            if (!ObjectUtils.isEmpty(fileInfos)) {
-                vo.setFileInfos(fileInfos);
-            }
-        } else if ("任务下达".equals(moduleName)) {
-            List<SysFileInfo> fileInfos = getSysFileInfoList(demandId, SysFileRefEnum.PM_TAST_RELEASE.getType());
-            if (!ObjectUtils.isEmpty(fileInfos)) {
-                vo.setFileInfos(fileInfos);
-            }
-        } else if ("选取代理".equals(moduleName)) {
-            //do nothing
-        } else if ("上传招标文件".equals(moduleName)) {
-            List<SysFileInfo> fileInfos = getSysFileInfoList(demandId, SysFileRefEnum.PM_BID_FILE.getType());
-            if (!ObjectUtils.isEmpty(fileInfos)) {
-                vo.setFileInfos(fileInfos);
-            }
-        } else if ("发布公告".equals(moduleName)) {
-            LambdaQueryWrapper<PmReleaseAnnouncement> pmReleaseAnnouncementLambdaQueryWrapper = new LambdaQueryWrapper<>();
-            pmReleaseAnnouncementLambdaQueryWrapper.eq(PmReleaseAnnouncement::getDemandId, demandId);
-            List<PmReleaseAnnouncement> pmReleaseAnnouncementList = pmReleaseAnnouncementService.list(pmReleaseAnnouncementLambdaQueryWrapper);
-            if (!ObjectUtils.isEmpty(pmReleaseAnnouncementList)) {
-                List<SysFileInfo> listAll = new ArrayList<>();
-                for (PmReleaseAnnouncement pmReleaseAnnouncement : pmReleaseAnnouncementList) {
-
-                    List<SysFileInfo> fileInfos = getSysFileInfoList(pmReleaseAnnouncement.getId(), SysFileRefEnum.PM_ANNOUNCEMENT_FILE.getType());
-                    if (!ObjectUtils.isEmpty(fileInfos)) {
-                        listAll.addAll(fileInfos);
-                    }
-                }
-                if (!ObjectUtils.isEmpty(listAll)) {
-                    vo.setFileInfos(listAll);
-                }
-            }
-        } else if ("填写专家信息".equals(moduleName)) {
-            //do nothing
-        } else if ("填写开标信息".equals(moduleName)) {
-            //do nothing
-        } else if ("填写中标信息".equals(moduleName)) {
-            List<SysFileInfo> listAll = new ArrayList<>();
-
-            LambdaQueryWrapper<PmBidWinning> pmBidWinningLambdaQueryWrapper = new LambdaQueryWrapper<>();
-            pmBidWinningLambdaQueryWrapper.eq(PmBidWinning::getDemandId, demandId);
-            List<PmBidWinning> pmBidWinningList = pmBidWinningService.list(pmBidWinningLambdaQueryWrapper);
-            if (!ObjectUtils.isEmpty(pmBidWinningList)) {
-                for (PmBidWinning pmBidWinning : pmBidWinningList) {
-                    List<SysFileInfo> fileInfos = getSysFileInfoList(pmBidWinning.getId(), SysFileRefEnum.PM_BID_WINNING_FILE.getType());
-                    if (!ObjectUtils.isEmpty(fileInfos)) {
-                        listAll.addAll(fileInfos);
-                    }
-                }
-            }
-
-            LambdaQueryWrapper<PmBidFailure> pmBidFailureLambdaQueryWrapper = new LambdaQueryWrapper<>();
-            pmBidFailureLambdaQueryWrapper.eq(PmBidFailure::getDemandId, demandId);
-            List<PmBidFailure> pmBidFailureList = pmBidFailureService.list(pmBidFailureLambdaQueryWrapper);
-            if (!ObjectUtils.isEmpty(pmBidFailureService)) {
-                for (PmBidFailure pmBidFailure : pmBidFailureList) {
-                    List<SysFileInfo> fileInfos = getSysFileInfoList(pmBidFailure.getId(), SysFileRefEnum.PM_BID_FAILURE_FILE.getType());
-                    if (!ObjectUtils.isEmpty(fileInfos)) {
-                        listAll.addAll(fileInfos);
-                    }
-                }
-            }
-
-            if (!ObjectUtils.isEmpty(listAll)) {
-                vo.setFileInfos(listAll);
-            }
-
-        } else if ("质疑处理".equals(moduleName)) {
-            List<SysFileInfo> fileInfos = getSysFileInfoList(demandId, SysFileRefEnum.PM_BID_CALL_QEUSTION_FILE.getType());
-            if (!ObjectUtils.isEmpty(fileInfos)) {
-                vo.setFileInfos(fileInfos);
-            }
-        } else if ("上传中标通知书".equals(moduleName)) {
-            List<SysFileInfo> fileInfos = getSysFileInfoList(demandId, SysFileRefEnum.PM_BID_WINNING_NOTIFICATION.getType());
-            if (!ObjectUtils.isEmpty(fileInfos)) {
-                vo.setFileInfos(fileInfos);
-            }
-        } else if ("合同填制".equals(moduleName)) {
-            LambdaQueryWrapper<PmContractInfo> pmContractInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
-            pmContractInfoLambdaQueryWrapper.eq(PmContractInfo::getDemandId, demandId);
-            PmContractInfo pmContractInfo = pmContractInfoService.getOne(pmContractInfoLambdaQueryWrapper);
-            if (pmContractInfo != null) {
-                List<SysFileInfo> fileInfos = getSysFileInfoList(pmContractInfo.getId(), SysFileRefEnum.PM_CONTRACT_INFO.getType());
-                if (!ObjectUtils.isEmpty(fileInfos)) {
-                    vo.setFileInfos(fileInfos);
-                }
-            }
-
-        } else if ("建设文档填制".equals(moduleName)) {
-            LambdaQueryWrapper<PmProjectConstruction> pmProjectConstructionLambdaQueryWrapper = new LambdaQueryWrapper<>();
-            pmProjectConstructionLambdaQueryWrapper.eq(PmProjectConstruction::getDemandId, demandId);
-            PmProjectConstruction pmProjectConstruction = pmProjectConstructionService.getOne(pmProjectConstructionLambdaQueryWrapper);
-            if (pmProjectConstruction != null) {
-                List<SysFileInfo> fileInfos = getSysFileInfoList(pmProjectConstruction.getId(), SysFileRefEnum.PM_PROJECT_CONSTRUCTION.getType());
-                if (!ObjectUtils.isEmpty(fileInfos)) {
-                    vo.setFileInfos(fileInfos);
-                }
-            }
-
-        } else if ("项目归档".equals(moduleName)) {
-            //do nothing
-        }
-
-        return vo;
-    }
-
     /**
      * 提交采购需求
      *
@@ -871,7 +688,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
         pmDemand.setDemandId(pmDemandReqVo.getDemandId());
         pmDemand.setTaskReleaseTime(pmDemandReqVo.getTaskReleaseTime());
 
-        pmDemand.setProjectStatus(PmProjectStatus.WAIT_SELECT_AGENT.getCode());
+        pmDemand.setProjectStatus(PmProjectStatus.PURCHASE_DEMAND_DOCKING.getCode());
         List<SysFileRef> sysFileRefs = pmDemandReqVo.getSysFileRefs();
 
         uploadFile(pmDemandReqVo.getDemandId(), SysFileRefEnum.PM_TAST_RELEASE.getType(), sysFileRefs, pmDemandReqVo.getUpdateBy());
@@ -931,7 +748,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
             uploadFile(pmReleaseAnnouncement.getId(), SysFileRefEnum.PM_ANNOUNCEMENT_FILE.getType(), pmReleaseAnnouncementReqVo.getSysFileRefs(), pmReleaseAnnouncementReqVo.getUpdateBy());
             PmDemand pmDemandUpdate = new PmDemand();
             pmDemandUpdate.setDemandId(pmReleaseAnnouncementReqVo.getDemandId());
-            pmDemandUpdate.setProjectStatus(PmProjectStatus.WAIT_OPEN_BID.getCode());
+            pmDemandUpdate.setProjectStatus(PmProjectStatus.PRE_BID_QUERY.getCode());
             pmDemandUpdate.setUpdateTime(pmReleaseAnnouncementReqVo.getUpdateTime());
             pmDemandUpdate.setUpdateBy(pmReleaseAnnouncementReqVo.getUpdateBy());
             if (this.updateById(pmDemandUpdate)) {
@@ -955,6 +772,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
                 baseNotice.setUpdated(pmReleaseAnnouncementReqVo.getUpdateBy());
                 baseNotice.setUpdateTime(pmReleaseAnnouncementReqVo.getUpdateTime());
                 return this.baseNoticeService.saveOrUpdate(baseNotice);
+
             } else {
                 return false;
             }
@@ -1292,7 +1110,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
         if (pmBidOpeningService.saveOrUpdateBatch(pmBidOpeningList)) {
             PmDemand pmDemandUpdate = new PmDemand();
             pmDemandUpdate.setDemandId(pmDemand.getDemandId());
-            pmDemandUpdate.setProjectStatus(PmProjectStatus.WAIT_BID_ANNOUNCEMENT.getCode());
+            pmDemandUpdate.setProjectStatus(PmProjectStatus.BID_RESULT_ANNOUNCEMENT.getCode());
             pmDemandUpdate.setUpdateTime(now);
             pmDemandUpdate.setUpdateBy(pmBidOpeningFillReqVo.getUpdateBy());
             return this.updateById(pmDemandUpdate);
@@ -1302,7 +1120,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
     }
 
     /**
-     * 填写中标
+     * 中标
      *
      * @param pmBidWinningReqVo
      * @return
@@ -1394,7 +1212,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
 
                 PmDemand pmDemandUpdate = new PmDemand();
                 pmDemandUpdate.setDemandId(pmBidWinningReqVo.getDemandId());
-                pmDemandUpdate.setProjectStatus(PmProjectStatus.BIDDING_PUBLICITY.getCode());
+                pmDemandUpdate.setProjectStatus(PmProjectStatus.POST_BID_QUERY.getCode());
                 pmDemandUpdate.setUpdateTime(pmBidWinningReqVo.getUpdateTime());
                 pmDemandUpdate.setUpdateBy(pmBidWinningReqVo.getUpdateBy());
 
@@ -1535,7 +1353,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
 
             PmDemand pmDemandUpdate = new PmDemand();
             pmDemandUpdate.setDemandId(pmBidFailureReqVo.getDemandId());
-            pmDemandUpdate.setProjectStatus(PmProjectStatus.WAIT_ANNOUNCEMENT.getCode());
+            pmDemandUpdate.setProjectStatus(PmProjectStatus.WASTE_BID_HANDLE.getCode());
             pmDemandUpdate.setHasExpert("0");
             pmDemandUpdate.setUpdateTime(pmBidFailureReqVo.getUpdateTime());
             pmDemandUpdate.setUpdateBy(pmBidFailureReqVo.getUpdateBy());
@@ -1721,17 +1539,23 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
 
     @Override
     public List<PmDemandResVo> waitSelectAgent() {
-        return getListByStatus(PmProjectStatus.WAIT_SELECT_AGENT.getCode());
+        // TODO
+        return null;
+       // return getListByStatus(PmProjectStatus.WAIT_SELECT_AGENT.getCode());
     }
 
     @Override
     public List<PmDemandResVo> waitUpBidFile() {
-        return getListByStatus(PmProjectStatus.WAIT_UPLOAD_BID_FILE.getCode());
+        // TODO
+        return null;
+        //return getListByStatus(PmProjectStatus.WAIT_UPLOAD_BID_FILE.getCode());
     }
 
     @Override
     public List<PmDemandResVo> waitAnnouncement() {
-        return getListByStatus(PmProjectStatus.WAIT_ANNOUNCEMENT.getCode());
+        // TODO
+        return null;
+       // return getListByStatus(PmProjectStatus.WAIT_ANNOUNCEMENT.getCode());
     }
 
     @Override
@@ -1741,12 +1565,16 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
 
     @Override
     public List<PmDemandResVo> waitBidAnnouncement() {
-        return getListByStatus(PmProjectStatus.WAIT_BID_ANNOUNCEMENT.getCode());
+        // TODO
+        return null;
+        //return getListByStatus(PmProjectStatus.WAIT_BID_ANNOUNCEMENT.getCode());
     }
 
     @Override
     public List<PmDemandResVo> biddingPublicity() {
-        return getListByStatus(PmProjectStatus.BIDDING_PUBLICITY.getCode());
+        // TODO
+        return null;
+       // return getListByStatus(PmProjectStatus.BIDDING_PUBLICITY.getCode());
     }
 
     @Override
@@ -1754,12 +1582,13 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
         List<HomeToDoQueryResVo> homeRes = new ArrayList<>();
         // 待选取代理, 待上传招标文件, 待发布公告, 待开标, 待发布中标公告, 中标公示中
         List<PmDemandResVo> demandRes = new ArrayList<>();
-        demandRes.addAll(getListByStatus(PmProjectStatus.WAIT_SELECT_AGENT.getCode()));
-        demandRes.addAll(getListByStatus(PmProjectStatus.WAIT_UPLOAD_BID_FILE.getCode()));
-        demandRes.addAll(getListByStatus(PmProjectStatus.WAIT_ANNOUNCEMENT.getCode()));
-        demandRes.addAll(getListByStatus(PmProjectStatus.WAIT_OPEN_BID.getCode()));
-        demandRes.addAll(getListByStatus(PmProjectStatus.WAIT_BID_ANNOUNCEMENT.getCode()));
-        demandRes.addAll(getListByStatus(PmProjectStatus.BIDDING_PUBLICITY.getCode()));
+        // TODO
+//        demandRes.addAll(getListByStatus(PmProjectStatus.WAIT_SELECT_AGENT.getCode()));
+//        demandRes.addAll(getListByStatus(PmProjectStatus.WAIT_UPLOAD_BID_FILE.getCode()));
+//        demandRes.addAll(getListByStatus(PmProjectStatus.WAIT_ANNOUNCEMENT.getCode()));
+//        demandRes.addAll(getListByStatus(PmProjectStatus.WAIT_OPEN_BID.getCode()));
+//        demandRes.addAll(getListByStatus(PmProjectStatus.WAIT_BID_ANNOUNCEMENT.getCode()));
+//        demandRes.addAll(getListByStatus(PmProjectStatus.BIDDING_PUBLICITY.getCode()));
 
         //计划数据--发函催告
         List<PlanQuarterResponseVo> planRes = planYearsService.willSendLetter();
@@ -1982,24 +1811,25 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
         if (!ObjectUtils.isEmpty(everyStatusNum) && everyStatusNum.size() > 0) {
             for (StatisticalChartsResVo vo : everyStatusNum) {
                 switch (vo.getColumnName()) {
-                    case "9":
-                        vo.setColumnName(PmProjectStatus.WAIT_SELECT_AGENT.getInfo());
-                        break;
-                    case "10":
-                        vo.setColumnName(PmProjectStatus.WAIT_UPLOAD_BID_FILE.getInfo());
-                        break;
-                    case "11":
-                        vo.setColumnName(PmProjectStatus.WAIT_ANNOUNCEMENT.getInfo());
-                        break;
-                    case "12":
-                        vo.setColumnName(PmProjectStatus.WAIT_OPEN_BID.getInfo());
-                        break;
-                    case "13":
-                        vo.setColumnName(PmProjectStatus.WAIT_BID_ANNOUNCEMENT.getInfo());
-                        break;
-                    case "14":
-                        vo.setColumnName(PmProjectStatus.BIDDING_PUBLICITY.getInfo());
-                        break;
+                    // TODO
+//                    case "9":
+//                        vo.setColumnName(PmProjectStatus.WAIT_SELECT_AGENT.getInfo());
+//                        break;
+//                    case "10":
+//                        vo.setColumnName(PmProjectStatus.WAIT_UPLOAD_BID_FILE.getInfo());
+//                        break;
+//                    case "11":
+//                        vo.setColumnName(PmProjectStatus.WAIT_ANNOUNCEMENT.getInfo());
+//                        break;
+//                    case "12":
+//                        vo.setColumnName(PmProjectStatus.WAIT_OPEN_BID.getInfo());
+//                        break;
+//                    case "13":
+//                        vo.setColumnName(PmProjectStatus.WAIT_BID_ANNOUNCEMENT.getInfo());
+//                        break;
+//                    case "14":
+//                        vo.setColumnName(PmProjectStatus.BIDDING_PUBLICITY.getInfo());
+//                        break;
                     default: {
                     }
                 }

+ 18 - 0
purchase-system/src/main/java/com/ozs/pm/service/impl/PmExpertFeedbackServiceImpl.java

@@ -0,0 +1,18 @@
+package com.ozs.pm.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ozs.pm.mapper.PmExpertFeedbackMapper;
+import com.ozs.pm.doman.PmExpertFeedback;
+import com.ozs.pm.service.PmExpertFeedbackService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 专家意见反馈表(PmExpertFeedback)表服务实现类
+ *
+ * @author makejava
+ * @since 2023-03-05 17:19:46
+ */
+@Service
+public class PmExpertFeedbackServiceImpl extends ServiceImpl<PmExpertFeedbackMapper, PmExpertFeedback> implements PmExpertFeedbackService {
+
+}

+ 18 - 0
purchase-system/src/main/java/com/ozs/pm/service/impl/PmProcurementDocumentsReviewServiceImpl.java

@@ -0,0 +1,18 @@
+package com.ozs.pm.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ozs.pm.mapper.PmProcurementDocumentsReviewMapper;
+import com.ozs.pm.doman.PmProcurementDocumentsReview;
+import com.ozs.pm.service.PmProcurementDocumentsReviewService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 采购文件编制审核表(PmProcurementDocumentsReview)表服务实现类
+ *
+ * @author makejava
+ * @since 2023-03-05 17:24:35
+ */
+@Service
+public class PmProcurementDocumentsReviewServiceImpl extends ServiceImpl<PmProcurementDocumentsReviewMapper, PmProcurementDocumentsReview> implements PmProcurementDocumentsReviewService {
+
+}

+ 6 - 0
purchase-system/src/main/resources/mapper/pm/PmExpertFeedbackMapper.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ozs.pm.mapper.PmExpertFeedbackMapper">
+
+
+</mapper>

+ 6 - 0
purchase-system/src/main/resources/mapper/pm/PmProcurementDocumentsReviewMapper.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ozs.pm.mapper.PmProcurementDocumentsReviewMapper">
+
+
+</mapper>