|
|
|
@ -79,7 +79,7 @@ import java.util.stream.IntStream;
|
|
|
|
|
@Slf4j |
|
|
|
|
@RequiredArgsConstructor |
|
|
|
|
public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMapper, WorkTicketInfoEntity> |
|
|
|
|
implements IFirstWorkTicketService { |
|
|
|
|
implements IFirstWorkTicketService { |
|
|
|
|
|
|
|
|
|
private final IWorkTicketSafetyMeasureService workTicketSafetyMeasureService; |
|
|
|
|
private final IOperAccessTaskClient operAccessTaskClient; |
|
|
|
@ -132,9 +132,9 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
|
|
|
|
|
public R billing(WorkTicketInfoDto dto) { |
|
|
|
|
dto.setCode(this.generateCode()); |
|
|
|
|
dto.setStatus(Func.isEmpty(dto.getPrincipal()) |
|
|
|
|
|| Func.isEmpty(dto.getClassGroupMembers()) ? |
|
|
|
|
WorkTicketConstants.FirstWorkTicketStatusEnum.OFFLINE_OPERATE.getStatus() : |
|
|
|
|
WorkTicketConstants.FirstWorkTicketStatusEnum.SIGN.getStatus()); |
|
|
|
|
|| Func.isEmpty(dto.getClassGroupMembers()) ? |
|
|
|
|
WorkTicketConstants.FirstWorkTicketStatusEnum.OFFLINE_OPERATE.getStatus() : |
|
|
|
|
WorkTicketConstants.FirstWorkTicketStatusEnum.SIGN.getStatus()); |
|
|
|
|
if(this.save(dto)) { |
|
|
|
|
//保存详情表
|
|
|
|
|
this.saveDetail(dto); |
|
|
|
@ -166,7 +166,7 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
|
|
|
|
|
completeTask.setProcessInstanceId(dto.getProcessInstanceId()); |
|
|
|
|
//获取工作流任务
|
|
|
|
|
String taskId = flowClient.getTaskByProcessInstanceIdAndUserId( |
|
|
|
|
dto.getProcessInstanceId(),userId).getData().getTaskId(); |
|
|
|
|
dto.getProcessInstanceId(),userId).getData().getTaskId(); |
|
|
|
|
completeTask.setTaskId(taskId); |
|
|
|
|
completeTask.setComment("签发人签发通过"); |
|
|
|
|
Map<String,Object> variables = new HashMap<>(3); |
|
|
|
@ -187,8 +187,8 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
|
|
|
|
|
if(WorkTicketConstants.FirstWorkTicketStatusEnum.SIGN.getStatus().equals(dto.getStatus())) { |
|
|
|
|
//获取签发人角色下的人员
|
|
|
|
|
R<List<User>> listR = userClient.relationUserListByRoleAlias( |
|
|
|
|
AuthUtil.getTenantId(),Long.parseLong(AuthUtil.getUser().getDeptId()), |
|
|
|
|
TicketConstants.SIGNER_ROLE); |
|
|
|
|
AuthUtil.getTenantId(),Long.parseLong(AuthUtil.getUser().getDeptId()), |
|
|
|
|
TicketConstants.SIGNER_ROLE); |
|
|
|
|
if(!listR.isSuccess() || CollectionUtil.isEmpty(listR.getData())){ |
|
|
|
|
throw new ServiceException("工作票签发人角色下未查询到相关人员"); |
|
|
|
|
} |
|
|
|
@ -197,17 +197,17 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
|
|
|
|
|
put("signUserIds", AuthUtil.getUserId()); |
|
|
|
|
}}; |
|
|
|
|
R<BladeFlow> result = flowClient |
|
|
|
|
.startProcessInstanceContainNameByKey(newFirstWorkTicketFlowKey,"workTicket:task:" + dto.getId(), |
|
|
|
|
dto.getWorkContent(), |
|
|
|
|
params); |
|
|
|
|
.startProcessInstanceContainNameByKey(newFirstWorkTicketFlowKey,"workTicket:task:" + dto.getId(), |
|
|
|
|
dto.getWorkContent(), |
|
|
|
|
params); |
|
|
|
|
Assert.isTrue(result.isSuccess(),()-> { |
|
|
|
|
throw new ServiceException("开启工作票工作流失败!"); |
|
|
|
|
}); |
|
|
|
|
dto.setProcessInstanceId(result.getData().getProcessInstanceId()); |
|
|
|
|
//保存工作流实例ID
|
|
|
|
|
this.update(Wrappers.<WorkTicketInfoEntity>lambdaUpdate() |
|
|
|
|
.set(WorkTicketInfoEntity::getProcessInstanceId,result.getData().getProcessInstanceId()) |
|
|
|
|
.eq(WorkTicketInfoEntity::getId,dto.getId())); |
|
|
|
|
.set(WorkTicketInfoEntity::getProcessInstanceId,result.getData().getProcessInstanceId()) |
|
|
|
|
.eq(WorkTicketInfoEntity::getId,dto.getId())); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -219,24 +219,24 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
|
|
|
|
|
//保存安全措施
|
|
|
|
|
if(CollectionUtil.isNotEmpty(dto.getWorkTicketSafetyMeasureDtoList())) { |
|
|
|
|
List<WorkTicketSafetyMeasureEntity> measureEntityList = |
|
|
|
|
dto.getWorkTicketSafetyMeasureDtoList().stream().map(measure -> { |
|
|
|
|
WorkTicketSafetyMeasureEntity measureEntity = |
|
|
|
|
BeanUtil.copy(measure, WorkTicketSafetyMeasureEntity.class); |
|
|
|
|
measureEntity.setTicketId(dto.getId()); |
|
|
|
|
return measureEntity; |
|
|
|
|
}).collect(Collectors.toList()); |
|
|
|
|
dto.getWorkTicketSafetyMeasureDtoList().stream().map(measure -> { |
|
|
|
|
WorkTicketSafetyMeasureEntity measureEntity = |
|
|
|
|
BeanUtil.copy(measure, WorkTicketSafetyMeasureEntity.class); |
|
|
|
|
measureEntity.setTicketId(dto.getId()); |
|
|
|
|
return measureEntity; |
|
|
|
|
}).collect(Collectors.toList()); |
|
|
|
|
workTicketSafetyMeasureService.saveBatch(measureEntityList); |
|
|
|
|
} |
|
|
|
|
//保存工作任务
|
|
|
|
|
if(CollectionUtil.isNotEmpty(dto.getWorkTicketContentDtoList())) { |
|
|
|
|
List<WorkTicketContentEntity> contentEntities = dto.getWorkTicketContentDtoList() |
|
|
|
|
.stream() |
|
|
|
|
.map(contentDto -> { |
|
|
|
|
WorkTicketContentEntity contentEntity = |
|
|
|
|
BeanUtil.copy(contentDto, WorkTicketContentEntity.class); |
|
|
|
|
contentEntity.setTicketId(dto.getId()); |
|
|
|
|
return contentEntity; |
|
|
|
|
}).collect(Collectors.toList()); |
|
|
|
|
.stream() |
|
|
|
|
.map(contentDto -> { |
|
|
|
|
WorkTicketContentEntity contentEntity = |
|
|
|
|
BeanUtil.copy(contentDto, WorkTicketContentEntity.class); |
|
|
|
|
contentEntity.setTicketId(dto.getId()); |
|
|
|
|
return contentEntity; |
|
|
|
|
}).collect(Collectors.toList()); |
|
|
|
|
contentService.saveBatch(contentEntities); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -291,7 +291,7 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
|
|
|
|
|
//流程进行下一步必要参数判断
|
|
|
|
|
Map<String,Object> variable = comleteTask.getVariables(); |
|
|
|
|
Assert.isTrue(CollectionUtil.isNotEmpty(variable) && Func.isNotEmpty(variable.get(TICKET_ID)) |
|
|
|
|
&& Func.isNotEmpty(variable.get("ticketStatus")),()->{ |
|
|
|
|
&& Func.isNotEmpty(variable.get("ticketStatus")),()->{ |
|
|
|
|
throw new ServiceException("完成当前流程必须要传入ticketId&ticketStatus"); |
|
|
|
|
}); |
|
|
|
|
WorkTicketConstants.FirstWorkTicketStatusEnum statusEnum = WorkTicketConstants.FirstWorkTicketStatusEnum.getEnumByStatus(Integer.parseInt(variable.get(TICKET_STATUS).toString())); |
|
|
|
@ -334,6 +334,9 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
|
|
|
|
|
@Override |
|
|
|
|
public R<WorkTicketInfoVO> detail(Long id) { |
|
|
|
|
WorkTicketInfoEntity entity = this.getById(id); |
|
|
|
|
if(entity==null){ |
|
|
|
|
return R.fail("票据不存在"); |
|
|
|
|
} |
|
|
|
|
WorkTicketInfoVO workTicketInfoVO = WorkTicketInfoWrapper.build().entityVO(entity); |
|
|
|
|
|
|
|
|
|
//获取工作票安全措施列表
|
|
|
|
@ -409,9 +412,9 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
|
|
|
|
|
variable = this.excludeProperties(comleteTask.getVariables(),TICKET_ID,TICKET_STATUS); |
|
|
|
|
//更新工作票状态
|
|
|
|
|
LambdaUpdateWrapper<WorkTicketInfoEntity> luw = Wrappers.<WorkTicketInfoEntity>lambdaUpdate() |
|
|
|
|
.set(WorkTicketInfoEntity::getStatus,ticketStatus) |
|
|
|
|
.set(WorkTicketInfoEntity::getSigner,AuthUtil.getUserId()) |
|
|
|
|
.eq(WorkTicketInfoEntity::getId,ticketId); |
|
|
|
|
.set(WorkTicketInfoEntity::getStatus,ticketStatus) |
|
|
|
|
.set(WorkTicketInfoEntity::getSigner,AuthUtil.getUserId()) |
|
|
|
|
.eq(WorkTicketInfoEntity::getId,ticketId); |
|
|
|
|
if(this.update(luw)){ |
|
|
|
|
//将下一步骤收到工作票所需值班负责人赋入工作流
|
|
|
|
|
WorkTicketInfoEntity entity = this.getById(ticketId); |
|
|
|
@ -437,9 +440,9 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
|
|
|
|
|
variable = this.excludeProperties(comleteTask.getVariables(),TICKET_ID,TICKET_STATUS); |
|
|
|
|
//更新工作票状态 更新工作票值班负责人
|
|
|
|
|
LambdaUpdateWrapper<WorkTicketInfoEntity> luw = Wrappers.<WorkTicketInfoEntity>lambdaUpdate() |
|
|
|
|
.set(WorkTicketInfoEntity::getPrincipal,AuthUtil.getUserId()) |
|
|
|
|
.set(WorkTicketInfoEntity::getStatus,ticketStatus) |
|
|
|
|
.eq(WorkTicketInfoEntity::getId,ticketId); |
|
|
|
|
.set(WorkTicketInfoEntity::getPrincipal,AuthUtil.getUserId()) |
|
|
|
|
.set(WorkTicketInfoEntity::getStatus,ticketStatus) |
|
|
|
|
.eq(WorkTicketInfoEntity::getId,ticketId); |
|
|
|
|
//创建流程信息
|
|
|
|
|
WorkTicketFlowEntity flowEntity = new WorkTicketFlowEntity(); |
|
|
|
|
flowEntity.setFlowCode(ticketStatus.toString()); |
|
|
|
@ -483,16 +486,16 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
|
|
|
|
|
}); |
|
|
|
|
//更新工作票状态 更新工作票许可人
|
|
|
|
|
LambdaUpdateWrapper<WorkTicketInfoEntity> luw = Wrappers.<WorkTicketInfoEntity>lambdaUpdate() |
|
|
|
|
.set(WorkTicketInfoEntity::getLicensor,AuthUtil.getUserId()) |
|
|
|
|
.set(WorkTicketInfoEntity::getLicenseTime, LocalDateTime.now()) |
|
|
|
|
.set(WorkTicketInfoEntity::getStatus,ticketStatus) |
|
|
|
|
.eq(WorkTicketInfoEntity::getId,ticketId); |
|
|
|
|
.set(WorkTicketInfoEntity::getLicensor,AuthUtil.getUserId()) |
|
|
|
|
.set(WorkTicketInfoEntity::getLicenseTime, LocalDateTime.now()) |
|
|
|
|
.set(WorkTicketInfoEntity::getStatus,ticketStatus) |
|
|
|
|
.eq(WorkTicketInfoEntity::getId,ticketId); |
|
|
|
|
variable = this.excludeProperties(comleteTask.getVariables(),TICKET_ID,TICKET_STATUS,TICKET_MEASURES); |
|
|
|
|
if(this.update(luw) && workTicketSafetyMeasureService.updateBatchById(measureEntityList)) { |
|
|
|
|
//将下一步骤收到工作票所需工作负责人及组员赋入工作流
|
|
|
|
|
WorkTicketInfoEntity entity = this.getById(ticketId); |
|
|
|
|
String taskUser = Arrays.stream((entity.getPrincipal()+","+entity.getClassGroupMembers()).split(",")) |
|
|
|
|
.map(u->"taskUser_"+u).collect(Collectors.joining(",")); |
|
|
|
|
.map(u->"taskUser_"+u).collect(Collectors.joining(",")); |
|
|
|
|
variable.put("principalUserIds",taskUser); |
|
|
|
|
comleteTask.setVariables(variable); |
|
|
|
|
//完成工作流
|
|
|
|
@ -535,8 +538,8 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
|
|
|
|
|
}); |
|
|
|
|
//更新工作票状态
|
|
|
|
|
LambdaUpdateWrapper<WorkTicketInfoEntity> luw = Wrappers.<WorkTicketInfoEntity>lambdaUpdate() |
|
|
|
|
.set(WorkTicketInfoEntity::getStatus,ticketStatus) |
|
|
|
|
.eq(WorkTicketInfoEntity::getId,ticketId); |
|
|
|
|
.set(WorkTicketInfoEntity::getStatus,ticketStatus) |
|
|
|
|
.eq(WorkTicketInfoEntity::getId,ticketId); |
|
|
|
|
if(this.update(luw) && workTicketSafetyMeasureService.updateBatchById(measureEntityList)) { |
|
|
|
|
//将下一步骤收到工作票所需工作负责人赋入工作流
|
|
|
|
|
WorkTicketInfoEntity entity = this.getById(ticketId); |
|
|
|
@ -565,11 +568,11 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
|
|
|
|
|
variable = this.excludeProperties(comleteTask.getVariables(),TICKET_ID,TICKET_STATUS,CONFIRM_IMG_URLS,CONFIRM_IMG_FILENAMES); |
|
|
|
|
//更新工作票状态
|
|
|
|
|
LambdaUpdateWrapper<WorkTicketInfoEntity> luw = Wrappers.<WorkTicketInfoEntity>lambdaUpdate() |
|
|
|
|
.set(WorkTicketInfoEntity::getStatus,ticketStatus) |
|
|
|
|
.set(WorkTicketInfoEntity::getConfirmImgUrls,confirmImgUrls) |
|
|
|
|
.set(WorkTicketInfoEntity::getConfirmImgFilenames,confirmImgFilenames) |
|
|
|
|
.set(WorkTicketInfoEntity::getConfirmWorkTime,now) |
|
|
|
|
.eq(WorkTicketInfoEntity::getId,ticketId); |
|
|
|
|
.set(WorkTicketInfoEntity::getStatus,ticketStatus) |
|
|
|
|
.set(WorkTicketInfoEntity::getConfirmImgUrls,confirmImgUrls) |
|
|
|
|
.set(WorkTicketInfoEntity::getConfirmImgFilenames,confirmImgFilenames) |
|
|
|
|
.set(WorkTicketInfoEntity::getConfirmWorkTime,now) |
|
|
|
|
.eq(WorkTicketInfoEntity::getId,ticketId); |
|
|
|
|
if(this.update(luw)) { |
|
|
|
|
WorkTicketInfoEntity entity = this.getById(ticketId); |
|
|
|
|
variable.put("licenseUserIds","taskUser_"+entity.getLicensor().toString()); |
|
|
|
@ -595,9 +598,9 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
|
|
|
|
|
variable = this.excludeProperties(comleteTask.getVariables(),TICKET_ID,TICKET_STATUS,LICENSE_END_TIME); |
|
|
|
|
//更新工作票状态
|
|
|
|
|
LambdaUpdateWrapper<WorkTicketInfoEntity> luw = Wrappers.<WorkTicketInfoEntity>lambdaUpdate() |
|
|
|
|
.set(WorkTicketInfoEntity::getStatus,ticketStatus) |
|
|
|
|
.set(WorkTicketInfoEntity::getLicenseEndTime,licenseEndTime) |
|
|
|
|
.eq(WorkTicketInfoEntity::getId,ticketId); |
|
|
|
|
.set(WorkTicketInfoEntity::getStatus,ticketStatus) |
|
|
|
|
.set(WorkTicketInfoEntity::getLicenseEndTime,licenseEndTime) |
|
|
|
|
.eq(WorkTicketInfoEntity::getId,ticketId); |
|
|
|
|
|
|
|
|
|
//许可人确认工作结束需上传图片 创建流程信息
|
|
|
|
|
String licenseImgUrls = (String) variable.get(LICENSE_IMG_URLS); |
|
|
|
@ -635,8 +638,8 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
|
|
|
|
|
variable = this.excludeProperties(comleteTask.getVariables(),TICKET_ID,TICKET_STATUS,LICENSE_END_TIME); |
|
|
|
|
//更新工作票状态
|
|
|
|
|
LambdaUpdateWrapper<WorkTicketInfoEntity> luw = Wrappers.<WorkTicketInfoEntity>lambdaUpdate() |
|
|
|
|
.set(WorkTicketInfoEntity::getStatus,ticketStatus) |
|
|
|
|
.eq(WorkTicketInfoEntity::getId,ticketId); |
|
|
|
|
.set(WorkTicketInfoEntity::getStatus,ticketStatus) |
|
|
|
|
.eq(WorkTicketInfoEntity::getId,ticketId); |
|
|
|
|
//创建流程信息
|
|
|
|
|
WorkTicketFlowEntity workTicketFlowEntity = new WorkTicketFlowEntity(); |
|
|
|
|
workTicketFlowEntity.setTicketId(ticketId); |
|
|
|
@ -685,8 +688,8 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
|
|
|
|
|
variable = this.excludeProperties(comleteTask.getVariables(),TICKET_ID,TICKET_STATUS,TICKET_DELAY); |
|
|
|
|
//更新工作票状态
|
|
|
|
|
LambdaUpdateWrapper<WorkTicketInfoEntity> luw = Wrappers.<WorkTicketInfoEntity>lambdaUpdate() |
|
|
|
|
.set(WorkTicketInfoEntity::getStatus,ticketStatus) |
|
|
|
|
.eq(WorkTicketInfoEntity::getId,ticketId); |
|
|
|
|
.set(WorkTicketInfoEntity::getStatus,ticketStatus) |
|
|
|
|
.eq(WorkTicketInfoEntity::getId,ticketId); |
|
|
|
|
if(this.update(luw) && workTicketDelayService.saveOrUpdate(delayEntity)) { |
|
|
|
|
//完成工作流
|
|
|
|
|
WorkTicketInfoEntity entity = this.getById(ticketId); |
|
|
|
@ -717,8 +720,8 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
|
|
|
|
|
variable = this.excludeProperties(comleteTask.getVariables(),TICKET_ID,TICKET_STATUS,TICKET_DELAY); |
|
|
|
|
//更新工作票状态
|
|
|
|
|
LambdaUpdateWrapper<WorkTicketInfoEntity> luw = Wrappers.<WorkTicketInfoEntity>lambdaUpdate() |
|
|
|
|
.set(WorkTicketInfoEntity::getStatus,ticketStatus) |
|
|
|
|
.eq(WorkTicketInfoEntity::getId,ticketId); |
|
|
|
|
.set(WorkTicketInfoEntity::getStatus,ticketStatus) |
|
|
|
|
.eq(WorkTicketInfoEntity::getId,ticketId); |
|
|
|
|
if(this.update(luw) && workTicketDelayService.updateById(delayEntity)) { |
|
|
|
|
//完成工作流
|
|
|
|
|
WorkTicketInfoEntity entity = this.getById(ticketId); |
|
|
|
@ -748,8 +751,8 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
|
|
|
|
|
variable = this.excludeProperties(comleteTask.getVariables(),TICKET_ID,TICKET_STATUS,TICKET_DELAY); |
|
|
|
|
//更新工作票状态
|
|
|
|
|
LambdaUpdateWrapper<WorkTicketInfoEntity> luw = Wrappers.<WorkTicketInfoEntity>lambdaUpdate() |
|
|
|
|
.set(WorkTicketInfoEntity::getStatus,ticketStatus) |
|
|
|
|
.eq(WorkTicketInfoEntity::getId,ticketId); |
|
|
|
|
.set(WorkTicketInfoEntity::getStatus,ticketStatus) |
|
|
|
|
.eq(WorkTicketInfoEntity::getId,ticketId); |
|
|
|
|
if(this.update(luw) && workTicketDelayService.updateById(delayEntity)) { |
|
|
|
|
//完成工作流
|
|
|
|
|
comleteTask.setVariables(variable); |
|
|
|
@ -773,8 +776,8 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
|
|
|
|
|
variable = this.excludeProperties(comleteTask.getVariables(),TICKET_ID,TICKET_STATUS); |
|
|
|
|
//更新工作票状态
|
|
|
|
|
LambdaUpdateWrapper<WorkTicketInfoEntity> luw = Wrappers.<WorkTicketInfoEntity>lambdaUpdate() |
|
|
|
|
.set(WorkTicketInfoEntity::getStatus,ticketStatus) |
|
|
|
|
.eq(WorkTicketInfoEntity::getId,ticketId); |
|
|
|
|
.set(WorkTicketInfoEntity::getStatus,ticketStatus) |
|
|
|
|
.eq(WorkTicketInfoEntity::getId,ticketId); |
|
|
|
|
WorkTicketInfoEntity entity = this.getById(ticketId); |
|
|
|
|
if(this.update(luw)) { |
|
|
|
|
//完成工作流
|
|
|
|
@ -792,10 +795,10 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
|
|
|
|
|
configEntity.setPushers(entity.getCreateUser().toString()); |
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat(DateUtil.PATTERN_DATETIME); |
|
|
|
|
configEntity.setContent("【" |
|
|
|
|
+ entity.getWorkContent() + "】于" |
|
|
|
|
+ sdf.format(new Date()) + "被" |
|
|
|
|
+ userName |
|
|
|
|
+ "作废;作废理由为:" + comment); |
|
|
|
|
+ entity.getWorkContent() + "】于" |
|
|
|
|
+ sdf.format(new Date()) + "被" |
|
|
|
|
+ userName |
|
|
|
|
+ "作废;作废理由为:" + comment); |
|
|
|
|
messageConfigClient.pushAppMessageByConfig(configEntity); |
|
|
|
|
},"messagePush").start(); |
|
|
|
|
} |
|
|
|
@ -836,11 +839,11 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
|
|
|
|
|
throw new ServiceException("当前操作人没有许可人角色,无法执行该操作"); |
|
|
|
|
} |
|
|
|
|
update(Wrappers.<WorkTicketInfoEntity>lambdaUpdate() |
|
|
|
|
.set(WorkTicketInfoEntity::getStatus, WorkTicketConstants.FirstWorkTicketStatusEnum.OFFLINE_LICENSE.getStatus()) |
|
|
|
|
.set(WorkTicketInfoEntity::getLicensor,AuthUtil.getUserId()) |
|
|
|
|
.set(WorkTicketInfoEntity::getLicenseTime,LocalDateTime.now()) |
|
|
|
|
.set(WorkTicketInfoEntity::getLicenseEndTime,req.getLicenseEndTime()) |
|
|
|
|
.eq(WorkTicketInfoEntity::getId,ticketId) |
|
|
|
|
.set(WorkTicketInfoEntity::getStatus, WorkTicketConstants.FirstWorkTicketStatusEnum.OFFLINE_LICENSE.getStatus()) |
|
|
|
|
.set(WorkTicketInfoEntity::getLicensor,AuthUtil.getUserId()) |
|
|
|
|
.set(WorkTicketInfoEntity::getLicenseTime,LocalDateTime.now()) |
|
|
|
|
.set(WorkTicketInfoEntity::getLicenseEndTime,req.getLicenseEndTime()) |
|
|
|
|
.eq(WorkTicketInfoEntity::getId,ticketId) |
|
|
|
|
); |
|
|
|
|
//添加流程信息
|
|
|
|
|
WorkTicketFlowEntity flowEntity = new WorkTicketFlowEntity(); |
|
|
|
@ -862,8 +865,8 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
|
|
|
|
|
//更新工作票
|
|
|
|
|
WorkTicketInfoDto infoDto = ticketAccessTaskDto.getWorkTicketInfoDto(); |
|
|
|
|
update(Wrappers.<WorkTicketInfoEntity>lambdaUpdate() |
|
|
|
|
.set(WorkTicketInfoEntity::getStatus,WorkTicketConstants.FirstWorkTicketStatusEnum.OFFLINE_END.getStatus()) |
|
|
|
|
.eq(WorkTicketInfoEntity::getId,infoDto.getId()) |
|
|
|
|
.set(WorkTicketInfoEntity::getStatus,WorkTicketConstants.FirstWorkTicketStatusEnum.OFFLINE_END.getStatus()) |
|
|
|
|
.eq(WorkTicketInfoEntity::getId,infoDto.getId()) |
|
|
|
|
); |
|
|
|
|
//获取工作票实体类
|
|
|
|
|
WorkTicketInfoEntity infoEntity = getById(infoDto.getId()); |
|
|
|
@ -898,29 +901,29 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
|
|
|
|
|
if(CollectionUtil.isNotEmpty(workTicketReportStatistic)) { |
|
|
|
|
// 工作票完成数量
|
|
|
|
|
int ticketInfoCompleteNum = workTicketReportStatistic.stream().filter( |
|
|
|
|
ticket-> WorkTicketConstants.FirstWorkTicketStatusEnum.FINISH.getStatus().equals(ticket.getStatus()) |
|
|
|
|
ticket-> WorkTicketConstants.FirstWorkTicketStatusEnum.FINISH.getStatus().equals(ticket.getStatus()) |
|
|
|
|
).collect(Collectors.toList()).size(); |
|
|
|
|
// 工作票未完成数量
|
|
|
|
|
int ticketInfoStartNum = workTicketReportStatistic.size() - ticketInfoCompleteNum; |
|
|
|
|
// 延期数量统计
|
|
|
|
|
int ticketInfoDelayNum = workTicketReportStatistic.stream().filter(ticket -> Func.isNotEmpty(ticket.getDelayId())) |
|
|
|
|
.collect(Collectors.toList()).size(); |
|
|
|
|
.collect(Collectors.toList()).size(); |
|
|
|
|
// 合格数量统计
|
|
|
|
|
int ticketInfoQualifiedNum = workTicketReportStatistic.stream().filter(ticket -> Func.isNotEmpty(ticket.getEvaluation()) && ticket.getEvaluation().intValue() == 1) |
|
|
|
|
.collect(Collectors.toList()).size(); |
|
|
|
|
.collect(Collectors.toList()).size(); |
|
|
|
|
//计算合格率
|
|
|
|
|
Double ticketInfoProportion = new BigDecimal(ticketInfoQualifiedNum / (double) workTicketReportStatistic.size() *100) |
|
|
|
|
.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue(); |
|
|
|
|
.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue(); |
|
|
|
|
|
|
|
|
|
workTicketStatistic = TicketInfoStatisticVO.builder() |
|
|
|
|
.ticketInfoType("工作票") |
|
|
|
|
.ticketInfoNumber(workTicketReportStatistic.size()) |
|
|
|
|
.ticketInfoCompleteNum(ticketInfoCompleteNum) |
|
|
|
|
.ticketInfoStartNum(ticketInfoStartNum) |
|
|
|
|
.ticketInfoDelayNum(ticketInfoDelayNum) |
|
|
|
|
.ticketInfoQualifiedNum(ticketInfoQualifiedNum) |
|
|
|
|
.ticketInfoProportion(ticketInfoProportion) |
|
|
|
|
.build(); |
|
|
|
|
.ticketInfoType("工作票") |
|
|
|
|
.ticketInfoNumber(workTicketReportStatistic.size()) |
|
|
|
|
.ticketInfoCompleteNum(ticketInfoCompleteNum) |
|
|
|
|
.ticketInfoStartNum(ticketInfoStartNum) |
|
|
|
|
.ticketInfoDelayNum(ticketInfoDelayNum) |
|
|
|
|
.ticketInfoQualifiedNum(ticketInfoQualifiedNum) |
|
|
|
|
.ticketInfoProportion(ticketInfoProportion) |
|
|
|
|
.build(); |
|
|
|
|
} |
|
|
|
|
return workTicketStatistic; |
|
|
|
|
} |
|
|
|
@ -934,7 +937,7 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
|
|
|
|
|
//安全措施
|
|
|
|
|
if(CollectionUtil.isNotEmpty(infoVO.getWorkTicketSafetyMeasureVOList())){ |
|
|
|
|
Map<String,List<WorkTicketSafetyMeasureVO>> measureMap = infoVO.getWorkTicketSafetyMeasureVOList().stream() |
|
|
|
|
.collect(Collectors.groupingBy(WorkTicketSafetyMeasureVO::getType)); |
|
|
|
|
.collect(Collectors.groupingBy(WorkTicketSafetyMeasureVO::getType)); |
|
|
|
|
Arrays.stream(WorkTicketConstants.WorkTicketMeasureTypeEnum.class.getEnumConstants()).forEach(measureEnum->{ |
|
|
|
|
if(CollectionUtil.isNotEmpty(measureMap.get(measureEnum.getType()))) { |
|
|
|
|
List<Map<String,Object>> mapList = measureMap.get(measureEnum.getType()).stream().map(measureVO->{ |
|
|
|
|