yangys
2024-03-27 e48aa2ac8dea1be5db11c63edf0b912c4ad5ce65
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
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)) {
        }
    }
}