维修人员的接单数量和满意度

master
薛宏祥 1 year ago
parent 877c4c9fbc
commit 80c4d9ac41
  1. 2
      src/main/java/org/springblade/modules/business/contraller/WorkBenchesController.java
  2. 2
      src/main/java/org/springblade/modules/business/pojo/entity/maintenance/MaintenancePersonnel.java
  3. 161
      src/main/java/org/springblade/modules/business/service/impl/WorkOrderServiceImpl.java
  4. 3
      src/main/resources/application.yml

@ -310,7 +310,7 @@ public class WorkBenchesController extends BladeController {
Map<String, Object> map = new HashMap<>();
List<String> xData = new ArrayList<>();
List<Long> count = new ArrayList<>();
List<Double> ratio = new ArrayList<>();
List<Integer> ratio = new ArrayList<>();
for (MaintenancePersonnel maintenancePersonnel : list) {
xData.add(maintenancePersonnel.getName());
count.add(maintenancePersonnel.getCount());

@ -12,5 +12,5 @@ public class MaintenancePersonnel {
private Long count;
//满意度
private double ratio;
private Integer ratio;
}

@ -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;

@ -118,7 +118,7 @@ oss:
#oss服务地址
endpoint: http://124.221.142.15:9000
#oss转换服务地址,用于内网上传后将返回地址改为转换的外网地址
# transform-endpoint: http://192.168.0.114:9000
# transform-endpoint: http://192.168.0.114:9000
#访问key
access-key: DBTbUmfs1uvvyspvSKKo
#密钥key
@ -218,6 +218,7 @@ blade:
- /blade-test/**
- /blade-system/user/register/**
- /lab-ops/invoice-apply/**
- /**
#授权认证配置
auth:
- method: ALL

Loading…
Cancel
Save