DataManagerServiceImpl.java
3.46 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
package com.bsth.service.realcontrol.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.bsth.common.ResponseCode;
import com.bsth.data.BasicData;
import com.bsth.entity.Cars;
import com.bsth.repository.CarsRepository;
import com.bsth.service.realcontrol.DataManagerService;
import com.bsth.util.db.DBUtils_oldSystem;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Created by panzhao on 2017/4/18.
*/
@Service
public class DataManagerServiceImpl implements DataManagerService{
@Autowired
CarsRepository carsRepository;
@Autowired
JdbcTemplate controlJdbcTemp;
@Autowired
BasicData.BasicDataLoader dataLoader;
Logger logger = LoggerFactory.getLogger(this.getClass());
@Override
public Map<String, Object> carInfos(Integer lineId) {
Map<String, Object> rs = new HashMap<>();
try {
List<Map<String, String>> nowData = new ArrayList<>();
List<Map<String, String>> oldData = new ArrayList<>();
Map<String, String> map;
//查询新系统车辆信息
List<Cars> list = carsRepository.findCarsByLineId(lineId);
for(Cars c : list){
map = new HashMap<>();
map.put("nbbm", c.getInsideCode());
map.put("device", c.getEquipmentCode());
nowData.add(map);
}
//获取老系统数据
JdbcTemplate jdbcTemplate = new JdbcTemplate(DBUtils_oldSystem.getDataSource());
List<Map<String, Object>> oyList = jdbcTemplate.queryForList("select NBBM,SBBH from JJWGPS_T_CLXXB t where xlbm=?", BasicData.lineId2CodeMap.get(lineId));
for(Map<String, Object> tempMap : oyList){
map = new HashMap<>();
map.put("nbbm", tempMap.get("NBBM").toString());
map.put("device", tempMap.get("SBBH").toString());
oldData.add(map);
}
rs.put("status", ResponseCode.SUCCESS);
rs.put("nows", nowData);
rs.put("olds", oldData);
}catch (Exception e){
logger.error("", e);
rs.put("status", ResponseCode.ERROR);
rs.put("msg", e.getMessage());
}
return rs;
}
/**
* 更新设备号
* @param jsonStr
* @return
*/
@Override
public Map<String, Object> updateDevices(String jsonStr) {
Map<String, Object> rs = new HashMap<>();
try {
int count=0;
JSONArray array = JSONArray.parseArray(jsonStr);
JSONObject jObj;
for(int i = 0; i < array.size(); i ++){
jObj = array.getJSONObject(i);
count += controlJdbcTemp.update("update bsth_c_cars set equipment_code=? where inside_code=?"
, jObj.getString("device"), jObj.getString("nbbm"));
}
//刷新缓存
dataLoader.loadDeviceInfo();
rs.put("status", ResponseCode.SUCCESS);
rs.put("count", count);
}catch (Exception e){
logger.error("", e);
rs.put("status", ResponseCode.ERROR);
rs.put("msg", e.getMessage());
}
return rs;
}
}