package cn.gistack.sm.patrol.service.impl;
|
|
import cn.gistack.sm.patrol.dto.PatrolGroupDTO;
|
import cn.gistack.sm.patrol.entity.PatrolGroupItem;
|
import cn.gistack.sm.patrol.entity.PatrolRecord;
|
import cn.gistack.sm.patrol.entity.PatrolType;
|
import cn.gistack.sm.patrol.mapper.PatrolRecordMapper;
|
import cn.gistack.sm.patrol.service.IPatrolGroupItemService;
|
import cn.gistack.sm.patrol.service.IPatrolRecordService;
|
import cn.gistack.sm.patrol.vo.PatrolGroupItemVO;
|
import cn.gistack.sm.patrol.vo.PatrolRecordVO;
|
import cn.gistack.sm.patrol.vo.RecordBatchVO;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import lombok.AllArgsConstructor;
|
import org.springblade.core.mp.base.BaseServiceImpl;
|
import org.springblade.core.mp.support.Condition;
|
import org.springblade.core.tool.utils.Func;
|
import org.springblade.core.tool.utils.ObjectUtil;
|
import org.springframework.beans.factory.annotation.Autowired;
|
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 BaseServiceImpl<PatrolRecordMapper, PatrolRecord> implements IPatrolRecordService {
|
IPatrolGroupItemService patrolGroupItemService;
|
|
@Override
|
public IPage<PatrolRecord> selectPatrolRecord(IPage<PatrolRecord> page, PatrolRecordVO patrolRecord) {
|
return page.setRecords(baseMapper.selectPatrolRecord(page,patrolRecord));
|
}
|
|
@Override
|
public PatrolRecordVO getDetail(String id) {
|
return baseMapper.getDetail(id);
|
}
|
|
@Override
|
public List<PatrolGroupItemVO> getPatrolRecordByTaskId(String taskId, String itemIds) {
|
List<Long> longList = Func.toLongList(itemIds);
|
List<PatrolGroupItemVO> 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<PatrolRecordVO> getByTaskIdAndItemId(String taskId, String itemIds) {
|
return baseMapper.getByTaskIdAndItemId(taskId,itemIds);
|
}
|
|
@Override
|
public List getItemByItemIds(String itemIds,String groupId,String taskId) {
|
List<PatrolGroupItem> itemList = patrolGroupItemService.getItemByItemIds(itemIds, groupId);
|
List<PatrolRecord> 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<PatrolRecord> 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<PatrolGroupDTO> getHistoryRecord(PatrolRecordVO patrolRecordVO) {
|
return baseMapper.getHistoryRecord(patrolRecordVO);
|
}
|
}
|