|
|
|
|
@ -61,7 +61,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO |
|
|
|
|
|
|
|
|
|
private final IUserService userService; |
|
|
|
|
|
|
|
|
|
private final IWorkOrderApprovalService approvalService; |
|
|
|
|
private final IWorkOrderApprovalService approvalService; |
|
|
|
|
|
|
|
|
|
private final IDeptService deptService; |
|
|
|
|
|
|
|
|
|
@ -257,69 +257,69 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO |
|
|
|
|
return baseMapper.selectDeptCount(startTime, endTime); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
|
@Override |
|
|
|
|
public void repairPlanSubmit(WorkOrder workOrder) { |
|
|
|
|
// 修改工单状态
|
|
|
|
|
WorkOrder workOrderOld = this.getById(workOrder.getId()); |
|
|
|
|
workOrderOld.setStatus(WorkOrderStatusEnum.WX_REPAIR_PLAN_SUBMIT.getValue()); |
|
|
|
|
this.updateById(workOrderOld); |
|
|
|
|
|
|
|
|
|
// 更新设备状态为故障
|
|
|
|
|
deviceService.updateStatus(CommonConstant.DEVICE_RUN_STATUS_BREAKDOWN, workOrder.getDeviceId()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
|
@Override |
|
|
|
|
public void repairPlanRefuse(WorkOrder workOrder) { |
|
|
|
|
WorkOrder workOrderOld = this.getById(workOrder.getId()); |
|
|
|
|
workOrderOld.setApprovePoint("主管审批维修方案"); |
|
|
|
|
workOrderOld.setApprovePerson(workOrder.getApprovePerson()); |
|
|
|
|
workOrderOld.setApproveResult(workOrder.getApproveResult()); |
|
|
|
|
workOrderOld.setApproveTime(workOrder.getApproveTime()); |
|
|
|
|
workOrderOld.setApproveRemark(workOrder.getApproveRemark()); |
|
|
|
|
workOrderOld.setRepaiTeamRejectReason(workOrder.getRepaiTeamRejectReason()); |
|
|
|
|
workOrderOld.setStatus(WorkOrderStatusEnum.ZG_REPAIR_PLAN_REFUSE.getValue()); |
|
|
|
|
this.updateById(workOrderOld); |
|
|
|
|
|
|
|
|
|
WorkOrderApproval approval = new WorkOrderApproval(workOrder.getId(), AuthUtil.getUserId(), CommonConstant.FALSE_STR, org.springblade.core.tool.utils.DateUtil.now(), workOrder.getApproveRemark()); |
|
|
|
|
approvalService.save(approval); |
|
|
|
|
|
|
|
|
|
// 更新设备状态为运行中
|
|
|
|
|
deviceService.updateStatus(CommonConstant.DEVICE_RUN_STATUS_WORKING, workOrder.getDeviceId()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
|
@Override |
|
|
|
|
public void repairFinish(WorkOrder workOrder) { |
|
|
|
|
WorkOrder workOrderOld = this.getById(workOrder.getId()); |
|
|
|
|
workOrderOld.setApprovePoint("客户审批维修结果"); |
|
|
|
|
workOrderOld.setApprovePerson(AuthUtil.getUserId()); |
|
|
|
|
workOrderOld.setApproveResult(CommonConstant.TRUE_INT); |
|
|
|
|
workOrderOld.setApproveTime(org.springblade.core.tool.utils.DateUtil.now()); |
|
|
|
|
workOrderOld.setApproveRemark(StringPool.EMPTY); |
|
|
|
|
workOrderOld.setFinishTime(org.springblade.core.tool.utils.DateUtil.now()); |
|
|
|
|
|
|
|
|
|
workOrderOld.setSignaturePerson(workOrder.getSignaturePerson()); |
|
|
|
|
workOrderOld.setSignatureUrl(workOrder.getSignatureUrl()); |
|
|
|
|
workOrderOld.setSignatureTime(workOrder.getSignatureTime()); |
|
|
|
|
workOrderOld.setIsOkSecure(workOrder.getIsOkSecure()); |
|
|
|
|
workOrderOld.setIsOkValidity(workOrder.getIsOkValidity()); |
|
|
|
|
workOrderOld.setIsOkQuality(workOrder.getIsOkQuality()); |
|
|
|
|
// 若未产生费用,直接关闭工单
|
|
|
|
|
if (workOrderOld.getDiscountPrice() == null || workOrderOld.getDiscountPrice() == 0) { |
|
|
|
|
workOrderOld.setStatus(WorkOrderStatusEnum.KF_ORDER_CLOSE.getValue()); |
|
|
|
|
} else { |
|
|
|
|
workOrderOld.setStatus(WorkOrderStatusEnum.KH_EVALUATE_FINISH.getValue()); |
|
|
|
|
} |
|
|
|
|
this.updateById(workOrderOld); |
|
|
|
|
|
|
|
|
|
WorkOrderApproval approval = new WorkOrderApproval(workOrder.getId(), AuthUtil.getUserId(), CommonConstant.TRUE_STR, org.springblade.core.tool.utils.DateUtil.now(), workOrder.getApproveRemark()); |
|
|
|
|
approvalService.save(approval); |
|
|
|
|
|
|
|
|
|
// 更新设备状态为运行中
|
|
|
|
|
deviceService.updateStatus(CommonConstant.DEVICE_RUN_STATUS_WORKING, workOrder.getDeviceId()); |
|
|
|
|
} |
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
|
@Override |
|
|
|
|
public void repairPlanSubmit(WorkOrder workOrder) { |
|
|
|
|
// 修改工单状态
|
|
|
|
|
WorkOrder workOrderOld = this.getById(workOrder.getId()); |
|
|
|
|
workOrderOld.setStatus(WorkOrderStatusEnum.WX_REPAIR_PLAN_SUBMIT.getValue()); |
|
|
|
|
this.updateById(workOrderOld); |
|
|
|
|
|
|
|
|
|
// 更新设备状态为故障
|
|
|
|
|
deviceService.updateStatus(CommonConstant.DEVICE_RUN_STATUS_BREAKDOWN, workOrder.getDeviceId()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
|
@Override |
|
|
|
|
public void repairPlanRefuse(WorkOrder workOrder) { |
|
|
|
|
WorkOrder workOrderOld = this.getById(workOrder.getId()); |
|
|
|
|
workOrderOld.setApprovePoint("主管审批维修方案"); |
|
|
|
|
workOrderOld.setApprovePerson(workOrder.getApprovePerson()); |
|
|
|
|
workOrderOld.setApproveResult(workOrder.getApproveResult()); |
|
|
|
|
workOrderOld.setApproveTime(workOrder.getApproveTime()); |
|
|
|
|
workOrderOld.setApproveRemark(workOrder.getApproveRemark()); |
|
|
|
|
workOrderOld.setRepaiTeamRejectReason(workOrder.getRepaiTeamRejectReason()); |
|
|
|
|
workOrderOld.setStatus(WorkOrderStatusEnum.ZG_REPAIR_PLAN_REFUSE.getValue()); |
|
|
|
|
this.updateById(workOrderOld); |
|
|
|
|
|
|
|
|
|
WorkOrderApproval approval = new WorkOrderApproval(workOrder.getId(), AuthUtil.getUserId(), CommonConstant.FALSE_STR, org.springblade.core.tool.utils.DateUtil.now(), workOrder.getApproveRemark()); |
|
|
|
|
approvalService.save(approval); |
|
|
|
|
|
|
|
|
|
// 更新设备状态为运行中
|
|
|
|
|
deviceService.updateStatus(CommonConstant.DEVICE_RUN_STATUS_WORKING, workOrder.getDeviceId()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
|
@Override |
|
|
|
|
public void repairFinish(WorkOrder workOrder) { |
|
|
|
|
WorkOrder workOrderOld = this.getById(workOrder.getId()); |
|
|
|
|
workOrderOld.setApprovePoint("客户审批维修结果"); |
|
|
|
|
workOrderOld.setApprovePerson(AuthUtil.getUserId()); |
|
|
|
|
workOrderOld.setApproveResult(CommonConstant.TRUE_INT); |
|
|
|
|
workOrderOld.setApproveTime(org.springblade.core.tool.utils.DateUtil.now()); |
|
|
|
|
workOrderOld.setApproveRemark(StringPool.EMPTY); |
|
|
|
|
workOrderOld.setFinishTime(org.springblade.core.tool.utils.DateUtil.now()); |
|
|
|
|
|
|
|
|
|
workOrderOld.setSignaturePerson(workOrder.getSignaturePerson()); |
|
|
|
|
workOrderOld.setSignatureUrl(workOrder.getSignatureUrl()); |
|
|
|
|
workOrderOld.setSignatureTime(workOrder.getSignatureTime()); |
|
|
|
|
workOrderOld.setIsOkSecure(workOrder.getIsOkSecure()); |
|
|
|
|
workOrderOld.setIsOkValidity(workOrder.getIsOkValidity()); |
|
|
|
|
workOrderOld.setIsOkQuality(workOrder.getIsOkQuality()); |
|
|
|
|
// 若未产生费用,直接关闭工单
|
|
|
|
|
if (workOrderOld.getDiscountPrice() == null || workOrderOld.getDiscountPrice() == 0) { |
|
|
|
|
workOrderOld.setStatus(WorkOrderStatusEnum.KF_ORDER_CLOSE.getValue()); |
|
|
|
|
} else { |
|
|
|
|
workOrderOld.setStatus(WorkOrderStatusEnum.KH_EVALUATE_FINISH.getValue()); |
|
|
|
|
} |
|
|
|
|
this.updateById(workOrderOld); |
|
|
|
|
|
|
|
|
|
WorkOrderApproval approval = new WorkOrderApproval(workOrder.getId(), AuthUtil.getUserId(), CommonConstant.TRUE_STR, org.springblade.core.tool.utils.DateUtil.now(), workOrder.getApproveRemark()); |
|
|
|
|
approvalService.save(approval); |
|
|
|
|
|
|
|
|
|
// 更新设备状态为运行中
|
|
|
|
|
deviceService.updateStatus(CommonConstant.DEVICE_RUN_STATUS_WORKING, workOrder.getDeviceId()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void saveFiles(List<WorkOrderAttach> videoAttaches, List<WorkOrderAttach> picAttaches, Long orderId) { |
|
|
|
|
// 保存视频附件
|
|
|
|
|
@ -378,21 +378,28 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO |
|
|
|
|
maintenancePersonnel.setName(user.getName()); |
|
|
|
|
Long count = this.count(Wrappers.lambdaQuery(WorkOrder.class).eq(WorkOrder::getRepairPerson, user.getId())); |
|
|
|
|
maintenancePersonnel.setCount(count); |
|
|
|
|
List<WorkOrder> workOrderList = this.list(Wrappers.lambdaQuery(WorkOrder.class).eq(WorkOrder::getRepairPerson, user.getId())); |
|
|
|
|
int flag = 0; |
|
|
|
|
for (WorkOrder workOrder : workOrderList) { |
|
|
|
|
if (workOrder.getIsOkSecure() == 1) { |
|
|
|
|
flag++; |
|
|
|
|
} |
|
|
|
|
if (workOrder.getIsOkValidity() == 1) { |
|
|
|
|
flag++; |
|
|
|
|
} |
|
|
|
|
if (workOrder.getIsOkQuality() == 1) { |
|
|
|
|
flag++; |
|
|
|
|
List<WorkOrder> workOrderList = this.list(Wrappers.lambdaQuery(WorkOrder.class) |
|
|
|
|
.eq(WorkOrder::getRepairPerson, user.getId()) |
|
|
|
|
.eq(WorkOrder::getApproveResult, 1)); |
|
|
|
|
int num = workOrderList.size() * 3; |
|
|
|
|
if (num == 0) { |
|
|
|
|
maintenancePersonnel.setRatio(null); |
|
|
|
|
} else { |
|
|
|
|
int flag = 0; |
|
|
|
|
for (WorkOrder workOrder : workOrderList) { |
|
|
|
|
if (workOrder.getIsOkSecure() == 1) { |
|
|
|
|
flag++; |
|
|
|
|
} |
|
|
|
|
if (workOrder.getIsOkValidity() == 1) { |
|
|
|
|
flag++; |
|
|
|
|
} |
|
|
|
|
if (workOrder.getIsOkQuality() == 1) { |
|
|
|
|
flag++; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
int ratio = flag * 100 / num; |
|
|
|
|
maintenancePersonnel.setRatio(ratio); |
|
|
|
|
} |
|
|
|
|
Integer ratio = flag * 100 / (workOrderList.size() * 3); |
|
|
|
|
maintenancePersonnel.setRatio(ratio); |
|
|
|
|
list.add(maintenancePersonnel); |
|
|
|
|
} |
|
|
|
|
return list; |
|
|
|
|
|