Browse Source

Merge remote-tracking branch 'origin/master'

master
luyan 3 years ago
parent
commit
103c6fff21
  1. 19
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/screen/result/EventStreetRatioResultDTO.java
  2. 10
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java
  3. 6
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/PushToCityGridService.java
  4. 9
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java
  5. 49
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/PushToCityGridServiceImpl.java
  6. 28
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/controller/ScreenController.java
  7. 14
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenDeptEventStatDao.java
  8. 21
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/excel/ScreenReplyExportExcel.java
  9. 21
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/excel/ScreenSixResponseExportExcel.java
  10. 14
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/service/ScreenDeptEventStatService.java
  11. 20
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenDeptEventStatServiceImpl.java
  12. 78
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml
  13. 56
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/screen/ScreenDeptEventStatDao.xml

19
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/screen/result/EventStreetRatioResultDTO.java

@ -0,0 +1,19 @@
package com.elink.esua.epdc.dto.screen.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 街道各种率计算
* @Author zhaoqifeng
* @Date 2022/10/11 10:21
*/
@Data
public class EventStreetRatioResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
private String streetName;
private String ratio;
}

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

@ -706,12 +706,22 @@ public class ItemController {
return itemService.processNotice(formDTO);
}
/**
* 标记为重复案件
* @param dto
* @return
*/
@PostMapping("changeRepeat")
public Result changeRepeat(@RequestBody ItemChangeRepeatDTO dto) {
return itemService.changeRepeat(dto);
}
/**
* 诉求分类
* @param dto
* @return
*/
@PostMapping("changeCategory")
public Result changeCategory(@RequestBody ItemChangeCategoryDTO dto) {
return itemService.changeCategory(dto);

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

@ -255,4 +255,10 @@ public interface PushToCityGridService {
* @Date: 2023/5/4 14:15
*/
void receive(String processId);
/**
* 虚构一个 执法发展响应节点
*/
void receiveZFFZ(String itemId);
}

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

@ -733,6 +733,8 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
log.error("执法诉求上报,发送事件数据到市中心错误,诉求项目Id->" + itemEntity.getId());
e.printStackTrace();
}
// 23-6-28执法诉求响应
itemAutoProcessRedis.produce(itemHandleProcessEntity.getId().concat(":8"), System.currentTimeMillis() + (59 * 1000));
return new Result().ok(itemEntity.getSerialNum());
}
@ -3478,6 +3480,9 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
} else if (NumConstant.ONE_STR.equals(formDto.getPeopleFlag())) {
//发展
sendCaseDevelop(entity);
// 23-6-28发展响应
itemAutoProcessRedis.produce(itemHandleProcessEntity.getId().concat(":8"), System.currentTimeMillis() + (59 * 1000));
}
} catch (Exception e) {
StringBuffer str = new StringBuffer();
@ -4875,6 +4880,10 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
//诉求处理
ItemHandleProcessEntity processEntity = itemHandleProcessDao.selectById(id);
pushToCityGridService.appealHandling(ConvertUtils.sourceToTarget(processEntity, ItemHandleProcessDTO.class), NumConstant.ONE_STR);
} else if(NumConstant.EIGHT_STR.equals(type)) {
// 23-6-28执法诉求响应
pushToCityGridService.receiveZFFZ(id);
}
}

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

@ -1483,6 +1483,55 @@ public class PushToCityGridServiceImpl implements PushToCityGridService {
}
@Override
public void receiveZFFZ(String itemId) {
Date date = new Date();
ItemHandleProcessEntity item = itemHandleProcessDao.selectById(itemId);
if (item == null) {
return;
}
ReceiveResultDTO dto = new ReceiveResultDTO();
dto.setSqid(getSqid(item.getItemId()));
dto.setCzbs("03");
//操作时间
dto.setCzsj(DateUtils.format(date, DateUtils.DATE_TIME_PATTERN));
//操作人员
ReceiveResultDTO.CzrBean czr = new ReceiveResultDTO.CzrBean();
// 操作人姓名
czr.setXm("区坐席");
// 操作人员唯一标识
czr.setId(item.getCreatedBy());
// 所属机构id 网格化区中心id
czr.setSsjgbm("2215");
// 所属机构名称
czr.setSsjg("区中心");
// 所属部门id
czr.setSsbmbm("2215");
// 所属部门名称
czr.setSsbm("区中心");
dto.setCzr(czr);
// 组装好直接推送
String result = cityGridApi.sendItemToCity(dto, PushToCityGridConstant.RECEIVE, "响应接收");
saveLog(item.getItemId(), item.getId(), "响应接收", PushToCityGridConstant.RECEIVE, JSONObject.toJSONString(dto), result);
item.setId(null);
item.setState(ItemGridPlatformHandleStatusEnum.HANDLE_QSJB_JS.getValue());
item.setHandleAdvice("诉求已响应接收。");
item.setOutHandleAdvice("诉求已响应接收。");
item.setCreatedTime(date);
item.setUpdatedTime(date);
itemHandleProcessDao.insert(item);
}
private void extracted(List<String> sqIdList, Integer itemState) {
//50个一组
List<List<String>> partList = ListUtils.partition(sqIdList, NumConstant.FIFTY);

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

@ -28,8 +28,11 @@ import com.elink.esua.epdc.dto.screen.form.EventStatisticsFormDTO;
import com.elink.esua.epdc.dto.screen.result.BarCategoryResultDTO;
import com.elink.esua.epdc.dto.screen.result.EfficiencyEvaluationResultDTO;
import com.elink.esua.epdc.dto.screen.result.EventStatisticsResultDTO;
import com.elink.esua.epdc.dto.screen.result.EventStreetRatioResultDTO;
import com.elink.esua.epdc.modules.screen.excel.ScreenDataExportExcel;
import com.elink.esua.epdc.modules.screen.excel.ScreenDistrictDataExportExcel;
import com.elink.esua.epdc.modules.screen.excel.ScreenReplyExportExcel;
import com.elink.esua.epdc.modules.screen.excel.ScreenSixResponseExportExcel;
import com.elink.esua.epdc.modules.screen.service.ScreenDeptEventEfficiencyService;
import com.elink.esua.epdc.modules.screen.service.ScreenDeptEventStatService;
import lombok.extern.slf4j.Slf4j;
@ -120,6 +123,31 @@ public class ScreenController {
exportList2.forEach(item -> item.setIndex(i.getAndIncrement()));
}
excelWriter.write(exportList2, writeSheet2);
// 统计六小时响应率
List<ScreenSixResponseExportExcel> exportList3 = new ArrayList<>();
WriteSheet writeSheet3 = EasyExcelFactory.writerSheet(3, "6小时维度响应率").head(ScreenSixResponseExportExcel.class).build();
List<EventStreetRatioResultDTO> list3 = screenDeptEventStatService.getSixHoursResponse(formDTO);
if (CollectionUtils.isNotEmpty(list3)) {
exportList3 = list3.stream().map(item -> ConvertUtils.sourceToTarget(item, ScreenSixResponseExportExcel.class)).collect(Collectors.toList());
}
excelWriter.write(exportList3, writeSheet3);
// 一天7小时五天为维度的按期回复率
List<ScreenReplyExportExcel> exportList4 = new ArrayList<>();
WriteSheet writeSheet4 = EasyExcelFactory.writerSheet(4, "一天7小时五天为维度的按期回复率").head(ScreenReplyExportExcel.class).build();
List<EventStreetRatioResultDTO> list4 = screenDeptEventStatService.getReplyRatio(formDTO);
if (CollectionUtils.isNotEmpty(list4)) {
exportList4 = list4.stream().map(item -> ConvertUtils.sourceToTarget(item, ScreenReplyExportExcel.class)).collect(Collectors.toList());
}
excelWriter.write(exportList4, writeSheet4);
} catch (Exception e) {
log.error("export exception", e);
} finally {

14
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenDeptEventStatDao.java

@ -24,6 +24,7 @@ import com.elink.esua.epdc.dto.item.result.YellowRedInfoResultDTO;
import com.elink.esua.epdc.dto.screen.ScreenDeptEventStatDTO;
import com.elink.esua.epdc.dto.screen.form.EventStatisticsFormDTO;
import com.elink.esua.epdc.dto.screen.result.EventStatisticsResultDTO;
import com.elink.esua.epdc.dto.screen.result.EventStreetRatioResultDTO;
import com.elink.esua.epdc.modules.screen.entity.ScreenDeptEventStatEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -114,4 +115,17 @@ public interface ScreenDeptEventStatDao extends BaseDao<ScreenDeptEventStatEntit
*/
List<YellowRedInfoResultDTO> getYellowRedInfo(EventStatisticsFormDTO formDTO);
/**
* 统计六小时响应率
* @param formDTO
* @return
*/
List<EventStreetRatioResultDTO> getSixHoursResponse(EventStatisticsFormDTO formDTO);
/**
* 一天7小时五天为维度的按期回复率
* @param formDTO
* @return
*/
List<EventStreetRatioResultDTO> getReplyRatio(EventStatisticsFormDTO formDTO);
}

21
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/excel/ScreenReplyExportExcel.java

@ -0,0 +1,21 @@
package com.elink.esua.epdc.modules.screen.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
/**
* @Description 一天7小时五天为维度的按期回复率
* @Author lc
* @Date 2023/4/13 10:46
*/
@Data
public class ScreenReplyExportExcel {
@ColumnWidth(20)
@ExcelProperty(value = "街道", order = 1)
private String streetName;
@ColumnWidth(20)
@ExcelProperty(value = "一天7小时五天为维度的按期回复率", order = 2)
private String ratio;
}

21
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/excel/ScreenSixResponseExportExcel.java

@ -0,0 +1,21 @@
package com.elink.esua.epdc.modules.screen.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
/**
* @Description 6小时维度响应率
* @Author lc
* @Date 2023/4/13 10:46
*/
@Data
public class ScreenSixResponseExportExcel {
@ColumnWidth(20)
@ExcelProperty(value = "街道", order = 1)
private String streetName;
@ColumnWidth(20)
@ExcelProperty(value = "6小时维度响应率", order = 2)
private String ratio;
}

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

@ -24,6 +24,7 @@ import com.elink.esua.epdc.dto.screen.form.DataStatisticsFormDTO;
import com.elink.esua.epdc.dto.screen.form.EventStatisticsFormDTO;
import com.elink.esua.epdc.dto.screen.result.BarCategoryResultDTO;
import com.elink.esua.epdc.dto.screen.result.EventStatisticsResultDTO;
import com.elink.esua.epdc.dto.screen.result.EventStreetRatioResultDTO;
import com.elink.esua.epdc.modules.screen.entity.ScreenDeptEventStatEntity;
import java.util.List;
@ -76,4 +77,17 @@ public interface ScreenDeptEventStatService extends BaseService<ScreenDeptEventS
*/
List<EventStatisticsResultDTO> getScreenExportData(EventStatisticsFormDTO formDTO);
/**
* 一天7小时五天为维度的按期回复率
* @param formDTO
* @return
*/
List<EventStreetRatioResultDTO> getReplyRatio(EventStatisticsFormDTO formDTO);
/**
* 统计六小时响应率
* @param formDTO
* @return
*/
List<EventStreetRatioResultDTO> getSixHoursResponse(EventStatisticsFormDTO formDTO);
}

20
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenDeptEventStatServiceImpl.java

@ -248,6 +248,26 @@ public class ScreenDeptEventStatServiceImpl extends BaseServiceImpl<ScreenDeptEv
return resultDTOList;
}
/**
* 一天7小时五天为维度的按期回复率
* @param formDTO
* @return
*/
@Override
public List<EventStreetRatioResultDTO> getReplyRatio(EventStatisticsFormDTO formDTO) {
return baseDao.getReplyRatio(formDTO);
}
/**
* 统计六小时响应率
* @param formDTO
* @return
*/
@Override
public List<EventStreetRatioResultDTO> getSixHoursResponse(EventStatisticsFormDTO formDTO) {
return baseDao.getSixHoursResponse(formDTO);
}
/**
* 获取满意度和满意率
*

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

@ -544,21 +544,21 @@
<if test="isRemind != null and isRemind != ''">
(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 > 6) then '红灯'
when (getworkminute(item.CREATED_TIME,now()) / 60 > 4 and getworkminute(item.CREATED_TIME,now()) / 60 &lt;=6) then '黄灯'
when (getworkminute(item.CREATED_TIME,now()) / 60 &lt;= 4) then '绿灯' else '' end) as lamp,
(
case when (getworkminute(item.CREATED_TIME,now()) / 60 > 8)
case when (getworkminute(item.CREATED_TIME,now()) / 60 > 6)
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)
case when (getworkminute(item.CREATED_TIME,now()) - 360) &lt; 60
then concat((getworkminute(item.CREATED_TIME,now()) - 360),'分钟')
else concat((ROUND(getworkminute(item.CREATED_TIME,now()) / 60,1) - 6),'小时') 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)
case when (360 - getworkminute(item.CREATED_TIME,now())) &lt; 60
then concat((360 - getworkminute(item.CREATED_TIME,now())),'分钟')
else concat((6 - ROUND((getworkminute(item.CREATED_TIME,now()) / 60),1)),'小时') end)
end
) as remainTime,
</if>
@ -677,25 +677,25 @@
eve.COMMENT_NUM,
eve.BROWSE_NUM,
case when (getworkminute(item.CREATED_TIME,now()) / 60 > 8) then '1'
when (getworkminute(item.CREATED_TIME,now()) / 60 > 6 and getworkminute(item.CREATED_TIME,now()) / 60 &lt;=8) then '2'
when (getworkminute(item.CREATED_TIME,now()) / 60 &lt;= 6) then '3' else '' end as isRemind,
case when (getworkminute(item.CREATED_TIME,now()) / 60 > 6) then '1'
when (getworkminute(item.CREATED_TIME,now()) / 60 > 4 and getworkminute(item.CREATED_TIME,now()) / 60 &lt;=6) then '2'
when (getworkminute(item.CREATED_TIME,now()) / 60 &lt;= 4) then '3' 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 > 6) then '红灯'
when (getworkminute(item.CREATED_TIME,now()) / 60 > 4 and getworkminute(item.CREATED_TIME,now()) / 60 &lt;=6) then '黄灯'
when (getworkminute(item.CREATED_TIME,now()) / 60 &lt;= 4) then '绿灯' else '' end) as lamp,
(
case when (getworkminute(item.CREATED_TIME,now()) / 60 > 8)
case when (getworkminute(item.CREATED_TIME,now()) / 60 > 6)
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)
case when (getworkminute(item.CREATED_TIME,now()) - 360) &lt; 60
then concat((getworkminute(item.CREATED_TIME,now()) - 360),'分钟')
else concat((ROUND(getworkminute(item.CREATED_TIME,now()) / 60,1) - 6),'小时') 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)
case when (360 - getworkminute(item.CREATED_TIME,now())) &lt; 60
then concat((360 - getworkminute(item.CREATED_TIME,now())),'分钟')
else concat((6 - ROUND((getworkminute(item.CREATED_TIME,now()) / 60),1)),'小时') end)
end
) as remainTime,
@ -2118,29 +2118,29 @@
i.SOLUTION_INFO,
if(i.SOLUTION_INFO=01,'解决',if(i.SOLUTION_INFO=02,'基本解决',if(i.SOLUTION_INFO=03,'未解决',''))) as solutionInfoName,
i.CREATED_TIME,
case when (getworkminute(i.CREATED_TIME,now()) / 60 > 8) then '1'
when (getworkminute(i.CREATED_TIME,now()) / 60 > 6 and getworkminute(i.CREATED_TIME,now()) / 60 &lt;=8) then '2'
when (getworkminute(i.CREATED_TIME,now()) / 60 &lt;= 6) then '3' else '' end as isRemind,
case when (getworkminute(i.CREATED_TIME,now()) / 60 > 6) then '1'
when (getworkminute(i.CREATED_TIME,now()) / 60 > 4 and getworkminute(i.CREATED_TIME,now()) / 60 &lt;=6) then '2'
when (getworkminute(i.CREATED_TIME,now()) / 60 &lt;= 4) then '3' else '' end as isRemind,
(
CASE
WHEN ( getworkminute ( i.CREATED_TIME, now()) / 60 > 8 ) THEN
WHEN ( getworkminute ( i.CREATED_TIME, now()) / 60 > 6 ) THEN
concat(
'超时',
CASE
WHEN ( getworkminute ( i.CREATED_TIME, now()) - 480 ) &lt; 60 THEN
concat(( getworkminute ( i.CREATED_TIME, now()) - 480 ), '分钟' ) ELSE concat(( ROUND( getworkminute ( i.CREATED_TIME, now()) / 60, 1 ) - 8 ), '小时' )
WHEN ( getworkminute ( i.CREATED_TIME, now()) - 360 ) &lt; 60 THEN
concat(( getworkminute ( i.CREATED_TIME, now()) - 360 ), '分钟' ) ELSE concat(( ROUND( getworkminute ( i.CREATED_TIME, now()) / 60, 1 ) - 6 ), '小时' )
END
) ELSE concat(
'剩余',
CASE
WHEN (
480 - getworkminute (
360 - getworkminute (
i.CREATED_TIME,
now())) &lt; 60 THEN
concat(( 480 - getworkminute ( i.CREATED_TIME, now())), '分钟' ) ELSE concat(( 8 - ROUND(( getworkminute ( i.CREATED_TIME, now()) / 60 ), 1 )), '小时' )
concat(( 360 - getworkminute ( i.CREATED_TIME, now())), '分钟' ) ELSE concat(( 6 - ROUND(( getworkminute ( i.CREATED_TIME, now()) / 60 ), 1 )), '小时' )
END
)
END
@ -2276,9 +2276,9 @@
i.GRID as gridName,
SUBSTRING_INDEX(REPLACE(i.PARENT_DEPT_NAMES,'市北区委-',''),'-',1) as streetName,
SUBSTRING_INDEX(REPLACE(i.PARENT_DEPT_NAMES,'市北区委-',''),'-',-1) as communityName,
case when (getworkminute(i.CREATED_TIME,now()) / 60 > 8) then '1'
when (getworkminute(i.CREATED_TIME,now()) / 60 > 6 and getworkminute(i.CREATED_TIME,now()) / 60 &lt;=8) then '2'
when (getworkminute(i.CREATED_TIME,now()) / 60 &lt;= 6) then '3' else '' end as isRemind,
case when (getworkminute(i.CREATED_TIME,now()) / 60 > 6) then '1'
when (getworkminute(i.CREATED_TIME,now()) / 60 > 4 and getworkminute(i.CREATED_TIME,now()) / 60 &lt;=6) then '2'
when (getworkminute(i.CREATED_TIME,now()) / 60 &lt;= 4) then '3' else '' end as isRemind,
CASE i.ITEM_STATE
WHEN '0' THEN '处理中'
WHEN '10' THEN '已结案'
@ -2641,8 +2641,8 @@
SUM(a.ITEM_STATE='10')closedTotal,
sum((case when a.item_state='0' and b.state = 1001 then 1 else 0 end))pendingTotal,
sum((case when a.item_state='0' and b.state != 1001 then 1 else 0 end))processingTotal,
sum((case when b.handleId is null and a.item_state='0' and getworkminute(a.created_time, now()) > 480 then 1 else 0 end))redTotal,
sum((case when b.handleId is null and a.item_state = '0' and (getworkminute(a.created_time, now()) BETWEEN 360 and 480) then 1 else 0 end))yellowTotal
sum((case when b.handleId is null and a.item_state='0' and getworkminute(a.created_time, now()) > 360 then 1 else 0 end))redTotal,
sum((case when b.handleId is null and a.item_state = '0' and (getworkminute(a.created_time, now()) BETWEEN 240 and 360) then 1 else 0 end))yellowTotal
FROM
epdc_item a
LEFT JOIN (
@ -2771,19 +2771,19 @@
</if>
<choose>
<when test='lamp != null and lamp == "red"'>
and process.handleId is null and i.item_state='0' and getworkminute(i.created_time, now()) > 480
and process.handleId is null and i.item_state='0' and getworkminute(i.created_time, now()) > 360
</when>
<when test='lamp != null and lamp == "yellow"'>
and process.handleId is null
and i.item_state='0'
and (getworkminute(i.created_time, now()) BETWEEN 360 and 480 )
and (getworkminute(i.created_time, now()) BETWEEN 240 and 360 )
</when>
<when test='lamp != null and lamp == "green"'>
<!-- 绿灯指的是未结案的数据中上报到网格化的或者是没有上报到网格化但是时间没有超过六小时的 -->
and i.item_state='0'
and (
process.handleId is not null
or getworkminute(i.created_time, now()) <![CDATA[ <= ]]> 360
or getworkminute(i.created_time, now()) <![CDATA[ <= ]]> 240
)
</when>
<otherwise></otherwise>

56
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/screen/ScreenDeptEventStatDao.xml

@ -358,7 +358,7 @@
SELECT
item.ALL_DEPT_IDS,
count(item.ID) as total,
count((getworkminute(item.CREATED_TIME,process.CREATED_TIME) / 60 &lt;= 8) or null) value
count((getworkminute(item.CREATED_TIME,process.CREATED_TIME) / 60 &lt;= 6) or null) value
FROM epdc_item item
left join (
select b.ID,b.ITEM_ID,b.CREATED_TIME,b.state
@ -422,8 +422,8 @@
left join (
SELECT
aa.ALL_DEPT_IDS,
sum((case when bb.handleId is null and aa.item_state='0' and getworkminute(aa.created_time, now()) > 480 then 1 else 0 end)) redNum,
sum((case when bb.handleId is null and aa.item_state = '0' and (getworkminute(aa.created_time, now()) BETWEEN 360 and 480) then 1 else 0 end))yellowNum
sum((case when bb.handleId is null and aa.item_state='0' and getworkminute(aa.created_time, now()) > 360 then 1 else 0 end)) redNum,
sum((case when bb.handleId is null and aa.item_state = '0' and (getworkminute(aa.created_time, now()) BETWEEN 240 and 360) then 1 else 0 end))yellowNum
FROM epdc_item aa
LEFT JOIN (
select h.id,h.item_id,h.created_time,h.state,p.id as handleId
@ -587,4 +587,54 @@
GROUP BY a.id
ORDER BY a.sort, CONVERT(a.`name` USING gbk) ASC
</select>
<select id="getSixHoursResponse"
resultType="com.elink.esua.epdc.dto.screen.result.EventStreetRatioResultDTO">
SELECT
SUBSTRING_INDEX( i.PARENT_DEPT_NAMES, '-', 2 ) as streetName,
COUNT(
IF
(getworkminute(b.CREATED_TIME,a.CREATED_TIME)
&lt; 480 ,1, NULL ))/COUNT(1) as ratio
FROM
( SELECT l1.CREATED_TIME, l1.ITEM_ID FROM epdc_item_report_interface_log l1 WHERE l1.INTERFACE_NAME = '响应接收' ) a
LEFT JOIN ( SELECT l2.CREATED_TIME, l2.ITEM_ID FROM epdc_item_report_interface_log l2 WHERE l2.INTERFACE_NAME LIKE '诉求登记%' ) b ON a.ITEM_ID = b.ITEM_ID
LEFT JOIN epdc_item i ON i.ID = a.ITEM_ID
WHERE
b.CREATED_TIME IS NOT NULL
<if test="startDate != null and startDate != ''">
and i.CREATED_TIME &gt;= #{startDate}
</if>
<if test="endDate != null and endDate != ''">
and i.CREATED_TIME &lt;= #{endDate}
</if>
GROUP BY
SUBSTRING_INDEX( i.PARENT_DEPT_NAMES, '-', 2 );
</select>
<select id="getReplyRatio" resultType="com.elink.esua.epdc.dto.screen.result.EventStreetRatioResultDTO">
SELECT
SUBSTRING_INDEX( i.PARENT_DEPT_NAMES, '-', 2 ) as streetName,
COUNT(
IF
(getworkminute(b.CREATED_TIME,a.CREATED_TIME) &lt; 2100 ,1, NULL ))/COUNT(1) as ratio
FROM
( SELECT l1.CREATED_TIME, l1.ITEM_ID FROM epdc_item_report_interface_log l1 WHERE l1.INTERFACE_NAME = '诉求审核' ) a
LEFT JOIN ( SELECT l2.CREATED_TIME, l2.ITEM_ID FROM epdc_item_report_interface_log l2 WHERE l2.INTERFACE_NAME = '响应接收' ) b ON a.ITEM_ID = b.ITEM_ID
LEFT JOIN epdc_item i ON i.ID = a.ITEM_ID
WHERE
b.CREATED_TIME IS NOT NULL
<if test="startDate != null and startDate != ''">
and i.CREATED_TIME &gt;= #{startDate}
</if>
<if test="endDate != null and endDate != ''">
and i.CREATED_TIME &lt;= #{endDate}
</if>
GROUP BY
SUBSTRING_INDEX( i.PARENT_DEPT_NAMES, '-', 2 );
</select>
</mapper>

Loading…
Cancel
Save