|
@ -3,6 +3,7 @@ package org.dromara.platform.service.impl; |
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
import cn.hutool.core.collection.CollectionUtil; |
|
|
import cn.hutool.core.collection.CollectionUtil; |
|
|
import cn.hutool.core.date.DateUtil; |
|
|
import cn.hutool.core.date.DateUtil; |
|
|
|
|
|
import cn.hutool.core.util.StrUtil; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
@ -109,6 +110,7 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService { |
|
|
@Override |
|
|
@Override |
|
|
public WorkOrderInfoVo queryById(String id){ |
|
|
public WorkOrderInfoVo queryById(String id){ |
|
|
WorkOrderInfoVo workOrderInfoVo = baseMapper.selectVoById(id); |
|
|
WorkOrderInfoVo workOrderInfoVo = baseMapper.selectVoById(id); |
|
|
|
|
|
// 设置待处理人信息
|
|
|
workOrderInfoVo.setHandler(workOrderInfoVo.getMaintenanceUnit()); |
|
|
workOrderInfoVo.setHandler(workOrderInfoVo.getMaintenanceUnit()); |
|
|
String attachment = workOrderInfoVo.getAttachment(); |
|
|
String attachment = workOrderInfoVo.getAttachment(); |
|
|
if (StringUtils.isNotBlank(attachment)) { |
|
|
if (StringUtils.isNotBlank(attachment)) { |
|
@ -550,6 +552,8 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService { |
|
|
if (flag){ |
|
|
if (flag){ |
|
|
LambdaUpdateWrapper<WorkOrderInfo> updateWrapper = new LambdaUpdateWrapper<>(); |
|
|
LambdaUpdateWrapper<WorkOrderInfo> updateWrapper = new LambdaUpdateWrapper<>(); |
|
|
updateWrapper.eq(WorkOrderInfo::getId, workOrderId) |
|
|
updateWrapper.eq(WorkOrderInfo::getId, workOrderId) |
|
|
|
|
|
//设置接单时间(最近一次)
|
|
|
|
|
|
.set(WorkOrderInfo::getOrderAcceptTime, date2) |
|
|
.set(WorkOrderInfo::getStatus, 2); |
|
|
.set(WorkOrderInfo::getStatus, 2); |
|
|
baseMapper.update(null, updateWrapper); |
|
|
baseMapper.update(null, updateWrapper); |
|
|
log.info("更新工单状态:处理中"); |
|
|
log.info("更新工单状态:处理中"); |
|
@ -995,6 +999,9 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService { |
|
|
if (flag){ |
|
|
if (flag){ |
|
|
LambdaUpdateWrapper<WorkOrderInfo> updateWrapper = new LambdaUpdateWrapper<>(); |
|
|
LambdaUpdateWrapper<WorkOrderInfo> updateWrapper = new LambdaUpdateWrapper<>(); |
|
|
updateWrapper.eq(WorkOrderInfo::getId, workOrderId) |
|
|
updateWrapper.eq(WorkOrderInfo::getId, workOrderId) |
|
|
|
|
|
.set(WorkOrderInfo::getInitAdvice, bo.getAuditOpinion()) |
|
|
|
|
|
.set(WorkOrderInfo::getOtherCost, bo.getOtherCost()) |
|
|
|
|
|
.set(WorkOrderInfo::getOtherCostReason, bo.getOtherCostReason()) |
|
|
.set(WorkOrderInfo::getStatus, 5); |
|
|
.set(WorkOrderInfo::getStatus, 5); |
|
|
baseMapper.update(null, updateWrapper); |
|
|
baseMapper.update(null, updateWrapper); |
|
|
log.info("工单处理完毕,等待终审结果"); |
|
|
log.info("工单处理完毕,等待终审结果"); |
|
@ -1134,6 +1141,9 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService { |
|
|
if (flag){ |
|
|
if (flag){ |
|
|
LambdaUpdateWrapper<WorkOrderInfo> updateWrapper = new LambdaUpdateWrapper<>(); |
|
|
LambdaUpdateWrapper<WorkOrderInfo> updateWrapper = new LambdaUpdateWrapper<>(); |
|
|
updateWrapper.eq(WorkOrderInfo::getId, workOrderId) |
|
|
updateWrapper.eq(WorkOrderInfo::getId, workOrderId) |
|
|
|
|
|
.set(WorkOrderInfo::getLastAdvice, bo.getAuditOpinion()) |
|
|
|
|
|
.set(WorkOrderInfo::getOtherCost, bo.getOtherCost()) |
|
|
|
|
|
.set(WorkOrderInfo::getOtherCostReason, bo.getOtherCostReason()) |
|
|
.set(WorkOrderInfo::getStatus, 6); |
|
|
.set(WorkOrderInfo::getStatus, 6); |
|
|
baseMapper.update(null, updateWrapper); |
|
|
baseMapper.update(null, updateWrapper); |
|
|
log.info("结案"); |
|
|
log.info("结案"); |
|
@ -1258,11 +1268,7 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService { |
|
|
Date beforeDelayTime = DateUtils.addHours(operationTime, responseTime.intValue()); |
|
|
Date beforeDelayTime = DateUtils.addHours(operationTime, responseTime.intValue()); |
|
|
WorkOrderDelayBo delayBo = new WorkOrderDelayBo(); |
|
|
WorkOrderDelayBo delayBo = new WorkOrderDelayBo(); |
|
|
// 延期审核的id 设置为工单的id 关联
|
|
|
// 延期审核的id 设置为工单的id 关联
|
|
|
/* delayBo.setId(bo.getId()); |
|
|
|
|
|
delayBo.setProjectName(bo.getProjectName()); |
|
|
|
|
|
delayBo.setContractName(bo.getContractName()); |
|
|
|
|
|
delayBo.setStatus(bo.getStatus()); |
|
|
|
|
|
delayBo.setHandler(bo.getRepairer());*/ |
|
|
|
|
|
BeanUtil.copyProperties(bo, delayBo); |
|
|
BeanUtil.copyProperties(bo, delayBo); |
|
|
delayBo.setDelayReason(delayDescription); |
|
|
delayBo.setDelayReason(delayDescription); |
|
|
delayBo.setBeforeDelayTime(beforeDelayTime); |
|
|
delayBo.setBeforeDelayTime(beforeDelayTime); |
|
@ -1337,7 +1343,10 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService { |
|
|
LambdaUpdateWrapper<WorkOrderInfo> updateWrapper = new LambdaUpdateWrapper<>(); |
|
|
LambdaUpdateWrapper<WorkOrderInfo> updateWrapper = new LambdaUpdateWrapper<>(); |
|
|
updateWrapper.eq(WorkOrderInfo::getId, workOrderId) |
|
|
updateWrapper.eq(WorkOrderInfo::getId, workOrderId) |
|
|
// 处理中(已延期)
|
|
|
// 处理中(已延期)
|
|
|
.set(WorkOrderInfo::getStatus,7); |
|
|
.set(WorkOrderInfo::getStatus,7) |
|
|
|
|
|
.set(WorkOrderInfo::getIsDelay,"是") |
|
|
|
|
|
.set(WorkOrderInfo::getDelayReason,bo.getDelayReason()) |
|
|
|
|
|
.set(WorkOrderInfo::getDelayTime,bo.getAfterDelayTime()); |
|
|
baseMapper.update(null, updateWrapper); |
|
|
baseMapper.update(null, updateWrapper); |
|
|
|
|
|
|
|
|
LambdaUpdateWrapper<WorkOrderDelay> updateWrapper1 = new LambdaUpdateWrapper<>(); |
|
|
LambdaUpdateWrapper<WorkOrderDelay> updateWrapper1 = new LambdaUpdateWrapper<>(); |
|
@ -1696,14 +1705,25 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService { |
|
|
vo.setTotalCost(overTimeCostInfo.getTotalCost()); |
|
|
vo.setTotalCost(overTimeCostInfo.getTotalCost()); |
|
|
vo.setIsOrderTakingOverTime(overTimeCostInfo.getIsOrderTakingOverTime()); |
|
|
vo.setIsOrderTakingOverTime(overTimeCostInfo.getIsOrderTakingOverTime()); |
|
|
|
|
|
|
|
|
// 2. 处理人信息
|
|
|
// 由计算结果中封装改为直接从表中获取
|
|
|
String handler = workOrderProcessMapper.getHandlerByWorkOrderId(workOrderId); |
|
|
//calculateResult(vo, workOrderId);
|
|
|
vo.setHandler(handler != null ? handler : "无"); |
|
|
|
|
|
|
|
|
return vo; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void calculateResult(WorkOrderInfoVo vo, String workOrderId) { |
|
|
// 3. 接单时间
|
|
|
// 3. 接单时间
|
|
|
Date orderAcceptTime = workOrderProcessMapper.getOrderAcceptTimeByWorkOrderId(workOrderId); |
|
|
Date orderAcceptTime = workOrderProcessMapper.getOrderAcceptTimeByWorkOrderId(workOrderId); |
|
|
vo.setOrderAcceptTime(orderAcceptTime); |
|
|
vo.setOrderAcceptTime(orderAcceptTime); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 2. 处理人信息
|
|
|
|
|
|
String handler = workOrderProcessMapper.getHandlerByWorkOrderId(workOrderId); |
|
|
|
|
|
vo.setHandler(handler != null ? handler : "无"); |
|
|
|
|
|
if (StrUtil.isBlank(vo.getHandler())){ |
|
|
|
|
|
vo.setHandler("无"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// 4. 是否延期
|
|
|
// 4. 是否延期
|
|
|
LambdaQueryWrapper<WorkOrderDelay> queryDelayWrapper = new LambdaQueryWrapper<>(); |
|
|
LambdaQueryWrapper<WorkOrderDelay> queryDelayWrapper = new LambdaQueryWrapper<>(); |
|
|
queryDelayWrapper.eq(WorkOrderDelay::getId, workOrderId); |
|
|
queryDelayWrapper.eq(WorkOrderDelay::getId, workOrderId); |
|
@ -1718,6 +1738,9 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService { |
|
|
} else { |
|
|
} else { |
|
|
vo.setIsDelay("否"); |
|
|
vo.setIsDelay("否"); |
|
|
} |
|
|
} |
|
|
|
|
|
if (StrUtil.isBlank(vo.getIsDelay())){ |
|
|
|
|
|
vo.setIsDelay("否"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// 5. 其他罚款
|
|
|
// 5. 其他罚款
|
|
|
LambdaQueryWrapper<WorkReviewInfo> reviewInfoQueryWrapper = new LambdaQueryWrapper<>(); |
|
|
LambdaQueryWrapper<WorkReviewInfo> reviewInfoQueryWrapper = new LambdaQueryWrapper<>(); |
|
@ -1733,6 +1756,7 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService { |
|
|
vo.setOtherCostReason("无"); |
|
|
vo.setOtherCostReason("无"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 6. 初审建议
|
|
|
// 6. 初审建议
|
|
|
String initAdvice = workReviewInfoMapper.getInitAdvice(workOrderId); |
|
|
String initAdvice = workReviewInfoMapper.getInitAdvice(workOrderId); |
|
|
vo.setInitAdvice(StringUtils.isNotBlank(initAdvice) ? initAdvice : null); |
|
|
vo.setInitAdvice(StringUtils.isNotBlank(initAdvice) ? initAdvice : null); |
|
@ -1740,9 +1764,8 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService { |
|
|
// 7. 终审建议
|
|
|
// 7. 终审建议
|
|
|
String lastAdvice = workReviewInfoMapper.getLastAdvice(workOrderId); |
|
|
String lastAdvice = workReviewInfoMapper.getLastAdvice(workOrderId); |
|
|
vo.setLastAdvice(StringUtils.isNotBlank(lastAdvice) ? lastAdvice : null); |
|
|
vo.setLastAdvice(StringUtils.isNotBlank(lastAdvice) ? lastAdvice : null); |
|
|
|
|
|
|
|
|
return vo; |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public WorkOrderInfoDto getOverTimeCost(String workOrderId) { |
|
|
public WorkOrderInfoDto getOverTimeCost(String workOrderId) { |
|
|
WorkOrderInfoVo record = baseMapper.selectVoById(workOrderId); |
|
|
WorkOrderInfoVo record = baseMapper.selectVoById(workOrderId); |
|
|