Browse Source

Merge remote-tracking branch 'origin/develop' into develop

dev
jianjun 3 years ago
parent
commit
50f1e56116
  1. 2
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerGridDao.java
  2. 1
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerGridDao.xml
  3. 9
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java
  4. 5
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java
  5. 11
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerStaffGridController.java
  6. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java
  7. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java
  8. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffGridDao.java
  9. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffGridService.java
  10. 3
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java
  11. 11
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java
  12. 11
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffGridServiceImpl.java
  13. 1
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml
  14. 3
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml
  15. 9
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffGridDao.xml
  16. 25
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectAuditResetResultDTO.java
  17. 2
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/GovProjectOpenFeignClient.java
  18. 2
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/fallback/GovProjectOpenFeignClientFallback.java
  19. 3
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoConcernController.java
  20. 3
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoDifficultyController.java
  21. 3
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoWorkDiaryController.java
  22. 4
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java
  23. 13
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java
  24. 2
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java
  25. 36
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
  26. 26
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml

2
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerGridDao.java

@ -53,7 +53,7 @@ public interface CustomerGridDao extends BaseDao<CustomerGridEntity> {
/**
* @Author sun
* @Description 根据组织Id查询当前组织下所有网格列表
* @Description 根据组织Id查询当前组织下所有网格列表(未弃用的网格)
**/
List<GridInfoResultDTO> selectGridListByAgencyId(@Param("agencyId") String agencyId);

1
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerGridDao.xml

@ -53,6 +53,7 @@
WHERE
del_flag = '0'
AND pid = #{agencyId}
and ABANDON_FLAG='0'
</select>
<select id="gridListByStaffId" resultType="com.epmet.dataaggre.dto.govorg.CustomerGridDTO">

9
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java

@ -596,4 +596,13 @@ public interface GovOrgOpenFeignClient {
*/
@GetMapping("/gov/org/icbuildingunit/{id}")
Result<IcBuildingUnitDTO> getUnitById(@PathVariable("id") String id);
/**
* Desc: 查询网格下所有的工作人员
* @param gridId
* @author zxc
* @date 2022/3/21 16:02
*/
@PostMapping("/gov/org/customerstaffgrid/getallstaffbygridid")
Result<List<String>> getAllStaffByGridId(@RequestParam("gridId")String gridId);
}

5
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java

@ -388,4 +388,9 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient {
public Result<IcBuildingUnitDTO> getUnitById(String id) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getUnitById", id);
}
@Override
public Result<List<String>> getAllStaffByGridId(String gridId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getAllStaffByGridId", gridId);
}
}

11
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerStaffGridController.java

@ -145,4 +145,15 @@ public class CustomerStaffGridController {
public Result<List<EventTitleOrgResultDTO>> eventOrg(@LoginUser TokenDto tokenDto){
return new Result<List<EventTitleOrgResultDTO>>().ok(customerStaffGridService.eventOrg(tokenDto.getUserId()));
}
/**
* Desc: 查询网格下所有的工作人员
* @param gridId
* @author zxc
* @date 2022/3/21 16:02
*/
@PostMapping("getallstaffbygridid")
public Result<List<String>> getAllStaffByGridId(@RequestParam("gridId")String gridId){
return new Result<List<String>>().ok(customerStaffGridService.getAllStaffByGridId(gridId));
}
}

2
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java

@ -172,7 +172,7 @@ public interface CustomerGridDao extends BaseDao<CustomerGridEntity> {
BelongGridNameResultDTO getGridNameByGridId(BelongGridNameFormDTO formDTO);
/**
* @Description 根据组织机关Id查询机关下网格列表
* @Description 根据组织机关Id查询机关下网格列表:未废弃的
* @author sun
*/
List<GridListResultDTO> selectGridList(@Param("agencyId") String agencyId);

2
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java

@ -88,7 +88,7 @@ public interface CustomerStaffAgencyDao extends BaseDao<CustomerStaffAgencyEntit
* @return com.epmet.dto.result.ActSponsorResultDTO
* @param staffId
* @author yinzuomei
* @description 根据staffId查询我所在的网格信息
* @description 根据staffId查询我所在的网格信息限制网格是未废弃的网格
* @Date 2020/7/23 21:04
**/
List<ActSponsorGridInfo> selectActSponsorGrid(String staffId);

9
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffGridDao.java

@ -121,4 +121,13 @@ public interface CustomerStaffGridDao extends BaseDao<CustomerStaffGridEntity> {
* @return
*/
List<StaffOrgRelationDTO> getGridStaffList(String gridId);
/**
* Desc: 查询网格下所有的工作人员
* @param gridId
* @author zxc
* @date 2022/3/21 16:02
*/
List<String> getAllStaffByGridId(String gridId);
}

9
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffGridService.java

@ -135,4 +135,13 @@ public interface CustomerStaffGridService extends BaseService<CustomerStaffGridE
* @date 2021/8/5 5:36 下午
*/
List<EventTitleOrgResultDTO> eventOrg(String userId);
/**
* Desc: 查询网格下所有的工作人员
* @param gridId
* @author zxc
* @date 2022/3/21 16:02
*/
List<String> getAllStaffByGridId(String gridId);
}

3
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java

@ -439,7 +439,7 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
});
}
//3:根据组织Id查询该组织下网格、人员列表
//3.1:查询组织下网格列表
//3.1:查询组织下网格列表:未废弃的
List<GridListResultDTO> gridList = customerGridDao.selectGridList(canTick.getAgencyId());
List<CustomerStaffGridDTO> gridStaffs = new ArrayList<>();
if (null != gridList && gridList.size() > NumConstant.ZERO) {
@ -872,6 +872,7 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
resultDTO.setAgencyId(customerAgency.getId());
resultDTO.setAgencyName(customerAgency.getOrganizationName());
}
//限制网格是未废弃的网格
List<ActSponsorGridInfo> list=customerStaffAgencyDao.selectActSponsorGrid(staffId);
resultDTO.setAgencyGridList(list);
return resultDTO;

11
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java

@ -970,17 +970,20 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
@Override
public void abandonGrid(AbandonGridFormDTO formDTO) {
//未处理的事件
Result<Boolean> eventRes = govProjectOpenFeignClient.eventAuditReset(formDTO.getGridId());
Result<ProjectAuditResetResultDTO> projectDb = govProjectOpenFeignClient.eventAuditReset(formDTO.getGridId());
//表决中的议题
Result<Boolean> issueAuditReset = govIssueOpenFeignClient.issueAuditReset(formDTO.getGridId());
if (!eventRes.success() || !issueAuditReset.success()) {
if (!projectDb.success() || !issueAuditReset.success()) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "校验数据异常", "服务器开小差了...");
}
if (eventRes.getData()) {
if (projectDb.getData().getResiEventStatus()) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "存在未处理的事件", "该网格存在未办结的群众直报事件,请先将事件办结后再操作");
}
if (projectDb.getData().getProjectStatus()) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "存在未办结的项目", "该网格工作人员名下存在未结案的项目,请先将项目结案或转其它科室部门后再操作");
}
if (issueAuditReset.getData()) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "存在未关闭的议题", "该网格存在未关闭的议题,请处理完再操作");
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "存在未关闭的议题", "该网格存在未关闭的议题,请先将议题关闭后再操作");
}
//可以弃用、处理数据(网格工作人员所属关系(网格工作人员人数), 删除正在审核中的徽章认证)

11
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffGridServiceImpl.java

@ -191,4 +191,15 @@ public class CustomerStaffGridServiceImpl extends BaseServiceImpl<CustomerStaffG
public List<EventTitleOrgResultDTO> eventOrg(String userId) {
return baseDao.eventOrg(userId);
}
/**
* Desc: 查询网格下所有的工作人员
* @param gridId
* @author zxc
* @date 2022/3/21 16:02
*/
@Override
public List<String> getAllStaffByGridId(String gridId) {
return baseDao.getAllStaffByGridId(gridId);
}
}

1
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml

@ -369,6 +369,7 @@
<!-- AND cg.del_flag = 0 --><!-- 网格被删除时,首次在该网格注册的居民就找不到了所属网格,暂时关闭这个查询条件,避免缓存中user的showname和组成员member的usershowname出现空值 -->
</select>
<!-- 根据组织机关Id查询机关下网格列表:未废弃的 -->
<select id="selectGridList" resultType="com.epmet.dto.result.GridListResultDTO">
SELECT
id AS "gridId",

3
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml

@ -125,7 +125,7 @@
</if>
</select>
<!-- 根据staffId查询我所在的网格信息 -->
<!-- 根据staffId查询我所在的网格信息,限制网格是未废弃的网格 -->
<select id="selectActSponsorGrid" resultType="com.epmet.dto.result.ActSponsorGridInfo" parameterType="java.lang.String">
SELECT
csg.GRID_ID,
@ -136,6 +136,7 @@
LEFT JOIN customer_agency ca ON ( cg.PID = ca.ID AND ca.DEL_FLAG = '0' )
WHERE
csg.DEL_FLAG = '0'
and cg.ABANDON_FLAG='0'
AND csg.USER_ID =#{staffId}
</select>
<!-- 根据staffId,查询我所属的组织信息 -->

9
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffGridDao.xml

@ -187,4 +187,13 @@
csg.del_flag = '0'
AND csg.GRID_ID = #{gridId}
</select>
<!-- 查询网格下所有的工作人员 -->
<select id="getAllStaffByGridId" resultType="java.lang.String">
SELECT
USER_ID
FROM customer_staff_grid
WHERE DEL_FLAG = '0'
AND GRID_ID = #{gridId}
</select>
</mapper>

25
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectAuditResetResultDTO.java

@ -0,0 +1,25 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2022/3/21 15:48
* @DESC
*/
@Data
public class ProjectAuditResetResultDTO implements Serializable {
private static final long serialVersionUID = -4523314881244005376L;
private Boolean projectStatus;
private Boolean resiEventStatus;
public ProjectAuditResetResultDTO() {
this.projectStatus = false;
this.resiEventStatus = false;
}
}

2
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/GovProjectOpenFeignClient.java

@ -157,5 +157,5 @@ public interface GovProjectOpenFeignClient {
* @date 2022/3/15 5:05 下午
*/
@PostMapping("gov/project/project/audit-reset")
Result<Boolean> eventAuditReset(@RequestParam("gridId")String gridId);
Result<ProjectAuditResetResultDTO> eventAuditReset(@RequestParam("gridId")String gridId);
}

2
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/fallback/GovProjectOpenFeignClientFallback.java

@ -156,7 +156,7 @@ public class GovProjectOpenFeignClientFallback implements GovProjectOpenFeignCli
}
@Override
public Result<Boolean> eventAuditReset(String gridId) {
public Result<ProjectAuditResetResultDTO> eventAuditReset(String gridId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "eventAuditReset",gridId);
}
}

3
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoConcernController.java

@ -33,6 +33,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.net.URLEncoder;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
@ -134,7 +135,7 @@ public class MemoConcernController {
response.setHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition");
response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.wordprocessingml.document");
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;fileName=人员关怀导入模板" + suffix);
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;fileName=" + URLEncoder.encode("人员关怀详情", "UTF-8") + suffix);
ServletOutputStream fos = null;
try {

3
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoDifficultyController.java

@ -31,6 +31,7 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
@ -119,7 +120,7 @@ public class MemoDifficultyController {
response.setHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition");
response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.wordprocessingml.document");
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;fileName=工作日志导入模板" + suffix);
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;fileName=" + URLEncoder.encode("难点堵点详情", "UTF-8") + suffix);
ServletOutputStream fos = null;
try {

3
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoWorkDiaryController.java

@ -31,6 +31,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.net.URLEncoder;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
@ -112,7 +113,7 @@ public class MemoWorkDiaryController {
response.setHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition");
response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.wordprocessingml.document");
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;fileName=工作日志导入模板" + suffix);
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;fileName=" + URLEncoder.encode("工作日志详情", "UTF-8") + suffix);
ServletOutputStream fos = null;
try {

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

@ -333,7 +333,7 @@ public class ProjectController {
* @date 2022/3/15 5:05 下午
*/
@PostMapping("audit-reset")
public Result<Boolean> eventAuditReset(@RequestParam("gridId")String gridId){
return new Result<Boolean>().ok(projectService.eventAuditReset(gridId));
public Result<ProjectAuditResetResultDTO> eventAuditReset(@RequestParam("gridId")String gridId){
return new Result<ProjectAuditResetResultDTO>().ok(projectService.eventAuditReset(gridId));
}
}

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

@ -21,10 +21,7 @@ import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.EventProjectInfoDTO;
import com.epmet.dto.ProjectDTO;
import com.epmet.dto.ProjectStaffDTO;
import com.epmet.dto.form.LatestListFormDTO;
import com.epmet.dto.form.PatrolProjectFormDTO;
import com.epmet.dto.form.ProjectListFromDTO;
import com.epmet.dto.form.ShiftProjectsFromDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.ProjectEntity;
import org.apache.ibatis.annotations.Mapper;
@ -50,6 +47,14 @@ public interface ProjectDao extends BaseDao<ProjectEntity> {
**/
List<ProjectDTO> selectPendList(ProjectListFromDTO fromDTO);
/**
* Desc: 待处理项目列表
* @param userIds
* @author zxc
* @date 2022/3/21 14:12
*/
List<ProjectDTO> selectPendListByUserIds(@Param("userIds")List<String> userIds);
/**
* 我发起的项目列表
*

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

@ -383,6 +383,6 @@ public interface ProjectService extends BaseService<ProjectEntity> {
* @author zxc
* @date 2022/3/15 5:05 下午
*/
Boolean eventAuditReset(String gridId);
ProjectAuditResetResultDTO eventAuditReset(String gridId);
}

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

@ -234,14 +234,28 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
return list;
}
/**
* Desc: 复制楼上方法略做修改
* @param userIds
* @author zxc
* @date 2022/3/21 15:33
*/
public boolean getPendProjectListByUserIds(List<String> userIds) {
if (CollectionUtils.isNotEmpty(userIds)){
List<ProjectDTO> projectList = baseDao.selectPendListByUserIds(userIds);
if (projectList.size() == 0){
return false;
}else {
return true;
}
}
return false;
}
@Override
public List<CreatedListResultDTO> getCreatedList(ProjectListFromDTO fromDTO) {
List<CreatedListResultDTO> list = new ArrayList<>();
//查询条件
int pageIndex = (fromDTO.getPageNo() - NumConstant.ONE) * fromDTO.getPageSize();
fromDTO.setPageNo(pageIndex);
List<ProjectDTO> projectList = baseDao.selectCreatedList(fromDTO);
//获取客户定制的可滞留天数
Integer finalDays = getDays(fromDTO);
@ -3140,12 +3154,20 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
* @date 2022/3/15 5:05 下午
*/
@Override
public Boolean eventAuditReset(String gridId) {
public ProjectAuditResetResultDTO eventAuditReset(String gridId) {
ProjectAuditResetResultDTO result = new ProjectAuditResetResultDTO();
Integer processingCount = baseDao.selectEventStatus(gridId);
if (processingCount.compareTo(NumConstant.ZERO) != NumConstant.ZERO){
return true;
result.setResiEventStatus(true);
}
return false;
Result<List<String>> allStaffByGridId = govOrgOpenFeignClient.getAllStaffByGridId(gridId);
if (!allStaffByGridId.success()){
throw new EpmetException("查询网格下的工作人员失败");
}
if (CollectionUtils.isNotEmpty(allStaffByGridId.getData())){
result.setProjectStatus(getPendProjectListByUserIds(allStaffByGridId.getData()));
}
return result;
}
/**

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

@ -41,6 +41,32 @@
ORDER BY psp.created_time, p.created_time ASC<!-- 先按滞留时间降序再按创建时间升序(带奇峰修改) -->
LIMIT #{pageNo}, #{pageSize}
</select>
<!-- 待处理项目列表 -->
<select id="selectPendListByUserIds" resultType="com.epmet.dto.ProjectDTO" parameterType="com.epmet.dto.form.ProjectListUserIdsFromDTO">
SELECT distinct
p.ID,
p.TITLE,
p.CREATED_TIME,
psp.CREATED_TIME AS UPDATED_TIME
FROM project p
INNER JOIN (SELECT
ps.PROJECT_ID,
MAX(ps.CREATED_TIME) AS CREATED_TIME
FROM project_staff ps
WHERE ps.DEL_FLAG = '0'
AND ps.IS_HANDLE = 'unhandled'
AND ps.STAFF_ID IN (
<foreach collection="userIds" item="userId" separator=",">
#{userId}
</foreach>
)
GROUP BY ps.PROJECT_ID) psp ON p.ID = psp.PROJECT_ID
WHERE p.DEL_FLAG = '0'
AND p.status = 'pending'
ORDER BY psp.created_time, p.created_time ASC<!-- 先按滞留时间降序再按创建时间升序 -->
</select>
<select id="selectCreatedList" resultType="com.epmet.dto.ProjectDTO" parameterType="com.epmet.dto.form.ProjectListFromDTO">
SELECT distinct
p.ID,

Loading…
Cancel
Save