修改场站详情页,统计,表格的展示

This commit is contained in:
yuyang 2021-11-01 18:18:26 +08:00
parent d0874a46de
commit 6bb8ac55c6
10 changed files with 134 additions and 40 deletions

View File

@ -114,5 +114,5 @@ public interface XhpcTerminalMapper {
* @param chargingStationId
* @return
*/
List<String> getTerminal(@Param("chargingStationId") Long chargingStationId);
List<String> getTerminal(@Param("chargingStationId") Long chargingStationId,@Param("status") Integer status);
}

View File

@ -171,4 +171,20 @@ public interface IXhpcChargingStationService {
*/
void extracted(Integer status, Long chargingStationId);
/**
* 终端状态所有状态集合
* @param map
* @param chargingStationId
* @return
*/
Map<String, Object> getTerminalStatusSum(Map<String, Object> map, Long chargingStationId,Integer status);
/**
* 单个终端状态所有状态集合
* @param serialNumber
* @return
*/
Integer getTerminalStatus(String serialNumber);
}

View File

@ -68,8 +68,9 @@ public interface IXhpcTerminalService {
/**
* 根据电站获取终端的编号
* @param chargingStationId
* @param status 状态0启用 1停用
* @return
*/
List<String> getTerminal(Long chargingStationId);
List<String> getTerminal(Long chargingStationId,Integer status);
}

View File

@ -36,7 +36,7 @@ public class XhpcChargingPileServiceImpl implements IXhpcChargingPileService {
@Autowired
private XhpcImgMapper xhpcImgMapper;
@Autowired
private XhpcChargingStationMapper xhpcChargingStationMapper;
private IXhpcChargingStationService xhpcChargingStationService;
//字母集合
private static Map letterMap;
@ -127,7 +127,7 @@ public class XhpcChargingPileServiceImpl implements IXhpcChargingPileService {
//获取场站名称
String chargingStationName = xhpcChargingStationMapper.selectXhpcChargingStationById(xhpcTerminal.getChargingStationId()).getName();
String chargingStationName = xhpcChargingStationService.selectXhpcChargingStationById(xhpcTerminal.getChargingStationId()).getName();
//生成最终的完整图片并上传
QrImgUtils.uploadImg(xhpcTerminal, xhpcTerminal.getSerialNumber(),environment,xhpcImgMapper,chargingStationName,i,letterMap,name);
@ -177,6 +177,13 @@ public class XhpcChargingPileServiceImpl implements IXhpcChargingPileService {
//终端信息
Map<String, Object> map = new HashMap<>();
List<Map<String, Object>> list = xhpcChargingPileMapper.selectXhpcTerminalList(chargingPileId);
if(list !=null && list.size()>0){
for (int i = 0; i < list.size(); i++) {
Map<String, Object> listMap =list.get(i);
Integer pileSerialNumber = xhpcChargingStationService.getTerminalStatus(listMap.get("serialNumber").toString());
listMap.put("workStatus",pileSerialNumber);
}
}
map.put("chargingPile", xhpc);
map.put("terminal", list);
return AjaxResult.success(map);

View File

@ -83,40 +83,13 @@ public class XhpcChargingStationServiceImpl implements IXhpcChargingStationServi
if (xhpcRateTime != null) {
map.putAll(xhpcRateTime);
}
//获取桩的统计.redis 数据
List<String> terminal = xhpcTerminalService.getTerminal(chargingStationId);
int offLine =0;//离线
int fault =0;//故障
int freeTime =0;//空闲
int charge =0;//充电
int unknown =0;//未知
if(terminal !=null && terminal.size()>0){
for (String st:terminal) {
Map<String, Object> cacheMap = redisService.getCacheMap("gun:" + st);
if(!cacheMap.isEmpty()){
if ("离线".equals(cacheMap.get("status").toString())){
offLine++;
}else if("故障".equals(cacheMap.get("status").toString())){
fault++;
}else if("空闲".equals(cacheMap.get("status").toString())){
freeTime++;
}else{
charge++;
}
}else{
unknown++;
}
}
}
map.put("offLine",offLine);
map.put("fault",fault);
map.put("freeTime",freeTime);
map.put("charge",charge);
map.put("unknown",unknown);
map =getTerminalStatusSum(map, chargingStationId,0);
}
return list;
}
/**
* 新增电站
*
@ -575,6 +548,8 @@ public class XhpcChargingStationServiceImpl implements IXhpcChargingStationServi
if (type == 2) {
//统计终端充redis获取终端信息
map =getTerminalStatusSum(map, chargingStationId,0);
map =getTerminalStatusSum(map, chargingStationId,1);
map.putAll(xhpcChargingStationMapper.getXhpcRateTimeOrderStatistics(chargingStationId));
}
return map;
@ -1050,6 +1025,82 @@ public class XhpcChargingStationServiceImpl implements IXhpcChargingStationServi
return number;
}
@Override
public Map<String, Object> getTerminalStatusSum(Map<String, Object> map, Long chargingStationId,Integer status) {
//获取桩的统计.redis 数据
List<String> terminal = xhpcTerminalService.getTerminal(chargingStationId,status);
int offLine =0;//离线
int fault =0;//故障
int freeTime =0;//空闲
int charge =0;//充电
int unknown =0;//未知
if(terminal !=null && terminal.size()>0){
for (String st:terminal) {
Map<String, Object> cacheMap = redisService.getCacheMap("gun:" + st);
if(!cacheMap.isEmpty()){
if ("离线".equals(cacheMap.get("status").toString())){
offLine++;
}else if("故障".equals(cacheMap.get("status").toString())){
fault++;
}else if("空闲".equals(cacheMap.get("status").toString())){
freeTime++;
}else{
charge++;
}
}else{
unknown++;
}
}
}
if(status==0){
map.put("offLine",offLine);
map.put("fault",fault);
map.put("freeTime",freeTime);
map.put("charge",charge);
map.put("unknown",unknown);
}else{
map.put("notOffLine",offLine);
map.put("notFault",fault);
map.put("notFreeTime",freeTime);
map.put("notCharge",charge);
map.put("notUnknown",unknown);
}
return map;
}
@Override
public Integer getTerminalStatus(String serialNumber) {
Integer status =0;
//终端状态用 redis数据
if(!"".equals(serialNumber) && serialNumber!=null){
Map<String, Object> cacheMap =redisService.getCacheMap("gun:"+serialNumber);
if(!cacheMap.isEmpty()){
if ("离线".equals(cacheMap.get("status").toString())){
status =0;
}else if("故障".equals(cacheMap.get("status").toString())){
status =1;
}else if("空闲".equals(cacheMap.get("status").toString())){
if("".equals(cacheMap.get("vehicleGunStatus").toString())){
status =4;
}else{
status =2;
}
}else{
//充电桩
status =3;
}
}else{
status =5;
}
}else{
status =5;
}
return status;
}
public static void main(String[] args) {
//时间差
// String startTime="01:00:00";

View File

@ -24,6 +24,9 @@ public class XhpcTerminalServiceImpl implements IXhpcTerminalService {
@Autowired
private IXhpcRateTimeService xhpcRateTimeService;
@Autowired
private IXhpcChargingStationService xhpcChargingStationService;
/**
* PC端页面统计
*
@ -39,7 +42,16 @@ public class XhpcTerminalServiceImpl implements IXhpcTerminalService {
@Override
public List<Map<String, Object>> getXhpcTerminalList(String serialNumber, Integer type, Integer status, String workStatus, Long chargingStationId) {
return xhpcTerminalMapper.getXhpcTerminalList(serialNumber, type, status, workStatus, chargingStationId);
List<Map<String, Object>> list = xhpcTerminalMapper.getXhpcTerminalList(serialNumber, type, status, workStatus, chargingStationId);
if(list !=null && list.size()>0){
for (int i = 0; i <list.size() ; i++) {
Map<String, Object> map = list.get(i);
//状态
Integer pileSerialNumber = xhpcChargingStationService.getTerminalStatus(map.get("serialNumber").toString());
map.put("workStatus",pileSerialNumber);
}
}
return list;
}
@Override
@ -125,8 +137,8 @@ public class XhpcTerminalServiceImpl implements IXhpcTerminalService {
}
@Override
public List<String> getTerminal(Long chargingStationId) {
return xhpcTerminalMapper.getTerminal(chargingStationId);
public List<String> getTerminal(Long chargingStationId,Integer status) {
return xhpcTerminalMapper.getTerminal(chargingStationId,status);
}
}

View File

@ -359,12 +359,16 @@
<select id="selectXhpcTerminalList" resultType="java.util.Map">
select
te.terminal_id as terminalId,
te.charging_station_id as chargingStationId,
te.name as terminalName,
ct.name as chargingStationName,
te.pile_serial_number as pileSerialNumber,
cp.power as power,
te.serial_number as serialNumber,
cp.max_voltage as maxVoltage,
cp.serial_number as serialNumber,
cp.brand_model as brandModel,
cp.type as pileType,
te.status as status,
te.work_status as workStatus
from xhpc_terminal as te

View File

@ -77,11 +77,14 @@
<select id="getXhpcTerminalList" resultType="map">
select
te.terminal_id as terminalId,
te.charging_station_id as chargingStationId,
te.name as terminalName,
ct.name as chargingStationName,
te.pile_serial_number as pileSerialNumber,
cp.power as power,
cp.serial_number as serialNumber,
cp.brand_model as brandModel,
cp.type as pileType,
te.status as status,
te.work_status as workStatus
from xhpc_terminal as te
@ -375,6 +378,6 @@
<select id="getTerminal" resultType="String">
select serial_number as serialNumber from xhpc_terminal where charging_station_id=#{chargingStationId}
select serial_number as serialNumber from xhpc_terminal where charging_station_id=#{chargingStationId} and status=#{status}
</select>
</mapper>

View File

@ -158,7 +158,7 @@ public class XhpcChargeOrderController extends BaseController {
String c = orderMessage.get("electricCurrent").toString();
String v = orderMessage.get("voltage").toString();
BigDecimal decimal1 = new BigDecimal(v).multiply(new BigDecimal(c)).setScale(2, BigDecimal.ROUND_DOWN);
orderMessage.put("power",decimal1);
orderMessage.put("power",decimal1.divide(new BigDecimal(1000),2,BigDecimal.ROUND_DOWN));
}catch (Exception e){
e.printStackTrace();
}

View File

@ -651,7 +651,7 @@ public class XhpcRealTimeOrderServiceImpl implements IXhpcRealTimeOrderService {
data.put("chargingTime",xhpcRealTimeOrder.getChargingTime());
data.put("electricCurrent",c);
data.put("voltage", v);
data.put("power", decimal1);
data.put("power", decimal1.divide(new BigDecimal(1000),2,BigDecimal.ROUND_DOWN));
data.put("chargingDegree", chargingDegree);
data.put("remainingTime",xhpcRealTimeOrder.getRemainingTime());
data.put("serialNumber",orderNo.substring(0,16));