package org.springblade.modules.patrol.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.AllArgsConstructor; import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.ObjectUtil; import org.springblade.modules.patrol.dto.PatrolGroupDTO; import org.springblade.modules.patrol.entity.PatrolGroupItem; import org.springblade.modules.patrol.entity.PatrolRecord; import org.springblade.modules.patrol.mapper.PatrolRecordMapper; import org.springblade.modules.patrol.service.IPatrolGroupItemService; import org.springblade.modules.patrol.service.IPatrolRecordService; import org.springblade.modules.patrol.vo.PatrolGroupItemVO; import org.springblade.modules.patrol.vo.PatrolRecordVO; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; @Service @AllArgsConstructor public class PatrolRecordServiceImpl extends ServiceImpl implements IPatrolRecordService { IPatrolGroupItemService patrolGroupItemService; @Override public IPage selectPatrolRecord(IPage page, PatrolRecordVO patrolRecord) { return page.setRecords(baseMapper.selectPatrolRecord(page, patrolRecord)); } @Override public PatrolRecordVO getDetail(String id) { return baseMapper.getDetail(id); } @Override public List getPatrolRecordByTaskId(String taskId, String itemIds) { List longList = Func.toLongList(itemIds); List patrolGroupItemVOList = new ArrayList<>(); longList.forEach(e -> { PatrolRecord patrolRecord = baseMapper.selectPatrolRecordByTaskIdAndItemId(taskId, e); if (ObjectUtil.isEmpty(patrolRecord)) { PatrolGroupItemVO patrolGroupItemVO = patrolGroupItemService.getPatrolGroupItemVOById(e); patrolGroupItemVOList.add(patrolGroupItemVO); } }); return patrolGroupItemVOList; } @Override public List getByTaskIdAndItemId(String taskId, String itemIds) { return baseMapper.getByTaskIdAndItemId(taskId, itemIds); } @Override public List getItemByItemIds(String itemIds, String groupId, String taskId) { List itemList = patrolGroupItemService.getItemByItemIds(itemIds, groupId); List patrolRecordList = new ArrayList<>(); itemList.forEach(item -> { PatrolRecordVO one = baseMapper.getPatrolRecordVO(item.getId(), taskId); if (ObjectUtil.isNotEmpty(one)) { patrolRecordList.add(one); } }); if (patrolRecordList.size() > 0) { return patrolRecordList; } else { return itemList; } } @Override public List getByTaskIdAndGroupId(PatrolRecordVO patrolRecordVO) { return baseMapper.getByTaskIdAndGroupId(patrolRecordVO); } // @Override // @Transactional(rollbackFor = Exception.class) // public Boolean updateThenSaveBatch(RecordBatchVO recordBatchVO) { // // // boolean b = updateBatchById(recordBatchVO.getUpdateList()); // boolean b1 = saveBatch(recordBatchVO.getAddList()); // // return b && b1; // } @Override public List getHistoryRecord(PatrolRecordVO patrolRecordVO) { return baseMapper.getHistoryRecord(patrolRecordVO); } }