Browse Source

数字平台 项目管理列表、导出

master
syc 3 years ago
parent
commit
afedc08ea3
  1. 73
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/OrgProjectListFormDTO.java
  2. 100
      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. 127
      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. 68
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
  8. 107
      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 事件:resi_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;
}

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

@ -0,0 +1,100 @@
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:网格上报 resi_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 List<String> imageList;
/**
* 状态 待处理 pending结案closed
*/
private String status;
}

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
@ -379,4 +395,52 @@ public class ProjectController {
ValidatorUtils.validateEntity(formDTO, SatisfactionEvaluationListFormDTO.SatisfactionEvaluationListForm.class); ValidatorUtils.validateEntity(formDTO, SatisfactionEvaluationListFormDTO.SatisfactionEvaluationListForm.class);
return new Result<PageData>().ok(projectService.satisfactionEvaluationList(formDTO)); return new Result<PageData>().ok(projectService.satisfactionEvaluationList(formDTO));
} }
/**
* 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.setStaffId(tokenDto.getUserId());
formDTO.setIsPage(false);
ExcelWriter excelWriter = null;
formDTO.setPageNo(NumConstant.ONE);
formDTO.setPageSize(NumConstant.TEN_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);
} }

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

@ -0,0 +1,127 @@
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)
@ExcelCollection(name = "图片")
private List<String> imageList;
/**
* 状态 处理中 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

@ -395,4 +395,5 @@ public interface ProjectService extends BaseService<ProjectEntity> {
*/ */
void projectListExport(HttpServletResponse response,ProjectManageListFormDTO formDTO) throws IOException; void projectListExport(HttpServletResponse response,ProjectManageListFormDTO formDTO) throws IOException;
PageData<OrgProjectListResultDTO> orgProjectList(OrgProjectListFormDTO formDTO);
} }

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

@ -51,7 +51,6 @@ import com.epmet.dto.result.*;
import com.epmet.entity.*; import com.epmet.entity.*;
import com.epmet.excel.ProjectListExportExcel; import com.epmet.excel.ProjectListExportExcel;
import com.epmet.feign.*; import com.epmet.feign.*;
import com.epmet.redis.ProjectRedis;
import com.epmet.resi.group.constant.TopicConstant; import com.epmet.resi.group.constant.TopicConstant;
import com.epmet.resi.group.dto.topic.ResiTopicDTO; import com.epmet.resi.group.dto.topic.ResiTopicDTO;
import com.epmet.resi.group.dto.topic.form.TopicAttachmentFormDTO; import com.epmet.resi.group.dto.topic.form.TopicAttachmentFormDTO;
@ -3445,4 +3444,71 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format); SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
return simpleDateFormat.format(date); return simpleDateFormat.format(date);
} }
@Override
public PageData<OrgProjectListResultDTO> orgProjectList(OrgProjectListFormDTO formDTO) {
//1.整理查询条件
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()));*/
//工作人员基础信息
/*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());
}
}*/
if (!org.springframework.util.CollectionUtils.isEmpty(dto.getUrlList())) {
List<String> imageList = dto.getUrlList().stream().map(FileDTO::getUrl).collect(Collectors.toList());
dto.setImageList(imageList);
}
}
return new PageData<>(list, pageInfo.getTotal());
}
} }

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

@ -620,4 +620,111 @@
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="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 = 'resi_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,
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 project_category 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'
<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