|
|
@ -23,13 +23,23 @@ import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; |
|
|
|
import com.elink.esua.epdc.commons.tools.constant.FieldConstant; |
|
|
|
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.Result; |
|
|
|
import com.elink.esua.epdc.constant.EventIssueItemState; |
|
|
|
import com.elink.esua.epdc.dto.issue.IssueDTO; |
|
|
|
import com.elink.esua.epdc.dto.issue.IssueWaitHandleDetailDTO; |
|
|
|
import com.elink.esua.epdc.dto.issue.IssueWaitHandleOrClosedDTO; |
|
|
|
import com.elink.esua.epdc.dto.issue.form.IssueWaitHandleSubmitFormDTO; |
|
|
|
import com.elink.esua.epdc.modules.issue.dao.IssueDao; |
|
|
|
import com.elink.esua.epdc.modules.issue.entity.IssueEntity; |
|
|
|
import com.elink.esua.epdc.modules.issue.entity.IssueHandleEntity; |
|
|
|
import com.elink.esua.epdc.modules.issue.service.IssueHandleService; |
|
|
|
import com.elink.esua.epdc.modules.issue.service.IssueService; |
|
|
|
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.ItemHandleProcessService; |
|
|
|
import com.elink.esua.epdc.modules.item.service.ItemService; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
@ -46,6 +56,15 @@ import java.util.Map; |
|
|
|
@Service |
|
|
|
public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> implements IssueService { |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private IssueHandleService issueHandleService; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private ItemService itemService; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private ItemHandleProcessService itemHandleProcessService; |
|
|
|
|
|
|
|
@Override |
|
|
|
public PageData<IssueWaitHandleOrClosedDTO> listOfIssues(Map<String, Object> params) { |
|
|
|
IPage<IssueWaitHandleOrClosedDTO> page = getPage(params); |
|
|
@ -101,4 +120,72 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp |
|
|
|
return baseDao.selectOneOfWaitHandleIssueDetail(id); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public Result saveIssueHandleResult(IssueWaitHandleSubmitFormDTO dto) { |
|
|
|
IssueHandleEntity handleEntity = new IssueHandleEntity(); |
|
|
|
handleEntity.setAdvice(dto.getAdvice()); |
|
|
|
handleEntity.setState(dto.getState()); |
|
|
|
handleEntity.setIssueId(dto.getId()); |
|
|
|
|
|
|
|
IssueEntity issueEntity = new IssueEntity(); |
|
|
|
issueEntity.setId(dto.getId()); |
|
|
|
issueEntity.setIssueState(dto.getState()); |
|
|
|
// 反馈、关闭
|
|
|
|
if (EventIssueItemState.ISSUE_HANDLED_FEEDBACK == dto.getState() || EventIssueItemState.ISSUE_CLOSED== dto.getState()) { |
|
|
|
issueHandleService.insert(handleEntity); |
|
|
|
} |
|
|
|
// 关闭、转项目
|
|
|
|
if (EventIssueItemState.ISSUE_CLOSED== dto.getState() || EventIssueItemState.ISSUE_CHANGE_TO_ITEM == dto.getState()) { |
|
|
|
updateById(issueEntity); |
|
|
|
} |
|
|
|
// 转项目
|
|
|
|
if (EventIssueItemState.ISSUE_CHANGE_TO_ITEM == dto.getState()) { |
|
|
|
updateById(issueEntity); |
|
|
|
// 插入项目表
|
|
|
|
ItemEntity itemEntity = initItemEntity(issueEntity); |
|
|
|
itemService.insert(itemEntity); |
|
|
|
// 插入项目处理流程表
|
|
|
|
ItemHandleProcessEntity itemHandleProcessEntity = new ItemHandleProcessEntity(); |
|
|
|
itemHandleProcessEntity.setItemId(itemEntity.getId()); |
|
|
|
itemHandleProcessEntity.setState(EventIssueItemState.ITEM_WAITING_GRID_HANDLE); |
|
|
|
itemHandleProcessEntity.setHandleAdvice(dto.getAdvice()); |
|
|
|
itemHandleProcessService.insert(itemHandleProcessEntity); |
|
|
|
} |
|
|
|
return new Result(); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 初始化项目 |
|
|
|
* @Params: [issueEntity] |
|
|
|
* @Return: com.elink.esua.epdc.modules.item.entity.ItemEntity |
|
|
|
* @Author: liuchuang |
|
|
|
* @Date: 2019/9/6 13:48 |
|
|
|
*/ |
|
|
|
private ItemEntity initItemEntity(IssueEntity issueEntity) { |
|
|
|
ItemEntity itemEntity = new ItemEntity(); |
|
|
|
itemEntity.setEventId(issueEntity.getEventId()); |
|
|
|
itemEntity.setIssueId(issueEntity.getId()); |
|
|
|
itemEntity.setUserId(issueEntity.getUserId()); |
|
|
|
itemEntity.setNickName(issueEntity.getNickName()); |
|
|
|
itemEntity.setUserFace(issueEntity.getUserFace()); |
|
|
|
itemEntity.setItemContent(issueEntity.getIssueContent()); |
|
|
|
itemEntity.setDistributeTime(issueEntity.getDistributeTime()); |
|
|
|
itemEntity.setArea(issueEntity.getArea()); |
|
|
|
itemEntity.setAreaId(issueEntity.getAreaId()); |
|
|
|
itemEntity.setStreet(issueEntity.getStreet()); |
|
|
|
itemEntity.setStreetId(issueEntity.getStreetId()); |
|
|
|
itemEntity.setGrid(issueEntity.getGrid()); |
|
|
|
itemEntity.setGridId(issueEntity.getGridId()); |
|
|
|
itemEntity.setCommunity(issueEntity.getCommunity()); |
|
|
|
itemEntity.setCommunityId(issueEntity.getCommunityId()); |
|
|
|
itemEntity.setIssueCategoryId(issueEntity.getIssueCategoryId()); |
|
|
|
itemEntity.setIssueAddress(issueEntity.getIssueAddress()); |
|
|
|
itemEntity.setIssueLongitude(issueEntity.getIssueLongitude()); |
|
|
|
itemEntity.setIssusLatitude(issueEntity.getIssusLatitude()); |
|
|
|
itemEntity.setFriendlyCommunityId(issueEntity.getFriendlyCommunityId()); |
|
|
|
itemEntity.setItemState(EventIssueItemState.ITEM_WAITING_GRID_HANDLE); |
|
|
|
return itemEntity; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|