巡检相关接口

master
liuqingkun 1 year ago
parent 6a7c09303a
commit f014bdc586
  1. 2
      src/main/java/org/springblade/modules/business/config/ScheduledService.java
  2. 86
      src/main/java/org/springblade/modules/business/contraller/MaintenanceController.java
  3. 18
      src/main/java/org/springblade/modules/business/enums/MaintenanceStatusEnum.java
  4. 8
      src/main/java/org/springblade/modules/business/pojo/entity/maintenance/MaintenancePlanDetail.java
  5. 26
      src/main/java/org/springblade/modules/business/pojo/entity/maintenance/MaintenanceTask.java
  6. 32
      src/main/java/org/springblade/modules/business/pojo/entity/maintenance/MaintenanceTaskDetail.java
  7. 14
      src/main/java/org/springblade/modules/business/service/IMaintenanceTaskService.java
  8. 19
      src/main/java/org/springblade/modules/business/service/impl/MaintenancePlanServiceImpl.java
  9. 65
      src/main/java/org/springblade/modules/business/service/impl/MaintenanceTaskServiceImpl.java

@ -18,7 +18,7 @@ public class ScheduledService {
/** /**
* 每天零点生成新的巡查任务 * 每天零点生成新的巡查任务
*/ */
@Scheduled(cron = "0 0 0 * * ? ") @Scheduled(cron = "0 25 14 * * ? ")
private void toVideoTransformation() { private void toVideoTransformation() {
LocalDate now = LocalDate.now(); LocalDate now = LocalDate.now();
maintenancePlanService.createTask(now); maintenancePlanService.createTask(now);

@ -24,6 +24,7 @@ import org.springblade.modules.business.service.IMaintenanceTaskService;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
@ -99,6 +100,9 @@ public class MaintenanceController extends BladeController {
public R taskPage(MaintenanceTask task, Query query) { public R taskPage(MaintenanceTask task, Query query) {
LambdaQueryWrapper<MaintenanceTask> wrapper = Wrappers.lambdaQuery(MaintenanceTask.class); LambdaQueryWrapper<MaintenanceTask> wrapper = Wrappers.lambdaQuery(MaintenanceTask.class);
wrapper.eq(MaintenanceTask::getIsDeleted, CommonConstant.FALSE_STR); wrapper.eq(MaintenanceTask::getIsDeleted, CommonConstant.FALSE_STR);
if (Func.isNotEmpty(task.getPlanId())) {
wrapper.eq(MaintenanceTask::getPlanId, task.getPlanId());
}
IPage<MaintenanceTask> pages = taskService.page(Condition.getPage(query), wrapper); IPage<MaintenanceTask> pages = taskService.page(Condition.getPage(query), wrapper);
return R.data(pages); return R.data(pages);
@ -107,11 +111,8 @@ public class MaintenanceController extends BladeController {
@GetMapping("/task-detail") @GetMapping("/task-detail")
@Operation(summary = "任务明细", description = "任务明细") @Operation(summary = "任务明细", description = "任务明细")
public R taskDetail(@RequestParam Long id) { public R taskDetail(@RequestParam Long id) {
MaintenanceTask task = taskService.getById(id); MaintenanceTask task = taskService.taskDetail(id);
List<MaintenanceTaskDetail> detailList = taskDetailService.list(Wrappers.lambdaQuery(MaintenanceTaskDetail.class).eq(MaintenanceTaskDetail::getTaskId, id)); return R.data(task);
MaintenanceTaskDto taskDto = new MaintenanceTaskDto(task, detailList);
return R.data(taskDto);
} }
@PostMapping("/task-supervisor-confirm") @PostMapping("/task-supervisor-confirm")
@ -129,6 +130,7 @@ public class MaintenanceController extends BladeController {
@Operation(summary = "维修人员确认接收", description = "维修人员确认接收") @Operation(summary = "维修人员确认接收", description = "维修人员确认接收")
public R taskServicemanReceive(@RequestBody MaintenanceTask task) { public R taskServicemanReceive(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId()); MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setStartTime(DateUtil.now());
taskOld.setTaskStatus(MaintenanceStatusEnum.TASK_SERVICEMAN_CONFIRM.getValue()); taskOld.setTaskStatus(MaintenanceStatusEnum.TASK_SERVICEMAN_CONFIRM.getValue());
taskService.updateById(taskOld); taskService.updateById(taskOld);
@ -145,11 +147,19 @@ public class MaintenanceController extends BladeController {
return R.success(); return R.success();
} }
@GetMapping("/task-serviceman-update-detail") @PostMapping("/task-serviceman-update-detail")
@Operation(summary = "维修人员更新维修明细", description = "维修人员更新维修明细") @Operation(summary = "维修人员更新维修明细", description = "维修人员更新维修明细")
public R taskServicemanUpdateDetail(@RequestBody List<MaintenanceTaskDetail> taskDetailList) { public R taskServicemanUpdateDetail(@RequestBody List<MaintenanceTaskDetail> taskDetailList) {
// 获取详细中的异常项目数量
long count = taskDetailList.stream().filter(e -> CommonConstant.TRUE_INT.equals(e.getStatus())).count();
if (count > 0) {
// 若异常数量大于0, 更新巡检的维修状态
MaintenanceTask taskOld = taskService.getById(taskDetailList.get(0).getTaskId());
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_SERVICEMAN_CREATE.getValue());
}
// 只更新设备状态 // 只更新设备状态
taskDetailService.saveBatch(taskDetailList); taskDetailService.saveOrUpdateBatch(taskDetailList);
return R.success(); return R.success();
} }
@ -193,6 +203,29 @@ public class MaintenanceController extends BladeController {
/*---------- 维修任务结束 ----------*/ /*---------- 维修任务结束 ----------*/
/*---------- 维修方案开始 ----------*/ /*---------- 维修方案开始 ----------*/
@GetMapping("/repair-page")
@Operation(summary = "维保维修列表", description = "维保维修列表")
public R repairPage(MaintenanceTask task, Query query) {
LambdaQueryWrapper<MaintenanceTask> wrapper = Wrappers.lambdaQuery(MaintenanceTask.class);
wrapper.eq(MaintenanceTask::getIsDeleted, CommonConstant.FALSE_STR);
wrapper.gt(MaintenanceTask::getRepairStatus, MaintenanceStatusEnum.REPAIR_NO.getValue());
if (Func.isNotEmpty(task.getPlanId())) {
wrapper.eq(MaintenanceTask::getPlanId, task.getPlanId());
}
if (Func.isNotEmpty(task.getDeptName())) {
wrapper.eq(MaintenanceTask::getDeptName, task.getDeptName());
}
IPage<MaintenanceTask> pages = taskService.page(Condition.getPage(query), wrapper);
return R.data(pages);
}
@GetMapping("/repair-detail")
@Operation(summary = "任务明细", description = "任务明细")
public R repairDetail(@RequestParam Long id) {
MaintenanceTask task = taskService.repairDetail(id);
return R.data(task);
}
@PostMapping("/repair-solution-save") @PostMapping("/repair-solution-save")
@Operation(summary = "维修人员保存维修方案", description = "维修人员保存维修方案") @Operation(summary = "维修人员保存维修方案", description = "维修人员保存维修方案")
@ -203,7 +236,7 @@ public class MaintenanceController extends BladeController {
taskService.updateById(taskOld); taskService.updateById(taskOld);
List<MaintenanceTaskDetail> detailList = taskDto.getDetailList(); List<MaintenanceTaskDetail> detailList = taskDto.getDetailList();
taskDetailService.saveBatch(detailList); taskDetailService.saveOrUpdateBatch(detailList);
return R.success(); return R.success();
} }
@ -222,7 +255,7 @@ public class MaintenanceController extends BladeController {
@Operation(summary = "主管审核维修方案", description = "主管审核维修方案") @Operation(summary = "主管审核维修方案", description = "主管审核维修方案")
public R repairSupervisorConfirm(@RequestBody MaintenanceTask task) { public R repairSupervisorConfirm(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId()); MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_CUSTOMER_CONFIRM.getValue()); taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_SUPERVISOR_CONFIRM.getValue());
taskService.updateById(taskOld); taskService.updateById(taskOld);
return R.success(); return R.success();
@ -232,6 +265,11 @@ public class MaintenanceController extends BladeController {
@Operation(summary = "主管审核维修方案", description = "主管审核维修方案") @Operation(summary = "主管审核维修方案", description = "主管审核维修方案")
public R repairSupervisorRefuse(@RequestBody MaintenanceTask task) { public R repairSupervisorRefuse(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId()); MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setApprovePoint("主管审核维修方案");
taskOld.setApprovePerson(task.getApprovePerson());
taskOld.setApproveResult(CommonConstant.FALSE_INT);
taskOld.setApproveTime(DateUtil.now());
taskOld.setApproveRemark(task.getApproveRemark());
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_SERVICEMAN_CREATE.getValue()); taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_SERVICEMAN_CREATE.getValue());
taskService.updateById(taskOld); taskService.updateById(taskOld);
@ -243,26 +281,27 @@ public class MaintenanceController extends BladeController {
public R repairCustomerConfirmDetail(@RequestBody MaintenanceTaskDto taskDto) { public R repairCustomerConfirmDetail(@RequestBody MaintenanceTaskDto taskDto) {
MaintenanceTask task = taskDto.getTask(); MaintenanceTask task = taskDto.getTask();
MaintenanceTask taskOld = taskService.getById(task.getId()); MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_REPAIRING.getValue()); taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_CUSTOMER_CONFIRM.getValue());
taskService.updateById(taskOld); taskService.updateById(taskOld);
List<MaintenanceTaskDetail> detailList = taskDto.getDetailList(); List<MaintenanceTaskDetail> detailList = taskDto.getDetailList();
taskDetailService.saveBatch(detailList); taskDetailService.updateBatchById(detailList);
return R.success(); return R.success();
} }
@PostMapping("/repair-solution-customer-refuse") @PostMapping("/repair-solution-customer-refuse")
@Operation(summary = "客户驳回维修明细", description = "客户驳回维修明细") @Operation(summary = "客户驳回维修明细", description = "客户驳回维修明细")
public R repairCustomerRefuseDetail(@RequestBody MaintenanceTaskDto taskDto) { public R repairCustomerRefuseDetail(@RequestBody MaintenanceTask task) {
MaintenanceTask task = taskDto.getTask();
MaintenanceTask taskOld = taskService.getById(task.getId()); MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setApprovePoint("客户审核维修方案");
taskOld.setApprovePerson(task.getApprovePerson());
taskOld.setApproveResult(CommonConstant.FALSE_INT);
taskOld.setApproveTime(DateUtil.now());
taskOld.setApproveRemark(task.getApproveRemark());
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_SERVICEMAN_CREATE.getValue()); taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_SERVICEMAN_CREATE.getValue());
taskService.updateById(taskOld); taskService.updateById(taskOld);
List<MaintenanceTaskDetail> detailList = taskDto.getDetailList();
taskDetailService.saveBatch(detailList);
return R.success(); return R.success();
} }
@ -290,7 +329,7 @@ public class MaintenanceController extends BladeController {
@Operation(summary = "客户确认维修完成", description = "客户确认维修完成") @Operation(summary = "客户确认维修完成", description = "客户确认维修完成")
public R repairCustomerRefuseFinish(@RequestBody MaintenanceTask task) { public R repairCustomerRefuseFinish(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId()); MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_REPAIRING.getValue()); taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_CUSTOMER_CONFIRM.getValue());
taskService.updateById(taskOld); taskService.updateById(taskOld);
return R.success(); return R.success();
@ -308,10 +347,15 @@ public class MaintenanceController extends BladeController {
@PostMapping("/repair-service-confirm-invoice") @PostMapping("/repair-service-confirm-invoice")
@Operation(summary = "客服确认开发票", description = "客服确认开发票") @Operation(summary = "客服确认开发票", description = "客服确认开发票")
public R repairServiceConfirmInvoice(@RequestBody MaintenanceTask task) { public R repairServiceConfirmInvoice(@RequestBody List<MaintenanceTask> taskList) {
MaintenanceTask taskOld = taskService.getById(task.getId()); List<MaintenanceTask> taskOldList = new ArrayList<>();
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_INVOICE.getValue()); for (MaintenanceTask task : taskList) {
taskService.updateById(taskOld); MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_INVOICE.getValue());
taskOldList.add(taskOld);
}
taskService.updateBatchById(taskOldList);
return R.success(); return R.success();
} }

@ -42,38 +42,34 @@ public enum MaintenanceStatusEnum {
* 维修人员创建维修方案等待提交 * 维修人员创建维修方案等待提交
*/ */
REPAIR_SERVICEMAN_CREATE(1), REPAIR_SERVICEMAN_CREATE(1),
/**
* 维修人员提交待客户确认巡检完成
*/
REPAIR_SERVICEMAN_SUBMIT(2),
/** /**
* 维修人员提交待主管审批 * 维修人员提交待主管审批
*/ */
REPAIR_SUPERVISOR_CONFIRM(3), REPAIR_SERVICEMAN_SUBMIT(2),
/** /**
* 主管审批通过待客户审批 * 主管审批通过待客户审批
*/ */
REPAIR_CUSTOMER_CONFIRM(4), REPAIR_SUPERVISOR_CONFIRM(3),
/** /**
* 客户审批通过 维修中 * 客户审批通过 维修中
*/ */
REPAIR_REPAIRING(5), REPAIR_CUSTOMER_CONFIRM(4),
/** /**
* 维修完成待评价 * 维修完成待评价
*/ */
REPAIR_REPAIR_FINISH(6), REPAIR_REPAIR_FINISH(5),
/** /**
* 评价完成待客服确认付款 * 评价完成待客服确认付款
*/ */
REPAIR_EVALUATE_FINISH(7), REPAIR_EVALUATE_FINISH(6),
/** /**
* 客服确认付款, 维修完成 * 客服确认付款, 维修完成
*/ */
REPAIR_FINISH(8), REPAIR_FINISH(7),
/** /**
* 客服确认开发票 * 客服确认开发票
*/ */
REPAIR_INVOICE(9), REPAIR_INVOICE(8),
; ;
final int value; final int value;

@ -73,12 +73,8 @@ public class MaintenancePlanDetail extends BaseEntity {
/** /**
* 计划开始时间 * 计划开始时间
*/ */
@DateTimeFormat( @DateTimeFormat(pattern = "yyyy-MM-dd")
pattern = "yyyy-MM-dd" @JsonFormat(pattern = "yyyy-MM-dd")
)
@JsonFormat(
pattern = "yyyy-MM-dd"
)
private Date startTime; private Date startTime;
/** /**

@ -1,14 +1,17 @@
package org.springblade.modules.business.pojo.entity.maintenance; package org.springblade.modules.business.pojo.entity.maintenance;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity; import org.springblade.core.mp.base.BaseEntity;
import org.springblade.modules.business.pojo.entity.DeviceAttach;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* 维保任务 * 维保任务
@ -21,6 +24,12 @@ import java.util.Date;
@Schema(description = "维保任务") @Schema(description = "维保任务")
public class MaintenanceTask extends BaseEntity { public class MaintenanceTask extends BaseEntity {
/**
* 业务状态, 0:正常 1异常
*/
@Schema(description = "业务状态", hidden = true)
private Integer status;
/** /**
* 计划ID * 计划ID
*/ */
@ -36,6 +45,11 @@ public class MaintenanceTask extends BaseEntity {
*/ */
private Long deptId; private Long deptId;
/**
* 单位名称
*/
private String deptName;
/** /**
* 项目名称 * 项目名称
*/ */
@ -111,4 +125,16 @@ public class MaintenanceTask extends BaseEntity {
*/ */
private String approveRemark; private String approveRemark;
/**
* 附件详情
*/
@TableField(exist = false)
private List<DeviceAttach> attaches;
/**
* 计划详情
*/
@TableField(exist = false)
private List<MaintenanceTaskDetail> details;
} }

@ -1,10 +1,16 @@
package org.springblade.modules.business.pojo.entity.maintenance; package org.springblade.modules.business.pojo.entity.maintenance;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity; import org.springblade.core.mp.base.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.util.List;
/** /**
* 维保任务详细 * 维保任务详细
@ -19,6 +25,15 @@ public class MaintenanceTaskDetail extends BaseEntity {
private Long taskId; private Long taskId;
/**
* 设备id
*/
private Long deviceId;
/**
* 设备名称
*/
private String deviceName;
/** /**
* 楼层 * 楼层
*/ */
@ -29,6 +44,11 @@ public class MaintenanceTaskDetail extends BaseEntity {
*/ */
private Long deptId; private Long deptId;
/**
* 房间名称
*/
private String deptName;
/** /**
* 专业名称 * 专业名称
*/ */
@ -70,7 +90,17 @@ public class MaintenanceTaskDetail extends BaseEntity {
private Double price; private Double price;
/** /**
* 客户确认是否维修 * 客户确认是否维修, 0:不维修 1维修
*/ */
private Integer isRepair; private Integer isRepair;
/**
* 计划开始时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date startTime;
@TableField(exist = false)
private List<MaintenanceTaskDetail> details;
} }

@ -15,4 +15,18 @@ import java.util.List;
public interface IMaintenanceTaskService extends BaseService<MaintenanceTask> { public interface IMaintenanceTaskService extends BaseService<MaintenanceTask> {
List<MaintenanceTaskVO> limsTaskList(String deptId); List<MaintenanceTaskVO> limsTaskList(String deptId);
/**
* 获取巡检任务包含详细 树形结构
*
* @param taskId
* @return
*/
MaintenanceTask taskDetail(Long taskId);
/**
* 获取巡检任务包含详细 树形结构
*
* @param taskId
* @return
*/
MaintenanceTask repairDetail(Long taskId);
} }

@ -1,20 +1,20 @@
package org.springblade.modules.business.service.impl; package org.springblade.modules.business.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.tool.utils.CollectionUtil; import org.springblade.core.tool.utils.CollectionUtil;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.modules.business.enums.MaintenanceStatusEnum;
import org.springblade.modules.business.mapper.MaintenancePlanMapper;
import org.springblade.modules.business.pojo.entity.DeviceAttach; import org.springblade.modules.business.pojo.entity.DeviceAttach;
import org.springblade.modules.business.pojo.entity.DeviceMaintenance; import org.springblade.modules.business.pojo.entity.maintenance.MaintenancePlan;
import org.springblade.modules.business.pojo.entity.maintenance.MaintenancePlanDetail; import org.springblade.modules.business.pojo.entity.maintenance.MaintenancePlanDetail;
import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTask; import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTask;
import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTaskDetail; import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTaskDetail;
import org.springblade.modules.business.service.*; import org.springblade.modules.business.service.*;
import org.springblade.modules.business.mapper.MaintenancePlanMapper;
import org.springblade.modules.business.pojo.entity.maintenance.MaintenancePlan;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -228,7 +228,11 @@ public class MaintenancePlanServiceImpl extends BaseServiceImpl<MaintenancePlanM
maintenanceTask.setAddress(maintenancePlan.getAddress()); maintenanceTask.setAddress(maintenancePlan.getAddress());
maintenanceTask.setServicemanId(maintenancePlan.getServicemanId()); maintenanceTask.setServicemanId(maintenancePlan.getServicemanId());
maintenanceTask.setTaskContent(maintenancePlan.getPlanContent()); maintenanceTask.setTaskContent(maintenancePlan.getPlanContent());
maintenanceTask.setStartTime(new Date()); maintenanceTask.setStartTime(DateUtil.now());
maintenanceTask.setTaskStatus(MaintenanceStatusEnum.TASK_CREATE.getValue());
maintenanceTask.setRepairStatus(MaintenanceStatusEnum.REPAIR_NO.getValue());
maintenanceTask.setDeptName(maintenancePlan.getDeptName());
taskService.save(maintenanceTask); taskService.save(maintenanceTask);
// 保存任务详情 // 保存任务详情
@ -238,15 +242,18 @@ public class MaintenancePlanServiceImpl extends BaseServiceImpl<MaintenancePlanM
taskDetail.setTaskId(maintenanceTask.getId()); taskDetail.setTaskId(maintenanceTask.getId());
taskDetail.setFloorName(newPlanDetail.getFloorName()); taskDetail.setFloorName(newPlanDetail.getFloorName());
taskDetail.setDeptId(newPlanDetail.getDeptId()); taskDetail.setDeptId(newPlanDetail.getDeptId());
taskDetail.setDeptName(newPlanDetail.getDeptName());
taskDetail.setMajorName(newPlanDetail.getMajorName()); taskDetail.setMajorName(newPlanDetail.getMajorName());
taskDetail.setCheckContent(newPlanDetail.getCheckContent()); taskDetail.setCheckContent(newPlanDetail.getCheckContent());
taskDetail.setCraft(newPlanDetail.getCraft()); taskDetail.setCraft(newPlanDetail.getCraft());
taskDetail.setPeriod(newPlanDetail.getPeriod()); taskDetail.setPeriod(newPlanDetail.getPeriod());
taskDetail.setDeviceId(newPlanDetail.getDeviceId());
taskDetail.setDeviceName(newPlanDetail.getDeviceName());
taskDetail.setStartTime(newPlanDetail.getStartTime());
taskDetails.add(taskDetail); taskDetails.add(taskDetail);
} }
taskDetailService.saveBatch(taskDetails); taskDetailService.saveBatch(taskDetails);
} }
} }
} }

@ -1,15 +1,27 @@
package org.springblade.modules.business.service.impl; package org.springblade.modules.business.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springblade.common.constant.CommonConstant;
import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.modules.business.pojo.vo.MaintenanceTaskVO; import org.springblade.modules.business.pojo.vo.MaintenanceTaskVO;
import org.springblade.modules.business.service.IMaintenanceTaskService; import org.springblade.modules.business.service.IMaintenanceTaskService;
import org.springblade.modules.business.mapper.MaintenanceTaskMapper; import org.springblade.modules.business.mapper.MaintenanceTaskMapper;
import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTask; import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTask;
import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTaskDetail;
import org.springblade.modules.business.service.IMaintenanceTaskDetailService;
import org.springblade.modules.business.service.IMaintenanceTaskService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/** /**
* 巡检任务 服务实现类 * 巡检任务 服务实现类
* *
@ -17,8 +29,61 @@ import java.util.List;
* @since 2024-10-14 * @since 2024-10-14
*/ */
@Service @Service
@RequiredArgsConstructor
public class MaintenanceTaskServiceImpl extends BaseServiceImpl<MaintenanceTaskMapper, MaintenanceTask> implements IMaintenanceTaskService { public class MaintenanceTaskServiceImpl extends BaseServiceImpl<MaintenanceTaskMapper, MaintenanceTask> implements IMaintenanceTaskService {
private final IMaintenanceTaskDetailService taskDetailService;
@Override
public MaintenanceTask taskDetail(Long taskId) {
MaintenanceTask task = getById(taskId);
List<MaintenanceTaskDetail> detailList = taskDetailService.list(Wrappers.lambdaQuery(MaintenanceTaskDetail.class).eq(MaintenanceTaskDetail::getTaskId, taskId));
Map<String, List<MaintenanceTaskDetail>> floorMap = detailList.stream().collect(Collectors.groupingBy(MaintenanceTaskDetail::getFloorName));
List<MaintenanceTaskDetail> floorList = new ArrayList<>();
for (Map.Entry<String, List<MaintenanceTaskDetail>> stringListEntry : floorMap.entrySet()) {
List<MaintenanceTaskDetail> deptList = new ArrayList<>();
MaintenanceTaskDetail floor = new MaintenanceTaskDetail();
List<MaintenanceTaskDetail> floors = stringListEntry.getValue();
Map<String, List<MaintenanceTaskDetail>> deptMap = floors.stream().collect(Collectors.groupingBy(MaintenanceTaskDetail::getDeptName));
for (Map.Entry<String, List<MaintenanceTaskDetail>> listEntry : deptMap.entrySet()) {
MaintenanceTaskDetail dept = new MaintenanceTaskDetail();
dept.setDeptName(listEntry.getKey());
dept.setDetails(listEntry.getValue());
deptList.add(dept);
}
floor.setFloorName(stringListEntry.getKey());
floor.setDetails(deptList);
floorList.add(floor);
}
task.setDetails(floorList);
return task;
}
@Override
public MaintenanceTask repairDetail(Long taskId) {
MaintenanceTask task = getById(taskId);
LambdaQueryWrapper<MaintenanceTaskDetail> wrapper = Wrappers.lambdaQuery(MaintenanceTaskDetail.class);
List<MaintenanceTaskDetail> detailList = taskDetailService.list(wrapper.eq(MaintenanceTaskDetail::getTaskId, taskId).eq(MaintenanceTaskDetail::getStatus, CommonConstant.TRUE_INT));
Map<String, List<MaintenanceTaskDetail>> floorMap = detailList.stream().collect(Collectors.groupingBy(MaintenanceTaskDetail::getFloorName));
List<MaintenanceTaskDetail> floorList = new ArrayList<>();
for (Map.Entry<String, List<MaintenanceTaskDetail>> stringListEntry : floorMap.entrySet()) {
List<MaintenanceTaskDetail> deptList = new ArrayList<>();
MaintenanceTaskDetail floor = new MaintenanceTaskDetail();
List<MaintenanceTaskDetail> floors = stringListEntry.getValue();
Map<String, List<MaintenanceTaskDetail>> deptMap = floors.stream().collect(Collectors.groupingBy(MaintenanceTaskDetail::getDeptName));
for (Map.Entry<String, List<MaintenanceTaskDetail>> listEntry : deptMap.entrySet()) {
MaintenanceTaskDetail dept = new MaintenanceTaskDetail();
dept.setDeptName(listEntry.getKey());
dept.setDetails(listEntry.getValue());
deptList.add(dept);
}
floor.setFloorName(stringListEntry.getKey());
floor.setDetails(deptList);
floorList.add(floor);
}
task.setDetails(floorList);
return task;
}
@Override @Override
public List<MaintenanceTaskVO> limsTaskList(String deptId) { public List<MaintenanceTaskVO> limsTaskList(String deptId) {

Loading…
Cancel
Save