TpCCarBreakRuleServiceImpl.java
4.83 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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
package com.zteits.park.biz.carbreak;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import com.github.pagehelper.PageInfo;
import com.zteits.clouds.api.apibase.bean.BizResult;
import com.zteits.clouds.api.apibase.bean.PageBean;
import com.zteits.clouds.api.apibase.constants.ErrorType;
import com.zteits.clouds.api.apibase.exception.BizException;
import com.zteits.clouds.api.dto.park.dto.CarBreakRuleDTO;
import com.zteits.clouds.api.dto.park.param.CarBreakRuleCheckRequest;
import com.zteits.clouds.api.dto.park.param.CarBreakRuleRequest;
import com.zteits.clouds.api.dto.pda.param.TpCCarBreakRuleRequest;
import com.zteits.clouds.api.service.park.carbreak.TpCCarBreakRuleService;
import com.zteits.park.dao.ParkingLotDao;
import com.zteits.park.dao.TpCCarBreakAuditRecordDao;
import com.zteits.park.dao.TpCCarBreakRuleDao;
import com.zteits.park.domain.ParkingLot;
import com.zteits.park.domain.TpCCarBreakAuditRecord;
import com.zteits.park.domain.TpCCarBreakRule;
import com.zteits.park.pagepager.PageBeanUtil;
@Service("com.zteits.park.biz.carbreak.TpCCarBreakRuleServiceImpl")
public class TpCCarBreakRuleServiceImpl implements TpCCarBreakRuleService{
@Autowired
private TpCCarBreakRuleDao tpCCarBreakRuleDao;
@Autowired
private TpCCarBreakAuditRecordDao tpCCarBreakAuditRecordDao;
@Autowired
private ParkingLotDao parkingLotDao;
@Override
public BizResult<PageBean<CarBreakRuleDTO>> queryCarBreakRuleForPage(CarBreakRuleRequest req) {
PageBean<CarBreakRuleDTO> pageBean = new PageBean<>();
PageInfo<TpCCarBreakRule> pageInfo = tpCCarBreakRuleDao.queryCarBreakRuleForPage(req);
PageBeanUtil.copyProperties(pageInfo,pageBean,CarBreakRuleDTO.class);
if(pageBean != null && CollectionUtils.isNotEmpty(pageInfo.getList())){
Map<String,String> plNoAndName = parkingLotDao.queryParkingLotByPlNos(
pageInfo.getList()
.stream()
.map(car -> car.getPlNo()).collect(Collectors.toList())
)
.stream()
.collect(Collectors.toMap(ParkingLot::getPlNo, ParkingLot::getPlName));
pageBean.getDataList().forEach(dto->{
if(StringUtils.isNotEmpty(dto.getPlNo())){
String name = plNoAndName.get(dto.getPlNo());
dto.setPlName(name);
}
});
}
return new BizResult<>(pageBean);
}
@Override
@Transactional
public BizResult<Boolean> updateCarBreakRuleCheckStatus(CarBreakRuleCheckRequest req) {
TpCCarBreakAuditRecord tpCCarBreakAuditRecord = new TpCCarBreakAuditRecord();
BeanUtils.copyProperties(req, tpCCarBreakAuditRecord);
tpCCarBreakAuditRecord.setBreakId(req.getId());
tpCCarBreakAuditRecord.setCreateEmpId(req.getsOpId()+"");
tpCCarBreakAuditRecord.setCreateEmpName(req.getsOpName());
//开始新增审核记录表
Boolean ins = tpCCarBreakAuditRecordDao.insertCarBreakAuditRecord(tpCCarBreakAuditRecord);
if(!ins){
throw new BizException(ErrorType.BIZ_ERROR,"新增审核记录失败!");
}
//开始修改违章审核状态
Boolean result = tpCCarBreakRuleDao.updateCarBreakRuleCheckStatus(req);
return new BizResult<>(result);
}
@Override
public BizResult<Boolean> saveCarBreakRule(TpCCarBreakRuleRequest carBreakRuleRequest) {
TpCCarBreakRule tpCCarBreakRule = new TpCCarBreakRule();
BeanUtils.copyProperties(carBreakRuleRequest,tpCCarBreakRule);
Integer num = tpCCarBreakRuleDao.insertSelective(tpCCarBreakRule);
return new BizResult<>(num>0?true:false);
}
@Override
@Transactional
public BizResult<Boolean> uploadCarBreakRuleToThird(CarBreakRuleRequest req) {
//先查询
PageInfo<TpCCarBreakRule> pageInfo = tpCCarBreakRuleDao.queryCarBreakRuleForPage(req);
if(pageInfo == null ||CollectionUtils.isEmpty(pageInfo.getList())){
throw new BizException(ErrorType.BIZ_ERROR,"暂无数据记录,请刷新重试!");
}
List<TpCCarBreakRule> list = pageInfo.getList();
for (TpCCarBreakRule tpCCarBreakRule : list) {
//TODO 调用接口开始上传至第三方
CarBreakRuleCheckRequest request = new CarBreakRuleCheckRequest();
request.setId(tpCCarBreakRule.getId());
/**上报状态:0-未上传,1-已上传,2-上传失败*/
request.setUploadType(1);
request.setModfiyDate(new Date());
request.setModfiyEmpId(req.getsOpId()+"");
request.setModfiyEmpName(req.getsOpName());
Boolean result = tpCCarBreakRuleDao.updateCarBreakRuleCheckStatus(request);
if(!result){
throw new BizException(ErrorType.BIZ_ERROR,"更新上传状态失败!");
}
}
return new BizResult<>(true);
}
}