Browse Source

增加上报借口

feature/dangjian
zhangyuan 3 years ago
parent
commit
379cf4130d
  1. 2
      esua-epdc/epdc-cloud-commons-shibei
  2. 31
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/ItemWhistle2GovFormDTO.java
  3. 4
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/ItemHandleCategoryEnum.java
  4. 28
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java
  5. 2
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java
  6. 13
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java
  7. 27
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java
  8. 162
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml
  9. 2
      esua-epdc/epdc-module/epdc-oss/epdc-oss-client/src/main/java/com/elink/esua/epdc/enums/ItemStateCodeEnum.java

2
esua-epdc/epdc-cloud-commons-shibei

@ -1 +1 @@
Subproject commit 89bb48135eb0db7b1682b1e7d51b0bd5c8d02a0f
Subproject commit fe1e76342cc6631c5d178c1edc35bfb8d7416776

31
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/ItemWhistle2GovFormDTO.java

@ -0,0 +1,31 @@
package com.elink.esua.epdc.dto.item.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.io.Serializable;
/**
* 吹哨给市平台
*
* @author zhy
* @date 2022/10/24 14:11
*/
@Data
public class ItemWhistle2GovFormDTO implements Serializable {
private static final long serialVersionUID = -5395350316792859552L;
/**
* 项目ID
*/
@NotBlank(message = "项目ID不能为空")
private String id;
/**
* 处理意见内部
*/
@Size(min = 1, max = 500, message = "处理意见在500字以内")
private String reason;
}

4
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/ItemHandleCategoryEnum.java

@ -17,6 +17,10 @@ public enum ItemHandleCategoryEnum {
HANDLE_I_HANDLE_GRID(12, "响应拟办"),// 等同于网格回应 2022.9.4需求变更
HANDLE_I_HANDLE_COMMUNITY(13, "直接办理"),// 等同于社区回应 2022.9.4需求变更
HANDLE_I_HANDLE_COMMUNITY_REJECT(14, "社区驳回"),// 2022.9.4需求变更
/**
* 吹哨市平台
*/
HANDLE_I_HANDLE_GOV_WHISTLE(16, "吹哨上报"),
HANDLE_CIRCULATION_ASSISTANCE(1, "吹哨"),
HANDLE_CLOSE(5, "不予受理"), // 之前的关闭 2022.9.4需求变更
HANDLE_CLOSE_APPLY(6, "不予受理申请"), // 2022.9.7需求变更

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,20 @@ public class ItemController {
return new Result<PageData<ItemPendingHandleDTO>>().ok(page);
}
/**
* 在党群E家流转中尚未报到区平台的项目列表
*
* @param 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 zhy
* @date 2022/10/24 15:15
*/
@GetMapping("epdcpage")
public Result<PageData<ItemPendingHandleDTO>> epdcPage(@RequestParam Map<String, Object> params) {
PageData<ItemPendingHandleDTO> page = itemService.listEpdcItems(params);
return new Result<PageData<ItemPendingHandleDTO>>().ok(page);
}
/**
* 项目驳回列表
*
@ -454,6 +468,20 @@ public class ItemController {
return new Result<List<ItemListByAddressResultDTO>>().ok(itemService.getItemListByAddress(params));
}
/**
* 吹哨上报-吹哨给市级青诉即办平台
*
* @param formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author zhy
* @date 2022/10/21 16:13
*/
@PostMapping("whistle")
public Result whistle2Gov(@RequestBody ItemWhistle2GovFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return itemService.whistle2Gov(formDTO);
}
/**
* 市级青诉即办平台对区诉求进行在线督办
*

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

@ -160,6 +160,8 @@ public interface ItemDao extends BaseDao<ItemEntity> {
*/
List<ItemPendingHandleDTO> selectListOfPendingHandleItems(Map<String, Object> params);
List<ItemPendingHandleDTO> listEpdcItems(Map<String, Object> params);
List<ItemPendingHandleDTO> listEqPc(ItemWorkListFormDTO formDTO);
List<ItemPendingHandleDTO> itemPageList(Map<String, Object> params);

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

@ -66,6 +66,9 @@ public interface ItemService extends BaseService<ItemEntity> {
* @Date: 2019/9/12 18:17
*/
PageData<ItemPendingHandleDTO> listOfItemsForPCEnd(Map<String, Object> params);
PageData<ItemPendingHandleDTO> listEpdcItems(Map<String, Object> params);
List<ItemPendingHandleDTO> listEqPc(ItemWorkListFormDTO formDTO);
PageData<ItemPendingHandleDTO> itemPageList(Map<String, Object> params);
@ -663,6 +666,16 @@ public interface ItemService extends BaseService<ItemEntity> {
List<ItemListByAddressResultDTO> getItemListByAddress(Map<String, Object> params);
/**
* 吹哨上报-吹哨给市级青诉即办平台
*
* @param formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author zhy
* @date 2022/10/21 16:16
*/
Result whistle2Gov(ItemWhistle2GovFormDTO formDTO);
/**
* 接受市平台诉求督办
*

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

@ -272,6 +272,15 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
return new PageData<>(list, page.getTotal());
}
@Override
public PageData<ItemPendingHandleDTO> listEpdcItems(Map<String, Object> params) {
IPage<ItemPendingHandleDTO> page = getPage(params);
List<ItemPendingHandleDTO> list = baseDao.listEpdcItems(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> itemPageList(Map<String, Object> params) {
IPage<ItemPendingHandleDTO> page = getPage(params);
@ -4069,6 +4078,24 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
return baseDao.getItemListByAddress(params);
}
@Override
public Result whistle2Gov(ItemWhistle2GovFormDTO formDTO) {
ItemHandleProcessEntity process = new ItemHandleProcessEntity();
ItemEntity item = baseDao.selectById(formDTO.getId());
if (item == null) {
return new Result().error("未查到相关项目,项目ID:" + formDTO.getId());
}
process.setItemId(item.getId());
process.setState(ItemHandleCategoryEnum.HANDLE_I_HANDLE_GOV_WHISTLE.getValue());
process.setHandleAdvice(formDTO.getReason());
process.setOutHandleAdvice(formDTO.getReason());
process.setHandlerDept(SecurityUser.getUser().getDeptName());
process.setHandlerDeptId(SecurityUser.getDeptId());
itemHandleProcessDao.insert(process);
return new Result();
}
@Override
public Result supervise(AppealSuperviseResultDTO formDTO) {
ItemHandleProcessEntity process = new ItemHandleProcessEntity();

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

@ -613,21 +613,21 @@
</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="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>
@ -644,6 +644,138 @@
item.CREATED_TIME DESC
</select>
<select id="listEpdcItems" 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,
CASE item.PEOPLE_FLAG WHEN '0' THEN '民生诉求' WHEN '1' THEN '发展诉求' WHEN '2' THEN '执法诉求' ELSE '' END AS peopleFlagName,
CASE i.ITEM_STATE WHEN '0' THEN '处理中' WHEN '10' THEN '已结案' ELSE '' END AS itemStateName,
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,
(case when (process.STATE = 1001 and HOUR( timediff( now(), item.CREATED_TIME) ) >= 24) then '1' else '' end) as isRemind,
(case when (getworkminute(item.CREATED_TIME,now()) / 60 > 8) then '红灯'
when (getworkminute(item.CREATED_TIME,now()) / 60 > 6 and getworkminute(item.CREATED_TIME,now()) / 60 &lt;=8) then '黄灯'
when (getworkminute(item.CREATED_TIME,now()) / 60 &lt;= 6) then '绿灯' else '' end) as lamp,
(
case when (getworkminute(item.CREATED_TIME,now()) / 60 > 8)
then concat('超时',
case when (getworkminute(item.CREATED_TIME,now()) - 480) &lt; 60
then concat((getworkminute(item.CREATED_TIME,now()) - 480),'分钟')
else concat((ROUND(getworkminute(item.CREATED_TIME,now()) / 60,1) - 8),'小时') end)
else
concat('剩余',
case when (480 - getworkminute(item.CREATED_TIME,now())) &lt; 60
then concat((480 - getworkminute(item.CREATED_TIME,now())),'分钟')
else concat((8 - ROUND((getworkminute(item.CREATED_TIME,now()) / 60),1)),'小时') end)
end
) as remainTime,
( 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 != '网格化平台' or (b.HANDLER_DEPT = '网格化平台' and b.STATE in (1060,1065)))
) process on process.ITEM_ID = item.ID
WHERE item.DEL_FLAG = '0'
and (process.state is not null and process.state not in (11,15))
and item.IS_PEOPLE = '0'
<if test="itemState != null and itemState != '' and itemState == '0'">
and (item.EVALUATION_SCORE is null or item.EVALUATION_SCORE = '')
</if>
<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"
parameterType="com.elink.esua.epdc.dto.item.form.ItemWorkListFormDTO">
SELECT

2
esua-epdc/epdc-module/epdc-oss/epdc-oss-client/src/main/java/com/elink/esua/epdc/enums/ItemStateCodeEnum.java

@ -10,6 +10,8 @@ public enum ItemStateCodeEnum {
JMZP("居民上报照片", "0"),
WGZP("网格办理照片", "1"),
SQZP("社区办理照片", "2"),
JDZP("街道办理照片", "4"),
QZP("市北区办理照片", "5"),
CZZP("处置照片", "3");

Loading…
Cancel
Save