package com.gkhy.safePlatform.safeCheck.service.baseService.impl; import com.baomidou.mybatisplus.core.MybatisConfiguration; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.TableInfoHelper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.safePlatform.commons.enums.E; import com.gkhy.safePlatform.commons.exception.AusinessException; import com.gkhy.safePlatform.safeCheck.entity.SafeCheckTaskUnit; import com.gkhy.safePlatform.safeCheck.entity.SafeCheckTaskUnitAndWorkDO; import com.gkhy.safePlatform.safeCheck.model.query.TaskUnitDBQuery; import com.gkhy.safePlatform.safeCheck.repository.SafeCheckTaskUnitRepository; import com.gkhy.safePlatform.safeCheck.service.baseService.SafeCheckTaskUnitService; import org.apache.ibatis.builder.MapperBuilderAssistant; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service("SafeCheckTaskUnitService") public class SafeCheckTaskUnitServiceImpl extends ServiceImpl implements SafeCheckTaskUnitService { @Autowired private SafeCheckTaskUnitRepository safeCheckTaskUnitRepository; /** * @description 新增一个巡检任务单元 */ @Override public int saveTaskUnit(SafeCheckTaskUnit taskUnit) { int insertResult = safeCheckTaskUnitRepository.insert(taskUnit); if (insertResult ==0 ){ throw new AusinessException(E.ADD_FAIL,"巡检任务单元新增失败"); } return insertResult; } /** * @description 根据巡检任务单元id查询巡检任务单元 */ @Override public SafeCheckTaskUnit getTaskUnitById(Long id,int deleteStatus) { SafeCheckTaskUnit taskUnit = safeCheckTaskUnitRepository.getTaskUnitById(id,deleteStatus); if (taskUnit == null){ throw new AusinessException(E.DATA_DATABASE_NO_EXISTENT,"巡检任务单元不存在"); } return taskUnit; } /** * @description 根据巡检任务单元id删除巡检任务单元(只有过期和关闭状态的任务单元才可以删除) */ @Override public int deleteTaskUnit(SafeCheckTaskUnit taskUnit, List taskUnitStatus,int deleteStatus) { int deleteResult = safeCheckTaskUnitRepository.deleteTaskUnit(taskUnit,taskUnitStatus,deleteStatus); return deleteResult; } /** * @description 查询所有巡检任务单元数据并进行分页(包含条件查询) */ @Override public IPage listTaskUnitByPage(Page pageInfo, TaskUnitDBQuery taskUnitDBQuery) { // can not find lambda cache for this entity 因为TaskUnitDBQuery没有对应的mapper,爆出的错误加上这个 TableInfoHelper.initTableInfo(new MapperBuilderAssistant(new MybatisConfiguration(), ""), TaskUnitDBQuery.class); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.like(taskUnitDBQuery.getUnitName() != null,TaskUnitDBQuery::getUnitName,taskUnitDBQuery.getUnitName()) .eq(taskUnitDBQuery.getWorkType() != null,TaskUnitDBQuery::getWorkType,taskUnitDBQuery.getWorkType()) .eq(taskUnitDBQuery.getCreateUserName() != null,TaskUnitDBQuery::getCreateUserName,taskUnitDBQuery.getCreateUserName()) .eq(taskUnitDBQuery.getExecClassgroupId() != null,TaskUnitDBQuery::getExecClassgroupId,taskUnitDBQuery.getExecClassgroupId()) .eq(taskUnitDBQuery.getCheckCycle() != 0,TaskUnitDBQuery::getCheckCycle,taskUnitDBQuery.getCheckCycle()) .in(taskUnitDBQuery.getExecDepId() != null,TaskUnitDBQuery::getExecDepId,taskUnitDBQuery.getDepIds()) // .orderByDesc(TaskUnitDBQuery::getGmtModitify) .eq(taskUnitDBQuery.getCheckCycleUnit() != null,TaskUnitDBQuery::getCheckCycleUnit,taskUnitDBQuery.getCheckCycleUnit()); IPage iPage = safeCheckTaskUnitRepository.listTaskUnitByPage(pageInfo,queryWrapper); return iPage; } /** * @description 根据任务单元的id修改任务单元的状态 */ @Override public void updateTaskUniStatusById(SafeCheckTaskUnit taskUnit, int deleteStatus) { int updateResult = safeCheckTaskUnitRepository.updateTaskUniStatusById(taskUnit,deleteStatus); if (updateResult == 0){ throw new AusinessException(E.UPDATE_FAIL,"巡检任务单元状态变更失败"); } } /** * @description 根据任务单元的id修改任务单元的名称 */ @Override public void updateTaskUnitNameById(SafeCheckTaskUnit taskUnit, int deleteStatus) { int updateResult = safeCheckTaskUnitRepository.updateTaskUnitNameById(taskUnit,deleteStatus); if (updateResult == 0){ throw new AusinessException(E.UPDATE_FAIL,"巡检任务单元信息修改失败"); } } @Override public void updateTaskUnitPointsLengthById(SafeCheckTaskUnit taskUnit, int deleteStatus) { int updateResult = safeCheckTaskUnitRepository.updateTaskUnitPointsLengthById(taskUnit,deleteStatus); if (updateResult == 0){ throw new AusinessException(E.UPDATE_FAIL,"巡检任务单元:巡检链长度修改失败"); } } /** * @description 判断任务单元的名称是否存在 */ @Override public SafeCheckTaskUnit taskUnitNameIsExit(String unitName, int deleteStatus) { SafeCheckTaskUnit safeCheckTaskUnit = safeCheckTaskUnitRepository.taskUnitNameIsExit(unitName,deleteStatus); return safeCheckTaskUnit; } }