Selaa lähdekoodia

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	purchase-system/src/main/java/com/ozs/pm/mapper/PmDemandExpertRefMapper.java
#	purchase-system/src/main/java/com/ozs/pm/service/PmDemandExpertRefService.java
#	purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandExpertRefServiceImpl.java
#	purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java
#	purchase-system/src/main/resources/mapper/pm/PmDemandExpertRefMapper.xml
suntianwu 2 vuotta sitten
vanhempi
commit
c2fabd2f5c

+ 23 - 0
purchase-admin/src/main/java/com/ozs/web/controller/base/BaseExpertController.java

@@ -108,4 +108,27 @@ public class BaseExpertController extends BaseController {
 //        }
         return toAjax(baseExpertService.updateSupplierType(baseExpert));
     }
+
+    @ApiOperation(value = "评审项目", notes = "必传:分页,专家ID")
+    @PostMapping("/selectReviewProject")
+    public AjaxResult selectReviewProject(@RequestBody BaseExpertVo baseExpertVo) {
+        if (StringUtils.isNull(baseExpertVo)
+                || StringUtils.isNull(baseExpertVo.getPageNum())
+                || StringUtils.isNull(baseExpertVo.getPageSize())
+                || StringUtils.isNull(baseExpertVo.getId())) {
+            return error("专家ID、分页 不能为空");
+        }
+        return baseExpertService.selectReviewProject(baseExpertVo);
+    }
+
+    @ApiOperation(value = "抽取专家", notes = "必传:分页;非必传:专家名称,开始结束时间")
+    @PostMapping("/selectExtractionExpert")
+    public AjaxResult selectExtractionExpert(@RequestBody BaseExpertVo baseExpertVo) {
+        if (StringUtils.isNull(baseExpertVo)
+                || StringUtils.isNull(baseExpertVo.getPageNum())
+                || StringUtils.isNull(baseExpertVo.getPageSize())) {
+            return error("分页 不能为空");
+        }
+        return baseExpertService.selectExtractionExpert(baseExpertVo);
+    }
 }

+ 10 - 0
purchase-system/src/main/java/com/ozs/base/domain/vo/BaseExpertVo.java

@@ -6,8 +6,18 @@ import com.ozs.common.vo.PageVo;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.Date;
+
 @Data
 public class BaseExpertVo extends PageVo {
+
+    /**
+     * 查询抽取专家列表条件:项目名称,开始时间,结束时间
+     */
+    private String projectName;
+    private Date startTime;
+    private Date endTime;
+
     /**
      * 主键ID
      */

+ 6 - 0
purchase-system/src/main/java/com/ozs/base/service/BaseExpertService.java

@@ -3,9 +3,15 @@ package com.ozs.base.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ozs.base.domain.BaseAgency;
 import com.ozs.base.domain.BaseExpert;
+import com.ozs.base.domain.vo.BaseExpertVo;
+import com.ozs.common.core.domain.AjaxResult;
 
 public interface BaseExpertService  extends IService<BaseExpert> {
     int insertExpert(BaseExpert baseExpert);
 
     int updateSupplierType(BaseExpert baseExpert);
+
+    AjaxResult selectReviewProject(BaseExpertVo baseExpertVo);
+
+    AjaxResult selectExtractionExpert(BaseExpertVo baseExpertVo);
 }

+ 121 - 4
purchase-system/src/main/java/com/ozs/base/service/impl/BaseExpertServiceImpl.java

@@ -1,31 +1,58 @@
 package com.ozs.base.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ozs.base.domain.BaseAgency;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import com.ozs.base.domain.BaseExpert;
 import com.ozs.base.domain.BaseUnitInformation;
+import com.ozs.base.domain.vo.BaseExpertVo;
 import com.ozs.base.mapper.BaseExpertMapper;
-import com.ozs.base.mapper.BaseSupplierMapper;
 import com.ozs.base.service.BaseExpertService;
-import com.ozs.common.core.domain.model.LoginUser;
+import com.ozs.common.core.domain.AjaxResult;
+import com.ozs.common.enums.*;
 import com.ozs.common.utils.StringUtils;
+import com.ozs.common.utils.bean.BeanUtils;
+import com.ozs.plan.doman.PlanQuarter;
+import com.ozs.plan.doman.ProvisionalPlan;
+import com.ozs.pm.doman.PmDemand;
+import com.ozs.pm.doman.PmDemandExpertRef;
+import com.ozs.pm.doman.vo.responseVo.PmDemandResVo;
+import com.ozs.pm.service.IPmDemandService;
+import com.ozs.pm.service.PmDemandExpertRefService;
+import com.ozs.system.domain.vo.responseVo.SysDeptResponseVo;
+import com.ozs.system.service.ISysDeptService;
+import com.ozs.system.service.ISysDictDataService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 @Service
 public class BaseExpertServiceImpl extends ServiceImpl<BaseExpertMapper, BaseExpert> implements BaseExpertService {
 
     @Autowired
     private BaseExpertMapper baseExpertMapper;
+    @Autowired
+    private PmDemandExpertRefService pmDemandExpertRefService;
+    @Autowired
+    private IPmDemandService pmDemandService;
+    @Autowired
+    private ISysDeptService deptService;
+    @Autowired
+    private ISysDictDataService dictDataService;
 
     @Override
     public int insertExpert(BaseExpert baseExpert) {
         // base_unit_information 单位信息表
-        if(StringUtils.isNotNull(baseExpert.getUnitInformation())) {
+        if (StringUtils.isNotNull(baseExpert.getUnitInformation())) {
             List<BaseUnitInformation> baseUnitInformationList = baseExpertMapper.selectByUnitInformation(baseExpert.getUnitInformation());
             if (baseUnitInformationList.size() <= 0) {
                 BaseUnitInformation baseUnitInformation = new BaseUnitInformation();
@@ -48,4 +75,94 @@ public class BaseExpertServiceImpl extends ServiceImpl<BaseExpertMapper, BaseExp
                 .set(BaseExpert::getStatus, baseExpert.getStatus());
         return baseExpertMapper.update(null, lambdaUpdateWrapper);
     }
+
+    @Override
+    public AjaxResult selectReviewProject(BaseExpertVo baseExpertVo) {
+        // 通过专家ID查询 与专家库关联的采购执行管理ID
+        List<Integer> demandIdList = pmDemandExpertRefService.selectByExpertId(baseExpertVo.getId());
+        if (demandIdList.size() == 0) {
+            return AjaxResult.error("当前专家还有有被抽取!");
+        }
+        List<PmDemand> pmDemandList = pmDemandService.selectByDemandIdList(demandIdList);
+        List<PmDemandResVo> pmDemandResponseVoList = changTo(pmDemandList);
+        PageHelper.startPage(baseExpertVo.getPageNum().intValue(), baseExpertVo.getPageSize().intValue());
+        PageInfo<PmDemandResVo> pageInfo = new PageInfo<>(pmDemandResponseVoList);
+        return AjaxResult.success(pageInfo);
+    }
+
+    @Override
+    public AjaxResult selectExtractionExpert(BaseExpertVo baseExpertVo) {
+        List<PmDemand> pmDemandList = pmDemandService.selectExtractionExpert(baseExpertVo);
+        List<PmDemandResVo> pmDemandResponseVoList = changTo(pmDemandList);
+        PageHelper.startPage(baseExpertVo.getPageNum().intValue(), baseExpertVo.getPageSize().intValue());
+        PageInfo<PmDemandResVo> pageInfo = new PageInfo<>(pmDemandResponseVoList);
+        return AjaxResult.success(pageInfo);
+    }
+
+    private List<PmDemandResVo> changTo(List<PmDemand> pmDemandList) {
+        List<PmDemandResVo> pmDemandResponseVoList = new ArrayList<>();
+        if (pmDemandList != null && pmDemandList.size() > 0) {
+            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;
+    }
 }

+ 2 - 4
purchase-system/src/main/java/com/ozs/pm/mapper/PmDemandExpertRefMapper.java

@@ -2,10 +2,6 @@ package com.ozs.pm.mapper;
 
 import com.ozs.pm.doman.PmDemandExpertRef;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ozs.pm.doman.vo.responseVo.PmBaseExpertResVo;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
 
 
 /**
@@ -15,5 +11,7 @@ import java.util.List;
  * @since 2023-02-03 15:37:07
  */
 public interface PmDemandExpertRefMapper extends BaseMapper<PmDemandExpertRef> {
+
+    List<Integer> selectByExpertId(@Param("expertId") Integer expertId);
     List<PmBaseExpertResVo> getPmBaseExpertResVoList(@Param("projectName") Long demnadId);
 }

+ 50 - 1
purchase-system/src/main/java/com/ozs/pm/mapper/PmDemandMapper.java

@@ -2,8 +2,11 @@ package com.ozs.pm.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
+import com.ozs.base.domain.vo.BaseExpertVo;
 import com.ozs.pm.doman.PmDemand;
+import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
 
 
 /**
@@ -12,5 +15,51 @@ import com.ozs.pm.doman.PmDemand;
  * @author ruoyi
  * @date 2023-01-16
  */
-public interface PmDemandMapper extends BaseMapper<PmDemand> {
+public interface PmDemandMapper extends BaseMapper<PmDemand>
+{
+    /**
+     * 查询采购需求
+     * 
+     * @param demandId 采购需求主键
+     * @return 采购需求
+     */
+    public PmDemand selectPmDemandByDemandId(Long demandId);
+
+    /**
+     * 查询采购需求列表
+     * 
+     * @param pmDemand 采购需求
+     * @return 采购需求集合
+     */
+    public List<PmDemand> selectPmDemandList(PmDemand pmDemand);
+
+    /**
+     * 新增采购需求
+     * 
+     * @param pmDemand 采购需求
+     * @return 结果
+     */
+    public int insertPmDemand(PmDemand pmDemand);
+
+    /**
+     * 修改采购需求
+     * 
+     * @param pmDemand 采购需求
+     * @return 结果
+     */
+    public int updatePmDemand(PmDemand pmDemand);
+
+    /**
+     * 通过需求ID列表,查询采购执行列表 sunhh
+     * @param demandIdList
+     * @return
+     */
+    List<PmDemand> selectByDemandIdList(@Param("demandIdList") List<Integer> demandIdList);
+
+    /**
+     * 专家库--查询抽取专家列表 非必传条件:专家名称,开始结束时间 sunhh
+     * @param baseExpertVo
+     * @return
+     */
+    List<PmDemand> selectExtractionExpert(BaseExpertVo baseExpertVo);
 }

+ 14 - 0
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.base.domain.vo.BaseExpertVo;
 import com.ozs.pm.doman.PmDemand;
 import com.ozs.pm.doman.vo.requestVo.*;
 import com.ozs.pm.doman.vo.responseVo.PmDemandResVo;
@@ -113,4 +114,17 @@ public interface IPmDemandService extends IService<PmDemand>
 
     boolean insertProjectConstruction(PmProjectConstructionReqVo pmProjectConstructionReqVo) throws Exception;
 
+    /**
+     * 通过需求ID列表 查询采购执行列表 sunhh
+     * @param demandIdList
+     * @return
+     */
+    List<PmDemand> selectByDemandIdList(List<Integer> demandIdList);
+
+    /**
+     * 专家库--查询抽取专家列表 非必传条件:专家名称,开始结束时间 sunhh
+     * @param baseExpertVo
+     * @return
+     */
+    List<PmDemand> selectExtractionExpert(BaseExpertVo baseExpertVo);
 }

+ 2 - 3
purchase-system/src/main/java/com/ozs/pm/service/PmDemandExpertRefService.java

@@ -2,9 +2,6 @@ package com.ozs.pm.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ozs.pm.doman.PmDemandExpertRef;
-import com.ozs.pm.doman.vo.responseVo.PmBaseExpertResVo;
-
-import java.util.List;
 
 /**
  * 项目专家关联表(PmDemandExpertRef)表服务接口
@@ -13,5 +10,7 @@ import java.util.List;
  * @since 2023-02-03 15:37:07
  */
 public interface PmDemandExpertRefService extends IService<PmDemandExpertRef> {
+
+    List<Integer> selectByExpertId(Integer id);
     List<PmBaseExpertResVo> getPmBaseExpertResVoList(Long demnadId);
 }

+ 8 - 3
purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandExpertRefServiceImpl.java

@@ -1,14 +1,11 @@
 package com.ozs.pm.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ozs.pm.doman.vo.responseVo.PmBaseExpertResVo;
 import com.ozs.pm.mapper.PmDemandExpertRefMapper;
 import com.ozs.pm.doman.PmDemandExpertRef;
 import com.ozs.pm.service.PmDemandExpertRefService;
 import org.springframework.stereotype.Service;
 
-import java.util.List;
-
 /**
  * 项目专家关联表(PmDemandExpertRef)表服务实现类
  *
@@ -17,6 +14,14 @@ import java.util.List;
  */
 @Service
 public class PmDemandExpertRefServiceImpl extends ServiceImpl<PmDemandExpertRefMapper, PmDemandExpertRef> implements PmDemandExpertRefService {
+
+    @Autowired
+    private PmDemandExpertRefMapper pmDemandExpertRefMapper;
+
+    @Override
+    public List<Integer> selectByExpertId(Integer expertId) {
+        return pmDemandExpertRefMapper.selectByExpertId(expertId);
+    }
     public List<PmBaseExpertResVo> getPmBaseExpertResVoList(Long demnadId){
         return this.baseMapper.getPmBaseExpertResVoList(demnadId);
     }

+ 33 - 13
purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java

@@ -7,8 +7,13 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ozs.base.domain.*;
-import com.ozs.base.service.*;
+import com.ozs.base.domain.BaseAgency;
+import com.ozs.base.domain.BaseExpert;
+import com.ozs.base.domain.BaseSupplier;
+import com.ozs.base.domain.BaseUnitInformation;
+import com.ozs.base.service.BaseAgencyService;
+import com.ozs.base.service.BaseExpertService;
+import com.ozs.base.service.BaseSupplierService;
 import com.ozs.common.enums.*;
 import com.ozs.common.utils.DateUtils;
 import com.ozs.common.utils.RandomUtil;
@@ -90,14 +95,10 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
     @Autowired
     private BaseAgencyService baseAgencyService;
 
-    @Autowired
-    private BaseNoticeService baseNoticeService;
-    @Autowired
-    private BaseNoticeTypeService baseNoticeTypeService;
-
     @Autowired
     private PmProjectConstructionService pmProjectConstructionService;
 
+
     /**
      * 查询采购需求
      *
@@ -423,11 +424,10 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
                     }
 
                     //合同信息文件
-                    HashMap<String, String> pmContractInfoFileMap = getFileMap(pmContractInfo.getId(),SysFileRefEnum.PM_CONTRACT_INFO.getType());
+                    HashMap<String, String> pmContractInfoFileMap = getFileMap(vo.getDemandId(),SysFileRefEnum.PM_CONTRACT_INFO.getType());
                     if(pmContractInfoFileMap != null){
                         pmContractInfoResVo.setFileMap(pmContractInfoFileMap);
                     }
-
                     vo.setPmContractInfoResVo(pmContractInfoResVo);
                 }
             } else if("6".equals(detailType)) { //建设情况
@@ -439,7 +439,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
                     BeanUtils.copyProperties(pmProjectConstruction,pmProjectConstructionResVo);
 
                     //建设情况文件
-                    HashMap<String, String> projectConstructionFileMap = getFileMap(pmProjectConstruction.getId(),SysFileRefEnum.PM_PROJECT_CONSTRUCTION.getType());
+                    HashMap<String, String> projectConstructionFileMap = getFileMap(vo.getDemandId(),SysFileRefEnum.PM_PROJECT_CONSTRUCTION.getType());
                     if(projectConstructionFileMap != null){
                         pmProjectConstructionResVo.setFileMap(projectConstructionFileMap);
                     }
@@ -488,11 +488,11 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
         } else  if(reqType== 2) { //任务下达列表
             lw.apply("(project_status = 8 or project_status = 9 )");
         } else  if(reqType== 3) { //采购执行列表
-            lw.apply("(project_status = 9 or project_status = 10 or project_status = 11 or project_status = 12 or project_status = 13 or project_status = 14 or project_status = 15)");
+            lw.apply("(project_status = 9 or project_status = 10 )");
         } else  if(reqType== 4) { //合同信息列表
-            lw.apply("(project_status = 15 or project_status = 16 )");
+            lw.apply("(project_status = 10 or project_status = 11 )");
         }  else  if(reqType== 5) { //项目建设列表
-            lw.apply("(project_status = 16 or project_status = 17 )");
+            lw.apply("(project_status = 11 or project_status = 12 )");
         }
 
         IPage<PmDemand> pageRes = this.page(new Page<>(pmDemandReqVo.getPageNum(), pmDemandReqVo.getPageSize()), lw);
@@ -1568,4 +1568,24 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
             return false;
         }
     }
+
+    /**
+     * 通过需求ID列表 查询采购执行列表 sunhh
+     * @param demandIdList
+     * @return
+     */
+    @Override
+    public List<PmDemand> selectByDemandIdList(List<Integer> demandIdList) {
+        return pmDemandMapper.selectByDemandIdList(demandIdList);
+    }
+
+    /**
+     * 专家库--查询抽取专家列表 非必传条件:专家名称,开始结束时间 sunhh
+     * @param baseExpertVo
+     * @return
+     */
+    @Override
+    public List<PmDemand> selectExtractionExpert(BaseExpertVo baseExpertVo) {
+        return pmDemandMapper.selectExtractionExpert(baseExpertVo);
+    }
 }

+ 4 - 0
purchase-system/src/main/resources/mapper/pm/PmDemandExpertRefMapper.xml

@@ -1,6 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ozs.pm.mapper.PmDemandExpertRefMapper">
+
+    <select id="selectByExpertId" resultType="java.lang.Integer" parameterType="java.lang.Integer">
+        select demand_id from pm_demand_expert_ref where expert_id = #{expertId}
+    </select>
     <select id="getPmBaseExpertResVoList" resultType="com.ozs.pm.doman.vo.responseVo.PmBaseExpertResVo">
         SELECT
         t.demand_id as demandId,

+ 22 - 2
purchase-system/src/main/resources/mapper/pm/PmDemandMapper.xml

@@ -1,7 +1,27 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ozs.pm.mapper.PmDemandMapper">
 
+    <select id="selectByDemandIdList" parameterType="java.util.List" resultType="com.ozs.pm.doman.PmDemand">
+        select * from pm_demand where project_status = 15 and demand_id in
+        <foreach item="item" collection="demandIdList" separator="," open="(" close=")" index="">
+            #{item}
+        </foreach>
+    </select>
+
+    <select id="selectExtractionExpert" parameterType="com.ozs.base.domain.vo.BaseExpertVo"
+            resultType="com.ozs.pm.doman.PmDemand">
+        select * from pm_demand where project_status = 13
+        <if test="projectName != null and projectName != ''">
+            and project_name like '%' + #{projectName} + '%'
+        </if>
+        <if test="startTime != null  "><!-- 开始时间检索 -->
+            and date_format(plan_demand_sub_time,'%y%m%d') &gt;= date_format(#{startTime},'%y%m%d')
+        </if>
+        <if test="endTime != null  "><!-- 结束时间检索 -->
+            and date_format(plan_demand_sub_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
+        </if>
+    </select>
 </mapper>