Browse Source

Merge branch 'feature/bssb_screen' into feature/shenyan_shangbao

# Conflicts:
#	esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java
#	esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java
feature/dangjian
wanggongfeng 3 years ago
parent
commit
672219c1d5
  1. 5
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/ScreenTotalFormDTO.java
  2. 3
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/CategoryAnalysisPieResultDTO.java
  3. 5
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/ItemHandleCategoryEnum.java
  4. 42
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java
  5. 3
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java
  6. 31
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java
  7. 153
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java
  8. 5
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenServiceImpl.java
  9. 96
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml

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

@ -39,6 +39,11 @@ public class ScreenTotalFormDTO implements Serializable {
*/
private String yearMonth;
/**
* 是否查询其他数据(0:1)
*/
private String isElse;
/**
* 时间数组
*/

3
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/CategoryAnalysisPieResultDTO.java

@ -3,6 +3,9 @@ package com.elink.esua.epdc.dto.item.result;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 大屏-类别分析-返回值DTO

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

@ -24,6 +24,11 @@ public enum ItemHandleCategoryEnum {
HANDLE_CLOSING_CASE(10, "结案"),
HANDLE_CLOSING_CASE_APPLY(11, "结案申请"), // 之前的结案 2022.9.4需求变更
HANDLE_I_HANDLE_GRID_TOP(1001, "响应拟办"), // 等同于网格回应 2022.9.4项目发布时使用
HANDLE_I_HANDLE_CHECK_APPLY(1002, "终验申请"), // 终验申请
HANDLE_I_HANDLE_CHECK_AGREE(1003, "终验同意"), // 终验同意
HANDLE_I_HANDLE_CHECK_UN_AGREE(1004, "终验不同意"), // 终验不同意
HANDLE_REPORT(15, "社区吹哨");// 之前的上报网格化平台 2022.9.4需求变更
private int value;

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

@ -454,5 +454,47 @@ 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("gov/case/supervise")
public Result supervise(@RequestBody AppealSuperviseResultDTO formDto) {
ValidatorUtils.validateEntity(formDto);
return itemService.supervise(formDto);
}
/**
* 接受市平台吹哨驳回
*
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author zhy
* @date 2022/10/21 16:13
*/
@PostMapping("gov/case/whistle/reportreject")
public Result reportReject(@RequestBody AppealWhistleReportRejectResultDTO formDto) {
ValidatorUtils.validateEntity(formDto);
return itemService.reportReject(formDto);
}
/**
* 接受市平台吹哨反馈
*
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author zhy
* @date 2022/10/21 16:13
*/
@PostMapping("gov/case/whistle/feedback")
public Result feedback(@RequestBody AppealWhistleFeedbackResultDTO formDto) {
ValidatorUtils.validateEntity(formDto);
return itemService.feedback(formDto);
}
}

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

@ -474,7 +474,8 @@ public interface ItemDao extends BaseDao<ItemEntity> {
* @param formDTO
* @return
*/
List<CategoryAnalysisPieResultDTO> categoryAnalysis(ScreenTotalFormDTO formDTO);
List<CategoryAnalysisPieResultDTO> categoryAnalysisFirst(ScreenTotalFormDTO formDTO);
List<CategoryAnalysisPieResultDTO> categoryAnalysisSecond(ScreenTotalFormDTO formDTO);
/**
* 满意度统计

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

@ -663,6 +663,37 @@ 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 supervise(AppealSuperviseResultDTO formDto);
/**
* 接受市平台吹哨驳回
*
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author zhy
* @date 2022/10/21 16:16
*/
Result reportReject(AppealWhistleReportRejectResultDTO formDto);
/**
* 接受市平台吹哨反馈
*
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author zhy
* @date 2022/10/21 16:16
*/
Result feedback(AppealWhistleFeedbackResultDTO formDto);
/**
* 诉求变为可评价
*

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

@ -2712,6 +2712,7 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
wrapper.eq("item_id", itemId);
wrapper.eq("created_by", "网格化平台");
wrapper.eq("del_flag", NumConstant.ZERO_STR);
// 任何主动在流程表里插入的网格化操作都应该在过滤列表中,为了能够正常拉取网格化流程数据
wrapper.notIn("state", ItemGridPlatformHandleStatusEnum.HANDLE_BH.getValue(), ItemGridPlatformHandleStatusEnum.HANDLE_JA.getValue());
wrapper.orderByDesc("created_time");
wrapper.last("limit 1");
@ -2838,9 +2839,14 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
} else if (ItemGridPlatformHandleStatusEnum.HANDLE_ZCZ.getValue() == dto.getState() || ItemGridPlatformHandleStatusEnum.HANDLE_XSSQ.getValue() == dto.getState()) {
pushToCityGridService.again(dto);//再处置、向上申请时判断上个节点是退回则(2.9 退件审核)结果为通过
} else if (ItemGridPlatformHandleStatusEnum.HANDLE_DB.getValue() == dto.getState()) {
//诉求督办
pushToCityGridService.appealSupervise(dto);
} else if (ItemGridPlatformHandleStatusEnum.HANDLE_XFPJ.getValue() == dto.getState()) {
//诉求督办10.20废弃
// pushToCityGridService.appealSupervise(dto);
} else if (ItemGridPlatformHandleStatusEnum.HANDLE_XFHC.getValue() == dto.getState()) {
//初验申请
pushToCityGridService.earlyInspectionApply(dto);
} else if (ItemGridPlatformHandleStatusEnum.HANDLE_HCSB.getValue() == dto.getState()) {
//诉求初验
pushToCityGridService.earlyInspection(dto);
//诉求终验
pushToCityGridService.endInspection(dto);
} else if (ItemGridPlatformHandleStatusEnum.HANDLE_ZF.getValue() == dto.getState()) {
@ -3701,6 +3707,7 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
return new Result().error("未查到相关事件信息");
}
// 插入项目处理进度表
String firstHandleId = "";
ItemHandleProcessDTO itemHandleProcessDto = new ItemHandleProcessDTO();
itemHandleProcessDto.setId(UUID.randomUUID().toString().replaceAll("-", ""));
itemHandleProcessDto.setItemId(itemPlat.getReferenceId());
@ -3731,17 +3738,6 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
//吹哨
itemHandleProcessDto.setOutHandleAdvice(formDto.getHandleAdvice() + "h_s办理人:" + item.getHandlePeopleName() + ",联系电话:" + item.getHandlePeopleMobile());
} else {
/*
//内容组成:第一个发起结案申请+办理人:XXX+办理电话:XXX。换行(前端处理) 感谢您的支持,“北尚诉办”全程为您服务!
ItemHandleProcessEntity firsthandleProcess = baseDao.selectFirstHandleProcessByItemId(itemPlat.getReferenceId());
// 结案去掉本系统拼接的办理人信息(2022-09-30 修改 wgf)
String handleAdvice = "";
if(StringUtils.isNotBlank(firsthandleProcess.getHandleAdvice())){
handleAdvice = firsthandleProcess.getHandleAdvice();
handleAdvice= handleAdvice.substring(0,handleAdvice.lastIndexOf(" 办理人:"));
}
itemHandleProcessDto.setOutHandleAdvice(handleAdvice+"h_s办理人:"+item.getHandlePeopleName()+",联系电话:"+item.getHandlePeopleMobile());
*/
//内容组成:第一个发起结案申请+办理人:XXX+办理电话:XXX。换行(前端处理) 感谢您的支持,“北尚诉办”全程为您服务!没有结案申请就取网格化结案状态流程数据
ItemHandleProcessEntity firsthandleProcess = baseDao.selectFirstHandleProcessByItemId(itemPlat.getReferenceId(), ItemGridPlatformHandleStatusEnum.HANDLE_SQ.getValue());
if (firsthandleProcess == null) {
@ -3749,9 +3745,11 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
if (firsthandleProcess == null) {
itemHandleProcessDto.setOutHandleAdvice("办理人:" + item.getHandlePeopleName() + ",联系电话:" + item.getHandlePeopleMobile());
} else {
firstHandleId = firsthandleProcess.getId();
itemHandleProcessDto.setOutHandleAdvice(firsthandleProcess.getHandleAdvice() + "h_s办理人:" + item.getHandlePeopleName() + ",联系电话:" + item.getHandlePeopleMobile());
}
} else {
firstHandleId = firsthandleProcess.getId();
itemHandleProcessDto.setOutHandleAdvice(firsthandleProcess.getHandleAdvice() + "h_s办理人:" + item.getHandlePeopleName() + ",联系电话:" + item.getHandlePeopleMobile());
}
@ -3779,6 +3777,17 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
itemHandleProcessDto.setCreatedTime(null == formDto.getCreatedTime() ? new Date() : formDto.getCreatedTime());
itemHandleProcessDto.setUpdatedTime(new Date());
itemHandleProcessService.saveItemHandleProcess(itemHandleProcessDto);
if(StringUtils.isNotBlank(firstHandleId)){
// 插入第一级结案申请时的图片
List<ImgEntity> imageList = imgDao.selectListByRefeId(firstHandleId);
for(ImgEntity imgEntity : imageList){
imgEntity.setId(null);
imgEntity.setReferenceId(itemHandleProcessDto.getId());
imgDao.insert(imgEntity);
}
}
try {
//网格化平台结案/驳回操作增加的推送数据到市平台逻辑报错不能影响原有程序流程
if ("1".equals(formDto.getState())) {
@ -3802,8 +3811,10 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
}
successFlag = YesOrNoEnum.YES.value();
// 保存接口调用日志
String message = formDto.getP_recId();
message = message + ":" + formDto;
this.saveInterfaceLog(itemPlat.getReferenceId(), InterfaceLogBusinessTypeEnum.ACCEPT_ITEM_PROCESS.getValue(),
ApiConstants.acceptItemProcess, successFlag, formDto.getP_recId(), returnMsgBody);
ApiConstants.acceptItemProcess, successFlag, message, returnMsgBody);
return new Result().ok("操作成功");
}
@ -3839,49 +3850,6 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
return 0 == process.getState() || 15 == process.getState();
}
/**
* 领域类别处理
*
* @param
* @return void
* @author zhy
* @date 2022/9/6 21:14
*/
private void lbHandle(SendEventFormDto dto, String secondCategory) {
if (StringUtils.isNotBlank(secondCategory)) {
int length = secondCategory.length();
if (length % 2 == 0) {
// 偶数
} else {
// 奇数
secondCategory = "0" + secondCategory;
}
if (length > 2) {
// 每隔2位加一个逗号
secondCategory = secondCategory.replaceAll("(.{2})", "$1,");
String[] categoryList = secondCategory.split(",");
if (categoryList.length == NumConstant.TWO) {
// 事件大类
dto.setSJDL(categoryList[1]);
} else if (categoryList.length == NumConstant.THREE) {
// 事件大类
dto.setSJDL(categoryList[1]);
//事件小类
dto.setSJXL(categoryList[2]);
} else if (categoryList.length == NumConstant.FOUR) {
// 事件大类
dto.setSJDL(categoryList[1]);
//事件小类
dto.setSJXL(categoryList[2]);
//事件细类
dto.setSJXIL(categoryList[3]);
}
}
}
}
/**
* 处理中流程的当前处理部门
*
@ -3942,10 +3910,62 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
@Override
public List<CategoryAnalysisPieResultDTO> categoryAnalysis(ScreenTotalFormDTO formDTO) {
// 返回值
List<CategoryAnalysisPieResultDTO> resultList = new ArrayList<CategoryAnalysisPieResultDTO>();
if("0".equals(formDTO.getIsElse())){
// 城市综合
// 定义初始【城市综合】5大类
List<String> cityCompre = new ArrayList<>();
cityCompre.add("城市综合-交通运输");
cityCompre.add("城市综合-城市管理");
cityCompre.add("城市综合-城管执法");
cityCompre.add("城市综合-环境保护");
cityCompre.add("城市综合-居民生活");
// 获取分类全部数据
List<CategoryAnalysisPieResultDTO> list = baseDao.categoryAnalysisSecond(formDTO);
// 其他总数
Integer elseValue = 0;
for(CategoryAnalysisPieResultDTO dto : list){
if(cityCompre.contains(dto.getName())){
String newName = dto.getName();
dto.setName(newName.replace("城市综合-",""));
resultList.add(dto);
}else{
elseValue += Integer.parseInt(dto.getValue());
}
List<CategoryAnalysisPieResultDTO> list = baseDao.categoryAnalysis(formDTO);
}
// 定义【其他】
CategoryAnalysisPieResultDTO elseCategory = new CategoryAnalysisPieResultDTO();
elseCategory.setCode("其他");
elseCategory.setName("其他");
elseCategory.setValue(elseValue.toString());
resultList.add(elseCategory);
}else{
// 其他
// 总数
Integer total = 0;
List<CategoryAnalysisPieResultDTO> list = baseDao.categoryAnalysisFirst(formDTO);
for(CategoryAnalysisPieResultDTO dto1 : list){
total += Integer.parseInt(dto1.getValue());
}
for(CategoryAnalysisPieResultDTO dto2 : list){
if(!"城市综合".equals(dto2.getName())){
BigDecimal value = BigDecimal.valueOf(Integer.parseInt(dto2.getValue()));
BigDecimal totalBig = BigDecimal.valueOf(total);
BigDecimal proportion = value .divide(totalBig,2, RoundingMode.HALF_UP);
dto2.setProportion(proportion + "%");
resultList.add(dto2);
}
}
return list;
}
return resultList;
}
@Override
@ -4061,6 +4081,10 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
return baseDao.getItemListByAddress(params);
}
@Override
public Result supervise(AppealSuperviseResultDTO formDto){
return new Result();
}
/**
* 诉求变为可评价
*
@ -4152,4 +4176,13 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
@Override
public Result reportReject(AppealWhistleReportRejectResultDTO formDto){
return new Result();
}
@Override
public Result feedback(AppealWhistleFeedbackResultDTO formDto){
return new Result();
}
}

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

@ -17,6 +17,7 @@
package com.elink.esua.epdc.modules.screen.service.impl;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.DeptDTO;
@ -72,6 +73,10 @@ public class ScreenServiceImpl implements ScreenService {
}
//2.按条件统计数据
resultDTO = itemDao.itemDailyStatis(formDTO);
int greenTotal = resultDTO.getPendingTotal() + resultDTO.getProcessingTotal() - resultDTO.getRedTotal() - resultDTO.getYellowTotal();
if (greenTotal > NumConstant.ZERO) {
resultDTO.setGreenTotal(greenTotal);
}
return resultDTO;
}

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

@ -578,6 +578,9 @@
and (process.state is not null and process.state not in (11,14,15))
and (item.IS_PEOPLE = '0' or (item.IS_PEOPLE = '1' and item.PEOPLE_FLAG = '0'))
</if>
<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)
@ -2177,21 +2180,18 @@
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 a.item_state='0' and getworkminute(a.created_time, now()) > 480 then 1 else 0 end))redTotal,
sum(
(case when a.item_state = '0'
and getworkminute(a.created_time, now()) > 360
and getworkminute(a.created_time, now())<![CDATA[ <= ]]> 480
then 1 else 0 end)
)yellowTotal,
sum((case when a.item_state = '0' and getworkminute(a.created_time, now())<![CDATA[ <= ]]> 360 then 1 else 0 end))greenTotal
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
FROM
epdc_item a
LEFT JOIN (
select h.id,h.item_id,h.created_time,h.state
select h.id,h.item_id,h.created_time,h.state,p.id as handleId
<!-- 此处关联主表增加主表查询条件为了提升查询效率 -->
from epdc_item ei
inner join epdc_item_handle_process h on ei.id = h.item_id
LEFT JOIN (
select id,item_id FROM epdc_item_handle_process where handler_dept = '网格化平台' and del_flag = '0' group by item_id
) p ON ei.id = p.item_id
where ei.is_people = '1'
and ei.del_flag = '0'
AND ei.event_id is NULL
@ -2243,8 +2243,11 @@
epdc_item i
INNER JOIN (
SELECT
b.id, b.item_id, b.created_time, b.state
b.id, b.item_id, b.created_time, b.state, p.id as handleId
FROM epdc_item_handle_process b
LEFT JOIN (
select id,item_id FROM epdc_item_handle_process where handler_dept = '网格化平台' and del_flag = '0' group by item_id
) p ON b.item_id = p.item_id
WHERE b.del_flag = '0'
AND b.created_time = (
SELECT max(created_time)
@ -2299,13 +2302,38 @@
AND DATE_FORMAT(i.created_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{statDate}
</if>
<!-- 增加入参code 在类别分析页面点击饼图时需要展示列表因此增加入参共用列表接口 王gf-->
<if test="code != null and code != ''">
<if test='isElse != null and isElse == "1" and code != null and code != ""'>
AND SUBSTRING_INDEX(i.category_full_code,'-',1) = #{code}
</if>
<if test='isElse != null and isElse == "0" and code != null and code != ""'>
AND SUBSTRING_INDEX(i.category_full_code,'-',2) = #{code}
</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
</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 )
</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
)
</when>
<otherwise></otherwise>
</choose>
<if test="evaluationScore != null and evaluationScore != ''">
AND i.evaluation_score = #{evaluationScore}
</if>
order by i.created_time DESC
</select>
<select id="categoryAnalysis" resultType="com.elink.esua.epdc.dto.item.result.CategoryAnalysisPieResultDTO"
<select id="categoryAnalysisFirst" resultType="com.elink.esua.epdc.dto.item.result.CategoryAnalysisPieResultDTO"
parameterType="com.elink.esua.epdc.dto.item.form.ScreenTotalFormDTO">
select
SUBSTRING_INDEX(item.CATEGORY_FULL_NAME,'-',1) as name,
@ -2329,6 +2357,30 @@
group by SUBSTRING_INDEX(item.CATEGORY_FULL_NAME,'-',1)
ORDER BY count(item.ID) desc
</select>
<select id="categoryAnalysisSecond" resultType="com.elink.esua.epdc.dto.item.result.CategoryAnalysisPieResultDTO"
parameterType="com.elink.esua.epdc.dto.item.form.ScreenTotalFormDTO">
select
SUBSTRING_INDEX(item.CATEGORY_FULL_NAME,'-',2) as name,
SUBSTRING_INDEX(item.CATEGORY_FULL_CODE,'-',2) as code,
count(item.ID) as value
from epdc_item item
where item.DEL_FLAG = '0'
and item.IS_PEOPLE = '1'
and item.EVENT_ID is null
and item.ISSUE_ID is null
and SUBSTRING_INDEX(item.CATEGORY_FULL_NAME,'-',1) != '其他'
<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="deptId != null and deptId != ''">
AND find_in_set(#{deptId},item.ALL_DEPT_IDS)
</if>
<if test="peopleFlag != null and peopleFlag != ''">
AND item.PEOPLE_FLAG = #{peopleFlag}
</if>
group by SUBSTRING_INDEX(item.CATEGORY_FULL_NAME,'-',2)
ORDER BY count(item.ID) desc
</select>
<select id="evaluationTotal" resultType="com.elink.esua.epdc.dto.item.result.EvaluationTotalPieResultDTO"
parameterType="com.elink.esua.epdc.dto.item.form.ScreenTotalFormDTO">
@ -2364,12 +2416,13 @@
parameterType="com.elink.esua.epdc.dto.item.form.ScreenTotalFormDTO">
select
DATE_FORMAT(item.CREATED_TIME,'%Y-%m-%d') as time,
count(item.EVALUATION_SCORE = 0 or null) as bmy,
count(item.EVALUATION_SCORE = 1 or null) as jbmy,
count(item.EVALUATION_SCORE = 2 or null) as fcmy
ROUND(count(item.EVALUATION_SCORE = 0 or null) / count(item.ID) * 100,1) as bmy,
ROUND(count(item.EVALUATION_SCORE = 1 or null) / count(item.ID) * 100,1) as jbmy,
ROUND(count(item.EVALUATION_SCORE = 2 or null) / count(item.ID) * 100,1) as fcmy
from epdc_item item
where item.DEL_FLAG = '0'
and item.IS_PEOPLE = '1'
and item.ITEM_STATE = '10'
and item.EVENT_ID is null
and item.ISSUE_ID is null
and SUBSTRING_INDEX(item.CATEGORY_FULL_NAME,'-',1) != '其他'
@ -2395,9 +2448,9 @@
parameterType="com.elink.esua.epdc.dto.item.form.ScreenTotalFormDTO">
select
DATE_FORMAT(item.CREATED_TIME,'%Y-%m') as time,
count(item.EVALUATION_SCORE = 0 or null) as bmy,
count(item.EVALUATION_SCORE = 1 or null) as jbmy,
count(item.EVALUATION_SCORE = 2 or null) as fcmy
ROUND(count(item.EVALUATION_SCORE = 0 or null) / count(item.ID) * 100,1) as bmy,
ROUND(count(item.EVALUATION_SCORE = 1 or null) / count(item.ID) * 100,1) as jbmy,
ROUND(count(item.EVALUATION_SCORE = 2 or null) / count(item.ID) * 100,1) as fcmy
from epdc_item item
where item.DEL_FLAG = '0'
and item.IS_PEOPLE = '1'
@ -2427,8 +2480,11 @@
a.id id,
a.item_content itemContent,
a.issue_latitude latitude,
a.issue_longitude longitude,
a.issue_longitude longitude
<if test="longitude != null and longitude != '' and latitude != null and latitude != ''">
,
round((st_distance_sphere(point(#{longitude}, #{latitude}), point(a.ISSUE_LONGITUDE, a.ISSUE_LATITUDE))) / 1000 ,1) as km
</if>
FROM
epdc_item a
INNER JOIN (
@ -2454,7 +2510,9 @@
<if test="statDate != null and statDate != ''">
AND DATE_FORMAT(a.created_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{statDate}
</if>
<if test="longitude != null and longitude != '' and latitude != null and latitude != ''">
HAVING km <![CDATA[ <= ]]> 10
</if>
ORDER BY
a.created_time DESC,
a.all_dept_ids ASC

Loading…
Cancel
Save