Browse Source

项目处理进展编辑,增加 满意度评价

ftature/screen
zhangyongzhangyong 4 years ago
parent
commit
8032aa13ac
  1. 5
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/ProcessProgressConstant.java
  2. 5
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/EditProgressResultDTO.java
  3. 9
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/ItemPendingHandleDTO.java
  4. 54
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java
  5. 7
      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/constant/ProcessProgressConstant.java

@ -33,5 +33,10 @@ public interface ProcessProgressConstant {
*/ */
String PROJECT = "project"; String PROJECT = "project";
/**
* 项目满意度评价
*/
String PROJECT_EVALUATION = "project-evaluation";
} }

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

@ -78,4 +78,9 @@ public class EditProgressResultDTO implements Serializable {
* 事件内容 * 事件内容
*/ */
private String eventContent; private String eventContent;
/**
* 项目 满意度评价得分
*/
private Integer evaluationScore;
} }

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

@ -65,4 +65,13 @@ public class ItemPendingHandleDTO implements Serializable {
*/ */
private String topFlag; private String topFlag;
/**
* 列表所属网格
*/
private String grid;
/**
* 项目状态处理中已关闭已结案
*/
private String itemState;
} }

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

@ -1608,17 +1608,23 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
@Override @Override
public List<EditProgressResultDTO> getProcessProgress(String id) { public List<EditProgressResultDTO> getProcessProgress(String id) {
//获取项目基本信息 // 获取项目基本信息
ItemEntity entity = this.selectById(id); ItemEntity entity = this.selectById(id);
// 获取项目处理进度 // 获取项目处理进度
List<EditProgressResultDTO> result = baseDao.selectListOfEditItemHandleProgressByWork(id); List<EditProgressResultDTO> result = baseDao.selectListOfEditItemHandleProgressByWork(id);
// 项目处理表中第一条数据,为 议题转项目 // 项目处理表中第一条数据(创建时间,升序),为 议题转项目
this.firstDataHandleType(result, ProcessProgressConstant.ISSUE_PROJECT); this.firstDataHandleType(result, ProcessProgressConstant.ISSUE_PROJECT);
// 获取项目评价满意度
if (null != entity.getEvaluationTime()) {
result.add(this.packageItemEvaluation(entity));
result.sort(Comparator.comparing(EditProgressResultDTO::getCreatedTime).reversed());
}
// 获取议题处理进度 // 获取议题处理进度
List<EditProgressResultDTO> issueList = issueService.listEditIssueProgress(entity.getIssueId()); List<EditProgressResultDTO> issueList = issueService.listEditIssueProgress(entity.getIssueId());
// 议题处理表中第一条数据,为 事件审核通过,即转议题 // 议题处理表中第一条数据(创建时间,升序),为 事件审核通过,即转议题
this.firstDataHandleType(issueList, ProcessProgressConstant.EVENT_ISSUE); this.firstDataHandleType(issueList, ProcessProgressConstant.EVENT_ISSUE);
result.addAll(issueList); result.addAll(issueList);
@ -1629,6 +1635,16 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
return result; return result;
} }
private EditProgressResultDTO packageItemEvaluation(ItemEntity entity) {
EditProgressResultDTO result = new EditProgressResultDTO();
result.setHandleType(ProcessProgressConstant.PROJECT_EVALUATION);
result.setCreatedTime(entity.getEvaluationTime());
result.setAdvice(entity.getEvaluationContent());
result.setEvaluationScore(entity.getEvaluationScore());
result.setState(entity.getItemState());
return result;
}
private void firstDataHandleType(List<EditProgressResultDTO> list, String typeName) { private void firstDataHandleType(List<EditProgressResultDTO> list, String typeName) {
for (int i = NumConstant.ZERO; i < list.size(); i++) { for (int i = NumConstant.ZERO; i < list.size(); i++) {
if (i == list.size() - NumConstant.ONE ) { if (i == list.size() - NumConstant.ONE ) {
@ -1688,14 +1704,18 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
EpdcEventsEntity eventEntity = new EpdcEventsEntity(); EpdcEventsEntity eventEntity = new EpdcEventsEntity();
// 图片批量处理 // 图片批量处理
List<BatchHandleImagesDTO> batchHandleImages = new ArrayList<>(); List<BatchHandleImagesDTO> batchHandleImages = new ArrayList<>();
List<ItemDeptEntity> itemDeptEntities = new ArrayList<>();
Date issueToProjectTime = null; Date issueToProjectTime = null;
Date eventToIssueTime = null; Date eventToIssueTime = null;
Date distributeTime = null; Date distributeTime = null;
String eventId = ""; String eventId = "";
EditProgressResultDTO projectEvaluation = null;
for (EditProgressResultDTO dto : formDto) { for (EditProgressResultDTO dto : formDto) {
// 1、组装 项目处理进展表 信息 if (ProcessProgressConstant.PROJECT.equals(dto.getHandleType())
if (ProcessProgressConstant.PROJECT.equals(dto.getHandleType()) || ProcessProgressConstant.ISSUE_PROJECT.equals(dto.getHandleType())) { || ProcessProgressConstant.ISSUE_PROJECT.equals(dto.getHandleType())
|| ProcessProgressConstant.PROJECT_EVALUATION.equals(dto.getHandleType())) {
// 1、组装 项目处理进展表 信息
ItemHandleProcessEntity entity = new ItemHandleProcessEntity(); ItemHandleProcessEntity entity = new ItemHandleProcessEntity();
entity.setCreatedTime(dto.getCreatedTime()); entity.setCreatedTime(dto.getCreatedTime());
entity.setHandleAdvice(dto.getAdvice()); entity.setHandleAdvice(dto.getAdvice());
@ -1707,7 +1727,18 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
} }
// 组装 项目图片 信息 // 组装 项目图片 信息
batchHandleImages.add(this.packageImagesInfo(dto.getId(), ImageConstant.TYPE_IMAGE_ITEM_HANDLE, dto.getImages())); batchHandleImages.add(this.packageImagesInfo(dto.getId(), ImageConstant.TYPE_IMAGE_ITEM_HANDLE, dto.getImages()));
batchHandleImages.add(this.packageImagesInfo(dto.getId(), ImageConstant.TYPE_IMAGE_ITEM_OUT_HANDLE, dto.getOutImages())) ; batchHandleImages.add(this.packageImagesInfo(dto.getId(), ImageConstant.TYPE_IMAGE_ITEM_OUT_HANDLE, dto.getOutImages()));
// 如果是吹哨,还要处理 项目部门关系表
if (NumConstant.ZERO == dto.getState() && null != dto.getItemDeptDTOS() && dto.getItemDeptDTOS().size() > NumConstant.ZERO) {
ItemDeptEntity itemDeptEntity = new ItemDeptEntity();
itemDeptEntity.setId(dto.getItemDeptDTOS().get(NumConstant.ZERO).getId());
itemDeptEntity.setCreatedTime(dto.getCreatedTime());
itemDeptEntities.add((itemDeptEntity));
}
// 如果是 项目满意度评价,还需要修改 epdc_item 表中相关字段
if (ProcessProgressConstant.PROJECT_EVALUATION.equals(dto.getHandleType())) {
projectEvaluation = dto;
}
} }
// 2、组装 议题处理进展 信息 // 2、组装 议题处理进展 信息
@ -1744,12 +1775,23 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
if (NumConstant.ZERO < itemHandleProcessEntities.size()) { if (NumConstant.ZERO < itemHandleProcessEntities.size()) {
itemHandleProcessService.updateBatchById(itemHandleProcessEntities); itemHandleProcessService.updateBatchById(itemHandleProcessEntities);
itemDeptService.updateBatchById(itemDeptEntities);
// 5、处理项目表 // 5、处理项目表
ItemEntity itemEntity = new ItemEntity(); ItemEntity itemEntity = new ItemEntity();
itemEntity.setCreatedTime(issueToProjectTime); itemEntity.setCreatedTime(issueToProjectTime);
itemEntity.setLastHandleTime(formDto.get(NumConstant.ZERO).getCreatedTime()); itemEntity.setLastHandleTime(formDto.get(NumConstant.ZERO).getCreatedTime());
itemEntity.setDistributeTime(distributeTime); itemEntity.setDistributeTime(distributeTime);
itemEntity.setId(relationshipId.getItemId()); itemEntity.setId(relationshipId.getItemId());
if (null != projectEvaluation) {
if (NumConstant.FIVE == formDto.get(NumConstant.ZERO).getState()) {
// 最后一条记录为 结案 且 有满意度评价,最后一次处理时间为 满意度评价时间
itemEntity.setLastHandleTime(projectEvaluation.getCreatedTime());
}
itemEntity.setEvaluationScore(projectEvaluation.getEvaluationScore());
itemEntity.setEvaluationContent(projectEvaluation.getAdvice());
itemEntity.setEvaluationTime(projectEvaluation.getCreatedTime());
}
baseDao.updateById(itemEntity); baseDao.updateById(itemEntity);
} }

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

@ -443,6 +443,8 @@
item.ITEM_CODE, item.ITEM_CODE,
item.CREATED_TIME, item.CREATED_TIME,
item.NICK_NAME, item.NICK_NAME,
item.GRID,
item.ITEM_STATE,
CASE item.EVALUATION_SCORE CASE item.EVALUATION_SCORE
WHEN 0 THEN '不满意' WHEN 0 THEN '不满意'
WHEN 1 THEN '基本满意' WHEN 1 THEN '基本满意'
@ -465,6 +467,9 @@
<if test="itemState != null and itemState != ''"> <if test="itemState != null and itemState != ''">
AND item.ITEM_STATE = #{itemState} AND item.ITEM_STATE = #{itemState}
</if> </if>
<if test="itemContent != null and itemContent.trim() != ''">
AND item.ITEM_CONTENT = trim(#{itemContent})
</if>
<if test="associatedType != null and associatedType != ''"> <if test="associatedType != null and associatedType != ''">
AND item.ITEM_STATE in (0,10) AND item.ITEM_STATE in (0,10)
</if> </if>
@ -1063,6 +1068,7 @@
<result property="state" column="STATE"/> <result property="state" column="STATE"/>
<collection property="itemDeptDTOS" ofType="com.elink.esua.epdc.dto.item.ItemDeptDTO"> <collection property="itemDeptDTOS" ofType="com.elink.esua.epdc.dto.item.ItemDeptDTO">
<result property="deptName" column="DEPT_NAME"/> <result property="deptName" column="DEPT_NAME"/>
<result property="id" column="ITEM_DEPT_ID"/>
</collection> </collection>
<collection property="images" ofType="com.elink.esua.epdc.dto.ImagesDTO"> <collection property="images" ofType="com.elink.esua.epdc.dto.ImagesDTO">
<result property="name" column="imageId"/> <result property="name" column="imageId"/>
@ -1083,6 +1089,7 @@
hp.HANDLER_DEPT, hp.HANDLER_DEPT,
hp.STATE, hp.STATE,
itemDept.DEPT_NAME, itemDept.DEPT_NAME,
itemDept.ID AS ITEM_DEPT_ID,
img.IMG_URL, img.IMG_URL,
img.ID as imageId, img.ID as imageId,
outImg.IMG_URL AS OUT_IMG_URL, outImg.IMG_URL AS OUT_IMG_URL,

Loading…
Cancel
Save