Browse Source

【待处理项目后台管理】【操作人部门选择】-王公峰-02020-05-15

feature/dangjian
wanggongfeng 6 years ago
parent
commit
5a0fbdda60
  1. 2
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/form/EpdcEventsReviewFormDTO.java
  2. 14
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueWaitHandleSubmitFormDTO.java
  3. 28
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/HandleResultDTOSFormDTO.java
  4. 16
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/ItemHandleSubmitFormDTO.java
  5. 4
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java
  6. 18
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java
  7. 17
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java
  8. 10
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java
  9. 59
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java

2
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/form/EpdcEventsReviewFormDTO.java

@ -48,6 +48,6 @@ public class EpdcEventsReviewFormDTO implements Serializable {
/**
*操作部门名称
*/
@NotNull(message = "操作部门名称不能为空")
@NotBlank(message = "操作部门名称不能为空")
private String handleDeptName;
}

14
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueWaitHandleSubmitFormDTO.java

@ -2,6 +2,7 @@ package com.elink.esua.epdc.dto.issue.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
@ -36,17 +37,16 @@ public class IssueWaitHandleSubmitFormDTO implements Serializable {
*/
private List<String> images;
/**
*操作部门ID
* 操作部门ID
*/
@NotNull(message = "操作部门ID不能为空")
private Long handleDeptId;
@NotNull(message = "操作部门ID不能为空")
private Long handlerDeptId;
/**
*操作部门名称
* 操作部门
*/
@NotNull(message = "操作部门名称不能为空")
private String handleDeptName;
@NotBlank(message = "操作部门不能为空")
private String handlerDept;
}

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

@ -0,0 +1,28 @@
package com.elink.esua.epdc.dto.item.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* 获取处理方式FormDTO
* @Author wanggongfeng
* @Date 2020/05/15 15:04
*/
@Data
public class HandleResultDTOSFormDTO implements Serializable {
private static final long serialVersionUID = -7871958578795227805L;
/**
* 项目ID
*/
@NotBlank(message = "项目ID不能为空")
private String itemId;
/**
* 用户ID
*/
@NotNull(message = "操作人部门ID不能为空")
private Long deptId;
}

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

@ -64,19 +64,19 @@ public class ItemHandleSubmitFormDTO implements Serializable {
private List<ItemEvaluateDeptDTO> evaluateDeptDTOS;
/**
*操作部门ID
*部门键类型
*/
@NotNull(message = "操作部门ID不能为空")
private Long handleDeptId;
private String typeKey;
/**
*操作部门名称
*操作部门ID
*/
@NotNull(message = "操作部门名称不能为空")
private String handleDeptName;
@NotNull(message = "操作人部门ID不能为空")
private Long handlerDeptId;
/**
*部门键类型
* 操作人部门
*/
private String typeKey;
@NotBlank(message = "操作人部门不能为空")
private String handlerDept;
}

4
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java

@ -27,6 +27,7 @@ import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.redis.RedisKeys;
import com.elink.esua.epdc.commons.tools.redis.RedisUtils;
import com.elink.esua.epdc.commons.tools.security.user.SecurityUser;
import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.constant.EventIssueItemState;
@ -241,6 +242,9 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl<EpdcEventsDao, EpdcEv
issueHandleEntity.setAdvice(dto.getAdvice());
issueHandleEntity.setHandlerDeptId(dto.getHandleDeptId());
issueHandleEntity.setHandlerDept(dto.getHandleDeptName());
UserDetail user = SecurityUser.getUser();
/*issueHandleEntity.setHandlerDeptId(user.getDeptId());
issueHandleEntity.setHandlerDept(user.getDeptName());*/
issueHandleService.insert(issueHandleEntity);
informationFormDTO.setBusinessId(issueEntity.getId());

18
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java

@ -25,6 +25,7 @@ import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.security.user.SecurityUser;
import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
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.Result;
@ -186,8 +187,11 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
handleEntity.setAdvice(dto.getAdvice());
handleEntity.setState(dto.getState());
handleEntity.setIssueId(dto.getId());
handleEntity.setHandlerDeptId(dto.getHandleDeptId());
handleEntity.setHandlerDept(dto.getHandleDeptName());
UserDetail user = SecurityUser.getUser();
/*handleEntity.setHandlerDeptId(user.getDeptId());
handleEntity.setHandlerDept(user.getDeptName());*/
handleEntity.setHandlerDeptId(dto.getHandlerDeptId());
handleEntity.setHandlerDept(dto.getHandlerDept());
IssueEntity issueEntity = new IssueEntity();
issueEntity.setId(dto.getId());
@ -233,8 +237,10 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
itemHandleProcessEntity.setState(EventIssueItemState.ITEM_HANDLING);
itemHandleProcessEntity.setHandleAdvice(dto.getAdvice());
itemHandleProcessEntity.setOutHandleAdvice(dto.getAdvice());
itemHandleProcessEntity.setHandlerDeptId(dto.getHandleDeptId());
itemHandleProcessEntity.setHandlerDept(dto.getHandleDeptName());
/*itemHandleProcessEntity.setHandlerDeptId(user.getDeptId());
itemHandleProcessEntity.setHandlerDept(user.getDeptName());*/
itemHandleProcessEntity.setHandlerDeptId(dto.getHandlerDeptId());
itemHandleProcessEntity.setHandlerDept(dto.getHandlerDept());
itemHandleProcessService.insert(itemHandleProcessEntity);
/**
@ -248,8 +254,8 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
// 插入项目部门关联表
ItemDeptEntity itemDeptEntity = new ItemDeptEntity();
itemDeptEntity.setDeptId(dto.getHandleDeptId());
itemDeptEntity.setCreatedDeptId(dto.getHandleDeptId());
itemDeptEntity.setDeptId(dto.getHandlerDeptId());
itemDeptEntity.setCreatedDeptId(dto.getHandlerDeptId());
itemDeptEntity.setItemId(itemEntity.getId());
itemDeptService.insert(itemDeptEntity);

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

@ -23,13 +23,14 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
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;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.dto.events.EpdcEventsCommentsDTO;
import com.elink.esua.epdc.dto.events.form.EventDeleteCommentsFormDTO;
import com.elink.esua.epdc.dto.form.KpiMetaDataOfEventsFormDTO;
import com.elink.esua.epdc.dto.item.ItemDTO;
import com.elink.esua.epdc.dto.item.ItemPendingHandleDTO;
import com.elink.esua.epdc.dto.item.form.HandleResultDTOSFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemHandleSubmitFormDTO;
import com.elink.esua.epdc.dto.item.result.ItemContentForPCEndResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemDetailForPCEndResultDTO;
@ -86,6 +87,20 @@ public class ItemController {
return new Result<ItemDetailForPCEndResultDTO>().ok(data);
}
/**
* 获取可操作处理
*
* @Params: [id]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.item.ItemDTO>
* @Author: wanggongfeng
* @Date: 2020/05/15 15:04
*/
@PostMapping("getHandleResultDTOS")
public Result<ItemDetailForPCEndResultDTO> getHandleResultDTOS(@RequestBody HandleResultDTOSFormDTO dto) {
ItemDetailForPCEndResultDTO data = itemService.getHandleResultDTOS(dto);
return new Result<ItemDetailForPCEndResultDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody ItemDTO dto) {
//效验数据

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

@ -95,6 +95,16 @@ public interface ItemService extends BaseService<ItemEntity> {
*/
ItemDetailForPCEndResultDTO getItemDetailById(String id);
/**
* 获取可操作处理
*
* @Params: [id]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.item.ItemDTO>
* @Author: wanggongfeng
* @Date: 2020/05/15 15:04
*/
ItemDetailForPCEndResultDTO getHandleResultDTOS(HandleResultDTOSFormDTO dto);
/**
* 默认保存
*

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

@ -322,7 +322,7 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
public ItemDetailForPCEndResultDTO getItemDetailById(String id) {
// 详情
ItemDetailForPCEndResultDTO resultDTO = baseDao.selectOneOfItemDetailForPCEnd(id);
UserDetail user = SecurityUser.getUser();
/*UserDetail user = SecurityUser.getUser();
// 获取已流转部门
List<ItemDeptDTO> itemDeptDTOS = itemDeptService.listOfItemDept(id, user.getDeptId());
// 获取可操作处理和可流转部门
@ -337,7 +337,7 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
break;
case OrganizationTypeConstant.ORG_TYPE_STREET_PARTY:
resultDTO = this.getHandleCategoryAndCirculationDeptOfStreet(resultDTO, itemDeptDTOS);
}
}*/
//获取项目基本信息
ItemEntity entity = this.selectById(id);
// 获取项目处理进度
@ -351,6 +351,29 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
return resultDTO;
}
@Override
public ItemDetailForPCEndResultDTO getHandleResultDTOS(HandleResultDTOSFormDTO dto) {
// 详情
ItemDetailForPCEndResultDTO resultDTO = new ItemDetailForPCEndResultDTO();
UserDetail user = SecurityUser.getUser();
// 获取已流转部门
List<ItemDeptDTO> itemDeptDTOS = itemDeptService.listOfItemDept(dto.getItemId(), dto.getDeptId());
// 获取可操作处理和可流转部门
switch (user.getTypeKey()) {
case OrganizationTypeConstant.ORG_TYPE_GRID_PARTY:
resultDTO = this.getHandleCategoryAndCirculationDeptOfGrid(resultDTO, itemDeptDTOS);
break;
case OrganizationTypeConstant.ORG_TYPE_COMMUNITY_PARTY:
case OrganizationTypeConstant.ORG_TYPE_STREET_DEPT:
case OrganizationTypeConstant.ORG_TYPE_DISTRICT_DEPT:
resultDTO = this.getHandleCategory(resultDTO);
break;
case OrganizationTypeConstant.ORG_TYPE_STREET_PARTY:
resultDTO = this.getHandleCategoryAndCirculationDeptOfStreet(resultDTO, itemDeptDTOS);
}
return resultDTO;
}
/**
* 项目详情-网格-可做操作和可流转部门
*
@ -580,7 +603,7 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
@Transactional(rollbackFor = Exception.class)
public Result modifyHandleResult(ItemHandleSubmitFormDTO dto) {
try {
Result<SysDeptDTO> deptMessage = adminFeignClient.getSysDeptInfo(dto.getHandleDeptId());
Result<SysDeptDTO> deptMessage = adminFeignClient.getSysDeptInfo(dto.getHandlerDeptId());
if( null == deptMessage.getData()){
throw new RenException("未查到该部门相关信息");
}
@ -601,8 +624,10 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
informationFormDTO.setRelBusinessContent("项目:" + entity.getItemContent());
ItemHandleProcessEntity handleProcessEntity = new ItemHandleProcessEntity();
handleProcessEntity.setHandlerDeptId(dto.getHandleDeptId());
handleProcessEntity.setHandlerDept(dto.getHandleDeptName());
/*handleProcessEntity.setHandlerDeptId(user.getDeptId());
handleProcessEntity.setHandlerDept(user.getDeptName());*/
handleProcessEntity.setHandlerDeptId(dto.getHandlerDeptId());
handleProcessEntity.setHandlerDept(dto.getHandlerDept());
handleProcessEntity.setItemId(dto.getId());
handleProcessEntity.setHandleAdvice(dto.getHandleAdvice());
handleProcessEntity.setOutHandleAdvice(dto.getOutHandleAdvice());
@ -616,13 +641,13 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
handleProcessEntity.setState(EventIssueItemState.ITEM_HANDLING);
// 获取已流转部门信息
List<Long> oldDeptIds = itemDeptService.listOfWhistlingDeptIds(dto.getId(), dto.getHandleDeptId());
List<Long> oldDeptIds = itemDeptService.listOfWhistlingDeptIds(dto.getId(), dto.getHandlerDeptId());
// 删除已流转协助部门
itemDeptService.modifyItemDepts(dto.getHandleDeptId(), dto.getId());
itemDeptService.modifyItemDepts(dto.getHandlerDeptId(), dto.getId());
// 记录处理记录
itemHandleProcessService.insert(handleProcessEntity);
// 新增流转协助部门
itemDeptService.saveItemDepts(dto.getHandleDeptId(), dto, handleProcessEntity.getId());
itemDeptService.saveItemDepts(dto.getHandlerDeptId(), dto, handleProcessEntity.getId());
List<ItemCirculationDeptResultDTO> circulationDeptResultDTOS = dto.getDeptResultDTOS();
List<Long> newDeptIds = new ArrayList<>();
for (ItemCirculationDeptResultDTO circulationDto :
@ -671,7 +696,7 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
if (ItemHandleCategoryEnum.HANDLE_CLOSING_CASE.getValue() == dto.getHandleCategory()) {
informationFormDTO.setTitle(EventsNoticeConstant.NOTICE_ITEM_PROCESSED);
if (null != dto.getEvaluateDeptDTOS()) {
itemEvaluateDeptService.saveEvaluateDepts(dto.getEvaluateDeptDTOS(), dto.getId(), dto.getHandleDeptId());
itemEvaluateDeptService.saveEvaluateDepts(dto.getEvaluateDeptDTOS(), dto.getId(), dto.getHandlerDeptId());
}
}
}
@ -690,8 +715,8 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
itemInfoDto.setBusinessType(dto.getHandleCategory());
itemInfoDto.setAssociatedBusinessId(dto.getId());
itemInfoDto.setAssociatedBusinessContent(entity.getItemContent());
itemInfoDto.setHandleDeptId(dto.getHandleDeptId());
itemInfoDto.setHandleDept(dto.getHandleDeptName());
itemInfoDto.setHandleDeptId(dto.getHandlerDeptId());
itemInfoDto.setHandleDept(dto.getHandlerDept());
itemInfoDto.setHandleAdvice(dto.getHandleAdvice());
itemInfoDto.setReadFlag(ItemInformationConstant.READ_FLAG_NO);
// 回应处理
@ -743,7 +768,7 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
// 关闭和结案处理
} else {
// 查询已吹哨部门
List<Long> oldDeptIds = itemDeptService.listOfWhistlingDeptIds(dto.getId(), dto.getHandleDeptId());
List<Long> oldDeptIds = itemDeptService.listOfWhistlingDeptIds(dto.getId(), dto.getHandlerDeptId());
// 遍历被吹哨部门插入项目消息表
for (Long itemDeptId : oldDeptIds) {
// 通知部门Id(被吹哨部门)
@ -759,12 +784,12 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
newsTask.insertUserInformation(informationFormDTO);
// 发送菜单消息-待处理项目
if (entity.getGridId().equals(dto.getHandleDeptId())) {
if (entity.getGridId().equals(dto.getHandlerDeptId())) {
// 网格长操作-发送菜单消息
this.sendItemHandleMenuNotice(entity.getGridId(), null);
} else {
// 吹哨部门操作-发送菜单消息
this.sendWhistlingDeptItemHandleMenuNotice(Collections.singletonList(dto.getHandleDeptId()), null);
this.sendWhistlingDeptItemHandleMenuNotice(Collections.singletonList(dto.getHandlerDeptId()), null);
}
//项目外部处理意见图片保存
if (dto.getOutHandleImages() != null && dto.getOutHandleImages().size() > 0) {
@ -831,7 +856,7 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
// 如果当前流转协助是网格发起,判断其街道党工委是否已将该项目流转协助
if (OrganizationTypeConstant.ORG_TYPE_GRID_PARTY.equals(dto.getTypeKey())) {
Result<CompleteDeptDTO> completeDept = adminFeignClient.getCompleteDept(dto.getHandleDeptId());
Result<CompleteDeptDTO> completeDept = adminFeignClient.getCompleteDept(dto.getHandlerDeptId());
if (!completeDept.success()) {
return new Result().error("获取机构信息失败,请稍后重试");
}
@ -1299,7 +1324,7 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
}
} else if(ItemHandleCategoryEnum.HANDLE_CLOSE.getValue() == dto.getHandleCategory() ||
ItemHandleCategoryEnum.HANDLE_CLOSING_CASE.getValue() == dto.getHandleCategory()){
deptId = baseDao.queryDeptIdList(dto.getId(),dto.getHandleDeptId());
deptId = baseDao.queryDeptIdList(dto.getId(),dto.getHandlerDeptId());
if (deptId != null && deptId.size() > 0){
issueOverseeResultsTask.getUserPhoneByListDeptId(dto, deptId,dto.getTypeKey());//关闭/结案 当前项目的所有部门ID,下的人员发送短信,且不等于当前部门ID
}
@ -1322,7 +1347,7 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
*/
private void superiorDeptSmsHandle(ItemHandleSubmitFormDTO dto){
List<Long> deptId = new ArrayList<>();
Long queryDePtId = dto.getHandleDeptId();
Long queryDePtId = dto.getHandlerDeptId();
while (true){
List<Long> createdDeptId = baseDao.queryParentDeptId(dto.getId(),queryDePtId);
if (createdDeptId != null && createdDeptId.size() > 0){

Loading…
Cancel
Save