Browse Source

添加初审,终审列表接口

feature/dangjian
wanggongfeng 3 years ago
parent
commit
80daf3bddb
  1. 28
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java
  2. 4
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java
  3. 14
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java
  4. 88
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java
  5. 215
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml

28
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java

@ -76,6 +76,34 @@ public class ItemController {
return new Result<PageData<ItemPendingHandleDTO>>().ok(page); return new Result<PageData<ItemPendingHandleDTO>>().ok(page);
} }
/**
* 初审项目列表
*
* @Params: [params]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData < com.elink.esua.epdc.dto.item.ItemPendingHandleDTO>>
* @Author: wgf
* @Date: 2022/10/22 9:56
*/
@GetMapping("firstCheckPage")
public Result<PageData<ItemPendingHandleDTO>> firstCheckPage(@RequestParam Map<String, Object> params) {
PageData<ItemPendingHandleDTO> page = itemService.firstCheckPage(params);
return new Result<PageData<ItemPendingHandleDTO>>().ok(page);
}
/**
* 终审项目列表
*
* @Params: [params]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData < com.elink.esua.epdc.dto.item.ItemPendingHandleDTO>>
* @Author: wgf
* @Date: 2022/10/22 9:56
*/
@GetMapping("endCheckPage")
public Result<PageData<ItemPendingHandleDTO>> endCheckPage(@RequestParam Map<String, Object> params) {
PageData<ItemPendingHandleDTO> page = itemService.endCheckPage(params);
return new Result<PageData<ItemPendingHandleDTO>>().ok(page);
}
/** /**
* 项目驳回列表 * 项目驳回列表
* *

4
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java

@ -164,6 +164,10 @@ public interface ItemDao extends BaseDao<ItemEntity> {
List<ItemPendingHandleDTO> itemPageList(Map<String, Object> params); List<ItemPendingHandleDTO> itemPageList(Map<String, Object> params);
List<ItemPendingHandleDTO> firstCheckPage(Map<String, Object> params);
List<ItemPendingHandleDTO> endCheckPage(Map<String, Object> params);
/** /**
* PC端项目驳回列表 * PC端项目驳回列表
* *

14
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java

@ -69,6 +69,20 @@ public interface ItemService extends BaseService<ItemEntity> {
List<ItemPendingHandleDTO> listEqPc(ItemWorkListFormDTO formDTO); List<ItemPendingHandleDTO> listEqPc(ItemWorkListFormDTO formDTO);
PageData<ItemPendingHandleDTO> itemPageList(Map<String, Object> params); PageData<ItemPendingHandleDTO> itemPageList(Map<String, Object> params);
/**
* 初审列表
* @param params
* @return
*/
PageData<ItemPendingHandleDTO> firstCheckPage(Map<String, Object> params);
/**
* 终审列表
* @param params
* @return
*/
PageData<ItemPendingHandleDTO> endCheckPage(Map<String, Object> params);
/** /**
* PC端项目驳回列表 * PC端项目驳回列表
* *

88
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java

@ -275,6 +275,94 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
return new PageData<>(list, page.getTotal()); return new PageData<>(list, page.getTotal());
} }
@Override
public PageData<ItemPendingHandleDTO> firstCheckPage(Map<String, Object> params) {
UserDetail user = SecurityUser.getUser();
if (null == user) {
throw new RenException("获取用户信息失败");
}
if (OrganizationTypeConstant.ORG_TYPE_DISTRICT_DEPT.equals(user.getTypeKey())) {
if (params.get("streetId") != null && !"".equals(params.get("streetId"))) {
Result<SysDeptDTO> resultdept = adminFeignClient.getSysDeptInfo(Long.parseLong(params.get("streetId").toString()));
SysDeptDTO dept = resultdept.getData();
Object deptId = params.get("streetId");
if (OrganizationTypeConstant.ORG_TYPE_DISTRICT_DEPT.equals(dept.getTypeKey())) {
params.put("districtDeptId", deptId);
params.remove("streetId");
}
}
}
//部门ID列表
List<Long> deptIdList = new ArrayList<>();
// 判断是否为社区网格,不为社区网格只能查看本部门下的项目数据
if (OrganizationTypeConstant.ORG_TYPE_GRID_PARTY.equals(user.getTypeKey()) || OrganizationTypeConstant.ORG_TYPE_COMMUNITY_PARTY.equals(user.getTypeKey())) {
deptIdList = user.getDeptIdList();
} else {
deptIdList.add(user.getDeptId());
}
params.put("deptIdList", null);
if (null != deptIdList && deptIdList.size() > 0) {
params.put("deptIdList", deptIdList);
}
if (null != params.get("itemCode")) {
params.put("itemCode", params.get("itemCode").toString().trim());
}
if (OrganizationTypeConstant.ORG_TYPE_GRID_PARTY.equals(user.getTypeKey())) {
params.put("typeKey", OrganizationTypeConstant.ORG_TYPE_GRID_PARTY);
}
IPage<ItemPendingHandleDTO> page = getPage(params);
List<ItemPendingHandleDTO> list = baseDao.firstCheckPage(params);
Map<String, Long> map = listItemHandleDept();
list.forEach(item -> item.setItemHandleDeptId(map.get(item.getId())));
return new PageData<>(list, page.getTotal());
}
@Override
public PageData<ItemPendingHandleDTO> endCheckPage(Map<String, Object> params) {
UserDetail user = SecurityUser.getUser();
if (null == user) {
throw new RenException("获取用户信息失败");
}
if (OrganizationTypeConstant.ORG_TYPE_DISTRICT_DEPT.equals(user.getTypeKey())) {
if (params.get("streetId") != null && !"".equals(params.get("streetId"))) {
Result<SysDeptDTO> resultdept = adminFeignClient.getSysDeptInfo(Long.parseLong(params.get("streetId").toString()));
SysDeptDTO dept = resultdept.getData();
Object deptId = params.get("streetId");
if (OrganizationTypeConstant.ORG_TYPE_DISTRICT_DEPT.equals(dept.getTypeKey())) {
params.put("districtDeptId", deptId);
params.remove("streetId");
}
}
}
//部门ID列表
List<Long> deptIdList = new ArrayList<>();
// 判断是否为社区网格,不为社区网格只能查看本部门下的项目数据
if (OrganizationTypeConstant.ORG_TYPE_GRID_PARTY.equals(user.getTypeKey()) || OrganizationTypeConstant.ORG_TYPE_COMMUNITY_PARTY.equals(user.getTypeKey())) {
deptIdList = user.getDeptIdList();
} else {
deptIdList.add(user.getDeptId());
}
params.put("deptIdList", null);
if (null != deptIdList && deptIdList.size() > 0) {
params.put("deptIdList", deptIdList);
}
if (null != params.get("itemCode")) {
params.put("itemCode", params.get("itemCode").toString().trim());
}
if (OrganizationTypeConstant.ORG_TYPE_GRID_PARTY.equals(user.getTypeKey())) {
params.put("typeKey", OrganizationTypeConstant.ORG_TYPE_GRID_PARTY);
}
IPage<ItemPendingHandleDTO> page = getPage(params);
List<ItemPendingHandleDTO> list = baseDao.endCheckPage(params);
Map<String, Long> map = listItemHandleDept();
list.forEach(item -> item.setItemHandleDeptId(map.get(item.getId())));
return new PageData<>(list, page.getTotal());
}
@Override @Override
public PageData<ItemPendingHandleDTO> itemPageList(Map<String, Object> params) { public PageData<ItemPendingHandleDTO> itemPageList(Map<String, Object> params) {
IPage<ItemPendingHandleDTO> page = getPage(params); IPage<ItemPendingHandleDTO> page = getPage(params);

215
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml

@ -650,6 +650,221 @@
item.CREATED_TIME DESC item.CREATED_TIME DESC
</select> </select>
<select id="firstCheckPage" resultType="com.elink.esua.epdc.dto.item.ItemPendingHandleDTO">
SELECT
item.ID,
item.ITEM_CONTENT,
item.ITEM_CODE,
item.CREATED_TIME,
item.NICK_NAME,
item.MOBILE,
item.ITEM_STATE,
item.grid AS gridName,
SUBSTRING_INDEX(REPLACE (item.parent_dept_names, '市北区委-', ''), '-', 1) AS streetName,
SUBSTRING_INDEX(REPLACE (item.parent_dept_names, '市北区委-', ''), '-' ,- 1) AS communityName,
CASE item.EVALUATION_SCORE
WHEN 0 THEN '不满意'
WHEN 1 THEN '基本满意'
WHEN 2 THEN '非常满意'
ELSE ''
END AS evaluationScore,
eve.APPROVE_NUM,
eve.OPPOSE_NUM,
eve.COMMENT_NUM,
eve.BROWSE_NUM,
( eve.APPROVE_NUM + eve.OPPOSE_NUM + eve.COMMENT_NUM + eve.BROWSE_NUM ) AS participantsNum,
(case when d.ID is not null then '1' else '0' end) as isDelay
FROM epdc_item item
LEFT JOIN epdc_events eve ON item.EVENT_ID = eve.ID AND eve.DEL_FLAG = '0'
left join epdc_item_fusing_delay_record d on d.ITEM_ID = item.ID and d.DEL_FLAG = '0'
left join (
select b.ID,b.ITEM_ID,b.CREATED_TIME,b.state
from epdc_item_handle_process b
where b.DEL_FLAG = '0'
and b.CREATED_TIME = (
SELECT
max(CREATED_TIME)
from epdc_item_handle_process
where b.ITEM_ID = ITEM_ID
and DEL_FLAG = '0'
)
and b.HANDLER_DEPT != '网格化平台'
) process on process.ITEM_ID = item.ID
WHERE item.DEL_FLAG = '0'
AND item.evaluation_score = '0'
AND item.evaluation_time <![CDATA[ <= ]]> ( NOW() - interval 24 HOUR )
and (process.state is not null and process.state not in (11,14,15,1002))
and (item.IS_PEOPLE = '0' or (item.IS_PEOPLE = '1' and item.PEOPLE_FLAG = '0'))
<if test="typeKey != null and typeKey != '' and typeKey == 'grid_party'">
and (process.state != 0 or process.state is null)
</if>
<if test="peopleFlag != null and peopleFlag != ''">
AND item.PEOPLE_FLAG = #{peopleFlag}
</if>
<if test="itemState != null and itemState != ''">
AND item.ITEM_STATE = #{itemState}
</if>
<if test="associatedType != null and associatedType != ''">
AND item.ITEM_STATE in (0,10)
</if>
<if test="keyword != null and keyword != ''">
AND item.ITEM_CONTENT like concat('%', trim(#{keyword}), '%')
</if>
AND item.ID IN (
SELECT
temp.ITEM_ID
FROM
( SELECT dept.ITEM_ID FROM epdc_item_dept dept WHERE dept.DEL_FLAG = '0'
<if test="deptIdList != null">
AND dept.DEPT_ID IN
<foreach item="deptId" collection="deptIdList" open="(" separator="," close=")">
#{deptId}
</foreach>
</if>
<if test="districtDeptId != null and districtDeptId != ''">
AND dept.DEPT_ID = #{districtDeptId}
</if>
) temp
)
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND DATE_FORMAT( item.CREATED_TIME, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime}
</if>
<if test="gridId != null and gridId != ''">
AND (item.GRID_ID = #{gridId}
OR find_in_set(#{gridId},item.ALL_DEPT_IDS))
</if>
<if test="streetId != null and streetId != ''">
AND (find_in_set(#{streetId},item.PARENT_DEPT_IDS)
OR find_in_set(#{streetId},item.ALL_DEPT_IDS))
</if>
<if test="communityId != null and communityId != ''">
AND (find_in_set(#{communityId},item.PARENT_DEPT_IDS)
OR find_in_set(#{communityId},item.ALL_DEPT_IDS))
</if>
<if test="itemCode != null and itemCode != ''">
AND item.ITEM_CODE like concat('%', #{itemCode}, '%')
</if>
<if test="itemContent != null and itemContent != ''">
AND item.ITEM_CONTENT like concat('%', #{itemContent}, '%')
</if>
<if test="nickName != null and nickName != ''">
AND item.NICK_NAME like concat('%', #{nickName}, '%')
</if>
<if test="mobile != null and mobile != ''">
AND item.MOBILE like concat('%', #{mobile}, '%')
</if>
ORDER BY
item.CREATED_TIME DESC
</select>
<select id="endCheckPage" resultType="com.elink.esua.epdc.dto.item.ItemPendingHandleDTO">
SELECT
item.ID,
item.ITEM_CONTENT,
item.ITEM_CODE,
item.CREATED_TIME,
item.NICK_NAME,
item.MOBILE,
item.ITEM_STATE,
item.grid AS gridName,
SUBSTRING_INDEX(REPLACE (item.parent_dept_names, '市北区委-', ''), '-', 1) AS streetName,
SUBSTRING_INDEX(REPLACE (item.parent_dept_names, '市北区委-', ''), '-' ,- 1) AS communityName,
CASE item.EVALUATION_SCORE
WHEN 0 THEN '不满意'
WHEN 1 THEN '基本满意'
WHEN 2 THEN '非常满意'
ELSE ''
END AS evaluationScore,
eve.APPROVE_NUM,
eve.OPPOSE_NUM,
eve.COMMENT_NUM,
eve.BROWSE_NUM,
( eve.APPROVE_NUM + eve.OPPOSE_NUM + eve.COMMENT_NUM + eve.BROWSE_NUM ) AS participantsNum,
(case when d.ID is not null then '1' else '0' end) as isDelay
FROM epdc_item item
LEFT JOIN epdc_events eve ON item.EVENT_ID = eve.ID AND eve.DEL_FLAG = '0'
left join epdc_item_fusing_delay_record d on d.ITEM_ID = item.ID and d.DEL_FLAG = '0'
left join (
select b.ID,b.ITEM_ID,b.CREATED_TIME,b.state
from epdc_item_handle_process b
where b.DEL_FLAG = '0'
and b.CREATED_TIME = (
SELECT
max(CREATED_TIME)
from epdc_item_handle_process
where b.ITEM_ID = ITEM_ID
and DEL_FLAG = '0'
)
and b.HANDLER_DEPT != '网格化平台'
) process on process.ITEM_ID = item.ID
WHERE item.DEL_FLAG = '0'
AND item.evaluation_score = '0'
and (process.state is not null and process.state in (1002))
and (item.IS_PEOPLE = '0' or (item.IS_PEOPLE = '1' and item.PEOPLE_FLAG = '0'))
<if test="typeKey != null and typeKey != '' and typeKey == 'grid_party'">
and (process.state != 0 or process.state is null)
</if>
<if test="peopleFlag != null and peopleFlag != ''">
AND item.PEOPLE_FLAG = #{peopleFlag}
</if>
<if test="itemState != null and itemState != ''">
AND item.ITEM_STATE = #{itemState}
</if>
<if test="associatedType != null and associatedType != ''">
AND item.ITEM_STATE in (0,10)
</if>
<if test="keyword != null and keyword != ''">
AND item.ITEM_CONTENT like concat('%', trim(#{keyword}), '%')
</if>
AND item.ID IN (
SELECT
temp.ITEM_ID
FROM
( SELECT dept.ITEM_ID FROM epdc_item_dept dept WHERE dept.DEL_FLAG = '0'
<if test="deptIdList != null">
AND dept.DEPT_ID IN
<foreach item="deptId" collection="deptIdList" open="(" separator="," close=")">
#{deptId}
</foreach>
</if>
<if test="districtDeptId != null and districtDeptId != ''">
AND dept.DEPT_ID = #{districtDeptId}
</if>
) temp
)
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND DATE_FORMAT( item.CREATED_TIME, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime}
</if>
<if test="gridId != null and gridId != ''">
AND (item.GRID_ID = #{gridId}
OR find_in_set(#{gridId},item.ALL_DEPT_IDS))
</if>
<if test="streetId != null and streetId != ''">
AND (find_in_set(#{streetId},item.PARENT_DEPT_IDS)
OR find_in_set(#{streetId},item.ALL_DEPT_IDS))
</if>
<if test="communityId != null and communityId != ''">
AND (find_in_set(#{communityId},item.PARENT_DEPT_IDS)
OR find_in_set(#{communityId},item.ALL_DEPT_IDS))
</if>
<if test="itemCode != null and itemCode != ''">
AND item.ITEM_CODE like concat('%', #{itemCode}, '%')
</if>
<if test="itemContent != null and itemContent != ''">
AND item.ITEM_CONTENT like concat('%', #{itemContent}, '%')
</if>
<if test="nickName != null and nickName != ''">
AND item.NICK_NAME like concat('%', #{nickName}, '%')
</if>
<if test="mobile != null and mobile != ''">
AND item.MOBILE like concat('%', #{mobile}, '%')
</if>
ORDER BY
item.CREATED_TIME DESC
</select>
<select id="listEqPc" resultType="com.elink.esua.epdc.dto.item.ItemPendingHandleDTO" <select id="listEqPc" resultType="com.elink.esua.epdc.dto.item.ItemPendingHandleDTO"
parameterType="com.elink.esua.epdc.dto.item.form.ItemWorkListFormDTO"> parameterType="com.elink.esua.epdc.dto.item.form.ItemWorkListFormDTO">
SELECT SELECT

Loading…
Cancel
Save