235 lines
8.6 KiB
Java
235 lines
8.6 KiB
Java
|
package com.zcloud.service.map.impl;
|
|||
|
|
|||
|
import com.zcloud.entity.Page;
|
|||
|
import com.zcloud.entity.PageData;
|
|||
|
import com.zcloud.mapper.datasource.map.GateAreaMapper;
|
|||
|
import com.zcloud.mapper.datasource.map.GateMachineMapper;
|
|||
|
import com.zcloud.mapper.datasource.map.GateVideoMapper;
|
|||
|
import com.zcloud.service.keyProjects.VideoManagerService;
|
|||
|
import com.zcloud.service.map.GateMachineService;
|
|||
|
import com.zcloud.util.InitPageDataUtil;
|
|||
|
import org.springframework.stereotype.Service;
|
|||
|
import org.springframework.transaction.annotation.Transactional;
|
|||
|
|
|||
|
import javax.annotation.Resource;
|
|||
|
import java.util.ArrayList;
|
|||
|
import java.util.List;
|
|||
|
|
|||
|
/**
|
|||
|
* 说明:TODO
|
|||
|
* 作者:wangxuan
|
|||
|
* 官网:www.zcloudchina.com
|
|||
|
*/
|
|||
|
@Service
|
|||
|
public class GateMachineServiceImpl implements GateMachineService {
|
|||
|
|
|||
|
|
|||
|
@Resource
|
|||
|
private GateMachineMapper gateMachineMapper;
|
|||
|
@Resource
|
|||
|
private GateAreaMapper gateAreaMapper;
|
|||
|
|
|||
|
@Resource
|
|||
|
private GateVideoMapper gateVideoMapper;
|
|||
|
|
|||
|
@Resource
|
|||
|
private InitPageDataUtil initPageDataUtil;
|
|||
|
|
|||
|
|
|||
|
@Override
|
|||
|
public ArrayList<PageData> getDatalistpage(Page page) {
|
|||
|
return gateMachineMapper.getDatalistPage(page);
|
|||
|
}
|
|||
|
|
|||
|
@Override
|
|||
|
@Transactional(rollbackFor = Exception.class)
|
|||
|
public void edit(PageData pd) {
|
|||
|
initPageDataUtil.initEdit(pd);
|
|||
|
gateMachineMapper.edit(pd);
|
|||
|
}
|
|||
|
|
|||
|
@Override
|
|||
|
@Transactional(rollbackFor = Exception.class)
|
|||
|
public void removeByIds(PageData pageData) {
|
|||
|
String[] dataIds = pageData.getString("DATA_IDS").split(",");
|
|||
|
initPageDataUtil.initEdit(pageData);
|
|||
|
if (dataIds.length > 0) {
|
|||
|
pageData.put("item", dataIds);
|
|||
|
gateMachineMapper.removeByIds(pageData);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
@Override
|
|||
|
@Transactional(rollbackFor = Exception.class)
|
|||
|
public void save(PageData pageData) {
|
|||
|
initPageDataUtil.initSave(pageData, "GATE_MACHINE_ID");
|
|||
|
gateMachineMapper.save(pageData);
|
|||
|
}
|
|||
|
|
|||
|
@Override
|
|||
|
public PageData getOnlineGateMachine(PageData pageData) {
|
|||
|
List<PageData> gateMachineList = gateMachineMapper.getOnlineGateMachine(pageData);
|
|||
|
PageData value = new PageData();
|
|||
|
gateMachineList.forEach(item -> {
|
|||
|
value.put(item.getString("TYPE"), item.getString("COUNT"));
|
|||
|
});
|
|||
|
return value;
|
|||
|
}
|
|||
|
|
|||
|
@Resource
|
|||
|
private VideoManagerService videoManagerService;
|
|||
|
|
|||
|
@Override
|
|||
|
public List<PageData> getGatePosition(PageData pageData) {
|
|||
|
// todo 需求变更,现在闸机变成了区域
|
|||
|
if (pageData.getString("TYPE").equals("PERSON")) {
|
|||
|
pageData.put("GATE_AREA_TYPE", 0);
|
|||
|
// 人闸机定位
|
|||
|
}
|
|||
|
|
|||
|
if (pageData.getString("TYPE").equals("CAR")) {
|
|||
|
// 车闸机定位
|
|||
|
pageData.put("GATE_AREA_TYPE", 1);
|
|||
|
}
|
|||
|
if (pageData.getString("TYPE").equals("CAMERA")) {
|
|||
|
// 摄像头定位
|
|||
|
return gateVideoMapper.getCameraPosition(pageData);
|
|||
|
}
|
|||
|
|
|||
|
return gateAreaMapper.getGatePosition(pageData);
|
|||
|
}
|
|||
|
|
|||
|
@Override
|
|||
|
public PageData getGateMachineInfoById(PageData pageData) {
|
|||
|
return gateMachineMapper.getGateMachineInfoById(pageData);
|
|||
|
}
|
|||
|
|
|||
|
@Override
|
|||
|
|
|||
|
public List<PageData> getPersonRecordCountByEId(PageData gateMachineInfo) {
|
|||
|
return gateMachineMapper.getPersonRecordCountByEId(gateMachineInfo);
|
|||
|
}
|
|||
|
|
|||
|
@Override
|
|||
|
public List<PageData> getTodayInOutCount(PageData pd) {
|
|||
|
List<PageData> todayInOutCount = gateMachineMapper.getTodayInOutCount(pd);
|
|||
|
// 当日进出 闸机数
|
|||
|
// 0 海域消防泵房南 1 大庆路与消防南路 2 一期停泊泊位 3 107 4 105 5 南北入口 6
|
|||
|
int[] counts = {0, 0, 0, 0, 0, 0};
|
|||
|
PageData pageData = new PageData();
|
|||
|
pageData.put("todayInOutCountList", todayInOutCount);
|
|||
|
for (PageData item : todayInOutCount) {
|
|||
|
// 海域消防泵房南入口
|
|||
|
if ("65270348-1df7-494a-b2e5-32f6b19d040b".equals(item.getString("EQUIPMENTID"))) {
|
|||
|
counts[0] += Integer.parseInt(item.getString("COUNT"));
|
|||
|
}
|
|||
|
if ("44d9a3be-a778-4988-bb7d-04d8d87c53c3".equals(item.getString("EQUIPMENTID"))) {
|
|||
|
counts[0] -= Integer.parseInt(item.getString("COUNT"));
|
|||
|
}
|
|||
|
// 大庆路与消防南路出口
|
|||
|
if ("189a90f0-5022-4df3-b2ac-1e276ce3585e".equals(item.getString("EQUIPMENTID"))) {
|
|||
|
counts[1] -= Integer.parseInt(item.getString("COUNT"));
|
|||
|
}
|
|||
|
if ("9cfcbc32-9466-4b44-a0cd-533a87e8a839".equals(item.getString("EQUIPMENTID"))) {
|
|||
|
counts[1] += Integer.parseInt(item.getString("COUNT"));
|
|||
|
}
|
|||
|
// 一期泊位出口
|
|||
|
if ("466988ac-d58c-4d9e-8065-74d9a8ad1ec9".equals(item.getString("EQUIPMENTID"))) {
|
|||
|
counts[2] -= Integer.parseInt(item.getString("COUNT"));
|
|||
|
}
|
|||
|
if ("f2293484-667e-4e4b-bbeb-831938c541e0".equals(item.getString("EQUIPMENTID"))) {
|
|||
|
counts[2] += Integer.parseInt(item.getString("COUNT"));
|
|||
|
}
|
|||
|
// 107出口
|
|||
|
if ("89e68dc2-8951-41e5-80ed-0e3ded220e1e".equals(item.getString("EQUIPMENTID"))) {
|
|||
|
counts[3] -= Integer.parseInt(item.getString("COUNT"));
|
|||
|
}
|
|||
|
if ("cdf76fde-f2c5-4981-83a6-eb696ab2a76b".equals(item.getString("EQUIPMENTID"))) {
|
|||
|
counts[3] += Integer.parseInt(item.getString("COUNT"));
|
|||
|
}
|
|||
|
// 105出口
|
|||
|
if ("2ccf4d42-114c-4427-9f25-c1895de0ce48".equals(item.getString("EQUIPMENTID"))) {
|
|||
|
counts[4] -= Integer.parseInt(item.getString("COUNT"));
|
|||
|
}
|
|||
|
if ("7de29a72-8937-4b40-94b9-00afaee13034".equals(item.getString("EQUIPMENTID"))) {
|
|||
|
counts[4] += Integer.parseInt(item.getString("COUNT"));
|
|||
|
}
|
|||
|
// 南入口
|
|||
|
if ("bfc2d476-ab57-4f1c-9186-8dd3d3f76d2a".equals(item.getString("EQUIPMENTID"))) {
|
|||
|
counts[5] += Integer.parseInt(item.getString("COUNT"));
|
|||
|
}
|
|||
|
if ("96943c10-be7c-4798-9271-473176c1f047".equals(item.getString("EQUIPMENTID"))) {
|
|||
|
counts[5] -= Integer.parseInt(item.getString("COUNT"));
|
|||
|
}
|
|||
|
// 北入口
|
|||
|
if ("9652687e-b679-4be0-bd2a-b110b44e06d1".equals(item.getString("EQUIPMENTID"))) {
|
|||
|
counts[5] += Integer.parseInt(item.getString("COUNT"));
|
|||
|
}
|
|||
|
if ("059fd7c8-8ec9-4444-8123-3b6a08b8a1dd".equals(item.getString("EQUIPMENTID"))) {
|
|||
|
counts[5] -= Integer.parseInt(item.getString("COUNT"));
|
|||
|
}
|
|||
|
// AND f.EQUIPMENTID NOT IN ( '96943c10-be7c-4798-9271-473176c1f047', '059fd7c8-8ec9-4444-8123-3b6a08b8a1dd' )
|
|||
|
// 96943c10-be7c-4798-9271-473176c1f047 60 南出口
|
|||
|
// 059fd7c8-8ec9-4444-8123-3b6a08b8a1dd 128 北出口
|
|||
|
}
|
|||
|
List<PageData> dataArrayList = new ArrayList<>();
|
|||
|
for (int i = 0; i < counts.length; i++) {
|
|||
|
PageData value = new PageData();
|
|||
|
if (i == 0) {
|
|||
|
value.put("title", "海域消防泵房南闸机");
|
|||
|
value.put("count", counts[0]);
|
|||
|
}
|
|||
|
if (i == 1) {
|
|||
|
value.put("title", "大庆路与消防南路闸机");
|
|||
|
value.put("count", counts[1]);
|
|||
|
}
|
|||
|
if (i == 2) {
|
|||
|
value.put("title", "一期停泊泊位闸机");
|
|||
|
value.put("count", counts[2]);
|
|||
|
}
|
|||
|
if (i == 3) {
|
|||
|
value.put("title", "107闸机");
|
|||
|
value.put("count", counts[3]);
|
|||
|
}
|
|||
|
if (i == 4) {
|
|||
|
value.put("title", "105闸机");
|
|||
|
value.put("count", counts[4]);
|
|||
|
}
|
|||
|
if (i == 5) {
|
|||
|
value.put("title", "其他区域");
|
|||
|
value.put("count", counts[5]
|
|||
|
-counts[4]
|
|||
|
-counts[3]
|
|||
|
-counts[2]
|
|||
|
-counts[1]
|
|||
|
-counts[0]
|
|||
|
);
|
|||
|
}
|
|||
|
value.put("company", "人");
|
|||
|
dataArrayList.add(value);
|
|||
|
}
|
|||
|
return dataArrayList;
|
|||
|
}
|
|||
|
|
|||
|
@Override
|
|||
|
public List<PageData> getCarRecordCountByEId(PageData gateMachineInfo) {
|
|||
|
return gateMachineMapper.getCarRecordCountByEId(gateMachineInfo);
|
|||
|
}
|
|||
|
|
|||
|
@Override
|
|||
|
public List<PageData> getCarRecordCountByCorpId(PageData gateMachineInfo) {
|
|||
|
return gateMachineMapper.getCarRecordCountByCorpId(gateMachineInfo);
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 一公司人员进出记录的详情
|
|||
|
* @param page
|
|||
|
* @return
|
|||
|
*/
|
|||
|
public List<PageData> getPersonRecordListAllByEId(Page page) {
|
|||
|
return gateMachineMapper.getPersonRecordListAllByIdlistPage(page);
|
|||
|
}
|
|||
|
|
|||
|
}
|