|
|
@ -30,22 +30,22 @@ 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; |
|
|
|
import com.elink.esua.epdc.constant.EventIssueItemState; |
|
|
|
import com.elink.esua.epdc.dto.CompleteDeptDTO; |
|
|
|
import com.elink.esua.epdc.dto.SysDeptDTO; |
|
|
|
import com.elink.esua.epdc.dto.item.ItemDTO; |
|
|
|
import com.elink.esua.epdc.dto.item.ItemDeptDTO; |
|
|
|
import com.elink.esua.epdc.dto.item.ItemPendingHandleDTO; |
|
|
|
import com.elink.esua.epdc.dto.item.form.ItemCategoryStatisticsFormDTO; |
|
|
|
import com.elink.esua.epdc.dto.item.form.EvaluationFormDTO; |
|
|
|
import com.elink.esua.epdc.dto.item.form.ItemDetailFormDTO; |
|
|
|
import com.elink.esua.epdc.dto.item.form.ItemFormDTO; |
|
|
|
import com.elink.esua.epdc.dto.item.form.*; |
|
|
|
import com.elink.esua.epdc.dto.item.result.*; |
|
|
|
import com.elink.esua.epdc.enums.ItemHandleCategoryEnum; |
|
|
|
import com.elink.esua.epdc.modules.events.service.EpdcEventsService; |
|
|
|
import com.elink.esua.epdc.modules.feign.AdminFeignClient; |
|
|
|
import com.elink.esua.epdc.modules.item.dao.ItemDao; |
|
|
|
import com.elink.esua.epdc.modules.item.entity.ItemEntity; |
|
|
|
import com.elink.esua.epdc.modules.item.entity.ItemHandleProcessEntity; |
|
|
|
import com.elink.esua.epdc.modules.item.service.ItemDeptService; |
|
|
|
import com.elink.esua.epdc.modules.item.service.ItemHandleProcessService; |
|
|
|
import com.elink.esua.epdc.modules.item.service.ItemService; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
@ -72,6 +72,9 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem |
|
|
|
@Autowired |
|
|
|
private AdminFeignClient adminFeignClient; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private ItemHandleProcessService itemHandleProcessService; |
|
|
|
|
|
|
|
@Override |
|
|
|
public PageData<ItemDTO> page(Map<String, Object> params) { |
|
|
|
IPage<ItemEntity> page = baseDao.selectPage( |
|
|
@ -201,7 +204,7 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem |
|
|
|
resultDTO = this.getHandleCategoryAndCirculationDeptOfStreet(resultDTO, itemDeptDTOS); |
|
|
|
} |
|
|
|
// 获取项目处理进度
|
|
|
|
List<ItemHandleProgressResultDTO> dtoList = this.listOfItemHandleProgress(id); |
|
|
|
List<ItemHandleProgressResultDTO> dtoList = this.listOfItemHandleProgress(id, 0); |
|
|
|
resultDTO.setHandleProgressResultDTOS(dtoList); |
|
|
|
|
|
|
|
return resultDTO; |
|
|
@ -343,8 +346,84 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public List<ItemHandleProgressResultDTO> listOfItemHandleProgress(String itemId) { |
|
|
|
public List<ItemHandleProgressResultDTO> listOfItemHandleProgress(String itemId, int outOrInside) { |
|
|
|
ItemEntity entity = this.selectById(itemId); |
|
|
|
return baseDao.selectListOfItemHandleProgress(entity.getIssueId(), itemId); |
|
|
|
return baseDao.selectListOfItemHandleProgress(entity.getIssueId(), itemId, outOrInside); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public Result modifyHandleResult(ItemHandleSubmitFormDTO dto) { |
|
|
|
try { |
|
|
|
ItemHandleProcessEntity handleProcessEntity = new ItemHandleProcessEntity(); |
|
|
|
if (ItemHandleCategoryEnum.HANDLE_CIRCULATION_ASSISTANCE.getValue() == dto.getHandleCategory()) { |
|
|
|
// 项目流转校验
|
|
|
|
Result checkResult = this.checkItemCirculation(dto); |
|
|
|
if (!checkResult.success()) { |
|
|
|
return checkResult; |
|
|
|
} |
|
|
|
handleProcessEntity.setState(EventIssueItemState.ITEM_HANDLING); |
|
|
|
|
|
|
|
// 删除已流转协助部门
|
|
|
|
itemDeptService.modifyItemDepts(SecurityUser.getDeptId(), dto.getItemId()); |
|
|
|
// 新增流转协助部门
|
|
|
|
itemDeptService.saveItemDepts(SecurityUser.getDeptId(), dto); |
|
|
|
} else { |
|
|
|
handleProcessEntity.setState(dto.getHandleCategory()); |
|
|
|
// 更新项目状态
|
|
|
|
if (ItemHandleCategoryEnum.HANDLE_CLOSE.getValue() == dto.getHandleCategory() || |
|
|
|
ItemHandleCategoryEnum.HANDLE_CLOSING_CASE.getValue() == dto.getHandleCategory()) { |
|
|
|
ItemEntity itemEntity = new ItemEntity(); |
|
|
|
itemEntity.setId(dto.getItemId()); |
|
|
|
itemEntity.setItemState(dto.getHandleCategory()); |
|
|
|
this.insert(itemEntity); |
|
|
|
} |
|
|
|
} |
|
|
|
// 记录处理记录
|
|
|
|
handleProcessEntity.setItemId(dto.getItemId()); |
|
|
|
handleProcessEntity.setHandleAdvice(dto.getHandleAdvice()); |
|
|
|
handleProcessEntity.setOutHandleAdvice(dto.getOutHandleAdvice()); |
|
|
|
handleProcessEntity.setHandlerDeptId(SecurityUser.getDeptId()); |
|
|
|
itemHandleProcessService.insert(handleProcessEntity); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
|
|
|
|
return new Result(); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 项目流转校验 |
|
|
|
* @Params: [dto] |
|
|
|
* @Return: com.elink.esua.epdc.commons.tools.utils.Result |
|
|
|
* @Author: liuchuang |
|
|
|
* @Date: 2019/9/16 19:42 |
|
|
|
*/ |
|
|
|
private Result checkItemCirculation(ItemHandleSubmitFormDTO dto) { |
|
|
|
// 校验是否跨级流转
|
|
|
|
String typeKey = ""; |
|
|
|
for (ItemCirculationDeptResultDTO circulationDeptResultDTO: |
|
|
|
dto.getDeptResultDTOS()) { |
|
|
|
if (typeKey.equals(circulationDeptResultDTO.getTypeKey())) { |
|
|
|
return new Result().error("不可跨部门流转协助,请重新选择流转协助部门"); |
|
|
|
} |
|
|
|
typeKey = circulationDeptResultDTO.getTypeKey(); |
|
|
|
} |
|
|
|
|
|
|
|
// 如果当前流转协助是网格发起,判断其街道党工委是否已将该项目流转协助
|
|
|
|
UserDetail user = SecurityUser.getUser(); |
|
|
|
if (OrganizationTypeConstant.ORG_TYPE_GRID_PARTY.equals(user.getTypeKey())) { |
|
|
|
Result<CompleteDeptDTO> completeDept = adminFeignClient.getCompleteDept(SecurityUser.getDeptId()); |
|
|
|
if (!completeDept.success()) { |
|
|
|
return new Result().error("获取机构信息失败,请稍后重试"); |
|
|
|
} |
|
|
|
// 获取街道党工委已流转协助部门
|
|
|
|
List<ItemDeptDTO> itemDeptDTOS = itemDeptService.listOfItemDept(dto.getItemId(), completeDept.getData().getStreetId()); |
|
|
|
if (null != itemDeptDTOS && itemDeptDTOS.size() > 0) { |
|
|
|
return new Result().error(completeDept.getData().getStreet()+"已将该项目流转协助到其他部门,不能重新流转协助"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
return new Result(); |
|
|
|
} |
|
|
|
} |
|
|
|