Browse Source

市北标记、导出、手机号、分类

feature/dangjian
lichao 3 years ago
parent
commit
f304703d91
  1. 4
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/ItemPendingHandleDTO.java
  2. 22
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/ItemChangeRepeatDTO.java
  3. 5
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/ItemAppealPageResultDTO.java
  4. 70
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java
  5. 5
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/ItemEntity.java
  6. 93
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/excel/ItemAppealExcel.java
  7. 10
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java
  8. 55
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java
  9. 6
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml

4
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/ItemPendingHandleDTO.java

@ -128,4 +128,8 @@ public class ItemPendingHandleDTO implements Serializable {
*/
private String processState;
private Integer repeatFlag;
private String repeatFlagName;
}

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

@ -0,0 +1,22 @@
package com.elink.esua.epdc.dto.item.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 重复数据
*
* @author zhy
* @date 2022/11/29 10:18
*/
@Data
public class ItemChangeRepeatDTO implements Serializable {
private static final long serialVersionUID = 1L;
private String itemId;
private Integer repeatFlag;
}

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

@ -30,6 +30,11 @@ public class ItemAppealPageResultDTO implements Serializable {
*/
private String nickName;
/**
* 手机号
*/
private String mobile;
/**
* 流水号
*/

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

@ -17,11 +17,22 @@
package com.elink.esua.epdc.modules.item.controller;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.metadata.style.WriteCellStyle;
import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.elink.esua.epdc.commons.tools.annotation.MaskResponse;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.DateUtils;
import com.elink.esua.epdc.commons.tools.utils.ExcelUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.utils.excel.handler.FreezeAndFilter;
import com.elink.esua.epdc.commons.tools.validator.AssertUtils;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
@ -36,6 +47,7 @@ import com.elink.esua.epdc.dto.item.form.*;
import com.elink.esua.epdc.dto.item.result.*;
import com.elink.esua.epdc.dto.result.KpiEvaluationAmountResultDTO;
import com.elink.esua.epdc.dto.result.KpiItemHandleAmountResultDTO;
import com.elink.esua.epdc.modules.item.excel.ItemAppealExcel;
import com.elink.esua.epdc.modules.item.excel.ItemExcel;
import com.elink.esua.epdc.modules.item.excel.ItemTimeoutNewExcel;
import com.elink.esua.epdc.modules.item.excel.StayItemExcel;
@ -43,10 +55,16 @@ import com.elink.esua.epdc.modules.item.redis.ItemAutoProcessRedis;
import com.elink.esua.epdc.modules.item.service.ItemService;
import com.elink.esua.epdc.modules.item.service.ItemTimeoutService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.usermodel.VerticalAlignment;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -402,6 +420,53 @@ public class ItemController {
return new Result<PageData<ItemAppealPageResultDTO>>().ok(page);
}
/**
* @Description: 导出北尚诉求列表
* @param params:
* @param response:
* @Return void
* @Author: lichao
* @Date: 2023/4/23 15:42
*/
@GetMapping("exportItemAppealList")
public void exportItemAppealList(@RequestParam Map<String, Object> params, HttpServletResponse response) throws IOException {
ExcelWriter excelWriter = null;
String name = "诉求列表";
if (params.get("appealType")!=null){
if (params.get("appealType").toString().equals("0")){
name = "民生诉求列表";
}else if (params.get("appealType").toString().equals("1")){
name = "发展诉求列表";
}else if (params.get("appealType").toString().equals("2")){
name = "执法诉求列表";
}
}
try {
String fileName = name + DateUtils.format(new Date()) + ".xlsx";
// 头的策略
WriteCellStyle headWriteCellStyle = new WriteCellStyle();
// 背景设置为红色
headWriteCellStyle.setFillForegroundColor(IndexedColors.PALE_BLUE.getIndex());
WriteCellStyle contentWriteCellStyle = new WriteCellStyle();
contentWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle);
FreezeAndFilter writeHandler = new FreezeAndFilter();
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), ItemAppealExcel.class)
.registerWriteHandler(horizontalCellStyleStrategy)
.registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
.registerWriteHandler(writeHandler).build();
WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build();
List<ItemAppealExcel> list = ConvertUtils.sourceToTarget(itemService.exportList(params), ItemAppealExcel.class);
excelWriter.write(list, writeSheet);
} catch (Exception e) {
log.error(name+"export exception", e);
} finally {
if (excelWriter != null) {
excelWriter.finish();
}
}
}
/**
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData < com.elink.esua.epdc.dto.item.result.ItemAppealPageResultDTO>>
* @describe: 北尚诉求列表(不满意列表)
@ -622,5 +687,10 @@ public class ItemController {
return itemService.processNotice(formDTO);
}
@PostMapping("changeRepeat")
public Result changeRepeat(@RequestBody ItemChangeRepeatDTO dto) {
return itemService.changeRepeat(dto);
}
}

5
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/ItemEntity.java

@ -288,4 +288,9 @@ public class ItemEntity extends BaseEpdcEntity {
* 解决情况
*/
private String solutionInfo;
/**
* 是否重复
*/
private Integer repeatFlag;
}

93
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/excel/ItemAppealExcel.java

@ -0,0 +1,93 @@
package com.elink.esua.epdc.modules.item.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
import java.io.Serializable;
/**
* @Description:
* @Return
* @Author: lichao
* @Date: 2023/4/23 13:58
*/
@Data
public class ItemAppealExcel implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 属事街道
*/
@ExcelProperty(value = "属事街道")
@ColumnWidth(25)
private String streetName;
/**
* 属事社区
*/
@ExcelProperty(value = "属事社区")
@ColumnWidth(25)
private String communityName;
/**
* 属事网格
*/
@ExcelProperty(value = "属事网格")
@ColumnWidth(25)
private String gridName;
/**
* 手机号
*/
@ExcelProperty(value = "手机号")
@ColumnWidth(25)
private String mobile;
/**
* 诉求内容
*/
@ExcelProperty(value = "诉求内容")
@ColumnWidth(25)
private String itemContent;
/**
* 项目状态 0-处理中5-已关闭10-已结案
*/
@ExcelProperty(value = "处理状态")
@ColumnWidth(25)
private String itemStateName;
/**
* 上报时间
*/
@ExcelProperty(value = "上报时间")
@ColumnWidth(25)
private String createdTime;
/**
* 超时时间
*/
@ExcelProperty(value = "事件事件")
@ColumnWidth(25)
private String remainTime;
/**
* 提交人
*/
@ExcelProperty(value = "联系人姓名")
@ColumnWidth(25)
private String nickName;
/**
* 满意度评价名称
*/
@ExcelProperty(value = "满意度")
@ColumnWidth(25)
private String evaluationScoreName;
}

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

@ -578,6 +578,15 @@ public interface ItemService extends BaseService<ItemEntity> {
*/
PageData<ItemAppealPageResultDTO> getItemAppealPage(Map<String, Object> params);
/**
* @Description: 导出北尚诉求列表
* @param params:
* @Return java.util.List<com.elink.esua.epdc.dto.item.result.ItemAppealPageResultDTO>
* @Author: lichao
* @Date: 2023/4/23 15:41
*/
List<ItemAppealPageResultDTO> exportList(Map<String, Object> params);
/**
* @describe: 北尚诉求列表(不满意列表)
* @author wgf
@ -771,4 +780,5 @@ public interface ItemService extends BaseService<ItemEntity> {
*/
Result processNotice(AcceptProcessNoticeDTO formDTO);
Result changeRepeat(ItemChangeRepeatDTO dto);
}

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

@ -3700,9 +3700,50 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
IPage<ItemAppealPageResultDTO> page = getPage(params);
List<ItemAppealPageResultDTO> list = baseDao.getItemAppealPage(params);
Map<String, Long> map = listItemHandleDept();
list.forEach(item -> item.setItemHandleDeptId(map.get(item.getId())));
list.forEach(item ->
item.setItemHandleDeptId(map.get(item.getId()))
);
return new PageData<>(list, page.getTotal());
}
@Override
public List<ItemAppealPageResultDTO> exportList(Map<String, Object> params) {
UserDetail user = SecurityUser.getUser();
//部门ID列表
List<Long> deptIdList = user.getDeptIdList();
params.put("deptIdList", null);
if (null != deptIdList && deptIdList.size() > 0) {
params.put("deptIdList", deptIdList);
}
List<ItemAppealPageResultDTO> list = baseDao.getItemAppealPage(params);
Map<String, Long> map = listItemHandleDept();
list.forEach(item -> {
item.setItemHandleDeptId(map.get(item.getId()));
if (item.getItemState()!=null && item.getItemState() == 0){
if (item.getProcessState()!=null && item.getProcessState().equals("16")){
item.setItemStateName("市区处理中");
}else{
if (item.getProcessState()!=null && item.getProcessState().equals("1")){
if (item.getEvaluationTime()!=null && item.getEvaluationTime()!=""){
item.setItemStateName("已评价");
}else{
item.setItemStateName("待评价");
}
}else{
if (item.getItemHandleDeptId() == null || item.getItemHandleDeptId().equals("0")){
item.setItemStateName("街道处理中");
}else{
item.setItemStateName("网格处理中");
}
}
}
}else if(item.getItemState()!=null && item.getItemState() == 10){
item.setItemStateName("已结案");
}
});
return list;
}
@Override
@ -4975,6 +5016,18 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
return new Result();
}
@Override
public Result changeRepeat(ItemChangeRepeatDTO dto) {
ItemEntity itemEntity = baseDao.selectById(dto.getItemId());
if (itemEntity!=null){
itemEntity.setRepeatFlag(dto.getRepeatFlag());
baseDao.updateById(itemEntity);
}else {
throw new RenException("该item不存在" + dto.getItemId());
}
return new Result();
}
/**
* 重新上报
*

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

@ -521,6 +521,8 @@
item.ID,
item.ITEM_CONTENT,
item.ITEM_CODE,
item.REPEAT_FLAG,
if(item.REPEAT_FLAG=1,'是','否') as repeatFlagName,
item.CREATED_TIME,
item.NICK_NAME,
item.MOBILE,
@ -2106,6 +2108,7 @@
<select id="getItemAppealPage" resultType="com.elink.esua.epdc.dto.item.result.ItemAppealPageResultDTO">
SELECT i.id,
i.NICK_NAME,
i.MOBILE,
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'
@ -2225,6 +2228,9 @@
<if test="userId != null and userId != ''">
and i.USER_ID = #{userId}
</if>
<if test="categoryValue != null and categoryValue != ''">
and i.CATEGORY_CODE = #{categoryValue}
</if>
<if test="mobile != null and mobile != ''">
and i.MOBILE = #{mobile}
</if>

Loading…
Cancel
Save