| | |
| | | package com.ruoyi.safe.service.impl; |
| | | |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.safe.pojo.SafeLineInspection; |
| | | import com.ruoyi.safe.pojo.SafeLineInspectionRecord; |
| | | import com.ruoyi.safe.mapper.SafeLineInspectionRecordMapper; |
| | | import com.ruoyi.safe.service.SafeLineInspectionRecordService; |
| | | import com.ruoyi.safe.service.SafeLineInspectionService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.time.LocalDateTime; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | @Service |
| | | public class SafeLineInspectionRecordServiceImpl extends ServiceImpl<SafeLineInspectionRecordMapper, SafeLineInspectionRecord> implements SafeLineInspectionRecordService { |
| | | |
| | | @Autowired |
| | | private SafeLineInspectionService safeLineInspectionService; |
| | | |
| | | @Override |
| | | public List<SafeLineInspectionRecord> listByInspectionId(Integer inspectionId) { |
| | | return this.lambdaQuery() |
| | | .eq(SafeLineInspectionRecord::getInspectionId, inspectionId) |
| | | .orderByDesc(SafeLineInspectionRecord::getCheckTime) |
| | | .list(); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public boolean save(SafeLineInspectionRecord entity) { |
| | | // 保存巡检记录 |
| | | boolean result = super.save(entity); |
| | | |
| | | if (result && entity.getInspectionId() != null) { |
| | | // 更新巡检任务状态为"巡检中",并设置巡检人为当前登录用户 |
| | | updateInspectionStatus(entity.getInspectionId()); |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * 更新巡检任务状态为"巡检中",并添加当前用户到巡检人列表 |
| | | */ |
| | | private void updateInspectionStatus(Integer inspectionId) { |
| | | SafeLineInspection inspection = safeLineInspectionService.getById(inspectionId); |
| | | if (inspection != null && "待巡检".equals(inspection.getStatus())) { |
| | | Long currentUserId = SecurityUtils.getUserId(); |
| | | String currentUserIdStr = String.valueOf(currentUserId); |
| | | |
| | | // 添加当前用户到巡检人列表(如果不存在) |
| | | String inspectorId = inspection.getInspectorId(); |
| | | if (inspectorId == null || inspectorId.isEmpty()) { |
| | | inspectorId = currentUserIdStr; |
| | | } else if (!inspectorId.contains(currentUserIdStr)) { |
| | | inspectorId = inspectorId + "," + currentUserIdStr; |
| | | } |
| | | |
| | | inspection.setStatus("巡检中"); |
| | | inspection.setInspectorId(inspectorId); |
| | | inspection.setUpdateTime(LocalDateTime.now()); |
| | | inspection.setUpdateUser(currentUserId.intValue()); |
| | | safeLineInspectionService.updateById(inspection); |
| | | } |
| | | } |
| | | } |