package com.qianwen.smartman.modules.cps.service.impl;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import java.util.List;
|
import java.util.stream.Collectors;
|
import com.qianwen.smartman.common.utils.MessageUtils;
|
import com.qianwen.core.log.exception.ServiceException;
|
import com.qianwen.core.secure.utils.AuthUtil;
|
import com.qianwen.core.tool.utils.CollectionUtil;
|
import com.qianwen.smartman.modules.cps.dto.DeviceSimpleDTO;
|
import com.qianwen.smartman.modules.cps.dto.MaintainProjectItemAddDTO;
|
import com.qianwen.smartman.modules.cps.entity.MaintainProject;
|
import com.qianwen.smartman.modules.cps.entity.MaintainProjectItem;
|
import com.qianwen.smartman.modules.cps.mapper.MaintainProjectItemMapper;
|
import com.qianwen.smartman.modules.cps.service.IMachineService;
|
import com.qianwen.smartman.modules.cps.service.IMaintainProjectItemService;
|
import com.qianwen.smartman.modules.cps.service.IMaintainProjectService;
|
import com.qianwen.smartman.modules.cps.vo.MaintainProjectItemVO;
|
import com.qianwen.smartman.modules.tpm.service.IMaintainPlanItemService;
|
import com.qianwen.smartman.modules.tpm.service.IMaintainPlanService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.context.annotation.Lazy;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
@Service
|
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/cps/service/impl/MaintainProjectItemServiceImpl.class */
|
public class MaintainProjectItemServiceImpl extends ServiceImpl<MaintainProjectItemMapper, MaintainProjectItem> implements IMaintainProjectItemService {
|
@Autowired
|
@Lazy
|
private IMaintainPlanService maintainPlanService;
|
@Autowired
|
@Lazy
|
private IMaintainPlanItemService maintainPlanItemService;
|
@Autowired
|
@Lazy
|
private IMachineService machineService;
|
@Autowired
|
@Lazy
|
private IMaintainProjectService maintainProjectService;
|
|
@Override // org.springblade.modules.cps.service.IMaintainProjectItemService
|
public List<MaintainProjectItemVO> getMaintainProjectItemVoByProjectId(Long projectId, String tenantId) {
|
return this.baseMapper.getMaintainProjectItemVoByProjectId(projectId, tenantId);
|
}
|
|
@Override // org.springblade.modules.cps.service.IMaintainProjectItemService
|
public List<MaintainProjectItemVO> queryMaintainProjectItemListPage(Long projectId, String tenantId, IPage<MaintainProjectItemVO> page) {
|
return this.baseMapper.queryMaintainProjectItemListPage(projectId, tenantId, page);
|
}
|
|
@Override // org.springblade.modules.cps.service.IMaintainProjectItemService
|
public Long createMaintainProjectItem(MaintainProjectItemAddDTO maintainProjectItemAddDTO) {
|
List<MaintainProjectItemVO> list = getMaintainProjectItemVoByProjectId(maintainProjectItemAddDTO.getProjectId(), AuthUtil.getTenantId());
|
checkItemIsRepeat(list, maintainProjectItemAddDTO.getItemId());
|
MaintainProjectItem bean = new MaintainProjectItem();
|
bean.setProjectId(maintainProjectItemAddDTO.getProjectId());
|
bean.setItemId(maintainProjectItemAddDTO.getItemId());
|
save(bean);
|
return bean.getId();
|
}
|
|
@Override // org.springblade.modules.cps.service.IMaintainProjectItemService
|
@Transactional(rollbackFor = {Exception.class})
|
public Long deleteMaintainProjectItem(Long id) {
|
MaintainProjectItem maintainProjectItem = (MaintainProjectItem) getById(id);
|
if (maintainProjectItem == null) {
|
throw new ServiceException(MessageUtils.message("cps.common.the.current.object.does.not.exist", new Object[0]));
|
}
|
getMaintainProjectItemVoByProjectId(maintainProjectItem.getProjectId(), AuthUtil.getTenantId());
|
removeById(id);
|
return id;
|
}
|
|
private void checkItemIsRepeat(List<MaintainProjectItemVO> maintainProjectItemList, Long itemId) {
|
List<Long> itemIdList = (List) maintainProjectItemList.stream().map((v0) -> {
|
return v0.getItemId();
|
}).distinct().collect(Collectors.toList());
|
if (itemIdList.contains(itemId)) {
|
throw new ServiceException(MessageUtils.message("cps.tpm.item.can.not.repeat", new Object[0]));
|
}
|
}
|
|
private void createMaintainPlan(MaintainProject maintainProject, List<MaintainProjectItem> maintainProjectItemList, String tenantId, Long userId, String deptId) {
|
List<DeviceSimpleDTO> deviceResult = this.machineService.deviceListByDeviceTypeId(maintainProject.getDeviceTypeId());
|
if (CollectionUtil.isNotEmpty(deviceResult)) {
|
}
|
}
|
}
|