Kaynağa Gözat

系统首页待办事项--需求单位首页

buzhanyi 2 yıl önce
ebeveyn
işleme
8ca6eaca36
19 değiştirilmiş dosya ile 357 ekleme ve 202 silme
  1. 35 1
      purchase-admin/src/main/java/com/ozs/web/controller/home/SystemHomepageController.java
  2. 7 5
      purchase-admin/src/main/java/com/ozs/web/controller/plan/PlanQuarterController.java
  3. 7 4
      purchase-admin/src/main/java/com/ozs/web/controller/plan/PlanYearsController.java
  4. 1 1
      purchase-admin/src/main/resources/application.yml
  5. 4 16
      purchase-system/src/main/java/com/ozs/plan/doman/PlanQuarter.java
  6. 4 15
      purchase-system/src/main/java/com/ozs/plan/doman/PlanYears.java
  7. 4 6
      purchase-system/src/main/java/com/ozs/plan/doman/vo/requestVo/PlanQuarterStandardVo.java
  8. 5 7
      purchase-system/src/main/java/com/ozs/plan/doman/vo/requestVo/PlanYearsStandardVo.java
  9. 24 12
      purchase-system/src/main/java/com/ozs/plan/doman/vo/responseVo/PlanQuarterResponseVo.java
  10. 27 18
      purchase-system/src/main/java/com/ozs/plan/doman/vo/responseVo/PlanYearsResponseVo.java
  11. 1 1
      purchase-system/src/main/java/com/ozs/plan/mapper/PlanYearsMapper.java
  12. 3 2
      purchase-system/src/main/java/com/ozs/plan/service/PlanQuarterService.java
  13. 17 2
      purchase-system/src/main/java/com/ozs/plan/service/PlanYearsService.java
  14. 27 25
      purchase-system/src/main/java/com/ozs/plan/service/impl/PlanQuarterServiceImpl.java
  15. 48 13
      purchase-system/src/main/java/com/ozs/plan/service/impl/PlanYearsServiceImpl.java
  16. 27 4
      purchase-system/src/main/java/com/ozs/pm/service/IPmDemandService.java
  17. 105 67
      purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java
  18. 5 1
      purchase-system/src/main/resources/mapper/plan/PlanQuarterMapper.xml
  19. 6 2
      purchase-system/src/main/resources/mapper/plan/PlanYearsMapper.xml

+ 35 - 1
purchase-admin/src/main/java/com/ozs/web/controller/home/SystemHomepageController.java

@@ -3,7 +3,9 @@ package com.ozs.web.controller.home;
 import com.ozs.common.core.controller.BaseController;
 import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.plan.service.PlanYearsService;
+import com.ozs.pm.service.IPmDemandService;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
@@ -21,6 +23,8 @@ import javax.annotation.Resource;
 public class SystemHomepageController extends BaseController {
     @Resource
     private PlanYearsService planYearsService;
+    @Resource
+    private IPmDemandService pmDemandService;
 
     @ApiOperation(value = "需求单位首页计划管理总数")
     @GetMapping("/demandUnit/planManagement/total")
@@ -81,5 +85,35 @@ public class SystemHomepageController extends BaseController {
     public AjaxResult procurementOfficeFailureToWinTheBidTotal() {
         return planYearsService.procurementOfficeFailureToWinTheBidTotal();
     }
-    
+
+    @ApiOperation(value = "需求单位首页待办事项(全部)")
+    @GetMapping("/demandUnit/will/total")
+    public AjaxResult demandUnitWillManipulateTotal() {
+        return planYearsService.demandUnitWillManipulateTotal();
+    }
+
+    @ApiOperation(value = "需求单位首页待办事项(计划待提交)")
+    @GetMapping("/demandUnit/will/planWaitCommit")
+    public AjaxResult planWaitCommit() {
+        return planYearsService.planWaitCommit();
+    }
+
+    @ApiOperation(value = "需求单位首页待办事项(需求待提交)")
+    @GetMapping("/demandUnit/will/demandWaitCommit")
+    public AjaxResult demandUnit() {
+        return pmDemandService.demandWaitCommit();
+    }
+
+    @ApiOperation(value = "需求单位首页待办事项(合同待填制)")
+    @GetMapping("/demandUnit/will/contractWaitFilled")
+    public AjaxResult contractWaitContract() {
+        return pmDemandService.contractWaitFilled();
+    }
+
+    @ApiOperation(value = "需求单位首页待办事项(项目建设待完成)")
+    @GetMapping("/demandUnit/will/projectWaitFinish")
+    public AjaxResult projectWaitFinish() {
+        return pmDemandService.projectWaitFinish();
+    }
+
 }

+ 7 - 5
purchase-admin/src/main/java/com/ozs/web/controller/plan/PlanQuarterController.java

@@ -1,7 +1,6 @@
 package com.ozs.web.controller.plan;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.github.pagehelper.PageInfo;
 import com.ozs.common.core.controller.BaseController;
 import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.core.domain.model.LoginUser;
@@ -9,7 +8,9 @@ import com.ozs.common.utils.poi.ExcelUtil;
 import com.ozs.framework.web.service.TokenService;
 import com.ozs.plan.doman.PlanQuarter;
 import com.ozs.plan.doman.vo.requestVo.PlanQuarterStandardVo;
+import com.ozs.plan.doman.vo.responseVo.PlanQuarterResponseVo;
 import com.ozs.plan.service.PlanQuarterService;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -27,6 +28,7 @@ import java.util.List;
  *
  * @author buzhanyi
  */
+@Api(tags = "季度计划")
 @RestController
 @RequestMapping("/plan/quarter")
 public class PlanQuarterController extends BaseController {
@@ -52,16 +54,16 @@ public class PlanQuarterController extends BaseController {
     @ApiOperation(value = "导出季度计划数据")
     @PostMapping("/exportPlan")
     public void exportPlan(HttpServletResponse response, @RequestBody PlanQuarterStandardVo quarterStandardVo) throws Exception {
-        List<PlanQuarter> list = quarterService.selectPlanQuarterListEXP(quarterStandardVo);
-        ExcelUtil<PlanQuarter> util = new ExcelUtil<>(PlanQuarter.class);
+        List<PlanQuarterResponseVo> list = quarterService.selectPlanQuarterListEXP(quarterStandardVo);
+        ExcelUtil<PlanQuarterResponseVo> util = new ExcelUtil<>(PlanQuarterResponseVo.class);
         util.exportExcel(response, list, "季度计划数据");
     }
 
     @ApiOperation(value = "导出季度计划数据(审核单位)")
     @PostMapping("/exportPlanExamine")
     public void exportPlanExamine(HttpServletResponse response, @RequestBody PlanQuarterStandardVo quarterStandardVo) throws Exception {
-        List<PlanQuarter> list = quarterService.selectPlanQuarterExamineListEXP(quarterStandardVo);
-        ExcelUtil<PlanQuarter> util = new ExcelUtil<>(PlanQuarter.class);
+        List<PlanQuarterResponseVo> list = quarterService.selectPlanQuarterExamineListEXP(quarterStandardVo);
+        ExcelUtil<PlanQuarterResponseVo> util = new ExcelUtil<>(PlanQuarterResponseVo.class);
         util.exportExcel(response, list, "季度计划数据(审核单位)");
     }
 

+ 7 - 4
purchase-admin/src/main/java/com/ozs/web/controller/plan/PlanYearsController.java

@@ -8,7 +8,9 @@ import com.ozs.common.utils.poi.ExcelUtil;
 import com.ozs.framework.web.service.TokenService;
 import com.ozs.plan.doman.PlanYears;
 import com.ozs.plan.doman.vo.requestVo.PlanYearsStandardVo;
+import com.ozs.plan.doman.vo.responseVo.PlanYearsResponseVo;
 import com.ozs.plan.service.PlanYearsService;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -27,6 +29,7 @@ import java.util.List;
  *
  * @author buzhanyi
  */
+@Api(tags = "年度计划")
 @RestController
 @RequestMapping("/plan/planYears")
 public class PlanYearsController extends BaseController {
@@ -53,16 +56,16 @@ public class PlanYearsController extends BaseController {
     @ApiOperation(value = "导出年度计划数据")
     @PostMapping("/exportPlan")
     public void exportPlan(HttpServletResponse response, @RequestBody PlanYearsStandardVo yearsStandardVo) throws Exception {
-        List<PlanYears> list = planYearsService.selectPlanYearsListEXP(yearsStandardVo);
-        ExcelUtil<PlanYears> util = new ExcelUtil<>(PlanYears.class);
+        List<PlanYearsResponseVo> list = planYearsService.selectPlanYearsListEXP(yearsStandardVo);
+        ExcelUtil<PlanYearsResponseVo> util = new ExcelUtil<>(PlanYearsResponseVo.class);
         util.exportExcel(response, list, "年度计划数据");
     }
 
     @ApiOperation(value = "导出年度计划数据(审核单位)")
     @PostMapping("/exportPlanExamine")
     public void exportPlanExamine(HttpServletResponse response, @RequestBody PlanYearsStandardVo yearsStandardVo) throws Exception {
-        List<PlanYears> list = planYearsService.selectPlanYearsExamineListEXP(yearsStandardVo);
-        ExcelUtil<PlanYears> util = new ExcelUtil<>(PlanYears.class);
+        List<PlanYearsResponseVo> list = planYearsService.selectPlanYearsExamineListEXP(yearsStandardVo);
+        ExcelUtil<PlanYearsResponseVo> util = new ExcelUtil<>(PlanYearsResponseVo.class);
         util.exportExcel(response, list, "年度计划数据(审核单位)");
     }
 

+ 1 - 1
purchase-admin/src/main/resources/application.yml

@@ -10,4 +10,4 @@ server:
 # Spring配置
 spring:
   profiles:
-    active: druid,test
+    active: druid,dev

+ 4 - 16
purchase-system/src/main/java/com/ozs/plan/doman/PlanQuarter.java

@@ -6,7 +6,6 @@ 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.common.annotation.Excel;
 import lombok.Data;
 import nonapi.io.github.classgraph.json.Id;
 
@@ -39,13 +38,11 @@ public class PlanQuarter {
     @NotNull(message = "采购单位不能为空")
     private String purchaseDeptId;
 
-    @Excel(name = "采购单位")
     @TableField(exist = false)
     private String purchaseDeptName;
     /**
      * 项目名称
      */
-    @Excel(name = "项目名称")
     @NotNull(message = "项目名称不能为空")
     private String projectName;
     /**
@@ -53,19 +50,16 @@ public class PlanQuarter {
      */
     @NotNull(message = "项目类型不能为空")
     private String projectType;
-    @Excel(name = "项目类型")
     @TableField(exist = false)
     private String projectTypeStr;
     /**
      * 需求概况
      */
-    @Excel(name = "需求概况")
     @NotNull(message = "需求概况不能为空")
     private String demandOverview;
     /**
      * 概算金额(万元(保留小数点后两位)
      */
-    @Excel(name = "概算金额(万元)")
     @NotNull(message = "概算金额不能为空")
     private BigDecimal evaluation;
     /**
@@ -78,7 +72,6 @@ public class PlanQuarter {
      */
     @NotNull(message = "采购服务站不能为空")
     private String purchaseServices;
-    @Excel(name = "采购服务站")
     @TableField(exist = false)
     private String purchaseServicesStr;
     /**
@@ -86,27 +79,23 @@ public class PlanQuarter {
      */
     @NotNull(message = "采购方式不能为空")
     private String purchaseMode;
-    @Excel(name = "采购方式")
     @TableField(exist = false)
     private String purchaseModeStr;
     /**
      * 计划提报需求时间--->需求单位成功提报采购需求的日期(具体到月)
      */
-    @Excel(name = "提报需求时间", dateFormat = "yyyy-MM-dd")
     @NotNull(message = "计划提报需求时间不能为空")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date planDemandSubTime;
     /**
      * 计划完成采购时间--->公示中标结果的日期,即填制中标信息的日期(具体到月)
      */
-    @Excel(name = "完成采购时间", dateFormat = "yyyy-MM-dd")
     @NotNull(message = "计划完成采购时间不能为空")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date planPurchaseFinishTime;
     /**
      * 计划交付时间--->供应商完成并交付后,使用单位收到标的日期,即填制建设文档的日期
      */
-    @Excel(name = "交付(实施)时间", dateFormat = "yyyy-MM-dd")
     @NotNull(message = "计划交付时间不能为空")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date planDeliverTime;
@@ -116,24 +105,20 @@ public class PlanQuarter {
     @NotNull(message = "项目属性不能为空")
     private String projectAttr;
 
-    @Excel(name = "项目属性")
     @TableField(exist = false)
     private String projectAttrStr;
     /**
      * 退回原因--->审核不通过就是退回
      */
-    @Excel(name = "退回原因")
     private String refuseReason;
     /**
      * 计划调整情况及理由--->如计划需要变更,在填写申请修改时需填写调整情况及理由,审核单位审核通过后显示
      */
-    @Excel(name = "计划调整情况及理由")
     @NotNull(message = "计划调整情况及理由不能为空")
     private String adjustReason;
     /**
      * 备注
      */
-    @Excel(name = "备注")
     private String remarks;
 
     /**
@@ -145,7 +130,10 @@ public class PlanQuarter {
      * 发函状态(0:未发函或已处理,1:确认发函)
      */
     private String sendLetter;
-
+    /**
+     * 发函内容
+     */
+    private String letterStr;
     /**
      * 创建者
      */

+ 4 - 15
purchase-system/src/main/java/com/ozs/plan/doman/PlanYears.java

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.fasterxml.jackson.annotation.JsonFormat;
-import com.ozs.common.annotation.Excel;
 import lombok.Data;
 import nonapi.io.github.classgraph.json.Id;
 
@@ -31,13 +30,11 @@ public class PlanYears {
     @NotNull(message = "采购单位不能为空")
     private String purchaseDeptId;
 
-    @Excel(name = "采购单位")
     @TableField(exist = false)
     private String purchaseDeptName;
     /**
      * 项目名称
      */
-    @Excel(name = "项目名称")
     @NotNull(message = "项目名称不能为空")
     private String projectName;
     /**
@@ -45,19 +42,16 @@ public class PlanYears {
      */
     @NotNull(message = "项目类型不能为空")
     private String projectType;
-    @Excel(name = "项目类型")
     @TableField(exist = false)
     private String projectTypeStr;
     /**
      * 需求概况
      */
-    @Excel(name = "需求概况")
     @NotNull(message = "需求概况不能为空")
     private String demandOverview;
     /**
      * 概算金额(万元(保留小数点后两位)
      */
-    @Excel(name = "概算金额(万元)")
     @NotNull(message = "概算金额不能为空")
     private BigDecimal evaluation;
     /**
@@ -70,7 +64,6 @@ public class PlanYears {
      */
     @NotNull(message = "采购服务站不能为空")
     private String purchaseServices;
-    @Excel(name = "采购服务站")
     @TableField(exist = false)
     private String purchaseServicesStr;
     /**
@@ -78,27 +71,23 @@ public class PlanYears {
      */
     @NotNull(message = "采购方式不能为空")
     private String purchaseMode;
-    @Excel(name = "采购方式")
     @TableField(exist = false)
     private String purchaseModeStr;
     /**
      * 计划提报需求时间--->需求单位成功提报采购需求的日期(具体到月)
      */
-    @Excel(name = "提报需求时间", dateFormat = "yyyy-MM-dd")
     @NotNull(message = "计划提报需求时间不能为空")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date planDemandSubTime;
     /**
      * 计划完成采购时间--->公示中标结果的日期,即填制中标信息的日期(具体到月)
      */
-    @Excel(name = "完成采购时间", dateFormat = "yyyy-MM-dd")
     @NotNull(message = "计划完成采购时间不能为空")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date planPurchaseFinishTime;
     /**
      * 计划交付时间--->供应商完成并交付后,使用单位收到标的日期,即填制建设文档的日期
      */
-    @Excel(name = "交付(实施)时间", dateFormat = "yyyy-MM-dd")
     @NotNull(message = "计划交付时间不能为空")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date planDeliverTime;
@@ -108,24 +97,20 @@ public class PlanYears {
     @NotNull(message = "项目属性不能为空")
     private String projectAttr;
 
-    @Excel(name = "项目属性")
     @TableField(exist = false)
     private String projectAttrStr;
     /**
      * 退回原因--->审核不通过就是退回
      */
-    @Excel(name = "退回原因")
     private String refuseReason;
     /**
      * 计划调整情况及理由--->如计划需要变更,在填写申请修改时需填写调整情况及理由,审核单位审核通过后显示
      */
-    @Excel(name = "计划调整情况及理由")
     @NotNull(message = "计划调整情况及理由不能为空")
     private String adjustReason;
     /**
      * 备注
      */
-    @Excel(name = "备注")
     private String remarks;
 
     /**
@@ -137,6 +122,10 @@ public class PlanYears {
      * 发函状态(0:未发函或已处理,1:确认发函)
      */
     private String sendLetter;
+    /**
+     * 发函内容
+     */
+    private String letterStr;
 
 
     /**

+ 4 - 6
purchase-system/src/main/java/com/ozs/plan/doman/vo/requestVo/PlanQuarterStandardVo.java

@@ -120,7 +120,10 @@ public class PlanQuarterStandardVo extends PageVo {
      */
     @ApiModelProperty(value = "项目状态(0:计划待提交,1:计划待审核,2:计划已退回,3:计划已审核)")
     private String projectStatus;
-
+    /**
+     * 发函内容
+     */
+    private String letterStr;
     /**
      * 退回原因--->审核不通过就是退回
      */
@@ -133,11 +136,6 @@ public class PlanQuarterStandardVo extends PageVo {
     @ApiModelProperty(value = "备注")
     private String remarks;
 
-    /**
-     * 退回原因--->审核不通过就是退回
-     */
-    @ApiModelProperty(value = "退回原因")
-    private String reasonOfReturn;
     /**
      * 计划调整情况及理由--->如计划需要变更,在填写申请修改时需填写调整情况及理由,审核单位审核通过后显示
      */

+ 5 - 7
purchase-system/src/main/java/com/ozs/plan/doman/vo/requestVo/PlanYearsStandardVo.java

@@ -116,10 +116,14 @@ public class PlanYearsStandardVo extends PageVo {
      */
     @ApiModelProperty(value = "项目状态(0:计划待提交,1:计划待审核,2:计划已退回,3:计划已审核)")
     private String projectStatus;
-
+    /**
+     * 发函内容
+     */
+    private String letterStr;
     /**
      * 退回原因--->审核不通过就是退回
      */
+    @ApiModelProperty(value = "退回原因")
     private String refuseReason;
 
     /**
@@ -129,12 +133,6 @@ public class PlanYearsStandardVo extends PageVo {
     @ApiModelProperty(value = "备注")
     private String remarks;
 
-    /**
-     * 退回原因--->审核不通过就是退回
-     */
-    @ApiModelProperty(value = "退回原因")
-    private String reasonOfReturn;
-
     /**
      * 计划调整情况及理由--->如计划需要变更,在填写申请修改时需填写调整情况及理由,审核单位审核通过后显示
      */

+ 24 - 12
purchase-system/src/main/java/com/ozs/plan/doman/vo/responseVo/PlanQuarterResponseVo.java

@@ -28,18 +28,20 @@ public class PlanQuarterResponseVo implements Serializable {
     /**
      * 采购单位(登录账号的单位)
      */
+    private String purchaseDeptId;
     @Excel(name = "采购单位")
-    private Long purchaseDeptId;
+    private String purchaseDeptName;
     /**
      * 项目名称
      */
     @Excel(name = "项目名称")
     private String projectName;
     /**
-     * 项目名称
+     * 项目类型
      */
-    @Excel(name = "项目类型")
     private String projectType;
+    @Excel(name = "项目类型")
+    private String projectTypeStr;
     /**
      * 需求概况
      */
@@ -48,46 +50,49 @@ public class PlanQuarterResponseVo implements Serializable {
     /**
      * 概算金额(万元(保留小数点后两位)
      */
-    @Excel(name = "概算金额")
+    @Excel(name = "概算金额(万元)")
     private BigDecimal evaluation;
     /**
      * 是否为超限额计划(0:未超额,1:超额)
      */
-    @Excel(name = "是否为超限额计划")
     private String isExcess;
     /**
      * 采购服务站
      */
-    @Excel(name = "采购服务站")
     private String purchaseServices;
+    @Excel(name = "采购服务站")
+    private String purchaseServicesStr;
     /**
      * 采购方式 (0:公开招标, 1:单一来源,2:邀请招标,3:竞争式谈判,4:询价)
      */
-    @Excel(name = "采购方式")
     private String purchaseMode;
+    @Excel(name = "采购方式")
+    private String purchaseModeStr;
     /**
      * 计划提报需求时间--->需求单位成功提报采购需求的日期(具体到月)
      */
-    @Excel(name = "计划提报需求时间")
+    @Excel(name = "提报需求时间", dateFormat = "yyyy-MM-dd")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date planDemandSubTime;
     /**
      * 计划完成采购时间--->公示中标结果的日期,即填制中标信息的日期(具体到月)
      */
-    @Excel(name = "计划完成采购时间")
+    @Excel(name = "完成采购时间", dateFormat = "yyyy-MM-dd")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date planPurchaseFinishTime;
     /**
      * 计划交付时间--->供应商完成并交付后,使用单位收到标的日期,即填制建设文档的日期
      */
-    @Excel(name = "计划交付时间")
+    @Excel(name = "交付(实施)时间", dateFormat = "yyyy-MM-dd")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date planDeliverTime;
     /**
      * 项目属性--->应急应战项目、重大规划任务项目、规划任务项目或一般项目
      */
-    @Excel(name = "项目属性")
     private String projectAttr;
+    @Excel(name = "项目属性")
+    private String projectAttrStr;
+
     /**
      * 计划调整情况及理由--->如计划需要变更,在填写申请修改时需填写调整情况及理由,审核单位审核通过后显示
      */
@@ -102,13 +107,20 @@ public class PlanQuarterResponseVo implements Serializable {
      * 项目状态--->包括计划待提交、计划待审核、计划已退回、计划已审核
      * (0:计划待提交,1:计划待审核,2:计划已退回,3:计划已审核)
      */
-    @Excel(name = "项目状态")
     private String projectStatus;
 
     /**
      * 发函状态(0:未发函或已处理,1:确认发函)
      */
     private String sendLetter;
+    /**
+     * 发函内容
+     */
+    private String letterStr;
+    /**
+     * 逻辑删除字段--->(0:正常,1:已删除)
+     */
+    private Integer delFlay;
     /**
      * 计划类型(0:季度计划,1:临时计划)
      */

+ 27 - 18
purchase-system/src/main/java/com/ozs/plan/doman/vo/responseVo/PlanYearsResponseVo.java

@@ -9,7 +9,6 @@ import lombok.Data;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
-import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -25,8 +24,12 @@ public class PlanYearsResponseVo implements Serializable {
     /**
      * 采购单位(登录账号的单位)
      */
+    private String purchaseDeptId;
+    /**
+     * 采购单位名称
+     */
     @Excel(name = "采购单位")
-    private Long purchaseDeptId;
+    private String purchaseDeptName;
     /**
      * 项目名称
      */
@@ -35,8 +38,9 @@ public class PlanYearsResponseVo implements Serializable {
     /**
      * 项目名称
      */
-    @Excel(name = "项目类型")
     private String projectType;
+    @Excel(name = "项目类型")
+    private String projectTypeStr;
     /**
      * 需求概况
      */
@@ -45,50 +49,54 @@ public class PlanYearsResponseVo implements Serializable {
     /**
      * 概算金额(万元(保留小数点后两位)
      */
-    @Excel(name = "概算金额")
+    @Excel(name = "概算金额(万元)")
     private BigDecimal evaluation;
     /**
      * 是否为超限额计划(0:未超额,1:超额)
      */
-    @Excel(name = "是否为超限额计划")
     private String isExcess;
     /**
      * 采购服务站
      */
-    @Excel(name = "采购服务站")
     private String purchaseServices;
+    @Excel(name = "采购服务站")
+    private String purchaseServicesStr;
     /**
      * 采购方式 (0:公开招标, 1:单一来源,2:邀请招标,3:竞争式谈判,4:询价)
      */
-    @Excel(name = "采购方式")
     private String purchaseMode;
+    @Excel(name = "采购方式")
+    private String purchaseModeStr;
     /**
      * 计划提报需求时间--->需求单位成功提报采购需求的日期(具体到月)
      */
-    @Excel(name = "计划提报需求时间")
+    @Excel(name = "提报需求时间", dateFormat = "yyyy-MM-dd")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date planDemandSubTime;
     /**
      * 计划完成采购时间--->公示中标结果的日期,即填制中标信息的日期(具体到月)
      */
-    @Excel(name = "计划完成采购时间")
-    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "完成采购时间", dateFormat = "yyyy-MM-dd")
     private Date planPurchaseFinishTime;
     /**
      * 计划交付时间--->供应商完成并交付后,使用单位收到标的日期,即填制建设文档的日期
      */
-    @Excel(name = "计划交付时间")
+    @Excel(name = "交付(实施)时间", dateFormat = "yyyy-MM-dd")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date planDeliverTime;
     /**
      * 项目属性--->应急应战项目、重大规划任务项目、规划任务项目或一般项目
      */
-    @Excel(name = "项目属性")
     private String projectAttr;
+    @Excel(name = "项目属性")
+    private String projectAttrStr;
+    /**
+     * 退回原因--->审核不通过就是退回
+     */
+    private String refuseReason;
     /**
      * 计划调整情况及理由--->如计划需要变更,在填写申请修改时需填写调整情况及理由,审核单位审核通过后显示
      */
-    @Excel(name = "计划调整情况及理由")
     private String adjustReason;
     /**
      * 备注
@@ -99,22 +107,23 @@ public class PlanYearsResponseVo implements Serializable {
      * 项目状态--->包括计划待提交、计划待审核、计划已退回、计划已审核
      * (0:计划待提交,1:计划待审核,2:计划已退回,3:计划已审核)
      */
-    @Excel(name = "项目状态")
     private String projectStatus;
 
     /**
      * 发函状态(0:未发函或已处理,1:确认发函)
      */
     private String sendLetter;
-
     /**
-     * 退回原因--->审核不通过就是退回
+     * 发函内容
      */
-    private String refuseReason;
-
+    private String letterStr;
     /**
      * 已上传的关联附件信息
      */
     List<SysFileInfo> fileInfos;
+    /**
+     * 逻辑删除字段--->(0:正常,1:已删除)
+     */
+    private Integer delFlay;
 
 }

+ 1 - 1
purchase-system/src/main/java/com/ozs/plan/mapper/PlanYearsMapper.java

@@ -86,5 +86,5 @@ public interface PlanYearsMapper extends BaseMapper<PlanYears> {
 
     public Integer review(PlanYearsStandardVo vo);
 
-    Integer sendLetter(Long planYearId);
+    public Integer sendLetter(PlanYearsStandardVo yearsStandardVo);
 }

+ 3 - 2
purchase-system/src/main/java/com/ozs/plan/service/PlanQuarterService.java

@@ -7,6 +7,7 @@ import com.ozs.common.core.domain.model.LoginUser;
 import com.ozs.plan.doman.PlanQuarter;
 import com.ozs.plan.doman.vo.requestVo.PlanQuarterStandardVo;
 import com.ozs.plan.doman.vo.requestVo.PlanYearsStandardVo;
+import com.ozs.plan.doman.vo.responseVo.PlanQuarterResponseVo;
 
 import java.util.List;
 
@@ -31,7 +32,7 @@ public interface PlanQuarterService {
      * @param vo 季度计划请求对象
      * @return 季度计划记录集合
      */
-    public List<PlanQuarter> selectPlanQuarterListEXP(PlanQuarterStandardVo vo);
+    public List<PlanQuarterResponseVo> selectPlanQuarterListEXP(PlanQuarterStandardVo vo);
 
     /**
      * 查询季度计划记录集合(审核单位)
@@ -47,7 +48,7 @@ public interface PlanQuarterService {
      * @param vo 季度计划请求对象
      * @return 季度计划记录集合
      */
-    public List<PlanQuarter> selectPlanQuarterExamineListEXP(PlanQuarterStandardVo vo);
+    public List<PlanQuarterResponseVo> selectPlanQuarterExamineListEXP(PlanQuarterStandardVo vo);
 
     /**
      * 创建季度计划

+ 17 - 2
purchase-system/src/main/java/com/ozs/plan/service/PlanYearsService.java

@@ -7,6 +7,7 @@ import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.core.domain.model.LoginUser;
 import com.ozs.plan.doman.PlanYears;
 import com.ozs.plan.doman.vo.requestVo.PlanYearsStandardVo;
+import com.ozs.plan.doman.vo.responseVo.PlanYearsResponseVo;
 import com.ozs.system.domain.SysOperLog;
 
 import java.util.List;
@@ -32,7 +33,7 @@ public interface PlanYearsService extends IService<PlanYears> {
      * @param vo 年度计划请求对象
      * @return 年度计划记录集合
      */
-    public List<PlanYears> selectPlanYearsListEXP(PlanYearsStandardVo vo);
+    public List<PlanYearsResponseVo> selectPlanYearsListEXP(PlanYearsStandardVo vo);
 
     /**
      * 查询年度计划记录集合(审核单位)
@@ -48,7 +49,7 @@ public interface PlanYearsService extends IService<PlanYears> {
      * @param vo 年度计划请求对象
      * @return 年度计划记录集合
      */
-    public List<PlanYears> selectPlanYearsExamineListEXP(PlanYearsStandardVo vo);
+    public List<PlanYearsResponseVo> selectPlanYearsExamineListEXP(PlanYearsStandardVo vo);
 
     /**
      * 创建年度计划
@@ -211,4 +212,18 @@ public interface PlanYearsService extends IService<PlanYears> {
      * @return
      */
     AjaxResult procurementOfficeFailureToWinTheBidTotal();
+
+    /**
+     * 查询需求单位待办事项(全部)
+     *
+     * @return
+     */
+    AjaxResult demandUnitWillManipulateTotal();
+
+    /**
+     * 查询需求单位待办事项(计划待提交)
+     *
+     * @return
+     */
+    AjaxResult planWaitCommit();
 }

+ 27 - 25
purchase-system/src/main/java/com/ozs/plan/service/impl/PlanQuarterServiceImpl.java

@@ -21,6 +21,7 @@ import com.ozs.plan.doman.PlanQuarter;
 import com.ozs.plan.doman.PlanYears;
 import com.ozs.plan.doman.vo.requestVo.PlanQuarterStandardVo;
 import com.ozs.plan.doman.vo.responseVo.PlanQuarterResponseVo;
+import com.ozs.plan.doman.vo.responseVo.PlanYearsResponseVo;
 import com.ozs.plan.mapper.PlanQuarterMapper;
 import com.ozs.plan.mapper.PlanYearsMapper;
 import com.ozs.plan.service.PlanQuarterService;
@@ -79,7 +80,7 @@ public class PlanQuarterServiceImpl implements PlanQuarterService {
     public Page selectPlanQuarterList(PlanQuarterStandardVo vo) {
         PlanQuarter quarters = new PlanQuarter();
         List<PlanQuarter> planQuarter;
-        List<PlanQuarter> planQuarterList = new ArrayList<>();
+        List<PlanQuarterResponseVo> planQuarterList = new ArrayList<>();
         try {
             BeanUtils.copyProperties(vo, quarters);
             planQuarter = planQuarterMapper.selectPlanQuarterList(quarters);
@@ -92,9 +93,9 @@ public class PlanQuarterServiceImpl implements PlanQuarterService {
     }
 
     @Override
-    public List<PlanQuarter> selectPlanQuarterListEXP(PlanQuarterStandardVo vo) {
+    public List<PlanQuarterResponseVo> selectPlanQuarterListEXP(PlanQuarterStandardVo vo) {
         List<PlanQuarter> list = new ArrayList<>();
-        List<PlanQuarter> planQuarterList = new ArrayList<>();
+        List<PlanQuarterResponseVo> planQuarterList = new ArrayList<>();
         try {
             int num = 1;
             int size = 200;
@@ -135,7 +136,7 @@ public class PlanQuarterServiceImpl implements PlanQuarterService {
     public Page selectPlanQuarterExamineList(PlanQuarterStandardVo vo) {
         PlanQuarter quarters = new PlanQuarter();
         List<PlanQuarter> planQuarter;
-        List<PlanQuarter> planQuarterList = new ArrayList<>();
+        List<PlanQuarterResponseVo> planQuarterList = new ArrayList<>();
         try {
             BeanUtils.copyProperties(vo, quarters);
             planQuarter = planQuarterMapper.selectPlanQuarterExamineList(quarters);
@@ -148,9 +149,9 @@ public class PlanQuarterServiceImpl implements PlanQuarterService {
     }
 
     @Override
-    public List<PlanQuarter> selectPlanQuarterExamineListEXP(PlanQuarterStandardVo vo) {
+    public List<PlanQuarterResponseVo> selectPlanQuarterExamineListEXP(PlanQuarterStandardVo vo) {
         List<PlanQuarter> list = new ArrayList<>();
-        List<PlanQuarter> planQuarterList = new ArrayList<>();
+        List<PlanQuarterResponseVo> planQuarterList = new ArrayList<>();
         try {
             int num = 1;
             int size = 200;
@@ -547,35 +548,36 @@ public class PlanQuarterServiceImpl implements PlanQuarterService {
     }
 
     //字段赋值对应的名称
-    public List<PlanQuarter> changeTo(List<PlanQuarter> planQuarter) {
+    public List<PlanQuarterResponseVo> changeTo(List<PlanQuarter> planQuarters) {
 
         HashMap<String, HashMap<String, String>> planEnums = dictTypeService.getAboutEnums();
         HashMap<String, String> projectTypesMap = planEnums.get("projectTypes");
         HashMap<String, String> planPurchaseModesMap = planEnums.get("planPurchaseModes");
         HashMap<String, String> projectAttributes = planEnums.get("projectAttributes");
         HashMap<String, String> purchaseServices = planEnums.get("purchaseServices");
-        List<PlanQuarter> list = new ArrayList<PlanQuarter>();
-        for (PlanQuarter planYear : planQuarter) {
-            SysDeptResponseVo sysDeptResponseVo = (SysDeptResponseVo) deptService.selectDeptById(Long.valueOf(planYear.getPurchaseDeptId())).get("sysDept");
-            planYear.setPurchaseDeptName(sysDeptResponseVo.getDeptName());
+        List<PlanQuarterResponseVo> list = new ArrayList<PlanQuarterResponseVo>();
+        for (PlanQuarter planQuarter : planQuarters) {
+            PlanQuarterResponseVo responseVo = new PlanQuarterResponseVo();
+            SysDeptResponseVo sysDeptResponseVo = (SysDeptResponseVo) deptService.selectDeptById(Long.valueOf(planQuarter.getPurchaseDeptId())).get("sysDept");
+            planQuarter.setPurchaseDeptName(sysDeptResponseVo.getDeptName());
 
             for (Map.Entry<String, String> entry : projectTypesMap.entrySet()) {
-                if (planYear.getProjectType().equals(entry.getValue())) {
-                    planYear.setProjectTypeStr(entry.getKey());
+                if (planQuarter.getProjectType().equals(entry.getValue())) {
+                    planQuarter.setProjectTypeStr(entry.getKey());
                     break;
                 }
             }
             for (Map.Entry<String, String> entry : planPurchaseModesMap.entrySet()) {
-                if (planYear.getPurchaseMode().equals(entry.getValue())) {
-                    planYear.setPurchaseModeStr(entry.getKey());
+                if (planQuarter.getPurchaseMode().equals(entry.getValue())) {
+                    planQuarter.setPurchaseModeStr(entry.getKey());
                     break;
                 }
             }
             //项目属性是拼接的
-            if (!ObjectUtils.isEmpty(planYear.getProjectAttr())) {
-                if (planYear.getProjectAttr().length() > 1) {
+            if (!ObjectUtils.isEmpty(planQuarter.getProjectAttr())) {
+                if (planQuarter.getProjectAttr().length() > 1) {
                     StringBuilder builder = new StringBuilder();
-                    String[] split = planYear.getProjectAttr().split(",");
+                    String[] split = planQuarter.getProjectAttr().split(",");
                     for (String s : split) {
                         for (Map.Entry<String, String> entry : projectAttributes.entrySet()) {
                             if (s.equals(entry.getValue())) {
@@ -584,24 +586,24 @@ public class PlanQuarterServiceImpl implements PlanQuarterService {
                             }
                         }
                     }
-                    planYear.setProjectAttrStr(builder.toString());
+                    planQuarter.setProjectAttrStr(builder.toString());
                 } else {
                     for (Map.Entry<String, String> entry : projectAttributes.entrySet()) {
-                        if (planYear.getProjectAttr().equals(entry.getValue())) {
-                            planYear.setProjectAttrStr(entry.getKey());
+                        if (planQuarter.getProjectAttr().equals(entry.getValue())) {
+                            planQuarter.setProjectAttrStr(entry.getKey());
                             break;
                         }
                     }
                 }
             }
             for (Map.Entry<String, String> entry : purchaseServices.entrySet()) {
-                if (planYear.getPurchaseServices().equals(entry.getValue())) {
-                    planYear.setPurchaseServicesStr(entry.getKey());
+                if (planQuarter.getPurchaseServices().equals(entry.getValue())) {
+                    planQuarter.setPurchaseServicesStr(entry.getKey());
                     break;
                 }
             }
-
-            list.add(planYear);
+            BeanUtils.copyProperties(planQuarter, responseVo);
+            list.add(responseVo);
         }
         return list;
     }

+ 48 - 13
purchase-system/src/main/java/com/ozs/plan/service/impl/PlanYearsServiceImpl.java

@@ -24,6 +24,7 @@ import com.ozs.common.utils.bean.BeanUtils;
 import com.ozs.plan.doman.PlanQuarter;
 import com.ozs.plan.doman.PlanYears;
 import com.ozs.plan.doman.vo.requestVo.PlanYearsStandardVo;
+import com.ozs.plan.doman.vo.responseVo.PlanQuarterResponseVo;
 import com.ozs.plan.doman.vo.responseVo.PlanYearsResponseVo;
 import com.ozs.plan.mapper.PlanQuarterMapper;
 import com.ozs.plan.mapper.PlanYearsMapper;
@@ -41,7 +42,6 @@ import com.ozs.system.service.ISysDictTypeService;
 import com.ozs.system.service.ISysUserService;
 import com.ozs.system.service.SysFileService;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -86,12 +86,14 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
     private ISysUserService userService;
     @Autowired
     private PmDemandMapper pmDemandMapper;
+    @Autowired
+    private PlanQuarterServiceImpl quartzServiceImpl;
 
     @Override
     public Page selectPlanYearsList(PlanYearsStandardVo vo) {
         PlanYears ofYears = new PlanYears();
         List<PlanYears> planYears;
-        List<PlanYears> planYearsList = new ArrayList<>();
+        List<PlanYearsResponseVo> planYearsList = new ArrayList<>();
         try {
             BeanUtils.copyProperties(vo, ofYears);
             planYears = planYearsMapper.selectPlanYearsList(ofYears);
@@ -104,9 +106,9 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
     }
 
     @Override
-    public List<PlanYears> selectPlanYearsListEXP(PlanYearsStandardVo vo) {
+    public List<PlanYearsResponseVo> selectPlanYearsListEXP(PlanYearsStandardVo vo) {
         List<PlanYears> list = new ArrayList<>();
-        List<PlanYears> planYearsList = new ArrayList<>();
+        List<PlanYearsResponseVo> planYearsList = new ArrayList<>();
         try {
             int num = 1;
             int size = 200;
@@ -147,7 +149,7 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
     public Page selectPlanYearsExamineList(PlanYearsStandardVo vo) {
         PlanYears ofYears = new PlanYears();
         List<PlanYears> planYears;
-        List<PlanYears> planYearsList = new ArrayList<>();
+        List<PlanYearsResponseVo> planYearsList = new ArrayList<>();
         try {
             BeanUtils.copyProperties(vo, ofYears);
             planYears = planYearsMapper.selectPlanYearsExamineList(ofYears);
@@ -160,9 +162,9 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
     }
 
     @Override
-    public List<PlanYears> selectPlanYearsExamineListEXP(PlanYearsStandardVo vo) {
+    public List<PlanYearsResponseVo> selectPlanYearsExamineListEXP(PlanYearsStandardVo vo) {
         List<PlanYears> list = new ArrayList<>();
-        List<PlanYears> planYearsList = new ArrayList<>();
+        List<PlanYearsResponseVo> planYearsList = new ArrayList<>();
         try {
             int num = 1;
             int size = 200;
@@ -507,7 +509,7 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
 
     @Override
     public AjaxResult sendLetter(PlanYearsStandardVo yearsStandardVo) {
-        int review = planYearsMapper.sendLetter(yearsStandardVo.getPlanYearId());
+        int review = planYearsMapper.sendLetter(yearsStandardVo);
         if (review != 1) {
             return AjaxResult.error("项目状态数据异常");
         }
@@ -799,6 +801,38 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
         return AjaxResult.success(pmDemands.size());
     }
 
+    @Override
+    public AjaxResult demandUnitWillManipulateTotal() {
+        return null;
+    }
+
+    /**
+     * 查询需求单位待办事项(计划待提交)
+     *
+     * @return
+     */
+    @Override
+    public AjaxResult planWaitCommit() {
+        LambdaQueryWrapper<PlanYears> yearsLp = new LambdaQueryWrapper<PlanYears>();
+        yearsLp.eq(PlanYears::getDelFlay, DataIsDelete.DataNOTDelete);
+        yearsLp.eq(PlanYears::getProjectStatus, ProjectStatus.PLANWAITCOMMIT.getCode());
+        List<PlanYears> planYears = planYearsMapper.selectList(yearsLp);
+
+        LambdaQueryWrapper<PlanQuarter> quarterLp = new LambdaQueryWrapper<PlanQuarter>();
+        quarterLp.eq(PlanQuarter::getDelFlay, DataIsDelete.DataNOTDelete);
+        quarterLp.eq(PlanQuarter::getProjectStatus, ProjectStatus.PLANWAITCOMMIT.getCode());
+        List<PlanQuarter> planQuarters = planQuarterMapper.selectList(quarterLp);
+
+        List<PlanYearsResponseVo> yearsRes = changeTo(planYears);
+        List<PlanQuarterResponseVo> quarterRes = quartzServiceImpl.changeTo(planQuarters);
+        for (PlanYearsResponseVo yearsRe : yearsRes) {
+            PlanQuarterResponseVo responseVo = new PlanQuarterResponseVo();
+            BeanUtils.copyProperties(yearsRe, responseVo);
+            quarterRes.add(responseVo);
+        }
+        return AjaxResult.success(quarterRes);
+    }
+
     //判断是否为超额计划
     public String isExcessOrNo(String projectType, BigDecimal evaluation) {
         BigDecimal threshold = new BigDecimal(0);
@@ -826,15 +860,16 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
     }
 
     //字段赋值对应的名称
-    public List<PlanYears> changeTo(List<PlanYears> planYears) {
-
+    public List<PlanYearsResponseVo> changeTo(List<PlanYears> planYears) {
+        //获取字典数据
         HashMap<String, HashMap<String, String>> planEnums = dictTypeService.getAboutEnums();
         HashMap<String, String> projectTypesMap = planEnums.get("projectTypes");
         HashMap<String, String> planPurchaseModesMap = planEnums.get("planPurchaseModes");
         HashMap<String, String> projectAttributes = planEnums.get("projectAttributes");
         HashMap<String, String> purchaseServices = planEnums.get("purchaseServices");
-        List<PlanYears> list = new ArrayList<PlanYears>();
+        List<PlanYearsResponseVo> list = new ArrayList<PlanYearsResponseVo>();
         for (PlanYears planYear : planYears) {
+            PlanYearsResponseVo responseVo = new PlanYearsResponseVo();
             SysDeptResponseVo sysDeptResponseVo = (SysDeptResponseVo) deptService.selectDeptById(Long.valueOf(planYear.getPurchaseDeptId())).get("sysDept");
             planYear.setPurchaseDeptName(sysDeptResponseVo.getDeptName());
 
@@ -879,8 +914,8 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
                     break;
                 }
             }
-
-            list.add(planYear);
+            BeanUtils.copyProperties(planYear, responseVo);
+            list.add(responseVo);
         }
         return list;
     }

+ 27 - 4
purchase-system/src/main/java/com/ozs/pm/service/IPmDemandService.java

@@ -3,6 +3,7 @@ package com.ozs.pm.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.base.domain.vo.BaseExpertVo;
 import com.ozs.pm.doman.PmDemand;
 import com.ozs.pm.doman.vo.requestVo.*;
@@ -15,7 +16,7 @@ import java.util.List;
 
 /**
  * 采购需求Service接口
- * 
+ *
  * @author ruoyi
  * @date 2023-01-16
  */
@@ -23,7 +24,7 @@ public interface IPmDemandService extends IService<PmDemand>
 {
     /**
      * 查询采购需求
-     * 
+     *
      * @param demandId 采购需求主键
      * @return 采购需求
      */
@@ -31,7 +32,7 @@ public interface IPmDemandService extends IService<PmDemand>
 
     /**
      * 查询采购需求列表
-     * 
+     *
      * @param pmDemandReqVo 采购需求
      * @return 采购需求集合
      */
@@ -40,7 +41,7 @@ public interface IPmDemandService extends IService<PmDemand>
 
     /**
      * 需求建档
-     * 
+     *
      * @param pmBookBuildingReqVo 需求建档
      * @return 结果
      */
@@ -123,8 +124,30 @@ public interface IPmDemandService extends IService<PmDemand>
 
     /**
      * 专家库--查询抽取专家列表 非必传条件:专家名称,开始结束时间 sunhh
+     *
      * @param baseExpertVo
      * @return
      */
     List<PmDemand> selectExtractionExpert(BaseExpertVo baseExpertVo);
+
+    /**
+     * 查询需求单位首页待办事项(需求待提交)
+     *
+     * @return
+     */
+    AjaxResult demandWaitCommit();
+
+    /**
+     * 查询需求单位首页待办事项(合同待填制)
+     *
+     * @return
+     */
+    AjaxResult contractWaitFilled();
+
+    /**
+     * 查询需求单位首页待办事项(项目建设待完成)
+     *
+     * @return
+     */
+    AjaxResult projectWaitFinish();
 }

+ 105 - 67
purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java

@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ozs.base.domain.*;
 import com.ozs.base.domain.vo.BaseExpertVo;
 import com.ozs.base.service.*;
+import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.enums.*;
 import com.ozs.common.utils.DateUtils;
 import com.ozs.common.utils.RandomUtil;
@@ -93,6 +94,8 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
 
     @Autowired
     private PmProjectConstructionService pmProjectConstructionService;
+    @Autowired
+    private PmDemandMapper demandMapper;
 
     @Autowired
     private BaseNoticeTypeService baseNoticeTypeService;
@@ -499,73 +502,9 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
 
         IPage<PmDemand> pageRes = this.page(new Page<>(pmDemandReqVo.getPageNum(), pmDemandReqVo.getPageSize()), lw);
         IPage<PmDemandResVo> results = new Page<>(pageRes.getCurrent(), pageRes.getSize(), pageRes.getTotal());
-        if(pageRes.getRecords() != null && pageRes.getRecords().size() > 0){
-            List<PmDemandResVo> pmDemandResponseVoList = new ArrayList<>();
-            for(PmDemand pmDemand1 : pageRes.getRecords()){
-                PmDemandResVo vo = new PmDemandResVo();
-                BeanUtils.copyProperties(pmDemand1,vo);
-                if(vo.getPurchaseDeptId() != null){
-                    Map<String, Object> deptMap =  deptService.selectDeptById(vo.getPurchaseDeptId());
-                    if(deptMap!= null){
-                        SysDeptResponseVo sysDeptResponseVo = (SysDeptResponseVo)deptMap.get("sysDept");
-                        if(sysDeptResponseVo != null){
-                            vo.setPurchaseDeptName(sysDeptResponseVo.getDeptName());
-                        }
-                    }
-                }
-
-                String purchaseServicesName = dictDataService.selectDictLabel("purchase_services",vo.getPurchaseServices());
-                if(StringUtils.isNotEmpty(purchaseServicesName)){
-                    vo.setPurchaseServicesName(purchaseServicesName);
-                }
-
-                //项目类型
-                for (ProjectTypes value : ProjectTypes.values()) {
-                    if (vo.getProjectType() != null && vo.getProjectType().equals(value.getCode())) {
-                        vo.setProjectTypeName(value.getInfo());
-                        break;
-                    }
-                }
-                //是否为超限额计划
-                for (IsExcess value : IsExcess.values()) {
-                    if (vo.getIsExcess() != null && vo.getIsExcess().equals(value.getCode())) {
-                        vo.setIsExcessName(value.getInfo());
-                        break;
-                    }
-                }
-
-                //采购方式
-                for (PlanPurchaseMode value : PlanPurchaseMode.values()) {
-                    if (vo.getPurchaseMode() != null && vo.getPurchaseMode().equals(value.getCode())) {
-                        vo.setPurchaseModeName(value.getInfo());
-                        break;
-                    }
-                }
-                //项目属性
-                for (ProjectAttribute value : ProjectAttribute.values()) {
-                    if (vo.getProjectAttr() != null && vo.getProjectAttr().equals(value.getCode())) {
-                        vo.setProjectAttrName(value.getInfo());
-                        break;
-                    }
-                }
-                //预警状态
-                for (WarnStatus value : WarnStatus.values()) {
-                    if (vo.getWarnStatus() != null && vo.getWarnStatus().equals(value.getCode())) {
-                        vo.setWarnStatusName(value.getInfo());
-                        break;
-                    }
-                }
-
-                //项目状态
-                for (PmProjectStatus value : PmProjectStatus.values()) {
-                    if (vo.getProjectStatus() != null && vo.getProjectStatus().equals(value.getCode())) {
-                        vo.setProjectStatusName(value.getInfo());
-                        break;
-                    }
-                }
-                pmDemandResponseVoList.add(vo);
-            }
-            results.setRecords(pmDemandResponseVoList);
+        if(pageRes.getRecords() != null && pageRes.getRecords().size() > 0) {
+            List<PmDemandResVo> pmDemandResVos = demandChangeTo(pageRes.getRecords());
+            results.setRecords(pmDemandResVos);
         }
 
         return results;
@@ -1583,6 +1522,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
 
     /**
      * 专家库--查询抽取专家列表 非必传条件:专家名称,开始结束时间 sunhh
+     *
      * @param baseExpertVo
      * @return
      */
@@ -1590,4 +1530,102 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
     public List<PmDemand> selectExtractionExpert(BaseExpertVo baseExpertVo) {
         return this.baseMapper.selectExtractionExpert(baseExpertVo);
     }
+
+    @Override
+    public AjaxResult demandWaitCommit() {
+        return getListByStatus(PmProjectStatus.DEMAND_WAIT_COMMIT.getCode());
+    }
+
+    @Override
+    public AjaxResult contractWaitFilled() {
+        return getListByStatus(PmProjectStatus.CONTRACT_WAIT_FILL.getCode());
+    }
+
+    @Override
+    public AjaxResult projectWaitFinish() {
+        return getListByStatus(PmProjectStatus.UNDER_CONSTRUCTION.getCode());
+    }
+
+    //查询不同状态下的项目数据
+    public AjaxResult getListByStatus(String projectStatus) {
+        LambdaQueryWrapper<PmDemand> lw = new LambdaQueryWrapper<PmDemand>();
+        lw.eq(PmDemand::getProjectStatus, projectStatus);
+        List<PmDemand> demandList = demandMapper.selectList(lw);
+        //数据转换
+        List<PmDemandResVo> pmDemandResponseVoList = new ArrayList<>();
+        if (!ObjectUtils.isEmpty(demandList) && demandList.size() > 0) {
+            pmDemandResponseVoList = demandChangeTo(demandList);
+        }
+        return AjaxResult.success(pmDemandResponseVoList);
+    }
+
+    //字段转换and赋值
+    public List<PmDemandResVo> demandChangeTo(List<PmDemand> pmDemandList) {
+        List<PmDemandResVo> pmDemandResponseVoList = new ArrayList<>();
+        for (PmDemand pmDemand1 : pmDemandList) {
+            PmDemandResVo vo = new PmDemandResVo();
+            BeanUtils.copyProperties(pmDemand1, vo);
+            if (vo.getPurchaseDeptId() != null) {
+                Map<String, Object> deptMap = deptService.selectDeptById(vo.getPurchaseDeptId());
+                if (deptMap != null) {
+                    SysDeptResponseVo sysDeptResponseVo = (SysDeptResponseVo) deptMap.get("sysDept");
+                    if (sysDeptResponseVo != null) {
+                        vo.setPurchaseDeptName(sysDeptResponseVo.getDeptName());
+                    }
+                }
+            }
+
+            String purchaseServicesName = dictDataService.selectDictLabel("purchase_services", vo.getPurchaseServices());
+            if (StringUtils.isNotEmpty(purchaseServicesName)) {
+                vo.setPurchaseServicesName(purchaseServicesName);
+            }
+
+            //项目类型
+            for (ProjectTypes value : ProjectTypes.values()) {
+                if (vo.getProjectType() != null && vo.getProjectType().equals(value.getCode())) {
+                    vo.setProjectTypeName(value.getInfo());
+                    break;
+                }
+            }
+            //是否为超限额计划
+            for (IsExcess value : IsExcess.values()) {
+                if (vo.getIsExcess() != null && vo.getIsExcess().equals(value.getCode())) {
+                    vo.setIsExcessName(value.getInfo());
+                    break;
+                }
+            }
+
+            //采购方式
+            for (PlanPurchaseMode value : PlanPurchaseMode.values()) {
+                if (vo.getPurchaseMode() != null && vo.getPurchaseMode().equals(value.getCode())) {
+                    vo.setPurchaseModeName(value.getInfo());
+                    break;
+                }
+            }
+            //项目属性
+            for (ProjectAttribute value : ProjectAttribute.values()) {
+                if (vo.getProjectAttr() != null && vo.getProjectAttr().equals(value.getCode())) {
+                    vo.setProjectAttrName(value.getInfo());
+                    break;
+                }
+            }
+            //预警状态
+            for (WarnStatus value : WarnStatus.values()) {
+                if (vo.getWarnStatus() != null && vo.getWarnStatus().equals(value.getCode())) {
+                    vo.setWarnStatusName(value.getInfo());
+                    break;
+                }
+            }
+
+            //项目状态
+            for (PmProjectStatus value : PmProjectStatus.values()) {
+                if (vo.getProjectStatus() != null && vo.getProjectStatus().equals(value.getCode())) {
+                    vo.setProjectStatusName(value.getInfo());
+                    break;
+                }
+            }
+            pmDemandResponseVoList.add(vo);
+        }
+        return pmDemandResponseVoList;
+    }
 }

+ 5 - 1
purchase-system/src/main/resources/mapper/plan/PlanQuarterMapper.xml

@@ -23,6 +23,7 @@
         <result property="remarks" column="remarks"/>
         <result property="project_status" column="projectStatus"/>
         <result property="send_letter" column="sendLetter"/>
+        <result property="letter_str" column="letterStr"/>
         <result property="created" column="created"/>
         <result property="create_time" column="createTime"/>
         <result property="updated" column="updated"/>
@@ -197,7 +198,10 @@
 
     <update id="sendLetter" parameterType="java.lang.Long">
         update plan_practical
-        set send_letter= 1
+        set send_letter=1,
+        <if test="letterStr != null and letterStr != ''">
+            letter_str=#{letterStr}
+        </if>
         where plan_practical_id = #{planPracticalId}
     </update>
 

+ 6 - 2
purchase-system/src/main/resources/mapper/plan/PlanYearsMapper.xml

@@ -22,6 +22,7 @@
 		<result property="remarks" column="remarks"/>
 		<result property="project_status" column="projectStatus"/>
 		<result property="send_letter" column="sendLetter"/>
+		<result property="letter_str" column="letterStr"/>
 		<result property="created" column="created"/>
 		<result property="create_time" column="createTime"/>
 		<result property="updated" column="updated"/>
@@ -178,9 +179,12 @@
 		where plan_year_id = #{planYearId}
 	</update>
 
-	<update id="sendLetter" parameterType="java.lang.Long">
+	<update id="sendLetter" parameterType="com.ozs.plan.doman.vo.requestVo.PlanYearsStandardVo">
 		update plan_years
-		set send_letter=1
+		set send_letter=1,
+		<if test="letterStr != null and letterStr != ''">
+			letter_str=#{letterStr}
+		</if>
 		where plan_year_id = #{planYearId}
 	</update>