Browse Source

Merge branch 'dev_project_hd_syc'

# Conflicts:
#	epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java
#	epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java
#	epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
master
syc 3 years ago
parent
commit
ac2792bb7f
  1. 73
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/OrgProjectListFormDTO.java
  2. 106
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/OrgProjectListResultDTO.java
  3. 64
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java
  4. 1
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java
  5. 126
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/OrgProjectListExcel.java
  6. 1
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java
  7. 95
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
  8. 117
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml
  9. 4
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/GetByRealNamesFormDTO.java
  10. 5
      epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml

73
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/OrgProjectListFormDTO.java

@ -0,0 +1,73 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
@Data
public class OrgProjectListFormDTO extends PageFormDTO implements Serializable {
private static final long serialVersionUID = -3317804468566708838L;
/**
* 组织/网格Id
*/
private String orgId;
/**
* 组织agency 网格grid
*/
private String orgType;
/**
* 上报渠道 来源议题issue 项目立项:agency 事件:ic_event 工作人员上报:work_event
*/
private String origin;
/**
* 上报人姓名
*/
private String staffName;
/**
* 手机号
*/
private String mobile;
//手机号对应工作人员Id集合
private List<String> staffIds;
/**
* 事件内容
*/
private String backGround;
/**
* 事件类型 一类二类Id集合
*/
private List<String> firstIdList;
private List<String> secondIdList;
/**
* 事件状态 处理中 pending已结案 closed
*/
private String status;
/**
* 起始上报时间 精确到秒
*/
private String startTime;
/**
* 终止上报时间 精确到秒
*/
private String endTime;
/**
* 处置选项 筛选自己参与的项目 有值就按staffId查
*/
private String staffId;
/**
* 分页参数
*/
private Integer pageNo = 1;
private Integer pageSize = 20;
private Boolean isPage = true;
//token中信息
private String userId;
private String customerId;
}

106
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/OrgProjectListResultDTO.java

@ -0,0 +1,106 @@
package com.epmet.dto.result;
import com.epmet.dto.form.FileDTO;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@Data
public class OrgProjectListResultDTO implements Serializable {
private static final long serialVersionUID = 2374701362057175388L;
/**
* 项目ID
*/
private String projectId;
/**
* 所属组织ID
*/
private String agencyId;
/**
* 上报渠道 agency:网格上报 ic_event:居民上报 work_event:巡查上报 issue:议题上报
*/
private String origin;
/**
* 一级分类
*/
private String firstName;
private String firstId;
/**
* 二级分类
*/
private String secondName;
private String secondId;
/**
* 事件标题
*/
private String title;
/**
* 所属网格
*/
private String gridName;
private String gridId;
/**
* 地址
*/
private String address;
/**
* 报事人
*/
private String staffName;
private String staffId;
/**
* 上报人电话
*/
private String mobile;
/**
* 上报时间
*/
private String createdTime;
/**
* 事件内容
*/
private String backGround;
/**
* 结案说明
*/
private String publicReply;
/**
* 办结时间
*/
private String endTime;
/**
* 办结部门
*/
private String departmentName;
/**
* 处理建议[创建节点的公开答复]
*/
private String createPublicReply;
/**
* 图片url集合
*/
private List<FileDTO> urlList;
private String imageUrl;
/**
* 状态 处理中 pending已结案 closed
*/
private String status;
private String statusValue;
/**
* 是否需要自己处理 true:需要 false:不需要
*/
private Boolean processable = false;
}

64
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java

@ -17,11 +17,21 @@
package com.epmet.controller; package com.epmet.controller;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter;
import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.AddGroup;
@ -30,15 +40,20 @@ import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.ProjectDTO; import com.epmet.dto.ProjectDTO;
import com.epmet.dto.form.*; import com.epmet.dto.form.*;
import com.epmet.dto.result.*; import com.epmet.dto.result.*;
import com.epmet.excel.OrgProjectListExcel;
import com.epmet.excel.ProjectExcel; import com.epmet.excel.ProjectExcel;
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO; import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO;
import com.epmet.service.ProjectService; import com.epmet.service.ProjectService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -51,6 +66,7 @@ import java.util.Map;
*/ */
@RestController @RestController
@RequestMapping("project") @RequestMapping("project")
@Slf4j
public class ProjectController { public class ProjectController {
@Autowired @Autowired
@ -387,4 +403,52 @@ public class ProjectController {
public Result<List<ProjectDTO>> staffPendingProject(@RequestBody ProjectListFromDTO fromDTO){ public Result<List<ProjectDTO>> staffPendingProject(@RequestBody ProjectListFromDTO fromDTO){
return new Result<List<ProjectDTO>>().ok(projectService.staffPendingProject(fromDTO)); return new Result<List<ProjectDTO>>().ok(projectService.staffPendingProject(fromDTO));
} }
/**
* Desc: 数字平台-项目管理列表
*/
@PostMapping("orgprojectlist")
public Result<PageData<OrgProjectListResultDTO>> orgProjectList(@LoginUser TokenDto tokenDto, @RequestBody OrgProjectListFormDTO formDTO) {
formDTO.setUserId(tokenDto.getUserId());
formDTO.setCustomerId(tokenDto.getCustomerId());
return new Result<PageData<OrgProjectListResultDTO>>().ok(projectService.orgProjectList(formDTO));
}
@PostMapping("orgprojectexport")
public void orgProjectExport(@LoginUser TokenDto tokenDto, @RequestBody OrgProjectListFormDTO formDTO, HttpServletResponse response) throws IOException {
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setUserId(tokenDto.getUserId());
formDTO.setIsPage(false);
ExcelWriter excelWriter = null;
formDTO.setPageNo(NumConstant.ONE);
formDTO.setPageSize(NumConstant.ONE_THOUSAND);
try {
String fileName = "项目管理导出表" + DateUtils.format(new Date()) + ".xlsx";
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), OrgProjectListExcel.class).build();
WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build();
PageData<OrgProjectListResultDTO> data = null;
List<OrgProjectListExcel> list = null;
do {
data = projectService.orgProjectList(formDTO);
list = ConvertUtils.sourceToTarget(data.getList(), OrgProjectListExcel.class);
formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE);
excelWriter.write(list, writeSheet);
} while (CollectionUtils.isNotEmpty(list) && list.size() == formDTO.getPageSize());
} catch (EpmetException e) {
response.reset();
response.setCharacterEncoding("UTF-8");
response.setHeader("content-type", "application/json; charset=UTF-8");
PrintWriter printWriter = response.getWriter();
Result<Object> result = new Result<>().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), e.getMsg());
printWriter.write(JSON.toJSONString(result));
printWriter.close();
} catch (Exception e) {
log.error("export exception", e);
} finally {
if (excelWriter != null) {
excelWriter.finish();
}
}
}
} }

1
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java

@ -299,4 +299,5 @@ public interface ProjectDao extends BaseDao<ProjectEntity> {
List<ProjectManageListResultDTO> getProjectManageList(ProjectManageListFormDTO formDTO); List<ProjectManageListResultDTO> getProjectManageList(ProjectManageListFormDTO formDTO);
List<OrgProjectListResultDTO> orgProjectList(OrgProjectListFormDTO formDTO);
} }

126
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/OrgProjectListExcel.java

@ -0,0 +1,126 @@
package com.epmet.excel;
import cn.afterturn.easypoi.excel.annotation.ExcelCollection;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
import java.util.List;
/**
* 事件管理表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-17
*/
@Data
public class OrgProjectListExcel {
private static final long serialVersionUID = 2374701362057175388L;
/**
* 上报渠道 agency:网格上报 resi_event:居民上报 work_event:巡查上报 issue:议题上报
*/
@ExcelProperty(value = "上报渠道")
@ColumnWidth(25)
private String origin;
/**
* 一级分类名称
*/
@ExcelProperty(value = "一级分类")
@ColumnWidth(20)
private String firstName;
/**
* 二级分类名称
*/
@ExcelProperty(value = "二级分类")
@ColumnWidth(20)
private String secondName;
/**
* 事件标题
*/
@ExcelProperty(value = "事件标题")
@ColumnWidth(30)
private String title;
/**
* 所属网格
*/
@ExcelProperty(value = "所属网格")
@ColumnWidth(30)
private String gridName;
/**
* 地址
*/
@ExcelProperty(value = "地址")
@ColumnWidth(30)
private String address;
/**
* 报事人
*/
@ExcelProperty(value = "报事人")
@ColumnWidth(20)
private String staffName;
/**
* 上报人电话
*/
@ExcelProperty(value = "上报人电话")
@ColumnWidth(20)
private String mobile;
/**
* 上报时间
*/
@ExcelProperty(value = "上报时间")
@ColumnWidth(25)
private String createdTime;
/**
* 事件内容
*/
@ExcelProperty(value = "事件内容")
@ColumnWidth(40)
private String backGround;
/**
* 结案说明
*/
@ExcelProperty(value = "结案说明")
@ColumnWidth(30)
private String publicReply;
/**
* 办结时间
*/
@ExcelProperty(value = "办结时间")
@ColumnWidth(25)
private String endTime;
/**
* 办结部门
*/
@ExcelProperty(value = "办结部门")
@ColumnWidth(30)
private String departmentName;
/**
* 处理建议[创建节点的公开答复]
*/
@ExcelProperty(value = "处理建议")
@ColumnWidth(25)
private String createPublicReply;
/**
* 图片url集合
*/
@ExcelProperty(value = "图片")
@ColumnWidth(30)
private String imageUrl;
/**
* 状态 处理中 pending已结案 closed
*/
@ExcelProperty(value = "状态")
@ColumnWidth(20)
private String status;
}

1
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java

@ -396,4 +396,5 @@ public interface ProjectService extends BaseService<ProjectEntity> {
void projectListExport(HttpServletResponse response,ProjectManageListFormDTO formDTO) throws IOException; void projectListExport(HttpServletResponse response,ProjectManageListFormDTO formDTO) throws IOException;
List<ProjectDTO> staffPendingProject(ProjectListFromDTO fromDTO); List<ProjectDTO> staffPendingProject(ProjectListFromDTO fromDTO);
PageData<OrgProjectListResultDTO> orgProjectList(OrgProjectListFormDTO formDTO);
} }

95
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java

@ -41,10 +41,7 @@ import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.*; import com.epmet.commons.tools.utils.*;
import com.epmet.constant.*; import com.epmet.constant.*;
import com.epmet.dao.ProjectDao; import com.epmet.dao.*;
import com.epmet.dao.ProjectOrgRelationDao;
import com.epmet.dao.ProjectSatisfactionDetailDao;
import com.epmet.dao.ProjectSatisfactionStatisticsDao;
import com.epmet.dto.*; import com.epmet.dto.*;
import com.epmet.dto.form.*; import com.epmet.dto.form.*;
import com.epmet.dto.result.*; import com.epmet.dto.result.*;
@ -157,6 +154,8 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
private ProjectSatisfactionDetailDao satisfactionDetailDao; private ProjectSatisfactionDetailDao satisfactionDetailDao;
@Autowired @Autowired
private IcEventService icEventService; private IcEventService icEventService;
@Autowired
private ProjectStaffDao projectStaffDao;
private final static String ONE_DAY = "<1"; private final static String ONE_DAY = "<1";
@ -3476,4 +3475,92 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
} }
return staffInfo; return staffInfo;
} }
@Override
public PageData<OrgProjectListResultDTO> orgProjectList(OrgProjectListFormDTO formDTO) {
//1.整理查询条件
if(StringUtils.isEmpty(formDTO.getOrgType())){
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId());
if (null == staffInfo) {
throw new EpmetException("获取工作人员信息失败");
}
formDTO.setOrgId(staffInfo.getAgencyId());
formDTO.setOrgType("agency");
}
if (StringUtils.isNoneBlank(formDTO.getMobile())) {
//有手机号筛选条件的选按手机号查找工作人员,在按staffId查项目
GetByRealNamesFormDTO dto = new GetByRealNamesFormDTO();
dto.setCustomerId(formDTO.getCustomerId());
dto.setMobile(formDTO.getMobile());
Result<List<CustomerStaffDTO>> staffResult = epmetUserOpenFeignClient.getByRealNames(dto);
if (!staffResult.success()) {
throw new RenException("获取工作人员基础信息失败......");
}
if (null != staffResult.getData() && staffResult.getData().size() > NumConstant.ZERO) {
List<String> staffIds = staffResult.getData().stream().map(CustomerStaffDTO::getUserId).collect(Collectors.toList());
formDTO.setStaffIds(staffIds);
}
}
//2.按条件筛选数据 列表/导出查询
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage());
List<OrgProjectListResultDTO> list = baseDao.orgProjectList(formDTO);
PageInfo<OrgProjectListResultDTO> pageInfo = new PageInfo<>(list);
if (list.size() < NumConstant.ONE) {
return new PageData<>(list, pageInfo.getTotal());
}
//3.封装数据
//3-1.查询分类信息
IssueProjectCategoryDictListFormDTO dictFormDto = new IssueProjectCategoryDictListFormDTO();
dictFormDto.setCustomerId(formDTO.getCustomerId());
Result<List<IssueProjectCategoryDictDTO>> categoryRes = govIssueOpenFeignClient.getCategoryList(dictFormDto);
if (!categoryRes.success() || org.springframework.util.CollectionUtils.isEmpty(categoryRes.getData())) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取项目分类名称异常");
}
Map<String, String> categoryMap = categoryRes.getData().stream().collect(Collectors.toMap(IssueProjectCategoryDictDTO::getId, IssueProjectCategoryDictDTO::getCategoryName));
//3-2.封装数据
for (OrgProjectListResultDTO dto : list) {
//分类名称
dto.setFirstName(categoryMap.get(dto.getFirstId()));
dto.setSecondName(categoryMap.get(dto.getSecondId()));
try {
//工作人员基础信息
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), dto.getStaffId());
if (null != staffInfo) {
dto.setStaffName(staffInfo.getRealName());
dto.setMobile(staffInfo.getMobile());
}
//拼接网格名
if (StringUtils.isNoneBlank(dto.getGridId())) {
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(dto.getGridId());
if (null != gridInfo) {
dto.setGridName((StringUtils.isEmpty(gridInfo.getAllParentName()) ? "" : gridInfo.getAllParentName() + "-") + gridInfo.getGridNamePath());
}
} else {
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(dto.getAgencyId());
if (null != agencyInfo) {
dto.setGridName((StringUtils.isEmpty(agencyInfo.getAllParentName()) ? "" : agencyInfo.getAllParentName() + "-") + agencyInfo.getOrganizationName());
}
}
} catch (Exception e) {
log.warn("获取组织/网格缓存失败");
}
//图片url拼接
if (!org.springframework.util.CollectionUtils.isEmpty(dto.getUrlList())) {
String imageUrl = StringUtils.join(dto.getUrlList().stream().map(FileDTO::getUrl).collect(Collectors.toList())," <br/> ");
dto.setImageUrl(imageUrl);
}
//判断未结案项目是否涉及需要当前工作人员处理[列表查询需要,导出的不需要这段逻辑]
if (formDTO.getIsPage() && "pending".equals(dto.getStatusValue())) {
//查询当前工作人员是否存在当前项目的未处理节点
ProjectStaffDTO projectStaff = projectStaffDao.selectLatestByProjectIdAndStaffId(dto.getProjectId(), formDTO.getUserId());
if (null != projectStaff) {
dto.setProcessable(true);
}
}
}
return new PageData<>(list, pageInfo.getTotal());
}
} }

117
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml

@ -620,4 +620,121 @@
GROUP BY t.PROJECT_ID GROUP BY t.PROJECT_ID
ORDER BY p.CREATED_TIME DESC ORDER BY p.CREATED_TIME DESC
</select> </select>
<resultMap id="OrgProjectListMap" type="com.epmet.dto.result.OrgProjectListResultDTO">
<id property="projectId" column="id" />
<id property="agencyId" column="agency_id" />
<result property="origin" column="origin"/>
<result property="title" column="title"/>
<result property="gridId" column="grid_id"/>
<result property="address" column="locate_address"/>
<result property="staffId" column="created_by"/>
<result property="createdTime" column="created_time"></result>
<result property="backGround" column="back_ground"></result>
<result property="status" column="status"></result>
<result property="statusValue" column="statusValue"></result>
<result property="firstId" column="category_pids"></result>
<result property="secondId" column="category_id"></result>
<result property="publicReply" column="public_reply"></result>
<result property="endTime" column="end_time"></result>
<result property="departmentName" column="department_name"></result>
<result property="createPublicReply" column="public_reply"></result>
<collection property="urlList" ofType="com.epmet.dto.form.FileDTO" column="id" select="getIndexExplainTreeByPid">
</collection>
</resultMap>
<select id="orgProjectList" resultMap="OrgProjectListMap">
SELECT
p.id,
p.agency_id,
( CASE WHEN p.origin = 'issue' THEN '议题上报' WHEN p.origin = 'ic_event' THEN '居民上报' WHEN p.origin = 'work_event' THEN '巡查上报' WHEN p.origin = 'agency' THEN '网格上报' ELSE '' END ) AS origin,
p.title,
p.grid_id,
p.locate_address,
p.created_by,
DATE_FORMAT(p.created_time, '%Y-%m-%d %H:%i:%s') AS created_time,
p.back_ground,
( CASE WHEN p.`STATUS` = 'pending' THEN '处理中' WHEN p.`STATUS` = 'closed' THEN '已结案' ELSE '' END ) AS status,
p.`status` AS statusValue,
pc.category_pids,
pc.category_id,
pp.public_reply,
DATE_FORMAT(pp.end_time, '%Y-%m-%d %H:%i:%s') AS end_time,
pp.department_name,
ppc.public_reply
FROM
project p
<!-- 项目分类现在是只能选一个二类,查询只查一个分类数据 -->
INNER JOIN (
select PROJECT_ID,category_pids,category_id
from project_category
where del_flag = '0' and customer_id = #{customerId}
group by project_id
ORDER BY created_time desc
)pc ON p.id = pc.project_id
<if test="firstIdList != null and firstIdList.size() > 0"><!-- 一类查询条件 -->
<foreach collection="firstIdList" item="firstId" open="AND pc.category_pids IN (" separator="," close=")">
#{firstId}
</foreach>
</if>
<if test="secondIdList != null and secondIdList.size() > 0"><!-- 二类查询条件 -->
<foreach collection="secondIdList" item="secondId" open="AND pc.category_id IN (" separator="," close=")">
#{secondId}
</foreach>
</if>
LEFT JOIN project_process pp ON p.id = pp.project_id AND pp.operation = 'close'
INNER JOIN project_process ppc ON p.id = ppc.project_id AND ppc.operation = 'created'
<if test="staffName != null and staffName != ''"><!-- 上报人姓名对应查询条件,上报人就是对应的创建节点的人 -->
AND ppc.staff_name like concat('%', #{staffName}, '%')
</if>
<if test="staffId != null and staffId != ''"><!-- 处置选项对应查询条件,查自己涉及要干的活的项目 -->
INNER JOIN(SELECT DISTINCT PROJECT_ID FROM project_staff WHERE del_flag = '0' AND staff_id = #{staffId} ) ps ON p.id = ps.project_id
</if>
WHERE
p.del_flag = '0'
AND p.customer_id = #{customerId}
<if test="orgType != null and orgType != ''"><!-- 组织/网格对应查询条件 -->
<choose>
<when test="orgType == 'agency'">
AND p.org_id_path like concat('%', #{orgId}, '%')
</when>
<when test="orgType == 'grid'">
AND p.grid_id = #{orgId}
</when>
</choose>
</if>
<if test="origin != null and origin != ''">
AND p.origin = #{origin}
</if>
<if test="staffIds != null and staffIds.size() > 0"><!-- 上报人手机号对应查询条件 -->
<foreach collection="staffIds" item="createdId" open="AND p.created_by IN (" separator="," close=")">
#{createdId}
</foreach>
</if>
<if test="backGround != null and backGround != ''">
AND p.back_ground like concat('%', #{backGround}, '%')
</if>
<if test="status != null and status != ''">
AND p.status = #{status}
</if>
<if test=" null != startTime and startTime != '' ">
AND p.created_time <![CDATA[ >= ]]> #{startTime}
</if>
<if test="null != endTime and endTime != '' ">
AND p.created_time <![CDATA[ <= ]]> #{endTime}
</if>
</select>
<select id="getIndexExplainTreeByPid" resultType="com.epmet.dto.form.FileDTO"><!-- 项目创建节点的图片附件 -->
SELECT
ppa.attachment_url AS url
FROM
project_process pp
INNER JOIN project_process_attachment ppa ON pp.id = ppa.process_id AND ppa.attachment_type = 'image' AND ppa.del_flag = '0'
WHERE
pp.del_flag = '0'
AND pp.operation = 'created'
AND pp.project_id = #{projectId}
ORDER BY
ppa.created_time ASC
</select>
</mapper> </mapper>

4
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/GetByRealNamesFormDTO.java

@ -23,4 +23,8 @@ public class GetByRealNamesFormDTO implements Serializable {
* 工作人员姓名集合 * 工作人员姓名集合
*/ */
private Set<String> realNames; private Set<String> realNames;
/**
* 手机号模糊查询
*/
private String mobile;
} }

5
epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml

@ -450,9 +450,14 @@
WHERE WHERE
del_flag = '0' del_flag = '0'
AND customer_id = #{customerId} AND customer_id = #{customerId}
<if test="realNames != null and realNames.size() > 0">
<foreach collection="realNames" item="name" open="AND real_name IN (" separator="," close=")"> <foreach collection="realNames" item="name" open="AND real_name IN (" separator="," close=")">
#{name} #{name}
</foreach> </foreach>
</if>
<if test="mobile != null and mobile != ''">
AND mobile LIKE concat('%', #{mobile}, '%')
</if>
</select> </select>
<select id="gridStaffMobileList" resultType="com.epmet.dto.result.GridMobileListResultDTO"></select> <select id="gridStaffMobileList" resultType="com.epmet.dto.result.GridMobileListResultDTO"></select>

Loading…
Cancel
Save