重点作业重点工程相关

main
zhaokai 2026-03-30 09:09:58 +08:00
parent 0a18d191e0
commit 051ed17221
15 changed files with 473 additions and 47 deletions

View File

@ -1,15 +1,13 @@
package com.zcloud.key.project.web.project;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.Response;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.key.project.api.project.KeyProjectServiceI;
import com.zcloud.key.project.domain.enums.KeyProjectApplyStatusEnum;
import com.zcloud.key.project.dto.clientobject.project.CorpStatisticsCO;
import com.zcloud.key.project.dto.clientobject.project.KeyProjectCO;
import com.zcloud.key.project.dto.clientobject.project.KeyProjectStatisticsCO;
import com.zcloud.key.project.dto.clientobject.project.XgfCorpStatisticsCO;
import com.zcloud.key.project.dto.clientobject.project.*;
import com.zcloud.key.project.dto.project.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -17,6 +15,8 @@ import lombok.AllArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
/**
* web-adapter
*
@ -56,11 +56,11 @@ public class KeyProjectController {
return keyProjectService.pageConfirm(qry);
}
/*@ApiOperation("所有数据")
@GetMapping("/listAll")
public MultiResponse<KeyProjectCO> listAll() {
return MultiResponse.of(new ArrayList<KeyProjectCO>());
}*/
@ApiOperation("重点作业所有数据")
@PostMapping("/listAll")
public MultiResponse<KeyProjectCO> listAll(@RequestBody KeyProjectQry qry) {
return MultiResponse.of( keyProjectService.listAll(qry));
}
@ApiOperation("重点作业详情")
@GetMapping("/{id}")
@ -119,7 +119,11 @@ public class KeyProjectController {
return keyProjectService.xgfCorpStatistics(qry);
}
@ApiOperation("根据部门获取部门下相关方企业")
@PostMapping("/getXgfCorp")
public MultiResponse<XgfCorpCO> getXgfCorp(@RequestBody GetXgfCorpQry qry) {
return MultiResponse.of( keyProjectService.getXgfCorp(qry));
}
}

View File

@ -1,19 +1,14 @@
package com.zcloud.key.project.command.convertor.project;
import com.zcloud.key.project.dto.clientobject.project.CorpStatisticsCO;
import com.zcloud.key.project.dto.clientobject.project.KeyProjectCO;
import com.zcloud.key.project.dto.clientobject.project.KeyProjectStatisticsCO;
import com.zcloud.key.project.dto.clientobject.project.XgfCorpStatisticsCO;
import com.zcloud.key.project.persistence.dataobject.project.CorpStatisticsDO;
import com.zcloud.key.project.persistence.dataobject.project.KeyProjectDO;
import com.zcloud.key.project.persistence.dataobject.project.KeyProjectStatisticsDO;
import com.zcloud.key.project.persistence.dataobject.project.XgfCorpStatisticsDO;
import com.zcloud.key.project.dto.clientobject.project.*;
import com.zcloud.key.project.persistence.dataobject.project.*;
import org.apache.commons.lang.StringUtils;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Named;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
@ -67,5 +62,7 @@ public interface KeyProjectCoConvertor {
.filter(s -> !s.isEmpty())
.collect(Collectors.toList());
}
List<XgfCorpCO> converXgfCorpDOsToCOs(List<XgfCorpDO> xgfCorpDOList);
}

View File

@ -7,14 +7,8 @@ import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.key.project.command.convertor.project.KeyProjectCameraCoConvertor;
import com.zcloud.key.project.command.convertor.project.KeyProjectCoConvertor;
import com.zcloud.key.project.domain.enums.KeyProjectCameraTypeEnum;
import com.zcloud.key.project.dto.project.CorpStatisticsPageQry;
import com.zcloud.key.project.dto.project.KeyProjectPageQry;
import com.zcloud.key.project.dto.project.XgfCorpStatisticsPageQry;
import com.zcloud.key.project.dto.clientobject.project.CorpStatisticsCO;
import com.zcloud.key.project.dto.clientobject.project.KeyProjectCO;
import com.zcloud.key.project.dto.clientobject.project.KeyProjectStatisticsCO;
import com.zcloud.key.project.dto.project.KeyProjectStatisticsPageQry;
import com.zcloud.key.project.dto.clientobject.project.XgfCorpStatisticsCO;
import com.zcloud.key.project.dto.clientobject.project.*;
import com.zcloud.key.project.dto.project.*;
import com.zcloud.key.project.persistence.dataobject.project.*;
import com.zcloud.key.project.persistence.repository.CorpInfoRepository;
import com.zcloud.key.project.persistence.repository.project.KeyProjectCameraRepository;
@ -22,6 +16,7 @@ import com.zcloud.key.project.persistence.repository.project.KeyProjectRepositor
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@ -72,6 +67,13 @@ public class KeyProjectQueryExe {
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
public List<KeyProjectCO> listAll(KeyProjectQry qry) {
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
List<KeyProjectDO> pageResponse = keyProjectRepository.listAll(params);
List<KeyProjectCO> examCenterCOS = keyProjectCoConvertor.converDOsToCOs(pageResponse);
return examCenterCOS;
}
public PageResponse<KeyProjectCO> pageConfirm(KeyProjectPageQry keyProjectPageQry) {
//如果是相关方
Boolean checkCorp = corpInfoRepository.checkCorp();
@ -185,5 +187,13 @@ public class KeyProjectQueryExe {
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
public List<XgfCorpCO> getXgfCorp(GetXgfCorpQry qry) {
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
List<XgfCorpDO> xgfCorpDOList = keyProjectRepository.getXgfCorp(params);
return keyProjectCoConvertor.converXgfCorpDOsToCOs(xgfCorpDOList);
}
}

View File

@ -7,14 +7,15 @@ import com.zcloud.key.project.command.project.KeyProjectAddExe;
import com.zcloud.key.project.command.project.KeyProjectRemoveExe;
import com.zcloud.key.project.command.project.KeyProjectUpdateExe;
import com.zcloud.key.project.command.query.project.KeyProjectQueryExe;
import com.zcloud.key.project.dto.clientobject.project.CorpStatisticsCO;
import com.zcloud.key.project.dto.clientobject.project.KeyProjectCO;
import com.zcloud.key.project.dto.clientobject.project.KeyProjectStatisticsCO;
import com.zcloud.key.project.dto.clientobject.project.*;
import com.zcloud.key.project.dto.project.*;
import com.zcloud.key.project.dto.clientobject.project.XgfCorpStatisticsCO;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
/**
* web-app
*
@ -86,5 +87,16 @@ public class KeyProjectServiceImpl implements KeyProjectServiceI {
public PageResponse<XgfCorpStatisticsCO> xgfCorpStatistics(XgfCorpStatisticsPageQry qry) {
return keyProjectQueryExe.xgfCorpStatistics(qry);
}
@Override
public List<KeyProjectCO> listAll(KeyProjectQry qry) {
return keyProjectQueryExe.listAll(qry);
}
@Override
public List<XgfCorpCO> getXgfCorp(GetXgfCorpQry qry) {
return keyProjectQueryExe.getXgfCorp(qry);
}
}

View File

@ -2,11 +2,11 @@ package com.zcloud.key.project.api.project;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.key.project.dto.clientobject.project.CorpStatisticsCO;
import com.zcloud.key.project.dto.clientobject.project.KeyProjectCO;
import com.zcloud.key.project.dto.clientobject.project.KeyProjectStatisticsCO;
import com.zcloud.key.project.dto.clientobject.project.*;
import com.zcloud.key.project.dto.project.*;
import com.zcloud.key.project.dto.clientobject.project.XgfCorpStatisticsCO;
import java.util.Collection;
import java.util.List;
/**
* web-client
@ -37,5 +37,9 @@ public interface KeyProjectServiceI {
PageResponse<KeyProjectStatisticsCO> keyProjectStatistics(KeyProjectStatisticsPageQry qry);
PageResponse<XgfCorpStatisticsCO> xgfCorpStatistics(XgfCorpStatisticsPageQry qry);
List<KeyProjectCO> listAll(KeyProjectQry qry);
List<XgfCorpCO> getXgfCorp(GetXgfCorpQry qry);
}

View File

@ -0,0 +1,39 @@
package com.zcloud.key.project.dto.clientobject.project;
import com.alibaba.cola.dto.ClientObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
/**
* web-client
*
* @Author zhaokai
* @Date 2026-03-16 10:00:38
*/
@Data
public class XgfCorpCO implements Serializable {
//相关方企业id
@ApiModelProperty(value = "相关方企业id")
private Long xgfCorpinfoId;
@ApiModelProperty(value = "相关方企业名称")
@TableField(exist = false)
private String xgfCorpinfoName;
@ApiModelProperty(value = "相关方单位负责人名称")
@TableField(exist = false)
private String xgfUserName;
}

View File

@ -0,0 +1,43 @@
package com.zcloud.key.project.dto.project;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;
/**
* web-client
*
* @Author zhaokai
* @Date 2026-03-16 10:00:38
*/
@Data
public class GetXgfCorpQry implements Serializable {
//辖区单位企业id
@ApiModelProperty(value = "辖区单位企业id")
private Long jurisdictionCorpinfoId;
@ApiModelProperty(value = "辖区项目负责部门id")
private Long jurisdictionDepartmentId;
//辖区项目负责人id
@ApiModelProperty(value = "辖区项目负责人id")
private Long jurisdictionUserId;
//相关方单位负责人id
@ApiModelProperty(value = "相关方单位负责人id")
private Long xgfMasterUserId;
@ApiModelProperty(value = "状态,0:暂存。1:未开工,2:开工申请中,3:已超期,4:进行中,5:完工申请中,6:已完工")
private Integer applyStatus;
@ApiModelProperty(value = "状态,0:暂存。1:未开工,2:开工申请中,3:已超期,4:进行中,5:完工申请中,6:已完工")
private List<Integer> applyStatusList;
}

View File

@ -65,11 +65,14 @@ public class KeyProjectPageQry extends PageQuery {
//辖区单位企业id
@ApiModelProperty(value = "辖区单位企业id")
private Long jurisdictionCorpinfoId;
@ApiModelProperty(value = "辖区项目负责部门id")
private Long jurisdictionDepartmentId;
//辖区项目负责人id
@ApiModelProperty(value = "辖区项目负责人id")
private Long jurisdictionUserId;
//相关方单位负责人id
@ApiModelProperty(value = "相关方单位负责人id")
private Long xgfMasterUserId;

View File

@ -0,0 +1,83 @@
package com.zcloud.key.project.dto.project;
import com.alibaba.cola.dto.PageQuery;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;
/**
* web-client
*
* @Author zhaokai
* @Date 2026-03-16 10:00:38
*/
@Data
public class KeyProjectQry implements Serializable {
/**
* ,
* - `like`: SQLLIKE
* - `eq`: SQL=
* - `gt`:
* - `lt`:
* - `ge`:
* - `le`:
* - `ne`: SQL!=
*/
@ApiModelProperty(value = "重点作业名称")
private String projectName;
@ApiModelProperty(value = "相关方单位id")
private Long xgfCorpinfoId;
@ApiModelProperty(value = "相关方单位名称")
private String xgfCorpinfoName;
@ApiModelProperty(value = "主管部门id")
private Long masterDepartmentId;
@ApiModelProperty(value = "状态,0:暂存。1:未开工,2:开工申请中,3:已超期,4:进行中,5:完工申请中,6:已完工")
private Integer applyStatus;
@ApiModelProperty(value = "状态,0:暂存。1:未开工,2:开工申请中,3:已超期,4:进行中,5:完工申请中,6:已完工")
private List<Integer> applyStatusList;
@ApiModelProperty(value = "计划工期开始时间", name = "planWorkStartDate", required = true)
@NotEmpty(message = "计划工期开始时间不能为空")
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDate planWorkStartDate;
//计划工期结束时间
@ApiModelProperty(value = "计划工期结束时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDate planWorkEndDate;
@ApiModelProperty(value = "创建单位id")
private Integer corpinfoId;
@ApiModelProperty(value = "创建单位名称")
private String corpinfName;
@ApiModelProperty(value = "project_type")
private String projectType;
//辖区单位企业id
@ApiModelProperty(value = "辖区单位企业id")
private Long jurisdictionCorpinfoId;
@ApiModelProperty(value = "辖区项目负责部门id")
private Long jurisdictionDepartmentId;
//辖区项目负责人id
@ApiModelProperty(value = "辖区项目负责人id")
private Long jurisdictionUserId;
//相关方单位负责人id
@ApiModelProperty(value = "相关方单位负责人id")
private Long xgfMasterUserId;
private String menuPath;
}

View File

@ -0,0 +1,34 @@
package com.zcloud.key.project.persistence.dataobject.project;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* web-client
*
* @Author zhaokai
* @Date 2026-03-16 10:00:38
*/
@Data
public class XgfCorpDO implements Serializable {
//相关方企业id
@ApiModelProperty(value = "相关方企业id")
private Long xgfCorpinfoId;
@ApiModelProperty(value = "相关方企业名称")
@TableField(exist = false)
private String xgfCorpinfoName;
@ApiModelProperty(value = "相关方单位负责人名称")
@TableField(exist = false)
private String xgfUserName;
}

View File

@ -4,12 +4,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.datascope.annotation.DataScope;
import com.jjb.saas.framework.datascope.annotation.DataScopes;
import com.zcloud.key.project.persistence.dataobject.project.CorpStatisticsDO;
import com.zcloud.key.project.persistence.dataobject.project.KeyProjectDO;
import com.zcloud.key.project.persistence.dataobject.project.KeyProjectStatisticsDO;
import com.zcloud.key.project.persistence.dataobject.project.XgfCorpStatisticsDO;
import com.zcloud.key.project.persistence.dataobject.project.*;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
@ -36,5 +34,9 @@ public interface KeyProjectMapper extends BaseMapper<KeyProjectDO> {
IPage<KeyProjectStatisticsDO> keyProjectStatistics(IPage<KeyProjectStatisticsDO> iPage, Map<String, Object> params);
IPage<XgfCorpStatisticsDO> xgfCorpStatistics(IPage<XgfCorpStatisticsDO> iPage, Map<String, Object> params);
List<KeyProjectDO> listAll(Map<String, Object> params);
List<XgfCorpDO> getXgfCorp(Map<String, Object> params);
}

View File

@ -3,7 +3,9 @@ package com.zcloud.key.project.persistence.repository;
import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import com.zcloud.key.project.persistence.dataobject.project.CorpInfoDO;
import com.zcloud.key.project.persistence.dataobject.project.XgfCorpDO;
import java.util.List;
import java.util.Map;
/**
@ -23,5 +25,6 @@ public interface CorpInfoRepository extends BaseRepository<CorpInfoDO> {
Boolean checkCorp();
boolean isXgf();
}

View File

@ -6,15 +6,14 @@ import com.jjb.saas.framework.repository.common.PageHelper;
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
import com.zcloud.gbscommon.utils.Query;
import com.zcloud.key.project.domain.enums.MenuEnum;
import com.zcloud.key.project.persistence.dataobject.project.CorpStatisticsDO;
import com.zcloud.key.project.persistence.dataobject.project.KeyProjectDO;
import com.zcloud.key.project.persistence.dataobject.project.KeyProjectStatisticsDO;
import com.zcloud.key.project.persistence.dataobject.project.XgfCorpStatisticsDO;
import com.zcloud.key.project.persistence.dataobject.project.*;
import com.zcloud.key.project.persistence.mapper.KeyProjectMapper;
import com.zcloud.key.project.persistence.repository.project.KeyProjectRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
import java.util.Map;
/**
@ -39,6 +38,13 @@ public class KeyProjectRepositoryImpl extends BaseRepositoryImpl<KeyProjectMappe
return PageHelper.pageToResponse(result, result.getRecords());
}
@Override
public List<KeyProjectDO> listAll(Map<String, Object> params) {
List<KeyProjectDO> result = keyProjectMapper.listAll(params);
return result;
}
@Override
public PageResponse<KeyProjectDO> pageConfirm(Map<String, Object> params) {
IPage<KeyProjectDO> iPage = new Query<KeyProjectDO>().getPage(params);
@ -75,5 +81,10 @@ public class KeyProjectRepositoryImpl extends BaseRepositoryImpl<KeyProjectMappe
IPage<XgfCorpStatisticsDO> result = keyProjectMapper.xgfCorpStatistics(iPage, params);
return PageHelper.pageToResponse(result, result.getRecords());
}
@Override
public List<XgfCorpDO> getXgfCorp(Map<String, Object> params) {
return keyProjectMapper.getXgfCorp( params);
}
}

View File

@ -2,11 +2,9 @@ package com.zcloud.key.project.persistence.repository.project;
import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import com.zcloud.key.project.persistence.dataobject.project.CorpStatisticsDO;
import com.zcloud.key.project.persistence.dataobject.project.KeyProjectDO;
import com.zcloud.key.project.persistence.dataobject.project.KeyProjectStatisticsDO;
import com.zcloud.key.project.persistence.dataobject.project.XgfCorpStatisticsDO;
import com.zcloud.key.project.persistence.dataobject.project.*;
import java.util.List;
import java.util.Map;
/**
@ -27,5 +25,9 @@ public interface KeyProjectRepository extends BaseRepository<KeyProjectDO> {
PageResponse<KeyProjectStatisticsDO> keyProjectStatistics(Map<String, Object> params);
PageResponse<XgfCorpStatisticsDO> xgfCorpStatistics(Map<String, Object> params);
List<KeyProjectDO> listAll(Map<String, Object> params);
List<XgfCorpDO> getXgfCorp(Map<String, Object> params);
}

View File

@ -29,6 +29,9 @@
<if test="params.jurisdictionCorpinfoId != null">
AND kp.jurisdiction_corpinfo_id = #{params.jurisdictionCorpinfoId}
</if>
<if test="params.jurisdictionDepartmentId != null">
AND kp.jurisdiction_department_id = #{params.jurisdictionDepartmentId}
</if>
<if test="params.jurisdictionUserId != null">
AND kp.jurisdiction_user_id = #{params.jurisdictionUserId}
</if>
@ -87,6 +90,7 @@
GROUP BY kp.key_project_id
ORDER BY kp.apply_status asc, kp.create_time DESC
</select>
<select id="pageConfirm" resultType="com.zcloud.key.project.persistence.dataobject.project.KeyProjectDO">
SELECT kp.*,
@ -113,6 +117,9 @@
<if test="params.jurisdictionCorpinfoId != null">
AND kp.jurisdiction_corpinfo_id = #{params.jurisdictionCorpinfoId}
</if>
<if test="params.jurisdictionDepartmentId != null">
AND kp.jurisdiction_department_id = #{params.jurisdictionDepartmentId}
</if>
<if test="params.jurisdictionUserId != null">
AND kp.jurisdiction_user_id = #{params.jurisdictionUserId}
</if>
@ -261,6 +268,178 @@
order by cp.corp_order ASC,cp.create_time desc
</select>
<select id="listAll" resultType="com.zcloud.key.project.persistence.dataobject.project.KeyProjectDO">
SELECT kp.*,
fpd.name AS masterDepartmentName,
ci.name AS jurisdictionDepartmentName,
jurcorp.corp_name as jurisdictionCorpinfoName,
juruser.name as jurisdictionUserName,
xgfci.corp_name AS xgfCorpinfoName,
xgfuser.name as xgfUserName
FROM key_project kp
LEFT JOIN department fpd ON kp.master_department_id = fpd.id
LEFT JOIN department ci ON kp.jurisdiction_department_id = ci.id
left join corp_info jurcorp on jurcorp.id = kp.jurisdiction_corpinfo_id
left join user juruser on juruser.id = kp.jurisdiction_user_id
LEFT JOIN corp_info xgfci ON kp.xgf_corpinfo_id = xgfci.id
left join user xgfuser ON kp.xgf_master_user_id = xgfuser.id
LEFT JOIN corp_info cp ON kp.corpinfo_id = cp.id
<where>
kp.delete_enum = 'FALSE'
<!-- projectName 模糊查询判空 -->
<if test="params.projectName != null and params.projectName != ''">
AND kp.project_name LIKE CONCAT('%', #{params.projectName}, '%')
</if>
<if test="params.jurisdictionCorpinfoId != null">
AND kp.jurisdiction_corpinfo_id = #{params.jurisdictionCorpinfoId}
</if>
<if test="params.jurisdictionDepartmentId != null">
AND kp.jurisdiction_department_id = #{params.jurisdictionDepartmentId}
</if>
<if test="params.jurisdictionUserId != null">
AND kp.jurisdiction_user_id = #{params.jurisdictionUserId}
</if>
<!-- xgfCorpinfoId 判空 -->
<if test="params.xgfCorpinfoId != null">
AND kp.xgf_corpinfo_id = #{params.xgfCorpinfoId}
</if>
<if test="params.xgfCorpinfoName != null and params.xgfCorpinfoName != ''">
AND xgfci.corp_name LIKE CONCAT('%', #{params.xgfCorpinfoName}, '%')
</if>
<if test="params.corpinfName != null and params.corpinfName != ''">
AND cp.corp_name LIKE CONCAT('%', #{params.corpinfName}, '%')
</if>
<if test="params.xgfMasterUserId != null">
AND kp.xgf_master_user_id = #{params.xgfMasterUserId}
</if>
<!-- masterDepartmentId 判空 -->
<if test="params.masterDepartmentId != null">
AND kp.master_department_id = #{params.masterDepartmentId}
</if>
<!-- applyStatus 判空 -->
<if test="params.applyStatus != null ">
AND kp.apply_status = #{params.applyStatus}
</if>
<!-- applyStatusList 集合判空 -->
<if test="params.applyStatusList != null and params.applyStatusList.size() > 0">
AND kp.apply_status IN
<foreach collection="params.applyStatusList" item="status" open="(" separator="," close=")">
#{status}
</foreach>
</if>
<!-- planWorkStartDate 判空 -->
<if test="params.planWorkStartDate != null">
AND kp.plan_work_start_date <![CDATA[ <= ]]> #{params.planWorkStartDate}
</if>
<!-- planWorkEndDate 判空 -->
<if test="params.planWorkEndDate != null">
AND kp.plan_work_end_date <![CDATA[ >= ]]> #{params.planWorkEndDate}
</if>
<!-- corpinfoId 判空 -->
<if test="params.corpinfoId != null">
AND kp.corpinfo_id = #{params.corpinfoId}
</if>
<!-- projectType 判空 -->
<if test="params.projectType != null and params.projectType != ''">
AND kp.project_type = #{params.projectType}
</if>
</where>
GROUP BY kp.key_project_id
ORDER BY kp.apply_status asc, kp.create_time DESC
</select>
<select id="getXgfCorp" resultType="com.zcloud.key.project.persistence.dataobject.project.XgfCorpDO">
SELECT xgfci.corp_name AS xgfCorpinfoName,
kp.xgf_corpinfo_id AS xgfCorpinfoId,
xgfuser.name as xgfUserName
FROM key_project kp
LEFT JOIN corp_info xgfci ON kp.xgf_corpinfo_id = xgfci.id
left join user xgfuser ON kp.xgf_master_user_id = xgfuser.id
<where>
kp.delete_enum = 'FALSE'
<!-- projectName 模糊查询判空 -->
<if test="params.projectName != null and params.projectName != ''">
AND kp.project_name LIKE CONCAT('%', #{params.projectName}, '%')
</if>
<if test="params.jurisdictionCorpinfoId != null">
AND kp.jurisdiction_corpinfo_id = #{params.jurisdictionCorpinfoId}
</if>
<if test="params.jurisdictionDepartmentId != null">
AND kp.jurisdiction_department_id = #{params.jurisdictionDepartmentId}
</if>
<if test="params.jurisdictionUserId != null">
AND kp.jurisdiction_user_id = #{params.jurisdictionUserId}
</if>
<!-- xgfCorpinfoId 判空 -->
<if test="params.xgfCorpinfoId != null">
AND kp.xgf_corpinfo_id = #{params.xgfCorpinfoId}
</if>
<if test="params.xgfCorpinfoName != null and params.xgfCorpinfoName != ''">
AND xgfci.corp_name LIKE CONCAT('%', #{params.xgfCorpinfoName}, '%')
</if>
<if test="params.xgfMasterUserId != null">
AND kp.xgf_master_user_id = #{params.xgfMasterUserId}
</if>
<!-- masterDepartmentId 判空 -->
<if test="params.masterDepartmentId != null">
AND kp.master_department_id = #{params.masterDepartmentId}
</if>
<!-- applyStatus 判空 -->
<if test="params.applyStatus != null ">
AND kp.apply_status = #{params.applyStatus}
</if>
<!-- applyStatusList 集合判空 -->
<if test="params.applyStatusList != null and params.applyStatusList.size() > 0">
AND kp.apply_status IN
<foreach collection="params.applyStatusList" item="status" open="(" separator="," close=")">
#{status}
</foreach>
</if>
<!-- planWorkStartDate 判空 -->
<if test="params.planWorkStartDate != null">
AND kp.plan_work_start_date <![CDATA[ <= ]]> #{params.planWorkStartDate}
</if>
<!-- planWorkEndDate 判空 -->
<if test="params.planWorkEndDate != null">
AND kp.plan_work_end_date <![CDATA[ >= ]]> #{params.planWorkEndDate}
</if>
<!-- corpinfoId 判空 -->
<if test="params.corpinfoId != null">
AND kp.corpinfo_id = #{params.corpinfoId}
</if>
<!-- projectType 判空 -->
<if test="params.projectType != null and params.projectType != ''">
AND kp.project_type = #{params.projectType}
</if>
</where>
group by kp.xgf_corpinfo_id
order by xgfci.corp_order asc,xgfci.create_time desc
</select>
</mapper>