lizijie
2020-12-03 a66d53c3cbfb0024804045f4d795be06089d4f9d
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
package com.moral.service.impl;
 
import com.moral.entity.OrganizationSensorUnit;
import com.moral.entity.Sensor;
import com.moral.entity.SensorUnit;
import com.moral.mapper.OrganizationSensorUnitMapper;
import com.moral.mapper.SensorMapper;
import com.moral.service.OrganizationSensorUnitService;
import org.springframework.data.annotation.Transient;
import org.springframework.stereotype.Service;
 
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
 
@Service
public class OrganizationSensorUnitServiceImpl implements OrganizationSensorUnitService{
    @Resource
    OrganizationSensorUnitMapper osuMapper;
    @Resource
    SensorMapper sensorMapper;
 
    /**
     * 获取所有传感器单位对应关系
     * @param organizationId
     * @return
     */
    @Override
    public List<OrganizationSensorUnit> queryAllByOrgId(Integer organizationId) {
            // 获取当前组织下所有传感器
            List<Sensor> sensorList = sensorMapper.selectByOrgId(organizationId);
            // 获取单位组织对应关系拉出单位数据
            List<OrganizationSensorUnit> organizationSensorUnits = osuMapper.selectByOrgId(organizationId);
            List<OrganizationSensorUnit> returnList = new ArrayList<>();
            for (int index=0;index<sensorList.size();index++){
                 Sensor sensor = sensorList.get(index);
                 OrganizationSensorUnit osuOutEntity = null;
                 for (int num =0; num< organizationSensorUnits.size();num++) {
                    OrganizationSensorUnit osuTemp = organizationSensorUnits.get(num);
                    SensorUnit sensorUnit = osuTemp.getSensorUnit();
                    if(sensorUnit!=null&&sensor.getId() == sensorUnit.getSensorId() ){
                        osuOutEntity = osuTemp;
                        break;
                    }
                 }
                 if(osuOutEntity==null) {osuOutEntity = new OrganizationSensorUnit();}
                 osuOutEntity.setOrganizationId(organizationId);
                 osuOutEntity.setSensor(sensor);
                returnList.add(osuOutEntity);
            }
            return  returnList;
    }
 
    @Override
    public List<OrganizationSensorUnit> queryByOrgId(Integer organizationId) {
        return osuMapper.selectByOrgId(organizationId);
    }
 
    @Override
    @Transient
    public void addsOrModifys(List<OrganizationSensorUnit> osuList) {
        osuList.forEach(
                item -> {
                    if(item.getId() != null) {
                        if(item.getSensorUnitId() == null) {
                            osuMapper.deleteByPrimaryKey(item);
                        }else {
                            osuMapper.updateByPrimaryKeySelective(item);
                        }
                    }else{
                        item.setCreateTime(new Date());
                        osuMapper.insertSelective(item);
                    }
                }
        );
    }
}