Forráskód Böngészése

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java
suntianwu 2 éve
szülő
commit
2424946c5e
19 módosított fájl, 656 hozzáadás és 80 törlés
  1. 93 6
      purchase-admin/src/main/java/com/ozs/web/controller/home/SystemHomepageController.java
  2. 1 1
      purchase-admin/src/main/resources/logback.xml
  3. 2 0
      purchase-system/src/main/java/com/ozs/base/mapper/BaseProfessionalMapper.java
  4. 31 1
      purchase-system/src/main/java/com/ozs/base/service/impl/BaseProfessionalServiceImpl.java
  5. 119 0
      purchase-system/src/main/java/com/ozs/home/domain/vo/HomeToDoQueryResVo.java
  6. 4 0
      purchase-system/src/main/java/com/ozs/plan/doman/PlanQuarter.java
  7. 4 0
      purchase-system/src/main/java/com/ozs/plan/doman/PlanYears.java
  8. 7 1
      purchase-system/src/main/java/com/ozs/plan/doman/vo/requestVo/PlanQuarterStandardVo.java
  9. 4 1
      purchase-system/src/main/java/com/ozs/plan/doman/vo/requestVo/PlanYearsStandardVo.java
  10. 4 1
      purchase-system/src/main/java/com/ozs/plan/doman/vo/responseVo/PlanQuarterResponseVo.java
  11. 4 0
      purchase-system/src/main/java/com/ozs/plan/doman/vo/responseVo/PlanYearsResponseVo.java
  12. 36 4
      purchase-system/src/main/java/com/ozs/plan/service/PlanYearsService.java
  13. 32 24
      purchase-system/src/main/java/com/ozs/plan/service/impl/PlanQuarterServiceImpl.java
  14. 144 14
      purchase-system/src/main/java/com/ozs/plan/service/impl/PlanYearsServiceImpl.java
  15. 71 8
      purchase-system/src/main/java/com/ozs/pm/service/IPmDemandService.java
  16. 78 8
      purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java
  17. 20 11
      purchase-system/src/main/resources/mapper/base/BaseProfessionalMapper.xml
  18. 1 0
      purchase-system/src/main/resources/mapper/plan/PlanQuarterMapper.xml
  19. 1 0
      purchase-system/src/main/resources/mapper/plan/PlanYearsMapper.xml

+ 93 - 6
purchase-admin/src/main/java/com/ozs/web/controller/home/SystemHomepageController.java

@@ -2,15 +2,17 @@ package com.ozs.web.controller.home;
 
 import com.ozs.common.core.controller.BaseController;
 import com.ozs.common.core.domain.AjaxResult;
+import com.ozs.plan.doman.vo.responseVo.PlanQuarterResponseVo;
 import com.ozs.plan.service.PlanYearsService;
+import com.ozs.pm.doman.vo.responseVo.PmDemandResVo;
 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;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 
 /**
@@ -95,25 +97,110 @@ public class SystemHomepageController extends BaseController {
     @ApiOperation(value = "需求单位首页待办事项(计划待提交)")
     @GetMapping("/demandUnit/will/planWaitCommit")
     public AjaxResult planWaitCommit() {
-        return planYearsService.planWaitCommit();
+        List<PlanQuarterResponseVo> vos = planYearsService.planWaitCommit();
+        return AjaxResult.success(vos);
     }
 
     @ApiOperation(value = "需求单位首页待办事项(需求待提交)")
     @GetMapping("/demandUnit/will/demandWaitCommit")
     public AjaxResult demandUnit() {
-        return pmDemandService.demandWaitCommit();
+        List<PmDemandResVo> resVos = pmDemandService.demandWaitCommit();
+        return AjaxResult.success(resVos);
     }
 
     @ApiOperation(value = "需求单位首页待办事项(合同待填制)")
     @GetMapping("/demandUnit/will/contractWaitFilled")
-    public AjaxResult contractWaitContract() {
-        return pmDemandService.contractWaitFilled();
+    public AjaxResult contractWaitFilled() {
+        List<PmDemandResVo> resVos = pmDemandService.contractWaitFilled();
+        return AjaxResult.success(resVos);
     }
 
     @ApiOperation(value = "需求单位首页待办事项(项目建设待完成)")
     @GetMapping("/demandUnit/will/projectWaitFinish")
     public AjaxResult projectWaitFinish() {
-        return pmDemandService.projectWaitFinish();
+        List<PmDemandResVo> resVos = pmDemandService.projectWaitFinish();
+        return AjaxResult.success(resVos);
     }
 
+    @ApiOperation(value = "采购管理部门首页待办事项(全部)")
+    @GetMapping("/purchasingManagement/will/total")
+    public AjaxResult purchasingManagementWillManipulateTotal() {
+        return planYearsService.purchasingManagementWillManipulateTotal();
+    }
+
+    @ApiOperation(value = "采购管理部门首页待办事项(计划待审核)")
+    @GetMapping("/purchasingManagement/will/planWaitExamine")
+    public AjaxResult planWaitExamine() {
+        List<PlanQuarterResponseVo> resVos = planYearsService.planWaitExamine();
+        return AjaxResult.success(resVos);
+    }
+
+    @ApiOperation(value = "采购管理部门首页待办事项(需求待审核)")
+    @GetMapping("/purchasingManagement/will/demandWaitExamine")
+    public AjaxResult demandWaitExamine() {
+        List<PmDemandResVo> resVos = pmDemandService.demandWaitExamine();
+        return AjaxResult.success(resVos);
+    }
+
+    @ApiOperation(value = "采购管理部门首页待办事项(任务待下达)")
+    @GetMapping("/purchasingManagement/will/taskWaitRelease")
+    public AjaxResult taskWaitRelease() {
+        List<PmDemandResVo> resVos = pmDemandService.taskWaitRelease();
+        return AjaxResult.success(resVos);
+    }
+
+    @ApiOperation(value = "采购办首页待办事项(全部)")
+    @GetMapping("/procurementOffice/will/total")
+    public AjaxResult procurementOfficeWillManipulateTotal() {
+        return pmDemandService.procurementOfficeWillManipulateTotal();
+    }
+
+    @ApiOperation(value = "采购办首页待办事项(待选取代理)")
+    @GetMapping("/procurementOffice/will/waitSelectAgent")
+    public AjaxResult waitSelectAgent() {
+        List<PmDemandResVo> resVos = pmDemandService.waitSelectAgent();
+        return AjaxResult.success(resVos);
+    }
+
+    @ApiOperation(value = "采购办首页待办事项(待上传招标文件)")
+    @GetMapping("/procurementOffice/will/waitUpBidFile")
+    public AjaxResult waitUpBidFile() {
+        List<PmDemandResVo> resVos = pmDemandService.waitUpBidFile();
+        return AjaxResult.success(resVos);
+    }
+
+    @ApiOperation(value = "采购办首页待办事项(待发布公告)")
+    @GetMapping("/procurementOffice/will/waitAnnouncement")
+    public AjaxResult waitAnnouncement() {
+        List<PmDemandResVo> resVos = pmDemandService.waitAnnouncement();
+        return AjaxResult.success(resVos);
+    }
+
+    @ApiOperation(value = "采购办首页待办事项(待开标)")
+    @GetMapping("/procurementOffice/will/waitOpenBid")
+    public AjaxResult waitOpenBid() {
+        List<PmDemandResVo> resVos = pmDemandService.waitOpenBid();
+        return AjaxResult.success(resVos);
+    }
+
+    @ApiOperation(value = "采购办首页待办事项(待发布中标公告)")
+    @GetMapping("/procurementOffice/will/waitBidAnnouncement")
+    public AjaxResult waitBidAnnouncement() {
+        List<PmDemandResVo> resVos = pmDemandService.waitBidAnnouncement();
+        return AjaxResult.success(resVos);
+    }
+
+    @ApiOperation(value = "采购办首页待办事项(中标公示中)")
+    @GetMapping("/procurementOffice/will/biddingPublicity")
+    public AjaxResult biddingPublicity() {
+        List<PmDemandResVo> resVos = pmDemandService.biddingPublicity();
+        return AjaxResult.success(resVos);
+    }
+
+    @ApiOperation(value = "采购办首页待办事项(发函催告)")
+    @GetMapping("/procurementOffice/will/sendLetter")
+    public AjaxResult willSendLetter() {
+        List<PlanQuarterResponseVo> vos = planYearsService.willSendLetter();
+        return AjaxResult.success(vos);
+    }
 }

+ 1 - 1
purchase-admin/src/main/resources/logback.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
     <!-- 日志存放路径 -->
-        <property name="log.path" value="/home/purchase/logs"/>
+    <property name="log.path" value="/home/purchase/logs"/>
 <!--    <property name="log.path" value="/Users/sunhuanhuan/Documents/project/106/文档/purchase/logs"/>-->
     <!-- 日志输出格式 -->
     <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/>

+ 2 - 0
purchase-system/src/main/java/com/ozs/base/mapper/BaseProfessionalMapper.java

@@ -32,4 +32,6 @@ public interface BaseProfessionalMapper extends BaseMapper<BaseProfessional> {
     List<BaseProfessional> selectByProfessionalName(BaseProfessional baseProfessional);
 
     List<BaseProfessional> selectByParentCodes(BaseProfessional baseProfessional);
+
+    BaseProfessional selectByCode(@Param("parentCode") String parentCode);
 }

+ 31 - 1
purchase-system/src/main/java/com/ozs/base/service/impl/BaseProfessionalServiceImpl.java

@@ -9,6 +9,7 @@ import com.ozs.common.core.domain.entity.SysDictType;
 import com.ozs.common.core.domain.entity.SysUser;
 import com.ozs.common.exception.ServiceException;
 import com.ozs.common.utils.DictUtils;
+import com.ozs.common.utils.StringUtils;
 import com.ozs.common.utils.bean.BeanUtils;
 import com.ozs.common.utils.bean.BeanValidators;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -79,7 +80,18 @@ public class BaseProfessionalServiceImpl extends ServiceImpl<BaseProfessionalMap
 
     @Override
     public List<BaseProfessionalVo> selectBaseProfessionalVo(BaseProfessionalVo baseProfessionalVo) {
-        List<BaseProfessional> allList = baseProfessionalMapper.selectBaseProfessional(baseProfessionalVo);
+        List<BaseProfessional> allList = new ArrayList<>();
+        List<BaseProfessional> list = baseProfessionalMapper.selectBaseProfessional(baseProfessionalVo);
+        allList.addAll(list);
+        // 传惨"品目名称professionalName" 需查询是否有上级数据
+        if (StringUtils.isNotNull(baseProfessionalVo.getProfessionalName())) {
+            for (BaseProfessional baseProfessional : list) {
+                // 遍历数据父级code 在列表中是否存在;如果不存在查询code等于当前数据父级code的数据,放入列表
+                List<BaseProfessional> listStream = new ArrayList<>();
+                listStream = listStream(list, listStream, baseProfessional.getParentCode());
+                allList.addAll(listStream);
+            }
+        }
         // 将实体类转换为Vo类
         List<BaseProfessionalVo> allListVo = BeanUtils.entityListToVOList(allList, BaseProfessionalVo.class);
         List<BaseProfessionalVo> treeList = buildTree(allListVo);
@@ -92,6 +104,24 @@ public class BaseProfessionalServiceImpl extends ServiceImpl<BaseProfessionalMap
         return allList;
     }
 
+    /**
+     * 遍历list 是否存在当前数据code
+     */
+    public List<BaseProfessional> listStream(List<BaseProfessional> list, List<BaseProfessional> listStream, String parentCode) {
+        // 遍历数据父级code 在列表中是否存在;如果不存在查询code等于当前数据父级code的数据,放入列表
+        boolean check = list.stream().anyMatch(voList -> voList.getProfessionalCode().equals(parentCode));
+        if (!check) {
+            BaseProfessional baseProfessional = baseProfessionalMapper.selectByCode(parentCode);
+            if (StringUtils.isNotNull(baseProfessional)) {
+                listStream.add(baseProfessional);
+                if (!"0".equals(baseProfessional.getParentCode())) {
+                    listStream(list, listStream, baseProfessional.getParentCode());
+                }
+            }
+        }
+        return listStream;
+    }
+
     /**
      * 构建树形结构
      *

+ 119 - 0
purchase-system/src/main/java/com/ozs/home/domain/vo/HomeToDoQueryResVo.java

@@ -0,0 +1,119 @@
+package com.ozs.home.domain.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ozs.common.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 查询系统首页待办事项的返回数据对象
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@ApiModel("系统首页待办事项计划与项目数据融合对象")
+public class HomeToDoQueryResVo implements Serializable {
+
+    /**
+     * 季度计划id
+     */
+    private Long planPracticalId;
+    /**
+     * 年度计划id(年度计划审批后同步到季度计划)
+     */
+    private Long planYearId;
+    /**
+     * 项目id
+     */
+    private Long demandId;
+
+    /**
+     * 项目关联计划ID
+     */
+    @Excel(name = "计划ID")
+    @ApiModelProperty("计划ID")
+    private Long planId;
+
+    /**
+     * 采购单位(登录账号的单位名称)
+     */
+    @ApiModelProperty("采购单位(登录账号的单位名称)")
+    private String purchaseDeptName;
+
+
+    /**
+     * 项目名称
+     */
+    @Excel(name = "项目名称")
+    @ApiModelProperty("项目名称")
+    private String projectName;
+
+    /**
+     * 项目类型(0:装备类;1:物资类;2:服务类;3:工程类)
+     */
+    @Excel(name = "项目类型(0:装备类;1:物资类;2:服务类;3:工程类)")
+    @ApiModelProperty("项目类型(0:装备类;1:物资类;2:服务类;3:工程类)")
+    private String projectType;
+
+    /**
+     * 项目类型名(0:装备类;1:物资类;2:服务类;3:工程类)
+     */
+    @Excel(name = "项目类型名(0:装备类;1:物资类;2:服务类;3:工程类)")
+    @ApiModelProperty("项目类型名(0:装备类;1:物资类;2:服务类;3:工程类)")
+    private String projectTypeName;
+
+    /**
+     * 需求概况
+     */
+    @Excel(name = "需求概况")
+    @ApiModelProperty("需求概况")
+    private String demandOverview;
+
+    /**
+     * 概算金额(万元(保留小数点后两位)
+     */
+    @Excel(name = "概算金额(万元 保留小数点后两位")
+    @ApiModelProperty("概算金额(万元(保留小数点后两位)")
+    private BigDecimal evaluation;
+
+    /**
+     * 计划提报需求时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "计划提报需求时间")
+    @ApiModelProperty("计划提报需求时间")
+    private Date planDemandSubTime;
+
+    /**
+     * 计划完成采购时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "计划完成采购时间")
+    @ApiModelProperty("计划完成采购时间")
+    private Date planPurchaseFinishTime;
+
+    /**
+     * 计划交付时间-
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "计划交付时间", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty("计划交付时间")
+    private Date planDeliverTime;
+    /**
+     * 计划类型(0:季度计划,1:临时计划)
+     */
+    private Integer planType;
+    /**
+     * 提示信息
+     */
+    private String tipsMessage;
+}

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

@@ -111,6 +111,10 @@ public class PlanQuarter {
      * 退回原因--->审核不通过就是退回
      */
     private String refuseReason;
+    /**
+     * 滞后原因
+     */
+    private String delayReason;
     /**
      * 计划调整情况及理由--->如计划需要变更,在填写申请修改时需填写调整情况及理由,审核单位审核通过后显示
      */

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

@@ -103,6 +103,10 @@ public class PlanYears {
      * 退回原因--->审核不通过就是退回
      */
     private String refuseReason;
+    /**
+     * 滞后原因
+     */
+    private String delayReason;
     /**
      * 计划调整情况及理由--->如计划需要变更,在填写申请修改时需填写调整情况及理由,审核单位审核通过后显示
      */

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

@@ -123,12 +123,18 @@ public class PlanQuarterStandardVo extends PageVo {
     /**
      * 发函内容
      */
+    @ApiModelProperty(value = "发函内容")
     private String letterStr;
     /**
      * 退回原因--->审核不通过就是退回
      */
+    @ApiModelProperty(value = "退回原因")
     private String refuseReason;
-
+    /**
+     * 滞后原因
+     */
+    @ApiModelProperty(value = "滞后原因")
+    private String delayReason;
     /**
      * 备注
      */

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

@@ -125,7 +125,10 @@ public class PlanYearsStandardVo extends PageVo {
      */
     @ApiModelProperty(value = "退回原因")
     private String refuseReason;
-
+    /**
+     * 滞后原因
+     */
+    private String delayReason;
     /**
      * 备注
      */

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

@@ -129,7 +129,10 @@ public class PlanQuarterResponseVo implements Serializable {
      * 退回原因--->审核不通过就是退回
      */
     private String refuseReason;
-
+    /**
+     * 滞后原因
+     */
+    private String delayReason;
     /**
      * 已上传的关联附件信息
      */

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

@@ -94,6 +94,10 @@ public class PlanYearsResponseVo implements Serializable {
      * 退回原因--->审核不通过就是退回
      */
     private String refuseReason;
+    /**
+     * 滞后原因
+     */
+    private String delayReason;
     /**
      * 计划调整情况及理由--->如计划需要变更,在填写申请修改时需填写调整情况及理由,审核单位审核通过后显示
      */

+ 36 - 4
purchase-system/src/main/java/com/ozs/plan/service/PlanYearsService.java

@@ -7,8 +7,8 @@ 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.PlanQuarterResponseVo;
 import com.ozs.plan.doman.vo.responseVo.PlanYearsResponseVo;
-import com.ozs.system.domain.SysOperLog;
 
 import java.util.List;
 
@@ -152,56 +152,66 @@ public interface PlanYearsService extends IService<PlanYears> {
      * @return 结果
      */
     AjaxResult downLoadPlanFile(PlanYearsStandardVo yearsStandardVo);
+
     /**
      * 需求单位首页计划管理总数
+     *
      * @return
      */
     AjaxResult demandUnitPlanManagementTotal();
 
     /**
      * 采购管理部门首页计划管理总数
+     *
      * @return
      */
     AjaxResult purchasingManagementPurchasingManagementTotal();
 
     /**
      * 需求单位首页需求管理总数
+     *
      * @return
      */
     AjaxResult demandUnitDemandManagementTotal();
 
     /**
      * 采购管理部门首页需求管理总数
+     *
      * @return
      */
     AjaxResult purchasingManagementDemandManagementTotal();
 
     /**
      * 需求单位首页合同管理总数
+     *
      * @return
      */
     AjaxResult demandUnitContractManagementTotal();
 
     /**
      * 需求单位首页建设管理总数
+     *
      * @return
      */
     AjaxResult demandUnitConstructionManagementTotal();
 
     /**
      * 采购管理部门首页任务下达管理总数
+     *
      * @return
      */
     AjaxResult purchasingManagementTaskReleaseTotal();
 
     /**
      * 采购办首页采购执行管理总数
+     *
      * @return
      */
     AjaxResult procurementOfficeProcurementExecutionTotal();
 
     /**
      * 采购办首已中标项目理总数
+     *
      * @return
      */
     AjaxResult procurementOfficeWinningTheBidTotal();
@@ -214,16 +224,38 @@ public interface PlanYearsService extends IService<PlanYears> {
     AjaxResult procurementOfficeFailureToWinTheBidTotal();
 
     /**
-     * 查询需求单位待办事项(全部)
+     * 查询需求单位待办事项(计划待提交)
+     *
+     * @return
+     */
+    List<PlanQuarterResponseVo> planWaitCommit();
+
+    /**
+     * 采购管理部门首页待办事项(计划待审核)
+     *
+     * @return
+     */
+    List<PlanQuarterResponseVo> planWaitExamine();
+
+
+    /**
+     * 需求单位首页待办事项(全部)
      *
      * @return
      */
     AjaxResult demandUnitWillManipulateTotal();
 
     /**
-     * 查询需求单位待办事项(计划待提交)
+     * 采购办首页待办事项(发函催告)
+     *
+     * @return
+     */
+    List<PlanQuarterResponseVo> willSendLetter();
+
+    /**
+     * 采购管理部门首页待办事项(全部)
      *
      * @return
      */
-    AjaxResult planWaitCommit();
+    AjaxResult purchasingManagementWillManipulateTotal();
 }

+ 32 - 24
purchase-system/src/main/java/com/ozs/plan/service/impl/PlanQuarterServiceImpl.java

@@ -318,55 +318,59 @@ public class PlanQuarterServiceImpl implements PlanQuarterService {
         StringBuilder successMsg = new StringBuilder();
         StringBuilder failureMsg = new StringBuilder();
         //deptService
-        for (PlanQuarter ofYear : list) {
+        for (PlanQuarter planQuarter : list) {
             try {
                 //验证项目名称是否重复导入
                 //将录入信息中的值更改为要保存的数据
-                if (planQuarterMapper.countProjectName(ofYear.getProjectName()) == 0) {
+                if (planQuarterMapper.countProjectName(planQuarter.getProjectName()) == 0) {
                     //采购单位
-                    SysDept info = deptMapper.checkDeptNameOnlyOne(ofYear.getPurchaseDeptName());
+                    SysDept info = deptMapper.checkDeptNameOnlyOne(planQuarter.getPurchaseDeptName());
                     if (!ObjectUtils.isEmpty(info)) {
-                        ofYear.setPurchaseDeptId(String.valueOf(info.getDeptId()));
+                        planQuarter.setPurchaseDeptId(String.valueOf(info.getDeptId()));
                     } else {
                         ++failureNum;
-                        failureMsg.append("*" + failureNum + "*采购单位“" + ofYear.getPurchaseDeptName() + "”不存在");
+                        failureMsg.append("*" + failureNum + "*采购单位“" + planQuarter.getPurchaseDeptName() + "”不存在");
                     }
-                    ofYear.setProjectType(projectTypesMap.get(ofYear.getProjectType()));
-                    ofYear.setProjectStatus(ProjectStatus.PLANWAITCOMMIT.getCode());
-                    ofYear.setPurchaseMode(planPurchaseModesMap.get(ofYear.getPurchaseMode()));
+                    planQuarter.setProjectType(projectTypesMap.get(planQuarter.getProjectType()));
+                    planQuarter.setProjectStatus(ProjectStatus.PLANWAITCOMMIT.getCode());
+                    planQuarter.setPurchaseMode(planPurchaseModesMap.get(planQuarter.getPurchaseMode()));
                     //项目属性是多选字段
                     StringBuilder builder = new StringBuilder();
-                    if (ofYear.getProjectAttr().contains(",")) {
-                        String[] split = ofYear.getProjectAttr().split(",");
+                    if (planQuarter.getProjectAttr().contains(",")) {
+                        String[] split = planQuarter.getProjectAttr().split(",");
                         for (String s : split) {
-                            builder.append(projectAttributes.get(s) + ",");
+                            if (planQuarter.getProjectAttr().endsWith(s)) {
+                                builder.append(projectAttributes.get(s) + ",");
+                            } else {
+                                builder.append(projectAttributes.get(s));
+                            }
                         }
                     } else {
-                        builder.append(projectAttributes.get(ofYear.getProjectAttr()));
+                        builder.append(projectAttributes.get(planQuarter.getProjectAttr()));
                     }
-                    ofYear.setProjectAttr(builder.toString());
-                    ofYear.setPurchaseServices(purchaseServices.get(ofYear.getPurchaseServices()));
-                    ofYear.setIsExcess(isExcessOrNo(ofYear.getProjectType(), ofYear.getEvaluation()));
-                    ofYear.setCreated(String.valueOf(loginUser.getUserId()));
-                    ofYear.setCreateTime(new Date());
-                    planQuarterMapper.insertPlanQuarter(ofYear);
+                    planQuarter.setProjectAttr(builder.toString());
+                    planQuarter.setPurchaseServices(purchaseServices.get(planQuarter.getPurchaseServices()));
+                    planQuarter.setIsExcess(isExcessOrNo(planQuarter.getProjectType(), planQuarter.getEvaluation()));
+                    planQuarter.setCreated(String.valueOf(loginUser.getUserId()));
+                    planQuarter.setCreateTime(new Date());
+                    planQuarterMapper.insertPlanQuarter(planQuarter);
                     successNum++;
-                    successMsg.append("*" + successNum + "、项目 " + ofYear.getProjectName() + " 导入成功!");
+                    successMsg.append("*" + successNum + "、项目 " + planQuarter.getProjectName() + " 导入成功!");
                     //} else if (isUpdateSupport) {
                     //    PlanQuarter quarter = plan.get(0);
-                    //    BeanValidators.validateWithException(validator, ofYear);
+                    //    BeanValidators.validateWithException(validator, planQuarter);
                     //    quarter.setCreateTime(new Date());
                     //    quarter.setProjectStatus(ProjectStatus.PLANWAITCOMMIT.getCode());
                     //    planQuarterMapper.updateById(quarter);
                     //    successNum++;
-                    //    successMsg.append("<br/>" + successNum + "、项目 " + ofYear.getProjectName() + " 更新成功");
+                    //    successMsg.append("<br/>" + successNum + "、项目 " + planQuarter.getProjectName() + " 更新成功");
                 } else {
                     failureNum++;
-                    failureMsg.append(failureNum + "*项目 " + ofYear.getProjectName() + " 已存在!/n");
+                    failureMsg.append(failureNum + "*项目 " + planQuarter.getProjectName() + " 已存在!/n");
                 }
             } catch (Exception exc) {
                 failureNum++;
-                String msg = "*" + successNum + "*项目 " + ofYear.getProjectName() + " 导入失败";
+                String msg = "*" + successNum + "*项目 " + planQuarter.getProjectName() + " 导入失败";
                 failureMsg.append(msg + exc.getMessage());
                 log.error(msg, exc);
             }
@@ -581,7 +585,11 @@ public class PlanQuarterServiceImpl implements PlanQuarterService {
                     for (String s : split) {
                         for (Map.Entry<String, String> entry : projectAttributes.entrySet()) {
                             if (s.equals(entry.getValue())) {
-                                builder.append(entry.getKey() + ",");
+                                if (planQuarter.getProjectAttr().endsWith(s)) {
+                                    builder.append(entry.getKey());
+                                } else {
+                                    builder.append(entry.getKey() + ",");
+                                }
                                 break;
                             }
                         }

+ 144 - 14
purchase-system/src/main/java/com/ozs/plan/service/impl/PlanYearsServiceImpl.java

@@ -21,6 +21,7 @@ import com.ozs.common.utils.PageUtils;
 import com.ozs.common.utils.SecurityUtils;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.common.utils.bean.BeanUtils;
+import com.ozs.home.domain.vo.HomeToDoQueryResVo;
 import com.ozs.plan.doman.PlanQuarter;
 import com.ozs.plan.doman.PlanYears;
 import com.ozs.plan.doman.vo.requestVo.PlanYearsStandardVo;
@@ -30,7 +31,9 @@ import com.ozs.plan.mapper.PlanQuarterMapper;
 import com.ozs.plan.mapper.PlanYearsMapper;
 import com.ozs.plan.service.PlanYearsService;
 import com.ozs.pm.doman.PmDemand;
+import com.ozs.pm.doman.vo.responseVo.PmDemandResVo;
 import com.ozs.pm.mapper.PmDemandMapper;
+import com.ozs.pm.service.IPmDemandService;
 import com.ozs.system.domain.SysFileInfo;
 import com.ozs.system.domain.SysFileRef;
 import com.ozs.system.domain.vo.responseVo.SysDeptResponseVo;
@@ -67,7 +70,7 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
     @Autowired
     PlanYearsMapper planYearsMapper;
     @Autowired
-    PlanQuarterMapper planQuarterMapper;
+    private PlanQuarterMapper planQuarterMapper;
     @Autowired
     protected Validator validator;
     @Autowired
@@ -75,7 +78,7 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
     @Autowired
     private ISysDeptService deptService;
     @Autowired
-    SysFileRefMapper sysFileRefMapper;
+    private SysFileRefMapper sysFileRefMapper;
     @Autowired
     private SysDeptMapper deptMapper;
     @Autowired
@@ -88,6 +91,8 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
     private PmDemandMapper pmDemandMapper;
     @Autowired
     private PlanQuarterServiceImpl quartzServiceImpl;
+    @Autowired
+    private IPmDemandService demandService;
 
     @Override
     public Page selectPlanYearsList(PlanYearsStandardVo vo) {
@@ -354,7 +359,11 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
                     if (ofYear.getProjectAttr().contains(",")) {
                         String[] split = ofYear.getProjectAttr().split(",");
                         for (String s : split) {
-                            builder.append(projectAttributes.get(s) + ",");
+                            if (!ofYear.getProjectAttr().endsWith(s)) {
+                                builder.append(projectAttributes.get(s) + ",");
+                            } else {
+                                builder.append(projectAttributes.get(s));
+                            }
                         }
                     } else {
                         builder.append(projectAttributes.get(ofYear.getProjectAttr()));
@@ -801,36 +810,153 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
         return AjaxResult.success(pmDemands.size());
     }
 
+    /**
+     * 查询需求单位待办事项(计划待提交)
+     *
+     * @return
+     */
+    @Override
+    public List<PlanQuarterResponseVo> planWaitCommit() {
+        return getListByProjectStatus(ProjectStatus.PLANWAITCOMMIT.getCode());
+    }
+
+    /**
+     * 采购管理部门首页待办事项(计划待审核)
+     *
+     * @return
+     */
+    @Override
+    public List<PlanQuarterResponseVo> planWaitExamine() {
+        return getListByProjectStatus(ProjectStatus.PLANWAIEXAMINE.getCode());
+    }
+
+    /**
+     * 需求单位待办事项
+     */
     @Override
     public AjaxResult demandUnitWillManipulateTotal() {
-        return null;
+        List<HomeToDoQueryResVo> homeRes = new ArrayList<>();
+        //计划待提交,需求待提交,合同待填制,项目建设待完成
+        List<PlanQuarterResponseVo> planRes = getListByProjectStatus(ProjectStatus.PLANWAITCOMMIT.getCode());
+        List<PmDemandResVo> demandRes = demandService.demandWaitCommit();
+        List<PmDemandResVo> demandRes1 = demandService.contractWaitFilled();
+        List<PmDemandResVo> demandRes2 = demandService.projectWaitFinish();
+        //转为首页table展示数据
+        if (!ObjectUtils.isEmpty(planRes) && planRes.size() > 0) {
+            for (PlanQuarterResponseVo planVo : planRes) {
+                HomeToDoQueryResVo home = new HomeToDoQueryResVo();
+                BeanUtils.copyProperties(planVo, home);
+                homeRes.add(home);
+            }
+        }
+        if (!ObjectUtils.isEmpty(demandRes) && demandRes.size() > 0) {
+            for (PmDemandResVo demandResVo : demandRes) {
+                HomeToDoQueryResVo home = new HomeToDoQueryResVo();
+                BeanUtils.copyProperties(demandResVo, home);
+                homeRes.add(home);
+            }
+        }
+        if (!ObjectUtils.isEmpty(demandRes1) && demandRes1.size() > 0) {
+            for (PmDemandResVo demandResVo : demandRes1) {
+                HomeToDoQueryResVo home = new HomeToDoQueryResVo();
+                BeanUtils.copyProperties(demandResVo, home);
+                homeRes.add(home);
+            }
+        }
+        if (!ObjectUtils.isEmpty(demandRes2) && demandRes2.size() > 0) {
+            for (PmDemandResVo demandResVo : demandRes2) {
+                HomeToDoQueryResVo home = new HomeToDoQueryResVo();
+                BeanUtils.copyProperties(demandResVo, home);
+                homeRes.add(home);
+            }
+        }
+        return AjaxResult.success(homeRes);
+    }
+
+    @Override
+    public AjaxResult purchasingManagementWillManipulateTotal() {
+        List<HomeToDoQueryResVo> homeRes = new ArrayList<>();
+        //计划待审核,需求待审核,任务待下达
+        List<PlanQuarterResponseVo> planRes = getListByProjectStatus(ProjectStatus.PLANWAIEXAMINE.getCode());
+        List<PmDemandResVo> demandRes = demandService.demandWaitExamine();
+        List<PmDemandResVo> demandRes1 = demandService.taskWaitRelease();
+        //转为首页table展示数据
+        if (!ObjectUtils.isEmpty(planRes) && planRes.size() > 0) {
+            for (PlanQuarterResponseVo planVo : planRes) {
+                HomeToDoQueryResVo home = new HomeToDoQueryResVo();
+                BeanUtils.copyProperties(planVo, home);
+                homeRes.add(home);
+            }
+        }
+        if (!ObjectUtils.isEmpty(demandRes) && demandRes.size() > 0) {
+            for (PmDemandResVo demandResVo : demandRes) {
+                HomeToDoQueryResVo home = new HomeToDoQueryResVo();
+                BeanUtils.copyProperties(demandResVo, home);
+                homeRes.add(home);
+            }
+        }
+        if (!ObjectUtils.isEmpty(demandRes1) && demandRes1.size() > 0) {
+            for (PmDemandResVo demandResVo : demandRes1) {
+                HomeToDoQueryResVo home = new HomeToDoQueryResVo();
+                BeanUtils.copyProperties(demandResVo, home);
+                homeRes.add(home);
+            }
+        }
+        return AjaxResult.success(homeRes);
     }
 
     /**
-     * 查询需求单位待办事项(计划待提交)
+     * 查询已被催告发函的计划
      *
      * @return
      */
     @Override
-    public AjaxResult planWaitCommit() {
+    public List<PlanQuarterResponseVo> willSendLetter() {
+        LambdaQueryWrapper<PlanYears> yearsLp = new LambdaQueryWrapper<PlanYears>();
+        yearsLp.eq(PlanYears::getDelFlay, DataIsDelete.DataNOTDelete);
+        yearsLp.eq(PlanYears::getSendLetter, "1");
+        List<PlanYears> planYears = planYearsMapper.selectList(yearsLp);
+
+        LambdaQueryWrapper<PlanQuarter> quarterLp = new LambdaQueryWrapper<PlanQuarter>();
+        quarterLp.eq(PlanQuarter::getDelFlay, DataIsDelete.DataNOTDelete);
+        quarterLp.eq(PlanQuarter::getSendLetter, "1");
+        List<PlanQuarter> planQuarters = planQuarterMapper.selectList(quarterLp);
+        //融合一起
+        List<PlanQuarterResponseVo> vos = planComplex(planYears, planQuarters);
+        return vos;
+    }
+
+    public List<PlanQuarterResponseVo> getListByProjectStatus(String projectStatus) {
         LambdaQueryWrapper<PlanYears> yearsLp = new LambdaQueryWrapper<PlanYears>();
         yearsLp.eq(PlanYears::getDelFlay, DataIsDelete.DataNOTDelete);
-        yearsLp.eq(PlanYears::getProjectStatus, ProjectStatus.PLANWAITCOMMIT.getCode());
+        yearsLp.eq(PlanYears::getProjectStatus, projectStatus);
         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());
+        quarterLp.eq(PlanQuarter::getProjectStatus, projectStatus);
         List<PlanQuarter> planQuarters = planQuarterMapper.selectList(quarterLp);
+        //融合一起
+        List<PlanQuarterResponseVo> vos = planComplex(planYears, planQuarters);
+        return vos;
+    }
 
+    /**
+     * 年度计划与季度数据一起
+     *
+     * @return
+     */
+    public List<PlanQuarterResponseVo> planComplex(List<PlanYears> planYears, List<PlanQuarter> planQuarters) {
         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);
+        if (!ObjectUtils.isEmpty(yearsRes) && yearsRes.size() > 0) {
+            for (PlanYearsResponseVo yearsRe : yearsRes) {
+                PlanQuarterResponseVo responseVo = new PlanQuarterResponseVo();
+                BeanUtils.copyProperties(yearsRe, responseVo);
+                quarterRes.add(responseVo);
+            }
         }
-        return AjaxResult.success(quarterRes);
+        return quarterRes;
     }
 
     //判断是否为超额计划
@@ -893,7 +1019,11 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
                     for (String s : split) {
                         for (Map.Entry<String, String> entry : projectAttributes.entrySet()) {
                             if (s.equals(entry.getValue())) {
-                                builder.append(entry.getKey() + ",");
+                                if (!planYear.getProjectAttr().endsWith(s)) {
+                                    builder.append(entry.getKey() + ",");
+                                } else {
+                                    builder.append(entry.getKey());
+                                }
                                 break;
                             }
                         }

+ 71 - 8
purchase-system/src/main/java/com/ozs/pm/service/IPmDemandService.java

@@ -20,15 +20,14 @@ import java.util.List;
  * @author ruoyi
  * @date 2023-01-16
  */
-public interface IPmDemandService extends IService<PmDemand>
-{
+public interface IPmDemandService extends IService<PmDemand> {
     /**
      * 查询采购需求
      *
      * @param demandId 采购需求主键
      * @return 采购需求
      */
-    PmDemandResVo selectPmDemandByDemandId(Long demandId,String detailType);
+    PmDemandResVo selectPmDemandByDemandId(Long demandId, String detailType);
 
     /**
      * 查询采购需求列表
@@ -36,7 +35,7 @@ public interface IPmDemandService extends IService<PmDemand>
      * @param pmDemandReqVo 采购需求
      * @return 采购需求集合
      */
-    IPage<PmDemandResVo> selectPmDemandList(PmDemandReqVo pmDemandReqVo,int reqType);
+    IPage<PmDemandResVo> selectPmDemandList(PmDemandReqVo pmDemandReqVo, int reqType);
 
 
     /**
@@ -95,7 +94,7 @@ public interface IPmDemandService extends IService<PmDemand>
      */
     boolean releaseTask(PmDemandReqVo pmDemandReqVo);
 
-    boolean uploadFile(Long redId,Integer fileType, List<SysFileRef> sysFileRefs,String upateBy);
+    boolean uploadFile(Long redId, Integer fileType, List<SysFileRef> sysFileRefs, String upateBy);
 
     boolean insertPmReleaseAnnouncement(PmReleaseAnnouncementReqVo pmReleaseAnnouncementReqVo) throws Exception;
 
@@ -117,6 +116,7 @@ public interface IPmDemandService extends IService<PmDemand>
 
     /**
      * 通过需求ID列表 查询采购执行列表 sunhh
+     *
      * @param demandIdList
      * @return
      */
@@ -135,19 +135,82 @@ public interface IPmDemandService extends IService<PmDemand>
      *
      * @return
      */
-    AjaxResult demandWaitCommit();
+    List<PmDemandResVo> demandWaitCommit();
 
     /**
      * 查询需求单位首页待办事项(合同待填制)
      *
      * @return
      */
-    AjaxResult contractWaitFilled();
+    List<PmDemandResVo> contractWaitFilled();
 
     /**
      * 查询需求单位首页待办事项(项目建设待完成)
      *
      * @return
      */
-    AjaxResult projectWaitFinish();
+    List<PmDemandResVo> projectWaitFinish();
+
+    /**
+     * 采购管理部门首页待办事项(需求待审核)
+     *
+     * @return
+     */
+    List<PmDemandResVo> demandWaitExamine();
+
+    /**
+     * 采购管理部门首页待办事项(任务待下达)
+     *
+     * @return
+     */
+    List<PmDemandResVo> taskWaitRelease();
+
+    /**
+     * 采购管理部门首页待办事项(待选取代理)
+     *
+     * @return
+     */
+    List<PmDemandResVo> waitSelectAgent();
+
+    /**
+     * 采购管理部门首页待办事项(待上传招标文件)
+     *
+     * @return
+     */
+    List<PmDemandResVo> waitUpBidFile();
+
+    /**
+     * 采购管理部门首页待办事项(待发布公告)
+     *
+     * @return
+     */
+    List<PmDemandResVo> waitAnnouncement();
+
+    /**
+     * 采购管理部门首页待办事项(待开标)
+     *
+     * @return
+     */
+    List<PmDemandResVo> waitOpenBid();
+
+    /**
+     * 采购管理部门首页待办事项(待发布中标公告)
+     *
+     * @return
+     */
+    List<PmDemandResVo> waitBidAnnouncement();
+
+    /**
+     * 采购管理部门首页待办事项(中标公示中)
+     *
+     * @return
+     */
+    List<PmDemandResVo> biddingPublicity();
+
+    /**
+     * 采购管理部门首页待办事项(全部)
+     *
+     * @return
+     */
+    AjaxResult procurementOfficeWillManipulateTotal();
 }

+ 78 - 8
purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java

@@ -16,6 +16,9 @@ import com.ozs.common.utils.DateUtils;
 import com.ozs.common.utils.RandomUtil;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.common.utils.bean.BeanUtils;
+import com.ozs.home.domain.vo.HomeToDoQueryResVo;
+import com.ozs.plan.doman.vo.responseVo.PlanQuarterResponseVo;
+import com.ozs.plan.service.PlanYearsService;
 import com.ozs.pm.doman.*;
 
 import com.ozs.pm.doman.vo.requestVo.*;
@@ -66,7 +69,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
 
     @Autowired
     private PmBookBuildingService pmBookBuildingService;
-    
+
     @Autowired
     private PmBidWinningService pmBidWinningService;
     @Autowired
@@ -88,6 +91,9 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
     @Autowired
     private BaseNoticeService baseNoticeService;
 
+    @Autowired
+    private PlanYearsService planYearsService;
+
     @Autowired
     private ISysRegionService iSysRegionService;
 
@@ -99,7 +105,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
      * @return 采购需求
      */
     @Override
-    public PmDemandResVo selectPmDemandByDemandId(Long demandId,String detailType) {
+    public PmDemandResVo selectPmDemandByDemandId(Long demandId, String detailType) {
         PmDemand pmDemand = this.getById(demandId);
         if(pmDemand != null){
             PmDemandResVo vo = new PmDemandResVo();
@@ -183,7 +189,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
                 if(pmBookBuilding != null){
                     PmBookBuildingResVo responseVo = new PmBookBuildingResVo();
                     BeanUtils.copyProperties(pmBookBuilding,responseVo);
-                   
+
                     HashMap<String, String> fileMap1 = getFileMap(demandId,SysFileRefEnum.PM_BOOK_BUILDING.getType());
                     if(fileMap1 != null){
                         responseVo.setFileMap(fileMap1);
@@ -1208,22 +1214,86 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
     }
 
     @Override
-    public AjaxResult demandWaitCommit() {
+    public List<PmDemandResVo> demandWaitCommit() {
         return getListByStatus(PmProjectStatus.DEMAND_WAIT_COMMIT.getCode());
     }
 
     @Override
-    public AjaxResult contractWaitFilled() {
+    public List<PmDemandResVo> contractWaitFilled() {
         return getListByStatus(PmProjectStatus.CONTRACT_WAIT_FILL.getCode());
     }
 
     @Override
-    public AjaxResult projectWaitFinish() {
+    public List<PmDemandResVo> projectWaitFinish() {
         return getListByStatus(PmProjectStatus.UNDER_CONSTRUCTION.getCode());
     }
 
+    @Override
+    public List<PmDemandResVo> demandWaitExamine() {
+        return getListByStatus(PmProjectStatus.DEMAND_WAIT_AUDIT.getCode());
+    }
+
+    @Override
+    public List<PmDemandResVo> taskWaitRelease() {
+        return getListByStatus(PmProjectStatus.TASK_WAIT_RELEASE.getCode());
+    }
+
+    @Override
+    public List<PmDemandResVo> waitSelectAgent() {
+        return getListByStatus(PmProjectStatus.WAIT_SELECT_AGENT.getCode());
+    }
+
+    @Override
+    public List<PmDemandResVo> waitUpBidFile() {
+        return getListByStatus(PmProjectStatus.WAIT_UPLOAD_BID_FILE.getCode());
+    }
+
+    @Override
+    public List<PmDemandResVo> waitAnnouncement() {
+        return getListByStatus(PmProjectStatus.WAIT_ANNOUNCEMENT.getCode());
+    }
+
+    @Override
+    public List<PmDemandResVo> waitOpenBid() {
+        return getListByStatus(PmProjectStatus.WAIT_OPEN_BID.getCode());
+    }
+
+    @Override
+    public List<PmDemandResVo> waitBidAnnouncement() {
+        return getListByStatus(PmProjectStatus.WAIT_BID_ANNOUNCEMENT.getCode());
+    }
+
+    @Override
+    public List<PmDemandResVo> biddingPublicity() {
+        return getListByStatus(PmProjectStatus.BIDDING_PUBLICITY.getCode());
+    }
+
+    @Override
+    public AjaxResult procurementOfficeWillManipulateTotal() {
+        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()));
+        //计划数据--发函催告
+        List<PlanQuarterResponseVo> planRes = planYearsService.willSendLetter();
+        //转为首页table展示数据
+        if (!ObjectUtils.isEmpty(planRes) && planRes.size() > 0) {
+            for (PlanQuarterResponseVo planVo : planRes) {
+                HomeToDoQueryResVo home = new HomeToDoQueryResVo();
+                BeanUtils.copyProperties(planVo, home);
+                homeRes.add(home);
+            }
+        }
+        return AjaxResult.success(homeRes);
+    }
+
     //查询不同状态下的项目数据
-    public AjaxResult getListByStatus(String projectStatus) {
+    public List<PmDemandResVo> getListByStatus(String projectStatus) {
         LambdaQueryWrapper<PmDemand> lw = new LambdaQueryWrapper<PmDemand>();
         lw.eq(PmDemand::getProjectStatus, projectStatus);
         List<PmDemand> demandList = this.baseMapper.selectList(lw);
@@ -1232,7 +1302,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
         if (!ObjectUtils.isEmpty(demandList) && demandList.size() > 0) {
             pmDemandResponseVoList = demandChangeTo(demandList);
         }
-        return AjaxResult.success(pmDemandResponseVoList);
+        return pmDemandResponseVoList;
     }
 
     //字段转换and赋值

+ 20 - 11
purchase-system/src/main/resources/mapper/base/BaseProfessionalMapper.xml

@@ -17,13 +17,13 @@
         select * from base_professional
         <where>
             <if test="professionalName != null and professionalName != ''">
-                professional_name like '% +' #{professionalName} '+ %',
+                and professional_name like concat("%", #{professionalName}, "%")
             </if>
             <if test="professionalCode != null and professionalCode != ''">
-                professional_code = #{professionalCode},
+                and professional_code = #{professionalCode}
             </if>
             <if test="professionalGrade != null and professionalGrade != ''">
-                professional_grade = #{professionalGrade}
+                and professional_grade = #{professionalGrade}
             </if>
         </where>
     </select>
@@ -32,13 +32,13 @@
         select * from base_professional
         <where>
             <if test="professionalName != null and professionalName != ''">
-                professional_name like '% +' #{professionalName} '+ %',
+                and professional_name like concat("%", #{professionalName}, "%")
             </if>
             <if test="professionalCode != null and professionalCode != ''">
-                professional_code = #{professionalCode},
+                and professional_code = #{professionalCode}
             </if>
             <if test="professionalGrade != null and professionalGrade != ''">
-                professional_grade = #{professionalGrade}
+                and professional_grade = #{professionalGrade}
             </if>
         </where>
     </select>
@@ -59,10 +59,10 @@
         select * from base_professional
         <where>
             <if test="professionalName != null and professionalName != ''">
-                professional_name = #{professionalName},
+                and professional_name = #{professionalName}
             </if>
             <if test="professionalCode != null and professionalCode != ''">
-                parent_code = #{professionalCode},
+                and parent_code = #{professionalCode}
             </if>
         </where>
     </select>
@@ -71,7 +71,7 @@
         select * from base_professional
         <where>
             <if test="professionalCode != null and professionalCode != ''">
-                professional_code = #{professionalCode}
+                and professional_code = #{professionalCode}
             </if>
         </where>
     </select>
@@ -80,7 +80,7 @@
         select * from base_professional
         <where>
             <if test="professionalName != null and professionalName != ''">
-                professional_name = #{professionalName}
+                and professional_name = #{professionalName}
             </if>
         </where>
     </select>
@@ -89,7 +89,16 @@
         select * from base_professional
         <where>
             <if test="parentCode != null and parentCode != ''">
-                parent_code = #{parentCode}
+                and parent_code = #{parentCode}
+            </if>
+        </where>
+    </select>
+
+    <select id="selectByCode" parameterType="java.lang.String" resultType="com.ozs.base.domain.BaseProfessional">
+        select * from base_professional
+        <where>
+            <if test="parentCode != null and parentCode != ''">
+                and professional_code = #{parentCode}
             </if>
         </where>
     </select>

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

@@ -20,6 +20,7 @@
         <result property="plan_deliver_time" column="planDeliverTime"/>
         <result property="project_attr" column="projectAttr"/>
         <result property="adjust_reason" column="adjustReason"/>
+        <result property="delay_reason" column="delayReason"/>
         <result property="remarks" column="remarks"/>
         <result property="project_status" column="projectStatus"/>
         <result property="send_letter" column="sendLetter"/>

+ 1 - 0
purchase-system/src/main/resources/mapper/plan/PlanYearsMapper.xml

@@ -19,6 +19,7 @@
 		<result property="plan_deliver_time" column="planDeliverTime"/>
 		<result property="project_attr" column="projectAttr"/>
 		<result property="adjust_reason" column="adjustReason"/>
+		<result property="delay_reason" column="delayReason"/>
 		<result property="remarks" column="remarks"/>
 		<result property="project_status" column="projectStatus"/>
 		<result property="send_letter" column="sendLetter"/>