| | |
| | | package com.ycl.service.caseHandler.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.StringUtils; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ycl.common.constant.StepName; |
| | | import com.ycl.entity.caseHandler.BaseCase; |
| | | import com.ycl.entity.caseHandler.DisposeRecord; |
| | | import com.ycl.entity.caseHandler.WorkflowConfigStep; |
| | | import com.ycl.entity.user.UmsAdminRoleRelation; |
| | | import com.ycl.bo.AdminUserDetails; |
| | | import com.ycl.controller.video.common.constant.BaseCaseStatus; |
| | | import com.ycl.controller.video.common.constant.StepName; |
| | | import com.ycl.dto.dispatch.UploadDisposingResultParam; |
| | | import com.ycl.entity.caseHandler.*; |
| | | import com.ycl.entity.resources.ImageResources; |
| | | import com.ycl.exception.ApiException; |
| | | import com.ycl.mapper.caseHandler.BaseCaseMapper; |
| | | import com.ycl.mapper.caseHandler.DisposeRecordMapper; |
| | | import com.ycl.mapper.caseHandler.WorkflowConfigStepMapper; |
| | | import com.ycl.mapper.user.UmsAdminRoleRelationMapper; |
| | | import com.ycl.service.caseHandler.IDisposeRecordService; |
| | | import com.ycl.service.caseHandler.*; |
| | | import com.ycl.service.resources.IImageResourcesService; |
| | | import com.ycl.vo.MyBacklogVO; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.security.core.context.SecurityContextHolder; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.time.LocalDateTime; |
| | | import java.util.ArrayList; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | @Resource |
| | | WorkflowConfigStepMapper workflowConfigStepMapper; |
| | | |
| | | @Resource |
| | | UmsAdminRoleRelationMapper umsAdminRoleRelationMapper; |
| | | @Autowired |
| | | IInvestigationService iInvestigationService; |
| | | @Autowired |
| | | IArrivalSituationService iArrivalSituationService; |
| | | @Autowired |
| | | IPartyInfoService iPartyInfoService; |
| | | @Autowired |
| | | IWritService iWritService; |
| | | @Autowired |
| | | IBaseCaseService baseCaseService; |
| | | @Autowired |
| | | IDisposeRecordService iDisposeRecordService; |
| | | @Autowired |
| | | IImageResourcesService iImageResourcesService; |
| | | |
| | | @Override |
| | | public List<MyBacklogVO> listMyTask(String num, Long userId) { |
| | | return disposeRecordMapper.selectMyBackList(userId,num); |
| | | return disposeRecordMapper.selectMyBackList(userId, num); |
| | | } |
| | | |
| | | @Override |
| | | public Boolean addRecord(DisposeRecord disposeRecord) { |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public Boolean saveUpload(Long caseId, Integer type, UploadDisposingResultParam uploadDisposingResultParam) { |
| | | AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); |
| | | //当事人 |
| | | PartyInfo partyInfo = new PartyInfo(); |
| | | if (StringUtils.isNotEmpty(uploadDisposingResultParam.getName())) { |
| | | BeanUtils.copyProperties(uploadDisposingResultParam, partyInfo); |
| | | partyInfo.setCreateUser(user.getUserId().intValue()); |
| | | partyInfo.setCreateTime(LocalDateTime.now()); |
| | | iPartyInfoService.save(partyInfo); |
| | | } |
| | | //调查取证 |
| | | Investigation investigation = new Investigation(); |
| | | BeanUtils.copyProperties(uploadDisposingResultParam, investigation); |
| | | investigation.setBaseCaseId(caseId); |
| | | investigation.setCreateTime(LocalDateTime.now()); |
| | | investigation.setCreateUser(user.getUserId()); |
| | | investigation.setPartyId(partyInfo.getId()); |
| | | investigation.setInvestigationTime(LocalDateTime.parse(uploadDisposingResultParam.getInvestigationTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); |
| | | iInvestigationService.save(investigation); |
| | | //到达 |
| | | ArrivalSituation arrivalSituation = new ArrivalSituation(); |
| | | BeanUtils.copyProperties(uploadDisposingResultParam, arrivalSituation); |
| | | arrivalSituation.setBaseCaseId(caseId); |
| | | arrivalSituation.setCreateTime(LocalDateTime.now()); |
| | | arrivalSituation.setCreateUser(user.getUserId()); |
| | | arrivalSituation.setArrivalTime(LocalDateTime.parse(uploadDisposingResultParam.getArrivalTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); |
| | | iArrivalSituationService.save(arrivalSituation); |
| | | //文书 |
| | | Integer illegalBuildingType = 2; |
| | | Integer violation = 1; |
| | | String handType = "02"; |
| | | ImageResources imageResources = new ImageResources(); |
| | | imageResources.setType(handType); |
| | | imageResources.setBelongToId(caseId); |
| | | imageResources.setCreateTime(LocalDateTime.now()); |
| | | imageResources.setCreateUser(user.getUserId()); |
| | | if (type == violation) { |
| | | imageResources.setUrl(StringUtils.joinWith(",", uploadDisposingResultParam.getPic(), uploadDisposingResultParam.getSituationPic())); |
| | | iImageResourcesService.save(imageResources); |
| | | } |
| | | if (type == illegalBuildingType) { |
| | | Writ writ = new Writ(); |
| | | BeanUtils.copyProperties(uploadDisposingResultParam, writ); |
| | | writ.setBaseCaseId(caseId); |
| | | writ.setIllegalBuildingId(caseId); |
| | | writ.setCreateTime(LocalDateTime.now()); |
| | | writ.setCreateUser(user.getUserId()); |
| | | writ.setLimitTime(LocalDateTime.parse(uploadDisposingResultParam.getLimitTime(), DateTimeFormatter.ofPattern("YYYY-MM-dd HH:mm:ss"))); |
| | | writ.setRectifyTime(LocalDateTime.parse(uploadDisposingResultParam.getRectifyTime(), DateTimeFormatter.ofPattern("YYYY-MM-dd HH:mm:ss"))); |
| | | writ.setSendTime(LocalDateTime.parse(uploadDisposingResultParam.getSendTime(), DateTimeFormatter.ofPattern("YYYY-MM-dd HH:mm:ss"))); |
| | | iWritService.save(writ); |
| | | imageResources.setUrl(StringUtils |
| | | .joinWith(",", uploadDisposingResultParam.getPic() |
| | | , uploadDisposingResultParam.getSituationPic() |
| | | , uploadDisposingResultParam.getOriginalPic() |
| | | , uploadDisposingResultParam.getOtherPic() |
| | | , uploadDisposingResultParam.getRectifiedPic() |
| | | , uploadDisposingResultParam.getWritPic())); |
| | | iImageResourcesService.save(imageResources); |
| | | } |
| | | baseCaseService.update(new LambdaUpdateWrapper<BaseCase>().eq(BaseCase::getId, caseId).set(BaseCase::getState, BaseCaseStatus.DISPOSE)); |
| | | String stepName = StepName.CHECK.getName(); |
| | | DisposeRecord disposeRecord = new DisposeRecord(); |
| | | disposeRecord.setBaseCaseId(caseId); |
| | | disposeRecord.setState(0); |
| | | disposeRecord.setCreateTime(LocalDateTime.now()); |
| | | disposeRecord.setCreateUser(user.getUserId()); |
| | | disposeRecord.setStepName(stepName); |
| | | disposeRecord.setStartTime(LocalDateTime.now()); |
| | | |
| | | //结束上传处置流程 |
| | | String stepName = StepName.DISPOSE.getName(); |
| | | QueryWrapper<WorkflowConfigStep> qureyDispatch = new QueryWrapper<>(); |
| | | qureyDispatch.eq("name", stepName); |
| | | qureyDispatch.eq("name", StepName.DISPOSE.getName()); |
| | | WorkflowConfigStep dispatchStep = workflowConfigStepMapper.selectOne(qureyDispatch); |
| | | |
| | | UpdateWrapper<DisposeRecord> updateWrapper = new UpdateWrapper<>(); |
| | |
| | | updateRecord.setState(1); |
| | | updateRecord.setEndTime(LocalDateTime.now()); |
| | | updateRecord.setHandlerId(disposeRecord.getCreateUser()); |
| | | updateRecord.setResult(uploadDisposingResultParam.getDescription()); |
| | | baseMapper.update(updateRecord, updateWrapper); |
| | | |
| | | QueryWrapper<WorkflowConfigStep> stepQurey = new QueryWrapper<>(); |
| | |
| | | //设置流程环节数据 |
| | | disposeRecord.setWorkflowConfigStepId(workflowConfigStep.getId()); |
| | | disposeRecord.setHandlerRoleId(workflowConfigStep.getRoleId()); |
| | | baseMapper.insert(disposeRecord); |
| | | return true; |
| | | return baseMapper.insert(disposeRecord) == 1 ? true : false; |
| | | } |
| | | } |