|
|
@ -61,6 +61,9 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService { |
|
|
|
@Resource |
|
|
|
private ProjectInfoMapper projectInfoMapper; |
|
|
|
|
|
|
|
@Resource |
|
|
|
private WorkReviewInfoMapper workReviewInfoMapper; |
|
|
|
|
|
|
|
|
|
|
|
@Resource |
|
|
|
private IProjectInfoService projectInfoService; |
|
|
@ -722,19 +725,28 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService { |
|
|
|
workOrderProcess.setDuration(formatDuration); |
|
|
|
|
|
|
|
Boolean flag = workOrderProcessService.insertByBo(workOrderProcess); |
|
|
|
|
|
|
|
//reviewResult
|
|
|
|
if (flag){ |
|
|
|
LambdaUpdateWrapper<WorkOrderInfo> updateWrapper = new LambdaUpdateWrapper<>(); |
|
|
|
updateWrapper.eq(WorkOrderInfo::getId, workOrderId) |
|
|
|
.set(WorkOrderInfo::getStatus, 4); |
|
|
|
// 设置处理人信息
|
|
|
|
.set(WorkOrderInfo::getStatus, 4) |
|
|
|
.set(WorkOrderInfo::getHandleTime,date2) |
|
|
|
.set(WorkOrderInfo::getHandler,loginUser.getNickname()) |
|
|
|
.set(WorkOrderInfo::getHandleResult,bo.getFixResult()); |
|
|
|
baseMapper.update(null, updateWrapper); |
|
|
|
log.info("工单处理完毕,等待初审结果"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 工单初审 |
|
|
|
* @param bo |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public void initReviewOrder(WorkReviewInfoBo bo) { |
|
|
|
String handleResult = bo.getHandleResult(); |
|
|
|
//String handleResult = bo.getHandleResult();
|
|
|
|
String auditResult = bo.getAuditResult(); |
|
|
|
String workOrderId = bo.getId(); |
|
|
|
bo.setId(null); |
|
|
|
bo.setWorkOrderId(workOrderId); |
|
|
@ -742,7 +754,7 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService { |
|
|
|
|
|
|
|
// 1.插入审核信息表
|
|
|
|
workReviewInfoService.insertByBo(bo); |
|
|
|
if (handleResult.equals("通过")){ |
|
|
|
if (auditResult.equals("通过")){ |
|
|
|
WorkOrderProcessBo workOrderProcess = new WorkOrderProcessBo(); |
|
|
|
// 设置基础信息
|
|
|
|
workOrderProcess.setWorkOrderId(workOrderId); |
|
|
@ -870,15 +882,18 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService { |
|
|
|
|
|
|
|
@Override |
|
|
|
public void lastReviewOrder(WorkReviewInfoBo bo) { |
|
|
|
String handleResult = bo.getHandleResult(); |
|
|
|
//String handleResult = bo.getHandleResult();
|
|
|
|
String auditResult = bo.getAuditResult(); |
|
|
|
String workOrderId = bo.getId(); |
|
|
|
bo.setId(null); |
|
|
|
bo.setWorkOrderId(workOrderId); |
|
|
|
// 用于区分初审和终审 0:初审 1:终审
|
|
|
|
bo.setStatus(1L); |
|
|
|
LoginUser loginUser = LoginHelper.getLoginUser(); |
|
|
|
// 1.插入审核信息表
|
|
|
|
workReviewInfoService.insertByBo(bo); |
|
|
|
// 2.根据处理结果判断
|
|
|
|
if (handleResult.equals("通过")){ |
|
|
|
if (auditResult.equals("通过")){ |
|
|
|
WorkOrderProcessBo workOrderProcess = new WorkOrderProcessBo(); |
|
|
|
// 设置基础信息
|
|
|
|
workOrderProcess.setWorkOrderId(workOrderId); |
|
|
@ -923,7 +938,7 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService { |
|
|
|
endBo.setOperator(loginUser.getNickname()); |
|
|
|
workOrderProcessService.insertByBo(endBo); |
|
|
|
} |
|
|
|
}else if ("退回".equals(handleResult)){ |
|
|
|
}else if ("退回".equals(auditResult)){ |
|
|
|
// 终审不通过需要重新处理工单
|
|
|
|
WorkOrderProcessBo workOrderProcess = new WorkOrderProcessBo(); |
|
|
|
// 设置基础信息
|
|
|
@ -1450,8 +1465,8 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService { |
|
|
|
}else { |
|
|
|
dealQueryWrapper.orderByDesc(WorkOrderProcess::getCreateTime); |
|
|
|
} |
|
|
|
|
|
|
|
dealQueryWrapper.last("LIMIT 1"); |
|
|
|
|
|
|
|
WorkOrderProcess dealProcess = workOrderProcessMapper.selectOne(dealQueryWrapper); |
|
|
|
if (dealProcess != null && dealProcess.getOperationTime() != null) { |
|
|
|
handleTimeOutSituation = getTimeLeft(dealProcess.getOperationTime(),record.getResponseTime() ); |
|
|
@ -1482,6 +1497,57 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService { |
|
|
|
Double handleCost = record.getHandleCost() == null ? 0.0 : record.getHandleCost(); |
|
|
|
Double orderAcceptCost = record.getOrderTakingCost() == null ? 0.0 : record.getOrderTakingCost(); |
|
|
|
record.setTotalCost(handleCost + orderAcceptCost); |
|
|
|
|
|
|
|
String handler = workOrderProcessMapper.getHandlerByWorkOrderId(workOrderId); |
|
|
|
if (handler != null){ |
|
|
|
record.setHandler(handler); |
|
|
|
}else { |
|
|
|
record.setHandler("无"); |
|
|
|
} |
|
|
|
// 接单时间
|
|
|
|
Date orderAcceptTime = workOrderProcessMapper.getOrderAcceptTimeByWorkOrderId(workOrderId); |
|
|
|
if (orderAcceptTime != null){ |
|
|
|
record.setOrderAcceptTime(orderAcceptTime); |
|
|
|
} |
|
|
|
// 延期
|
|
|
|
LambdaQueryWrapper<WorkOrderDelay> queryDelayWrapper = new LambdaQueryWrapper<>(); |
|
|
|
queryDelayWrapper.eq(WorkOrderDelay::getId, workOrderId); |
|
|
|
queryDelayWrapper.eq(WorkOrderDelay::getHandleResult,"审核通过"); |
|
|
|
queryDelayWrapper.orderByDesc(WorkOrderDelay::getCreateTime); |
|
|
|
queryDelayWrapper.last("LIMIT 1"); |
|
|
|
WorkOrderDelayVo workOrderDelayVo = workOrderDelayMapper.selectVoOne(queryDelayWrapper); |
|
|
|
if (workOrderDelayVo != null){ |
|
|
|
record.setIsDelay("是"); |
|
|
|
record.setDelayTime(workOrderDelayVo.getAfterDelayTime()); |
|
|
|
record.setDelayReason(workOrderDelayVo.getDelayReason()); |
|
|
|
}else { |
|
|
|
record.setIsDelay("否"); |
|
|
|
} |
|
|
|
// 审核
|
|
|
|
// 默认 实际上要从审批情况中获取
|
|
|
|
record.setOtherCost(0.0); |
|
|
|
record.setOtherCostReason("无"); |
|
|
|
|
|
|
|
String initAdvice = workReviewInfoMapper.getInitAdvice(workOrderId); |
|
|
|
if (StringUtils.isNotBlank(initAdvice)){ |
|
|
|
record.setInitAdvice(initAdvice); |
|
|
|
} |
|
|
|
|
|
|
|
String lastAdvice = workReviewInfoMapper.getLastAdvice(workOrderId); |
|
|
|
if (StringUtils.isNotBlank(lastAdvice)){ |
|
|
|
record.setLastAdvice(lastAdvice); |
|
|
|
} |
|
|
|
|
|
|
|
LambdaQueryWrapper<WorkReviewInfo> reviewInfoQueryWrapper = new LambdaQueryWrapper<>(); |
|
|
|
reviewInfoQueryWrapper.eq(WorkReviewInfo::getWorkOrderId, workOrderId); |
|
|
|
reviewInfoQueryWrapper.orderByDesc(WorkReviewInfo::getCreateTime); |
|
|
|
reviewInfoQueryWrapper.last("LIMIT 1"); |
|
|
|
WorkReviewInfo lastReviewInfo = workReviewInfoMapper.selectOne(reviewInfoQueryWrapper); |
|
|
|
if (lastReviewInfo != null){ |
|
|
|
record.setOtherCost(Double.valueOf(lastReviewInfo.getOtherCost())); |
|
|
|
record.setOtherCostReason(lastReviewInfo.getOtherCostReason()); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return orderInfoVoList; |
|
|
|