SnPartDetailServiceImpl.java
3.93 KB
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
package com.huaheng.pc.config.sn.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.huaheng.common.utils.security.ShiroUtils;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.pc.config.address.service.AddressService;
import com.huaheng.pc.config.sn.domain.PartDomain;
import com.huaheng.pc.config.sn.domain.Sn;
import com.huaheng.pc.config.sn.domain.SnPartDetail;
import com.huaheng.pc.config.sn.domain.SnPartDomain;
import com.huaheng.pc.config.sn.mapper.SnPartDetailMapper;
import org.aspectj.weaver.loadtime.Aj;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@Service
public class SnPartDetailServiceImpl extends ServiceImpl<SnPartDetailMapper, SnPartDetail> implements SnPartDetailService {
@Resource
private SnService snService;
public List<SnPartDetail> getSnPartByCode(String sn){
LambdaQueryWrapper<SnPartDetail> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(SnPartDetail::getSnCode, sn);
List<SnPartDetail> m = this.list(lambdaQueryWrapper);
return m;
}
public SnPartDetail getSnPart(String part,String sn){
LambdaQueryWrapper<SnPartDetail> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(SnPartDetail::getSnCode, sn);
lambdaQueryWrapper.eq(SnPartDetail::getPart, part);
lambdaQueryWrapper.last("limit 1");
SnPartDetail m = this.getOne(lambdaQueryWrapper);
return m;
}
/**
* sn绑定部件
* @param snPartDomain
* @return
*/
@Transactional
public AjaxResult bindSnPart(SnPartDomain snPartDomain){
Sn sn=snService.getSn(snPartDomain.getSnCode());
if(sn==null){
sn=new Sn();
sn.setSyncIot(0);
sn.setCode(snPartDomain.getSnCode());
sn.setCreatedBy(ShiroUtils.getLoginName());
sn.setLastUpdatedBy(ShiroUtils.getLoginName());
snService.save(sn);
}else{
Sn sn1=new Sn();
sn1.setId(sn.getId());
sn1.setSyncIot(0);
snService.updateById(sn1);
}
List<SnPartDetail> details=new ArrayList<>();
for (PartDomain snPart : snPartDomain.getPartList()) {
SnPartDetail snPartDetail = this.getSnPart(snPart.getPart(),snPartDomain.getSnCode());
if (snPartDetail!=null){
continue;
}
snPartDetail = new SnPartDetail();
snPartDetail.setSnId(sn.getId().toString());
snPartDetail.setSnCode(snPartDomain.getSnCode());
snPartDetail.setPart(snPart.getPart());
snPartDetail.setCreatedBy(ShiroUtils.getLoginName());
snPartDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
details.add(snPartDetail);
}
if(details.size()>0){
this.saveBatch(details);
}
return AjaxResult.success("操作绑定SN成功");
}
/**
* sn解绑部件
* @param snPartDomain
* @return
*/
@Transactional
public AjaxResult unbindSnPart(SnPartDomain snPartDomain){
Sn sn=snService.getSn(snPartDomain.getSnCode());
if(sn==null){
return AjaxResult.error("sn解绑部件失败:sn不存在");
}
List<Integer> details=new ArrayList<>();
for (PartDomain snPart : snPartDomain.getPartList()) {
SnPartDetail snPartDetail = this.getSnPart(snPart.getPart(),snPartDomain.getSnCode());
if (snPartDetail==null){
continue;
}
details.add(snPartDetail.getId());
}
if(details.size()>0){
this.removeByIds(details);
}
return AjaxResult.success("操作解绑SN成功");
}
}